Add standalone fixes

This commit is contained in:
Bogdan Lyashenko 2018-12-31 17:34:05 +01:00
parent 4bbc210ef1
commit 4d26b88153
50 changed files with 5877 additions and 53 deletions

View File

@ -1,6 +1,6 @@
{
"name": "codecrumbs",
"version": "1.0.5-alpha",
"version": "1.0.6-alpha",
"author": "Bohdan Liashenko",
"license": "MIT",
"repository": {
@ -14,6 +14,7 @@
"server-dev": "nodemon ./index.dev.js",
"server-debug": "nodemon --inspect ./index.dev.js",
"build": "cd src/public && webpack --config webpack.prod.js --progress --colors",
"start:standalone": "cd src/public/dist/standalone && http-server",
"pretty": "prettier --write \"./src/public/js/**/*.js\""
},
"bin": {

View File

@ -17,10 +17,6 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./actions */ "./js/core/dataBus/actions.js");
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@ -57,6 +53,25 @@ function (_React$Component) {
_createClass(DataBusContainer, [{
key: "componentDidMount",
value: function componentDidMount() {
var standalone = this.props.standalone;
if (standalone) {
return this.setupStandalone();
}
return this.setupLocal();
}
}, {
key: "setupStandalone",
value: function setupStandalone() {
var _this$props = this.props,
setPredefinedState = _this$props.setPredefinedState,
predefinedState = _this$props.predefinedState;
setPredefinedState(predefinedState);
}
}, {
key: "setupLocal",
value: function setupLocal() {
var _this = this;
Object(core_dataBus_connection__WEBPACK_IMPORTED_MODULE_2__["createConnection"])(function (_ref) {
@ -69,13 +84,13 @@ function (_React$Component) {
key: "handleInitSyncEvent",
value: function handleInitSyncEvent(dataBody) {
var setInitialSourceData = this.props.setInitialSourceData;
setInitialSourceData(_objectSpread({}, dataBody));
setInitialSourceData(dataBody);
}
}, {
key: "handleUpdateSyncEvent",
value: function handleUpdateSyncEvent(dataBody) {
var setChangedSourceData = this.props.setChangedSourceData;
setChangedSourceData(_objectSpread({}, dataBody));
setChangedSourceData(dataBody);
}
}, {
key: "onSocketEvent",
@ -105,7 +120,8 @@ function (_React$Component) {
var mapDispatchToProps = {
setInitialSourceData: _actions__WEBPACK_IMPORTED_MODULE_4__["setInitialSourceData"],
setChangedSourceData: _actions__WEBPACK_IMPORTED_MODULE_4__["setChangedSourceData"]
setChangedSourceData: _actions__WEBPACK_IMPORTED_MODULE_4__["setChangedSourceData"],
setPredefinedState: _actions__WEBPACK_IMPORTED_MODULE_4__["setPredefinedState"]
};
/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(null, mapDispatchToProps)(DataBusContainer));

View File

@ -1 +1 @@
{"version":3,"sources":["webpack://codecrumbs/./js/core/dataBus/index.js"],"names":["DataBusContainer","createConnection","type","data","onSocketEvent","dataBody","setInitialSourceData","props","setChangedSourceData","SOCKET_EVENT_TYPE","INIT_SOURCE_FILES_SYNC","handleInitSyncEvent","UPDATE_SOURCE_FILE_SYNC","handleUpdateSyncEvent","React","Component","mapDispatchToProps","connect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AACA;AACA;;IAEMA,gB;;;;;;;;;;;;;wCACgB;AAAA;;AAClBC,sFAAgB,CAAC;AAAA,YAAGC,IAAH,QAAGA,IAAH;AAAA,YAASC,IAAT,QAASA,IAAT;AAAA,eAAoB,KAAI,CAACC,aAAL,CAAmBF,IAAnB,EAAyBC,IAAzB,CAApB;AAAA,OAAD,CAAhB;AACD;;;wCAEmBE,Q,EAAU;AAAA,UACpBC,oBADoB,GACK,KAAKC,KADV,CACpBD,oBADoB;AAG5BA,0BAAoB,mBACfD,QADe,EAApB;AAGD;;;0CAEqBA,Q,EAAU;AAAA,UACtBG,oBADsB,GACG,KAAKD,KADR,CACtBC,oBADsB;AAG9BA,0BAAoB,mBACfH,QADe,EAApB;AAGD;;;kCAEaH,I,EAAMC,I,EAAM;AACxB,cAAQD,IAAR;AACE,aAAKO,gEAAiB,CAACC,sBAAvB;AACE,iBAAO,KAAKC,mBAAL,CAAyBR,IAAzB,CAAP;;AAEF,aAAKM,gEAAiB,CAACG,uBAAvB;AACE,iBAAO,KAAKC,qBAAL,CAA2BV,IAA3B,CAAP;;AAEF;AACE;AARJ;AAUD;;;6BAEQ;AACP,aAAO;AAAK,iBAAS,EAAC;AAAf,QAAP;AACD;;;;EApC4BW,4CAAK,CAACC,S;;AAuCrC,IAAMC,kBAAkB,GAAG;AACzBV,sBAAoB,EAApBA,6DADyB;AAEzBE,sBAAoB,EAApBA,6DAAoBA;AAFK,CAA3B;AAKeS,0HAAO,CACpB,IADoB,EAEpBD,kBAFoB,CAAP,CAGbhB,gBAHa,CAAf,E","file":"data-bus.bundle.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\n\nimport { createConnection } from 'core/dataBus/connection';\nimport { SOCKET_EVENT_TYPE } from 'core/constants';\nimport { setInitialSourceData, setChangedSourceData } from './actions';\n\nclass DataBusContainer extends React.Component {\n componentDidMount() {\n createConnection(({ type, data }) => this.onSocketEvent(type, data));\n }\n\n handleInitSyncEvent(dataBody) {\n const { setInitialSourceData } = this.props;\n\n setInitialSourceData({\n ...dataBody\n });\n }\n\n handleUpdateSyncEvent(dataBody) {\n const { setChangedSourceData } = this.props;\n\n setChangedSourceData({\n ...dataBody\n });\n }\n\n onSocketEvent(type, data) {\n switch (type) {\n case SOCKET_EVENT_TYPE.INIT_SOURCE_FILES_SYNC:\n return this.handleInitSyncEvent(data);\n\n case SOCKET_EVENT_TYPE.UPDATE_SOURCE_FILE_SYNC:\n return this.handleUpdateSyncEvent(data);\n\n default:\n break;\n }\n }\n\n render() {\n return <div className=\"DataBus-container\" />;\n }\n}\n\nconst mapDispatchToProps = {\n setInitialSourceData,\n setChangedSourceData\n};\n\nexport default connect(\n null,\n mapDispatchToProps\n)(DataBusContainer);\n"],"sourceRoot":""}
{"version":3,"sources":["webpack://codecrumbs/./js/core/dataBus/index.js"],"names":["DataBusContainer","standalone","props","setupStandalone","setupLocal","setPredefinedState","predefinedState","createConnection","type","data","onSocketEvent","dataBody","setInitialSourceData","setChangedSourceData","SOCKET_EVENT_TYPE","INIT_SOURCE_FILES_SYNC","handleInitSyncEvent","UPDATE_SOURCE_FILE_SYNC","handleUpdateSyncEvent","React","Component","mapDispatchToProps","connect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAEA;AACA;AACA;;IAEMA,gB;;;;;;;;;;;;;wCACgB;AAAA,UACVC,UADU,GACK,KAAKC,KADV,CACVD,UADU;;AAGlB,UAAIA,UAAJ,EAAgB;AACd,eAAO,KAAKE,eAAL,EAAP;AACD;;AAED,aAAO,KAAKC,UAAL,EAAP;AACD;;;sCAEiB;AAAA,wBACgC,KAAKF,KADrC;AAAA,UACRG,kBADQ,eACRA,kBADQ;AAAA,UACYC,eADZ,eACYA,eADZ;AAEhBD,wBAAkB,CAACC,eAAD,CAAlB;AACD;;;iCAEY;AAAA;;AACXC,sFAAgB,CAAC;AAAA,YAAGC,IAAH,QAAGA,IAAH;AAAA,YAASC,IAAT,QAASA,IAAT;AAAA,eAAoB,KAAI,CAACC,aAAL,CAAmBF,IAAnB,EAAyBC,IAAzB,CAApB;AAAA,OAAD,CAAhB;AACD;;;wCAEmBE,Q,EAAU;AAAA,UACpBC,oBADoB,GACK,KAAKV,KADV,CACpBU,oBADoB;AAE5BA,0BAAoB,CAACD,QAAD,CAApB;AACD;;;0CAEqBA,Q,EAAU;AAAA,UACtBE,oBADsB,GACG,KAAKX,KADR,CACtBW,oBADsB;AAE9BA,0BAAoB,CAACF,QAAD,CAApB;AACD;;;kCAEaH,I,EAAMC,I,EAAM;AACxB,cAAQD,IAAR;AACE,aAAKM,gEAAiB,CAACC,sBAAvB;AACE,iBAAO,KAAKC,mBAAL,CAAyBP,IAAzB,CAAP;;AAEF,aAAKK,gEAAiB,CAACG,uBAAvB;AACE,iBAAO,KAAKC,qBAAL,CAA2BT,IAA3B,CAAP;;AAEF;AACE;AARJ;AAUD;;;6BAEQ;AACP,aAAO;AAAK,iBAAS,EAAC;AAAf,QAAP;AACD;;;;EA7C4BU,4CAAK,CAACC,S;;AAgDrC,IAAMC,kBAAkB,GAAG;AACzBT,sBAAoB,EAApBA,6DADyB;AAEzBC,sBAAoB,EAApBA,6DAFyB;AAGzBR,oBAAkB,EAAlBA,2DAAkBA;AAHO,CAA3B;AAMeiB,0HAAO,CACpB,IADoB,EAEpBD,kBAFoB,CAAP,CAGbrB,gBAHa,CAAf,E","file":"data-bus.bundle.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\n\nimport { createConnection } from 'core/dataBus/connection';\nimport { SOCKET_EVENT_TYPE } from 'core/constants';\nimport { setInitialSourceData, setChangedSourceData, setPredefinedState } from './actions';\n\nclass DataBusContainer extends React.Component {\n componentDidMount() {\n const { standalone } = this.props;\n\n if (standalone) {\n return this.setupStandalone();\n }\n\n return this.setupLocal();\n }\n\n setupStandalone() {\n const { setPredefinedState, predefinedState } = this.props;\n setPredefinedState(predefinedState);\n }\n\n setupLocal() {\n createConnection(({ type, data }) => this.onSocketEvent(type, data));\n }\n\n handleInitSyncEvent(dataBody) {\n const { setInitialSourceData } = this.props;\n setInitialSourceData(dataBody);\n }\n\n handleUpdateSyncEvent(dataBody) {\n const { setChangedSourceData } = this.props;\n setChangedSourceData(dataBody);\n }\n\n onSocketEvent(type, data) {\n switch (type) {\n case SOCKET_EVENT_TYPE.INIT_SOURCE_FILES_SYNC:\n return this.handleInitSyncEvent(data);\n\n case SOCKET_EVENT_TYPE.UPDATE_SOURCE_FILE_SYNC:\n return this.handleUpdateSyncEvent(data);\n\n default:\n break;\n }\n }\n\n render() {\n return <div className=\"DataBus-container\" />;\n }\n}\n\nconst mapDispatchToProps = {\n setInitialSourceData,\n setChangedSourceData,\n setPredefinedState\n};\n\nexport default connect(\n null,\n mapDispatchToProps\n)(DataBusContainer);\n"],"sourceRoot":""}

View File

@ -46889,7 +46889,7 @@ module.exports = function(originalModule) {
/*! exports provided: name, version, author, license, repository, scripts, bin, dependencies, devDependencies, nodemonConfig, default */
/***/ (function(module) {
module.exports = {"name":"codecrumbs","version":"1.0.5-alpha","author":"Bohdan Liashenko","license":"MIT","repository":{"type":"git","url":"https://github.com/Bogdan-Lyashenko/codecrumbs.git"},"scripts":{"start":"yarn client-dev & yarn server-dev","start:demo":"node ./index.dev.js","client-dev":"cd src/public && webpack --config webpack.dev.js --progress --colors --watch --env dev","server-dev":"nodemon ./index.dev.js","server-debug":"nodemon --inspect ./index.dev.js","build":"cd src/public && webpack --config webpack.prod.js --progress --colors","pretty":"prettier --write \"./src/public/js/**/*.js\""},"bin":{"codecrumbs":"./cli/index.cli.js"},"dependencies":{"@babel/parser":"^7.1.2","@babel/polyfill":"^7.0.0","@babel/traverse":"^7.1.0","antd":"^3.9.2","chokidar":"^2.0.3","classnames":"^2.2.6","colors":"^1.3.2","commander":"^2.19.0","copy-text-to-clipboard":"^1.0.4","d3-flextree":"^2.1.1","directory-tree":"^2.1.0","file-saver":"^2.0.0","http-server":"^0.11.1","js2flowchart":"^1.1.7","lodash":"^4.17.10","lodash.debounce":"^4.0.8","madge":"^3.3.0","react":"^16.7.0","react-dom":"^16.7.0","react-draggable":"^3.0.5","react-redux":"^5.0.7","react-syntax-highlighter":"8.0.1","redux":"^4.0.0","redux-persist":"^5.10.0","redux-saga":"^0.16.0","redux-thunk":"^2.2.0","reselect":"^4.0.0","websocket":"^1.0.26"},"devDependencies":{"@babel/core":"^7.1.2","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.1.0","@babel/preset-react":"^7.0.0","babel-loader":"^8.0.4","babel-plugin-import":"^1.9.1","css-loader":"^0.28.11","node-sass":"^4.9.3","nodemon":"^1.18.7","prettier":"^1.14.0","sass-loader":"^7.1.0","style-loader":"^0.21.0","webpack":"^4.20.2","webpack-bundle-analyzer":"^3.0.3","webpack-cli":"^3.1.2","webpack-merge":"^4.1.5"},"nodemonConfig":{"ignore":["src/public/**/*.*"],"delay":"2500"}};
module.exports = {"name":"codecrumbs","version":"1.0.6-alpha","author":"Bohdan Liashenko","license":"MIT","repository":{"type":"git","url":"https://github.com/Bogdan-Lyashenko/codecrumbs.git"},"scripts":{"start":"yarn client-dev & yarn server-dev","start:demo":"node ./index.dev.js","client-dev":"cd src/public && webpack --config webpack.dev.js --progress --colors --watch --env dev","server-dev":"nodemon ./index.dev.js","server-debug":"nodemon --inspect ./index.dev.js","build":"cd src/public && webpack --config webpack.prod.js --progress --colors","start:standalone":"cd src/public/dist/standalone && http-server","pretty":"prettier --write \"./src/public/js/**/*.js\""},"bin":{"codecrumbs":"./cli/index.cli.js"},"dependencies":{"@babel/parser":"^7.1.2","@babel/polyfill":"^7.0.0","@babel/traverse":"^7.1.0","antd":"^3.9.2","chokidar":"^2.0.3","classnames":"^2.2.6","colors":"^1.3.2","commander":"^2.19.0","copy-text-to-clipboard":"^1.0.4","d3-flextree":"^2.1.1","directory-tree":"^2.1.0","file-saver":"^2.0.0","http-server":"^0.11.1","js2flowchart":"^1.1.7","lodash":"^4.17.10","lodash.debounce":"^4.0.8","madge":"^3.3.0","react":"^16.7.0","react-dom":"^16.7.0","react-draggable":"^3.0.5","react-redux":"^5.0.7","react-syntax-highlighter":"8.0.1","redux":"^4.0.0","redux-persist":"^5.10.0","redux-saga":"^0.16.0","redux-thunk":"^2.2.0","reselect":"^4.0.0","websocket":"^1.0.26"},"devDependencies":{"@babel/core":"^7.1.2","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.1.0","@babel/preset-react":"^7.0.0","babel-loader":"^8.0.4","babel-plugin-import":"^1.9.1","css-loader":"^0.28.11","node-sass":"^4.9.3","nodemon":"^1.18.7","prettier":"^1.14.0","sass-loader":"^7.1.0","style-loader":"^0.21.0","webpack":"^4.20.2","webpack-bundle-analyzer":"^3.0.3","webpack-cli":"^3.1.2","webpack-merge":"^4.1.5"},"nodemonConfig":{"ignore":["src/public/**/*.*"],"delay":"2500"}};
/***/ }),
@ -46959,13 +46959,17 @@ var ExplorerBar = react__WEBPACK_IMPORTED_MODULE_0___default.a.lazy(function ()
var App = function App() {
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "App"
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("header", {
className: "header"
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__["Suspense"], {
fallback: null
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(DataBus, null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__["Suspense"], {
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(DataBus, {
standalone: props.standalone,
predefinedState: props.predefinedState
})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__["Suspense"], {
fallback: null
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ViewsSwitches, null)), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0__["Suspense"], {
fallback: null
@ -47337,7 +47341,7 @@ var getDisabledState = function getDisabledState(state) {
/*!************************************!*\
!*** ./js/core/dataBus/actions.js ***!
\************************************/
/*! exports provided: setInitialSourceData, setChangedSourceData, selectNode, toggleFolder, openAllFolders, closeAllFolders, selectCodeCrumb, setDependenciesEntryPoint, selectDependencyEdge, selectCodeCrumbedFlow, calcFilesTreeLayoutNodes, setActiveItems, updateFoldersByActiveChildren, downloadStore, uploadStore */
/*! exports provided: setInitialSourceData, setChangedSourceData, selectNode, toggleFolder, openAllFolders, closeAllFolders, selectCodeCrumb, setDependenciesEntryPoint, selectDependencyEdge, selectCodeCrumbedFlow, calcFilesTreeLayoutNodes, setActiveItems, updateFoldersByActiveChildren, downloadStore, uploadStore, setPredefinedState */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@ -47357,6 +47361,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateFoldersByActiveChildren", function() { return updateFoldersByActiveChildren; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "downloadStore", function() { return downloadStore; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "uploadStore", function() { return uploadStore; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setPredefinedState", function() { return setPredefinedState; });
/* harmony import */ var core_dataBus_connection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core/dataBus/connection */ "./js/core/dataBus/connection.js");
/* harmony import */ var core_controlsBus_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/controlsBus/constants */ "./js/core/controlsBus/constants.js");
/* harmony import */ var core_controlsBus_selectors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core/controlsBus/selectors */ "./js/core/controlsBus/selectors.js");
@ -47630,14 +47635,19 @@ var downloadStore = function downloadStore(props) {
var uploadStore = function uploadStore(file) {
return function (dispatch) {
Object(_utils__WEBPACK_IMPORTED_MODULE_3__["uploadFileAsObject"])(file).then(function (object) {
dispatch({
type: core_controlsBus_constants__WEBPACK_IMPORTED_MODULE_1__["ACTIONS"].SET_FULL_STATE,
payload: object.data.controlsBus
});
dispatch(setInitialSourceData(object.data.dataBus[_constants__WEBPACK_IMPORTED_MODULE_5__["DEFAULT_NAMESPACE"]]));
return dispatch(setPredefinedState(object.data));
});
};
};
var setPredefinedState = function setPredefinedState(predefinedState) {
return function (dispatch) {
dispatch({
type: core_controlsBus_constants__WEBPACK_IMPORTED_MODULE_1__["ACTIONS"].SET_FULL_STATE,
payload: predefinedState.controlsBus
});
dispatch(setInitialSourceData(predefinedState.dataBus[_constants__WEBPACK_IMPORTED_MODULE_5__["DEFAULT_NAMESPACE"]]));
};
};
/***/ }),

File diff suppressed because one or more lines are too long

View File

@ -69,7 +69,7 @@ exports = module.exports = __webpack_require__(/*! ../../../../../../node_module
// module
exports.push([module.i, ".TreeDiagram {\n position: relative;\n overflow: hidden;\n display: flex;\n flex-grow: 1; }\n\n.MainLoader {\n display: flex;\n justify-content: space-between;\n justify-items: center;\n padding: 200px;\n width: 100%; }\n", ""]);
exports.push([module.i, ".TreeDiagram {\n position: relative;\n overflow: hidden;\n display: flex;\n flex-grow: 1; }\n .TreeDiagram #MainTreeSVG {\n overflow: initial !important; }\n\n.MainLoader {\n display: flex;\n justify-content: space-between;\n justify-items: center;\n padding: 200px;\n width: 100%; }\n", ""]);
// exports
@ -1644,6 +1644,7 @@ function (_React$Component) {
}, react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(react_draggable__WEBPACK_IMPORTED_MODULE_3___default.a, {
bounds: bounds
}, react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("svg", {
id: 'MainTreeSVG',
width: width,
height: height,
xmlns: "http://www.w3.org/2000/svg",

File diff suppressed because one or more lines are too long

View File

@ -691,7 +691,9 @@ var ButtonGroup = antd_es_button__WEBPACK_IMPORTED_MODULE_1__["default"].Group;
var ZoomControl = function ZoomControl(_ref) {
var zoom = _ref.zoom,
setZoom = _ref.setZoom;
var step = 0.1;
var step = 0.1; //TODO: doesn't work proper scaling
return null;
return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {
className: 'ZoomControl'
}, react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(ButtonGroup, {

File diff suppressed because one or more lines are too long

View File

@ -2,12 +2,11 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Codecrumbs!</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Codecrumbs: better way to navigate the code maze!</title>
</head>
<body>
<div id="mount-node" style="height: 100%">
<div style="text-align: center">Loading codecrumbs experience...</div>
</div>
<div id="mount-node" style="height: 100%"></div>
<script src="./bundle/main.bundle.js" type="text/javascript"></script>
<script type="text/javascript">
(function(window) {

View File

@ -0,0 +1 @@
(window.webpackJsonpcodecrumbs=window.webpackJsonpcodecrumbs||[]).push([[4],{1171:function(t,e,n){"use strict";n.r(e);var o=n(1),r=n.n(o),a=n(139),u=n(137),i=n(10),c=n(15);function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function p(t,e){return!e||"object"!==s(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function l(t){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function y(t,e){return(y=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}var b=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),p(this,l(e).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&y(t,e)}(e,r.a.Component),function(t,e,n){e&&f(t.prototype,e),n&&f(t,n)}(e,[{key:"componentDidMount",value:function(){return this.props.standalone?this.setupStandalone():this.setupLocal()}},{key:"setupStandalone",value:function(){var t=this.props;(0,t.setPredefinedState)(t.predefinedState)}},{key:"setupLocal",value:function(){var t=this;Object(u.a)(function(e){var n=e.type,o=e.data;return t.onSocketEvent(n,o)})}},{key:"handleInitSyncEvent",value:function(t){(0,this.props.setInitialSourceData)(t)}},{key:"handleUpdateSyncEvent",value:function(t){(0,this.props.setChangedSourceData)(t)}},{key:"onSocketEvent",value:function(t,e){switch(t){case i.f.INIT_SOURCE_FILES_SYNC:return this.handleInitSyncEvent(e);case i.f.UPDATE_SOURCE_FILE_SYNC:return this.handleUpdateSyncEvent(e)}}},{key:"render",value:function(){return r.a.createElement("div",{className:"DataBus-container"})}}]),e}(),d={setInitialSourceData:c.k,setChangedSourceData:c.i,setPredefinedState:c.l};e.default=Object(a.b)(null,d)(b)}}]);

View File

@ -0,0 +1 @@
(window.webpackJsonpcodecrumbs=window.webpackJsonpcodecrumbs||[]).push([[9],{1163:function(e,r,n){var t=n(1164);"string"==typeof t&&(t=[[e.i,t,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};n(97)(t,o);t.locals&&(e.exports=t.locals)},1164:function(e,r,n){(e.exports=n(96)(!1)).push([e.i,".ExplorerBar {\n position: absolute;\n left: 0;\n top: 0;\n height: 100%;\n width: 250px;\n z-index: 6;\n background-color: white;\n border-right: 1px solid #ebedf0; }\n .ExplorerBar .body {\n height: 100%;\n position: relative; }\n .ExplorerBar .body .ant-tree {\n width: 100%; }\n",""])},1176:function(e,r,n){"use strict";n.r(r);var t=n(1),o=n.n(t),a=n(139),l=n(22),i=n(15),c=n(25),u=(n(1170),n(1167)),d=n(10),p=(n(1163),u.a.DirectoryTree),s=u.a.TreeNode,f=function(e){var r=e.nodesTree,n=e.onFileClick,t=e.onFolderClick,a=e.filesMap,l=e.foldersMap;if(!r||!r.length||!r[0])return null;var i=r[0].data.path;return o.a.createElement("div",{className:"ExplorerBar"},o.a.createElement("div",{className:"body"},o.a.createElement(p,{showIcon:!0,defaultExpandedKeys:[i],onSelect:function(e){return a[e]&&n(a[e])},onExpand:function(e){return l[e]&&t(l[e])}},function e(r){return(r||[]).filter(function(e){return!!e}).map(function(r){return r.data.type===d.b?o.a.createElement(s,{title:r.data.name,key:r.data.path,isLeaf:!0}):o.a.createElement(s,{title:r.data.name,key:r.data.path},e(r.children))})}(r))))};function b(e,r){if(null==e)return{};var n,t,o=function(e,r){if(null==e)return{};var n,t,o={},a=Object.keys(e);for(t=0;t<a.length;t++)n=a[t],r.indexOf(n)>=0||(o[n]=e[n]);return o}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t<a.length;t++)n=a[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}r.default=Object(a.b)(function(e,r){var n=Object(l.c)(e,r),t=n.filesMap,o=n.foldersMap;return{nodesTree:[Object(l.d)(e,r).sourceLayoutTree],filesMap:t,foldersMap:o,explorerBar:Object(c.a)(e).explorerBar}},function(e){return{onFolderClick:function(e){},onFileClick:function(r){e(Object(i.h)(r))}}})(function(e){var r=e.explorerBar,n=b(e,["explorerBar"]);return r?o.a.createElement(f,n):null})}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

BIN
src/public/dist/standalone/favicon.ico vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

44
src/public/dist/standalone/index.html vendored Normal file
View File

@ -0,0 +1,44 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Codecrumbs standalone: learn and share your code knowledge!</title>
</head>
<body>
<div id="mount-node" style="height: 100%">
<div id="placeholder" style="text-align: center; color: #1890ff">
Loading standalone codecrumbs experience...
</div>
</div>
<script src="./bundle/main.bundle.js" type="text/javascript"></script>
<script type="text/javascript">
(function(window) {
if (!window.codecrumbs) {
console.error('Codecrumbs project is not loaded!');
return false;
}
var hash = location.hash;
var key = '#showcase=';
var showCaseName = hash.slice(hash.indexOf(key) + key.length) || '...';
var fileElement = document.createElement('div');
fileElement.innerText = 'Fetching "' + showCaseName + '" showcase...';
document.getElementById('placeholder').appendChild(fileElement);
window.fetch('./json/' + showCaseName + '.json')
.then(function(response) {
return response.json();
}).then((object) => {
window.codecrumbs.default({ standalone: true, predefinedState: object.data }, 'mount-node');
}).catch((e) => {
console.error(e);
document.getElementById('placeholder').innerText = 'Ooopps.. :( Failed to load. ' +
'Set hash params and reload page. E.g. #showcase=todo-react-redux'
});
})(window)
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 448.011 448.011" style="enable-background:new 0 0 448.011 448.011;" xml:space="preserve" width="512px" height="512px">
<g>
<g>
<path d="M438.731,209.463l-416-192c-6.624-3.008-14.528-1.216-19.136,4.48c-4.64,5.696-4.8,13.792-0.384,19.648l136.8,182.4 l-136.8,182.4c-4.416,5.856-4.256,13.984,0.352,19.648c3.104,3.872,7.744,5.952,12.448,5.952c2.272,0,4.544-0.48,6.688-1.472 l416-192c5.696-2.624,9.312-8.288,9.312-14.528S444.395,212.087,438.731,209.463z" fill="#1890ff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 770 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 448.011 448.011" style="enable-background:new 0 0 448.011 448.011;" xml:space="preserve" width="512px" height="512px">
<g>
<g>
<path d="M438.731,209.463l-416-192c-6.624-3.008-14.528-1.216-19.136,4.48c-4.64,5.696-4.8,13.792-0.384,19.648l136.8,182.4 l-136.8,182.4c-4.416,5.856-4.256,13.984,0.352,19.648c3.104,3.872,7.744,5.952,12.448,5.952c2.272,0,4.544-0.48,6.688-1.472 l416-192c5.696-2.624,9.312-8.288,9.312-14.528S444.395,212.087,438.731,209.463z" fill="#e91e63"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 770 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 448.011 448.011" style="enable-background:new 0 0 448.011 448.011;" xml:space="preserve" width="512px" height="512px">
<g>
<g>
<path d="M438.731,209.463l-416-192c-6.624-3.008-14.528-1.216-19.136,4.48c-4.64,5.696-4.8,13.792-0.384,19.648l136.8,182.4 l-136.8,182.4c-4.416,5.856-4.256,13.984,0.352,19.648c3.104,3.872,7.744,5.952,12.448,5.952c2.272,0,4.544-0.48,6.688-1.472 l416-192c5.696-2.624,9.312-8.288,9.312-14.528S444.395,212.087,438.731,209.463z" fill="#754BC3"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 770 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="6px" height="6px">
<circle
r="2.5"
cx="3"
cy="3"
fill="#1890ff"
/>
</svg>

After

Width:  |  Height:  |  Size: 206 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="6px" height="6px">
<circle
r="2.5"
cx="3"
cy="3"
fill="#754BC3"
/>
</svg>

After

Width:  |  Height:  |  Size: 206 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="6px" height="6px">
<circle
r="2.5"
cx="3"
cy="3"
fill="#BFBFBF"
/>
</svg>

After

Width:  |  Height:  |  Size: 206 B

View File

@ -0,0 +1,9 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="6px" height="6px">
<circle
r="2.5"
cx="3"
cy="3"
fill="#777777"
/>
</svg>

After

Width:  |  Height:  |  Size: 206 B

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" width="512px" height="512px" viewBox="0 0 550.801 550.801" style="enable-background:#" xml:space="preserve">
<g>
<rect x="50" width="412" height="512" style="fill:white;" opacity="0.7" />
</g>
<g>
<path d="M475.084,131.997c-0.021-2.531-0.833-5.021-2.567-6.992L366.325,3.694c-0.032-0.034-0.063-0.045-0.085-0.076 c-0.633-0.707-1.371-1.295-2.151-1.804c-0.231-0.155-0.464-0.285-0.706-0.422c-0.676-0.366-1.393-0.675-2.131-0.896 c-0.2-0.053-0.38-0.135-0.58-0.188C359.87,0.119,359.037,0,358.193,0H97.2c-11.918,0-21.6,9.693-21.6,21.601v507.6 c0,11.907,9.682,21.601,21.6,21.601h356.4c11.907,0,21.6-9.693,21.6-21.601V133.202C475.2,132.796,475.137,132.398,475.084,131.997 z M204.051,521.143c-6.94,0-16.055-1.182-21.998-3.164l3.375-24.374c4.158,1.393,9.503,2.384,15.448,2.384 c12.68,0,20.596-5.759,20.596-26.557v-83.996h30.122v84.396h0.005C251.599,507.875,233.374,521.143,204.051,521.143z M309.445,520.942c-15.25,0-30.29-3.966-37.823-8.121l6.138-24.965c8.124,4.166,20.606,8.321,33.489,8.321 c13.864,0,21.188-5.731,21.188-14.459c0-8.322-6.338-13.078-22.386-18.816c-22.185-7.73-36.647-20.007-36.647-39.424 c0-22.781,19.014-40.215,50.512-40.215c15.051,0,26.156,3.164,34.077,6.739l-6.719,24.363c-5.357-2.573-14.86-6.339-27.949-6.339 c-13.067,0-19.417,5.959-19.417,12.878c0,8.511,7.541,12.287,24.775,18.815c23.562,8.723,34.667,20.999,34.667,39.814 C363.34,501.926,346.096,520.942,309.445,520.942z M453.601,366.747H97.2V21.601h250.193v110.51c0,5.967,4.841,10.8,10.8,10.8 h95.407V366.747z M357.592,230.798c2.489,5.16,3.597,10.383,3.597,17.062c0,10.465-3.296,18.808-9.987,25.262 c-6.281,6.097-14.392,9.683-25.202,11.201c-4.303,0.591-12.725,0.622-17.218,0c-17.181-2.3-29.893-10.32-38.024-24.021 c-1.041-1.706-1.252-2.268-0.988-2.511c0.427-0.4,20.788-12.145,21.03-12.145c0.11,0,0.886,1.013,1.74,2.247 c6.26,9.255,14.049,13.537,24.474,13.537c6.187,0,11.153-1.685,14.308-4.872c0.943-0.934,1.982-2.326,2.383-3.154 c2.057-4.282,1.15-9.869-2.114-13.374c-2.647-2.837-6.798-5.115-17.951-9.898c-8.189-3.533-12.925-5.806-16.4-7.894 c-13.663-8.269-19.802-18.702-19.802-33.634c0-9.977,3.106-17.84,9.604-24.286c6.322-6.26,14.803-9.898,24.906-10.697 c3.828-0.298,4.366-0.298,8.433,0.026c8.295,0.614,14.581,2.618,20.466,6.528c3.186,2.117,7.815,6.927,10.378,10.779 c1.213,1.819,2.199,3.37,2.199,3.48c0,0.185-19.454,12.762-20.14,13.06c-0.221,0.073-0.833-0.644-1.666-1.957 c-0.723-1.149-2.272-3.045-3.48-4.221c-3.396-3.43-6.739-4.764-11.907-4.764c-4.546-0.032-7.488,1.118-10.025,3.878 c-1.767,1.901-2.567,3.85-2.758,6.74c-0.211,3.639,0.78,6.555,3.101,9.044c2.437,2.592,6.134,4.627,17.149,9.358 c14.576,6.265,21.885,10.597,27.527,16.318C354.175,224.889,355.884,227.259,357.592,230.798z M241.861,154.958h13.112v47.429 c0,31.462-0.108,48.179-0.271,49.673c-1.846,14.792-8.822,24.743-20.73,29.563c-9.924,3.986-23.461,4.313-34.003,0.802 c-9.975-3.322-18.27-10.539-23.058-20.092l-0.804-1.604l10.568-6.423c5.804-3.499,10.647-6.413,10.75-6.468 c0.087-0.032,0.783,1.015,1.556,2.302c4.786,8.189,8.904,11.101,15.783,11.074c4.817-0.026,7.702-0.968,9.954-3.214 c1.603-1.604,2.516-3.341,3.288-6.257l0.588-2.22l0.082-47.297l0.108-47.268H241.861z" fill="#1890ff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 233.741 233.741" style="enable-background:new 0 0 233.741 233.741;" xml:space="preserve" width="512px" height="512px">
<path d="M233.486,83.462V54.886c0-10.201-8.299-18.5-18.5-18.5h-85.322c-3.63,0-9.295-2.876-11.437-5.806 l-6.386-8.736C106.859,15.03,96.736,9.892,88.296,9.892H58.731c-9.295,0-18.64,6.608-21.738,15.371l-2.034,5.753 c-0.958,2.711-4.72,5.37-7.595,5.37H18.5c-10.201,0-18.5,8.299-18.5,18.5v41.456c0,0.661,0.095,1.299,0.255,1.91V201.35 c0,12.407,10.094,22.5,22.5,22.5h188.486c12.406,0,22.5-10.093,22.5-22.5V86.847C233.741,85.696,233.653,84.566,233.486,83.462z M18.5,51.386h8.864c9.296,0,18.641-6.608,21.737-15.371l2.034-5.752c0.958-2.711,4.721-5.371,7.596-5.371h29.564 c3.63,0,9.295,2.877,11.438,5.806l6.385,8.735c4.982,6.815,15.104,11.954,23.546,11.954h85.322c1.898,0,3.5,1.604,3.5,3.5V65.55 c-2.275-0.776-4.71-1.204-7.245-1.204H22.755c-2.725,0-5.336,0.487-7.755,1.378V54.886C15,52.989,16.603,51.386,18.5,51.386z M211.241,208.85H22.755c-4.136,0-7.5-3.365-7.5-7.5V86.847c0-4.135,3.364-7.5,7.5-7.5h188.486c3.477,0,6.398,2.38,7.245,5.594 v3.915c0,0.661,0.095,1.3,0.255,1.91V201.35C218.741,205.485,215.377,208.85,211.241,208.85z" fill="#1890ff"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 233.741 233.741" style="enable-background:new 0 0 233.741 233.741;" xml:space="preserve" width="512px" height="512px">
<path d="M233.486,83.462V54.886c0-10.201-8.299-18.5-18.5-18.5h-85.322c-3.63,0-9.295-2.876-11.437-5.806 l-6.386-8.736C106.859,15.03,96.736,9.892,88.296,9.892H58.731c-9.295,0-18.64,6.608-21.738,15.371l-2.034,5.753 c-0.958,2.711-4.72,5.37-7.595,5.37H18.5c-10.201,0-18.5,8.299-18.5,18.5v41.456c0,0.661,0.095,1.299,0.255,1.91V201.35 c0,12.407,10.094,22.5,22.5,22.5h188.486c12.406,0,22.5-10.093,22.5-22.5V86.847C233.741,85.696,233.653,84.566,233.486,83.462z M18.5,51.386h8.864c9.296,0,18.641-6.608,21.737-15.371l2.034-5.752c0.958-2.711,4.721-5.371,7.596-5.371h29.564 c3.63,0,9.295,2.877,11.438,5.806l6.385,8.735c4.982,6.815,15.104,11.954,23.546,11.954h85.322c1.898,0,3.5,1.604,3.5,3.5V65.55 c-2.275-0.776-4.71-1.204-7.245-1.204H22.755c-2.725,0-5.336,0.487-7.755,1.378V54.886C15,52.989,16.603,51.386,18.5,51.386z M211.241,208.85H22.755c-4.136,0-7.5-3.365-7.5-7.5V86.847c0-4.135,3.364-7.5,7.5-7.5h188.486c3.477,0,6.398,2.38,7.245,5.594 v3.915c0,0.661,0.095,1.3,0.255,1.91V201.35C218.741,205.485,215.377,208.85,211.241,208.85z" fill="#ccc"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 276.157 276.157" style="enable-background:new 0 0 276.157 276.157;" xml:space="preserve" width="512px" height="512px">
<g>
<rect x="50" width="270" height="270" style="fill:white;" opacity="0.4"/>
</g>
<g>
<path d="M273.081,101.378c-3.3-4.651-8.86-7.319-15.255-7.319h-24.34v-26.47c0-10.201-8.299-18.5-18.5-18.5 h-85.322c-3.63,0-9.295-2.876-11.436-5.806l-6.386-8.735c-4.982-6.814-15.104-11.954-23.546-11.954H58.731 c-9.293,0-18.639,6.608-21.738,15.372l-2.033,5.752c-0.958,2.71-4.721,5.371-7.596,5.371H18.5c-10.201,0-18.5,8.299-18.5,18.5 v167.07c0,0.885,0.161,1.73,0.443,2.519c0.152,3.306,1.18,6.424,3.053,9.064c3.3,4.652,8.86,7.319,15.255,7.319h188.486 c11.395,0,23.27-8.424,27.035-19.179l40.677-116.188C277.061,112.159,276.381,106.03,273.081,101.378z M18.5,64.089h8.864 c9.295,0,18.64-6.608,21.738-15.372l2.032-5.75c0.959-2.711,4.722-5.372,7.597-5.372h29.564c3.63,0,9.295,2.876,11.437,5.806 l6.386,8.734c4.982,6.815,15.104,11.954,23.546,11.954h85.322c1.898,0,3.5,1.603,3.5,3.5v26.47H69.34 c-11.395,0-23.27,8.424-27.035,19.179L15,191.231V67.589C15,65.692,16.603,64.089,18.5,64.089z M260.791,113.238l-40.677,116.188 c-1.674,4.781-7.812,9.135-12.877,9.135H18.751c-1.448,0-2.577-0.373-3.02-0.998c-0.443-0.625-0.423-1.814,0.056-3.181 l40.677-116.188c1.674-4.781,7.812-9.135,12.877-9.135h188.486c1.448,0,2.577,0.373,3.021,0.998 C261.29,110.682,261.27,111.871,260.791,113.238z" fill="#ccc"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 276.157 276.157" style="enable-background:new 0 0 276.157 276.157;" xml:space="preserve" width="512px" height="512px">
<g>
<rect x="50" width="270" height="270" style="fill:white;" opacity="0.4"/>
</g>
<g>
<path d="M273.081,101.378c-3.3-4.651-8.86-7.319-15.255-7.319h-24.34v-26.47c0-10.201-8.299-18.5-18.5-18.5 h-85.322c-3.63,0-9.295-2.876-11.436-5.806l-6.386-8.735c-4.982-6.814-15.104-11.954-23.546-11.954H58.731 c-9.293,0-18.639,6.608-21.738,15.372l-2.033,5.752c-0.958,2.71-4.721,5.371-7.596,5.371H18.5c-10.201,0-18.5,8.299-18.5,18.5 v167.07c0,0.885,0.161,1.73,0.443,2.519c0.152,3.306,1.18,6.424,3.053,9.064c3.3,4.652,8.86,7.319,15.255,7.319h188.486 c11.395,0,23.27-8.424,27.035-19.179l40.677-116.188C277.061,112.159,276.381,106.03,273.081,101.378z M18.5,64.089h8.864 c9.295,0,18.64-6.608,21.738-15.372l2.032-5.75c0.959-2.711,4.722-5.372,7.597-5.372h29.564c3.63,0,9.295,2.876,11.437,5.806 l6.386,8.734c4.982,6.815,15.104,11.954,23.546,11.954h85.322c1.898,0,3.5,1.603,3.5,3.5v26.47H69.34 c-11.395,0-23.27,8.424-27.035,19.179L15,191.231V67.589C15,65.692,16.603,64.089,18.5,64.089z M260.791,113.238l-40.677,116.188 c-1.674,4.781-7.812,9.135-12.877,9.135H18.751c-1.448,0-2.577-0.373-3.02-0.998c-0.443-0.625-0.423-1.814,0.056-3.181 l40.677-116.188c1.674-4.781,7.812-9.135,12.877-9.135h188.486c1.448,0,2.577,0.373,3.021,0.998 C261.29,110.682,261.27,111.871,260.791,113.238z" fill="#1890ff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 525.153 525.153" style="enable-background:new 0 0 525.153 525.153;" xml:space="preserve" width="512px" height="512px">
<g>
<rect x="50" y="190" width="100" height="150" style="fill:#fff" />
<path d="M381.917,119.341c-79.014,0-143.213,64.222-143.213,143.235s64.2,143.235,143.213,143.235 c79.035,0,143.235-64.222,143.235-143.235S460.953,119.341,381.917,119.341z M95.468,167.108C42.734,167.108,0,209.82,0,262.576 s42.734,95.468,95.468,95.468c52.756,0,95.49-42.712,95.49-95.468S148.224,167.108,95.468,167.108z M95.468,310.321 c-26.258,0-47.745-21.487-47.745-47.745s21.487-47.745,47.745-47.745c26.28,0,47.767,21.488,47.767,47.745 C143.235,288.812,121.748,310.321,95.468,310.321z" fill="#754BC3"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 896 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 525.153 525.153" style="enable-background:new 0 0 525.153 525.153;" xml:space="preserve" width="512px" height="512px">
<g>
<rect x="50" y="190" width="100" height="150" style="fill:#fff" />
<path d="M381.917,119.341c-79.014,0-143.213,64.222-143.213,143.235s64.2,143.235,143.213,143.235 c79.035,0,143.235-64.222,143.235-143.235S460.953,119.341,381.917,119.341z M95.468,167.108C42.734,167.108,0,209.82,0,262.576 s42.734,95.468,95.468,95.468c52.756,0,95.49-42.712,95.49-95.468S148.224,167.108,95.468,167.108z M95.468,310.321 c-26.258,0-47.745-21.487-47.745-47.745s21.487-47.745,47.745-47.745c26.28,0,47.767,21.488,47.767,47.745 C143.235,288.812,121.748,310.321,95.468,310.321z" fill="#1890ff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 896 B

View File

@ -3,15 +3,12 @@ import Spin from 'antd/lib/spin';
import 'antd/lib/spin/style/css';
const DataBus = React.lazy(() => import(/* webpackChunkName: "data-bus" */ 'core/dataBus'));
const ViewsSwitches = React.lazy(() =>
import(/* webpackChunkName: "view-switches" */ 'components/topBar/controls/ViewSwitches/ViewSwitchesContainer')
);
const TopBar = React.lazy(() =>
import(/* webpackChunkName: "top-bar" */ 'components/topBar/subPanel/SubPanelContainer')
);
const TreeDiagram = React.lazy(() =>
import(/* webpackChunkName: "tree-diagram" */ 'components/treeDiagram/TreeDiagramContainer')
);
@ -24,12 +21,12 @@ const ExplorerBar = React.lazy(() =>
import './App.scss';
const App = () => {
const App = (props = {}) => {
return (
<div className="App">
<header className="header">
<Suspense fallback={null}>
<DataBus />
<DataBus standalone={props.standalone} predefinedState={props.predefinedState} />
</Suspense>
<Suspense fallback={null}>
<ViewsSwitches />

View File

@ -10,6 +10,9 @@ import './index.scss';
const ZoomControl = ({ zoom, setZoom }) => {
const step = 0.1;
//TODO: doesn't work proper scaling
return null;
return (
<div className={'ZoomControl'}>
<ButtonGroup size={'small'}>

View File

@ -33,6 +33,7 @@ class TreeDiagram extends React.Component {
<div className="TreeDiagram">
<Draggable bounds={bounds}>
<svg
id={'MainTreeSVG'}
width={width}
height={height}
xmlns="http://www.w3.org/2000/svg"

View File

@ -3,6 +3,10 @@
overflow: hidden;
display: flex;
flex-grow: 1;
#MainTreeSVG {
overflow: initial !important;
}
}
.MainLoader {

View File

@ -219,8 +219,14 @@ export const downloadStore = props => (dispatch, getState) => {
};
export const uploadStore = file => dispatch => {
uploadFileAsObject(file).then(object => {
dispatch({ type: VIEW_SWITCHES_ACTIONS.SET_FULL_STATE, payload: object.data.controlsBus });
dispatch(setInitialSourceData(object.data.dataBus[DEFAULT_NAMESPACE]));
});
uploadFileAsObject(file).then(object => dispatch(setPredefinedState(object.data)));
};
export const setPredefinedState = predefinedState => dispatch => {
dispatch({
type: VIEW_SWITCHES_ACTIONS.SET_FULL_STATE,
payload: predefinedState.controlsBus
});
dispatch(setInitialSourceData(predefinedState.dataBus[DEFAULT_NAMESPACE]));
};

View File

@ -3,27 +3,36 @@ import { connect } from 'react-redux';
import { createConnection } from 'core/dataBus/connection';
import { SOCKET_EVENT_TYPE } from 'core/constants';
import { setInitialSourceData, setChangedSourceData } from './actions';
import { setInitialSourceData, setChangedSourceData, setPredefinedState } from './actions';
class DataBusContainer extends React.Component {
componentDidMount() {
const { standalone } = this.props;
if (standalone) {
return this.setupStandalone();
}
return this.setupLocal();
}
setupStandalone() {
const { setPredefinedState, predefinedState } = this.props;
setPredefinedState(predefinedState);
}
setupLocal() {
createConnection(({ type, data }) => this.onSocketEvent(type, data));
}
handleInitSyncEvent(dataBody) {
const { setInitialSourceData } = this.props;
setInitialSourceData({
...dataBody
});
setInitialSourceData(dataBody);
}
handleUpdateSyncEvent(dataBody) {
const { setChangedSourceData } = this.props;
setChangedSourceData({
...dataBody
});
setChangedSourceData(dataBody);
}
onSocketEvent(type, data) {
@ -46,7 +55,8 @@ class DataBusContainer extends React.Component {
const mapDispatchToProps = {
setInitialSourceData,
setChangedSourceData
setChangedSourceData,
setPredefinedState
};
export default connect(

View File

@ -1,5 +1,4 @@
const path = require('path');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const PROJECT_NAME = 'codecrumbs';
@ -51,12 +50,6 @@ module.exports = {
extensions: ['.js']
},
plugins: [
new BundleAnalyzerPlugin({
openAnalyzer: false
})
],
optimization: {
splitChunks: {
cacheGroups: {

View File

@ -1,7 +1,14 @@
const merge = require('webpack-merge');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const common = require('./webpack.common.js');
module.exports = merge(common, {
devtool: 'source-map',
mode: 'development'
mode: 'development',
plugins: [
new BundleAnalyzerPlugin({
openAnalyzer: false
})
]
});

View File

@ -1,6 +1,10 @@
const path = require('path');
const merge = require('webpack-merge');
const common = require('./webpack.common.js');
module.exports = merge(common, {
output: {
path: path.resolve(__dirname, 'dist/standalone/bundle/')
},
mode: 'production'
});