ngssm-tree 16.0.2 → 16.1.0
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.
- package/esm2022/lib/ngssm-expression-tree/actions/index.mjs +4 -1
- package/esm2022/lib/ngssm-expression-tree/actions/ngssm-cancel-cut-expression-tree-node.action.mjs +8 -0
- package/esm2022/lib/ngssm-expression-tree/actions/ngssm-cut-expression-tree-node.action.mjs +8 -0
- package/esm2022/lib/ngssm-expression-tree/actions/ngssm-expression-tree-action-type.mjs +5 -1
- package/esm2022/lib/ngssm-expression-tree/actions/ngssm-paste-expression-tree-node.action.mjs +9 -0
- package/esm2022/lib/ngssm-expression-tree/components/ngssm-expression-tree/ngssm-expression-tree.component.mjs +7 -23
- package/esm2022/lib/ngssm-expression-tree/components/ngssm-expression-tree-node/ngssm-expression-tree-node.component.mjs +69 -9
- package/esm2022/lib/ngssm-expression-tree/components/ngssm-expression-tree-node-details/ngssm-expression-tree-node-details.component.mjs +5 -6
- package/esm2022/lib/ngssm-expression-tree/model/ngssm-expression-tree-config.mjs +1 -1
- package/esm2022/lib/ngssm-expression-tree/model/ngssm-expression-tree.mjs +1 -1
- package/esm2022/lib/ngssm-expression-tree/provide-ngssm-expression-tree.mjs +8 -3
- package/esm2022/lib/ngssm-expression-tree/reducers/cut-and-paste.reducer.mjs +119 -0
- package/esm2022/lib/ngssm-expression-tree/reducers/index.mjs +2 -1
- package/esm2022/lib/ngssm-expression-tree/reducers/tree-node-edition.reducer.mjs +5 -6
- package/esm2022/lib/ngssm-expression-tree/reducers/tree-node-expand.reducer.mjs +5 -6
- package/esm2022/lib/ngssm-expression-tree/reducers/trees.reducer.mjs +5 -6
- package/esm2022/lib/ngssm-expression-tree/state/ngssm-expression-tree.state.mjs +3 -3
- package/esm2022/lib/ngssm-tree/components/ngssm-breadcrumb/ngssm-breadcrumb.component.mjs +5 -6
- package/esm2022/lib/ngssm-tree/components/ngssm-tree/ngssm-tree.component.mjs +5 -6
- package/esm2022/lib/ngssm-tree/components/ngssm-tree-search-dialog/ngssm-tree-search-dialog.component.mjs +5 -6
- package/esm2022/lib/ngssm-tree/effects/tree-node-loading.effect.mjs +5 -6
- package/esm2022/lib/ngssm-tree/effects/tree-nodes-searching.effect.mjs +5 -6
- package/esm2022/lib/ngssm-tree/reducers/tree-node-expand.reducer.mjs +5 -6
- package/esm2022/lib/ngssm-tree/reducers/tree-node-selection.reducer.mjs +5 -6
- package/esm2022/lib/ngssm-tree/reducers/tree-nodes-search.reducer.mjs +5 -6
- package/esm2022/lib/ngssm-tree/reducers/tree-nodes.reducer.mjs +5 -6
- package/esm2022/lib/ngssm-tree/reducers/trees.reducer.mjs +5 -6
- package/esm2022/lib/ngssm-tree/state/ngssm-tree.state.mjs +3 -3
- package/fesm2022/ngssm-tree.mjs +257 -71
- package/fesm2022/ngssm-tree.mjs.map +1 -1
- package/lib/ngssm-expression-tree/actions/index.d.ts +3 -0
- package/lib/ngssm-expression-tree/actions/ngssm-cancel-cut-expression-tree-node.action.d.ts +4 -0
- package/lib/ngssm-expression-tree/actions/ngssm-cut-expression-tree-node.action.d.ts +4 -0
- package/lib/ngssm-expression-tree/actions/ngssm-expression-tree-action-type.d.ts +4 -1
- package/lib/ngssm-expression-tree/actions/ngssm-paste-expression-tree-node.action.d.ts +6 -0
- package/lib/ngssm-expression-tree/components/ngssm-expression-tree/ngssm-expression-tree.component.d.ts +0 -2
- package/lib/ngssm-expression-tree/components/ngssm-expression-tree-node/ngssm-expression-tree-node.component.d.ts +16 -1
- package/lib/ngssm-expression-tree/model/ngssm-expression-tree-config.d.ts +6 -0
- package/lib/ngssm-expression-tree/model/ngssm-expression-tree.d.ts +1 -0
- package/lib/ngssm-expression-tree/reducers/cut-and-paste.reducer.d.ts +11 -0
- package/lib/ngssm-expression-tree/reducers/index.d.ts +1 -0
- package/package.json +1 -1
- package/styles/ngssm-expression-tree.scss +12 -0
|
@@ -11,4 +11,7 @@ export * from './ngssm-update-expression-tree-node.action';
|
|
|
11
11
|
export * from './ngssm-collapse-all-expression-tree-nodes.action';
|
|
12
12
|
export * from './ngssm-expand-all-expression-tree-nodes.action';
|
|
13
13
|
export * from './ngssm-add-expression-tree-nodes.action';
|
|
14
|
-
|
|
14
|
+
export * from './ngssm-cut-expression-tree-node.action';
|
|
15
|
+
export * from './ngssm-paste-expression-tree-node.action';
|
|
16
|
+
export * from './ngssm-cancel-cut-expression-tree-node.action';
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxnREFBZ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLWFjdGlvbi10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbmdzc20tY2xlYXItZXhwcmVzc2lvbi10cmVlLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLWluaXQtZXhwcmVzc2lvbi10cmVlLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1leHBhbmQtZXhwcmVzc2lvbi10cmVlLW5vZGUuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbmdzc20tY29sbGFwc2UtZXhwcmVzc2lvbi10cmVlLW5vZGUuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbmdzc20tYWRkLWV4cHJlc3Npb24tdHJlZS1ub2RlLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLWRlbGV0ZS1leHByZXNzaW9uLXRyZWUtbm9kZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS11cGRhdGUtZXhwcmVzc2lvbi10cmVlLW5vZGUuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbmdzc20tY29sbGFwc2UtYWxsLWV4cHJlc3Npb24tdHJlZS1ub2Rlcy5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1leHBhbmQtYWxsLWV4cHJlc3Npb24tdHJlZS1ub2Rlcy5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1hZGQtZXhwcmVzc2lvbi10cmVlLW5vZGVzLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL25nc3NtLWN1dC1leHByZXNzaW9uLXRyZWUtbm9kZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1wYXN0ZS1leHByZXNzaW9uLXRyZWUtbm9kZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9uZ3NzbS1jYW5jZWwtY3V0LWV4cHJlc3Npb24tdHJlZS1ub2RlLmFjdGlvbic7XG4iXX0=
|
package/esm2022/lib/ngssm-expression-tree/actions/ngssm-cancel-cut-expression-tree-node.action.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { NgssmExpressionTreeAction } from './ngssm-expression-tree.action';
|
|
2
|
+
import { NgssmExpressionTreeActionType } from './ngssm-expression-tree-action-type';
|
|
3
|
+
export class NgssmCancelCutExpressionTreeNodeAction extends NgssmExpressionTreeAction {
|
|
4
|
+
constructor(treeId) {
|
|
5
|
+
super(NgssmExpressionTreeActionType.ngssmCancelCutExpressionTreeNode, treeId);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tY2FuY2VsLWN1dC1leHByZXNzaW9uLXRyZWUtbm9kZS5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL2FjdGlvbnMvbmdzc20tY2FuY2VsLWN1dC1leHByZXNzaW9uLXRyZWUtbm9kZS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFcEYsTUFBTSxPQUFPLHNDQUF1QyxTQUFRLHlCQUF5QjtJQUNuRixZQUFZLE1BQWM7UUFDeEIsS0FBSyxDQUFDLDZCQUE2QixDQUFDLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb24gfSBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS5hY3Rpb24nO1xuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUgfSBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1hY3Rpb24tdHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBOZ3NzbUNhbmNlbEN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiBleHRlbmRzIE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb24ge1xuICBjb25zdHJ1Y3Rvcih0cmVlSWQ6IHN0cmluZykge1xuICAgIHN1cGVyKE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlLm5nc3NtQ2FuY2VsQ3V0RXhwcmVzc2lvblRyZWVOb2RlLCB0cmVlSWQpO1xuICB9XG59XG4iXX0=
|
|
@@ -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 NgssmCutExpressionTreeNodeAction extends NgssmExpressionTreeNodeAction {
|
|
4
|
+
constructor(treeId, nodeId) {
|
|
5
|
+
super(NgssmExpressionTreeActionType.ngssmCutExpressionTreeNode, treeId, nodeId);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tY3V0LWV4cHJlc3Npb24tdHJlZS1ub2RlLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvYWN0aW9ucy9uZ3NzbS1jdXQtZXhwcmVzc2lvbi10cmVlLW5vZGUuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXBGLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSw2QkFBNkI7SUFDakYsWUFBWSxNQUFjLEVBQUUsTUFBYztRQUN4QyxLQUFLLENBQUMsNkJBQTZCLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uIH0gZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5hY3Rpb24nO1xuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUgfSBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1hY3Rpb24tdHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBOZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiBleHRlbmRzIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uIHtcbiAgY29uc3RydWN0b3IodHJlZUlkOiBzdHJpbmcsIG5vZGVJZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUubmdzc21DdXRFeHByZXNzaW9uVHJlZU5vZGUsIHRyZWVJZCwgbm9kZUlkKTtcbiAgfVxufVxuIl19
|
|
@@ -13,5 +13,9 @@ export var NgssmExpressionTreeActionType;
|
|
|
13
13
|
NgssmExpressionTreeActionType["ngssmAddExpressionTreeNodes"] = "[NgssmExpressionTreeActionType] ngssmAddExpressionTreeNodes";
|
|
14
14
|
NgssmExpressionTreeActionType["ngssmDeleteExpressionTreeNode"] = "[NgssmExpressionTreeActionType] ngssmDeleteExpressionTreeNode";
|
|
15
15
|
NgssmExpressionTreeActionType["ngssmUpdateExpressionTreeNode"] = "[NgssmExpressionTreeActionType] ngssmUpdateExpressionTreeNode";
|
|
16
|
+
// Cut/Paste
|
|
17
|
+
NgssmExpressionTreeActionType["ngssmCutExpressionTreeNode"] = "[NgssmExpressionTreeActionType] ngssmCutExpressionTreeNode";
|
|
18
|
+
NgssmExpressionTreeActionType["ngssmPasteExpressionTreeNode"] = "[NgssmExpressionTreeActionType] ngssmPasteExpressionTreeNode";
|
|
19
|
+
NgssmExpressionTreeActionType["ngssmCancelCutExpressionTreeNode"] = "[NgssmExpressionTreeActionType] ngssmCancelCutExpressionTreeNode";
|
|
16
20
|
})(NgssmExpressionTreeActionType || (NgssmExpressionTreeActionType = {}));
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLWFjdGlvbi10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9hY3Rpb25zL25nc3NtLWV4cHJlc3Npb24tdHJlZS1hY3Rpb24tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSw2QkFxQlg7QUFyQkQsV0FBWSw2QkFBNkI7SUFDdkMsMkJBQTJCO0lBQzNCLG9IQUFtRixDQUFBO0lBQ25GLHNIQUFxRixDQUFBO0lBRXJGLHlCQUF5QjtJQUN6QixvSUFBbUcsQ0FBQTtJQUNuRyxnSUFBK0YsQ0FBQTtJQUMvRiw0SUFBMkcsQ0FBQTtJQUMzRyx3SUFBdUcsQ0FBQTtJQUV2RyxlQUFlO0lBQ2YsMEhBQXlGLENBQUE7SUFDekYsNEhBQTJGLENBQUE7SUFDM0YsZ0lBQStGLENBQUE7SUFDL0YsZ0lBQStGLENBQUE7SUFFL0YsWUFBWTtJQUNaLDBIQUF5RixDQUFBO0lBQ3pGLDhIQUE2RixDQUFBO0lBQzdGLHNJQUFxRyxDQUFBO0FBQ3ZHLENBQUMsRUFyQlcsNkJBQTZCLEtBQTdCLDZCQUE2QixRQXFCeEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZSB7XG4gIC8vIExpc3Qgb2YgdHJlZXMgbWFuYWdlbWVudFxuICBuZ3NzbUluaXRFeHByZXNzaW9uVHJlZSA9ICdbTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGVdIG5nc3NtSW5pdEV4cHJlc3Npb25UcmVlJyxcbiAgbmdzc21DbGVhckV4cHJlc3Npb25UcmVlID0gJ1tOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZV0gbmdzc21DbGVhckV4cHJlc3Npb25UcmVlJyxcblxuICAvLyBNYW5hZ2UgZXhwYW5kL2NvbGxhcHNlXG4gIG5nc3NtQ29sbGFwc2VFeHByZXNzaW9uVHJlZU5vZGUgPSAnW05nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlXSBuZ3NzbUNvbGxhcHNlRXhwcmVzc2lvblRyZWVOb2RlJyxcbiAgbmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGUgPSAnW05nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlXSBuZ3NzbUV4cGFuZEV4cHJlc3Npb25UcmVlTm9kZScsXG4gIG5nc3NtQ29sbGFwc2VBbGxFeHByZXNzaW9uVHJlZU5vZGVzID0gJ1tOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZV0gbmdzc21Db2xsYXBzZUFsbEV4cHJlc3Npb25UcmVlTm9kZXMnLFxuICBuZ3NzbUV4cGFuZEFsbEV4cHJlc3Npb25UcmVlTm9kZXMgPSAnW05nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlXSBuZ3NzbUV4cGFuZEFsbEV4cHJlc3Npb25UcmVlTm9kZXMnLFxuXG4gIC8vIE5vZGUgZWRpdGlvblxuICBuZ3NzbUFkZEV4cHJlc3Npb25UcmVlTm9kZSA9ICdbTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGVdIG5nc3NtQWRkRXhwcmVzc2lvblRyZWVOb2RlJyxcbiAgbmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVzID0gJ1tOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZV0gbmdzc21BZGRFeHByZXNzaW9uVHJlZU5vZGVzJyxcbiAgbmdzc21EZWxldGVFeHByZXNzaW9uVHJlZU5vZGUgPSAnW05nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlXSBuZ3NzbURlbGV0ZUV4cHJlc3Npb25UcmVlTm9kZScsXG4gIG5nc3NtVXBkYXRlRXhwcmVzc2lvblRyZWVOb2RlID0gJ1tOZ3NzbUV4cHJlc3Npb25UcmVlQWN0aW9uVHlwZV0gbmdzc21VcGRhdGVFeHByZXNzaW9uVHJlZU5vZGUnLFxuXG4gIC8vIEN1dC9QYXN0ZVxuICBuZ3NzbUN1dEV4cHJlc3Npb25UcmVlTm9kZSA9ICdbTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGVdIG5nc3NtQ3V0RXhwcmVzc2lvblRyZWVOb2RlJyxcbiAgbmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZSA9ICdbTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGVdIG5nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGUnLFxuICBuZ3NzbUNhbmNlbEN1dEV4cHJlc3Npb25UcmVlTm9kZSA9ICdbTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGVdIG5nc3NtQ2FuY2VsQ3V0RXhwcmVzc2lvblRyZWVOb2RlJ1xufVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NgssmExpressionTreeNodeAction } from './ngssm-expression-tree-node.action';
|
|
2
|
+
import { NgssmExpressionTreeActionType } from './ngssm-expression-tree-action-type';
|
|
3
|
+
export class NgssmPasteExpressionTreeNodeAction extends NgssmExpressionTreeNodeAction {
|
|
4
|
+
constructor(treeId, nodeId, target) {
|
|
5
|
+
super(NgssmExpressionTreeActionType.ngssmPasteExpressionTreeNode, treeId, nodeId);
|
|
6
|
+
this.target = target;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tcGFzdGUtZXhwcmVzc2lvbi10cmVlLW5vZGUuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9hY3Rpb25zL25nc3NtLXBhc3RlLWV4cHJlc3Npb24tdHJlZS1ub2RlLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUdwRixNQUFNLE9BQU8sa0NBQW1DLFNBQVEsNkJBQTZCO0lBQ25GLFlBQVksTUFBYyxFQUFFLE1BQWMsRUFBa0IsTUFBeUI7UUFDbkYsS0FBSyxDQUFDLDZCQUE2QixDQUFDLDRCQUE0QixFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUR4QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtJQUVyRixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiB9IGZyb20gJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUuYWN0aW9uJztcbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVBY3Rpb25UeXBlIH0gZnJvbSAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtYWN0aW9uLXR5cGUnO1xuaW1wb3J0IHsgQ3V0QW5kUGFzdGVUYXJnZXQgfSBmcm9tICcuLi9tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBOZ3NzbVBhc3RlRXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uIGV4dGVuZHMgTmdzc21FeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24ge1xuICBjb25zdHJ1Y3Rvcih0cmVlSWQ6IHN0cmluZywgbm9kZUlkOiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSB0YXJnZXQ6IEN1dEFuZFBhc3RlVGFyZ2V0KSB7XG4gICAgc3VwZXIoTmdzc21FeHByZXNzaW9uVHJlZUFjdGlvblR5cGUubmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZSwgdHJlZUlkLCBub2RlSWQpO1xuICB9XG59XG4iXX0=
|
|
@@ -4,11 +4,10 @@ import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
|
4
4
|
import { MatCardModule } from '@angular/material/card';
|
|
5
5
|
import { MatDividerModule } from '@angular/material/divider';
|
|
6
6
|
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
-
import { CdkMenuModule } from '@angular/cdk/menu';
|
|
8
7
|
import { BehaviorSubject, takeUntil } from 'rxjs';
|
|
9
8
|
import { NgSsmComponent } from 'ngssm-store';
|
|
10
9
|
import { selectNgssmExpressionTreeState } from '../../state';
|
|
11
|
-
import {
|
|
10
|
+
import { NgssmCollapseExpressionTreeNodeAction, NgssmExpandExpressionTreeNodeAction } from '../../actions';
|
|
12
11
|
import { NgssmExpressionTreeNodeComponent } from '../ngssm-expression-tree-node/ngssm-expression-tree-node.component';
|
|
13
12
|
import { NgssmExpressionTreeNodeDetailsComponent } from '../ngssm-expression-tree-node-details/ngssm-expression-tree-node-details.component';
|
|
14
13
|
import * as i0 from "@angular/core";
|
|
@@ -18,8 +17,7 @@ import * as i3 from "@angular/cdk/scrolling";
|
|
|
18
17
|
import * as i4 from "@angular/material/card";
|
|
19
18
|
import * as i5 from "@angular/material/divider";
|
|
20
19
|
import * as i6 from "@angular/material/icon";
|
|
21
|
-
|
|
22
|
-
class NgssmExpressionTreeComponent extends NgSsmComponent {
|
|
20
|
+
export class NgssmExpressionTreeComponent extends NgSsmComponent {
|
|
23
21
|
constructor(store, changeDetectorRef) {
|
|
24
22
|
super(store);
|
|
25
23
|
this.changeDetectorRef = changeDetectorRef;
|
|
@@ -88,23 +86,10 @@ class NgssmExpressionTreeComponent extends NgSsmComponent {
|
|
|
88
86
|
forceRefresh() {
|
|
89
87
|
this.changeDetectorRef.markForCheck();
|
|
90
88
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (treeId) {
|
|
94
|
-
this.dispatchAction(new NgssmExpandAllExpressionTreeNodesAction(treeId));
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
collapseAll() {
|
|
98
|
-
const treeId = this._treeConfig$.getValue()?.treeId;
|
|
99
|
-
if (treeId) {
|
|
100
|
-
this.dispatchAction(new NgssmCollapseAllExpressionTreeNodesAction(treeId));
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgssmExpressionTreeComponent, deps: [{ token: i1.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
104
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", 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\" [cdkContextMenuTriggerFor]=\"contextMenu\">\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\"\n (heightChanged)=\"forceRefresh()\">\n </ngssm-expression-tree-node-details>\n </div>\n </div>\n</ng-template>\n\n<ng-template #contextMenu>\n <div class=\"ngssm-expression-tree-context-menu\" cdkMenu>\n <button class=\"ngssm-expression-tree-context-menu-item\" cdkMenuItem (click)=\"expandAll()\">Expand all</button>\n <button class=\"ngssm-expression-tree-context-menu-item\" cdkMenuItem (click)=\"collapseAll()\">\n Collapse all\n </button>\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: "ngmodule", type: CdkMenuModule }, { kind: "directive", type: i7.CdkMenu, selector: "[cdkMenu]", outputs: ["closed"], exportAs: ["cdkMenu"] }, { kind: "directive", type: i7.CdkMenuItem, selector: "[cdkMenuItem]", inputs: ["cdkMenuItemDisabled", "cdkMenuitemTypeaheadLabel"], outputs: ["cdkMenuItemTriggered"], exportAs: ["cdkMenuItem"] }, { kind: "directive", type: i7.CdkContextMenuTrigger, selector: "[cdkContextMenuTriggerFor]", inputs: ["cdkContextMenuTriggerFor", "cdkContextMenuPosition", "cdkContextMenuTriggerData", "cdkContextMenuDisabled"], outputs: ["cdkContextMenuOpened", "cdkContextMenuClosed"], exportAs: ["cdkContextMenuTriggerFor"] }, { 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 }); }
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: NgssmExpressionTreeComponent, deps: [{ token: i1.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", 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\"\n (heightChanged)=\"forceRefresh()\">\n </ngssm-expression-tree-node-details>\n </div>\n </div>\n</ng-template>\n", 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 }); }
|
|
105
91
|
}
|
|
106
|
-
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgssmExpressionTreeComponent, decorators: [{
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: NgssmExpressionTreeComponent, decorators: [{
|
|
108
93
|
type: Component,
|
|
109
94
|
args: [{ selector: 'ngssm-expression-tree', standalone: true, imports: [
|
|
110
95
|
CommonModule,
|
|
@@ -112,11 +97,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
112
97
|
MatCardModule,
|
|
113
98
|
MatDividerModule,
|
|
114
99
|
MatIconModule,
|
|
115
|
-
CdkMenuModule,
|
|
116
100
|
NgssmExpressionTreeNodeComponent,
|
|
117
101
|
NgssmExpressionTreeNodeDetailsComponent
|
|
118
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card class=\"flex-column-stretch fxFlex ngssm-expression-tree\"
|
|
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\"\n (heightChanged)=\"forceRefresh()\">\n </ngssm-expression-tree-node-details>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
|
|
119
103
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { treeConfig: [{
|
|
120
104
|
type: Input
|
|
121
105
|
}] } });
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQTRCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1RSxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBR3BELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3RCxPQUFPLEVBQ0wseUNBQXlDLEVBQ3pDLHFDQUFxQyxFQUNyQyx1Q0FBdUMs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QUFDO0lBRU0sU0FBUztRQUNkLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxDQUFDO1FBQ3BELElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLHVDQUF1QyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDMUU7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQztRQUNwRCxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSx5Q0FBeUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQzVFO0lBQ0gsQ0FBQzs4R0FyR1UsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsOElDdkN6Qyw4NkdBeURjLG9HRC9CVixZQUFZLDJkQUNaLGVBQWUsMmpCQUNmLGFBQWEsME5BQ2IsZ0JBQWdCLGtJQUNoQixhQUFhLG1MQUNiLGFBQWEsd29CQUNiLGdDQUFnQyx5R0FDaEMsdUNBQXVDOztTQU05Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFqQnhDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQ0FBZ0M7d0JBQ2hDLHVDQUF1QztxQkFDeEMsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07NEhBNkIzQixVQUFVO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBDZGtNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL21lbnUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOZ1NzbUNvbXBvbmVudCwgU3RvcmUgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWUsIE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcsIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlIH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUnO1xuaW1wb3J0IHtcbiAgTmdzc21Db2xsYXBzZUFsbEV4cHJlc3Npb25UcmVlTm9kZXNBY3Rpb24sXG4gIE5nc3NtQ29sbGFwc2VFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24sXG4gIE5nc3NtRXhwYW5kQWxsRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbixcbiAgTmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb25cbn0gZnJvbSAnLi4vLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZURldGFpbHNDb21wb25lbnQgfSBmcm9tICcuLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdzc20tZXhwcmVzc2lvbi10cmVlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTY3JvbGxpbmdNb2R1bGUsXG4gICAgTWF0Q2FyZE1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgQ2RrTWVudU1vZHVsZSxcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZUNvbXBvbmVudCxcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZURldGFpbHNDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25nc3NtLWV4cHJlc3Npb24tdHJlZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOZ3NzbUV4cHJlc3Npb25UcmVlQ29tcG9uZW50IGV4dGVuZHMgTmdTc21Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF90cmVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tmdzc21FeHByZXNzaW9uVHJlZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzcGxheWVkTm9kZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyZWVDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX3RyZWVTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKHN0b3JlKTtcblxuICAgIHRoaXMuX3RyZWUkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSkuc3Vic2NyaWJlKCh0cmVlKSA9PiB7XG4gICAgICBjb25zdCBkaXNwbGF5ZWROb2RlczogTmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXSA9IFtdO1xuICAgICAgY29uc3QgY29sbGFwc2VkTm9kZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgICh0cmVlPy5ub2RlcyA/PyBbXSkuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICBpZiAobm9kZS5kYXRhLmlzRXhwYW5kYWJsZSA9PT0gdHJ1ZSAmJiBub2RlLmlzRXhwYW5kZWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgY29sbGFwc2VkTm9kZXMuYWRkKG5vZGUuZGF0YS5pZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW5vZGUuZGF0YS5wYXJlbnRJZCB8fCBub2RlLnBhdGguZmluZEluZGV4KChwKSA9PiBjb2xsYXBzZWROb2Rlcy5oYXMocCkpID09PSAtMSkge1xuICAgICAgICAgIGRpc3BsYXllZE5vZGVzLnB1c2gobm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9kaXNwbGF5ZWROb2RlcyQubmV4dChkaXNwbGF5ZWROb2Rlcyk7XG4gICAgfSk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHRyZWVDb25maWcodmFsdWU6IE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdHJlZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLl90cmVlQ29uZmlnJC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlnOiBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnID0ge1xuICAgICAgLi4udmFsdWVcbiAgICB9O1xuICAgIGlmICghY29uZmlnLmdldE5vZGVMYWJlbCkge1xuICAgICAgY29uZmlnLmdldE5vZGVMYWJlbCA9IChub2RlKSA9PiBub2RlLmRhdGEuaWQ7XG4gICAgfVxuXG4gICAgaWYgKCFjb25maWcuZXhwYW5kSWNvbkNsYXNzKSB7XG4gICAgICBjb25maWcuZXhwYW5kSWNvbkNsYXNzID0gJ2ZhLXNvbGlkIGZhLWNoZXZyb24tcmlnaHQnO1xuICAgIH1cblxuICAgIGlmICghY29uZmlnLmNvbGxhcHNlSWNvbkNsYXNzKSB7XG4gICAgICBjb25maWcuY29sbGFwc2VJY29uQ2xhc3MgPSAnZmEtc29saWQgZmEtY2hldnJvbi1kb3duJztcbiAgICB9XG5cbiAgICB0aGlzLl90cmVlQ29uZmlnJC5uZXh0KGNvbmZpZyk7XG4gICAgdGhpcy5fdHJlZVN1YnNjcmlwdGlvbiA9IHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzKS50cmVlc1t2YWx1ZS50cmVlSWRdKS5zdWJzY3JpYmUoKHRyZWUpID0+XG4gICAgICB0aGlzLl90cmVlJC5uZXh0KHRyZWUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJlZUNvbmZpZyQoKTogT2JzZXJ2YWJsZTxOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWVDb25maWckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5ZWROb2RlcyQoKTogT2JzZXJ2YWJsZTxOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXllZE5vZGVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJdGVtSWQoXzogbnVtYmVyLCBub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5vZGUuZGF0YS5pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZWZhdWx0UGFkZGluZygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy5ub2RlUGFkZGluZyA/PyAyMDtcbiAgfVxuXG4gIHB1YmxpYyBleHBhbmQobm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGUpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgaWYgKHRyZWVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24odHJlZUlkLCBub2RlLmRhdGEuaWQpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY29sbGFwc2Uobm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGUpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgaWYgKHRyZWVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21Db2xsYXBzZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbih0cmVlSWQsIG5vZGUuZGF0YS5pZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmb3JjZVJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBleHBhbmRBbGwoKTogdm9pZCB7XG4gICAgY29uc3QgdHJlZUlkID0gdGhpcy5fdHJlZUNvbmZpZyQuZ2V0VmFsdWUoKT8udHJlZUlkO1xuICAgIGlmICh0cmVlSWQpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24obmV3IE5nc3NtRXhwYW5kQWxsRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbih0cmVlSWQpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY29sbGFwc2VBbGwoKTogdm9pZCB7XG4gICAgY29uc3QgdHJlZUlkID0gdGhpcy5fdHJlZUNvbmZpZyQuZ2V0VmFsdWUoKT8udHJlZUlkO1xuICAgIGlmICh0cmVlSWQpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24obmV3IE5nc3NtQ29sbGFwc2VBbGxFeHByZXNzaW9uVHJlZU5vZGVzQWN0aW9uKHRyZWVJZCkpO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwiZmxleC1jb2x1bW4tc3RyZXRjaCBmeEZsZXggbmdzc20tZXhwcmVzc2lvbi10cmVlXCIgW2Nka0NvbnRleHRNZW51VHJpZ2dlckZvcl09XCJjb250ZXh0TWVudVwiPlxuICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiZmxleC1jb2x1bW4tc3RyZXRjaCBmeEZsZXggbmdzc20tZXhwcmVzc2lvbi10cmVlLWNvbnRlbnRcIlxuICAgICAgICAqbmdJZj1cIih0cmVlQ29uZmlnJCB8IGFzeW5jKSBhcyB0cmVlQ29uZmlnXCI+XG4gICAgICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgW2l0ZW1TaXplXT1cInRyZWVDb25maWcucm93U2l6ZSA/PyAzMFwiIGNsYXNzPVwiZnhGbGV4XCJcbiAgICAgICAgICAgICpuZ0lmPVwidHJlZUNvbmZpZy5kaXNhYmxlVmlydHVhbGl6YXRpb24gIT09IHRydWVcIj5cbiAgICAgICAgICAgIDxkaXYgKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBkaXNwbGF5ZWROb2RlcyQgfCBhc3luYzsgdHJhY2tCeTogZ2V0SXRlbUlkXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlXCIgaWQ9XCJ7eydub2RlXycgKyBpdGVtLmRhdGEuaWR9fVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlVGVtcGxhdGU7Y29udGV4dDoge3RyZWVDb25maWcsIGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZXMtY29udGFpbmVyXCIgKm5nSWY9XCJ0cmVlQ29uZmlnLmRpc2FibGVWaXJ0dWFsaXphdGlvbiA9PT0gdHJ1ZVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkaXNwbGF5ZWROb2RlcyQgfCBhc3luYzsgdHJhY2tCeTogZ2V0SXRlbUlkXCIgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZVwiXG4gICAgICAgICAgICAgICAgaWQ9XCJ7eydub2RlXycgKyBpdGVtLmRhdGEuaWR9fVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlVGVtcGxhdGU7Y29udGV4dDoge3RyZWVDb25maWcsIGl0ZW19XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD5cblxuPG5nLXRlbXBsYXRlICNub2RlVGVtcGxhdGUgbGV0LXRyZWVDb25maWc9XCJ0cmVlQ29uZmlnXCIgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgtcm93LWNlbnRlciBmeEZsZXhcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cInRyZWVDb25maWcucm93U2l6ZSA/PyAzMFwiPlxuICAgICAgICA8bWF0LWRpdmlkZXIgW3ZlcnRpY2FsXT1cInRydWVcIiBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRpdmlkZXJcIlxuICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJ0cmVlQ29uZmlnLnJvd1NpemUgPz8gMzBcIiAqbmdGb3I9XCJsZXQgcGFydCBvZiBpdGVtLnBhdGhcIlxuICAgICAgICAgICAgW3N0eWxlLm1hcmdpbi1yaWdodC5weF09XCJnZXREZWZhdWx0UGFkZGluZygpXCI+XG4gICAgICAgIDwvbWF0LWRpdmlkZXI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInt7dHJlZUNvbmZpZy5leHBhbmRJY29uQ2xhc3N9fVwiXG4gICAgICAgICAgICAqbmdJZj1cIihpdGVtLmRhdGEuaXNFeHBhbmRhYmxlIHx8IGl0ZW0uZGF0YS5oYXNSb3dEZXRhaWwpICYmIGl0ZW0uaXNFeHBhbmRlZCA9PT0gZmFsc2VcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtleHBhbmQoaXRlbSk7XCIgaWQ9XCJleHBhbmRJY29uXCI+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInt7dHJlZUNvbmZpZy5jb2xsYXBzZUljb25DbGFzc319XCJcbiAgICAgICAgICAgICpuZ0lmPVwiKGl0ZW0uZGF0YS5pc0V4cGFuZGFibGUgfHwgaXRlbS5kYXRhLmhhc1Jvd0RldGFpbCkgJiYgaXRlbS5pc0V4cGFuZGVkID09PSB0cnVlXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Y29sbGFwc2UoaXRlbSk7XCIgaWQ9XCJjb2xsYXBzZUljb25cIj5cbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPG5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlIFtub2RlSWRdPVwiaXRlbS5kYXRhLmlkXCIgW3RyZWVDb25maWddPVwidHJlZUNvbmZpZ1wiPlxuICAgICAgICA8L25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJpdGVtLmRhdGEuaGFzUm93RGV0YWlsID09PSB0cnVlICYmIGl0ZW0uaXNFeHBhbmRlZCA9PT0gdHJ1ZVwiIGNsYXNzPVwiZmxleC1yb3ctY2VudGVyIGZ4RmxleFwiPlxuICAgICAgICA8bWF0LWRpdmlkZXIgW3ZlcnRpY2FsXT1cInRydWVcIiBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRpdmlkZXJcIlxuICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJkZXRhaWxDb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0XCIgKm5nRm9yPVwiIGxldCBwYXJ0IG9mIGl0ZW0ucGF0aFwiXG4gICAgICAgICAgICBbc3R5bGUubWFyZ2luLXJpZ2h0LnB4XT1cImdldERlZmF1bHRQYWRkaW5nKClcIj5cbiAgICAgICAgPC9tYXQtZGl2aWRlcj5cblxuICAgICAgICA8ZGl2ICNkZXRhaWxDb250YWluZXIgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWwtY29tcG9uZW50XCI+XG4gICAgICAgICAgICA8bmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscyBbbm9kZUlkXT1cIml0ZW0uZGF0YS5pZFwiIFt0cmVlQ29uZmlnXT1cInRyZWVDb25maWdcIlxuICAgICAgICAgICAgICAgIChoZWlnaHRDaGFuZ2VkKT1cImZvcmNlUmVmcmVzaCgpXCI+XG4gICAgICAgICAgICA8L25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHM+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb250ZXh0TWVudT5cbiAgICA8ZGl2IGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLWNvbnRleHQtbWVudVwiIGNka01lbnU+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtY29udGV4dC1tZW51LWl0ZW1cIiBjZGtNZW51SXRlbSAoY2xpY2spPVwiZXhwYW5kQWxsKClcIj5FeHBhbmQgYWxsPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtY29udGV4dC1tZW51LWl0ZW1cIiBjZGtNZW51SXRlbSAoY2xpY2spPVwiY29sbGFwc2VBbGwoKVwiPlxuICAgICAgICAgICAgQ29sbGFwc2UgYWxsXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbmdzc20tZXhwcmVzc2lvbi10cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBNEIsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxjQUFjLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFHcEQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdELE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvRUFB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QUFlLDJqQkFDZixhQUFhLDBOQUNiLGdCQUFnQixrSUFDaEIsYUFBYSxvTEFDYixnQ0FBZ0MseUdBQ2hDLHVDQUF1Qzs7MkZBTTlCLDRCQUE0QjtrQkFoQnhDLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZ0NBQWdDO3dCQUNoQyx1Q0FBdUM7cUJBQ3hDLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNOzRIQTZCM0IsVUFBVTtzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOZ1NzbUNvbXBvbmVudCwgU3RvcmUgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWUsIE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcsIE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlIH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUnO1xuaW1wb3J0IHsgTmdzc21Db2xsYXBzZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbiwgTmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24gfSBmcm9tICcuLi8uLi9hY3Rpb25zJztcbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUvbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHMvbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1leHByZXNzaW9uLXRyZWUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZUNvbXBvbmVudCxcbiAgICBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZURldGFpbHNDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25nc3NtLWV4cHJlc3Npb24tdHJlZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOZ3NzbUV4cHJlc3Npb25UcmVlQ29tcG9uZW50IGV4dGVuZHMgTmdTc21Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF90cmVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tmdzc21FeHByZXNzaW9uVHJlZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzcGxheWVkTm9kZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyZWVDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX3RyZWVTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKHN0b3JlKTtcblxuICAgIHRoaXMuX3RyZWUkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSkuc3Vic2NyaWJlKCh0cmVlKSA9PiB7XG4gICAgICBjb25zdCBkaXNwbGF5ZWROb2RlczogTmdzc21FeHByZXNzaW9uVHJlZU5vZGVbXSA9IFtdO1xuICAgICAgY29uc3QgY29sbGFwc2VkTm9kZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgICh0cmVlPy5ub2RlcyA/PyBbXSkuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICBpZiAobm9kZS5kYXRhLmlzRXhwYW5kYWJsZSA9PT0gdHJ1ZSAmJiBub2RlLmlzRXhwYW5kZWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgY29sbGFwc2VkTm9kZXMuYWRkKG5vZGUuZGF0YS5pZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW5vZGUuZGF0YS5wYXJlbnRJZCB8fCBub2RlLnBhdGguZmluZEluZGV4KChwKSA9PiBjb2xsYXBzZWROb2Rlcy5oYXMocCkpID09PSAtMSkge1xuICAgICAgICAgIGRpc3BsYXllZE5vZGVzLnB1c2gobm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9kaXNwbGF5ZWROb2RlcyQubmV4dChkaXNwbGF5ZWROb2Rlcyk7XG4gICAgfSk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHRyZWVDb25maWcodmFsdWU6IE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdHJlZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLl90cmVlQ29uZmlnJC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlnOiBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnID0ge1xuICAgICAgLi4udmFsdWVcbiAgICB9O1xuICAgIGlmICghY29uZmlnLmdldE5vZGVMYWJlbCkge1xuICAgICAgY29uZmlnLmdldE5vZGVMYWJlbCA9IChub2RlKSA9PiBub2RlLmRhdGEuaWQ7XG4gICAgfVxuXG4gICAgaWYgKCFjb25maWcuZXhwYW5kSWNvbkNsYXNzKSB7XG4gICAgICBjb25maWcuZXhwYW5kSWNvbkNsYXNzID0gJ2ZhLXNvbGlkIGZhLWNoZXZyb24tcmlnaHQnO1xuICAgIH1cblxuICAgIGlmICghY29uZmlnLmNvbGxhcHNlSWNvbkNsYXNzKSB7XG4gICAgICBjb25maWcuY29sbGFwc2VJY29uQ2xhc3MgPSAnZmEtc29saWQgZmEtY2hldnJvbi1kb3duJztcbiAgICB9XG5cbiAgICB0aGlzLl90cmVlQ29uZmlnJC5uZXh0KGNvbmZpZyk7XG4gICAgdGhpcy5fdHJlZVN1YnNjcmlwdGlvbiA9IHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzKS50cmVlc1t2YWx1ZS50cmVlSWRdKS5zdWJzY3JpYmUoKHRyZWUpID0+XG4gICAgICB0aGlzLl90cmVlJC5uZXh0KHRyZWUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHJlZUNvbmZpZyQoKTogT2JzZXJ2YWJsZTxOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyZWVDb25maWckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5ZWROb2RlcyQoKTogT2JzZXJ2YWJsZTxOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXllZE5vZGVzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJdGVtSWQoXzogbnVtYmVyLCBub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5vZGUuZGF0YS5pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZWZhdWx0UGFkZGluZygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy5ub2RlUGFkZGluZyA/PyAyMDtcbiAgfVxuXG4gIHB1YmxpYyBleHBhbmQobm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGUpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgaWYgKHRyZWVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21FeHBhbmRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24odHJlZUlkLCBub2RlLmRhdGEuaWQpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY29sbGFwc2Uobm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGUpOiB2b2lkIHtcbiAgICBjb25zdCB0cmVlSWQgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpPy50cmVlSWQ7XG4gICAgaWYgKHRyZWVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21Db2xsYXBzZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbih0cmVlSWQsIG5vZGUuZGF0YS5pZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmb3JjZVJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwiZmxleC1jb2x1bW4tc3RyZXRjaCBmeEZsZXggbmdzc20tZXhwcmVzc2lvbi10cmVlXCI+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJmbGV4LWNvbHVtbi1zdHJldGNoIGZ4RmxleCBuZ3NzbS1leHByZXNzaW9uLXRyZWUtY29udGVudFwiXG4gICAgICAgICpuZ0lmPVwiKHRyZWVDb25maWckIHwgYXN5bmMpIGFzIHRyZWVDb25maWdcIj5cbiAgICAgICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBbaXRlbVNpemVdPVwidHJlZUNvbmZpZy5yb3dTaXplID8/IDMwXCIgY2xhc3M9XCJmeEZsZXhcIlxuICAgICAgICAgICAgKm5nSWY9XCJ0cmVlQ29uZmlnLmRpc2FibGVWaXJ0dWFsaXphdGlvbiAhPT0gdHJ1ZVwiPlxuICAgICAgICAgICAgPGRpdiAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIGRpc3BsYXllZE5vZGVzJCB8IGFzeW5jOyB0cmFja0J5OiBnZXRJdGVtSWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGVcIiBpZD1cInt7J25vZGVfJyArIGl0ZW0uZGF0YS5pZH19XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVUZW1wbGF0ZTtjb250ZXh0OiB7dHJlZUNvbmZpZywgaXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2Rlcy1jb250YWluZXJcIiAqbmdJZj1cInRyZWVDb25maWcuZGlzYWJsZVZpcnR1YWxpemF0aW9uID09PSB0cnVlXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXllZE5vZGVzJCB8IGFzeW5jOyB0cmFja0J5OiBnZXRJdGVtSWRcIiBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlXCJcbiAgICAgICAgICAgICAgICBpZD1cInt7J25vZGVfJyArIGl0ZW0uZGF0YS5pZH19XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVUZW1wbGF0ZTtjb250ZXh0OiB7dHJlZUNvbmZpZywgaXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuXG48bmctdGVtcGxhdGUgI25vZGVUZW1wbGF0ZSBsZXQtdHJlZUNvbmZpZz1cInRyZWVDb25maWdcIiBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1yb3ctY2VudGVyIGZ4RmxleFwiIFtzdHlsZS5oZWlnaHQucHhdPVwidHJlZUNvbmZpZy5yb3dTaXplID8/IDMwXCI+XG4gICAgICAgIDxtYXQtZGl2aWRlciBbdmVydGljYWxdPVwidHJ1ZVwiIGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGl2aWRlclwiXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInRyZWVDb25maWcucm93U2l6ZSA/PyAzMFwiICpuZ0Zvcj1cImxldCBwYXJ0IG9mIGl0ZW0ucGF0aFwiXG4gICAgICAgICAgICBbc3R5bGUubWFyZ2luLXJpZ2h0LnB4XT1cImdldERlZmF1bHRQYWRkaW5nKClcIj5cbiAgICAgICAgPC9tYXQtZGl2aWRlcj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwie3t0cmVlQ29uZmlnLmV4cGFuZEljb25DbGFzc319XCJcbiAgICAgICAgICAgICpuZ0lmPVwiKGl0ZW0uZGF0YS5pc0V4cGFuZGFibGUgfHwgaXRlbS5kYXRhLmhhc1Jvd0RldGFpbCkgJiYgaXRlbS5pc0V4cGFuZGVkID09PSBmYWxzZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO2V4cGFuZChpdGVtKTtcIiBpZD1cImV4cGFuZEljb25cIj5cbiAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwie3t0cmVlQ29uZmlnLmNvbGxhcHNlSWNvbkNsYXNzfX1cIlxuICAgICAgICAgICAgKm5nSWY9XCIoaXRlbS5kYXRhLmlzRXhwYW5kYWJsZSB8fCBpdGVtLmRhdGEuaGFzUm93RGV0YWlsKSAmJiBpdGVtLmlzRXhwYW5kZWQgPT09IHRydWVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtjb2xsYXBzZShpdGVtKTtcIiBpZD1cImNvbGxhcHNlSWNvblwiPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8bmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUgW25vZGVJZF09XCJpdGVtLmRhdGEuaWRcIiBbdHJlZUNvbmZpZ109XCJ0cmVlQ29uZmlnXCI+XG4gICAgICAgIDwvbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIml0ZW0uZGF0YS5oYXNSb3dEZXRhaWwgPT09IHRydWUgJiYgaXRlbS5pc0V4cGFuZGVkID09PSB0cnVlXCIgY2xhc3M9XCJmbGV4LXJvdy1jZW50ZXIgZnhGbGV4XCI+XG4gICAgICAgIDxtYXQtZGl2aWRlciBbdmVydGljYWxdPVwidHJ1ZVwiIGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGl2aWRlclwiXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImRldGFpbENvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHRcIiAqbmdGb3I9XCIgbGV0IHBhcnQgb2YgaXRlbS5wYXRoXCJcbiAgICAgICAgICAgIFtzdHlsZS5tYXJnaW4tcmlnaHQucHhdPVwiZ2V0RGVmYXVsdFBhZGRpbmcoKVwiPlxuICAgICAgICA8L21hdC1kaXZpZGVyPlxuXG4gICAgICAgIDxkaXYgI2RldGFpbENvbnRhaW5lciBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbC1jb21wb25lbnRcIj5cbiAgICAgICAgICAgIDxuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzIFtub2RlSWRdPVwiaXRlbS5kYXRhLmlkXCIgW3RyZWVDb25maWddPVwidHJlZUNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgKGhlaWdodENoYW5nZWQpPVwiZm9yY2VSZWZyZXNoKClcIj5cbiAgICAgICAgICAgIDwvbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
5
|
+
import { MatDividerModule } from '@angular/material/divider';
|
|
4
6
|
import { BehaviorSubject, combineLatest, filter, switchMap, takeUntil } from 'rxjs';
|
|
5
7
|
import { NgSsmComponent } from 'ngssm-store';
|
|
6
8
|
import { NgssmComponentDisplayDirective } from 'ngssm-toolkit';
|
|
7
9
|
import { selectNgssmExpressionTreeState } from '../../state';
|
|
10
|
+
import { NgssmCancelCutExpressionTreeNodeAction, NgssmCollapseAllExpressionTreeNodesAction, NgssmCutExpressionTreeNodeAction, NgssmExpandAllExpressionTreeNodesAction, NgssmPasteExpressionTreeNodeAction } from '../../actions';
|
|
8
11
|
import * as i0 from "@angular/core";
|
|
9
12
|
import * as i1 from "ngssm-store";
|
|
10
13
|
import * as i2 from "@angular/common";
|
|
11
14
|
import * as i3 from "@angular/material/icon";
|
|
12
|
-
|
|
15
|
+
import * as i4 from "@angular/material/menu";
|
|
16
|
+
import * as i5 from "@angular/material/divider";
|
|
17
|
+
const getDefaultCutAndPaste = () => ({
|
|
18
|
+
isCutAndPasteInProgress: false,
|
|
19
|
+
isPartOfCut: false,
|
|
20
|
+
canPasteInside: false,
|
|
21
|
+
canPasteAfter: false
|
|
22
|
+
});
|
|
23
|
+
export class NgssmExpressionTreeNodeComponent extends NgSsmComponent {
|
|
13
24
|
constructor(store) {
|
|
14
25
|
super(store);
|
|
15
26
|
this._nodeId$ = new BehaviorSubject(undefined);
|
|
@@ -19,20 +30,32 @@ class NgssmExpressionTreeNodeComponent extends NgSsmComponent {
|
|
|
19
30
|
this._nodeDescription$ = new BehaviorSubject(undefined);
|
|
20
31
|
this._componentAction$ = new BehaviorSubject(undefined);
|
|
21
32
|
this._componentToDisplay$ = new BehaviorSubject(undefined);
|
|
33
|
+
this._cutAndPaste$ = new BehaviorSubject(getDefaultCutAndPaste());
|
|
22
34
|
combineLatest([this._nodeId$, this._treeConfig$])
|
|
23
35
|
.pipe(filter((v) => v[0] !== undefined && v[1] !== undefined), takeUntil(this.unsubscribeAll$), switchMap((v) => combineLatest([
|
|
24
|
-
this.watch((s) => selectNgssmExpressionTreeState(s).trees[v[1]?.treeId ?? 'unknown']
|
|
25
|
-
this.watch((s) => selectNgssmExpressionTreeState(s).trees[v[1]?.treeId ?? 'unknown']
|
|
36
|
+
this.watch((s) => selectNgssmExpressionTreeState(s).trees[v[1]?.treeId ?? 'unknown']?.data[v[0] ?? 'unknown']),
|
|
37
|
+
this.watch((s) => selectNgssmExpressionTreeState(s).trees[v[1]?.treeId ?? 'unknown']?.nodes),
|
|
38
|
+
this.watch((s) => selectNgssmExpressionTreeState(s).trees[v[1]?.treeId ?? 'unknown']?.nodeCut)
|
|
26
39
|
])), takeUntil(this.unsubscribeAll$))
|
|
27
40
|
.subscribe((values) => {
|
|
28
41
|
const node = values[1].find((v) => v.data.id === this._nodeId$.getValue());
|
|
29
42
|
const treeConfig = this._treeConfig$.getValue();
|
|
30
43
|
const nodeValue = values[0];
|
|
44
|
+
const cutAndPaste = getDefaultCutAndPaste();
|
|
31
45
|
if (node && treeConfig && nodeValue) {
|
|
32
46
|
this._nodeLabel$.next(treeConfig.getNodeLabel?.(node, nodeValue) ?? '');
|
|
33
47
|
this._nodeCssIcon$.next(treeConfig.getNodeCssIcon?.(node, nodeValue) ?? undefined);
|
|
34
48
|
this._nodeDescription$.next(treeConfig.getNodeDescription?.(node, nodeValue));
|
|
49
|
+
if (values[2]) {
|
|
50
|
+
cutAndPaste.isPartOfCut = values[2].data.id === node.data.id || node.path.includes(values[2].data.id);
|
|
51
|
+
if (!cutAndPaste.isPartOfCut) {
|
|
52
|
+
cutAndPaste.canPasteInside = treeConfig.canPaste?.(values[2], node, 'Inside') ?? false;
|
|
53
|
+
cutAndPaste.canPasteAfter = treeConfig.canPaste?.(values[2], node, 'After') ?? false;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
35
56
|
}
|
|
57
|
+
cutAndPaste.isCutAndPasteInProgress = !!values[2];
|
|
58
|
+
this._cutAndPaste$.next(cutAndPaste);
|
|
36
59
|
});
|
|
37
60
|
combineLatest([this._nodeId$, this._treeConfig$])
|
|
38
61
|
.pipe(takeUntil(this.unsubscribeAll$))
|
|
@@ -57,6 +80,9 @@ class NgssmExpressionTreeNodeComponent extends NgSsmComponent {
|
|
|
57
80
|
}
|
|
58
81
|
this._treeConfig$.next(value);
|
|
59
82
|
}
|
|
83
|
+
get treeConfig() {
|
|
84
|
+
return this._treeConfig$.getValue();
|
|
85
|
+
}
|
|
60
86
|
get nodeLabel$() {
|
|
61
87
|
return this._nodeLabel$.asObservable();
|
|
62
88
|
}
|
|
@@ -72,16 +98,50 @@ class NgssmExpressionTreeNodeComponent extends NgSsmComponent {
|
|
|
72
98
|
get componentToDisplay$() {
|
|
73
99
|
return this._componentToDisplay$.asObservable();
|
|
74
100
|
}
|
|
75
|
-
|
|
76
|
-
|
|
101
|
+
get cutAndPaste$() {
|
|
102
|
+
return this._cutAndPaste$.asObservable();
|
|
103
|
+
}
|
|
104
|
+
expandAll() {
|
|
105
|
+
const treeId = this._treeConfig$.getValue()?.treeId;
|
|
106
|
+
if (treeId) {
|
|
107
|
+
this.dispatchAction(new NgssmExpandAllExpressionTreeNodesAction(treeId));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
collapseAll() {
|
|
111
|
+
const treeId = this._treeConfig$.getValue()?.treeId;
|
|
112
|
+
if (treeId) {
|
|
113
|
+
this.dispatchAction(new NgssmCollapseAllExpressionTreeNodesAction(treeId));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
cut() {
|
|
117
|
+
const treeId = this._treeConfig$.getValue()?.treeId;
|
|
118
|
+
const nodeId = this._nodeId$.getValue();
|
|
119
|
+
if (treeId && nodeId) {
|
|
120
|
+
this.dispatchAction(new NgssmCutExpressionTreeNodeAction(treeId, nodeId));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
cancelCut() {
|
|
124
|
+
const treeId = this._treeConfig$.getValue()?.treeId;
|
|
125
|
+
if (treeId) {
|
|
126
|
+
this.dispatchAction(new NgssmCancelCutExpressionTreeNodeAction(treeId));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
paste(target) {
|
|
130
|
+
const treeId = this._treeConfig$.getValue()?.treeId;
|
|
131
|
+
const nodeId = this._nodeId$.getValue();
|
|
132
|
+
if (treeId && nodeId) {
|
|
133
|
+
this.dispatchAction(new NgssmPasteExpressionTreeNodeAction(treeId, nodeId, target));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: NgssmExpressionTreeNodeComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
137
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", 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-icon\" *ngIf=\"(nodeCssIcon$ | async) !== undefined\">\n <mat-icon class=\"{{nodeCssIcon$ | async}}\"></mat-icon>\n</div>\n\n<div class=\"ngssm-expression-tree-node-label\" [matMenuTriggerFor]=\"contextMenu\"\n [class.ngssm-expression-tree-node-to-cut]=\"(cutAndPaste$ | async)?.isPartOfCut === true\">\n {{nodeLabel$ | async}}\n</div>\n\n<div class=\"ngssm-expression-tree-node-description\" [innerHTML]=\"nodeDescription$ | async\">\n</div>\n\n<div class=\"ngssm-expression-tree-node-description-component\" [ngssmComponentDisplay]=\"componentToDisplay$ | async\"\n [ngssmComponentAction]=\"componentAction$ | async\">\n</div>\n\n<mat-menu #contextMenu=\"matMenu\" [class]=\"'ngssm-expression-tree-popup-menu'\">\n <div class=\"flex-column-stretch\" *ngIf=\"treeConfig?.displayCutAndPasteMenus === true\">\n <button mat-menu-item (click)=\"cut()\" *ngIf=\"(cutAndPaste$ | async)?.isCutAndPasteInProgress === false\">\n <mat-icon class=\"fa-solid fa-scissors\"></mat-icon>\n <span>Cut</span>\n </button>\n <button mat-menu-item *ngIf=\"(cutAndPaste$ | async)?.isCutAndPasteInProgress === true\" (click)=\"cancelCut()\">\n <mat-icon class=\"fa-solid fa-slash\"></mat-icon>\n <span>Cancel cut</span>\n </button>\n <button mat-menu-item [disabled]=\"(cutAndPaste$ | async)?.canPasteInside !== true\" (click)=\"paste('Inside')\">\n <mat-icon class=\"fa-solid fa-paste\"></mat-icon>\n <span>Paste inside</span>\n </button>\n <button mat-menu-item [disabled]=\"(cutAndPaste$ | async)?.canPasteAfter !== true\" (click)=\"paste('After')\">\n <mat-icon class=\"fa-solid fa-paste\"></mat-icon>\n <span>Paste after</span>\n </button>\n <mat-divider></mat-divider>\n </div>\n\n <button mat-menu-item (click)=\"expandAll()\">\n <mat-icon class=\"fa-solid fa-up-right-and-down-left-from-center\"></mat-icon>\n <span>Expand all</span>\n </button>\n <button mat-menu-item (click)=\"collapseAll()\">\n <mat-icon class=\"fa-solid fa-down-left-and-up-right-to-center\"></mat-icon>\n <span>Collapse all</span>\n </button>\n</mat-menu>", styles: [":host{display:flex;flex-direction:row;align-items:center;flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: NgssmComponentDisplayDirective, selector: "[ngssmComponentDisplay]", inputs: ["ngssmComponentDisplay", "ngssmComponentAction"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
77
138
|
}
|
|
78
|
-
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgssmExpressionTreeNodeComponent, decorators: [{
|
|
139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: NgssmExpressionTreeNodeComponent, decorators: [{
|
|
80
140
|
type: Component,
|
|
81
|
-
args: [{ selector: 'ngssm-expression-tree-node', standalone: true, imports: [CommonModule, MatIconModule, NgssmComponentDisplayDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ngssm-expression-tree-node-icon\" *ngIf=\"(nodeCssIcon$ | async) !== undefined\">\n <mat-icon class=\"{{nodeCssIcon$ | async}}\"></mat-icon>\n</div>\n\n<div class=\"ngssm-expression-tree-node-label\">\n {{nodeLabel$ | async}}\n</div>\n\n<div class=\"ngssm-expression-tree-node-description\" [innerHTML]=\"nodeDescription$ | async\">\n</div>\n\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"] }]
|
|
141
|
+
args: [{ selector: 'ngssm-expression-tree-node', standalone: true, imports: [CommonModule, MatIconModule, MatMenuModule, MatDividerModule, NgssmComponentDisplayDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ngssm-expression-tree-node-icon\" *ngIf=\"(nodeCssIcon$ | async) !== undefined\">\n <mat-icon class=\"{{nodeCssIcon$ | async}}\"></mat-icon>\n</div>\n\n<div class=\"ngssm-expression-tree-node-label\" [matMenuTriggerFor]=\"contextMenu\"\n [class.ngssm-expression-tree-node-to-cut]=\"(cutAndPaste$ | async)?.isPartOfCut === true\">\n {{nodeLabel$ | async}}\n</div>\n\n<div class=\"ngssm-expression-tree-node-description\" [innerHTML]=\"nodeDescription$ | async\">\n</div>\n\n<div class=\"ngssm-expression-tree-node-description-component\" [ngssmComponentDisplay]=\"componentToDisplay$ | async\"\n [ngssmComponentAction]=\"componentAction$ | async\">\n</div>\n\n<mat-menu #contextMenu=\"matMenu\" [class]=\"'ngssm-expression-tree-popup-menu'\">\n <div class=\"flex-column-stretch\" *ngIf=\"treeConfig?.displayCutAndPasteMenus === true\">\n <button mat-menu-item (click)=\"cut()\" *ngIf=\"(cutAndPaste$ | async)?.isCutAndPasteInProgress === false\">\n <mat-icon class=\"fa-solid fa-scissors\"></mat-icon>\n <span>Cut</span>\n </button>\n <button mat-menu-item *ngIf=\"(cutAndPaste$ | async)?.isCutAndPasteInProgress === true\" (click)=\"cancelCut()\">\n <mat-icon class=\"fa-solid fa-slash\"></mat-icon>\n <span>Cancel cut</span>\n </button>\n <button mat-menu-item [disabled]=\"(cutAndPaste$ | async)?.canPasteInside !== true\" (click)=\"paste('Inside')\">\n <mat-icon class=\"fa-solid fa-paste\"></mat-icon>\n <span>Paste inside</span>\n </button>\n <button mat-menu-item [disabled]=\"(cutAndPaste$ | async)?.canPasteAfter !== true\" (click)=\"paste('After')\">\n <mat-icon class=\"fa-solid fa-paste\"></mat-icon>\n <span>Paste after</span>\n </button>\n <mat-divider></mat-divider>\n </div>\n\n <button mat-menu-item (click)=\"expandAll()\">\n <mat-icon class=\"fa-solid fa-up-right-and-down-left-from-center\"></mat-icon>\n <span>Expand all</span>\n </button>\n <button mat-menu-item (click)=\"collapseAll()\">\n <mat-icon class=\"fa-solid fa-down-left-and-up-right-to-center\"></mat-icon>\n <span>Collapse all</span>\n </button>\n</mat-menu>", styles: [":host{display:flex;flex-direction:row;align-items:center;flex:1}\n"] }]
|
|
82
142
|
}], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { nodeId: [{
|
|
83
143
|
type: Input
|
|
84
144
|
}], treeConfig: [{
|
|
85
145
|
type: Input
|
|
86
146
|
}] } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9jb21wb25lbnRzL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQWMsYUFBYSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhHLE9BQU8sRUFBRSxjQUFjLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDcEQsT0FBTyxFQUF3Qiw4QkFBOEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7O0FBRTdELE1BUWEsZ0NBQWlDLFNBQVEsY0FBYztJQVNsRSxZQUFZLEtBQVk7UUFDdEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBVEUsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUM5RCxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUF3QyxTQUFTLENBQUMsQ0FBQztRQUNyRixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUN2RSxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBbUMsU0FBUyxDQUFDLENBQUM7UUFDckYseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQU0sU0FBUyxDQUFDLENBQUM7UUFLMUUsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDOUMsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLEVBQ3ZELFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQy9CLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2QsYUFBYSxDQUFDO1lBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLElBQUksU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQztZQUM3RyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSSxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDNUYsQ0FBQyxDQUNILEVBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FDaEM7YUFDQSxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDM0UsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsSUFBSSxJQUFJLElBQUksVUFBVSxJQUFJLFNBQVMsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDeEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQztnQkFDbkYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUMvRTtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDckMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QixJQUFJLFVBQVUsSUFBSSxNQUFNLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFxQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDM0csSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsQ0FBQzthQUNyRTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQW9CLE1BQU0sQ0FBQyxLQUFnQztRQUN6RCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQW9CLFVBQVUsQ0FBQyxLQUFtRDtRQUNoRixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsQ0FBQzs4R0FqRlUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MscUtDbkI3QyxzaUJBYU0sMkhEQ00sWUFBWSx1TEFBRSxhQUFhLG9MQUFFLDhCQUE4Qjs7U0FLMUQsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0M7a0JBUjVDLFNBQVM7K0JBQ0UsNEJBQTRCLGNBQzFCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsOEJBQThCLENBQUMsbUJBR3JELHVCQUF1QixDQUFDLE1BQU07NEZBaUQzQixNQUFNO3NCQUF6QixLQUFLO2dCQVFjLFVBQVU7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOZ1NzbUNvbXBvbmVudCwgU3RvcmUgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5pbXBvcnQgeyBOZ3NzbUNvbXBvbmVudEFjdGlvbiwgTmdzc21Db21wb25lbnREaXNwbGF5RGlyZWN0aXZlIH0gZnJvbSAnbmdzc20tdG9vbGtpdCc7XG5cbmltcG9ydCB7IE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcsIE5nc3NtRXhwcmVzc2lvblRyZWVDdXN0b21Db21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTmdzc21Db21wb25lbnREaXNwbGF5RGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTmdzc21FeHByZXNzaW9uVHJlZU5vZGVDb21wb25lbnQgZXh0ZW5kcyBOZ1NzbUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25vZGVJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdHJlZUNvbmZpZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25vZGVMYWJlbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ub2RlQ3NzSWNvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbm9kZURlc2NyaXB0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb21wb25lbnRBY3Rpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOZ3NzbUNvbXBvbmVudEFjdGlvbiB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50VG9EaXNwbGF5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih1bmRlZmluZWQpO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSkge1xuICAgIHN1cGVyKHN0b3JlKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX25vZGVJZCQsIHRoaXMuX3RyZWVDb25maWckXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHYpID0+IHZbMF0gIT09IHVuZGVmaW5lZCAmJiB2WzFdICE9PSB1bmRlZmluZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpLFxuICAgICAgICBzd2l0Y2hNYXAoKHYpID0+XG4gICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLndhdGNoKChzKSA9PiBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUocykudHJlZXNbdlsxXT8udHJlZUlkID8/ICd1bmtub3duJ10uZGF0YVt2WzBdID8/ICd1bmtub3duJ10pLFxuICAgICAgICAgICAgdGhpcy53YXRjaCgocykgPT4gc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlKHMpLnRyZWVzW3ZbMV0/LnRyZWVJZCA/PyAndW5rbm93biddLm5vZGVzKVxuICAgICAgICAgIF0pXG4gICAgICAgICksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgICBjb25zdCBub2RlID0gdmFsdWVzWzFdLmZpbmQoKHYpID0+IHYuZGF0YS5pZCA9PT0gdGhpcy5fbm9kZUlkJC5nZXRWYWx1ZSgpKTtcbiAgICAgICAgY29uc3QgdHJlZUNvbmZpZyA9IHRoaXMuX3RyZWVDb25maWckLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IG5vZGVWYWx1ZSA9IHZhbHVlc1swXTtcbiAgICAgICAgaWYgKG5vZGUgJiYgdHJlZUNvbmZpZyAmJiBub2RlVmFsdWUpIHtcbiAgICAgICAgICB0aGlzLl9ub2RlTGFiZWwkLm5leHQodHJlZUNvbmZpZy5nZXROb2RlTGFiZWw/Lihub2RlLCBub2RlVmFsdWUpID8/ICcnKTtcbiAgICAgICAgICB0aGlzLl9ub2RlQ3NzSWNvbiQubmV4dCh0cmVlQ29uZmlnLmdldE5vZGVDc3NJY29uPy4obm9kZSwgbm9kZVZhbHVlKSA/PyB1bmRlZmluZWQpO1xuICAgICAgICAgIHRoaXMuX25vZGVEZXNjcmlwdGlvbiQubmV4dCh0cmVlQ29uZmlnLmdldE5vZGVEZXNjcmlwdGlvbj8uKG5vZGUsIG5vZGVWYWx1ZSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX25vZGVJZCQsIHRoaXMuX3RyZWVDb25maWckXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgY29uc3QgdHJlZUNvbmZpZyA9IHZhbHVlc1sxXTtcbiAgICAgICAgY29uc3Qgbm9kZUlkID0gdmFsdWVzWzBdO1xuICAgICAgICBpZiAodHJlZUNvbmZpZyAmJiBub2RlSWQpIHtcbiAgICAgICAgICB0aGlzLl9jb21wb25lbnRBY3Rpb24kLm5leHQoKGM6IE5nc3NtRXhwcmVzc2lvblRyZWVDdXN0b21Db21wb25lbnQpID0+IGMuc2V0dXAodHJlZUNvbmZpZy50cmVlSWQsIG5vZGVJZCkpO1xuICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFRvRGlzcGxheSQubmV4dCh0cmVlQ29uZmlnLm5vZGVEZXNjcmlwdGlvbkNvbXBvbmVudCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBub2RlSWQodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbm9kZUlkJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdHJlZUNvbmZpZyh2YWx1ZTogTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJlZUNvbmZpZyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5vZGVMYWJlbCQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZUxhYmVsJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbm9kZUNzc0ljb24kKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGVDc3NJY29uJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbm9kZURlc2NyaXB0aW9uJCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLl9ub2RlRGVzY3JpcHRpb24kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb21wb25lbnRBY3Rpb24kKCk6IE9ic2VydmFibGU8Tmdzc21Db21wb25lbnRBY3Rpb24gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50QWN0aW9uJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tcG9uZW50VG9EaXNwbGF5JCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRUb0Rpc3BsYXkkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtaWNvblwiICpuZ0lmPVwiKG5vZGVDc3NJY29uJCB8IGFzeW5jKSAhPT0gdW5kZWZpbmVkXCI+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwie3tub2RlQ3NzSWNvbiQgfCBhc3luY319XCI+PC9tYXQtaWNvbj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtbGFiZWxcIj5cbiAgICB7e25vZGVMYWJlbCQgfCBhc3luY319XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRlc2NyaXB0aW9uXCIgW2lubmVySFRNTF09XCJub2RlRGVzY3JpcHRpb24kIHwgYXN5bmNcIj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGVzY3JpcHRpb24tY29tcG9uZW50XCIgW25nc3NtQ29tcG9uZW50RGlzcGxheV09XCJjb21wb25lbnRUb0Rpc3BsYXkkIHwgYXN5bmNcIlxuICAgIFtuZ3NzbUNvbXBvbmVudEFjdGlvbl09XCJjb21wb25lbnRBY3Rpb24kIHwgYXN5bmNcIj5cbjwvZGl2PiJdfQ==
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tdHJlZS9zcmMvbGliL25nc3NtLWV4cHJlc3Npb24tdHJlZS9jb21wb25lbnRzL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRyxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBd0IsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdELE9BQU8sRUFDTCxzQ0FBc0MsRUFDdEMseUNBQXlDLEVB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QUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdTc21Db21wb25lbnQsIFN0b3JlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuaW1wb3J0IHsgTmdzc21Db21wb25lbnRBY3Rpb24sIE5nc3NtQ29tcG9uZW50RGlzcGxheURpcmVjdGl2ZSB9IGZyb20gJ25nc3NtLXRvb2xraXQnO1xuXG5pbXBvcnQgeyBOZ3NzbUV4cHJlc3Npb25UcmVlQ29uZmlnLCBOZ3NzbUV4cHJlc3Npb25UcmVlQ3VzdG9tQ29tcG9uZW50LCBDdXRBbmRQYXN0ZVRhcmdldCB9IGZyb20gJy4uLy4uL21vZGVsJztcbmltcG9ydCB7IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlJztcbmltcG9ydCB7XG4gIE5nc3NtQ2FuY2VsQ3V0RXhwcmVzc2lvblRyZWVOb2RlQWN0aW9uLFxuICBOZ3NzbUNvbGxhcHNlQWxsRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbixcbiAgTmdzc21DdXRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24sXG4gIE5nc3NtRXhwYW5kQWxsRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbixcbiAgTmdzc21QYXN0ZUV4cHJlc3Npb25UcmVlTm9kZUFjdGlvblxufSBmcm9tICcuLi8uLi9hY3Rpb25zJztcblxuaW50ZXJmYWNlIEN1dEFuZFBhc3RlIHtcbiAgaXNDdXRBbmRQYXN0ZUluUHJvZ3Jlc3M6IGJvb2xlYW47XG4gIGlzUGFydE9mQ3V0OiBib29sZWFuO1xuICBjYW5QYXN0ZUluc2lkZTogYm9vbGVhbjtcbiAgY2FuUGFzdGVBZnRlcjogYm9vbGVhbjtcbn1cblxuY29uc3QgZ2V0RGVmYXVsdEN1dEFuZFBhc3RlID0gKCk6IEN1dEFuZFBhc3RlID0+ICh7XG4gIGlzQ3V0QW5kUGFzdGVJblByb2dyZXNzOiBmYWxzZSxcbiAgaXNQYXJ0T2ZDdXQ6IGZhbHNlLFxuICBjYW5QYXN0ZUluc2lkZTogZmFsc2UsXG4gIGNhblBhc3RlQWZ0ZXI6IGZhbHNlXG59KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRNZW51TW9kdWxlLCBNYXREaXZpZGVyTW9kdWxlLCBOZ3NzbUNvbXBvbmVudERpc3BsYXlEaXJlY3RpdmVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZUNvbXBvbmVudCBleHRlbmRzIE5nU3NtQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbm9kZUlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90cmVlQ29uZmlnJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbm9kZUxhYmVsJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25vZGVDc3NJY29uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ub2RlRGVzY3JpcHRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudEFjdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5nc3NtQ29tcG9uZW50QWN0aW9uIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb21wb25lbnRUb0Rpc3BsYXkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1dEFuZFBhc3RlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q3V0QW5kUGFzdGU+KGdldERlZmF1bHRDdXRBbmRQYXN0ZSgpKTtcblxuICBjb25zdHJ1Y3RvcihzdG9yZTogU3RvcmUpIHtcbiAgICBzdXBlcihzdG9yZSk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9ub2RlSWQkLCB0aGlzLl90cmVlQ29uZmlnJF0pXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCh2KSA9PiB2WzBdICE9PSB1bmRlZmluZWQgJiYgdlsxXSAhPT0gdW5kZWZpbmVkKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2KSA9PlxuICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy53YXRjaCgocykgPT4gc2VsZWN0Tmdzc21FeHByZXNzaW9uVHJlZVN0YXRlKHMpLnRyZWVzW3ZbMV0/LnRyZWVJZCA/PyAndW5rbm93biddPy5kYXRhW3ZbMF0gPz8gJ3Vua25vd24nXSksXG4gICAgICAgICAgICB0aGlzLndhdGNoKChzKSA9PiBzZWxlY3ROZ3NzbUV4cHJlc3Npb25UcmVlU3RhdGUocykudHJlZXNbdlsxXT8udHJlZUlkID8/ICd1bmtub3duJ10/Lm5vZGVzKSxcbiAgICAgICAgICAgIHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZShzKS50cmVlc1t2WzFdPy50cmVlSWQgPz8gJ3Vua25vd24nXT8ubm9kZUN1dClcbiAgICAgICAgICBdKVxuICAgICAgICApLFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHZhbHVlc1sxXS5maW5kKCh2KSA9PiB2LmRhdGEuaWQgPT09IHRoaXMuX25vZGVJZCQuZ2V0VmFsdWUoKSk7XG4gICAgICAgIGNvbnN0IHRyZWVDb25maWcgPSB0aGlzLl90cmVlQ29uZmlnJC5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBub2RlVmFsdWUgPSB2YWx1ZXNbMF07XG4gICAgICAgIGNvbnN0IGN1dEFuZFBhc3RlOiBDdXRBbmRQYXN0ZSA9IGdldERlZmF1bHRDdXRBbmRQYXN0ZSgpO1xuICAgICAgICBpZiAobm9kZSAmJiB0cmVlQ29uZmlnICYmIG5vZGVWYWx1ZSkge1xuICAgICAgICAgIHRoaXMuX25vZGVMYWJlbCQubmV4dCh0cmVlQ29uZmlnLmdldE5vZGVMYWJlbD8uKG5vZGUsIG5vZGVWYWx1ZSkgPz8gJycpO1xuICAgICAgICAgIHRoaXMuX25vZGVDc3NJY29uJC5uZXh0KHRyZWVDb25maWcuZ2V0Tm9kZUNzc0ljb24/Lihub2RlLCBub2RlVmFsdWUpID8/IHVuZGVmaW5lZCk7XG4gICAgICAgICAgdGhpcy5fbm9kZURlc2NyaXB0aW9uJC5uZXh0KHRyZWVDb25maWcuZ2V0Tm9kZURlc2NyaXB0aW9uPy4obm9kZSwgbm9kZVZhbHVlKSk7XG5cbiAgICAgICAgICBpZiAodmFsdWVzWzJdKSB7XG4gICAgICAgICAgICBjdXRBbmRQYXN0ZS5pc1BhcnRPZkN1dCA9IHZhbHVlc1syXS5kYXRhLmlkID09PSBub2RlLmRhdGEuaWQgfHwgbm9kZS5wYXRoLmluY2x1ZGVzKHZhbHVlc1syXS5kYXRhLmlkKTtcblxuICAgICAgICAgICAgaWYgKCFjdXRBbmRQYXN0ZS5pc1BhcnRPZkN1dCkge1xuICAgICAgICAgICAgICBjdXRBbmRQYXN0ZS5jYW5QYXN0ZUluc2lkZSA9IHRyZWVDb25maWcuY2FuUGFzdGU/Lih2YWx1ZXNbMl0sIG5vZGUsICdJbnNpZGUnKSA/PyBmYWxzZTtcbiAgICAgICAgICAgICAgY3V0QW5kUGFzdGUuY2FuUGFzdGVBZnRlciA9IHRyZWVDb25maWcuY2FuUGFzdGU/Lih2YWx1ZXNbMl0sIG5vZGUsICdBZnRlcicpID8/IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGN1dEFuZFBhc3RlLmlzQ3V0QW5kUGFzdGVJblByb2dyZXNzID0gISF2YWx1ZXNbMl07XG5cbiAgICAgICAgdGhpcy5fY3V0QW5kUGFzdGUkLm5leHQoY3V0QW5kUGFzdGUpO1xuICAgICAgfSk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9ub2RlSWQkLCB0aGlzLl90cmVlQ29uZmlnJF0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICAgIGNvbnN0IHRyZWVDb25maWcgPSB2YWx1ZXNbMV07XG4gICAgICAgIGNvbnN0IG5vZGVJZCA9IHZhbHVlc1swXTtcbiAgICAgICAgaWYgKHRyZWVDb25maWcgJiYgbm9kZUlkKSB7XG4gICAgICAgICAgdGhpcy5fY29tcG9uZW50QWN0aW9uJC5uZXh0KChjOiBOZ3NzbUV4cHJlc3Npb25UcmVlQ3VzdG9tQ29tcG9uZW50KSA9PiBjLnNldHVwKHRyZWVDb25maWcudHJlZUlkLCBub2RlSWQpKTtcbiAgICAgICAgICB0aGlzLl9jb21wb25lbnRUb0Rpc3BsYXkkLm5leHQodHJlZUNvbmZpZy5ub2RlRGVzY3JpcHRpb25Db21wb25lbnQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgbm9kZUlkKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX25vZGVJZCQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHRyZWVDb25maWcodmFsdWU6IE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3RyZWVDb25maWckLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCB0cmVlQ29uZmlnKCk6IE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWcgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdHJlZUNvbmZpZyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbm9kZUxhYmVsJCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl9ub2RlTGFiZWwkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBub2RlQ3NzSWNvbiQoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZUNzc0ljb24kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBub2RlRGVzY3JpcHRpb24kKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGVEZXNjcmlwdGlvbiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudEFjdGlvbiQoKTogT2JzZXJ2YWJsZTxOZ3NzbUNvbXBvbmVudEFjdGlvbiB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRBY3Rpb24kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb21wb25lbnRUb0Rpc3BsYXkkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFRvRGlzcGxheSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1dEFuZFBhc3RlJCgpOiBPYnNlcnZhYmxlPEN1dEFuZFBhc3RlPiB7XG4gICAgcmV0dXJuIHRoaXMuX2N1dEFuZFBhc3RlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBleHBhbmRBbGwoKTogdm9pZCB7XG4gICAgY29uc3QgdHJlZUlkID0gdGhpcy5fdHJlZUNvbmZpZyQuZ2V0VmFsdWUoKT8udHJlZUlkO1xuICAgIGlmICh0cmVlSWQpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24obmV3IE5nc3NtRXhwYW5kQWxsRXhwcmVzc2lvblRyZWVOb2Rlc0FjdGlvbih0cmVlSWQpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY29sbGFwc2VBbGwoKTogdm9pZCB7XG4gICAgY29uc3QgdHJlZUlkID0gdGhpcy5fdHJlZUNvbmZpZyQuZ2V0VmFsdWUoKT8udHJlZUlkO1xuICAgIGlmICh0cmVlSWQpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24obmV3IE5nc3NtQ29sbGFwc2VBbGxFeHByZXNzaW9uVHJlZU5vZGVzQWN0aW9uKHRyZWVJZCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjdXQoKTogdm9pZCB7XG4gICAgY29uc3QgdHJlZUlkID0gdGhpcy5fdHJlZUNvbmZpZyQuZ2V0VmFsdWUoKT8udHJlZUlkO1xuICAgIGNvbnN0IG5vZGVJZCA9IHRoaXMuX25vZGVJZCQuZ2V0VmFsdWUoKTtcbiAgICBpZiAodHJlZUlkICYmIG5vZGVJZCkge1xuICAgICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgTmdzc21DdXRFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24odHJlZUlkLCBub2RlSWQpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsQ3V0KCk6IHZvaWQge1xuICAgIGNvbnN0IHRyZWVJZCA9IHRoaXMuX3RyZWVDb25maWckLmdldFZhbHVlKCk/LnRyZWVJZDtcbiAgICBpZiAodHJlZUlkKSB7XG4gICAgICB0aGlzLmRpc3BhdGNoQWN0aW9uKG5ldyBOZ3NzbUNhbmNlbEN1dEV4cHJlc3Npb25UcmVlTm9kZUFjdGlvbih0cmVlSWQpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcGFzdGUodGFyZ2V0OiBDdXRBbmRQYXN0ZVRhcmdldCk6IHZvaWQge1xuICAgIGNvbnN0IHRyZWVJZCA9IHRoaXMuX3RyZWVDb25maWckLmdldFZhbHVlKCk/LnRyZWVJZDtcbiAgICBjb25zdCBub2RlSWQgPSB0aGlzLl9ub2RlSWQkLmdldFZhbHVlKCk7XG4gICAgaWYgKHRyZWVJZCAmJiBub2RlSWQpIHtcbiAgICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24obmV3IE5nc3NtUGFzdGVFeHByZXNzaW9uVHJlZU5vZGVBY3Rpb24odHJlZUlkLCBub2RlSWQsIHRhcmdldCkpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWljb25cIiAqbmdJZj1cIihub2RlQ3NzSWNvbiQgfCBhc3luYykgIT09IHVuZGVmaW5lZFwiPlxuICAgIDxtYXQtaWNvbiBjbGFzcz1cInt7bm9kZUNzc0ljb24kIHwgYXN5bmN9fVwiPjwvbWF0LWljb24+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWxhYmVsXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImNvbnRleHRNZW51XCJcbiAgICBbY2xhc3Mubmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtdG8tY3V0XT1cIihjdXRBbmRQYXN0ZSQgfCBhc3luYyk/LmlzUGFydE9mQ3V0ID09PSB0cnVlXCI+XG4gICAge3tub2RlTGFiZWwkIHwgYXN5bmN9fVxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJuZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXNjcmlwdGlvblwiIFtpbm5lckhUTUxdPVwibm9kZURlc2NyaXB0aW9uJCB8IGFzeW5jXCI+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm5nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRlc2NyaXB0aW9uLWNvbXBvbmVudFwiIFtuZ3NzbUNvbXBvbmVudERpc3BsYXldPVwiY29tcG9uZW50VG9EaXNwbGF5JCB8IGFzeW5jXCJcbiAgICBbbmdzc21Db21wb25lbnRBY3Rpb25dPVwiY29tcG9uZW50QWN0aW9uJCB8IGFzeW5jXCI+XG48L2Rpdj5cblxuPG1hdC1tZW51ICNjb250ZXh0TWVudT1cIm1hdE1lbnVcIiBbY2xhc3NdPVwiJ25nc3NtLWV4cHJlc3Npb24tdHJlZS1wb3B1cC1tZW51J1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWNvbHVtbi1zdHJldGNoXCIgKm5nSWY9XCJ0cmVlQ29uZmlnPy5kaXNwbGF5Q3V0QW5kUGFzdGVNZW51cyA9PT0gdHJ1ZVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImN1dCgpXCIgKm5nSWY9XCIoY3V0QW5kUGFzdGUkIHwgYXN5bmMpPy5pc0N1dEFuZFBhc3RlSW5Qcm9ncmVzcyA9PT0gZmFsc2VcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLXNjaXNzb3JzXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuPkN1dDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdJZj1cIihjdXRBbmRQYXN0ZSQgfCBhc3luYyk/LmlzQ3V0QW5kUGFzdGVJblByb2dyZXNzID09PSB0cnVlXCIgKGNsaWNrKT1cImNhbmNlbEN1dCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1zbGFzaFwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICA8c3Bhbj5DYW5jZWwgY3V0PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFtkaXNhYmxlZF09XCIoY3V0QW5kUGFzdGUkIHwgYXN5bmMpPy5jYW5QYXN0ZUluc2lkZSAhPT0gdHJ1ZVwiIChjbGljayk9XCJwYXN0ZSgnSW5zaWRlJylcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLXBhc3RlXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuPlBhc3RlIGluc2lkZTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBbZGlzYWJsZWRdPVwiKGN1dEFuZFBhc3RlJCB8IGFzeW5jKT8uY2FuUGFzdGVBZnRlciAhPT0gdHJ1ZVwiIChjbGljayk9XCJwYXN0ZSgnQWZ0ZXInKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtcGFzdGVcIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPHNwYW4+UGFzdGUgYWZ0ZXI8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICA8L2Rpdj5cblxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZXhwYW5kQWxsKClcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtdXAtcmlnaHQtYW5kLWRvd24tbGVmdC1mcm9tLWNlbnRlclwiPjwvbWF0LWljb24+XG4gICAgICAgIDxzcGFuPkV4cGFuZCBhbGw8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJjb2xsYXBzZUFsbCgpXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWRvd24tbGVmdC1hbmQtdXAtcmlnaHQtdG8tY2VudGVyXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+Q29sbGFwc2UgYWxsPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9tYXQtbWVudT4iXX0=
|
|
@@ -6,7 +6,7 @@ import { NgssmComponentDisplayDirective } from 'ngssm-toolkit';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "ngssm-store";
|
|
8
8
|
import * as i2 from "@angular/common";
|
|
9
|
-
class NgssmExpressionTreeNodeDetailsComponent extends NgSsmComponent {
|
|
9
|
+
export class NgssmExpressionTreeNodeDetailsComponent extends NgSsmComponent {
|
|
10
10
|
constructor(store, elementRef) {
|
|
11
11
|
super(store);
|
|
12
12
|
this.elementRef = elementRef;
|
|
@@ -51,11 +51,10 @@ class NgssmExpressionTreeNodeDetailsComponent extends NgSsmComponent {
|
|
|
51
51
|
get componentToDisplay$() {
|
|
52
52
|
return this._componentToDisplay$.asObservable();
|
|
53
53
|
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.
|
|
55
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: NgssmExpressionTreeNodeDetailsComponent, deps: [{ token: i1.Store }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", 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 }); }
|
|
56
56
|
}
|
|
57
|
-
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgssmExpressionTreeNodeDetailsComponent, decorators: [{
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: NgssmExpressionTreeNodeDetailsComponent, decorators: [{
|
|
59
58
|
type: Component,
|
|
60
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>" }]
|
|
61
60
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i0.ElementRef }]; }, propDecorators: { heightChanged: [{
|
|
@@ -65,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
|
|
|
65
64
|
}], treeConfig: [{
|
|
66
65
|
type: Input
|
|
67
66
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS10cmVlL3NyYy9saWIvbmdzc20tZXhwcmVzc2lvbi10cmVlL2NvbXBvbmVudHMvbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvY29tcG9uZW50cy9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQWMsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUU1RixPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBd0IsOEJBQThCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFhckYsTUFBTSxPQUFPLHVDQUF3QyxTQUFRLGNBQWM7SUFVekUsWUFBWSxLQUFZLEVBQVUsVUFBc0I7UUFDdEQsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRG1CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFUdkMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDakMsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBNkIsQ0FBQztRQUN4RCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBbUMsU0FBUyxDQUFDLENBQUM7UUFDckYseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQU0sU0FBUyxDQUFDLENBQUM7UUFFcEUsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFWCxrQkFBYSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBS2hGLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUV4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBcUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0csSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUM5RCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzlGLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBb0IsTUFBTSxDQUFDLEtBQWdDO1FBQ3pELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO1NBQzlGO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQW9CLFVBQVUsQ0FBQyxLQUFtRDtRQUNoRixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkVBQTJFLENBQUMsQ0FBQztTQUM5RjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEQsQ0FBQzs4R0F4RFUsdUNBQXVDO2tHQUF2Qyx1Q0FBdUMsME5DbEJwRCx5SEFBbUgseUREYXZHLFlBQVksb0ZBQUUsOEJBQThCOzsyRkFLM0MsdUNBQXVDO2tCQVJuRCxTQUFTOytCQUNFLG9DQUFvQyxjQUNsQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsOEJBQThCLENBQUMsbUJBR3RDLHVCQUF1QixDQUFDLE1BQU07cUhBVTlCLGFBQWE7c0JBQTdCLE1BQU07Z0JBa0JhLE1BQU07c0JBQXpCLEtBQUs7Z0JBWWMsVUFBVTtzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBFbGVtZW50UmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgY29tYmluZUxhdGVzdCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5nU3NtQ29tcG9uZW50LCBTdG9yZSB9IGZyb20gJ25nc3NtLXN0b3JlJztcbmltcG9ydCB7IE5nc3NtQ29tcG9uZW50QWN0aW9uLCBOZ3NzbUNvbXBvbmVudERpc3BsYXlEaXJlY3RpdmUgfSBmcm9tICduZ3NzbS10b29sa2l0JztcblxuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZywgTmdzc21FeHByZXNzaW9uVHJlZUN1c3RvbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vZGVsJztcbmltcG9ydCB7IHNlbGVjdE5nc3NtRXhwcmVzc2lvblRyZWVTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE5nc3NtQ29tcG9uZW50RGlzcGxheURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9uZ3NzbS1leHByZXNzaW9uLXRyZWUtbm9kZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLW5vZGUtZGV0YWlscy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZURldGFpbHNDb21wb25lbnQgZXh0ZW5kcyBOZ1NzbUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25vZGVJZCQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyZWVDb25maWckID0gbmV3IFN1YmplY3Q8Tmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50QWN0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tmdzc21Db21wb25lbnRBY3Rpb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudFRvRGlzcGxheSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBoZWlnaHRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoc3RvcmUpO1xuXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fbm9kZUlkJCwgdGhpcy5fdHJlZUNvbmZpZyRdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLl9jb21wb25lbnRBY3Rpb24kLm5leHQoKGM6IE5nc3NtRXhwcmVzc2lvblRyZWVDdXN0b21Db21wb25lbnQpID0+IGMuc2V0dXAodmFsdWVzWzFdLnRyZWVJZCwgdmFsdWVzWzBdKSk7XG4gICAgICAgIHRoaXMuX2NvbXBvbmVudFRvRGlzcGxheSQubmV4dCh2YWx1ZXNbMV0ubm9kZURldGFpbENvbXBvbmVudCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaGVpZ2h0Q2hhbmdlZC5lbWl0KHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgPz8gMCk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IG5vZGVJZCh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb21wb25lbnQgTmdzc21FeHByZXNzaW9uVHJlZU5vZGVEZXRhaWxzQ29tcG9uZW50IGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fbm9kZUlkJC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdHJlZUNvbmZpZyh2YWx1ZTogTmdzc21FeHByZXNzaW9uVHJlZUNvbmZpZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29tcG9uZW50IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlRGV0YWlsc0NvbXBvbmVudCBpcyBhbHJlYWR5IGluaXRpYWxpemVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuX3RyZWVDb25maWckLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb21wb25lbnRBY3Rpb24kKCk6IE9ic2VydmFibGU8Tmdzc21Db21wb25lbnRBY3Rpb24gfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50QWN0aW9uJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tcG9uZW50VG9EaXNwbGF5JCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRUb0Rpc3BsYXkkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG59XG4iLCI8ZGl2IFtuZ3NzbUNvbXBvbmVudERpc3BsYXldPVwiY29tcG9uZW50VG9EaXNwbGF5JCB8IGFzeW5jXCIgW25nc3NtQ29tcG9uZW50QWN0aW9uXT1cImNvbXBvbmVudEFjdGlvbiQgfCBhc3luY1wiPjwvZGl2PiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tZXhwcmVzc2lvbi10cmVlLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXRyZWUvc3JjL2xpYi9uZ3NzbS1leHByZXNzaW9uLXRyZWUvbW9kZWwvbmdzc20tZXhwcmVzc2lvbi10cmVlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZUN1c3RvbUNvbXBvbmVudCB9IGZyb20gJy4vbmdzc20tZXhwcmVzc2lvbi10cmVlLWN1c3RvbS1jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdzc21FeHByZXNzaW9uVHJlZU5vZGUgfSBmcm9tICcuL25nc3NtLWV4cHJlc3Npb24tdHJlZS1ub2RlJztcblxuZXhwb3J0IHR5cGUgQ3V0QW5kUGFzdGVUYXJnZXQgPSAnQWZ0ZXInIHwgJ0luc2lkZSc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwYXJhbWVlcnMgb2YgYW4gZXhwcmVzc2lvbiB0cmVlIGluc3RhbmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5nc3NtRXhwcmVzc2lvblRyZWVDb25maWc8VERhdGEgPSBhbnk+IHtcbiAgLyoqXG4gICAqIElkZW50aWZpZXIgb2YgdGhlIHRyZWUgdXNlZCB0byBhc3NvY2lhdGUgZGF0YSBzdG9yZWQgaW4gdGhlIHN0YXRlIHdpdGggdGhlIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICovXG4gIHRyZWVJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCBubyB2aXJ0dWFsaXphdGlvbiBpcyBhcHBsaWVkLlxuICAgKi9cbiAgZGlzYWJsZVZpcnR1YWxpemF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQmFzZSBsZWZ0IHBhZGRpbmcgZm9yIGEgIHJvdyBpbiBwaXhlbHMuXG4gICAqIFRoZSByZWFsIHBhZGRpbmcgaXMgdGhlIGRlcHRoIG9mIHRoZSBub2RlIG11bHRpcGxpZWQgYnkgdGhpcyB2YWx1ZS5cbiAgICogQnkgZGVmYXVsdCAyMHB4LlxuICAgKi9cbiAgbm9kZVBhZGRpbmc/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEhlaWdodCBvZiBhIHJvdyBpbiBwaXhlbHMuXG4gICAqIEJ5IGRlZmF1bHQgMzBweC5cbiAgICovXG4gIHJvd1NpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBjc3MgY2xhc3MgdXNlZCB0byByZW5kZXIgdGhlIGV4cGFuZCBpY29uLlxuICAgKiBCeSBkZWZhdWx0ICdmYS1zb2xpZCBmYS1jaGV2cm9uLXJpZ2h0J1xuICAgKi9cbiAgZXhwYW5kSWNvbkNsYXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY3NzIGNsYXNzIHVzZWQgdG8gcmVuZGVyIHRoZSBjb2xscGFzZSBpY29uLlxuICAgKiBCeSBkZWZhdWx0ICdmYS1zb2xpZCBmYS1jaGV2cm9uLWRvd24nXG4gICAqL1xuICBjb2xsYXBzZUljb25DbGFzcz86IHN0cmluZztcblxuICAvKipcbiAgICogR2V0IHRoZSBsYWJlbCBvZiB0aGUgbm9kZS5cbiAgICogQHBhcmFtIG5vZGVcbiAgICogQHBhcmFtIGRhdGEgVGhlIGN1cnJlbnQgZGF0YSB0byBiZSByZW5kZXJlZCBieSB0aGUgbm9kZVxuICAgKiBAcmV0dXJucyBUaGUgc3RyaW5nIHZhbHVlIG9mIHRoZSBsYWJlbFxuICAgKi9cbiAgZ2V0Tm9kZUxhYmVsPzogKG5vZGU6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlPFREYXRhPiwgZGF0YTogVERhdGEpID0+IHN0cmluZztcblxuICAvKipcbiAgICogR2V0IGEgY3NzIGljb24gdG8gZGlzcGxheSBhdCB0aGUgbGVmdCBvZiB0aGUgbGFiZWxcbiAgICogQHBhcmFtIG5vZGVcbiAgICogQHBhcmFtIGRhdGEgVGhlIGN1cnJlbnQgZGF0YSB0byBiZSByZW5kZXJlZCBieSB0aGUgbm9kZVxuICAgKiBAcmV0dXJucyBUaGUgc3RyaW5nIHZhbHVlIG9mIHRoZSBsYWJlbFxuICAgKi9cbiAgZ2V0Tm9kZUNzc0ljb24/OiAobm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGU8VERhdGE+LCBkYXRhOiBURGF0YSkgPT4gc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBIdG1sIHJlbmRlcmVkIGF0IHRoZSByaWdodCBvZiB0aGUgbGFiZWwgdG8gZGlzcGxheSBhIGRlc2NyaXB0aW9uIG9mIHRoZSBub2RlXG4gICAqIEBwYXJhbSBub2RlXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBjdXJyZW50IGRhdGEgdG8gYmUgcmVuZGVyZWQgYnkgdGhlIG5vZGVcbiAgICogQHJldHVybnMgVGhlIGh0bWwgdXNlZCB0byByZW5kZXIgdGhlIG5vZGUgZGVzY3JpcHRpb25cbiAgICovXG4gIGdldE5vZGVEZXNjcmlwdGlvbj86IChub2RlOiBOZ3NzbUV4cHJlc3Npb25UcmVlTm9kZTxURGF0YT4sIGRhdGE6IFREYXRhKSA9PiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRvIHJlbmRlciBkZXNjcmlwdGlvbiBvZiBhIG5vZGUgYnkgdXNpbmcgYSBjdXN0b20gYW5ndWxhciBjb21wb25lbnQgaW5zdGVhZCBvZiBzaW1wbGUgaHRtbC5cbiAgICogSXQgbXVzdCBpbXBsZW1lbnQge0BsaW5rIE5nc3NtRXhwcmVzc2lvblRyZWVDdXN0b21Db21wb25lbnR9LlxuICAgKi9cbiAgbm9kZURlc2NyaXB0aW9uQ29tcG9uZW50PzogYW55O1xuXG4gIC8qKlxuICAgKiBUbyByZW5kZXIgbm9kZSBkZXRhaWwgd2l0aCBhIGN1c3RvbSBhbmd1bGFyIGNvbXBvbmVudC5cbiAgICogSXQgbXVzdCBpbXBsZW1lbnQge0BsaW5rIE5nc3NtRXhwcmVzc2lvblRyZWVDdXN0b21Db21wb25lbnR9XG4gICAqL1xuICBub2RlRGV0YWlsQ29tcG9uZW50PzogYW55O1xuXG4gIC8qKlxuICAgKiBUbyByZW5kZXIgaW4gdGhlIHBvcHVwIG1lbnVzIHRoZSBpdGVtcyB0byBjdXQgYW5kIHBhc3RlIG5vZGVzLlxuICAgKi9cbiAgZGlzcGxheUN1dEFuZFBhc3RlTWVudXM/OiBib29sZWFuO1xuXG4gIGNhblBhc3RlPzogKG5vZGU6IE5nc3NtRXhwcmVzc2lvblRyZWVOb2RlPFREYXRhPiwgdGFyZ2V0Tm9kZTogTmdzc21FeHByZXNzaW9uVHJlZU5vZGU8VERhdGE+LCB0YXJnZXQ6IEN1dEFuZFBhc3RlVGFyZ2V0KSA9PiBib29sZWFuO1xufVxuIl19
|