Skip to content

Commit 45e562e

Browse files
Add depencdencies limiter
1 parent 2ebc6a6 commit 45e562e

12 files changed

Lines changed: 87 additions & 21 deletions

File tree

example-project/app.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import tabs from './views/tabs';
2+
import dataModel from './data/model';
23

34
const App = {
45
init() {
5-
tabs.render();//cc:render;CallLong line check out tabs.js for more details
6+
tabs.render(); //cc:render;CallLong line check out tabs.js for more details
67
}
78
};
89

example-project/data/model.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
/**
2-
* Created by bliashenko on 2018-06-02.
3-
*/
1+
export default () => Promise.resolve({ data: [] });

src/public/dist/bundle.js

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85985,7 +85985,7 @@ exports.default = (0, _reactRedux.connect)(null, mapDispatchToProps)(DataBusCont
8598585985
Object.defineProperty(exports, "__esModule", {
8598685986
value: true
8598785987
});
85988-
exports.selectCodeCrumb = exports.closeAllFolders = exports.openAllFolders = exports.toggleFolder = exports.selectFile = exports.calcFilesTreeLayoutNodes = exports.setInitialSourceData = undefined;
85988+
exports.selectEntryPointForDependencies = exports.selectCodeCrumb = exports.closeAllFolders = exports.openAllFolders = exports.toggleFolder = exports.selectFile = exports.calcFilesTreeLayoutNodes = exports.setInitialSourceData = undefined;
8598985989

8599085990
var _constants = __webpack_require__(/*! ./constants */ "./js/components/data-bus/store/constants.js");
8599185991

@@ -86052,6 +86052,13 @@ var selectCodeCrumb = exports.selectCodeCrumb = function selectCodeCrumb(fileNod
8605286052
};
8605386053
};
8605486054

86055+
var selectEntryPointForDependencies = exports.selectEntryPointForDependencies = function selectEntryPointForDependencies(fileNode) {
86056+
return {
86057+
type: _constants.ACTIONS.SELECT_DEPENDENCIES_ENTRY_POINT,
86058+
payload: fileNode
86059+
};
86060+
};
86061+
8605586062
/***/ }),
8605686063

8605786064
/***/ "./js/components/data-bus/store/constants.js":
@@ -86074,7 +86081,8 @@ var ACTIONS = exports.ACTIONS = {
8607486081
TOGGLE_FOLDER: 'DATA_BUS.TOGGLE_FOLDER',
8607586082
OPEN_ALL_FOLDERS: 'DATA_BUS.OPEN_ALL_FOLDERS',
8607686083
CLOSE_ALL_FOLDERS: 'DATA_BUS.CLOSE_ALL_FOLDERS',
86077-
SELECT_CODE_CRUMB: 'DATA_BUS.SELECT_CODE_CRUMB'
86084+
SELECT_CODE_CRUMB: 'DATA_BUS.SELECT_CODE_CRUMB',
86085+
SELECT_DEPENDENCIES_ENTRY_POINT: 'DATA_BUS.SELECT_DEPENDENCIES_ENTRY_POINT'
8607886086
};
8607986087

8608086088
/***/ }),
@@ -86172,6 +86180,11 @@ exports.default = function () {
8617286180
selectedCodeCrumb: codeCrumb
8617386181
});
8617486182

