@dangl/angular-ava 0.1.1-beta0093
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/README.md +1 -0
- package/esm2022/dangl-angular-ava.mjs +5 -0
- package/esm2022/lib/angular-ava.module.mjs +91 -0
- package/esm2022/lib/ava-tree/tree/components/ava-tree/ava-tree.component.mjs +412 -0
- package/esm2022/lib/ava-tree/tree/components/list-structure/list-structure.component.mjs +41 -0
- package/esm2022/lib/ava-tree/tree/components/table-structure/table-structure.component.mjs +110 -0
- package/esm2022/lib/ava-tree/tree/components/tree-item/tree-item.component.mjs +102 -0
- package/esm2022/lib/ava-tree/tree/components/tree-node/tree-node.component.mjs +53 -0
- package/esm2022/lib/ava-tree/tree/components/tree-structure/tree-structure.component.mjs +33 -0
- package/esm2022/lib/ava-tree/tree/constants/defaultFilters.mjs +23 -0
- package/esm2022/lib/ava-tree/tree/constants/defaultTextWords.mjs +11 -0
- package/esm2022/lib/ava-tree/tree/constants/defaults.mjs +4 -0
- package/esm2022/lib/ava-tree/tree/constants/index.mjs +5 -0
- package/esm2022/lib/ava-tree/tree/directives/save-changing-view.directive.mjs +47 -0
- package/esm2022/lib/ava-tree/tree/model/ava-models.mjs +199 -0
- package/esm2022/lib/ava-tree/tree/model/context-menu-data.model.mjs +2 -0
- package/esm2022/lib/ava-tree/tree/model/function-view-line.model.mjs +2 -0
- package/esm2022/lib/ava-tree/tree/model/index.mjs +4 -0
- package/esm2022/lib/ava-tree/tree/model/selecting.model.mjs +2 -0
- package/esm2022/lib/ava-tree/tree/model/tableColumnType.mjs +2 -0
- package/esm2022/lib/ava-tree/tree/model/tree-mode.model.mjs +7 -0
- package/esm2022/lib/ava-tree/tree/pipes/element-icon-name.pipe.mjs +27 -0
- package/esm2022/lib/ava-tree/tree/pipes/element-item-number.pipe.mjs +23 -0
- package/esm2022/lib/ava-tree/tree/pipes/element-text.pipe.mjs +27 -0
- package/esm2022/lib/ava-tree/tree/pipes/group-child-elements.pipe.mjs +20 -0
- package/esm2022/lib/ava-tree/tree/services/expand-parent-group.service.mjs +32 -0
- package/esm2022/lib/ava-tree/tree/services/flat-elements.service.mjs +96 -0
- package/esm2022/lib/ava-tree/tree/services/keyboard-operation.service.mjs +116 -0
- package/esm2022/lib/ava-tree/tree/services/select-element.service.mjs +41 -0
- package/esm2022/lib/ava-tree/tree/services/tree-node-selection.service.mjs +133 -0
- package/esm2022/lib/version.mjs +10 -0
- package/esm2022/public-api.mjs +8 -0
- package/fesm2022/dangl-angular-ava.mjs +1574 -0
- package/fesm2022/dangl-angular-ava.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/angular-ava.module.d.ts +27 -0
- package/lib/ava-tree/tree/components/ava-tree/ava-tree.component.d.ts +165 -0
- package/lib/ava-tree/tree/components/list-structure/list-structure.component.d.ts +18 -0
- package/lib/ava-tree/tree/components/table-structure/table-structure.component.d.ts +34 -0
- package/lib/ava-tree/tree/components/tree-item/tree-item.component.d.ts +35 -0
- package/lib/ava-tree/tree/components/tree-node/tree-node.component.d.ts +23 -0
- package/lib/ava-tree/tree/components/tree-structure/tree-structure.component.d.ts +14 -0
- package/lib/ava-tree/tree/constants/defaultFilters.d.ts +2 -0
- package/lib/ava-tree/tree/constants/defaultTextWords.d.ts +11 -0
- package/lib/ava-tree/tree/constants/defaults.d.ts +3 -0
- package/lib/ava-tree/tree/constants/index.d.ts +4 -0
- package/lib/ava-tree/tree/directives/save-changing-view.directive.d.ts +13 -0
- package/lib/ava-tree/tree/model/ava-models.d.ts +1041 -0
- package/lib/ava-tree/tree/model/context-menu-data.model.d.ts +8 -0
- package/lib/ava-tree/tree/model/function-view-line.model.d.ts +12 -0
- package/lib/ava-tree/tree/model/index.d.ts +7 -0
- package/lib/ava-tree/tree/model/selecting.model.d.ts +14 -0
- package/lib/ava-tree/tree/model/tableColumnType.d.ts +6 -0
- package/lib/ava-tree/tree/model/tree-mode.model.d.ts +5 -0
- package/lib/ava-tree/tree/pipes/element-icon-name.pipe.d.ts +8 -0
- package/lib/ava-tree/tree/pipes/element-item-number.pipe.d.ts +8 -0
- package/lib/ava-tree/tree/pipes/element-text.pipe.d.ts +8 -0
- package/lib/ava-tree/tree/pipes/group-child-elements.pipe.d.ts +8 -0
- package/lib/ava-tree/tree/services/expand-parent-group.service.d.ts +7 -0
- package/lib/ava-tree/tree/services/flat-elements.service.d.ts +28 -0
- package/lib/ava-tree/tree/services/keyboard-operation.service.d.ts +35 -0
- package/lib/ava-tree/tree/services/select-element.service.d.ts +31 -0
- package/lib/ava-tree/tree/services/tree-node-selection.service.d.ts +23 -0
- package/lib/version.d.ts +8 -0
- package/package.json +31 -0
- package/public-api.d.ts +4 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ElementTextPipe {
|
|
4
|
+
transform(element) {
|
|
5
|
+
switch (element.elementTypeDiscriminator) {
|
|
6
|
+
case 'NoteTextDto':
|
|
7
|
+
return element.shortText || 'Hinweis';
|
|
8
|
+
case 'ExecutionDescriptionDto':
|
|
9
|
+
return `${element.identifier ? element.identifier + ' - ' : ''}${element.label || 'Description'}`;
|
|
10
|
+
case 'ServiceSpecificationGroupDto':
|
|
11
|
+
return element.shortText || 'Group';
|
|
12
|
+
case 'PositionDto':
|
|
13
|
+
return element.shortText || 'Position';
|
|
14
|
+
default:
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElementTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
19
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: ElementTextPipe, name: "elementText" }); }
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElementTextPipe, decorators: [{
|
|
22
|
+
type: Pipe,
|
|
23
|
+
args: [{
|
|
24
|
+
name: 'elementText'
|
|
25
|
+
}]
|
|
26
|
+
}] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC10ZXh0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWF2YS9zcmMvbGliL2F2YS10cmVlL3RyZWUvcGlwZXMvZWxlbWVudC10ZXh0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxPQUFvQjtRQUM1QixRQUFRLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ3pDLEtBQUssYUFBYTtnQkFDaEIsT0FBUSxPQUF1QixDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUM7WUFDekQsS0FBSyx5QkFBeUI7Z0JBQzVCLE9BQU8sR0FBSSxPQUFtQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUUsT0FBbUMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQ3JILE9BQW1DLENBQUMsS0FBSyxJQUFJLGFBQ2hELEVBQUUsQ0FBQztZQUNMLEtBQUssOEJBQThCO2dCQUNqQyxPQUFRLE9BQXdDLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQztZQUN4RSxLQUFLLGFBQWE7Z0JBQ2hCLE9BQVEsT0FBdUIsQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDO1lBQzFEO2dCQUNFLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7OEdBaEJVLGVBQWU7NEdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFIM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEV4ZWN1dGlvbkRlc2NyaXB0aW9uRHRvLCBJRWxlbWVudER0bywgTm90ZVRleHREdG8sIFBvc2l0aW9uRHRvLCBTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdlbGVtZW50VGV4dCdcbn0pXG5leHBvcnQgY2xhc3MgRWxlbWVudFRleHRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShlbGVtZW50OiBJRWxlbWVudER0byk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChlbGVtZW50LmVsZW1lbnRUeXBlRGlzY3JpbWluYXRvcikge1xuICAgICAgY2FzZSAnTm90ZVRleHREdG8nOlxuICAgICAgICByZXR1cm4gKGVsZW1lbnQgYXMgTm90ZVRleHREdG8pLnNob3J0VGV4dCB8fCAnSGlud2Vpcyc7XG4gICAgICBjYXNlICdFeGVjdXRpb25EZXNjcmlwdGlvbkR0byc6XG4gICAgICAgIHJldHVybiBgJHsoZWxlbWVudCBhcyBFeGVjdXRpb25EZXNjcmlwdGlvbkR0bykuaWRlbnRpZmllciA/IChlbGVtZW50IGFzIEV4ZWN1dGlvbkRlc2NyaXB0aW9uRHRvKS5pZGVudGlmaWVyICsgJyAtICcgOiAnJ30ke1xuICAgICAgICAgIChlbGVtZW50IGFzIEV4ZWN1dGlvbkRlc2NyaXB0aW9uRHRvKS5sYWJlbCB8fCAnRGVzY3JpcHRpb24nXG4gICAgICAgIH1gO1xuICAgICAgY2FzZSAnU2VydmljZVNwZWNpZmljYXRpb25Hcm91cER0byc6XG4gICAgICAgIHJldHVybiAoZWxlbWVudCBhcyBTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvKS5zaG9ydFRleHQgfHwgJ0dyb3VwJztcbiAgICAgIGNhc2UgJ1Bvc2l0aW9uRHRvJzpcbiAgICAgICAgcmV0dXJuIChlbGVtZW50IGFzIFBvc2l0aW9uRHRvKS5zaG9ydFRleHQgfHwgJ1Bvc2l0aW9uJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GroupChildElementsPipe {
|
|
4
|
+
transform(element) {
|
|
5
|
+
if (element.elementTypeDiscriminator === 'ServiceSpecificationGroupDto') {
|
|
6
|
+
return element?.elements || null;
|
|
7
|
+
}
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GroupChildElementsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
11
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: GroupChildElementsPipe, name: "groupChildElements" }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: GroupChildElementsPipe, decorators: [{
|
|
14
|
+
type: Pipe,
|
|
15
|
+
args: [{
|
|
16
|
+
name: 'groupChildElements',
|
|
17
|
+
pure: true
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtY2hpbGQtZWxlbWVudHMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXZhL3NyYy9saWIvYXZhLXRyZWUvdHJlZS9waXBlcy9ncm91cC1jaGlsZC1lbGVtZW50cy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQVFwRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFNBQVMsQ0FBQyxPQUFvQjtRQUM1QixJQUFJLE9BQU8sQ0FBQyx3QkFBd0IsS0FBSyw4QkFBOEIsRUFBRSxDQUFDO1lBQ3hFLE9BQVEsT0FBd0MsRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDO1FBQ3JFLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBUFUsc0JBQXNCOzRHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG9CQUFvQjtvQkFDMUIsSUFBSSxFQUFFLElBQUk7aUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IElFbGVtZW50RHRvLCBTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdncm91cENoaWxkRWxlbWVudHMnLFxuICBwdXJlOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEdyb3VwQ2hpbGRFbGVtZW50c1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGVsZW1lbnQ6IElFbGVtZW50RHRvKTogSUVsZW1lbnREdG9bXSB8IG51bGwge1xuICAgIGlmIChlbGVtZW50LmVsZW1lbnRUeXBlRGlzY3JpbWluYXRvciA9PT0gJ1NlcnZpY2VTcGVjaWZpY2F0aW9uR3JvdXBEdG8nKSB7XG4gICAgICByZXR1cm4gKGVsZW1lbnQgYXMgU2VydmljZVNwZWNpZmljYXRpb25Hcm91cER0byk/LmVsZW1lbnRzIHx8IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export class ExpandParentGroupService {
|
|
2
|
+
constructor() { }
|
|
3
|
+
expandParentGroups(element, flatElements, expansionState) {
|
|
4
|
+
if (!flatElements?.length) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
const listGroup = flatElements.filter((item) => item.elements?.length);
|
|
8
|
+
if (!listGroup.length) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const findAndExpandParent = (currentElement) => {
|
|
12
|
+
for (const itemGroup of listGroup) {
|
|
13
|
+
if (expansionState[itemGroup.id]) {
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
if (itemGroup.elements?.find((item) => currentElement.id === item.id)) {
|
|
17
|
+
expansionState[itemGroup.id] = true;
|
|
18
|
+
return itemGroup;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
22
|
+
};
|
|
23
|
+
const expandRecursive = (innerElement) => {
|
|
24
|
+
const parentGroup = findAndExpandParent(innerElement);
|
|
25
|
+
if (parentGroup) {
|
|
26
|
+
expandRecursive(parentGroup);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
expandRecursive(element);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLXBhcmVudC1ncm91cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1hdmEvc3JjL2xpYi9hdmEtdHJlZS90cmVlL3NlcnZpY2VzL2V4cGFuZC1wYXJlbnQtZ3JvdXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLGdCQUFlLENBQUM7SUFFaEIsa0JBQWtCLENBQUMsT0FBb0IsRUFBRSxZQUFrQyxFQUFFLGNBQXlDO1FBQ3BILElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDMUIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBbUMsWUFBWSxDQUFDLE1BQU0sQ0FDbkUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFFLElBQXFDLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FDbEUsQ0FBQztRQUVGLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLG1CQUFtQixHQUFHLENBQUMsY0FBMkIsRUFBdUMsRUFBRTtZQUMvRixLQUFLLE1BQU0sU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFDakMsU0FBUztnQkFDWCxDQUFDO2dCQUVELElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQ3RFLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUNwQyxPQUFPLFNBQVMsQ0FBQztnQkFDbkIsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLE1BQU0sZUFBZSxHQUFHLENBQUMsWUFBeUIsRUFBUSxFQUFFO1lBQzFELE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RELElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2hCLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQixDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFbGVtZW50RHRvLCBTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvIH0gZnJvbSAnLi4vbW9kZWwvYXZhLW1vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBFeHBhbmRQYXJlbnRHcm91cFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZXhwYW5kUGFyZW50R3JvdXBzKGVsZW1lbnQ6IElFbGVtZW50RHRvLCBmbGF0RWxlbWVudHM6IElFbGVtZW50RHRvW10gfCBudWxsLCBleHBhbnNpb25TdGF0ZTogeyBbaWQ6IHN0cmluZ106IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgIGlmICghZmxhdEVsZW1lbnRzPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0R3JvdXA6IFNlcnZpY2VTcGVjaWZpY2F0aW9uR3JvdXBEdG9bXSA9IGZsYXRFbGVtZW50cy5maWx0ZXIoXG4gICAgICAoaXRlbSkgPT4gKGl0ZW0gYXMgU2VydmljZVNwZWNpZmljYXRpb25Hcm91cER0bykuZWxlbWVudHM/Lmxlbmd0aFxuICAgICk7XG5cbiAgICBpZiAoIWxpc3RHcm91cC5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaW5kQW5kRXhwYW5kUGFyZW50ID0gKGN1cnJlbnRFbGVtZW50OiBJRWxlbWVudER0byk6IFNlcnZpY2VTcGVjaWZpY2F0aW9uR3JvdXBEdG8gfCBudWxsID0+IHtcbiAgICAgIGZvciAoY29uc3QgaXRlbUdyb3VwIG9mIGxpc3RHcm91cCkge1xuICAgICAgICBpZiAoZXhwYW5zaW9uU3RhdGVbaXRlbUdyb3VwLmlkXSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW1Hcm91cC5lbGVtZW50cz8uZmluZCgoaXRlbSkgPT4gY3VycmVudEVsZW1lbnQuaWQgPT09IGl0ZW0uaWQpKSB7XG4gICAgICAgICAgZXhwYW5zaW9uU3RhdGVbaXRlbUdyb3VwLmlkXSA9IHRydWU7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1Hcm91cDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfTtcblxuICAgIGNvbnN0IGV4cGFuZFJlY3Vyc2l2ZSA9IChpbm5lckVsZW1lbnQ6IElFbGVtZW50RHRvKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBwYXJlbnRHcm91cCA9IGZpbmRBbmRFeHBhbmRQYXJlbnQoaW5uZXJFbGVtZW50KTtcbiAgICAgIGlmIChwYXJlbnRHcm91cCkge1xuICAgICAgICBleHBhbmRSZWN1cnNpdmUocGFyZW50R3JvdXApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBleHBhbmRSZWN1cnNpdmUoZWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ReplaySubject, of } from 'rxjs';
|
|
3
|
+
import { DEFAULT_FILTERS } from '../constants';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class FlatElementsService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this._flatElementsDto = [];
|
|
8
|
+
this.flatElementsDtoSource = new ReplaySubject(1);
|
|
9
|
+
this.flatElementsDto = this.flatElementsDtoSource.asObservable();
|
|
10
|
+
this.functionView = null;
|
|
11
|
+
this.listFilterFunc = DEFAULT_FILTERS;
|
|
12
|
+
}
|
|
13
|
+
setElementsDto(elementsDto) {
|
|
14
|
+
this._flatElementsDto = FlatElementsService.getFlatElements(elementsDto);
|
|
15
|
+
this.objectElementsDto = FlatElementsService.getObjectElements(this._flatElementsDto);
|
|
16
|
+
this.flatElementsDtoSource.next(this._flatElementsDto);
|
|
17
|
+
}
|
|
18
|
+
static getFlatElements(container) {
|
|
19
|
+
const flatElements = [];
|
|
20
|
+
if (container.elements) {
|
|
21
|
+
container.elements.forEach((e) => {
|
|
22
|
+
flatElements.push(e);
|
|
23
|
+
if (e.elementTypeDiscriminator === 'ServiceSpecificationGroupDto') {
|
|
24
|
+
const group = e;
|
|
25
|
+
flatElements.push(...this.getFlatElements(group));
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return flatElements;
|
|
30
|
+
}
|
|
31
|
+
static getObjectElements(elements) {
|
|
32
|
+
const objectElements = {};
|
|
33
|
+
if (elements?.length) {
|
|
34
|
+
elements.forEach((e) => {
|
|
35
|
+
if (e?.id) {
|
|
36
|
+
objectElements[e.id] = e;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return objectElements;
|
|
41
|
+
}
|
|
42
|
+
getOneElementById(id) {
|
|
43
|
+
return of(id ? this.objectElementsDto?.[id] || null : null);
|
|
44
|
+
}
|
|
45
|
+
checkFilterValue(element, filterValue) {
|
|
46
|
+
const cleanFilter = filterValue.trim().toLocaleLowerCase();
|
|
47
|
+
for (const func of this.listFilterFunc) {
|
|
48
|
+
if (func(element, cleanFilter)) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
jumpNextNode(delta, currentElement, conditionFunc) {
|
|
55
|
+
if (!this._flatElementsDto.length || (conditionFunc && !this._flatElementsDto.find((item) => conditionFunc(item)))) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const startElement = currentElement || this._flatElementsDto[0];
|
|
59
|
+
let nextIndex = this._flatElementsDto.findIndex((item) => startElement.id === item.id);
|
|
60
|
+
if (currentElement) {
|
|
61
|
+
nextIndex = this.getNextIndex(this._flatElementsDto.length, nextIndex, delta);
|
|
62
|
+
}
|
|
63
|
+
while (conditionFunc && !conditionFunc(this._flatElementsDto[nextIndex])) {
|
|
64
|
+
nextIndex = this.getNextIndex(this._flatElementsDto.length, nextIndex, delta);
|
|
65
|
+
}
|
|
66
|
+
return this._flatElementsDto[nextIndex];
|
|
67
|
+
}
|
|
68
|
+
getNextIndex(length, index, delta) {
|
|
69
|
+
let nextIndex = index + delta;
|
|
70
|
+
nextIndex = nextIndex < 0 ? length - 1 : nextIndex;
|
|
71
|
+
nextIndex = nextIndex > length - 1 ? 0 : nextIndex;
|
|
72
|
+
return nextIndex;
|
|
73
|
+
}
|
|
74
|
+
getChangedView(id) {
|
|
75
|
+
if (this.objectElementsDto) {
|
|
76
|
+
const element = this.objectElementsDto[id];
|
|
77
|
+
if (element && this.functionView?.length) {
|
|
78
|
+
for (const objectView of this.functionView) {
|
|
79
|
+
if (objectView.func(element)) {
|
|
80
|
+
return objectView.view;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FlatElementsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
88
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FlatElementsService, providedIn: 'root' }); }
|
|
89
|
+
}
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FlatElementsService, decorators: [{
|
|
91
|
+
type: Injectable,
|
|
92
|
+
args: [{
|
|
93
|
+
providedIn: 'root'
|
|
94
|
+
}]
|
|
95
|
+
}], ctorParameters: () => [] });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC1lbGVtZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1hdmEvc3JjL2xpYi9hdmEtdHJlZS90cmVlL3NlcnZpY2VzL2ZsYXQtZWxlbWVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBTS9DLE1BQU0sT0FBTyxtQkFBbUI7SUFXOUI7UUFWUSxxQkFBZ0IsR0FBa0IsRUFBRSxDQUFDO1FBQ3JDLDBCQUFxQixHQUFHLElBQUksYUFBYSxDQUFnQixDQUFDLENBQUMsQ0FBQztRQUNwRSxvQkFBZSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUk1RCxpQkFBWSxHQUErQixJQUFJLENBQUM7UUFFaEQsbUJBQWMsR0FBRyxlQUFlLENBQUM7SUFFbEIsQ0FBQztJQUVoQixjQUFjLENBQUMsV0FBb0M7UUFDakQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxTQUE4QztRQUMxRSxNQUFNLFlBQVksR0FBa0IsRUFBRSxDQUFDO1FBRXZDLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lB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UUFDRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sWUFBWSxDQUFDLE1BQWMsRUFBRSxLQUFhLEVBQUUsS0FBYTtRQUMvRCxJQUFJLFNBQVMsR0FBRyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzlCLFNBQVMsR0FBRyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDbkQsU0FBUyxHQUFHLFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNuRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsY0FBYyxDQUFDLEVBQVU7UUFDdkIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0MsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDekMsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzNDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO3dCQUM3QixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ3pCLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzhHQWhHVSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBERUZBVUxUX0ZJTFRFUlMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgSUVsZW1lbnREdG8sIElGdW5jdGlvblZpZXdMaW5lLCBJVmlld0xpbmUsIFNlcnZpY2VTcGVjaWZpY2F0aW9uRHRvLCBTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGbGF0RWxlbWVudHNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfZmxhdEVsZW1lbnRzRHRvOiBJRWxlbWVudER0b1tdID0gW107XG4gIHByaXZhdGUgZmxhdEVsZW1lbnRzRHRvU291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8SUVsZW1lbnREdG9bXT4oMSk7XG4gIGZsYXRFbGVtZW50c0R0byA9IHRoaXMuZmxhdEVsZW1lbnRzRHRvU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIG9iamVjdEVsZW1lbnRzRHRvITogeyBbaWQ6IHN0cmluZ106IElFbGVtZW50RHRvIH07XG5cbiAgZnVuY3Rpb25WaWV3OiBJRnVuY3Rpb25WaWV3TGluZVtdIHwgbnVsbCA9IG51bGw7XG5cbiAgbGlzdEZpbHRlckZ1bmMgPSBERUZBVUxUX0ZJTFRFUlM7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHNldEVsZW1lbnRzRHRvKGVsZW1lbnRzRHRvOiBTZXJ2aWNlU3BlY2lmaWNhdGlvbkR0byk6IHZvaWQge1xuICAgIHRoaXMuX2ZsYXRFbGVtZW50c0R0byA9IEZsYXRFbGVtZW50c1NlcnZpY2UuZ2V0RmxhdEVsZW1lbnRzKGVsZW1lbnRzRHRvKTtcbiAgICB0aGlzLm9iamVjdEVsZW1lbnRzRHRvID0gRmxhdEVsZW1lbnRzU2VydmljZS5nZXRPYmplY3RFbGVtZW50cyh0aGlzLl9mbGF0RWxlbWVudHNEdG8pO1xuICAgIHRoaXMuZmxhdEVsZW1lbnRzRHRvU291cmNlLm5leHQodGhpcy5fZmxhdEVsZW1lbnRzRHRvKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RmxhdEVsZW1lbnRzKGNvbnRhaW5lcjogeyBlbGVtZW50cz86IElFbGVtZW50RHRvW10gfCBudWxsIH0pOiBJRWxlbWVudER0b1tdIHtcbiAgICBjb25zdCBmbGF0RWxlbWVudHM6IElFbGVtZW50RHRvW10gPSBbXTtcblxuICAgIGlmIChjb250YWluZXIuZWxlbWVudHMpIHtcbiAgICAgIGNvbnRhaW5lci5lbGVtZW50cy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgIGZsYXRFbGVtZW50cy5wdXNoKGUpO1xuICAgICAgICBpZiAoZS5lbGVtZW50VHlwZURpc2NyaW1pbmF0b3IgPT09ICdTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvJykge1xuICAgICAgICAgIGNvbnN0IGdyb3VwID0gZSBhcyBTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvO1xuICAgICAgICAgIGZsYXRFbGVtZW50cy5wdXNoKC4uLnRoaXMuZ2V0RmxhdEVsZW1lbnRzKGdyb3VwKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBmbGF0RWxlbWVudHM7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldE9iamVjdEVsZW1lbnRzKGVsZW1lbnRzOiBJRWxlbWVudER0b1tdKTogeyBbaWQ6IHN0cmluZ106IElFbGVtZW50RHRvIH0ge1xuICAgIGNvbnN0IG9iamVjdEVsZW1lbnRzOiB7IFtpZDogc3RyaW5nXTogSUVsZW1lbnREdG8gfSA9IHt9O1xuICAgIGlmIChlbGVtZW50cz8ubGVuZ3RoKSB7XG4gICAgICBlbGVtZW50cy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgIGlmIChlPy5pZCkge1xuICAgICAgICAgIG9iamVjdEVsZW1lbnRzW2UuaWRdID0gZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBvYmplY3RFbGVtZW50cztcbiAgfVxuXG4gIGdldE9uZUVsZW1lbnRCeUlkKGlkOiBzdHJpbmcgfCBudWxsKTogT2JzZXJ2YWJsZTxJRWxlbWVudER0byB8IG51bGw+IHtcbiAgICByZXR1cm4gb2YoaWQgPyB0aGlzLm9iamVjdEVsZW1lbnRzRHRvPy5baWRdIHx8IG51bGwgOiBudWxsKTtcbiAgfVxuXG4gIGNoZWNrRmlsdGVyVmFsdWUoZWxlbWVudDogSUVsZW1lbnREdG8sIGZpbHRlclZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBjbGVhbkZpbHRlciA9IGZpbHRlclZhbHVlLnRyaW0oKS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIGZvciAoY29uc3QgZnVuYyBvZiB0aGlzLmxpc3RGaWx0ZXJGdW5jKSB7XG4gICAgICBpZiAoZnVuYyhlbGVtZW50LCBjbGVhbkZpbHRlcikpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGp1bXBOZXh0Tm9kZShkZWx0YTogbnVtYmVyLCBjdXJyZW50RWxlbWVudDogSUVsZW1lbnREdG8gfCBudWxsLCBjb25kaXRpb25GdW5jPzogKGU6IElFbGVtZW50RHRvKSA9PiBib29sZWFuKTogSUVsZW1lbnREdG8gfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuX2ZsYXRFbGVtZW50c0R0by5sZW5ndGggfHwgKGNvbmRpdGlvbkZ1bmMgJiYgIXRoaXMuX2ZsYXRFbGVtZW50c0R0by5maW5kKChpdGVtKSA9PiBjb25kaXRpb25GdW5jKGl0ZW0pKSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBzdGFydEVsZW1lbnQgPSBjdXJyZW50RWxlbWVudCB8fCB0aGlzLl9mbGF0RWxlbWVudHNEdG9bMF07XG4gICAgbGV0IG5leHRJbmRleCA9IHRoaXMuX2ZsYXRFbGVtZW50c0R0by5maW5kSW5kZXgoKGl0ZW0pID0+IHN0YXJ0RWxlbWVudC5pZCA9PT0gaXRlbS5pZCk7XG4gICAgaWYgKGN1cnJlbnRFbGVtZW50KSB7XG4gICAgICBuZXh0SW5kZXggPSB0aGlzLmdldE5leHRJbmRleCh0aGlzLl9mbGF0RWxlbWVudHNEdG8ubGVuZ3RoLCBuZXh0SW5kZXgsIGRlbHRhKTtcbiAgICB9XG4gICAgd2hpbGUgKGNvbmRpdGlvbkZ1bmMgJiYgIWNvbmRpdGlvbkZ1bmModGhpcy5fZmxhdEVsZW1lbnRzRHRvW25leHRJbmRleF0pKSB7XG4gICAgICBuZXh0SW5kZXggPSB0aGlzLmdldE5leHRJbmRleCh0aGlzLl9mbGF0RWxlbWVudHNEdG8ubGVuZ3RoLCBuZXh0SW5kZXgsIGRlbHRhKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2ZsYXRFbGVtZW50c0R0b1tuZXh0SW5kZXhdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXh0SW5kZXgobGVuZ3RoOiBudW1iZXIsIGluZGV4OiBudW1iZXIsIGRlbHRhOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGxldCBuZXh0SW5kZXggPSBpbmRleCArIGRlbHRhO1xuICAgIG5leHRJbmRleCA9IG5leHRJbmRleCA8IDAgPyBsZW5ndGggLSAxIDogbmV4dEluZGV4O1xuICAgIG5leHRJbmRleCA9IG5leHRJbmRleCA+IGxlbmd0aCAtIDEgPyAwIDogbmV4dEluZGV4O1xuICAgIHJldHVybiBuZXh0SW5kZXg7XG4gIH1cblxuICBnZXRDaGFuZ2VkVmlldyhpZDogc3RyaW5nKTogSVZpZXdMaW5lIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMub2JqZWN0RWxlbWVudHNEdG8pIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm9iamVjdEVsZW1lbnRzRHRvW2lkXTtcbiAgICAgIGlmIChlbGVtZW50ICYmIHRoaXMuZnVuY3Rpb25WaWV3Py5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChjb25zdCBvYmplY3RWaWV3IG9mIHRoaXMuZnVuY3Rpb25WaWV3KSB7XG4gICAgICAgICAgaWYgKG9iamVjdFZpZXcuZnVuYyhlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIG9iamVjdFZpZXcudmlldztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { FlatElementsService } from './flat-elements.service';
|
|
3
|
+
import { SelectElementService } from './select-element.service';
|
|
4
|
+
export var KeyboardOperationType;
|
|
5
|
+
(function (KeyboardOperationType) {
|
|
6
|
+
KeyboardOperationType["MoveSelectedPositionUp"] = "moveSelectedPositionUp";
|
|
7
|
+
KeyboardOperationType["MoveSelectedPositionDown"] = "moveSelectedPositionDown";
|
|
8
|
+
KeyboardOperationType["MoveChosenPositionDown"] = "moveChosenPositionDown";
|
|
9
|
+
KeyboardOperationType["MoveChosenPositionUp"] = "moveChosenPositionUp";
|
|
10
|
+
KeyboardOperationType["ClearChosenPosition"] = "clearChosenPosition";
|
|
11
|
+
KeyboardOperationType["SelectChosenPosition"] = "selectChosenPosition";
|
|
12
|
+
})(KeyboardOperationType || (KeyboardOperationType = {}));
|
|
13
|
+
export class KeyboardOperationService {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.defaultKeyboardOperationConfig = {
|
|
16
|
+
operations: {
|
|
17
|
+
moveSelectedPositionUp: { disabled: false, keyEvent: 'F11' },
|
|
18
|
+
moveSelectedPositionDown: { disabled: false, keyEvent: 'F12' },
|
|
19
|
+
moveChosenPositionDown: { disabled: false, keyEvent: 'ArrowDown' },
|
|
20
|
+
moveChosenPositionUp: { disabled: false, keyEvent: 'ArrowUp' },
|
|
21
|
+
clearChosenPosition: { disabled: false, keyEvent: 'Escape' },
|
|
22
|
+
selectChosenPosition: { disabled: false, keyEvent: 'Enter' }
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
this.flatElementsService = inject(FlatElementsService);
|
|
26
|
+
this.selectElementService = inject(SelectElementService);
|
|
27
|
+
this.currentConfig = { ...this.defaultKeyboardOperationConfig };
|
|
28
|
+
}
|
|
29
|
+
getConfig() {
|
|
30
|
+
return this.currentConfig;
|
|
31
|
+
}
|
|
32
|
+
mergeConfigOperation(config) {
|
|
33
|
+
this.currentConfig = this.deepMerge(this.currentConfig, config);
|
|
34
|
+
}
|
|
35
|
+
deepMerge(obj1, obj2) {
|
|
36
|
+
const mergedConfig = { ...obj1 };
|
|
37
|
+
for (const key in obj2) {
|
|
38
|
+
if (Object.prototype.hasOwnProperty.call(obj2, key)) {
|
|
39
|
+
if (Object.prototype.hasOwnProperty.call(mergedConfig, key) &&
|
|
40
|
+
typeof mergedConfig[key] === 'object' &&
|
|
41
|
+
mergedConfig[key] !== null &&
|
|
42
|
+
typeof obj2[key] === 'object' &&
|
|
43
|
+
obj2[key] !== null) {
|
|
44
|
+
mergedConfig[key] = this.deepMerge(mergedConfig[key], obj2[key]);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
mergedConfig[key] = obj2[key];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return mergedConfig;
|
|
52
|
+
}
|
|
53
|
+
handleKeyboardEvent(keyEvent, element) {
|
|
54
|
+
let nextElement;
|
|
55
|
+
if (this.currentConfig.operations.moveSelectedPositionUp?.keyEvent === keyEvent.key &&
|
|
56
|
+
!this.currentConfig.operations.moveSelectedPositionUp?.disabled) {
|
|
57
|
+
keyEvent.preventDefault();
|
|
58
|
+
nextElement = this.flatElementsService.jumpNextNode(-1, element);
|
|
59
|
+
this.selectElementService.setClickElement(nextElement);
|
|
60
|
+
return {
|
|
61
|
+
operation: KeyboardOperationType.MoveSelectedPositionUp,
|
|
62
|
+
nextElement: nextElement
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
if (this.currentConfig.operations.moveSelectedPositionDown?.keyEvent === keyEvent.key &&
|
|
66
|
+
!this.currentConfig.operations.moveSelectedPositionDown?.disabled) {
|
|
67
|
+
keyEvent.preventDefault();
|
|
68
|
+
nextElement = this.flatElementsService.jumpNextNode(1, element);
|
|
69
|
+
this.selectElementService.setClickElement(nextElement);
|
|
70
|
+
return {
|
|
71
|
+
operation: KeyboardOperationType.MoveSelectedPositionDown,
|
|
72
|
+
nextElement: nextElement
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
if (this.currentConfig.operations.moveChosenPositionDown?.keyEvent === keyEvent.key &&
|
|
76
|
+
!this.currentConfig.operations.moveChosenPositionDown?.disabled) {
|
|
77
|
+
keyEvent.preventDefault();
|
|
78
|
+
nextElement = this.flatElementsService.jumpNextNode(1, element);
|
|
79
|
+
this.selectElementService.setPreselectedElement(nextElement?.id === element?.id ? null : nextElement);
|
|
80
|
+
return {
|
|
81
|
+
operation: KeyboardOperationType.MoveChosenPositionDown,
|
|
82
|
+
nextElement: nextElement
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
if (this.currentConfig.operations.moveChosenPositionUp?.keyEvent === keyEvent.key &&
|
|
86
|
+
!this.currentConfig.operations.moveChosenPositionUp?.disabled) {
|
|
87
|
+
keyEvent.preventDefault();
|
|
88
|
+
nextElement = this.flatElementsService.jumpNextNode(-1, element);
|
|
89
|
+
this.selectElementService.setPreselectedElement(nextElement?.id === element?.id ? null : nextElement);
|
|
90
|
+
return {
|
|
91
|
+
operation: KeyboardOperationType.MoveChosenPositionUp,
|
|
92
|
+
nextElement: nextElement
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
if (this.currentConfig.operations.selectChosenPosition?.keyEvent === keyEvent.key &&
|
|
96
|
+
!this.currentConfig.operations.selectChosenPosition?.disabled) {
|
|
97
|
+
keyEvent.preventDefault();
|
|
98
|
+
this.selectElementService.setClickElement(element);
|
|
99
|
+
return {
|
|
100
|
+
operation: KeyboardOperationType.SelectChosenPosition,
|
|
101
|
+
nextElement: null
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
if (this.currentConfig.operations.clearChosenPosition?.keyEvent === keyEvent.key &&
|
|
105
|
+
!this.currentConfig.operations.clearChosenPosition?.disabled) {
|
|
106
|
+
keyEvent.preventDefault();
|
|
107
|
+
this.selectElementService.setPreselectedElement(null);
|
|
108
|
+
return {
|
|
109
|
+
operation: KeyboardOperationType.ClearChosenPosition,
|
|
110
|
+
nextElement: null
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtb3BlcmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWF2YS9zcmMvbGliL2F2YS10cmVlL3RyZWUvc2VydmljZXMva2V5Ym9hcmQtb3BlcmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVFoRSxNQUFNLENBQU4sSUFBWSxxQkFPWDtBQVBELFdBQVkscUJBQXFCO0lBQy9CLDBFQUFpRCxDQUFBO0lBQ2pELDhFQUFxRCxDQUFBO0lBQ3JELDBFQUFpRCxDQUFBO0lBQ2pELHNFQUE2QyxDQUFBO0lBQzdDLG9FQUEyQyxDQUFBO0lBQzNDLHNFQUE2QyxDQUFBO0FBQy9DLENBQUMsRUFQVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBT2hDO0FBV0QsTUFBTSxPQUFPLHdCQUF3QjtJQWlCbkM7UUFoQlEsbUNBQThCLEdBQTZCO1lBQ2pFLFVBQVUsRUFBRTtnQkFDVixzQkFBc0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtnQkFDNUQsd0JBQXdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBQzlELHNCQUFzQixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFO2dCQUNsRSxvQkFBb0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRTtnQkFDOUQsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEs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dWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmxhdEVsZW1lbnRzU2VydmljZSB9IGZyb20gJy4vZmxhdC1lbGVtZW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IFNlbGVjdEVsZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9zZWxlY3QtZWxlbWVudC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgSUVsZW1lbnREdG8gfSBmcm9tICcuLi9tb2RlbC9hdmEtbW9kZWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBJS2V5Ym9hcmRPcGVyYXRpb25Db25maWcge1xuICBvcGVyYXRpb25zOiBJS2V5Ym9hcmRPcGVyYXRpb25zO1xufVxuXG5leHBvcnQgZW51bSBLZXlib2FyZE9wZXJhdGlvblR5cGUge1xuICBNb3ZlU2VsZWN0ZWRQb3NpdGlvblVwID0gJ21vdmVTZWxlY3RlZFBvc2l0aW9uVXAnLFxuICBNb3ZlU2VsZWN0ZWRQb3NpdGlvbkRvd24gPSAnbW92ZVNlbGVjdGVkUG9zaXRpb25Eb3duJyxcbiAgTW92ZUNob3NlblBvc2l0aW9uRG93biA9ICdtb3ZlQ2hvc2VuUG9zaXRpb25Eb3duJyxcbiAgTW92ZUNob3NlblBvc2l0aW9uVXAgPSAnbW92ZUNob3NlblBvc2l0aW9uVXAnLFxuICBDbGVhckNob3NlblBvc2l0aW9uID0gJ2NsZWFyQ2hvc2VuUG9zaXRpb24nLFxuICBTZWxlY3RDaG9zZW5Qb3NpdGlvbiA9ICdzZWxlY3RDaG9zZW5Qb3NpdGlvbidcbn1cblxuZXhwb3J0IHR5cGUgSUtleWJvYXJkT3BlcmF0aW9ucyA9IHtcbiAgW2tleSBpbiBLZXlib2FyZE9wZXJhdGlvblR5cGVdPzogSUtleWJvYXJkT3BlcmF0aW9uO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJS2V5Ym9hcmRPcGVyYXRpb24ge1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGtleUV2ZW50Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgS2V5Ym9hcmRPcGVyYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBkZWZhdWx0S2V5Ym9hcmRPcGVyYXRpb25Db25maWc6IElLZXlib2FyZE9wZXJhdGlvbkNvbmZpZyA9IHtcbiAgICBvcGVyYXRpb25zOiB7XG4gICAgICBtb3ZlU2VsZWN0ZWRQb3NpdGlvblVwOiB7IGRpc2FibGVkOiBmYWxzZSwga2V5RXZlbnQ6ICdGMTEnIH0sXG4gICAgICBtb3ZlU2VsZWN0ZWRQb3NpdGlvbkRvd246IHsgZGlzYWJsZWQ6IGZhbHNlLCBrZXlFdmVudDogJ0YxMicgfSxcbiAgICAgIG1vdmVDaG9zZW5Qb3NpdGlvbkRvd246IHsgZGlzYWJsZWQ6IGZhbHNlLCBrZXlFdmVudDogJ0Fycm93RG93bicgfSxcbiAgICAgIG1vdmVDaG9zZW5Qb3NpdGlvblVwOiB7IGRpc2FibGVkOiBmYWxzZSwga2V5RXZlbnQ6ICdBcnJvd1VwJyB9LFxuICAgICAgY2xlYXJDaG9zZW5Qb3NpdGlvbjogeyBkaXNhYmxlZDogZmFsc2UsIGtleUV2ZW50OiAnRXNjYXBlJyB9LFxuICAgICAgc2VsZWN0Q2hvc2VuUG9zaXRpb246IHsgZGlzYWJsZWQ6IGZhbHNlLCBrZXlFdmVudDogJ0VudGVyJyB9XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgZmxhdEVsZW1lbnRzU2VydmljZSA9IGluamVjdChGbGF0RWxlbWVudHNTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZWxlY3RFbGVtZW50U2VydmljZSA9IGluamVjdChTZWxlY3RFbGVtZW50U2VydmljZSk7XG5cbiAgcHJpdmF0ZSBjdXJyZW50Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRLZXlib2FyZE9wZXJhdGlvbkNvbmZpZyB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudENvbmZpZztcbiAgfVxuXG4gIG1lcmdlQ29uZmlnT3BlcmF0aW9uKGNvbmZpZzogSUtleWJvYXJkT3BlcmF0aW9uQ29uZmlnKSB7XG4gICAgdGhpcy5jdXJyZW50Q29uZmlnID0gdGhpcy5kZWVwTWVyZ2UodGhpcy5jdXJyZW50Q29uZmlnLCBjb25maWcpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWVwTWVyZ2U8VD4ob2JqMTogVCwgb2JqMjogVCk6IFQge1xuICAgIGNvbnN0IG1lcmdlZENvbmZpZzogVCA9IHsgLi4ub2JqMSB9O1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqMikge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmoyLCBrZXkpKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobWVyZ2VkQ29uZmlnLCBrZXkpICYmXG4gICAgICAgICAgdHlwZW9mIG1lcmdlZENvbmZpZ1trZXldID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgIG1lcmdlZENvbmZpZ1trZXldICE9PSBudWxsICYmXG4gICAgICAgICAgdHlwZW9mIG9iajJba2V5XSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICBvYmoyW2tleV0gIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgbWVyZ2VkQ29uZmlnW2tleV0gPSB0aGlzLmRlZXBNZXJnZShtZXJnZWRDb25maWdba2V5XSwgb2JqMltrZXldKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtZXJnZWRDb25maWdba2V5XSA9IG9iajJba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBtZXJnZWRDb25maWc7XG4gIH1cblxuICBoYW5kbGVLZXlib2FyZEV2ZW50KFxuICAgIGtleUV2ZW50OiBLZXlib2FyZEV2ZW50LFxuICAgIGVsZW1lbnQ6IElFbGVtZW50RHRvIHwgbnVsbFxuICApOiB7XG4gICAgb3BlcmF0aW9uOiBLZXlib2FyZE9wZXJhdGlvblR5cGU7XG4gICAgbmV4dEVsZW1lbnQ6IElFbGVtZW50RHRvIHwgbnVsbDtcbiAgfSB8IG51bGwge1xuICAgIGxldCBuZXh0RWxlbWVudDtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuY3VycmVudENvbmZpZy5vcGVyYXRpb25zLm1vdmVTZWxlY3RlZFBvc2l0aW9uVXA/LmtleUV2ZW50ID09PSBrZXlFdmVudC5rZXkgJiZcbiAgICAgICF0aGlzLmN1cnJlbnRDb25maWcub3BlcmF0aW9ucy5tb3ZlU2VsZWN0ZWRQb3NpdGlvblVwPy5kaXNhYmxlZFxuICAgICkge1xuICAgICAga2V5RXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIG5leHRFbGVtZW50ID0gdGhpcy5mbGF0RWxlbWVudHNTZXJ2aWNlLmp1bXBOZXh0Tm9kZSgtMSwgZWxlbWVudCk7XG4gICAgICB0aGlzLnNlbGVjdEVsZW1lbnRTZXJ2aWNlLnNldENsaWNrRWxlbWVudChuZXh0RWxlbWVudCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvcGVyYXRpb246IEtleWJvYXJkT3BlcmF0aW9uVHlwZS5Nb3ZlU2VsZWN0ZWRQb3NpdGlvblVwLFxuICAgICAgICBuZXh0RWxlbWVudDogbmV4dEVsZW1lbnRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy5jdXJyZW50Q29uZmlnLm9wZXJhdGlvbnMubW92ZVNlbGVjdGVkUG9zaXRpb25Eb3duPy5rZXlFdmVudCA9PT0ga2V5RXZlbnQua2V5ICYmXG4gICAgICAhdGhpcy5jdXJyZW50Q29uZmlnLm9wZXJhdGlvbnMubW92ZVNlbGVjdGVkUG9zaXRpb25Eb3duPy5kaXNhYmxlZFxuICAgICkge1xuICAgICAga2V5RXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIG5leHRFbGVtZW50ID0gdGhpcy5mbGF0RWxlbWVudHNTZXJ2aWNlLmp1bXBOZXh0Tm9kZSgxLCBlbGVtZW50KTtcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudFNlcnZpY2Uuc2V0Q2xpY2tFbGVtZW50KG5leHRFbGVtZW50KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG9wZXJhdGlvbjogS2V5Ym9hcmRPcGVyYXRpb25UeXBlLk1vdmVTZWxlY3RlZFBvc2l0aW9uRG93bixcbiAgICAgICAgbmV4dEVsZW1lbnQ6IG5leHRFbGVtZW50XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMuY3VycmVudENvbmZpZy5vcGVyYXRpb25zLm1vdmVDaG9zZW5Qb3NpdGlvbkRvd24/LmtleUV2ZW50ID09PSBrZXlFdmVudC5rZXkgJiZcbiAgICAgICF0aGlzLmN1cnJlbnRDb25maWcub3BlcmF0aW9ucy5tb3ZlQ2hvc2VuUG9zaXRpb25Eb3duPy5kaXNhYmxlZFxuICAgICkge1xuICAgICAga2V5RXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIG5leHRFbGVtZW50ID0gdGhpcy5mbGF0RWxlbWVudHNTZXJ2aWNlLmp1bXBOZXh0Tm9kZSgxLCBlbGVtZW50KTtcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudFNlcnZpY2Uuc2V0UHJlc2VsZWN0ZWRFbGVtZW50KG5leHRFbGVtZW50Py5pZCA9PT0gZWxlbWVudD8uaWQgPyBudWxsIDogbmV4dEVsZW1lbnQpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3BlcmF0aW9uOiBLZXlib2FyZE9wZXJhdGlvblR5cGUuTW92ZUNob3NlblBvc2l0aW9uRG93bixcbiAgICAgICAgbmV4dEVsZW1lbnQ6IG5leHRFbGVtZW50XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMuY3VycmVudENvbmZpZy5vcGVyYXRpb25zLm1vdmVDaG9zZW5Qb3NpdGlvblVwPy5rZXlFdmVudCA9PT0ga2V5RXZlbnQua2V5ICYmXG4gICAgICAhdGhpcy5jdXJyZW50Q29uZmlnLm9wZXJhdGlvbnMubW92ZUNob3NlblBvc2l0aW9uVXA/LmRpc2FibGVkXG4gICAgKSB7XG4gICAgICBrZXlFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgbmV4dEVsZW1lbnQgPSB0aGlzLmZsYXRFbGVtZW50c1NlcnZpY2UuanVtcE5leHROb2RlKC0xLCBlbGVtZW50KTtcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudFNlcnZpY2Uuc2V0UHJlc2VsZWN0ZWRFbGVtZW50KG5leHRFbGVtZW50Py5pZCA9PT0gZWxlbWVudD8uaWQgPyBudWxsIDogbmV4dEVsZW1lbnQpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3BlcmF0aW9uOiBLZXlib2FyZE9wZXJhdGlvblR5cGUuTW92ZUNob3NlblBvc2l0aW9uVXAsXG4gICAgICAgIG5leHRFbGVtZW50OiBuZXh0RWxlbWVudFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmN1cnJlbnRDb25maWcub3BlcmF0aW9ucy5zZWxlY3RDaG9zZW5Qb3NpdGlvbj8ua2V5RXZlbnQgPT09IGtleUV2ZW50LmtleSAmJlxuICAgICAgIXRoaXMuY3VycmVudENvbmZpZy5vcGVyYXRpb25zLnNlbGVjdENob3NlblBvc2l0aW9uPy5kaXNhYmxlZFxuICAgICkge1xuICAgICAga2V5RXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudFNlcnZpY2Uuc2V0Q2xpY2tFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3BlcmF0aW9uOiBLZXlib2FyZE9wZXJhdGlvblR5cGUuU2VsZWN0Q2hvc2VuUG9zaXRpb24sXG4gICAgICAgIG5leHRFbGVtZW50OiBudWxsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMuY3VycmVudENvbmZpZy5vcGVyYXRpb25zLmNsZWFyQ2hvc2VuUG9zaXRpb24/LmtleUV2ZW50ID09PSBrZXlFdmVudC5rZXkgJiZcbiAgICAgICF0aGlzLmN1cnJlbnRDb25maWcub3BlcmF0aW9ucy5jbGVhckNob3NlblBvc2l0aW9uPy5kaXNhYmxlZFxuICAgICkge1xuICAgICAga2V5RXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudFNlcnZpY2Uuc2V0UHJlc2VsZWN0ZWRFbGVtZW50KG51bGwpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3BlcmF0aW9uOiBLZXlib2FyZE9wZXJhdGlvblR5cGUuQ2xlYXJDaG9zZW5Qb3NpdGlvbixcbiAgICAgICAgbmV4dEVsZW1lbnQ6IG51bGxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ReplaySubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class SelectElementService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.preselectedElementSource = new ReplaySubject(1);
|
|
7
|
+
this.preselectedElementWasNull = false;
|
|
8
|
+
this.preselectedElement = this.preselectedElementSource.asObservable();
|
|
9
|
+
this.selectClickElementSource = new ReplaySubject(1);
|
|
10
|
+
this.selectClickElement = this.selectClickElementSource.asObservable();
|
|
11
|
+
this.selectDblClickElementSource = new ReplaySubject(1);
|
|
12
|
+
this.selectDblClickElement = this.selectDblClickElementSource.asObservable();
|
|
13
|
+
this.selectContextMenuElementSource = new ReplaySubject(1);
|
|
14
|
+
this.selectContextMenuElement = this.selectContextMenuElementSource.asObservable();
|
|
15
|
+
}
|
|
16
|
+
setPreselectedElement(element) {
|
|
17
|
+
this.preselectedElementSource.next(element);
|
|
18
|
+
this.preselectedElementWasNull = element == null;
|
|
19
|
+
}
|
|
20
|
+
setClickElement(element) {
|
|
21
|
+
this.selectClickElementSource.next(element);
|
|
22
|
+
if (!this.preselectedElementWasNull) {
|
|
23
|
+
this.preselectedElementSource.next(null);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
setDblClickElement(element) {
|
|
27
|
+
this.selectDblClickElementSource.next(element);
|
|
28
|
+
}
|
|
29
|
+
setContextMenuElement(data) {
|
|
30
|
+
this.selectContextMenuElementSource.next(data);
|
|
31
|
+
}
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SelectElementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
33
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SelectElementService, providedIn: 'root' }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SelectElementService, decorators: [{
|
|
36
|
+
type: Injectable,
|
|
37
|
+
args: [{
|
|
38
|
+
providedIn: 'root'
|
|
39
|
+
}]
|
|
40
|
+
}] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVsZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXZhL3NyYy9saWIvYXZhLXRyZWUvdHJlZS9zZXJ2aWNlcy9zZWxlY3QtZWxlbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFPckMsTUFBTSxPQUFPLG9CQUFvQjtJQUhqQztRQUlVLDZCQUF3QixHQUFHLElBQUksYUFBYSxDQUFxQixDQUFDLENBQUMsQ0FBQztRQUNwRSw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFDMUMsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTFELDZCQUF3QixHQUFHLElBQUksYUFBYSxDQUFxQixDQUFDLENBQUMsQ0FBQztRQUM1RSx1QkFBa0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFMUQsZ0NBQTJCLEdBQUcsSUFBSSxhQUFhLENBQWMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsMEJBQXFCLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWhFLG1DQUE4QixHQUFHLElBQUksYUFBYSxDQUE0RCxDQUFDLENBQUMsQ0FBQztRQUN6SCw2QkFBd0IsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsWUFBWSxFQUFFLENBQUM7S0FxQi9FO0lBbkJDLHFCQUFxQixDQUFDLE9BQTJCO1FBQy9DLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDbkQsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUEyQjtRQUN6QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBb0I7UUFDckMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBK0Q7UUFDbkYsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOzhHQWhDVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElFbGVtZW50RHRvIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RFbGVtZW50U2VydmljZSB7XG4gIHByaXZhdGUgcHJlc2VsZWN0ZWRFbGVtZW50U291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8SUVsZW1lbnREdG8gfCBudWxsPigxKTtcbiAgcHJpdmF0ZSBwcmVzZWxlY3RlZEVsZW1lbnRXYXNOdWxsID0gZmFsc2U7XG4gIHByZXNlbGVjdGVkRWxlbWVudCA9IHRoaXMucHJlc2VsZWN0ZWRFbGVtZW50U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgc2VsZWN0Q2xpY2tFbGVtZW50U291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8SUVsZW1lbnREdG8gfCBudWxsPigxKTtcbiAgc2VsZWN0Q2xpY2tFbGVtZW50ID0gdGhpcy5zZWxlY3RDbGlja0VsZW1lbnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBzZWxlY3REYmxDbGlja0VsZW1lbnRTb3VyY2UgPSBuZXcgUmVwbGF5U3ViamVjdDxJRWxlbWVudER0bz4oMSk7XG4gIHNlbGVjdERibENsaWNrRWxlbWVudCA9IHRoaXMuc2VsZWN0RGJsQ2xpY2tFbGVtZW50U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgc2VsZWN0Q29udGV4dE1lbnVFbGVtZW50U291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8eyBwb3NpdGlvbjogeyB4OiBzdHJpbmc7IHk6IHN0cmluZyB9OyBub2RlOiBJRWxlbWVudER0byB9PigxKTtcbiAgc2VsZWN0Q29udGV4dE1lbnVFbGVtZW50ID0gdGhpcy5zZWxlY3RDb250ZXh0TWVudUVsZW1lbnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgc2V0UHJlc2VsZWN0ZWRFbGVtZW50KGVsZW1lbnQ6IElFbGVtZW50RHRvIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMucHJlc2VsZWN0ZWRFbGVtZW50U291cmNlLm5leHQoZWxlbWVudCk7XG4gICAgdGhpcy5wcmVzZWxlY3RlZEVsZW1lbnRXYXNOdWxsID0gZWxlbWVudCA9PSBudWxsO1xuICB9XG5cbiAgc2V0Q2xpY2tFbGVtZW50KGVsZW1lbnQ6IElFbGVtZW50RHRvIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0Q2xpY2tFbGVtZW50U291cmNlLm5leHQoZWxlbWVudCk7XG4gICAgaWYgKCF0aGlzLnByZXNlbGVjdGVkRWxlbWVudFdhc051bGwpIHtcbiAgICAgIHRoaXMucHJlc2VsZWN0ZWRFbGVtZW50U291cmNlLm5leHQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2V0RGJsQ2xpY2tFbGVtZW50KGVsZW1lbnQ6IElFbGVtZW50RHRvKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3REYmxDbGlja0VsZW1lbnRTb3VyY2UubmV4dChlbGVtZW50KTtcbiAgfVxuXG4gIHNldENvbnRleHRNZW51RWxlbWVudChkYXRhOiB7IHBvc2l0aW9uOiB7IHg6IHN0cmluZzsgeTogc3RyaW5nIH07IG5vZGU6IElFbGVtZW50RHRvIH0pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdENvbnRleHRNZW51RWxlbWVudFNvdXJjZS5uZXh0KGRhdGEpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { BehaviorSubject, ReplaySubject } from 'rxjs';
|
|
2
|
+
export class TreeNodeSelectionService {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.treeNodeSelectingSource = new BehaviorSubject({});
|
|
5
|
+
this.treeNodeSelecting = this.treeNodeSelectingSource.asObservable();
|
|
6
|
+
this._selectingElementsTreeData = null;
|
|
7
|
+
this.selectingChangedSource = new ReplaySubject(1);
|
|
8
|
+
this.selectingChanged = this.selectingChangedSource.asObservable();
|
|
9
|
+
this.flatSelectedListId = [];
|
|
10
|
+
}
|
|
11
|
+
setSelectingChanged(selectingChanged) {
|
|
12
|
+
this.selectingChangedSource.next(selectingChanged);
|
|
13
|
+
}
|
|
14
|
+
loadSelectingElements(elements, parent = null) {
|
|
15
|
+
const list = [];
|
|
16
|
+
if (elements && elements.length) {
|
|
17
|
+
elements.forEach((element) => {
|
|
18
|
+
const obj = {
|
|
19
|
+
parent,
|
|
20
|
+
elementId: element.id,
|
|
21
|
+
checked: false
|
|
22
|
+
};
|
|
23
|
+
if (element.elementType === 'ServiceSpecificationGroupDto') {
|
|
24
|
+
obj.indeterminate = false;
|
|
25
|
+
obj.children = this.loadSelectingElements(element.elements, obj);
|
|
26
|
+
}
|
|
27
|
+
list.push(obj);
|
|
28
|
+
this.treeNodeSelectingSource.value[element.id] = obj;
|
|
29
|
+
});
|
|
30
|
+
this._selectingElementsTreeData = list;
|
|
31
|
+
}
|
|
32
|
+
return list;
|
|
33
|
+
}
|
|
34
|
+
getTreeData() {
|
|
35
|
+
return this._selectingElementsTreeData;
|
|
36
|
+
}
|
|
37
|
+
changeAllChild(children, value) {
|
|
38
|
+
children.forEach((item) => {
|
|
39
|
+
item.checked = value;
|
|
40
|
+
if (item.children) {
|
|
41
|
+
item.indeterminate = false;
|
|
42
|
+
this.changeAllChild(item.children, value);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
changeAllParent(parent, value) {
|
|
47
|
+
parent.checked = value;
|
|
48
|
+
if (parent.parent) {
|
|
49
|
+
this.changeAllParent(parent.parent, value);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
changeSelecting(value, id, isUserChanged = true) {
|
|
53
|
+
const selectingNode = this.treeNodeSelectingSource.value[id];
|
|
54
|
+
if (!selectingNode) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
selectingNode.checked = value;
|
|
58
|
+
if (selectingNode.children) {
|
|
59
|
+
selectingNode.indeterminate = false;
|
|
60
|
+
if (isUserChanged) {
|
|
61
|
+
this.changeAllChild(selectingNode.children, value);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (selectingNode.parent) {
|
|
65
|
+
this.changeAllParent(selectingNode.parent, value);
|
|
66
|
+
}
|
|
67
|
+
this.getIndeterminate(selectingNode?.parent || null);
|
|
68
|
+
if (isUserChanged) {
|
|
69
|
+
this.treeNodeSelectingSource.next(this.treeNodeSelectingSource.value);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
getIndeterminate(parentNode) {
|
|
73
|
+
if (!parentNode) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (!parentNode.children || !parentNode.children.length) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
let resultIndeterminateSome = false;
|
|
80
|
+
let resultIndeterminateAll = false;
|
|
81
|
+
parentNode.children.forEach((item) => {
|
|
82
|
+
if (item.checked || item.indeterminate) {
|
|
83
|
+
resultIndeterminateSome = true;
|
|
84
|
+
}
|
|
85
|
+
if (!item.checked) {
|
|
86
|
+
resultIndeterminateAll = true;
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
if (!resultIndeterminateSome) {
|
|
90
|
+
parentNode.indeterminate = false;
|
|
91
|
+
parentNode.checked = false;
|
|
92
|
+
}
|
|
93
|
+
else if (resultIndeterminateAll) {
|
|
94
|
+
parentNode.indeterminate = true;
|
|
95
|
+
parentNode.checked = false;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
parentNode.indeterminate = false;
|
|
99
|
+
parentNode.checked = true;
|
|
100
|
+
}
|
|
101
|
+
this.getIndeterminate(parentNode.parent);
|
|
102
|
+
}
|
|
103
|
+
changeAll(value) {
|
|
104
|
+
Object.values(this.treeNodeSelectingSource.value).forEach((e) => {
|
|
105
|
+
this.changeSelecting(value, e.elementId, false);
|
|
106
|
+
});
|
|
107
|
+
this.treeNodeSelectingSource.next(this.treeNodeSelectingSource.value);
|
|
108
|
+
}
|
|
109
|
+
getFlatSelectedListId(selectedElements) {
|
|
110
|
+
selectedElements.forEach((el) => {
|
|
111
|
+
if (el.children) {
|
|
112
|
+
this.getFlatSelectedListId(el.children);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this.flatSelectedListId.push(el.elementId);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
getTreeRoot(treeRoot) {
|
|
120
|
+
const list = [];
|
|
121
|
+
treeRoot.forEach((item) => {
|
|
122
|
+
if (item.checked || item.indeterminate) {
|
|
123
|
+
const obj = { elementId: item.elementId };
|
|
124
|
+
if (item.children) {
|
|
125
|
+
obj.children = this.getTreeRoot(item.children);
|
|
126
|
+
}
|
|
127
|
+
list.push(obj);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
return list;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLXNlbGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1hdmEvc3JjL2xpYi9hdmEtdHJlZS90cmVlL3NlcnZpY2VzL3RyZWUtbm9kZS1zZWxlY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt0RCxNQUFNLE9BQU8sd0JBQXdCO0lBVW5DO1FBVFEsNEJBQXVCLEdBQUcsSUFBSSxlQUFlLENBQWlELEVBQUUsQ0FBQyxDQUFDO1FBQzFHLHNCQUFpQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4RCwrQkFBMEIsR0FBbUMsSUFBSSxDQUFDO1FBRWxFLDJCQUFzQixHQUFHLElBQUksYUFBYSxDQUEwQixDQUFDLENBQUMsQ0FBQztRQUMvRSxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFOUQsdUJBQWtCLEdBQWEsRUFBRSxDQUFDO0lBRW5CLENBQUM7SUFFaEIsbUJBQW1CLENBQUMsZ0JBQXlDO1FBQzNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQscUJBQXFCLENBQ25CLFFBQTBDLEVBQzFDLFNBQW1ELElBQUk7UUFFdkQsTUFBTSxJQUFJLEdBQTRCLEVBQUUsQ0FBQztRQUN6QyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQW9CLEVBQUUsRUFBRTtnQkFDeEMsTUFBTSxHQUFHLEdBQUc7b0JBQ1YsTUFBTTtvQkFDTixTQUFTLEVBQUUsT0FBTyxDQUFDLEVBQUU7b0JBQ3JCLE9BQU8sRUFB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QUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxnQkFBbUM7UUFDdkQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDOUIsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBaUM7UUFDM0MsTUFBTSxJQUFJLEdBQTRCLEVBQUUsQ0FBQztRQUN6QyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBMkIsRUFBRSxFQUFFO1lBQy9DLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3ZDLE1BQU0sR0FBRyxHQUEwQixFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNsQixHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDO2dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSUVsZW1lbnREdG8sIFNlcnZpY2VTcGVjaWZpY2F0aW9uR3JvdXBEdG8gfSBmcm9tICcuLi9tb2RlbC9hdmEtbW9kZWxzJztcbmltcG9ydCB7IFNlbGVjdGVkRWxlbWVudCwgU2VsZWN0aW5nRWxlbWVudHNUeXBlIH0gZnJvbSAnLi4vbW9kZWwvc2VsZWN0aW5nLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIFRyZWVOb2RlU2VsZWN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgdHJlZU5vZGVTZWxlY3RpbmdTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgW2VsZW1lbnRJZDogc3RyaW5nXTogU2VsZWN0aW5nRWxlbWVudHNUeXBlIH0+KHt9KTtcbiAgdHJlZU5vZGVTZWxlY3RpbmcgPSB0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIF9zZWxlY3RpbmdFbGVtZW50c1RyZWVEYXRhOiBTZWxlY3RpbmdFbGVtZW50c1R5cGVbXSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgc2VsZWN0aW5nQ2hhbmdlZFNvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PFNlbGVjdGluZ0VsZW1lbnRzVHlwZVtdPigxKTtcbiAgc2VsZWN0aW5nQ2hhbmdlZCA9IHRoaXMuc2VsZWN0aW5nQ2hhbmdlZFNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICBmbGF0U2VsZWN0ZWRMaXN0SWQ6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHNldFNlbGVjdGluZ0NoYW5nZWQoc2VsZWN0aW5nQ2hhbmdlZDogU2VsZWN0aW5nRWxlbWVudHNUeXBlW10pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGluZ0NoYW5nZWRTb3VyY2UubmV4dChzZWxlY3RpbmdDaGFuZ2VkKTtcbiAgfVxuXG4gIGxvYWRTZWxlY3RpbmdFbGVtZW50cyhcbiAgICBlbGVtZW50czogSUVsZW1lbnREdG9bXSB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgcGFyZW50OiBTZWxlY3RpbmdFbGVtZW50c1R5cGUgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbFxuICApOiBTZWxlY3RpbmdFbGVtZW50c1R5cGVbXSB7XG4gICAgY29uc3QgbGlzdDogU2VsZWN0aW5nRWxlbWVudHNUeXBlW10gPSBbXTtcbiAgICBpZiAoZWxlbWVudHMgJiYgZWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OiBJRWxlbWVudER0bykgPT4ge1xuICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgcGFyZW50LFxuICAgICAgICAgIGVsZW1lbnRJZDogZWxlbWVudC5pZCxcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZVxuICAgICAgICB9IGFzIFNlbGVjdGluZ0VsZW1lbnRzVHlwZTtcbiAgICAgICAgaWYgKGVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvJykge1xuICAgICAgICAgIG9iai5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgICAgb2JqLmNoaWxkcmVuID0gdGhpcy5sb2FkU2VsZWN0aW5nRWxlbWVudHMoKDxTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvPmVsZW1lbnQpLmVsZW1lbnRzLCBvYmopO1xuICAgICAgICB9XG4gICAgICAgIGxpc3QucHVzaChvYmopO1xuICAgICAgICB0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLnZhbHVlW2VsZW1lbnQuaWRdID0gb2JqO1xuICAgICAgfSk7XG4gICAgICB0aGlzLl9zZWxlY3RpbmdFbGVtZW50c1RyZWVEYXRhID0gbGlzdDtcbiAgICB9XG4gICAgcmV0dXJuIGxpc3Q7XG4gIH1cblxuICBnZXRUcmVlRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW5nRWxlbWVudHNUcmVlRGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlQWxsQ2hpbGQoY2hpbGRyZW46IFNlbGVjdGluZ0VsZW1lbnRzVHlwZVtdLCB2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNoaWxkcmVuLmZvckVhY2goKGl0ZW06IFNlbGVjdGluZ0VsZW1lbnRzVHlwZSkgPT4ge1xuICAgICAgaXRlbS5jaGVja2VkID0gdmFsdWU7XG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICBpdGVtLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VBbGxDaGlsZChpdGVtLmNoaWxkcmVuLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZUFsbFBhcmVudChwYXJlbnQ6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZSwgdmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBwYXJlbnQuY2hlY2tlZCA9IHZhbHVlO1xuICAgIGlmIChwYXJlbnQucGFyZW50KSB7XG4gICAgICB0aGlzLmNoYW5nZUFsbFBhcmVudChwYXJlbnQucGFyZW50LCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlU2VsZWN0aW5nKHZhbHVlOiBib29sZWFuLCBpZDogc3RyaW5nLCBpc1VzZXJDaGFuZ2VkID0gdHJ1ZSk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGluZ05vZGUgPSB0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLnZhbHVlW2lkXTtcbiAgICBpZiAoIXNlbGVjdGluZ05vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZWxlY3RpbmdOb2RlLmNoZWNrZWQgPSB2YWx1ZTtcbiAgICBpZiAoc2VsZWN0aW5nTm9kZS5jaGlsZHJlbikge1xuICAgICAgc2VsZWN0aW5nTm9kZS5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICBpZiAoaXNVc2VyQ2hhbmdlZCkge1xuICAgICAgICB0aGlzLmNoYW5nZUFsbENoaWxkKHNlbGVjdGluZ05vZGUuY2hpbGRyZW4sIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHNlbGVjdGluZ05vZGUucGFyZW50KSB7XG4gICAgICB0aGlzLmNoYW5nZUFsbFBhcmVudChzZWxlY3RpbmdOb2RlLnBhcmVudCwgdmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmdldEluZGV0ZXJtaW5hdGUoc2VsZWN0aW5nTm9kZT8ucGFyZW50IHx8IG51bGwpO1xuICAgIGlmIChpc1VzZXJDaGFuZ2VkKSB7XG4gICAgICB0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLm5leHQodGhpcy50cmVlTm9kZVNlbGVjdGluZ1NvdXJjZS52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbmRldGVybWluYXRlKHBhcmVudE5vZGU6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZSB8IG51bGwgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIXBhcmVudE5vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXBhcmVudE5vZGUuY2hpbGRyZW4gfHwgIXBhcmVudE5vZGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHJlc3VsdEluZGV0ZXJtaW5hdGVTb21lID0gZmFsc2U7XG4gICAgbGV0IHJlc3VsdEluZGV0ZXJtaW5hdGVBbGwgPSBmYWxzZTtcbiAgICBwYXJlbnROb2RlLmNoaWxkcmVuLmZvckVhY2goKGl0ZW06IFNlbGVjdGluZ0VsZW1lbnRzVHlwZSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uY2hlY2tlZCB8fCBpdGVtLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgcmVzdWx0SW5kZXRlcm1pbmF0ZVNvbWUgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKCFpdGVtLmNoZWNrZWQpIHtcbiAgICAgICAgcmVzdWx0SW5kZXRlcm1pbmF0ZUFsbCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKCFyZXN1bHRJbmRldGVybWluYXRlU29tZSkge1xuICAgICAgcGFyZW50Tm9kZS5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICBwYXJlbnROb2RlLmNoZWNrZWQgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHJlc3VsdEluZGV0ZXJtaW5hdGVBbGwpIHtcbiAgICAgIHBhcmVudE5vZGUuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICBwYXJlbnROb2RlLmNoZWNrZWQgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyZW50Tm9kZS5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICBwYXJlbnROb2RlLmNoZWNrZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLmdldEluZGV0ZXJtaW5hdGUocGFyZW50Tm9kZS5wYXJlbnQpO1xuICB9XG5cbiAgY2hhbmdlQWxsKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLnZhbHVlKS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICB0aGlzLmNoYW5nZVNlbGVjdGluZyh2YWx1ZSwgZS5lbGVtZW50SWQsIGZhbHNlKTtcbiAgICB9KTtcbiAgICB0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLm5leHQodGhpcy50cmVlTm9kZVNlbGVjdGluZ1NvdXJjZS52YWx1ZSk7XG4gIH1cblxuICBnZXRGbGF0U2VsZWN0ZWRMaXN0SWQoc2VsZWN0ZWRFbGVtZW50czogU2VsZWN0ZWRFbGVtZW50W10pOiB2b2lkIHtcbiAgICBzZWxlY3RlZEVsZW1lbnRzLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICBpZiAoZWwuY2hpbGRyZW4pIHtcbiAgICAgICAgdGhpcy5nZXRGbGF0U2VsZWN0ZWRMaXN0SWQoZWwuY2hpbGRyZW4pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mbGF0U2VsZWN0ZWRMaXN0SWQucHVzaChlbC5lbGVtZW50SWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0VHJlZVJvb3QodHJlZVJvb3Q6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZVtdKTogU2VsZWN0aW5nRWxlbWVudHNUeXBlW10ge1xuICAgIGNvbnN0IGxpc3Q6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZVtdID0gW107XG4gICAgdHJlZVJvb3QuZm9yRWFjaCgoaXRlbTogU2VsZWN0aW5nRWxlbWVudHNUeXBlKSA9PiB7XG4gICAgICBpZiAoaXRlbS5jaGVja2VkIHx8IGl0ZW0uaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgICBjb25zdCBvYmo6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZSA9IHsgZWxlbWVudElkOiBpdGVtLmVsZW1lbnRJZCB9O1xuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgIG9iai5jaGlsZHJlbiA9IHRoaXMuZ2V0VHJlZVJvb3QoaXRlbS5jaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgICAgbGlzdC5wdXNoKG9iaik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGxpc3Q7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// This file is automatically generated as part of the build process
|
|
2
|
+
export const version = {
|
|
3
|
+
version: "0.1.1-beta0093",
|
|
4
|
+
commitInfo: "Branch.develop.Sha.37ddc57b20301a1e73e50cae70f4b7295d68489c",
|
|
5
|
+
commitDate: "2024-02-17",
|
|
6
|
+
commitHash: "37ddc57b20301a1e73e50cae70f4b7295d68489c",
|
|
7
|
+
informationalVersion: "0.1.1-beta.93+Branch.develop.Sha.37ddc57b20301a1e73e50cae70f4b7295d68489c",
|
|
8
|
+
buildDateUtc: new Date(Date.UTC(2024, 1, 17, 21, 47, 30))
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXZhL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvRUFBb0U7QUFFcEUsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ25CLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsVUFBVSxFQUFFLDZEQUE2RDtJQUN6RSxVQUFVLEVBQUUsWUFBWTtJQUN4QixVQUFVLEVBQUUsMENBQTBDO0lBQ3RELG9CQUFvQixFQUFFLDJFQUEyRTtJQUNqRyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0NBQzVELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYXMgcGFydCBvZiB0aGUgYnVpbGQgcHJvY2Vzc1xuXG5leHBvcnQgY29uc3QgdmVyc2lvbiA9IHtcbiAgICB2ZXJzaW9uOiBcIjAuMS4xLWJldGEwMDkzXCIsXG4gICAgY29tbWl0SW5mbzogXCJCcmFuY2guZGV2ZWxvcC5TaGEuMzdkZGM1N2IyMDMwMWExZTczZTUwY2FlNzBmNGI3Mjk1ZDY4NDg5Y1wiLFxuICAgIGNvbW1pdERhdGU6IFwiMjAyNC0wMi0xN1wiLFxuICAgIGNvbW1pdEhhc2g6IFwiMzdkZGM1N2IyMDMwMWExZTczZTUwY2FlNzBmNGI3Mjk1ZDY4NDg5Y1wiLFxuICAgIGluZm9ybWF0aW9uYWxWZXJzaW9uOiBcIjAuMS4xLWJldGEuOTMrQnJhbmNoLmRldmVsb3AuU2hhLjM3ZGRjNTdiMjAzMDFhMWU3M2U1MGNhZTcwZjRiNzI5NWQ2ODQ4OWNcIixcbiAgICBidWlsZERhdGVVdGM6IG5ldyBEYXRlKERhdGUuVVRDKDIwMjQsIDEsIDE3LCAyMSwgNDcsIDMwKSlcbn1cbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of angular-ava
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/ava-tree/tree/model';
|
|
5
|
+
export * from './lib/angular-ava.module';
|
|
6
|
+
export * from './lib/version';
|
|
7
|
+
export * from './lib/ava-tree/tree/components/ava-tree/ava-tree.component';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXZhL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsNERBQTRELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFuZ3VsYXItYXZhXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXZhLXRyZWUvdHJlZS9tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmd1bGFyLWF2YS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmVyc2lvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdmEtdHJlZS90cmVlL2NvbXBvbmVudHMvYXZhLXRyZWUvYXZhLXRyZWUuY29tcG9uZW50JztcbiJdfQ==
|