ngssm-tree 15.3.7 → 15.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/esm2020/lib/ngssm-expression-tree/actions/index.mjs +3 -1
  2. package/esm2020/lib/ngssm-expression-tree/actions/ngssm-add-expression-tree-node.action.mjs +9 -0
  3. package/esm2020/lib/ngssm-expression-tree/actions/ngssm-delete-expression-tree-node.action.mjs +8 -0
  4. package/esm2020/lib/ngssm-expression-tree/actions/ngssm-expression-tree-action-type.mjs +4 -1
  5. package/esm2020/lib/ngssm-expression-tree/actions/ngssm-init-expression-tree.action.mjs +1 -1
  6. package/esm2020/lib/ngssm-expression-tree/components/ngssm-expression-tree/ngssm-expression-tree.component.mjs +20 -10
  7. package/esm2020/lib/ngssm-expression-tree/components/ngssm-expression-tree-node/ngssm-expression-tree-node.component.mjs +88 -0
  8. package/esm2020/lib/ngssm-expression-tree/components/ngssm-expression-tree-node-details/ngssm-expression-tree-node-details.component.mjs +67 -0
  9. package/esm2020/lib/ngssm-expression-tree/model/index.mjs +3 -2
  10. package/esm2020/lib/ngssm-expression-tree/model/ngssm-expression-tree-config.mjs +1 -1
  11. package/esm2020/lib/ngssm-expression-tree/model/ngssm-expression-tree-custom-component.mjs +2 -0
  12. package/esm2020/lib/ngssm-expression-tree/model/ngssm-expression-tree-data.mjs +2 -0
  13. package/esm2020/lib/ngssm-expression-tree/model/ngssm-expression-tree.mjs +4 -2
  14. package/esm2020/lib/ngssm-expression-tree/model/ngssm-node.mjs +1 -1
  15. package/esm2020/lib/ngssm-expression-tree/provide-ngssm-expression-tree.mjs +3 -3
  16. package/esm2020/lib/ngssm-expression-tree/reducers/index.mjs +2 -1
  17. package/esm2020/lib/ngssm-expression-tree/reducers/tree-node-edition.reducer.mjs +96 -0
  18. package/esm2020/lib/ngssm-expression-tree/reducers/tree-node-expand.reducer.mjs +3 -3
  19. package/esm2020/lib/ngssm-expression-tree/reducers/trees.reducer.mjs +3 -3
  20. package/esm2020/lib/ngssm-tree/components/ngssm-breadcrumb/ngssm-breadcrumb.component.mjs +3 -3
  21. package/esm2020/lib/ngssm-tree/components/ngssm-tree/ngssm-tree.component.mjs +3 -3
  22. package/esm2020/lib/ngssm-tree/components/ngssm-tree-search-dialog/ngssm-tree-search-dialog.component.mjs +3 -3
  23. package/esm2020/lib/ngssm-tree/effects/tree-node-loading.effect.mjs +3 -3
  24. package/esm2020/lib/ngssm-tree/effects/tree-nodes-searching.effect.mjs +3 -3
  25. package/esm2020/lib/ngssm-tree/reducers/tree-node-expand.reducer.mjs +3 -3
  26. package/esm2020/lib/ngssm-tree/reducers/tree-node-selection.reducer.mjs +3 -3
  27. package/esm2020/lib/ngssm-tree/reducers/tree-nodes-search.reducer.mjs +3 -3
  28. package/esm2020/lib/ngssm-tree/reducers/tree-nodes.reducer.mjs +3 -3
  29. package/esm2020/lib/ngssm-tree/reducers/trees.reducer.mjs +3 -3
  30. package/fesm2015/ngssm-tree.mjs +307 -49
  31. package/fesm2015/ngssm-tree.mjs.map +1 -1
  32. package/fesm2020/ngssm-tree.mjs +305 -49
  33. package/fesm2020/ngssm-tree.mjs.map +1 -1
  34. package/lib/ngssm-expression-tree/actions/index.d.ts +2 -0
  35. package/lib/ngssm-expression-tree/actions/ngssm-add-expression-tree-node.action.d.ts +6 -0
  36. package/lib/ngssm-expression-tree/actions/ngssm-delete-expression-tree-node.action.d.ts +4 -0
  37. package/lib/ngssm-expression-tree/actions/ngssm-expression-tree-action-type.d.ts +3 -1
  38. package/lib/ngssm-expression-tree/actions/ngssm-init-expression-tree.action.d.ts +3 -3
  39. package/lib/ngssm-expression-tree/components/ngssm-expression-tree/ngssm-expression-tree.component.d.ts +4 -3
  40. package/lib/ngssm-expression-tree/components/ngssm-expression-tree-node/ngssm-expression-tree-node.component.d.ts +26 -0
  41. package/lib/ngssm-expression-tree/components/ngssm-expression-tree-node-details/ngssm-expression-tree-node-details.component.d.ts +22 -0
  42. package/lib/ngssm-expression-tree/model/index.d.ts +2 -1
  43. package/lib/ngssm-expression-tree/model/ngssm-expression-tree-config.d.ts +8 -8
  44. package/lib/ngssm-expression-tree/model/ngssm-expression-tree-custom-component.d.ts +3 -0
  45. package/lib/ngssm-expression-tree/model/ngssm-expression-tree-data.d.ts +3 -0
  46. package/lib/ngssm-expression-tree/model/ngssm-expression-tree.d.ts +2 -0
  47. package/lib/ngssm-expression-tree/model/ngssm-node.d.ts +9 -0
  48. package/lib/ngssm-expression-tree/reducers/index.d.ts +1 -0
  49. package/lib/ngssm-expression-tree/reducers/tree-node-edition.reducer.d.ts +10 -0
  50. package/package.json +1 -1
  51. package/esm2020/lib/ngssm-expression-tree/model/ngssm-expression-tree-description-component.mjs +0 -2
  52. package/lib/ngssm-expression-tree/model/ngssm-expression-tree-description-component.d.ts +0 -4
@@ -5,4 +5,6 @@ export * from './ngssm-expression-tree.action';
5
5
  export * from './ngssm-expression-tree-node.action';
6
6
  export * from './ngssm-expand-expression-tree-node.action';
7
7
  export * from './ngssm-collapse-expression-tree-node.action';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLWFjdGlvbi10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbmdzc20tY2xlYXItZXhwcmVzc2lvbi10cmVlLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLWluaXQtZXhwcmVzc2lvbi10cmVlLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1leHBhbmQtZXhwcmVzc2lvbi10cmVlLW5vZGUuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbmdzc20tY29sbGFwc2UtZXhwcmVzc2lvbi10cmVlLW5vZGUuYWN0aW9uJztcbiJdfQ==