86183+
case _constants2.ACTIONS.SELECT_DEPENDENCIES_ENTRY_POINT:
86184+
return _extends({}, state, {
86185+
dependenciesEntryPoint: action.payload
86186+
});
86187+
8617586188
default:
8617686189
return state;
8617786190
}
@@ -86442,7 +86455,8 @@ var mapStateToProps = function mapStateToProps(state) {
8644286455
var _state$dataBus = state.dataBus,
8644386456
filesTreeLayoutNodes = _state$dataBus.filesTreeLayoutNodes,
8644486457
dependenciesList = _state$dataBus.dependenciesList,
86445-
closedFolders = _state$dataBus.closedFolders;
86458+
closedFolders = _state$dataBus.closedFolders,
86459+
dependenciesEntryPoint = _state$dataBus.dependenciesEntryPoint;
8644686460

8644786461

8644886462
return {
@@ -86453,13 +86467,15 @@ var mapStateToProps = function mapStateToProps(state) {
8645386467
codeCrumbsDetails: checkedState.codeCrumbsDetails,
8645486468
filesTreeLayoutNodes: filesTreeLayoutNodes,
8645586469
dependenciesList: dependenciesList,
86456-
closedFolders: closedFolders
86470+
closedFolders: closedFolders,
86471+
dependenciesEntryPoint: dependenciesEntryPoint
8645786472
};
8645886473
};
8645986474

8646086475
var mapDispatchToProps = {
8646186476
onCodeCrumbSelect: _actions.selectCodeCrumb,
8646286477
onFileSelect: _actions.selectFile,
86478+
onFileIconClick: _actions.selectEntryPointForDependencies,
8646386479
onFolderClick: _actions.toggleFolder
8646486480
};
8646586481

@@ -86877,13 +86893,17 @@ var DependenciesTree = function (_React$Component) {
8687786893
primaryDraw = _props.primaryDraw,
8687886894
filesTreeLayoutNodes = _props.filesTreeLayoutNodes,
8687986895
dependenciesList = _props.dependenciesList,
86896+
dependenciesEntryPoint = _props.dependenciesEntryPoint,
8688086897
shiftToCenterPoint = _props.shiftToCenterPoint,
8688186898
sourceDiagramOn = _props.sourceDiagramOn;
8688286899

8688386900

8688486901
var moduleFilesList = (0, _treeLayout.getFilesList)(filesTreeLayoutNodes);
86902+
var filteredList = !dependenciesEntryPoint ? dependenciesList : dependenciesList.filter(function (d) {
86903+
return d.moduleName === dependenciesEntryPoint.path;
86904+
});
8688586905

86886-
dependenciesList.forEach(function (_ref2) {
86906+
filteredList.forEach(function (_ref2) {
8688786907
var moduleName = _ref2.moduleName,
8688886908
importedModuleNames = _ref2.importedModuleNames;
8688986909

@@ -87130,6 +87150,7 @@ var SourceTree = function (_React$Component) {
8713087150
dependenciesDiagramOn = _props.dependenciesDiagramOn,
8713187151
codeCrumbsMinimize = _props.codeCrumbsMinimize,
8713287152
onFileSelect = _props.onFileSelect,
87153+
onFileIconClick = _props.onFileIconClick,
8713387154
onFolderClick = _props.onFolderClick;
8713487155
var add = this.drawSet.add;
8713587156

@@ -87173,14 +87194,17 @@ var SourceTree = function (_React$Component) {
8717387194
x: nX,
8717487195
y: nY,
8717587196
purple: node.children && codeCrumbsMinimize,
87176-
name: node.data.name
87197+
name: node.data.name,
87198+
onClick: function onClick() {
87199+
onFileSelect(node.data);
87200+
}
8717787201
}));
8717887202
add((0, _drawHelpers.drawFileIcon)(primaryDraw, shiftToCenterPoint, {
8717987203
x: nX,
8718087204
y: nY,
8718187205
purple: node.children && codeCrumbsMinimize,
8718287206
onClick: function onClick() {
87183-
onFileSelect(node.data);
87207+
dependenciesDiagramOn && onFileIconClick(node.data);
8718487208
}
8718587209
}));
8718687210
return;
@@ -87299,7 +87323,8 @@ var drawFileText = exports.drawFileText = function drawFileText(draw, shiftToCen
8729987323
y = _ref3.y,
8730087324
purple = _ref3.purple,
8730187325
_ref3$name = _ref3.name,
87302-
name = _ref3$name === undefined ? '' : _ref3$name;
87326+
name = _ref3$name === undefined ? '' : _ref3$name,
87327+
onClick = _ref3.onClick;
8730387328

8730487329
var text = draw.text(name);
8730587330
text.font({ fill: purple ? _constants.PURPLE_COLOR : '#595959', family: 'Menlo' });
@@ -87309,6 +87334,10 @@ var drawFileText = exports.drawFileText = function drawFileText(draw, shiftToCen
8730987334
var fileTextPoint = shiftToCenterPoint(x + fileTextPointShiftX, y - fileTextPointShiftY);
8731087335
text.move(fileTextPoint.x, fileTextPoint.y);
8731187336

87337+
if (onClick) {
87338+
text.style({ cursor: 'pointer' }).on('click', onClick);
87339+
}
87340+
8731287341
return text;
8731387342
};
8731487343

@@ -87520,12 +87549,14 @@ var TreeDiagram = function (_React$Component) {
8752087549
filesTreeLayoutNodes = _props.filesTreeLayoutNodes,
8752187550
dependenciesList = _props.dependenciesList,
8752287551
closedFolders = _props.closedFolders,
87552+
dependenciesEntryPoint = _props.dependenciesEntryPoint,
8752387553
sourceDiagramOn = _props.sourceDiagramOn,
8752487554
dependenciesDiagramOn = _props.dependenciesDiagramOn,
8752587555
codeCrumbsDiagramOn = _props.codeCrumbsDiagramOn,
8752687556
codeCrumbsMinimize = _props.codeCrumbsMinimize,
8752787557
codeCrumbsDetails = _props.codeCrumbsDetails,
8752887558
onFileSelect = _props.onFileSelect,
87559+
onFileIconClick = _props.onFileIconClick,
8752987560
onFolderClick = _props.onFolderClick,
8753087561
onCodeCrumbSelect = _props.onCodeCrumbSelect;
8753187562

@@ -87547,11 +87578,13 @@ var TreeDiagram = function (_React$Component) {
8754787578
secondaryLayer: this.sourceEdgesLayer,
8754887579
primaryLayer: this.iconsAndTextLayer,
8754987580
onFileSelect: onFileSelect,
87581+
onFileIconClick: onFileIconClick,
8755087582
onFolderClick: onFolderClick
8755187583
}, sharedProps)),
8755287584
dependenciesList && filesTreeLayoutNodes && dependenciesDiagramOn && _react2.default.createElement(_DependenciesTree2.default, _extends({
8755387585
dependenciesList: dependenciesList,
8755487586
filesTreeLayoutNodes: filesTreeLayoutNodes,
87587+
dependenciesEntryPoint: dependenciesEntryPoint,
8755587588
primaryLayer: this.dependenciesEdgesLayer
8755687589
}, sharedProps)),
8755787590
filesTreeLayoutNodes && codeCrumbsDiagramOn && _react2.default.createElement(_CodeCrumbsTree2.default, _extends({

src/public/dist/bundle.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/public/js/components/data-bus/store/actions.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,8 @@ export const selectCodeCrumb = (fileNode, codeCrumb) => ({
4444
type: ACTIONS.SELECT_CODE_CRUMB,
4545
payload: { fileNode, codeCrumb }
4646
});
47+
48+
export const selectEntryPointForDependencies = (fileNode) => ({
49+
type: ACTIONS.SELECT_DEPENDENCIES_ENTRY_POINT,
50+
payload: fileNode
51+
});

src/public/js/components/data-bus/store/constants.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ export const ACTIONS = {
55
TOGGLE_FOLDER: 'DATA_BUS.TOGGLE_FOLDER',
66
OPEN_ALL_FOLDERS: 'DATA_BUS.OPEN_ALL_FOLDERS',
77
CLOSE_ALL_FOLDERS: 'DATA_BUS.CLOSE_ALL_FOLDERS',
8-
SELECT_CODE_CRUMB: 'DATA_BUS.SELECT_CODE_CRUMB'
8+
SELECT_CODE_CRUMB: 'DATA_BUS.SELECT_CODE_CRUMB',
9+
SELECT_DEPENDENCIES_ENTRY_POINT: 'DATA_BUS.SELECT_DEPENDENCIES_ENTRY_POINT'
910
};

src/public/js/components/data-bus/store/reducer.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ export default (state = DefaultState, action) => {
7777
selectedCodeCrumb: codeCrumb
7878
};
7979

80+
case ACTIONS.SELECT_DEPENDENCIES_ENTRY_POINT:
81+
return {
82+
...state,
83+
dependenciesEntryPoint: action.payload
84+
};
85+
8086
default:
8187
return state;
8288
}

src/public/js/components/tree-diagram/TreeDiagramContainer.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import TreeDiagram from './component/TreeDiagram';
33
import {
44
selectCodeCrumb,
55
selectFile,
6+
selectEntryPointForDependencies,
67
toggleFolder
78
} from '../data-bus/store/actions';
89

@@ -11,7 +12,8 @@ const mapStateToProps = state => {
1112
const {
1213
filesTreeLayoutNodes,
1314
dependenciesList,
14-
closedFolders
15+
closedFolders,
16+
dependenciesEntryPoint
1517
} = state.dataBus;
1618

1719
return {
@@ -22,13 +24,15 @@ const mapStateToProps = state => {
2224
codeCrumbsDetails: checkedState.codeCrumbsDetails,
2325
filesTreeLayoutNodes,
2426
dependenciesList,
25-
closedFolders
27+
closedFolders,
28+
dependenciesEntryPoint
2629
};
2730
};
2831

2932
const mapDispatchToProps = {
3033
onCodeCrumbSelect: selectCodeCrumb,
3134
onFileSelect: selectFile,
35+
onFileIconClick: selectEntryPointForDependencies,
3236
onFolderClick: toggleFolder
3337
};
3438

src/public/js/components/tree-diagram/component/DependenciesTree/DependenciesTree.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,19 @@ class DependenciesTree extends React.Component {
2525
primaryDraw,
2626
filesTreeLayoutNodes,
2727
dependenciesList,
28+
dependenciesEntryPoint,
2829
shiftToCenterPoint,
2930
sourceDiagramOn
3031
} = this.props;
3132

3233
const moduleFilesList = getFilesList(filesTreeLayoutNodes);
34+
let filteredList = !dependenciesEntryPoint
35+
? dependenciesList
36+
: dependenciesList.filter(
37+
d => d.moduleName === dependenciesEntryPoint.path
38+
);
3339

34-
dependenciesList.forEach(({ moduleName, importedModuleNames }) => {
40+
filteredList.forEach(({ moduleName, importedModuleNames }) => {
3541
const moduleNode = this.findNodeByPathName(
3642
moduleFilesList,
3743
moduleName

src/public/js/components/tree-diagram/component/SourceTree/SourceTree.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ class SourceTree extends React.Component {
5050
dependenciesDiagramOn,
5151
codeCrumbsMinimize,
5252
onFileSelect,
53+
onFileIconClick,
5354
onFolderClick
5455
} = this.props;
5556

@@ -89,7 +90,10 @@ class SourceTree extends React.Component {
8990
x: nX,
9091
y: nY,
9192
purple: node.children && codeCrumbsMinimize,
92-
name: node.data.name
93+
name: node.data.name,
94+
onClick() {
95+
onFileSelect(node.data);
96+
}
9397
})
9498
);
9599
add(
@@ -98,7 +102,7 @@ class SourceTree extends React.Component {
98102
y: nY,
99103
purple: node.children && codeCrumbsMinimize,
100104
onClick() {
101-
onFileSelect(node.data);
105+
dependenciesDiagramOn && onFileIconClick(node.data);
102106
}
103107
})
104108
);

0 commit comments

Comments
 (0)