8
+ export * from './ngssm-add-expression-tree-node.action';
9
+ export * from './ngssm-delete-expression-tree-node.action';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNENBQTRDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1hY3Rpb24tdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLWNsZWFyLWV4cHJlc3Npb24tdHJlZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1pbml0LWV4cHJlc3Npb24tdHJlZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbmdzc20tZXhwYW5kLWV4cHJlc3Npb24tdHJlZS1ub2RlLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLWNvbGxhcHNlLWV4cHJlc3Npb24tdHJlZS1ub2RlLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLWFkZC1leHByZXNzaW9uLXRyZWUtbm9kZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1kZWxldGUtZXhwcmVzc2lvbi10cmVlLW5vZGUuYWN0aW9uJztcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { NgssmExpressionTreeAction } from './ngssm-expression-tree.action';
2
+ import { NgssmExpressionTreeActionType } from './ngssm-expression-tree-action-type';
3
+ export class NgssmAddExpressionTreeNodeAction extends NgssmExpressionTreeAction {
4
+ constructor(treeId, node) {
5
+ super(NgssmExpressionTreeActionType.ngssmAddExpressionTreeNode, treeId);
6
+ this.node = node;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tYWRkLWV4cHJlc3Npb24tdHJlZS1ub2RlLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvYWN0aW9ucy9uZ3NzbS1hZGQtZXhwcmVzc2lvbi10cmVlLW5vZGUuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBR3BGLE1BQU0sT0FBTyxnQ0FBOEMsU0FBUSx5QkFBeUI7SUFDMUYsWUFBWSxNQUFjLEVBQWtCLElBQXNCO1FBQ2hFLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQywwQkFBMEIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUQ5QixTQUFJLEdBQUosSUFBSSxDQUFrQjtJQUVsRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uIH0gZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUuYWN0aW9uJztcbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlIH0gZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtYWN0aW9uLXR5cGUnO1xuaW1wb3J0IHsgTmdzc21Ob2RlIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgTmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb248VERhdGEgPSBhbnk+IGV4dGVuZHMgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHRyZWVJZDogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgbm9kZTogTmdzc21Ob2RlPFREYXRhPikge1xuICAgIHN1cGVyKE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2RlLCB0cmVlSWQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { NgssmExpressionTreeNodeAction } from './ngssm-expression-tree-node.action';
2
+ import { NgssmExpressionTreeActionType } from './ngssm-expression-tree-action-type';
3
+ export class NgssmDeleteExpressionTreeNodeAction extends NgssmExpressionTreeNodeAction {
4
+ constructor(treeId, nodeId) {
5
+ super(NgssmExpressionTreeActionType.ngssmDeleteExpressionTreeNode, treeId, nodeId);
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZGVsZXRlLWV4cHJlc3Npb24tdHJlZS1ub2RlLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvYWN0aW9ucy9uZ3NzbS1kZWxldGUtZXhwcmVzc2lvbi10cmVlLW5vZGUuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXBGLE1BQU0sT0FBTyxtQ0FBb0MsU0FBUSw2QkFBNkI7SUFDcEYsWUFBWSxNQUFjLEVBQUUsTUFBYztRQUN4QyxLQUFLLENBQUMsNkJBQTZCLENBQUMsNkJBQTZCLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uIH0gZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5hY3Rpb24nO1xuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUgfSBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1hY3Rpb24tdHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBOZ3NzbURlbGV0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiBleHRlbmRzIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uIHtcbiAgY29uc3RydWN0b3IodHJlZUlkOiBzdHJpbmcsIG5vZGVJZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUubmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGUsIHRyZWVJZCwgbm9kZUlkKTtcbiAgfVxufVxuIl19
@@ -6,5 +6,8 @@ export var NgssmExpressionTreeActionType;
6
6
  // Manage expand/collapse
7
7
  NgssmExpressionTreeActionType["ngssmCollapseExpressionTreeNode"] = "[NgssmExpressionTreeActionType] ngssmCollapseExpressionTreeNode";
8
8
  NgssmExpressionTreeActionType["ngssmExpandExpressionTreeNode"] = "[NgssmExpressionTreeActionType] ngssmExpandExpressionTreeNode";
9
+ // Node edition
10
+ NgssmExpressionTreeActionType["ngssmAddExpressionTreeNode"] = "[NgssmExpressionTreeActionType] ngssmAddExpressionTreeNode";
11
+ NgssmExpressionTreeActionType["ngssmDeleteExpressionTreeNode"] = "[NgssmExpressionTreeActionType] ngssmDeleteExpressionTreeNode";
9
12
  })(NgssmExpressionTreeActionType || (NgssmExpressionTreeActionType = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLWFjdGlvbi10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9hY3Rpb25zL25nc3NtLWV4cHJlc3Npb24tdHJlZS1hY3Rpb24tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSw2QkFRWDtBQVJELFdBQVksNkJBQTZCO0lBQ3ZDLDJCQUEyQjtJQUMzQixvSEFBbUYsQ0FBQTtJQUNuRixzSEFBcUYsQ0FBQTtJQUVyRix5QkFBeUI7SUFDekIsb0lBQW1HLENBQUE7SUFDbkcsZ0lBQStGLENBQUE7QUFDakcsQ0FBQyxFQVJXLDZCQUE2QixLQUE3Qiw2QkFBNkIsUUFReEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZSB7XG4gIC8vIExpc3Qgb2YgdHJlZXMgbWFuYWdlbWVudFxuICBuZ3NzbUluaXRFeHByZXNzaW9uVHJlZSA9ICdbTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGVdIG5nc3NtSW5pdEV4cHJlc3Npb25UcmVlJyxcbiAgbmdzc21DbGVhckV4cHJlc3Npb25UcmVlID0gJ1tOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZV0gbmdzc21DbGVhckV4cHJlc3Npb25UcmVlJyxcblxuICAvLyBNYW5hZ2UgZXhwYW5kL2NvbGxhcHNlXG4gIG5nc3NtQ29sbGFwc2VFeHByZXNzaW9uVHJlZU5vZGUgPSAnW05nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlXSBuZ3NzbUNvbGxhcHNlRXhwcmVzc2lvblRyZWVOb2RlJyxcbiAgbmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGUgPSAnW05nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlXSBuZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZSdcbn1cbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLWFjdGlvbi10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9hY3Rpb25zL25nc3NtLWV4cHJlc3Npb24tdHJlZS1hY3Rpb24tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSw2QkFZWDtBQVpELFdBQVksNkJBQTZCO0lBQ3ZDLDJCQUEyQjtJQUMzQixvSEFBbUYsQ0FBQTtJQUNuRixzSEFBcUYsQ0FBQTtJQUVyRix5QkFBeUI7SUFDekIsb0lBQW1HLENBQUE7SUFDbkcsZ0lBQStGLENBQUE7SUFFL0YsZUFBZTtJQUNmLDBIQUF5RixDQUFBO0lBQ3pGLGdJQUErRixDQUFBO0FBQ2pHLENBQUMsRUFaVyw2QkFBNkIsS0FBN0IsNkJBQTZCLFFBWXhDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUge1xuICAvLyBMaXN0IG9mIHRyZWVzIG1hbmFnZW1lbnRcbiAgbmdzc21Jbml0RXhwcmVzc2lvblRyZWUgPSAnW05nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlXSBuZ3NzbUluaXRFeHByZXNzaW9uVHJlZScsXG4gIG5nc3NtQ2xlYXJFeHByZXNzaW9uVHJlZSA9ICdbTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGVdIG5nc3NtQ2xlYXJFeHByZXNzaW9uVHJlZScsXG5cbiAgLy8gTWFuYWdlIGV4cGFuZC9jb2xsYXBzZVxuICBuZ3NzbUNvbGxhcHNlRXhwcmVzc2lvblRyZWVOb2RlID0gJ1tOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZV0gbmdzc21Db2xsYXBzZUV4cHJlc3Npb25UcmVlTm9kZScsXG4gIG5nc3NtRXhwYW5kRXhwcmVzc2lvblRyZWVOb2RlID0gJ1tOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZV0gbmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGUnLFxuXG4gIC8vIE5vZGUgZWRpdGlvblxuICBuZ3NzbUFkZEV4cHJlc3Npb25UcmVlTm9kZSA9ICdbTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGVdIG5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2RlJyxcbiAgbmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGUgPSAnW05nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlXSBuZ3NzbURlbGV0ZUV4cHJlc3Npb25UcmVlTm9kZSdcbn1cbiJdfQ==
@@ -6,4 +6,4 @@ export class NgssmInitExpressionTreeAction extends NgssmExpressionTreeAction {
6
6
  this.nodes = nodes;
7
7
  }
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20taW5pdC1leHByZXNzaW9uLXRyZWUuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9hY3Rpb25zL25nc3NtLWluaXQtZXhwcmVzc2lvbi10cmVlLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRSxNQUFNLE9BQU8sNkJBQThCLFNBQVEseUJBQXlCO0lBQzFFLFlBQVksTUFBYyxFQUFrQixLQUFrQjtRQUM1RCxLQUFLLENBQUMsNkJBQTZCLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFEM0IsVUFBSyxHQUFMLEtBQUssQ0FBYTtJQUU5RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3NzbU5vZGUgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZSB9IGZyb20gJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLWFjdGlvbi10eXBlJztcbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb24gfSBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS5hY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgTmdzc21Jbml0RXhwcmVzc2lvblRyZWVBY3Rpb24gZXh0ZW5kcyBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uIHtcbiAgY29uc3RydWN0b3IodHJlZUlkOiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSBub2RlczogTmdzc21Ob2RlW10pIHtcbiAgICBzdXBlcihOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUluaXRFeHByZXNzaW9uVHJlZSwgdHJlZUlkKTtcbiAgfVxufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20taW5pdC1leHByZXNzaW9uLXRyZWUuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9hY3Rpb25zL25nc3NtLWluaXQtZXhwcmVzc2lvbi10cmVlLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRSxNQUFNLE9BQU8sNkJBQTJDLFNBQVEseUJBQXlCO0lBQ3ZGLFlBQVksTUFBYyxFQUFrQixLQUF5QjtRQUNuRSxLQUFLLENBQUMsNkJBQTZCLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFEM0IsVUFBSyxHQUFMLEtBQUssQ0FBb0I7SUFFckUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdzc21Ob2RlIH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUgfSBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1hY3Rpb24tdHlwZSc7XG5pbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uIH0gZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUuYWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIE5nc3NtSW5pdEV4cHJlc3Npb25UcmVlQWN0aW9uPFREYXRhID0gYW55PiBleHRlbmRzIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb24ge1xuICBjb25zdHJ1Y3Rvcih0cmVlSWQ6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IG5vZGVzOiBOZ3NzbU5vZGU8VERhdGE+W10pIHtcbiAgICBzdXBlcihOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZS5uZ3NzbUluaXRFeHByZXNzaW9uVHJlZSwgdHJlZUlkKTtcbiAgfVxufVxuIl19
@@ -6,9 +6,10 @@ import { MatDividerModule } from '@angular/material/divider';
6
6
  import { MatIconModule } from '@angular/material/icon';
7
7
  import { BehaviorSubject, takeUntil } from 'rxjs';
8
8
  import { NgSsmComponent } from 'ngssm-store';
9
- import { NgssmComponentDisplayDirective } from 'ngssm-toolkit';
10
9
  import { selectNgssmExpressionTreeState } from '../../state';
11
10
  import { NgssmCollapseExpressionTreeNodeAction, NgssmExpandExpressionTreeNodeAction } from '../../actions';
11
+ import { NgssmExpressionTreeNodeComponent } from '../ngssm-expression-tree-node/ngssm-expression-tree-node.component';
12
+ import { NgssmExpressionTreeNodeDetailsComponent } from '../ngssm-expression-tree-node-details/ngssm-expression-tree-node-details.component';
12
13
  import * as i0 from "@angular/core";
13
14
  import * as i1 from "ngssm-store";
14
15
  import * as i2 from "@angular/common";
@@ -17,8 +18,9 @@ import * as i4 from "@angular/material/card";
17
18
  import * as i5 from "@angular/material/divider";
18
19
  import * as i6 from "@angular/material/icon";
19
20
  export class NgssmExpressionTreeComponent extends NgSsmComponent {
20
- constructor(store) {
21
+ constructor(store, changeDetectorRef) {
21
22
  super(store);
23
+ this.changeDetectorRef = changeDetectorRef;
22
24
  this._tree$ = new BehaviorSubject(undefined);
23
25
  this._displayedNodes$ = new BehaviorSubject([]);
24
26
  this._treeConfig$ = new BehaviorSubject(undefined);
@@ -81,16 +83,24 @@ export class NgssmExpressionTreeComponent extends NgSsmComponent {
81
83
  this.dispatchAction(new NgssmCollapseExpressionTreeNodeAction(treeId, node.data.id));
82
84
  }
83
85
  }
84
- getComponentDescriptionAction(node) {
85
- return (c) => c.setNode(node);
86
+ forceRefresh() {
87
+ this.changeDetectorRef.markForCheck();
86
88
  }
87
89
  }
88
- NgssmExpressionTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgssmExpressionTreeComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
89
- NgssmExpressionTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: NgssmExpressionTreeComponent, isStandalone: true, selector: "ngssm-expression-tree", inputs: { treeConfig: "treeConfig" }, usesInheritance: true, ngImport: i0, template: "<mat-card class=\"flex-column-stretch fxFlex ngssm-expression-tree\">\n <mat-card-content class=\"flex-column-stretch fxFlex ngssm-expression-tree-content\"\n *ngIf=\"(treeConfig$ | async) as treeConfig\">\n <cdk-virtual-scroll-viewport [itemSize]=\"treeConfig.rowSize ?? 30\" class=\"fxFlex\"\n *ngIf=\"treeConfig.disableVirtualization !== true\">\n <div *cdkVirtualFor=\"let item of displayedNodes$ | async; trackBy: getItemId\"\n class=\"ngssm-expression-tree-node\" id=\"{{'node_' + item.data.id}}\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate;context: {treeConfig, item}\"></ng-container>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"ngssm-expression-tree-nodes-container\" *ngIf=\"treeConfig.disableVirtualization === true\">\n <div *ngFor=\"let item of displayedNodes$ | async; trackBy: getItemId\" class=\"ngssm-expression-tree-node\"\n id=\"{{'node_' + item.data.id}}\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate;context: {treeConfig, item}\"></ng-container>\n </div>\n </div>\n </mat-card-content>\n</mat-card>\n\n<ng-template #nodeTemplate let-treeConfig=\"treeConfig\" let-item=\"item\">\n <div class=\"flex-row-center fxFlex\" [style.height.px]=\"treeConfig.rowSize ?? 30\">\n <mat-divider [vertical]=\"true\" class=\"ngssm-expression-tree-node-divider\"\n [style.height.px]=\"treeConfig.rowSize ?? 30\" *ngFor=\"let part of item.path\"\n [style.margin-right.px]=\"getDefaultPadding()\">\n </mat-divider>\n <mat-icon class=\"{{treeConfig.expandIconClass}}\"\n *ngIf=\"(item.data.isExpandable || item.data.hasRowDetail) && item.isExpanded === false\"\n (click)=\"$event.stopPropagation();expand(item);\" id=\"expandIcon\">\n </mat-icon>\n <mat-icon class=\"{{treeConfig.collapseIconClass}}\"\n *ngIf=\"(item.data.isExpandable || item.data.hasRowDetail) && item.isExpanded === true\"\n (click)=\"$event.stopPropagation();collapse(item);\" id=\"collapseIcon\">\n </mat-icon>\n <div class=\"ngssm-expression-tree-node-label\">\n {{treeConfig.getNodeLabel?.(item)}}\n </div>\n <div class=\"ngssm-expression-tree-node-description\" [innerHTML]=\"treeConfig.getNodeDescription?.(item)\">\n </div>\n <div class=\"ngssm-expression-tree-node-description-component\"\n [ngssmComponentDisplay]=\"treeConfig.getNodeDescriptionComponent?.(item)\"\n [ngssmComponentAction]=\"getComponentDescriptionAction(item)\">\n\n </div>\n </div>\n <div *ngIf=\"item.data.hasRowDetail === true && item.isExpanded === true\" class=\"flex-row-center fxFlex\">\n <mat-divider [vertical]=\"true\" class=\"ngssm-expression-tree-node-divider\"\n [style.height.px]=\"detailContainer.getBoundingClientRect().height\" *ngFor=\" let part of item.path\"\n [style.margin-right.px]=\"getDefaultPadding()\">\n </mat-divider>\n <div #detailContainer class=\"ngssm-expression-tree-node-detail-component\">\n <div [ngssmComponentDisplay]=\"treeConfig.getNodeDetailComponent?.(item)\"\n [ngssmComponentAction]=\"getComponentDescriptionAction(item)\"></div>\n </div>\n </div>\n</ng-template>", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgssmComponentDisplayDirective, selector: "[ngssmComponentDisplay]", inputs: ["ngssmComponentDisplay", "ngssmComponentAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: NgssmExpressionTreeComponent, decorators: [{
90
+ NgssmExpressionTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: NgssmExpressionTreeComponent, deps: [{ token: i1.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
91
+ NgssmExpressionTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: NgssmExpressionTreeComponent, isStandalone: true, selector: "ngssm-expression-tree", inputs: { treeConfig: "treeConfig" }, usesInheritance: true, ngImport: i0, template: "<mat-card class=\"flex-column-stretch fxFlex ngssm-expression-tree\">\n <mat-card-content class=\"flex-column-stretch fxFlex ngssm-expression-tree-content\"\n *ngIf=\"(treeConfig$ | async) as treeConfig\">\n <cdk-virtual-scroll-viewport [itemSize]=\"treeConfig.rowSize ?? 30\" class=\"fxFlex\"\n *ngIf=\"treeConfig.disableVirtualization !== true\">\n <div *cdkVirtualFor=\"let item of displayedNodes$ | async; trackBy: getItemId\"\n class=\"ngssm-expression-tree-node\" id=\"{{'node_' + item.data.id}}\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate;context: {treeConfig, item}\"></ng-container>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"ngssm-expression-tree-nodes-container\" *ngIf=\"treeConfig.disableVirtualization === true\">\n <div *ngFor=\"let item of displayedNodes$ | async; trackBy: getItemId\" class=\"ngssm-expression-tree-node\"\n id=\"{{'node_' + item.data.id}}\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate;context: {treeConfig, item}\"></ng-container>\n </div>\n </div>\n </mat-card-content>\n</mat-card>\n\n<ng-template #nodeTemplate let-treeConfig=\"treeConfig\" let-item=\"item\">\n <div class=\"flex-row-center fxFlex\" [style.height.px]=\"treeConfig.rowSize ?? 30\">\n <mat-divider [vertical]=\"true\" class=\"ngssm-expression-tree-node-divider\"\n [style.height.px]=\"treeConfig.rowSize ?? 30\" *ngFor=\"let part of item.path\"\n [style.margin-right.px]=\"getDefaultPadding()\">\n </mat-divider>\n <mat-icon class=\"{{treeConfig.expandIconClass}}\"\n *ngIf=\"(item.data.isExpandable || item.data.hasRowDetail) && item.isExpanded === false\"\n (click)=\"$event.stopPropagation();expand(item);\" id=\"expandIcon\">\n </mat-icon>\n <mat-icon class=\"{{treeConfig.collapseIconClass}}\"\n *ngIf=\"(item.data.isExpandable || item.data.hasRowDetail) && item.isExpanded === true\"\n (click)=\"$event.stopPropagation();collapse(item);\" id=\"collapseIcon\">\n </mat-icon>\n <ngssm-expression-tree-node [nodeId]=\"item.data.id\" [treeConfig]=\"treeConfig\">\n </ngssm-expression-tree-node>\n </div>\n <div *ngIf=\"item.data.hasRowDetail === true && item.isExpanded === true\" class=\"flex-row-center fxFlex\">\n <mat-divider [vertical]=\"true\" class=\"ngssm-expression-tree-node-divider\"\n [style.height.px]=\"detailContainer.getBoundingClientRect().height\" *ngFor=\" let part of item.path\"\n [style.margin-right.px]=\"getDefaultPadding()\">\n </mat-divider>\n\n <div #detailContainer class=\"ngssm-expression-tree-node-detail-component\">\n <ngssm-expression-tree-node-details [nodeId]=\"item.data.id\" [treeConfig]=\"treeConfig\" (heightChanged)=\"forceRefresh()\">\n </ngssm-expression-tree-node-details>\n </div>\n </div>\n</ng-template>", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: NgssmExpressionTreeNodeComponent, selector: "ngssm-expression-tree-node", inputs: ["nodeId", "treeConfig"] }, { kind: "component", type: NgssmExpressionTreeNodeDetailsComponent, selector: "ngssm-expression-tree-node-details", inputs: ["nodeId", "treeConfig"], outputs: ["heightChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: NgssmExpressionTreeComponent, decorators: [{
91
93
  type: Component,
92
- args: [{ selector: 'ngssm-expression-tree', standalone: true, imports: [CommonModule, ScrollingModule, MatCardModule, MatDividerModule, MatIconModule, NgssmComponentDisplayDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card class=\"flex-column-stretch fxFlex ngssm-expression-tree\">\n <mat-card-content class=\"flex-column-stretch fxFlex ngssm-expression-tree-content\"\n *ngIf=\"(treeConfig$ | async) as treeConfig\">\n <cdk-virtual-scroll-viewport [itemSize]=\"treeConfig.rowSize ?? 30\" class=\"fxFlex\"\n *ngIf=\"treeConfig.disableVirtualization !== true\">\n <div *cdkVirtualFor=\"let item of displayedNodes$ | async; trackBy: getItemId\"\n class=\"ngssm-expression-tree-node\" id=\"{{'node_' + item.data.id}}\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate;context: {treeConfig, item}\"></ng-container>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"ngssm-expression-tree-nodes-container\" *ngIf=\"treeConfig.disableVirtualization === true\">\n <div *ngFor=\"let item of displayedNodes$ | async; trackBy: getItemId\" class=\"ngssm-expression-tree-node\"\n id=\"{{'node_' + item.data.id}}\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate;context: {treeConfig, item}\"></ng-container>\n </div>\n </div>\n </mat-card-content>\n</mat-card>\n\n<ng-template #nodeTemplate let-treeConfig=\"treeConfig\" let-item=\"item\">\n <div class=\"flex-row-center fxFlex\" [style.height.px]=\"treeConfig.rowSize ?? 30\">\n <mat-divider [vertical]=\"true\" class=\"ngssm-expression-tree-node-divider\"\n [style.height.px]=\"treeConfig.rowSize ?? 30\" *ngFor=\"let part of item.path\"\n [style.margin-right.px]=\"getDefaultPadding()\">\n </mat-divider>\n <mat-icon class=\"{{treeConfig.expandIconClass}}\"\n *ngIf=\"(item.data.isExpandable || item.data.hasRowDetail) && item.isExpanded === false\"\n (click)=\"$event.stopPropagation();expand(item);\" id=\"expandIcon\">\n </mat-icon>\n <mat-icon class=\"{{treeConfig.collapseIconClass}}\"\n *ngIf=\"(item.data.isExpandable || item.data.hasRowDetail) && item.isExpanded === true\"\n (click)=\"$event.stopPropagation();collapse(item);\" id=\"collapseIcon\">\n </mat-icon>\n <div class=\"ngssm-expression-tree-node-label\">\n {{treeConfig.getNodeLabel?.(item)}}\n </div>\n <div class=\"ngssm-expression-tree-node-description\" [innerHTML]=\"treeConfig.getNodeDescription?.(item)\">\n </div>\n <div class=\"ngssm-expression-tree-node-description-component\"\n [ngssmComponentDisplay]=\"treeConfig.getNodeDescriptionComponent?.(item)\"\n [ngssmComponentAction]=\"getComponentDescriptionAction(item)\">\n\n </div>\n </div>\n <div *ngIf=\"item.data.hasRowDetail === true && item.isExpanded === true\" class=\"flex-row-center fxFlex\">\n <mat-divider [vertical]=\"true\" class=\"ngssm-expression-tree-node-divider\"\n [style.height.px]=\"detailContainer.getBoundingClientRect().height\" *ngFor=\" let part of item.path\"\n [style.margin-right.px]=\"getDefaultPadding()\">\n </mat-divider>\n <div #detailContainer class=\"ngssm-expression-tree-node-detail-component\">\n <div [ngssmComponentDisplay]=\"treeConfig.getNodeDetailComponent?.(item)\"\n [ngssmComponentAction]=\"getComponentDescriptionAction(item)\"></div>\n </div>\n </div>\n</ng-template>", styles: [":host{display:flex;flex-direction:column}\n"] }]
93
- }], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { treeConfig: [{
94
+ args: [{ selector: 'ngssm-expression-tree', standalone: true, imports: [
95
+ CommonModule,
96
+ ScrollingModule,
97
+ MatCardModule,
98
+ MatDividerModule,
99
+ MatIconModule,
100
+ NgssmExpressionTreeNodeComponent,
101
+ NgssmExpressionTreeNodeDetailsComponent
102
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card class=\"flex-column-stretch fxFlex ngssm-expression-tree\">\n <mat-card-content class=\"flex-column-stretch fxFlex ngssm-expression-tree-content\"\n *ngIf=\"(treeConfig$ | async) as treeConfig\">\n <cdk-virtual-scroll-viewport [itemSize]=\"treeConfig.rowSize ?? 30\" class=\"fxFlex\"\n *ngIf=\"treeConfig.disableVirtualization !== true\">\n <div *cdkVirtualFor=\"let item of displayedNodes$ | async; trackBy: getItemId\"\n class=\"ngssm-expression-tree-node\" id=\"{{'node_' + item.data.id}}\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate;context: {treeConfig, item}\"></ng-container>\n </div>\n </cdk-virtual-scroll-viewport>\n <div class=\"ngssm-expression-tree-nodes-container\" *ngIf=\"treeConfig.disableVirtualization === true\">\n <div *ngFor=\"let item of displayedNodes$ | async; trackBy: getItemId\" class=\"ngssm-expression-tree-node\"\n id=\"{{'node_' + item.data.id}}\">\n <ng-container *ngTemplateOutlet=\"nodeTemplate;context: {treeConfig, item}\"></ng-container>\n </div>\n </div>\n </mat-card-content>\n</mat-card>\n\n<ng-template #nodeTemplate let-treeConfig=\"treeConfig\" let-item=\"item\">\n <div class=\"flex-row-center fxFlex\" [style.height.px]=\"treeConfig.rowSize ?? 30\">\n <mat-divider [vertical]=\"true\" class=\"ngssm-expression-tree-node-divider\"\n [style.height.px]=\"treeConfig.rowSize ?? 30\" *ngFor=\"let part of item.path\"\n [style.margin-right.px]=\"getDefaultPadding()\">\n </mat-divider>\n <mat-icon class=\"{{treeConfig.expandIconClass}}\"\n *ngIf=\"(item.data.isExpandable || item.data.hasRowDetail) && item.isExpanded === false\"\n (click)=\"$event.stopPropagation();expand(item);\" id=\"expandIcon\">\n </mat-icon>\n <mat-icon class=\"{{treeConfig.collapseIconClass}}\"\n *ngIf=\"(item.data.isExpandable || item.data.hasRowDetail) && item.isExpanded === true\"\n (click)=\"$event.stopPropagation();collapse(item);\" id=\"collapseIcon\">\n </mat-icon>\n <ngssm-expression-tree-node [nodeId]=\"item.data.id\" [treeConfig]=\"treeConfig\">\n </ngssm-expression-tree-node>\n </div>\n <div *ngIf=\"item.data.hasRowDetail === true && item.isExpanded === true\" class=\"flex-row-center fxFlex\">\n <mat-divider [vertical]=\"true\" class=\"ngssm-expression-tree-node-divider\"\n [style.height.px]=\"detailContainer.getBoundingClientRect().height\" *ngFor=\" let part of item.path\"\n [style.margin-right.px]=\"getDefaultPadding()\">\n </mat-divider>\n\n <div #detailContainer class=\"ngssm-expression-tree-node-detail-component\">\n <ngssm-expression-tree-node-details [nodeId]=\"item.data.id\" [treeConfig]=\"treeConfig\" (heightChanged)=\"forceRefresh()\">\n </ngssm-expression-tree-node-details>\n </div>\n </div>\n</ng-template>", styles: [":host{display:flex;flex-direction:column}\n"] }]
103
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { treeConfig: [{
94
104
  type: Input
95
105
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUE0QixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUUsT0FBTyxFQUFFLGNBQWMsRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUNwRCxPQUFPLEVBQXdCLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUXJGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0FBVTNHLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxjQUFjO0lBTzlELFlBQVksS0FBWTtRQUN0QixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFQRSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQWtDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pFLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUE0QixFQUFFLENBQUMsQ0FBQztRQUN0RSxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUF3QyxTQUFTLENBQUMsQ0FBQztRQU9wRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkUsTUFBTSxjQUFjLEdBQThCLEVBQUUsQ0FBQztZQUNyRCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1lBQ3pDLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUU7b0JBQ2hFLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDbEM7Z0JBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQ25GLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzNCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQW9CLFVBQVUsQ0FBQyxLQUFtRDtRQUNoRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2xDLE9BQU87U0FDUjtRQUVELE1BQU0sTUFBTSxHQUE4QjtZQUN4QyxHQUFHLEtBQUs7U0FDVCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDOUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUMzQixNQUFNLENBQUMsZUFBZSxHQUFHLDJCQUEyQixDQUFDO1NBQ3REO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRTtZQUM3QixNQUFNLENBQUMsaUJBQWlCLEdBQUcsMEJBQTBCLENBQUM7U0FDdkQ7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ25ILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU0sU0FBUyxDQUFDLENBQVMsRUFBRSxJQUE2QjtRQUN2RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUE2QjtRQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQztRQUNwRCxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxtQ0FBbUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3BGO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUE2QjtRQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQztRQUNwRCxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxxQ0FBcUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3RGO0lBQ0gsQ0FBQztJQUVNLDZCQUE2QixDQUFDLElBQTZCO1FBQ2hFLE9BQU8sQ0FBQyxDQUEwQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7O3lIQXZGVSw0QkFBNEI7NkdBQTVCLDRCQUE0Qiw4SUM1QnpDLG0xR0FzRGMsb0dEL0JGLFlBQVksMmRBQUUsZUFBZSwyakJBQUUsYUFBYSwwTkFBRSxnQkFBZ0Isa0lBQUUsYUFBYSxvTEFBRSw4QkFBOEI7MkZBSzVHLDRCQUE0QjtrQkFSeEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLDhCQUE4QixDQUFDLG1CQUd2Ryx1QkFBdUIsQ0FBQyxNQUFNOzRGQTZCM0IsVUFBVTtzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5nU3NtQ29tcG9uZW50LCBTdG9yZSB9IGZyb20gJ25nc3NtLXN0b3JlJztcbmltcG9ydCB7IE5nc3NtQ29tcG9uZW50QWN0aW9uLCBOZ3NzbUNvbXBvbmVudERpc3BsYXlEaXJlY3RpdmUgfSBmcm9tICduZ3NzbS10b29sa2l0JztcblxuaW1wb3J0IHtcbiAgTmdzc21FeHByZXNzaW9uVHJlZSxcbiAgTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZyxcbiAgTmdzc21FeHByZXNzaW9uVHJlZURlc2NyaXB0aW9uQ29tcG9uZW50LFxuICBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVxufSBmcm9tICcuLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZSc7XG5pbXBvcnQgeyBOZ3NzbUNvbGxhcHNlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLCBOZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiB9IGZyb20gJy4uLy4uL2FjdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1leHByZXNzaW9uLXRyZWUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTY3JvbGxpbmdNb2R1bGUsIE1hdENhcmRNb2R1bGUsIE1hdERpdmlkZXJNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE5nc3NtQ29tcG9uZW50RGlzcGxheURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTmdzc21FeHByZXNzaW9uVHJlZUNvbXBvbmVudCBleHRlbmRzIE5nU3NtQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJlZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5nc3NtRXhwcmVzc2lvblRyZWUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rpc3BsYXllZE5vZGVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXT4oW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IF90cmVlQ29uZmlnJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIF90cmVlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSkge1xuICAgIHN1cGVyKHN0b3JlKTtcblxuICAgIHRoaXMuX3RyZWUkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSkuc3Vic2NyaWJlKCh0cmVlKSA9PiB7XG4gICAgICBjb25zdCBkaXNwbGF5ZWROb2RlczogTmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXSA9IFtdO1xuICAgICAgY29uc3QgY29sbGFwc2VkTm9kZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgICh0cmVlPy5ub2RlcyA/PyBbXSkuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICBpZiAobm9kZS5kYXRhLmlzRXhwYW5kYWJsZSA9PT0gdHJ1ZSAmJiBub2RlLmlzRXhwYW5kZWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgY29sbGFwc2VkTm9kZXMuYWRkKG5vZGUuZGF0YS5pZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW5vZGUuZGF0YS5wYXJlbnRJZCB8fCBub2RlLnBhdGguZmluZEluZGV4KChwKSA9PiBjb2xsYXBzZWROb2Rlcy5oYXMocCkpID09PSAtMSkge1xuICAgICAgICAgIGRpc3BsYXllZE5vZGVzLnB1c2gobm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9kaXNwbGF5ZWROb2RlcyQubmV4dChkaXNwbGF5ZWROb2Rlcyk7XG4gICAgfSk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHRyZWVDb25maWcodmFsdWU6IE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdHJlZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLl90cmVlQ29uZmlnJC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlnOiBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnID0ge1xuICAgICAgLi4udmFsdWVcbiAgICB9O1xuICAgIGlmICghY29uZmlnLmdldE5vZGVMYWJlbCkge1xuICAgICAgY29uZmlnLmdldE5vZGVMYWJlbCA9IChub2RlKSA9PiBub2RlLmRhdGEuaWQ7XG4gICAgfVxuXG4gICAgaWYgKCFjb25maWcuZXhwYW5kSWNvbkNsYXNzKSB7XG4gICAgICBjb25maWcuZXhwYW5kSWNvbkNsYXNzID0gJ2ZhLXNvbGlkIGZhLWNoZXZyb24tcmlnaHQnO1xuICAgIH1cblxuICAgIGlmICghY29uZmlnLmNvbGxhcHNlSWNvbkNsYXNzKSB7XG4gICAgICBjb25maWcuY29sbGFwc2VJY29uQ2xhc3MgPSAnZmEtc29saWQgZmEtY2hldnJvbi1kb3duJztcbiAgICB9XG5cbiAgICB0aGlzLl90cmVlQ29uZmlnJC5uZXh0KGNvbmZpZyk7XG4gICAgdGhpcy5fdHJlZVN1YnNjcmlwdGlvbiA9IHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzKS50cmVlc1t2YWx1ZS50cmVlSWRdKS5zdWJzY3JpYmUoKHRyZWUpID0+XG4gICAgICB0aGlzLl90cmVlJC5uZXh0KHRyZWUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJlZUNvbmZpZyQoKTogT2JzZXJ2YWJsZTxOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWVDb25maWckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5ZWROb2RlcyQoKTogT2JzZXJ2YWJsZTxOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXllZE5vZGVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJdGVtSWQoXzogbnVtYmVyLCBub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5vZGUuZGF0YS5pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZWZhdWx0UGFkZGluZygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy5ub2RlUGFkZGluZyA/PyAyMDtcbiAgfVxuXG4gIHB1YmxpYyBleHBhbmQobm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGUpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgaWYgKHRyZWVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24odHJlZUlkLCBub2RlLmRhdGEuaWQpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY29sbGFwc2Uobm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGUpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgaWYgKHRyZWVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21Db2xsYXBzZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbih0cmVlSWQsIG5vZGUuZGF0YS5pZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRDb21wb25lbnREZXNjcmlwdGlvbkFjdGlvbihub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZSk6IE5nc3NtQ29tcG9uZW50QWN0aW9uIHtcbiAgICByZXR1cm4gKGM6IE5nc3NtRXhwcmVzc2lvblRyZWVEZXNjcmlwdGlvbkNvbXBvbmVudCkgPT4gYy5zZXROb2RlKG5vZGUpO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgY2xhc3M9XCJmbGV4LWNvbHVtbi1zdHJldGNoIGZ4RmxleCBuZ3NzbS1leHByZXNzaW9uLXRyZWVcIj5cbiAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImZsZXgtY29sdW1uLXN0cmV0Y2ggZnhGbGV4IG5nc3NtLWV4cHJlc3Npb24tdHJlZS1jb250ZW50XCJcbiAgICAgICAgKm5nSWY9XCIodHJlZUNvbmZpZyQgfCBhc3luYykgYXMgdHJlZUNvbmZpZ1wiPlxuICAgICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IFtpdGVtU2l6ZV09XCJ0cmVlQ29uZmlnLnJvd1NpemUgPz8gMzBcIiBjbGFzcz1cImZ4RmxleFwiXG4gICAgICAgICAgICAqbmdJZj1cInRyZWVDb25maWcuZGlzYWJsZVZpcnR1YWxpemF0aW9uICE9PSB0cnVlXCI+XG4gICAgICAgICAgICA8ZGl2ICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheWVkTm9kZXMkIHwgYXN5bmM7IHRyYWNrQnk6IGdldEl0ZW1JZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZVwiIGlkPVwie3snbm9kZV8nICsgaXRlbS5kYXRhLmlkfX1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRlbXBsYXRlO2NvbnRleHQ6IHt0cmVlQ29uZmlnLCBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGVzLWNvbnRhaW5lclwiICpuZ0lmPVwidHJlZUNvbmZpZy5kaXNhYmxlVmlydHVhbGl6YXRpb24gPT09IHRydWVcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheWVkTm9kZXMkIHwgYXN5bmM7IHRyYWNrQnk6IGdldEl0ZW1JZFwiIGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGVcIlxuICAgICAgICAgICAgICAgIGlkPVwie3snbm9kZV8nICsgaXRlbS5kYXRhLmlkfX1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZVRlbXBsYXRlO2NvbnRleHQ6IHt0cmVlQ29uZmlnLCBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbjwvbWF0LWNhcmQ+XG5cbjxuZy10ZW1wbGF0ZSAjbm9kZVRlbXBsYXRlIGxldC10cmVlQ29uZmlnPVwidHJlZUNvbmZpZ1wiIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LXJvdy1jZW50ZXIgZnhGbGV4XCIgW3N0eWxlLmhlaWdodC5weF09XCJ0cmVlQ29uZmlnLnJvd1NpemUgPz8gMzBcIj5cbiAgICAgICAgPG1hdC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCIgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kaXZpZGVyXCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwidHJlZUNvbmZpZy5yb3dTaXplID8/IDMwXCIgKm5nRm9yPVwibGV0IHBhcnQgb2YgaXRlbS5wYXRoXCJcbiAgICAgICAgICAgIFtzdHlsZS5tYXJnaW4tcmlnaHQucHhdPVwiZ2V0RGVmYXVsdFBhZGRpbmcoKVwiPlxuICAgICAgICA8L21hdC1kaXZpZGVyPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ7e3RyZWVDb25maWcuZXhwYW5kSWNvbkNsYXNzfX1cIlxuICAgICAgICAgICAgKm5nSWY9XCIoaXRlbS5kYXRhLmlzRXhwYW5kYWJsZSB8fCBpdGVtLmRhdGEuaGFzUm93RGV0YWlsKSAmJiBpdGVtLmlzRXhwYW5kZWQgPT09IGZhbHNlXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7ZXhwYW5kKGl0ZW0pO1wiIGlkPVwiZXhwYW5kSWNvblwiPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJ7e3RyZWVDb25maWcuY29sbGFwc2VJY29uQ2xhc3N9fVwiXG4gICAgICAgICAgICAqbmdJZj1cIihpdGVtLmRhdGEuaXNFeHBhbmRhYmxlIHx8IGl0ZW0uZGF0YS5oYXNSb3dEZXRhaWwpICYmIGl0ZW0uaXNFeHBhbmRlZCA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO2NvbGxhcHNlKGl0ZW0pO1wiIGlkPVwiY29sbGFwc2VJY29uXCI+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1sYWJlbFwiPlxuICAgICAgICAgICAge3t0cmVlQ29uZmlnLmdldE5vZGVMYWJlbD8uKGl0ZW0pfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXNjcmlwdGlvblwiIFtpbm5lckhUTUxdPVwidHJlZUNvbmZpZy5nZXROb2RlRGVzY3JpcHRpb24/LihpdGVtKVwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRlc2NyaXB0aW9uLWNvbXBvbmVudFwiXG4gICAgICAgICAgICBbbmdzc21Db21wb25lbnREaXNwbGF5XT1cInRyZWVDb25maWcuZ2V0Tm9kZURlc2NyaXB0aW9uQ29tcG9uZW50Py4oaXRlbSlcIlxuICAgICAgICAgICAgW25nc3NtQ29tcG9uZW50QWN0aW9uXT1cImdldENvbXBvbmVudERlc2NyaXB0aW9uQWN0aW9uKGl0ZW0pXCI+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIml0ZW0uZGF0YS5oYXNSb3dEZXRhaWwgPT09IHRydWUgJiYgaXRlbS5pc0V4cGFuZGVkID09PSB0cnVlXCIgY2xhc3M9XCJmbGV4LXJvdy1jZW50ZXIgZnhGbGV4XCI+XG4gICAgICAgIDxtYXQtZGl2aWRlciBbdmVydGljYWxdPVwidHJ1ZVwiIGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGl2aWRlclwiXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImRldGFpbENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHRcIiAqbmdGb3I9XCIgbGV0IHBhcnQgb2YgaXRlbS5wYXRoXCJcbiAgICAgICAgICAgIFtzdHlsZS5tYXJnaW4tcmlnaHQucHhdPVwiZ2V0RGVmYXVsdFBhZGRpbmcoKVwiPlxuICAgICAgICA8L21hdC1kaXZpZGVyPlxuICAgICAgICA8ZGl2ICNkZXRhaWxDb250YWluZXIgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWwtY29tcG9uZW50XCI+XG4gICAgICAgICAgICA8ZGl2IFtuZ3NzbUNvbXBvbmVudERpc3BsYXldPVwidHJlZUNvbmZpZy5nZXROb2RlRGV0YWlsQ29tcG9uZW50Py4oaXRlbSlcIlxuICAgICAgICAgICAgICAgIFtuZ3NzbUNvbXBvbmVudEFjdGlvbl09XCJnZXRDb21wb25lbnREZXNjcmlwdGlvbkFjdGlvbihpdGVtKVwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBNEIsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxjQUFjLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFHcEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdELE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvRUFB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ZUFBZSwyakJBQ2YsYUFBYSwwTkFDYixnQkFBZ0Isa0lBQ2hCLGFBQWEsb0xBQ2IsZ0NBQWdDLHlHQUNoQyx1Q0FBdUM7MkZBTTlCLDRCQUE0QjtrQkFoQnhDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZ0NBQWdDO3dCQUNoQyx1Q0FBdUM7cUJBQ3hDLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzRIQTZCM0IsVUFBVTtzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOZ1NzbUNvbXBvbmVudCwgU3RvcmUgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWUsIE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcsIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlIH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUnO1xuaW1wb3J0IHsgTmdzc21Db2xsYXBzZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiwgTmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24gfSBmcm9tICcuLi8uLi9hY3Rpb25zJztcbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUvbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHMvbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1leHByZXNzaW9uLXRyZWUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZUNvbXBvbmVudCxcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZURldGFpbHNDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25nc3NtLWV4cHJlc3Npb24tdHJlZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOZ3NzbUV4cHJlc3Npb25UcmVlQ29tcG9uZW50IGV4dGVuZHMgTmdTc21Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF90cmVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tmdzc21FeHByZXNzaW9uVHJlZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzcGxheWVkTm9kZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyZWVDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX3RyZWVTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKHN0b3JlKTtcblxuICAgIHRoaXMuX3RyZWUkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSkuc3Vic2NyaWJlKCh0cmVlKSA9PiB7XG4gICAgICBjb25zdCBkaXNwbGF5ZWROb2RlczogTmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXSA9IFtdO1xuICAgICAgY29uc3QgY29sbGFwc2VkTm9kZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgICh0cmVlPy5ub2RlcyA/PyBbXSkuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICBpZiAobm9kZS5kYXRhLmlzRXhwYW5kYWJsZSA9PT0gdHJ1ZSAmJiBub2RlLmlzRXhwYW5kZWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgY29sbGFwc2VkTm9kZXMuYWRkKG5vZGUuZGF0YS5pZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW5vZGUuZGF0YS5wYXJlbnRJZCB8fCBub2RlLnBhdGguZmluZEluZGV4KChwKSA9PiBjb2xsYXBzZWROb2Rlcy5oYXMocCkpID09PSAtMSkge1xuICAgICAgICAgIGRpc3BsYXllZE5vZGVzLnB1c2gobm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9kaXNwbGF5ZWROb2RlcyQubmV4dChkaXNwbGF5ZWROb2Rlcyk7XG4gICAgfSk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHRyZWVDb25maWcodmFsdWU6IE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdHJlZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLl90cmVlQ29uZmlnJC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlnOiBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnID0ge1xuICAgICAgLi4udmFsdWVcbiAgICB9O1xuICAgIGlmICghY29uZmlnLmdldE5vZGVMYWJlbCkge1xuICAgICAgY29uZmlnLmdldE5vZGVMYWJlbCA9IChub2RlKSA9PiBub2RlLmRhdGEuaWQ7XG4gICAgfVxuXG4gICAgaWYgKCFjb25maWcuZXhwYW5kSWNvbkNsYXNzKSB7XG4gICAgICBjb25maWcuZXhwYW5kSWNvbkNsYXNzID0gJ2ZhLXNvbGlkIGZhLWNoZXZyb24tcmlnaHQnO1xuICAgIH1cblxuICAgIGlmICghY29uZmlnLmNvbGxhcHNlSWNvbkNsYXNzKSB7XG4gICAgICBjb25maWcuY29sbGFwc2VJY29uQ2xhc3MgPSAnZmEtc29saWQgZmEtY2hldnJvbi1kb3duJztcbiAgICB9XG5cbiAgICB0aGlzLl90cmVlQ29uZmlnJC5uZXh0KGNvbmZpZyk7XG4gICAgdGhpcy5fdHJlZVN1YnNjcmlwdGlvbiA9IHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzKS50cmVlc1t2YWx1ZS50cmVlSWRdKS5zdWJzY3JpYmUoKHRyZWUpID0+XG4gICAgICB0aGlzLl90cmVlJC5uZXh0KHRyZWUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJlZUNvbmZpZyQoKTogT2JzZXJ2YWJsZTxOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWVDb25maWckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5ZWROb2RlcyQoKTogT2JzZXJ2YWJsZTxOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXllZE5vZGVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJdGVtSWQoXzogbnVtYmVyLCBub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5vZGUuZGF0YS5pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZWZhdWx0UGFkZGluZygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy5ub2RlUGFkZGluZyA/PyAyMDtcbiAgfVxuXG4gIHB1YmxpYyBleHBhbmQobm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGUpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgaWYgKHRyZWVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24odHJlZUlkLCBub2RlLmRhdGEuaWQpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY29sbGFwc2Uobm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGUpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgaWYgKHRyZWVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21Db2xsYXBzZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbih0cmVlSWQsIG5vZGUuZGF0YS5pZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmb3JjZVJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwiZmxleC1jb2x1bW4tc3RyZXRjaCBmeEZsZXggbmdzc20tZXhwcmVzc2lvbi10cmVlXCI+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJmbGV4LWNvbHVtbi1zdHJldGNoIGZ4RmxleCBuZ3NzbS1leHByZXNzaW9uLXRyZWUtY29udGVudFwiXG4gICAgICAgICpuZ0lmPVwiKHRyZWVDb25maWckIHwgYXN5bmMpIGFzIHRyZWVDb25maWdcIj5cbiAgICAgICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBbaXRlbVNpemVdPVwidHJlZUNvbmZpZy5yb3dTaXplID8/IDMwXCIgY2xhc3M9XCJmeEZsZXhcIlxuICAgICAgICAgICAgKm5nSWY9XCJ0cmVlQ29uZmlnLmRpc2FibGVWaXJ0dWFsaXphdGlvbiAhPT0gdHJ1ZVwiPlxuICAgICAgICAgICAgPGRpdiAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIGRpc3BsYXllZE5vZGVzJCB8IGFzeW5jOyB0cmFja0J5OiBnZXRJdGVtSWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGVcIiBpZD1cInt7J25vZGVfJyArIGl0ZW0uZGF0YS5pZH19XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVUZW1wbGF0ZTtjb250ZXh0OiB7dHJlZUNvbmZpZywgaXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2Rlcy1jb250YWluZXJcIiAqbmdJZj1cInRyZWVDb25maWcuZGlzYWJsZVZpcnR1YWxpemF0aW9uID09PSB0cnVlXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXllZE5vZGVzJCB8IGFzeW5jOyB0cmFja0J5OiBnZXRJdGVtSWRcIiBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlXCJcbiAgICAgICAgICAgICAgICBpZD1cInt7J25vZGVfJyArIGl0ZW0uZGF0YS5pZH19XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVUZW1wbGF0ZTtjb250ZXh0OiB7dHJlZUNvbmZpZywgaXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuXG48bmctdGVtcGxhdGUgI25vZGVUZW1wbGF0ZSBsZXQtdHJlZUNvbmZpZz1cInRyZWVDb25maWdcIiBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1yb3ctY2VudGVyIGZ4RmxleFwiIFtzdHlsZS5oZWlnaHQucHhdPVwidHJlZUNvbmZpZy5yb3dTaXplID8/IDMwXCI+XG4gICAgICAgIDxtYXQtZGl2aWRlciBbdmVydGljYWxdPVwidHJ1ZVwiIGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGl2aWRlclwiXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInRyZWVDb25maWcucm93U2l6ZSA/PyAzMFwiICpuZ0Zvcj1cImxldCBwYXJ0IG9mIGl0ZW0ucGF0aFwiXG4gICAgICAgICAgICBbc3R5bGUubWFyZ2luLXJpZ2h0LnB4XT1cImdldERlZmF1bHRQYWRkaW5nKClcIj5cbiAgICAgICAgPC9tYXQtZGl2aWRlcj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwie3t0cmVlQ29uZmlnLmV4cGFuZEljb25DbGFzc319XCJcbiAgICAgICAgICAgICpuZ0lmPVwiKGl0ZW0uZGF0YS5pc0V4cGFuZGFibGUgfHwgaXRlbS5kYXRhLmhhc1Jvd0RldGFpbCkgJiYgaXRlbS5pc0V4cGFuZGVkID09PSBmYWxzZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO2V4cGFuZChpdGVtKTtcIiBpZD1cImV4cGFuZEljb25cIj5cbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwie3t0cmVlQ29uZmlnLmNvbGxhcHNlSWNvbkNsYXNzfX1cIlxuICAgICAgICAgICAgKm5nSWY9XCIoaXRlbS5kYXRhLmlzRXhwYW5kYWJsZSB8fCBpdGVtLmRhdGEuaGFzUm93RGV0YWlsKSAmJiBpdGVtLmlzRXhwYW5kZWQgPT09IHRydWVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtjb2xsYXBzZShpdGVtKTtcIiBpZD1cImNvbGxhcHNlSWNvblwiPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8bmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUgW25vZGVJZF09XCJpdGVtLmRhdGEuaWRcIiBbdHJlZUNvbmZpZ109XCJ0cmVlQ29uZmlnXCI+XG4gICAgICAgIDwvbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIml0ZW0uZGF0YS5oYXNSb3dEZXRhaWwgPT09IHRydWUgJiYgaXRlbS5pc0V4cGFuZGVkID09PSB0cnVlXCIgY2xhc3M9XCJmbGV4LXJvdy1jZW50ZXIgZnhGbGV4XCI+XG4gICAgICAgIDxtYXQtZGl2aWRlciBbdmVydGljYWxdPVwidHJ1ZVwiIGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGl2aWRlclwiXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImRldGFpbENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHRcIiAqbmdGb3I9XCIgbGV0IHBhcnQgb2YgaXRlbS5wYXRoXCJcbiAgICAgICAgICAgIFtzdHlsZS5tYXJnaW4tcmlnaHQucHhdPVwiZ2V0RGVmYXVsdFBhZGRpbmcoKVwiPlxuICAgICAgICA8L21hdC1kaXZpZGVyPlxuXG4gICAgICAgIDxkaXYgI2RldGFpbENvbnRhaW5lciBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbC1jb21wb25lbnRcIj5cbiAgICAgICAgICAgIDxuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzIFtub2RlSWRdPVwiaXRlbS5kYXRhLmlkXCIgW3RyZWVDb25maWddPVwidHJlZUNvbmZpZ1wiIChoZWlnaHRDaGFuZ2VkKT1cImZvcmNlUmVmcmVzaCgpXCI+XG4gICAgICAgICAgICA8L25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHM+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -0,0 +1,88 @@
1
+ import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { BehaviorSubject, Subject, combineLatest, take, takeUntil } from 'rxjs';
4
+ import { NgSsmComponent } from 'ngssm-store';
5
+ import { NgssmComponentDisplayDirective } from 'ngssm-toolkit';
6
+ import { selectNgssmExpressionTreeState } from '../../state';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "ngssm-store";
9
+ import * as i2 from "@angular/common";
10
+ export class NgssmExpressionTreeNodeComponent extends NgSsmComponent {
11
+ constructor(store) {
12
+ super(store);
13
+ this._nodeId$ = new Subject();
14
+ this._treeConfig$ = new Subject();
15
+ this._nodeLabel$ = new BehaviorSubject('');
16
+ this._nodeDescription$ = new BehaviorSubject(undefined);
17
+ this._nodeData$ = new BehaviorSubject(undefined);
18
+ this._componentAction$ = new BehaviorSubject(undefined);
19
+ this._componentToDisplay$ = new BehaviorSubject(undefined);
20
+ this.initialized = false;
21
+ combineLatest([this._nodeId$, this._treeConfig$])
22
+ .pipe(take(1))
23
+ .subscribe((values) => {
24
+ this.initialized = true;
25
+ this.listenToData(values[1].treeId, values[0]);
26
+ this.listenToNodeData(values[1], values[0]);
27
+ this._componentAction$.next((c) => c.setup(values[1].treeId, values[0]));
28
+ this._componentToDisplay$.next(values[1].nodeDescriptionComponent);
29
+ });
30
+ }
31
+ set nodeId(value) {
32
+ if (!value) {
33
+ return;
34
+ }
35
+ if (this.initialized) {
36
+ throw new Error('Component NgssmExpressionTreeNodeComponent is already initialized.');
37
+ }
38
+ this._nodeId$.next(value);
39
+ }
40
+ set treeConfig(value) {
41
+ if (!value) {
42
+ return;
43
+ }
44
+ if (this.initialized) {
45
+ throw new Error('Component NgssmExpressionTreeNodeComponent is already initialized.');
46
+ }
47
+ this._treeConfig$.next(value);
48
+ }
49
+ get nodeLabel$() {
50
+ return this._nodeLabel$.asObservable();
51
+ }
52
+ get nodeDescription$() {
53
+ return this._nodeDescription$.asObservable();
54
+ }
55
+ get componentAction$() {
56
+ return this._componentAction$.asObservable();
57
+ }
58
+ get componentToDisplay$() {
59
+ return this._componentToDisplay$.asObservable();
60
+ }
61
+ listenToData(treeId, nodeId) {
62
+ this.watch((s) => selectNgssmExpressionTreeState(s).trees[treeId].data[nodeId]).subscribe((data) => {
63
+ this._nodeData$.next(data);
64
+ });
65
+ }
66
+ listenToNodeData(treeConfig, nodeId) {
67
+ combineLatest([this._nodeData$, this.watch((s) => selectNgssmExpressionTreeState(s).trees[treeConfig.treeId].nodes)])
68
+ .pipe(takeUntil(this.unsubscribeAll$))
69
+ .subscribe((values) => {
70
+ const node = values[1].find((v) => v.data.id === nodeId);
71
+ if (node) {
72
+ this._nodeLabel$.next(treeConfig.getNodeLabel?.(node, values[0]) ?? '');
73
+ this._nodeDescription$.next(treeConfig.getNodeDescription?.(node, values[0]));
74
+ }
75
+ });
76
+ }
77
+ }
78
+ NgssmExpressionTreeNodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: NgssmExpressionTreeNodeComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component });
79
+ NgssmExpressionTreeNodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: NgssmExpressionTreeNodeComponent, isStandalone: true, selector: "ngssm-expression-tree-node", inputs: { nodeId: "nodeId", treeConfig: "treeConfig" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ngssm-expression-tree-node-label\">\n {{nodeLabel$ | async}}\n</div>\n<div class=\"ngssm-expression-tree-node-description\" [innerHTML]=\"nodeDescription$ | async\">\n</div>\n<div class=\"ngssm-expression-tree-node-description-component\" [ngssmComponentDisplay]=\"componentToDisplay$ | async\"\n [ngssmComponentAction]=\"componentAction$ | async\">\n</div>", styles: [":host{display:flex;flex-direction:row;align-items:center;flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "directive", type: NgssmComponentDisplayDirective, selector: "[ngssmComponentDisplay]", inputs: ["ngssmComponentDisplay", "ngssmComponentAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: NgssmExpressionTreeNodeComponent, decorators: [{
81
+ type: Component,
82
+ args: [{ selector: 'ngssm-expression-tree-node', standalone: true, imports: [CommonModule, NgssmComponentDisplayDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ngssm-expression-tree-node-label\">\n {{nodeLabel$ | async}}\n</div>\n<div class=\"ngssm-expression-tree-node-description\" [innerHTML]=\"nodeDescription$ | async\">\n</div>\n<div class=\"ngssm-expression-tree-node-description-component\" [ngssmComponentDisplay]=\"componentToDisplay$ | async\"\n [ngssmComponentAction]=\"componentAction$ | async\">\n</div>", styles: [":host{display:flex;flex-direction:row;align-items:center;flex:1}\n"] }]
83
+ }], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { nodeId: [{
84
+ type: Input
85
+ }], treeConfig: [{
86
+ type: Input
87
+ }] } });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9jb21wb25lbnRzL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUYsT0FBTyxFQUFFLGNBQWMsRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUNwRCxPQUFPLEVBQXdCLDhCQUE4QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3JGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQVU3RCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsY0FBYztJQVdsRSxZQUFZLEtBQVk7UUFDdEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBWEUsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDakMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBNkIsQ0FBQztRQUN4RCxnQkFBVyxH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OEIsQ0FBQyxtQkFHdEMsdUJBQXVCLENBQUMsTUFBTTs0RkE0QjNCLE1BQU07c0JBQXpCLEtBQUs7Z0JBWWMsVUFBVTtzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdTc21Db21wb25lbnQsIFN0b3JlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuaW1wb3J0IHsgTmdzc21Db21wb25lbnRBY3Rpb24sIE5nc3NtQ29tcG9uZW50RGlzcGxheURpcmVjdGl2ZSB9IGZyb20gJ25nc3NtLXRvb2xraXQnO1xuXG5pbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnLCBOZ3NzbUV4cHJlc3Npb25UcmVlQ3VzdG9tQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nc3NtQ29tcG9uZW50RGlzcGxheURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlQ29tcG9uZW50IGV4dGVuZHMgTmdTc21Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9ub2RlSWQkID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90cmVlQ29uZmlnJCA9IG5ldyBTdWJqZWN0PE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWc+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25vZGVMYWJlbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ub2RlRGVzY3JpcHRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25vZGVEYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb21wb25lbnRBY3Rpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUNvbXBvbmVudEFjdGlvbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50VG9EaXNwbGF5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihzdG9yZTogU3RvcmUpIHtcbiAgICBzdXBlcihzdG9yZSk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9ub2RlSWQkLCB0aGlzLl90cmVlQ29uZmlnJF0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmxpc3RlblRvRGF0YSh2YWx1ZXNbMV0udHJlZUlkLCB2YWx1ZXNbMF0pO1xuICAgICAgICB0aGlzLmxpc3RlblRvTm9kZURhdGEodmFsdWVzWzFdLCB2YWx1ZXNbMF0pO1xuXG4gICAgICAgIHRoaXMuX2NvbXBvbmVudEFjdGlvbiQubmV4dCgoYzogTmdzc21FeHByZXNzaW9uVHJlZUN1c3RvbUNvbXBvbmVudCkgPT4gYy5zZXR1cCh2YWx1ZXNbMV0udHJlZUlkLCB2YWx1ZXNbMF0pKTtcbiAgICAgICAgdGhpcy5fY29tcG9uZW50VG9EaXNwbGF5JC5uZXh0KHZhbHVlc1sxXS5ub2RlRGVzY3JpcHRpb25Db21wb25lbnQpO1xuICAgICAgfSk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IG5vZGVJZCh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb21wb25lbnQgTmdzc21FeHByZXNzaW9uVHJlZU5vZGVDb21wb25lbnQgaXMgYWxyZWFkeSBpbml0aWFsaXplZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9ub2RlSWQkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCB0cmVlQ29uZmlnKHZhbHVlOiBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb21wb25lbnQgTmdzc21FeHByZXNzaW9uVHJlZU5vZGVDb21wb25lbnQgaXMgYWxyZWFkeSBpbml0aWFsaXplZC4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl90cmVlQ29uZmlnJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbm9kZUxhYmVsJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9ub2RlTGFiZWwkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBub2RlRGVzY3JpcHRpb24kKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGVEZXNjcmlwdGlvbiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudEFjdGlvbiQoKTogT2JzZXJ2YWJsZTxOZ3NzbUNvbXBvbmVudEFjdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRBY3Rpb24kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb21wb25lbnRUb0Rpc3BsYXkkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFRvRGlzcGxheSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvRGF0YSh0cmVlSWQ6IHN0cmluZywgbm9kZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLndhdGNoKChzKSA9PiBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUocykudHJlZXNbdHJlZUlkXS5kYXRhW25vZGVJZF0pLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5fbm9kZURhdGEkLm5leHQoZGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvTm9kZURhdGEodHJlZUNvbmZpZzogTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZywgbm9kZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9ub2RlRGF0YSQsIHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzKS50cmVlc1t0cmVlQ29uZmlnLnRyZWVJZF0ubm9kZXMpXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHZhbHVlc1sxXS5maW5kKCh2KSA9PiB2LmRhdGEuaWQgPT09IG5vZGVJZCk7XG4gICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgdGhpcy5fbm9kZUxhYmVsJC5uZXh0KHRyZWVDb25maWcuZ2V0Tm9kZUxhYmVsPy4obm9kZSwgdmFsdWVzWzBdKSA/PyAnJyk7XG4gICAgICAgICAgdGhpcy5fbm9kZURlc2NyaXB0aW9uJC5uZXh0KHRyZWVDb25maWcuZ2V0Tm9kZURlc2NyaXB0aW9uPy4obm9kZSwgdmFsdWVzWzBdKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtbGFiZWxcIj5cbiAgICB7e25vZGVMYWJlbCQgfCBhc3luY319XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXNjcmlwdGlvblwiIFtpbm5lckhUTUxdPVwibm9kZURlc2NyaXB0aW9uJCB8IGFzeW5jXCI+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXNjcmlwdGlvbi1jb21wb25lbnRcIiBbbmdzc21Db21wb25lbnREaXNwbGF5XT1cImNvbXBvbmVudFRvRGlzcGxheSQgfCBhc3luY1wiXG4gICAgW25nc3NtQ29tcG9uZW50QWN0aW9uXT1cImNvbXBvbmVudEFjdGlvbiQgfCBhc3luY1wiPlxuPC9kaXY+Il19
@@ -0,0 +1,67 @@
1
+ import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { BehaviorSubject, Subject, combineLatest, take } from 'rxjs';
4
+ import { NgSsmComponent } from 'ngssm-store';
5
+ import { NgssmComponentDisplayDirective } from 'ngssm-toolkit';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "ngssm-store";
8
+ import * as i2 from "@angular/common";
9
+ export class NgssmExpressionTreeNodeDetailsComponent extends NgSsmComponent {
10
+ constructor(store, elementRef) {
11
+ super(store);
12
+ this.elementRef = elementRef;
13
+ this._nodeId$ = new Subject();
14
+ this._treeConfig$ = new Subject();
15
+ this._componentAction$ = new BehaviorSubject(undefined);
16
+ this._componentToDisplay$ = new BehaviorSubject(undefined);
17
+ this.initialized = false;
18
+ this.heightChanged = new EventEmitter();
19
+ combineLatest([this._nodeId$, this._treeConfig$])
20
+ .pipe(take(1))
21
+ .subscribe((values) => {
22
+ this.initialized = true;
23
+ this._componentAction$.next((c) => c.setup(values[1].treeId, values[0]));
24
+ this._componentToDisplay$.next(values[1].nodeDetailComponent);
25
+ setTimeout(() => {
26
+ this.heightChanged.emit(this.elementRef?.nativeElement.getBoundingClientRect().height ?? 0);
27
+ });
28
+ });
29
+ }
30
+ set nodeId(value) {
31
+ if (!value) {
32
+ return;
33
+ }
34
+ if (this.initialized) {
35
+ throw new Error('Component NgssmExpressionTreeNodeDetailsComponent is already initialized.');
36
+ }
37
+ this._nodeId$.next(value);
38
+ }
39
+ set treeConfig(value) {
40
+ if (!value) {
41
+ return;
42
+ }
43
+ if (this.initialized) {
44
+ throw new Error('Component NgssmExpressionTreeNodeDetailsComponent is already initialized.');
45
+ }
46
+ this._treeConfig$.next(value);
47
+ }
48
+ get componentAction$() {
49
+ return this._componentAction$.asObservable();
50
+ }
51
+ get componentToDisplay$() {
52
+ return this._componentToDisplay$.asObservable();
53
+ }
54
+ }
55
+ NgssmExpressionTreeNodeDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: NgssmExpressionTreeNodeDetailsComponent, deps: [{ token: i1.Store }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
56
+ NgssmExpressionTreeNodeDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.6", type: NgssmExpressionTreeNodeDetailsComponent, isStandalone: true, selector: "ngssm-expression-tree-node-details", inputs: { nodeId: "nodeId", treeConfig: "treeConfig" }, outputs: { heightChanged: "heightChanged" }, usesInheritance: true, ngImport: i0, template: "<div [ngssmComponentDisplay]=\"componentToDisplay$ | async\" [ngssmComponentAction]=\"componentAction$ | async\"></div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "directive", type: NgssmComponentDisplayDirective, selector: "[ngssmComponentDisplay]", inputs: ["ngssmComponentDisplay", "ngssmComponentAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: NgssmExpressionTreeNodeDetailsComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'ngssm-expression-tree-node-details', standalone: true, imports: [CommonModule, NgssmComponentDisplayDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngssmComponentDisplay]=\"componentToDisplay$ | async\" [ngssmComponentAction]=\"componentAction$ | async\"></div>" }]
60
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i0.ElementRef }]; }, propDecorators: { heightChanged: [{
61
+ type: Output
62
+ }], nodeId: [{
63
+ type: Input
64
+ }], treeConfig: [{
65
+ type: Input
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL2NvbXBvbmVudHMvbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQWMsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUU1RixPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBd0IsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFhckYsTUFBTSxPQUFPLHVDQUF3QyxTQUFRLGNBQWM7SUFVekUsWUFBWSxLQUFZLEVBQVUsVUFBc0I7UUFDdEQsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRG1CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFUdkMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDakMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBNkIsQ0FBQztRQUN4RCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBbUMsU0FBUyxDQUFDLENBQUM7UUFDckYseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQU0sU0FBUyxDQUFDLENBQUM7UUFFcEUsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFWCxrQkFBYSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBS2hGLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUV4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBcUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0csSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUM5RCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzlGLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBb0IsTUFBTSxDQUFDLEtBQWdDO1FBQ3pELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO1NBQzlGO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQW9CLFVBQVUsQ0FBQyxLQUFtRDtRQUNoRixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkVBQTJFLENBQUMsQ0FBQztTQUM5RjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsQ0FBQzs7b0lBeERVLHVDQUF1Qzt3SEFBdkMsdUNBQXVDLDBOQ2xCcEQseUhBQW1ILHlERGF2RyxZQUFZLG9GQUFFLDhCQUE4QjsyRkFLM0MsdUNBQXVDO2tCQVJuRCxTQUFTOytCQUNFLG9DQUFvQyxjQUNsQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsOEJBQThCLENBQUMsbUJBR3RDLHVCQUF1QixDQUFDLE1BQU07cUhBVTlCLGFBQWE7c0JBQTdCLE1BQU07Z0JBa0JhLE1BQU07c0JBQXpCLEtBQUs7Z0JBWWMsVUFBVTtzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBFbGVtZW50UmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgY29tYmluZUxhdGVzdCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5nU3NtQ29tcG9uZW50LCBTdG9yZSB9IGZyb20gJ25nc3NtLXN0b3JlJztcbmltcG9ydCB7IE5nc3NtQ29tcG9uZW50QWN0aW9uLCBOZ3NzbUNvbXBvbmVudERpc3BsYXlEaXJlY3RpdmUgfSBmcm9tICduZ3NzbS10b29sa2l0JztcblxuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZywgTmdzc21FeHByZXNzaW9uVHJlZUN1c3RvbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vZGVsJztcbmltcG9ydCB7IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nc3NtQ29tcG9uZW50RGlzcGxheURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZURldGFpbHNDb21wb25lbnQgZXh0ZW5kcyBOZ1NzbUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25vZGVJZCQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyZWVDb25maWckID0gbmV3IFN1YmplY3Q8Tmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50QWN0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tmdzc21Db21wb25lbnRBY3Rpb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudFRvRGlzcGxheSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBoZWlnaHRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoc3RvcmUpO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fbm9kZUlkJCwgdGhpcy5fdHJlZUNvbmZpZyRdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLl9jb21wb25lbnRBY3Rpb24kLm5leHQoKGM6IE5nc3NtRXhwcmVzc2lvblRyZWVDdXN0b21Db21wb25lbnQpID0+IGMuc2V0dXAodmFsdWVzWzFdLnRyZWVJZCwgdmFsdWVzWzBdKSk7XG4gICAgICAgIHRoaXMuX2NvbXBvbmVudFRvRGlzcGxheSQubmV4dCh2YWx1ZXNbMV0ubm9kZURldGFpbENvbXBvbmVudCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaGVpZ2h0Q2hhbmdlZC5lbWl0KHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgPz8gMCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IG5vZGVJZCh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb21wb25lbnQgTmdzc21FeHByZXNzaW9uVHJlZU5vZGVEZXRhaWxzQ29tcG9uZW50IGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fbm9kZUlkJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdHJlZUNvbmZpZyh2YWx1ZTogTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29tcG9uZW50IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlRGV0YWlsc0NvbXBvbmVudCBpcyBhbHJlYWR5IGluaXRpYWxpemVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuX3RyZWVDb25maWckLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb21wb25lbnRBY3Rpb24kKCk6IE9ic2VydmFibGU8Tmdzc21Db21wb25lbnRBY3Rpb24gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50QWN0aW9uJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tcG9uZW50VG9EaXNwbGF5JCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRUb0Rpc3BsYXkkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iLCI8ZGl2IFtuZ3NzbUNvbXBvbmVudERpc3BsYXldPVwiY29tcG9uZW50VG9EaXNwbGF5JCB8IGFzeW5jXCIgW25nc3NtQ29tcG9uZW50QWN0aW9uXT1cImNvbXBvbmVudEFjdGlvbiQgfCBhc3luY1wiPjwvZGl2PiJdfQ==
@@ -2,5 +2,6 @@ export * from './ngssm-expression-tree';
2
2
  export * from './ngssm-expression-tree-node';
3
3
  export * from './ngssm-node';
4
4
  export * from './ngssm-expression-tree-config';
5
- export * from './ngssm-expression-tree-description-component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL21vZGVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZSc7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlJztcbmV4cG9ydCAqIGZyb20gJy4vbmdzc20tbm9kZSc7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtZGVzY3JpcHRpb24tY29tcG9uZW50JztcbiJdfQ==
5
+ export * from './ngssm-expression-tree-custom-component';
6
+ export * from './ngssm-expression-tree-data';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL21vZGVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlJztcbmV4cG9ydCAqIGZyb20gJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1ub2RlJztcbmV4cG9ydCAqIGZyb20gJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1jdXN0b20tY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLWRhdGEnO1xuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbW9kZWwvbmdzc20tZXhwcmVzc2lvbi10cmVlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZURlc2NyaXB0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtZGVzY3JpcHRpb24tY29tcG9uZW50JztcbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlIH0gZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZSc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwYXJhbWVlcnMgb2YgYW4gZXhwcmVzc2lvbiB0cmVlIGluc3RhbmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWc8VERhdGEgPSBhbnk+IHtcbiAgLyoqXG4gICAqIElkZW50aWZpZXIgb2YgdGhlIHRyZWUgdXNlZCB0byBhc3NvY2lhdGUgZGF0YSBzdG9yZWQgaW4gdGhlIHN0YXRlIHdpdGggdGhlIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICovXG4gIHRyZWVJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCBubyB2aXJ0dWFsaXphdGlvbiBpcyBhcHBsaWVkLlxuICAgKi9cbiAgZGlzYWJsZVZpcnR1YWxpemF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQmFzZSBsZWZ0IHBhZGRpbmcgZm9yIGEgIHJvdyBpbiBwaXhlbHMuXG4gICAqIFRoZSByZWFsIHBhZGRpbmcgaXMgdGhlIGRlcHRoIG9mIHRoZSBub2RlIG11bHRpcGxpZWQgYnkgdGhpcyB2YWx1ZS5cbiAgICogQnkgZGVmYXVsdCAyMHB4LlxuICAgKi9cbiAgbm9kZVBhZGRpbmc/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEhlaWdodCBvZiBhIHJvdyBpbiBwaXhlbHMuXG4gICAqIEJ5IGRlZmF1bHQgMzBweC5cbiAgICovXG4gIHJvd1NpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBjc3MgY2xhc3MgdXNlZCB0byByZW5kZXIgdGhlIGV4cGFuZCBpY29uLlxuICAgKiBCeSBkZWZhdWx0ICdmYS1zb2xpZCBmYS1jaGV2cm9uLXJpZ2h0J1xuICAgKi9cbiAgZXhwYW5kSWNvbkNsYXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY3NzIGNsYXNzIHVzZWQgdG8gcmVuZGVyIHRoZSBjb2xscGFzZSBpY29uLlxuICAgKiBCeSBkZWZhdWx0ICdmYS1zb2xpZCBmYS1jaGV2cm9uLWRvd24nXG4gICAqL1xuICBjb2xsYXBzZUljb25DbGFzcz86IHN0cmluZztcblxuICAvKipcbiAgICogR2V0IHRoZSBsYWJlbCBvZiB0aGUgbm9kZS5cbiAgICogQHBhcmFtIG5vZGVcbiAgICogQHJldHVybnMgVGhlIHN0cmluZyB2YWx1ZSBvZiB0aGUgbGFiZWxcbiAgICovXG4gIGdldE5vZGVMYWJlbD86IChub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZTxURGF0YT4pID0+IHN0cmluZztcblxuICAvKipcbiAgICogSHRtbCByZW5kZXJlZCBhdCB0aGUgcmlnaHQgb2YgdGhlIGxhYmVsIHRvIGRpc3BsYXkgYSBkZXNjcmlwdGlvbiBvZiB0aGUgbm9kZVxuICAgKiBAcGFyYW0gbm9kZVxuICAgKiBAcmV0dXJucyBUaGUgaHRtbCB1c2VkIHRvIHJlbmRlciB0aGUgbm9kZSBkZXNjcmlwdGlvblxuICAgKi9cbiAgZ2V0Tm9kZURlc2NyaXB0aW9uPzogKG5vZGU6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlPFREYXRhPikgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUbyByZW5kZXIgZGVzY3JpcHRpb24gb2YgYSBub2RlIGJ5IHVzaW5nIGEgY3VzdG9tIGFuZ3VsYXIgY29tcG9uZW50IGluc3RlYWQgb2Ygc2ltcGxlIGh0bWwuXG4gICAqIEBwYXJhbSBub2RlXG4gICAqIEByZXR1cm5zIFRoZSB0eXBlIG9mIHRoZSBjb21wb25lbnQgdG8gcmVuZGVyLiBJdCBtdXN0IGltcGxlbWVudCB7QGxpbmsgTmdzc21FeHByZXNzaW9uVHJlZURlc2NyaXB0aW9uQ29tcG9uZW50fS5cbiAgICovXG4gIGdldE5vZGVEZXNjcmlwdGlvbkNvbXBvbmVudD86IChub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZTxURGF0YT4pID0+IGFueTtcblxuICAvKipcbiAgICogVG8gcmVuZGVyIG5vZGUgZGV0YWlsIHdpdGggYSBjdXN0b20gYW5ndWxhciBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBub2RlXG4gICAqIEByZXR1cm5zIFRoZSB0eXBlIG9mIHRoZSBjb21wb25lbnQgdG8gcmVuZGVyLiBJdCBtdXN0IGltcGxlbWVudCB7QGxpbmsgTmdzc21FeHByZXNzaW9uVHJlZURlc2NyaXB0aW9uQ29tcG9uZW50fVxuICAgKi9cbiAgZ2V0Tm9kZURldGFpbENvbXBvbmVudD86IChub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZTxURGF0YT4pID0+IGFueTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbW9kZWwvbmdzc20tZXhwcmVzc2lvbi10cmVlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZUN1c3RvbUNvbXBvbmVudCB9IGZyb20gJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLWN1c3RvbS1jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZU5vZGUgfSBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHBhcmFtZWVycyBvZiBhbiBleHByZXNzaW9uIHRyZWUgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZzxURGF0YSA9IGFueT4ge1xuICAvKipcbiAgICogSWRlbnRpZmllciBvZiB0aGUgdHJlZSB1c2VkIHRvIGFzc29jaWF0ZSBkYXRhIHN0b3JlZCBpbiB0aGUgc3RhdGUgd2l0aCB0aGUgY29tcG9uZW50IGluc3RhbmNlLlxuICAgKi9cbiAgdHJlZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIG5vIHZpcnR1YWxpemF0aW9uIGlzIGFwcGxpZWQuXG4gICAqL1xuICBkaXNhYmxlVmlydHVhbGl6YXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBCYXNlIGxlZnQgcGFkZGluZyBmb3IgYSAgcm93IGluIHBpeGVscy5cbiAgICogVGhlIHJlYWwgcGFkZGluZyBpcyB0aGUgZGVwdGggb2YgdGhlIG5vZGUgbXVsdGlwbGllZCBieSB0aGlzIHZhbHVlLlxuICAgKiBCeSBkZWZhdWx0IDIwcHguXG4gICAqL1xuICBub2RlUGFkZGluZz86IG51bWJlcjtcblxuICAvKipcbiAgICogSGVpZ2h0IG9mIGEgcm93IGluIHBpeGVscy5cbiAgICogQnkgZGVmYXVsdCAzMHB4LlxuICAgKi9cbiAgcm93U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGNzcyBjbGFzcyB1c2VkIHRvIHJlbmRlciB0aGUgZXhwYW5kIGljb24uXG4gICAqIEJ5IGRlZmF1bHQgJ2ZhLXNvbGlkIGZhLWNoZXZyb24tcmlnaHQnXG4gICAqL1xuICBleHBhbmRJY29uQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjc3MgY2xhc3MgdXNlZCB0byByZW5kZXIgdGhlIGNvbGxwYXNlIGljb24uXG4gICAqIEJ5IGRlZmF1bHQgJ2ZhLXNvbGlkIGZhLWNoZXZyb24tZG93bidcbiAgICovXG4gIGNvbGxhcHNlSWNvbkNsYXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxhYmVsIG9mIHRoZSBub2RlLlxuICAgKiBAcGFyYW0gbm9kZVxuICAgKiBAcGFyYW0gZGF0YSBUaGUgY3VycmVudCBkYXRhIHRvIGJlIHJlbmRlcmVkIGJ5IHRoZSBub2RlXG4gICAqIEByZXR1cm5zIFRoZSBzdHJpbmcgdmFsdWUgb2YgdGhlIGxhYmVsXG4gICAqL1xuICBnZXROb2RlTGFiZWw/OiAobm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGU8VERhdGE+LCBkYXRhOiBURGF0YSkgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIdG1sIHJlbmRlcmVkIGF0IHRoZSByaWdodCBvZiB0aGUgbGFiZWwgdG8gZGlzcGxheSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBub2RlXG4gICAqIEBwYXJhbSBub2RlXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBjdXJyZW50IGRhdGEgdG8gYmUgcmVuZGVyZWQgYnkgdGhlIG5vZGVcbiAgICogQHJldHVybnMgVGhlIGh0bWwgdXNlZCB0byByZW5kZXIgdGhlIG5vZGUgZGVzY3JpcHRpb25cbiAgICovXG4gIGdldE5vZGVEZXNjcmlwdGlvbj86IChub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZTxURGF0YT4sIGRhdGE6IFREYXRhKSA9PiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRvIHJlbmRlciBkZXNjcmlwdGlvbiBvZiBhIG5vZGUgYnkgdXNpbmcgYSBjdXN0b20gYW5ndWxhciBjb21wb25lbnQgaW5zdGVhZCBvZiBzaW1wbGUgaHRtbC5cbiAgICogSXQgbXVzdCBpbXBsZW1lbnQge0BsaW5rIE5nc3NtRXhwcmVzc2lvblRyZWVDdXN0b21Db21wb25lbnR9LlxuICAgKi9cbiAgbm9kZURlc2NyaXB0aW9uQ29tcG9uZW50PzogYW55O1xuXG4gIC8qKlxuICAgKiBUbyByZW5kZXIgbm9kZSBkZXRhaWwgd2l0aCBhIGN1c3RvbSBhbmd1bGFyIGNvbXBvbmVudC5cbiAgICogSXQgbXVzdCBpbXBsZW1lbnQge0BsaW5rIE5nc3NtRXhwcmVzc2lvblRyZWVDdXN0b21Db21wb25lbnR9XG4gICAqL1xuICBub2RlRGV0YWlsQ29tcG9uZW50PzogYW55O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLWN1c3RvbS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL21vZGVsL25nc3NtLWV4cHJlc3Npb24tdHJlZS1jdXN0b20tY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE5nc3NtRXhwcmVzc2lvblRyZWVDdXN0b21Db21wb25lbnQ8VERhdGEgPSBhbnk+IHtcbiAgc2V0dXAodHJlZUlkOiBzdHJpbmcsIG5vZGVJZDogc3RyaW5nKTogdm9pZDtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL21vZGVsL25nc3NtLWV4cHJlc3Npb24tdHJlZS1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE5nc3NtRXhwcmVzc2lvblRyZWVEYXRhPFREYXRhID0gYW55PiB7XG4gIFtrZXk6IHN0cmluZ106IFREYXRhO1xufVxuIl19
@@ -1,6 +1,7 @@
1
1
  export const createNgssmExpressionTreeFromNodes = (nodes) => {
2
2
  const tree = {
3
- nodes: []
3
+ nodes: [],
4
+ data: {}
4
5
  };
5
6
  let path = [];
6
7
  nodes.forEach((node) => {
@@ -21,7 +22,8 @@ export const createNgssmExpressionTreeFromNodes = (nodes) => {
21
22
  data: node,
22
23
  isExpanded: node.isExpandable === true
23
24
  });
25
+ tree.data[node.id] = node.data;
24
26
  });
25
27
  return tree;
26
28
  };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9tb2RlbC9uZ3NzbS1leHByZXNzaW9uLXRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsQ0FBYyxLQUF5QixFQUE4QixFQUFFO0lBQ3ZILE1BQU0sSUFBSSxHQUErQjtRQUN2QyxLQUFLLEVBQUUsRUFBRTtLQUNWLENBQUM7SUFFRixJQUFJLElBQUksR0FBYSxFQUFFLENBQUM7SUFDeEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksR0FBRyxFQUFFLENBQUM7U0FDWDthQUFNO1lBQ0wsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEQsSUFBSSxhQUFhLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzFCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ2hDO1NBQ0Y7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNkLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ2YsSUFBSSxFQUFFLElBQUk7WUFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZSB9IGZyb20gJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUnO1xuaW1wb3J0IHsgTmdzc21Ob2RlIH0gZnJvbSAnLi9uZ3NzbS1ub2RlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3NzbUV4cHJlc3Npb25UcmVlPFREYXRhID0gYW55PiB7XG4gIG5vZGVzOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZTxURGF0YT5bXTtcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU5nc3NtRXhwcmVzc2lvblRyZWVGcm9tTm9kZXMgPSA8VERhdGEgPSBhbnk+KG5vZGVzOiBOZ3NzbU5vZGU8VERhdGE+W10pOiBOZ3NzbUV4cHJlc3Npb25UcmVlPFREYXRhPiA9PiB7XG4gIGNvbnN0IHRyZWU6IE5nc3NtRXhwcmVzc2lvblRyZWU8VERhdGE+ID0ge1xuICAgIG5vZGVzOiBbXVxuICB9O1xuXG4gIGxldCBwYXRoOiBzdHJpbmdbXSA9IFtdO1xuICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XG4gICAgaWYgKCFub2RlLnBhcmVudElkKSB7XG4gICAgICBwYXRoID0gW107XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHBhcmVudElkSW5kZXggPSBwYXRoLmluZGV4T2Yobm9kZS5wYXJlbnRJZCk7XG4gICAgICBpZiAocGFyZW50SWRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgcGF0aC5wdXNoKG5vZGUucGFyZW50SWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGF0aC5zcGxpY2UocGFyZW50SWRJbmRleCArIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRyZWUubm9kZXMucHVzaCh7XG4gICAgICBwYXRoOiBbLi4ucGF0aF0sXG4gICAgICBkYXRhOiBub2RlLFxuICAgICAgaXNFeHBhbmRlZDogbm9kZS5pc0V4cGFuZGFibGUgPT09IHRydWVcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRyZWU7XG59O1xuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9tb2RlbC9uZ3NzbS1leHByZXNzaW9uLXRyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxDQUFDLE1BQU0sa0NBQWtDLEdBQUcsQ0FBYyxLQUF5QixFQUE4QixFQUFFO0lBQ3ZILE1BQU0sSUFBSSxHQUErQjtRQUN2QyxLQUFLLEVBQUUsRUFBRTtRQUNULElBQUksRUFBRSxFQUFFO0tBQ1QsQ0FBQztJQUVGLElBQUksSUFBSSxHQUFhLEVBQUUsQ0FBQztJQUN4QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUNYO2FBQU07WUFDTCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRCxJQUFJLGFBQWEsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDMUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEM7U0FDRjtRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ2QsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDZixJQUFJLEVBQUUsSUFBSTtZQUNWLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUk7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZURhdGEgfSBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1kYXRhJztcbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlIH0gZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZSc7XG5pbXBvcnQgeyBOZ3NzbU5vZGUgfSBmcm9tICcuL25nc3NtLW5vZGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5nc3NtRXhwcmVzc2lvblRyZWU8VERhdGEgPSBhbnk+IHtcbiAgbm9kZXM6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlPFREYXRhPltdO1xuICBkYXRhOiBOZ3NzbUV4cHJlc3Npb25UcmVlRGF0YTxURGF0YT47XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVOZ3NzbUV4cHJlc3Npb25UcmVlRnJvbU5vZGVzID0gPFREYXRhID0gYW55Pihub2RlczogTmdzc21Ob2RlPFREYXRhPltdKTogTmdzc21FeHByZXNzaW9uVHJlZTxURGF0YT4gPT4ge1xuICBjb25zdCB0cmVlOiBOZ3NzbUV4cHJlc3Npb25UcmVlPFREYXRhPiA9IHtcbiAgICBub2RlczogW10sXG4gICAgZGF0YToge31cbiAgfTtcblxuICBsZXQgcGF0aDogc3RyaW5nW10gPSBbXTtcbiAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgIGlmICghbm9kZS5wYXJlbnRJZCkge1xuICAgICAgcGF0aCA9IFtdO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwYXJlbnRJZEluZGV4ID0gcGF0aC5pbmRleE9mKG5vZGUucGFyZW50SWQpO1xuICAgICAgaWYgKHBhcmVudElkSW5kZXggPT09IC0xKSB7XG4gICAgICAgIHBhdGgucHVzaChub2RlLnBhcmVudElkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhdGguc3BsaWNlKHBhcmVudElkSW5kZXggKyAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cmVlLm5vZGVzLnB1c2goe1xuICAgICAgcGF0aDogWy4uLnBhdGhdLFxuICAgICAgZGF0YTogbm9kZSxcbiAgICAgIGlzRXhwYW5kZWQ6IG5vZGUuaXNFeHBhbmRhYmxlID09PSB0cnVlXG4gICAgfSk7XG5cbiAgICB0cmVlLmRhdGFbbm9kZS5pZF0gPSBub2RlLmRhdGE7XG4gIH0pO1xuXG4gIHJldHVybiB0cmVlO1xufTtcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbW9kZWwvbmdzc20tbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBOZ3NzbU5vZGU8VERhdGEgPSBhbnk+IHtcbiAgaWQ6IHN0cmluZztcbiAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gIGlzRXhwYW5kYWJsZT86IGJvb2xlYW47XG4gIGhhc1Jvd0RldGFpbD86IGJvb2xlYW47XG4gIGRhdGE6IFREYXRhO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbW9kZWwvbmdzc20tbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIG9mIGEgbm9kZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZ3NzbU5vZGU8VERhdGEgPSBhbnk+IHtcbiAgaWQ6IHN0cmluZztcbiAgcGFyZW50SWQ/OiBzdHJpbmc7XG4gIGlzRXhwYW5kYWJsZT86IGJvb2xlYW47XG4gIGhhc1Jvd0RldGFpbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIGludGlhbCB2YWx1ZSBvZiB0aGUgZGF0YSBhc3NvY2lhdGVkIHRvIHRoaXMgbm9kZS5cbiAgICogV2hlbiB1cGRhdGluZyBhIG5vZGUgZGF0YSwgdGhpcyB2YWx1ZSBpcyBub3QgdXBkYXRlZCB1bmxlc3MgaXQgaXMgdXBkYXRlZFxuICAgKiBpbiB1c2VyIGNvZGUsIHdoaWNoIG11c3Qgbm90IGJlIGRvbmUuXG4gICAqIEV2ZXJ5dGhpbmcgcHV0IGluIHRoZSBzdGF0ZSBtdXN0IGJlIGNvbnNpZGVyZWQgYXMgaW1tdXRhYmxlLCBldmVuIGl0IGlzIG5vdC5cbiAgICovXG4gIGRhdGE6IFREYXRhO1xufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { makeEnvironmentProviders } from '@angular/core';
2
- import { treeNodeExpandReducerProvider, treesReducerProvider } from './reducers';
2
+ import { treeNodeEditionReducerProvider, treeNodeExpandReducerProvider, treesReducerProvider } from './reducers';
3
3
  export const provideNgssmExpressionTree = () => {
4
- return makeEnvironmentProviders([treesReducerProvider, treeNodeExpandReducerProvider]);
4
+ return makeEnvironmentProviders([treesReducerProvider, treeNodeExpandReducerProvider, treeNodeEditionReducerProvider]);
5
5
  };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1uZ3NzbS1leHByZXNzaW9uLXRyZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL3Byb3ZpZGUtbmdzc20tZXhwcmVzc2lvbi10cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0Isd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWpGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEdBQXlCLEVBQUU7SUFDbkUsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLDZCQUE2QixDQUFDLENBQUMsQ0FBQztBQUN6RixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0cmVlTm9kZUV4cGFuZFJlZHVjZXJQcm92aWRlciwgdHJlZXNSZWR1Y2VyUHJvdmlkZXIgfSBmcm9tICcuL3JlZHVjZXJzJztcblxuZXhwb3J0IGNvbnN0IHByb3ZpZGVOZ3NzbUV4cHJlc3Npb25UcmVlID0gKCk6IEVudmlyb25tZW50UHJvdmlkZXJzID0+IHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbdHJlZXNSZWR1Y2VyUHJvdmlkZXIsIHRyZWVOb2RlRXhwYW5kUmVkdWNlclByb3ZpZGVyXSk7XG59O1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1uZ3NzbS1leHByZXNzaW9uLXRyZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL3Byb3ZpZGUtbmdzc20tZXhwcmVzc2lvbi10cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0Isd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLDZCQUE2QixFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWpILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEdBQXlCLEVBQUU7SUFDbkUsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLDZCQUE2QixFQUFFLDhCQUE4QixDQUFDLENBQUMsQ0FBQztBQUN6SCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0cmVlTm9kZUVkaXRpb25SZWR1Y2VyUHJvdmlkZXIsIHRyZWVOb2RlRXhwYW5kUmVkdWNlclByb3ZpZGVyLCB0cmVlc1JlZHVjZXJQcm92aWRlciB9IGZyb20gJy4vcmVkdWNlcnMnO1xuXG5leHBvcnQgY29uc3QgcHJvdmlkZU5nc3NtRXhwcmVzc2lvblRyZWUgPSAoKTogRW52aXJvbm1lbnRQcm92aWRlcnMgPT4ge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFt0cmVlc1JlZHVjZXJQcm92aWRlciwgdHJlZU5vZGVFeHBhbmRSZWR1Y2VyUHJvdmlkZXIsIHRyZWVOb2RlRWRpdGlvblJlZHVjZXJQcm92aWRlcl0pO1xufTtcbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './trees.reducer';
2
2
  export * from './tree-node-expand.reducer';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL3JlZHVjZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdHJlZXMucmVkdWNlcic7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUtbm9kZS1leHBhbmQucmVkdWNlcic7XG4iXX0=
3
+ export * from './tree-node-edition.reducer';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL3JlZHVjZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90cmVlcy5yZWR1Y2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJlZS1ub2RlLWV4cGFuZC5yZWR1Y2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJlZS1ub2RlLWVkaXRpb24ucmVkdWNlcic7XG4iXX0=