@dangl/angular-ava 0.1.1-fe--1-add-tree-p0053
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 +88 -0
- package/esm2022/lib/ava-tree/tree/components/ava-tree/ava-tree.component.mjs +356 -0
- package/esm2022/lib/ava-tree/tree/components/list-structure/list-structure.component.mjs +38 -0
- package/esm2022/lib/ava-tree/tree/components/table-structure/table-structure.component.mjs +99 -0
- package/esm2022/lib/ava-tree/tree/components/tree-item/tree-item.component.mjs +89 -0
- package/esm2022/lib/ava-tree/tree/components/tree-node/tree-node.component.mjs +52 -0
- package/esm2022/lib/ava-tree/tree/components/tree-structure/tree-structure.component.mjs +30 -0
- package/esm2022/lib/ava-tree/tree/constants/defaultFilters.mjs +6 -0
- package/esm2022/lib/ava-tree/tree/constants/defaultTextWords.mjs +11 -0
- package/esm2022/lib/ava-tree/tree/constants/index.mjs +4 -0
- package/esm2022/lib/ava-tree/tree/directives/save-changing-view.directive.mjs +43 -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/services/expand-parent-group.service.mjs +32 -0
- package/esm2022/lib/ava-tree/tree/services/flat-elements.service.mjs +99 -0
- package/esm2022/lib/ava-tree/tree/services/keyboard-operation.service.mjs +114 -0
- package/esm2022/lib/ava-tree/tree/services/select-element.service.mjs +37 -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 +1174 -0
- package/fesm2022/dangl-angular-ava.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/angular-ava.module.d.ts +26 -0
- package/lib/ava-tree/tree/components/ava-tree/ava-tree.component.d.ts +77 -0
- package/lib/ava-tree/tree/components/list-structure/list-structure.component.d.ts +16 -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 +34 -0
- package/lib/ava-tree/tree/components/tree-node/tree-node.component.d.ts +22 -0
- package/lib/ava-tree/tree/components/tree-structure/tree-structure.component.d.ts +13 -0
- package/lib/ava-tree/tree/constants/defaultFilters.d.ts +1 -0
- package/lib/ava-tree/tree/constants/defaultTextWords.d.ts +11 -0
- package/lib/ava-tree/tree/constants/index.d.ts +3 -0
- package/lib/ava-tree/tree/directives/save-changing-view.directive.d.ts +12 -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 +11 -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/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 +32 -0
- package/lib/ava-tree/tree/services/select-element.service.d.ts +30 -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, arg) {
|
|
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: "16.2.6", ngImport: i0, type: ElementTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
19
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: ElementTextPipe, name: "elementText" }); }
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ElementTextPipe, decorators: [{
|
|
22
|
+
type: Pipe,
|
|
23
|
+
args: [{
|
|
24
|
+
name: 'elementText'
|
|
25
|
+
}]
|
|
26
|
+
}] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC10ZXh0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWF2YS9zcmMvbGliL2F2YS10cmVlL3RyZWUvcGlwZXMvZWxlbWVudC10ZXh0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBT3BELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxPQUFvQixFQUFFLEdBQVk7UUFDMUMsUUFBUSxPQUFPLENBQUMsd0JBQXdCLEVBQUU7WUFDeEMsS0FBSyxhQUFhO2dCQUNoQixPQUFRLE9BQXVCLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQztZQUN6RCxLQUFLLHlCQUF5QjtnQkFDNUIsT0FBTyxHQUFJLE9BQW1DLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBRSxPQUFtQyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FDckgsT0FBbUMsQ0FBQyxLQUFLLElBQUksYUFDaEQsRUFBRSxDQUFDO1lBQ0wsS0FBSyw4QkFBOEI7Z0JBQ2pDLE9BQVEsT0FBd0MsQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDO1lBQ3hFLEtBQUssYUFBYTtnQkFDaEIsT0FBUSxPQUF1QixDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUM7WUFDMUQ7Z0JBQ0UsT0FBTyxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7OEdBaEJVLGVBQWU7NEdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFIM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBFeGVjdXRpb25EZXNjcmlwdGlvbkR0bywgSUVsZW1lbnREdG8sIE5vdGVUZXh0RHRvLCBQb3NpdGlvbkR0bywgU2VydmljZVNwZWNpZmljYXRpb25Hcm91cER0byB9IGZyb20gJy4uL21vZGVsJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZWxlbWVudFRleHQnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbGVtZW50VGV4dFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oZWxlbWVudDogSUVsZW1lbnREdG8sIGFyZz86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGVsZW1lbnQuZWxlbWVudFR5cGVEaXNjcmltaW5hdG9yKSB7XHJcbiAgICAgIGNhc2UgJ05vdGVUZXh0RHRvJzpcclxuICAgICAgICByZXR1cm4gKGVsZW1lbnQgYXMgTm90ZVRleHREdG8pLnNob3J0VGV4dCB8fCAnSGlud2Vpcyc7XHJcbiAgICAgIGNhc2UgJ0V4ZWN1dGlvbkRlc2NyaXB0aW9uRHRvJzpcclxuICAgICAgICByZXR1cm4gYCR7KGVsZW1lbnQgYXMgRXhlY3V0aW9uRGVzY3JpcHRpb25EdG8pLmlkZW50aWZpZXIgPyAoZWxlbWVudCBhcyBFeGVjdXRpb25EZXNjcmlwdGlvbkR0bykuaWRlbnRpZmllciArICcgLSAnIDogJyd9JHtcclxuICAgICAgICAgIChlbGVtZW50IGFzIEV4ZWN1dGlvbkRlc2NyaXB0aW9uRHRvKS5sYWJlbCB8fCAnRGVzY3JpcHRpb24nXHJcbiAgICAgICAgfWA7XHJcbiAgICAgIGNhc2UgJ1NlcnZpY2VTcGVjaWZpY2F0aW9uR3JvdXBEdG8nOlxyXG4gICAgICAgIHJldHVybiAoZWxlbWVudCBhcyBTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvKS5zaG9ydFRleHQgfHwgJ0dyb3VwJztcclxuICAgICAgY2FzZSAnUG9zaXRpb25EdG8nOlxyXG4gICAgICAgIHJldHVybiAoZWxlbWVudCBhcyBQb3NpdGlvbkR0bykuc2hvcnRUZXh0IHx8ICdQb3NpdGlvbic7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kLXBhcmVudC1ncm91cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1hdmEvc3JjL2xpYi9hdmEtdHJlZS90cmVlL3NlcnZpY2VzL2V4cGFuZC1wYXJlbnQtZ3JvdXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLGdCQUFlLENBQUM7SUFFaEIsa0JBQWtCLENBQUMsT0FBb0IsRUFBRSxZQUFrQyxFQUFFLGNBQXlDO1FBQ3BILElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFO1lBQ3pCLE9BQU87U0FDUjtRQUVELE1BQU0sU0FBUyxHQUFtQyxZQUFZLENBQUMsTUFBTSxDQUNuRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUUsSUFBcUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUNsRSxDQUFDO1FBRUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDckIsT0FBTztTQUNSO1FBRUQsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLGNBQTJCLEVBQXVDLEVBQUU7WUFDL0YsS0FBSyxNQUFNLFNBQVMsSUFBSSxTQUFTLEVBQUU7Z0JBQ2pDLElBQUksY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtvQkFDaEMsU0FBUztpQkFDVjtnQkFFRCxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtvQkFDckUsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7b0JBQ3BDLE9BQU8sU0FBUyxDQUFDO2lCQUNsQjthQUNGO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRixNQUFNLGVBQWUsR0FBRyxDQUFDLFlBQXlCLEVBQVEsRUFBRTtZQUMxRCxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN0RCxJQUFJLFdBQVcsRUFBRTtnQkFDZixlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUM7UUFFRixlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUVsZW1lbnREdG8sIFNlcnZpY2VTcGVjaWZpY2F0aW9uR3JvdXBEdG8gfSBmcm9tICcuLi9tb2RlbC9hdmEtbW9kZWxzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBFeHBhbmRQYXJlbnRHcm91cFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgZXhwYW5kUGFyZW50R3JvdXBzKGVsZW1lbnQ6IElFbGVtZW50RHRvLCBmbGF0RWxlbWVudHM6IElFbGVtZW50RHRvW10gfCBudWxsLCBleHBhbnNpb25TdGF0ZTogeyBbaWQ6IHN0cmluZ106IGJvb2xlYW4gfSk6IHZvaWQge1xyXG4gICAgaWYgKCFmbGF0RWxlbWVudHM/Lmxlbmd0aCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbGlzdEdyb3VwOiBTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvW10gPSBmbGF0RWxlbWVudHMuZmlsdGVyKFxyXG4gICAgICAoaXRlbSkgPT4gKGl0ZW0gYXMgU2VydmljZVNwZWNpZmljYXRpb25Hcm91cER0bykuZWxlbWVudHM/Lmxlbmd0aFxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoIWxpc3RHcm91cC5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZpbmRBbmRFeHBhbmRQYXJlbnQgPSAoY3VycmVudEVsZW1lbnQ6IElFbGVtZW50RHRvKTogU2VydmljZVNwZWNpZmljYXRpb25Hcm91cER0byB8IG51bGwgPT4ge1xyXG4gICAgICBmb3IgKGNvbnN0IGl0ZW1Hcm91cCBvZiBsaXN0R3JvdXApIHtcclxuICAgICAgICBpZiAoZXhwYW5zaW9uU3RhdGVbaXRlbUdyb3VwLmlkXSkge1xyXG4gICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoaXRlbUdyb3VwLmVsZW1lbnRzPy5maW5kKChpdGVtKSA9PiBjdXJyZW50RWxlbWVudC5pZCA9PT0gaXRlbS5pZCkpIHtcclxuICAgICAgICAgIGV4cGFuc2lvblN0YXRlW2l0ZW1Hcm91cC5pZF0gPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuIGl0ZW1Hcm91cDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IGV4cGFuZFJlY3Vyc2l2ZSA9IChpbm5lckVsZW1lbnQ6IElFbGVtZW50RHRvKTogdm9pZCA9PiB7XHJcbiAgICAgIGNvbnN0IHBhcmVudEdyb3VwID0gZmluZEFuZEV4cGFuZFBhcmVudChpbm5lckVsZW1lbnQpO1xyXG4gICAgICBpZiAocGFyZW50R3JvdXApIHtcclxuICAgICAgICBleHBhbmRSZWN1cnNpdmUocGFyZW50R3JvdXApO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGV4cGFuZFJlY3Vyc2l2ZShlbGVtZW50KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ReplaySubject, of } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class FlatElementsService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this._flatElementsDto = [];
|
|
7
|
+
this.flatElementsDtoSource = new ReplaySubject(1);
|
|
8
|
+
this.flatElementsDto = this.flatElementsDtoSource.asObservable();
|
|
9
|
+
this.functionView = null;
|
|
10
|
+
this.listFilterFunc = [
|
|
11
|
+
(element, filter) => element['shortText']?.trim().toLocaleLowerCase().includes(filter),
|
|
12
|
+
(element, filter) => element['label']?.trim().toLocaleLowerCase().includes(filter),
|
|
13
|
+
(element, filter) => element['itemNumber']?.['stringRepresentation']?.includes(filter)
|
|
14
|
+
];
|
|
15
|
+
}
|
|
16
|
+
setElementsDto(elementsDto) {
|
|
17
|
+
this._flatElementsDto = FlatElementsService.getFlatElements(elementsDto);
|
|
18
|
+
this.objectElementsDto = FlatElementsService.getObjectElements(this._flatElementsDto);
|
|
19
|
+
this.flatElementsDtoSource.next(this._flatElementsDto);
|
|
20
|
+
}
|
|
21
|
+
static getFlatElements(container) {
|
|
22
|
+
const flatElements = [];
|
|
23
|
+
if (container.elements) {
|
|
24
|
+
container.elements.forEach((e) => {
|
|
25
|
+
flatElements.push(e);
|
|
26
|
+
if (e.elementTypeDiscriminator === 'ServiceSpecificationGroupDto') {
|
|
27
|
+
const group = e;
|
|
28
|
+
flatElements.push(...this.getFlatElements(group));
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return flatElements;
|
|
33
|
+
}
|
|
34
|
+
static getObjectElements(elements) {
|
|
35
|
+
const objectElements = {};
|
|
36
|
+
if (elements?.length) {
|
|
37
|
+
elements.forEach((e) => {
|
|
38
|
+
if (e?.id) {
|
|
39
|
+
objectElements[e.id] = e;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return objectElements;
|
|
44
|
+
}
|
|
45
|
+
getOneElementById(id) {
|
|
46
|
+
return of(id ? this.objectElementsDto?.[id] || null : null);
|
|
47
|
+
}
|
|
48
|
+
checkFilterValue(element, filterValue) {
|
|
49
|
+
const cleanFilter = filterValue.trim().toLocaleLowerCase();
|
|
50
|
+
for (const func of this.listFilterFunc) {
|
|
51
|
+
if (func(element, cleanFilter)) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
jumpNextNode(delta, currentElement, conditionFunc) {
|
|
58
|
+
if (!this._flatElementsDto.length || (conditionFunc && !this._flatElementsDto.find((item) => conditionFunc(item)))) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
const startElement = currentElement || this._flatElementsDto[0];
|
|
62
|
+
let nextIndex = this._flatElementsDto.findIndex((item) => startElement.id === item.id);
|
|
63
|
+
if (currentElement) {
|
|
64
|
+
nextIndex = this.getNextIndex(this._flatElementsDto.length, nextIndex, delta);
|
|
65
|
+
}
|
|
66
|
+
while (conditionFunc && !conditionFunc(this._flatElementsDto[nextIndex])) {
|
|
67
|
+
nextIndex = this.getNextIndex(this._flatElementsDto.length, nextIndex, delta);
|
|
68
|
+
}
|
|
69
|
+
return this._flatElementsDto[nextIndex];
|
|
70
|
+
}
|
|
71
|
+
getNextIndex(length, index, delta) {
|
|
72
|
+
let nextIndex = index + delta;
|
|
73
|
+
nextIndex = nextIndex < 0 ? length - 1 : nextIndex;
|
|
74
|
+
nextIndex = nextIndex > length - 1 ? 0 : nextIndex;
|
|
75
|
+
return nextIndex;
|
|
76
|
+
}
|
|
77
|
+
getChangedView(id) {
|
|
78
|
+
if (this.objectElementsDto) {
|
|
79
|
+
const element = this.objectElementsDto[id];
|
|
80
|
+
if (element && this.functionView?.length) {
|
|
81
|
+
for (const objectView of this.functionView) {
|
|
82
|
+
if (objectView.func(element)) {
|
|
83
|
+
return objectView.view;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FlatElementsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
91
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FlatElementsService, providedIn: 'root' }); }
|
|
92
|
+
}
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FlatElementsService, decorators: [{
|
|
94
|
+
type: Injectable,
|
|
95
|
+
args: [{
|
|
96
|
+
providedIn: 'root'
|
|
97
|
+
}]
|
|
98
|
+
}], ctorParameters: function () { return []; } });
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC1lbGVtZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1hdmEvc3JjL2xpYi9hdmEtdHJlZS90cmVlL3NlcnZpY2VzL2ZsYXQtZWxlbWVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU9yRCxNQUFNLE9BQU8sbUJBQW1CO0lBZTlCO1FBZFEscUJBQWdCLEdBQWtCLEVBQUUsQ0FBQztRQUNyQywwQkFBcUIsR0FBRyxJQUFJLGFBQWEsQ0FBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDcEUsb0JBQWUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFJNUQsaUJBQVksR0FBK0IsSUFBSSxDQUFDO1FBRWhELG1CQUFjLEdBQUc7WUFDZixDQUFDLE9BQVksRUFBRSxNQUFjLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDbkcsQ0FBQyxPQUFZLEVBQUUsTUFBYyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQy9GLENBQUMsT0FBWSxFQUFFLE1BQWMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO1NBQ3BHLENBQUM7SUFFYSxDQUFDO0lBRWhCLGNBQWMsQ0FBQyxXQUFvQztRQUNqRCxJQUFJLENBQUMsZ0JB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VSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgb2YgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IElFbGVtZW50RHRvLCBJRnVuY3Rpb25WaWV3TGluZSwgSVZpZXdMaW5lLCBTZXJ2aWNlU3BlY2lmaWNhdGlvbkR0bywgU2VydmljZVNwZWNpZmljYXRpb25Hcm91cER0byB9IGZyb20gJy4uL21vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEZsYXRFbGVtZW50c1NlcnZpY2Uge1xyXG4gIHByaXZhdGUgX2ZsYXRFbGVtZW50c0R0bzogSUVsZW1lbnREdG9bXSA9IFtdO1xyXG4gIHByaXZhdGUgZmxhdEVsZW1lbnRzRHRvU291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8SUVsZW1lbnREdG9bXT4oMSk7XHJcbiAgZmxhdEVsZW1lbnRzRHRvID0gdGhpcy5mbGF0RWxlbWVudHNEdG9Tb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIG9iamVjdEVsZW1lbnRzRHRvITogeyBbaWQ6IHN0cmluZ106IElFbGVtZW50RHRvIH07XHJcblxyXG4gIGZ1bmN0aW9uVmlldzogSUZ1bmN0aW9uVmlld0xpbmVbXSB8IG51bGwgPSBudWxsO1xyXG5cclxuICBsaXN0RmlsdGVyRnVuYyA9IFtcclxuICAgIChlbGVtZW50OiBhbnksIGZpbHRlcjogc3RyaW5nKSA9PiBlbGVtZW50WydzaG9ydFRleHQnXT8udHJpbSgpLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyKSxcclxuICAgIChlbGVtZW50OiBhbnksIGZpbHRlcjogc3RyaW5nKSA9PiBlbGVtZW50WydsYWJlbCddPy50cmltKCkudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXIpLFxyXG4gICAgKGVsZW1lbnQ6IGFueSwgZmlsdGVyOiBzdHJpbmcpID0+IGVsZW1lbnRbJ2l0ZW1OdW1iZXInXT8uWydzdHJpbmdSZXByZXNlbnRhdGlvbiddPy5pbmNsdWRlcyhmaWx0ZXIpXHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBzZXRFbGVtZW50c0R0byhlbGVtZW50c0R0bzogU2VydmljZVNwZWNpZmljYXRpb25EdG8pOiB2b2lkIHtcclxuICAgIHRoaXMuX2ZsYXRFbGVtZW50c0R0byA9IEZsYXRFbGVtZW50c1NlcnZpY2UuZ2V0RmxhdEVsZW1lbnRzKGVsZW1lbnRzRHRvKTtcclxuICAgIHRoaXMub2JqZWN0RWxlbWVudHNEdG8gPSBGbGF0RWxlbWVudHNTZXJ2aWNlLmdldE9iamVjdEVsZW1lbnRzKHRoaXMuX2ZsYXRFbGVtZW50c0R0byk7XHJcbiAgICB0aGlzLmZsYXRFbGVtZW50c0R0b1NvdXJjZS5uZXh0KHRoaXMuX2ZsYXRFbGVtZW50c0R0byk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldEZsYXRFbGVtZW50cyhjb250YWluZXI6IHsgZWxlbWVudHM/OiBJRWxlbWVudER0b1tdIHwgbnVsbCB9KTogSUVsZW1lbnREdG9bXSB7XHJcbiAgICBjb25zdCBmbGF0RWxlbWVudHM6IElFbGVtZW50RHRvW10gPSBbXTtcclxuXHJcbiAgICBpZiAoY29udGFpbmVyLmVsZW1lbnRzKSB7XHJcbiAgICAgIGNvbnRhaW5lci5lbGVtZW50cy5mb3JFYWNoKChlKSA9PiB7XHJcbiAgICAgICAgZmxhdEVsZW1lbnRzLnB1c2goZSk7XHJcbiAgICAgICAgaWYgKGUuZWxlbWVudFR5cGVEaXNjcmltaW5hdG9yID09PSAnU2VydmljZVNwZWNpZmljYXRpb25Hcm91cER0bycpIHtcclxuICAgICAgICAgIGNvbnN0IGdyb3VwID0gZSBhcyBTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvO1xyXG4gICAgICAgICAgZmxhdEVsZW1lbnRzLnB1c2goLi4udGhpcy5nZXRGbGF0RWxlbWVudHMoZ3JvdXApKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmbGF0RWxlbWVudHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldE9iamVjdEVsZW1lbnRzKGVsZW1lbnRzOiBJRWxlbWVudER0b1tdKTogeyBbaWQ6IHN0cmluZ106IElFbGVtZW50RHRvIH0ge1xyXG4gICAgY29uc3Qgb2JqZWN0RWxlbWVudHM6IHsgW2lkOiBzdHJpbmddOiBJRWxlbWVudER0byB9ID0ge307XHJcbiAgICBpZiAoZWxlbWVudHM/Lmxlbmd0aCkge1xyXG4gICAgICBlbGVtZW50cy5mb3JFYWNoKChlKSA9PiB7XHJcbiAgICAgICAgaWYgKGU/LmlkKSB7XHJcbiAgICAgICAgICBvYmplY3RFbGVtZW50c1tlLmlkXSA9IGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBvYmplY3RFbGVtZW50cztcclxuICB9XHJcblxyXG4gIGdldE9uZUVsZW1lbnRCeUlkKGlkOiBzdHJpbmcgfCBudWxsKTogT2JzZXJ2YWJsZTxJRWxlbWVudER0byB8IG51bGw+IHtcclxuICAgIHJldHVybiBvZihpZCA/IHRoaXMub2JqZWN0RWxlbWVudHNEdG8/LltpZF0gfHwgbnVsbCA6IG51bGwpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tGaWx0ZXJWYWx1ZShlbGVtZW50OiBhbnksIGZpbHRlclZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGNsZWFuRmlsdGVyID0gZmlsdGVyVmFsdWUudHJpbSgpLnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgICBmb3IgKGNvbnN0IGZ1bmMgb2YgdGhpcy5saXN0RmlsdGVyRnVuYykge1xyXG4gICAgICBpZiAoZnVuYyhlbGVtZW50LCBjbGVhbkZpbHRlcikpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAganVtcE5leHROb2RlKGRlbHRhOiBudW1iZXIsIGN1cnJlbnRFbGVtZW50OiBJRWxlbWVudER0byB8IG51bGwsIGNvbmRpdGlvbkZ1bmM/OiAoZTogYW55KSA9PiBib29sZWFuKTogSUVsZW1lbnREdG8gfCBudWxsIHtcclxuICAgIGlmICghdGhpcy5fZmxhdEVsZW1lbnRzRHRvLmxlbmd0aCB8fCAoY29uZGl0aW9uRnVuYyAmJiAhdGhpcy5fZmxhdEVsZW1lbnRzRHRvLmZpbmQoKGl0ZW0pID0+IGNvbmRpdGlvbkZ1bmMoaXRlbSkpKSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIGNvbnN0IHN0YXJ0RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50IHx8IHRoaXMuX2ZsYXRFbGVtZW50c0R0b1swXTtcclxuICAgIGxldCBuZXh0SW5kZXggPSB0aGlzLl9mbGF0RWxlbWVudHNEdG8uZmluZEluZGV4KChpdGVtKSA9PiBzdGFydEVsZW1lbnQuaWQgPT09IGl0ZW0uaWQpO1xyXG4gICAgaWYgKGN1cnJlbnRFbGVtZW50KSB7XHJcbiAgICAgIG5leHRJbmRleCA9IHRoaXMuZ2V0TmV4dEluZGV4KHRoaXMuX2ZsYXRFbGVtZW50c0R0by5sZW5ndGgsIG5leHRJbmRleCwgZGVsdGEpO1xyXG4gICAgfVxyXG4gICAgd2hpbGUgKGNvbmRpdGlvbkZ1bmMgJiYgIWNvbmRpdGlvbkZ1bmModGhpcy5fZmxhdEVsZW1lbnRzRHRvW25leHRJbmRleF0pKSB7XHJcbiAgICAgIG5leHRJbmRleCA9IHRoaXMuZ2V0TmV4dEluZGV4KHRoaXMuX2ZsYXRFbGVtZW50c0R0by5sZW5ndGgsIG5leHRJbmRleCwgZGVsdGEpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2ZsYXRFbGVtZW50c0R0b1tuZXh0SW5kZXhdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXROZXh0SW5kZXgobGVuZ3RoOiBudW1iZXIsIGluZGV4OiBudW1iZXIsIGRlbHRhOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgbGV0IG5leHRJbmRleCA9IGluZGV4ICsgZGVsdGE7XHJcbiAgICBuZXh0SW5kZXggPSBuZXh0SW5kZXggPCAwID8gbGVuZ3RoIC0gMSA6IG5leHRJbmRleDtcclxuICAgIG5leHRJbmRleCA9IG5leHRJbmRleCA+IGxlbmd0aCAtIDEgPyAwIDogbmV4dEluZGV4O1xyXG4gICAgcmV0dXJuIG5leHRJbmRleDtcclxuICB9XHJcblxyXG4gIGdldENoYW5nZWRWaWV3KGlkOiBzdHJpbmcpOiBJVmlld0xpbmUgfCBudWxsIHtcclxuICAgIGlmICh0aGlzLm9iamVjdEVsZW1lbnRzRHRvKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLm9iamVjdEVsZW1lbnRzRHRvW2lkXTtcclxuICAgICAgaWYgKGVsZW1lbnQgJiYgdGhpcy5mdW5jdGlvblZpZXc/Lmxlbmd0aCkge1xyXG4gICAgICAgIGZvciAoY29uc3Qgb2JqZWN0VmlldyBvZiB0aGlzLmZ1bmN0aW9uVmlldykge1xyXG4gICAgICAgICAgaWYgKG9iamVjdFZpZXcuZnVuYyhlbGVtZW50KSkge1xyXG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0Vmlldy52aWV3O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { FlatElementsService } from 'projects/angular-ava/src/lib/ava-tree/tree/services/flat-elements.service';
|
|
3
|
+
import { SelectElementService } from 'projects/angular-ava/src/lib/ava-tree/tree/services/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
|
+
};
|
|
102
|
+
}
|
|
103
|
+
if (this.currentConfig.operations.clearChosenPosition?.keyEvent === keyEvent.key &&
|
|
104
|
+
!this.currentConfig.operations.clearChosenPosition?.disabled) {
|
|
105
|
+
keyEvent.preventDefault();
|
|
106
|
+
this.selectElementService.setPreselectedElement(null);
|
|
107
|
+
return {
|
|
108
|
+
operation: KeyboardOperationType.ClearChosenPosition
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtb3BlcmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWF2YS9zcmMvbGliL2F2YS10cmVlL3RyZWUvc2VydmljZXMva2V5Ym9hcmQtb3BlcmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQU1sSCxNQUFNLENBQU4sSUFBWSxxQkFPWDtBQVBELFdBQVkscUJBQXFCO0lBQy9CLDBFQUFpRCxDQUFBO0lBQ2pELDhFQUFxRCxDQUFBO0lBQ3JELDBFQUFpRCxDQUFBO0lBQ2pELHNFQUE2QyxDQUFBO0lBQzdDLG9FQUEyQyxDQUFBO0lBQzNDLHNFQUE2QyxDQUFBO0FBQy9DLENBQUMsRUFQVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBT2hDO0FBV0QsTUFBTSxPQUFPLHdCQUF3QjtJQWlCbkM7UUFoQlEsbUNBQThCLEdBQTZCO1lBQ2pFLFVBQVUsRUFBRTtnQkFDVixzQkFBc0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtnQkFDNUQsd0JBQXdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBQzlELHNCQUFzQixFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFO2dCQUNsRSxvQkFBb0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRTtnQkFDOUQsbUJBQW1CLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEs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QUFXLENBQUMsQ0FBQztZQUN0RyxPQUFPO2dCQUNMLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxvQkFBb0I7Z0JBQ3JELFdBQVcsRUFBRSxXQUFXO2FBQ3pCLENBQUM7U0FDSDtRQUVELElBQ0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxLQUFLLFFBQVEsQ0FBQyxHQUFHO1lBQzdFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxFQUM3RDtZQUNBLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELE9BQU87Z0JBQ0wsU0FBUyxFQUFFLHFCQUFxQixDQUFDLG9CQUFvQjthQUN0RCxDQUFDO1NBQ0g7UUFFRCxJQUNFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsS0FBSyxRQUFRLENBQUMsR0FBRztZQUM1RSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsRUFDNUQ7WUFDQSxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RELE9BQU87Z0JBQ0wsU0FBUyxFQUFFLHFCQUFxQixDQUFDLG1CQUFtQjthQUNyRCxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSUVsZW1lbnREdG8gfSBmcm9tICcuLi9tb2RlbC9hdmEtbW9kZWxzJztcclxuaW1wb3J0IHsgRmxhdEVsZW1lbnRzU2VydmljZSB9IGZyb20gJ3Byb2plY3RzL2FuZ3VsYXItYXZhL3NyYy9saWIvYXZhLXRyZWUvdHJlZS9zZXJ2aWNlcy9mbGF0LWVsZW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWxlY3RFbGVtZW50U2VydmljZSB9IGZyb20gJ3Byb2plY3RzL2FuZ3VsYXItYXZhL3NyYy9saWIvYXZhLXRyZWUvdHJlZS9zZXJ2aWNlcy9zZWxlY3QtZWxlbWVudC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUtleWJvYXJkT3BlcmF0aW9uQ29uZmlnIHtcclxuICBvcGVyYXRpb25zOiBJS2V5Ym9hcmRPcGVyYXRpb25zO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBLZXlib2FyZE9wZXJhdGlvblR5cGUge1xyXG4gIE1vdmVTZWxlY3RlZFBvc2l0aW9uVXAgPSAnbW92ZVNlbGVjdGVkUG9zaXRpb25VcCcsXHJcbiAgTW92ZVNlbGVjdGVkUG9zaXRpb25Eb3duID0gJ21vdmVTZWxlY3RlZFBvc2l0aW9uRG93bicsXHJcbiAgTW92ZUNob3NlblBvc2l0aW9uRG93biA9ICdtb3ZlQ2hvc2VuUG9zaXRpb25Eb3duJyxcclxuICBNb3ZlQ2hvc2VuUG9zaXRpb25VcCA9ICdtb3ZlQ2hvc2VuUG9zaXRpb25VcCcsXHJcbiAgQ2xlYXJDaG9zZW5Qb3NpdGlvbiA9ICdjbGVhckNob3NlblBvc2l0aW9uJyxcclxuICBTZWxlY3RDaG9zZW5Qb3NpdGlvbiA9ICdzZWxlY3RDaG9zZW5Qb3NpdGlvbidcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSUtleWJvYXJkT3BlcmF0aW9ucyA9IHtcclxuICBba2V5IGluIEtleWJvYXJkT3BlcmF0aW9uVHlwZV0/OiBJS2V5Ym9hcmRPcGVyYXRpb247XHJcbn07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElLZXlib2FyZE9wZXJhdGlvbiB7XHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIGtleUV2ZW50Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgS2V5Ym9hcmRPcGVyYXRpb25TZXJ2aWNlIHtcclxuICBwcml2YXRlIGRlZmF1bHRLZXlib2FyZE9wZXJhdGlvbkNvbmZpZzogSUtleWJvYXJkT3BlcmF0aW9uQ29uZmlnID0ge1xyXG4gICAgb3BlcmF0aW9uczoge1xyXG4gICAgICBtb3ZlU2VsZWN0ZWRQb3NpdGlvblVwOiB7IGRpc2FibGVkOiBmYWxzZSwga2V5RXZlbnQ6ICdGMTEnIH0sXHJcbiAgICAgIG1vdmVTZWxlY3RlZFBvc2l0aW9uRG93bjogeyBkaXNhYmxlZDogZmFsc2UsIGtleUV2ZW50OiAnRjEyJyB9LFxyXG4gICAgICBtb3ZlQ2hvc2VuUG9zaXRpb25Eb3duOiB7IGRpc2FibGVkOiBmYWxzZSwga2V5RXZlbnQ6ICdBcnJvd0Rvd24nIH0sXHJcbiAgICAgIG1vdmVDaG9zZW5Qb3NpdGlvblVwOiB7IGRpc2FibGVkOiBmYWxzZSwga2V5RXZlbnQ6ICdBcnJvd1VwJyB9LFxyXG4gICAgICBjbGVhckNob3NlblBvc2l0aW9uOiB7IGRpc2FibGVkOiBmYWxzZSwga2V5RXZlbnQ6ICdFc2NhcGUnIH0sXHJcbiAgICAgIHNlbGVjdENob3NlblBvc2l0aW9uOiB7IGRpc2FibGVkOiBmYWxzZSwga2V5RXZlbnQ6ICdFbnRlcicgfVxyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgZmxhdEVsZW1lbnRzU2VydmljZSA9IGluamVjdChGbGF0RWxlbWVudHNTZXJ2aWNlKTtcclxuICBwcml2YXRlIHNlbGVjdEVsZW1lbnRTZXJ2aWNlID0gaW5qZWN0KFNlbGVjdEVsZW1lbnRTZXJ2aWNlKTtcclxuXHJcbiAgcHJpdmF0ZSBjdXJyZW50Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRLZXlib2FyZE9wZXJhdGlvbkNvbmZpZyB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGdldENvbmZpZygpIHtcclxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRDb25maWc7XHJcbiAgfVxyXG5cclxuICBtZXJnZUNvbmZpZ09wZXJhdGlvbihjb25maWc6IElLZXlib2FyZE9wZXJhdGlvbkNvbmZpZykge1xyXG4gICAgdGhpcy5jdXJyZW50Q29uZmlnID0gdGhpcy5kZWVwTWVyZ2UodGhpcy5jdXJyZW50Q29uZmlnLCBjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZWVwTWVyZ2U8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+KG9iajE6IFQsIG9iajI6IFQpOiBUIHtcclxuICAgIGNvbnN0IG1lcmdlZENvbmZpZzogVCA9IHsgLi4ub2JqMSB9O1xyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IGluIG9iajIpIHtcclxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmoyLCBrZXkpKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1lcmdlZENvbmZpZywga2V5KSAmJlxyXG4gICAgICAgICAgdHlwZW9mIG1lcmdlZENvbmZpZ1trZXldID09PSAnb2JqZWN0JyAmJlxyXG4gICAgICAgICAgbWVyZ2VkQ29uZmlnW2tleV0gIT09IG51bGwgJiZcclxuICAgICAgICAgIHR5cGVvZiBvYmoyW2tleV0gPT09ICdvYmplY3QnICYmXHJcbiAgICAgICAgICBvYmoyW2tleV0gIT09IG51bGxcclxuICAgICAgICApIHtcclxuICAgICAgICAgIG1lcmdlZENvbmZpZ1trZXldID0gdGhpcy5kZWVwTWVyZ2UobWVyZ2VkQ29uZmlnW2tleV0sIG9iajJba2V5XSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG1lcmdlZENvbmZpZ1trZXldID0gb2JqMltrZXldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBtZXJnZWRDb25maWc7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGtleUV2ZW50OiBLZXlib2FyZEV2ZW50LCBlbGVtZW50OiBJRWxlbWVudER0byB8IG51bGwpOiBhbnkge1xyXG4gICAgbGV0IG5leHRFbGVtZW50O1xyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jdXJyZW50Q29uZmlnLm9wZXJhdGlvbnMubW92ZVNlbGVjdGVkUG9zaXRpb25VcD8ua2V5RXZlbnQgPT09IGtleUV2ZW50LmtleSAmJlxyXG4gICAgICAhdGhpcy5jdXJyZW50Q29uZmlnLm9wZXJhdGlvbnMubW92ZVNlbGVjdGVkUG9zaXRpb25VcD8uZGlzYWJsZWRcclxuICAgICkge1xyXG4gICAgICBrZXlFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBuZXh0RWxlbWVudCA9IHRoaXMuZmxhdEVsZW1lbnRzU2VydmljZS5qdW1wTmV4dE5vZGUoLTEsIGVsZW1lbnQpO1xyXG4gICAgICB0aGlzLnNlbGVjdEVsZW1lbnRTZXJ2aWNlLnNldENsaWNrRWxlbWVudChuZXh0RWxlbWVudCk7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgb3BlcmF0aW9uOiBLZXlib2FyZE9wZXJhdGlvblR5cGUuTW92ZVNlbGVjdGVkUG9zaXRpb25VcCxcclxuICAgICAgICBuZXh0RWxlbWVudDogbmV4dEVsZW1lbnRcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY3VycmVudENvbmZpZy5vcGVyYXRpb25zLm1vdmVTZWxlY3RlZFBvc2l0aW9uRG93bj8ua2V5RXZlbnQgPT09IGtleUV2ZW50LmtleSAmJlxyXG4gICAgICAhdGhpcy5jdXJyZW50Q29uZmlnLm9wZXJhdGlvbnMubW92ZVNlbGVjdGVkUG9zaXRpb25Eb3duPy5kaXNhYmxlZFxyXG4gICAgKSB7XHJcbiAgICAgIGtleUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIG5leHRFbGVtZW50ID0gdGhpcy5mbGF0RWxlbWVudHNTZXJ2aWNlLmp1bXBOZXh0Tm9kZSgxLCBlbGVtZW50KTtcclxuICAgICAgdGhpcy5zZWxlY3RFbGVtZW50U2VydmljZS5zZXRDbGlja0VsZW1lbnQobmV4dEVsZW1lbnQpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIG9wZXJhdGlvbjogS2V5Ym9hcmRPcGVyYXRpb25UeXBlLk1vdmVTZWxlY3RlZFBvc2l0aW9uRG93bixcclxuICAgICAgICBuZXh0RWxlbWVudDogbmV4dEVsZW1lbnRcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY3VycmVudENvbmZpZy5vcGVyYXRpb25zLm1vdmVDaG9zZW5Qb3NpdGlvbkRvd24/LmtleUV2ZW50ID09PSBrZXlFdmVudC5rZXkgJiZcclxuICAgICAgIXRoaXMuY3VycmVudENvbmZpZy5vcGVyYXRpb25zLm1vdmVDaG9zZW5Qb3NpdGlvbkRvd24/LmRpc2FibGVkXHJcbiAgICApIHtcclxuICAgICAga2V5RXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgbmV4dEVsZW1lbnQgPSB0aGlzLmZsYXRFbGVtZW50c1NlcnZpY2UuanVtcE5leHROb2RlKDEsIGVsZW1lbnQpO1xyXG4gICAgICB0aGlzLnNlbGVjdEVsZW1lbnRTZXJ2aWNlLnNldFByZXNlbGVjdGVkRWxlbWVudChuZXh0RWxlbWVudD8uaWQgPT09IGVsZW1lbnQ/LmlkID8gbnVsbCA6IG5leHRFbGVtZW50KTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBvcGVyYXRpb246IEtleWJvYXJkT3BlcmF0aW9uVHlwZS5Nb3ZlQ2hvc2VuUG9zaXRpb25Eb3duLFxyXG4gICAgICAgIG5leHRFbGVtZW50OiBuZXh0RWxlbWVudFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jdXJyZW50Q29uZmlnLm9wZXJhdGlvbnMubW92ZUNob3NlblBvc2l0aW9uVXA/LmtleUV2ZW50ID09PSBrZXlFdmVudC5rZXkgJiZcclxuICAgICAgIXRoaXMuY3VycmVudENvbmZpZy5vcGVyYXRpb25zLm1vdmVDaG9zZW5Qb3NpdGlvblVwPy5kaXNhYmxlZFxyXG4gICAgKSB7XHJcbiAgICAgIGtleUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIG5leHRFbGVtZW50ID0gdGhpcy5mbGF0RWxlbWVudHNTZXJ2aWNlLmp1bXBOZXh0Tm9kZSgtMSwgZWxlbWVudCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudFNlcnZpY2Uuc2V0UHJlc2VsZWN0ZWRFbGVtZW50KG5leHRFbGVtZW50Py5pZCA9PT0gZWxlbWVudD8uaWQgPyBudWxsIDogbmV4dEVsZW1lbnQpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIG9wZXJhdGlvbjogS2V5Ym9hcmRPcGVyYXRpb25UeXBlLk1vdmVDaG9zZW5Qb3NpdGlvblVwLFxyXG4gICAgICAgIG5leHRFbGVtZW50OiBuZXh0RWxlbWVudFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jdXJyZW50Q29uZmlnLm9wZXJhdGlvbnMuc2VsZWN0Q2hvc2VuUG9zaXRpb24/LmtleUV2ZW50ID09PSBrZXlFdmVudC5rZXkgJiZcclxuICAgICAgIXRoaXMuY3VycmVudENvbmZpZy5vcGVyYXRpb25zLnNlbGVjdENob3NlblBvc2l0aW9uPy5kaXNhYmxlZFxyXG4gICAgKSB7XHJcbiAgICAgIGtleUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudFNlcnZpY2Uuc2V0Q2xpY2tFbGVtZW50KGVsZW1lbnQpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIG9wZXJhdGlvbjogS2V5Ym9hcmRPcGVyYXRpb25UeXBlLlNlbGVjdENob3NlblBvc2l0aW9uXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmN1cnJlbnRDb25maWcub3BlcmF0aW9ucy5jbGVhckNob3NlblBvc2l0aW9uPy5rZXlFdmVudCA9PT0ga2V5RXZlbnQua2V5ICYmXHJcbiAgICAgICF0aGlzLmN1cnJlbnRDb25maWcub3BlcmF0aW9ucy5jbGVhckNob3NlblBvc2l0aW9uPy5kaXNhYmxlZFxyXG4gICAgKSB7XHJcbiAgICAgIGtleUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0RWxlbWVudFNlcnZpY2Uuc2V0UHJlc2VsZWN0ZWRFbGVtZW50KG51bGwpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIG9wZXJhdGlvbjogS2V5Ym9hcmRPcGVyYXRpb25UeXBlLkNsZWFyQ2hvc2VuUG9zaXRpb25cclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,37 @@
|
|
|
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.preselectedElement = this.preselectedElementSource.asObservable();
|
|
8
|
+
this.selectClickElementSource = new ReplaySubject(1);
|
|
9
|
+
this.selectClickElement = this.selectClickElementSource.asObservable();
|
|
10
|
+
this.selectDblClickElementSource = new ReplaySubject(1);
|
|
11
|
+
this.selectDblClickElement = this.selectDblClickElementSource.asObservable();
|
|
12
|
+
this.selectContextMenuElementSource = new ReplaySubject(1);
|
|
13
|
+
this.selectContextMenuElement = this.selectContextMenuElementSource.asObservable();
|
|
14
|
+
}
|
|
15
|
+
setPreselectedElement(element) {
|
|
16
|
+
this.preselectedElementSource.next(element);
|
|
17
|
+
}
|
|
18
|
+
setClickElement(element) {
|
|
19
|
+
this.selectClickElementSource.next(element);
|
|
20
|
+
this.preselectedElementSource.next(null);
|
|
21
|
+
}
|
|
22
|
+
setDblClickElement(element) {
|
|
23
|
+
this.selectDblClickElementSource.next(element);
|
|
24
|
+
}
|
|
25
|
+
setContextMenuElement(data) {
|
|
26
|
+
this.selectContextMenuElementSource.next(data);
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: SelectElementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: SelectElementService, providedIn: 'root' }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: SelectElementService, decorators: [{
|
|
32
|
+
type: Injectable,
|
|
33
|
+
args: [{
|
|
34
|
+
providedIn: 'root'
|
|
35
|
+
}]
|
|
36
|
+
}] });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVsZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXZhL3NyYy9saWIvYXZhLXRyZWUvdHJlZS9zZXJ2aWNlcy9zZWxlY3QtZWxlbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFPckMsTUFBTSxPQUFPLG9CQUFvQjtJQUhqQztRQUlVLDZCQUF3QixHQUFHLElBQUksYUFBYSxDQUFxQixDQUFDLENBQUMsQ0FBQztRQUM1RSx1QkFBa0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFMUQsNkJBQXdCLEdBQUcsSUFBSSxhQUFhLENBQXFCLENBQUMsQ0FBQyxDQUFDO1FBQzVFLHVCQUFrQixHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUxRCxnQ0FBMkIsR0FBRyxJQUFJLGFBQWEsQ0FBYyxDQUFDLENBQUMsQ0FBQztRQUN4RSwwQkFBcUIsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFaEUsbUNBQThCLEdBQUcsSUFBSSxhQUFhLENBQTRELENBQUMsQ0FBQyxDQUFDO1FBQ3pILDZCQUF3QixHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQWtCL0U7SUFoQkMscUJBQXFCLENBQUMsT0FBMkI7UUFDL0MsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQTJCO1FBQ3pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBb0I7UUFDckMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBK0Q7UUFDbkYsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOzhHQTVCVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgSUVsZW1lbnREdG8gfSBmcm9tICcuLi9tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RFbGVtZW50U2VydmljZSB7XHJcbiAgcHJpdmF0ZSBwcmVzZWxlY3RlZEVsZW1lbnRTb3VyY2UgPSBuZXcgUmVwbGF5U3ViamVjdDxJRWxlbWVudER0byB8IG51bGw+KDEpO1xyXG4gIHByZXNlbGVjdGVkRWxlbWVudCA9IHRoaXMucHJlc2VsZWN0ZWRFbGVtZW50U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIHNlbGVjdENsaWNrRWxlbWVudFNvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PElFbGVtZW50RHRvIHwgbnVsbD4oMSk7XHJcbiAgc2VsZWN0Q2xpY2tFbGVtZW50ID0gdGhpcy5zZWxlY3RDbGlja0VsZW1lbnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIHByaXZhdGUgc2VsZWN0RGJsQ2xpY2tFbGVtZW50U291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8SUVsZW1lbnREdG8+KDEpO1xyXG4gIHNlbGVjdERibENsaWNrRWxlbWVudCA9IHRoaXMuc2VsZWN0RGJsQ2xpY2tFbGVtZW50U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIHNlbGVjdENvbnRleHRNZW51RWxlbWVudFNvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PHsgcG9zaXRpb246IHsgeDogc3RyaW5nOyB5OiBzdHJpbmcgfTsgbm9kZTogSUVsZW1lbnREdG8gfT4oMSk7XHJcbiAgc2VsZWN0Q29udGV4dE1lbnVFbGVtZW50ID0gdGhpcy5zZWxlY3RDb250ZXh0TWVudUVsZW1lbnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIHNldFByZXNlbGVjdGVkRWxlbWVudChlbGVtZW50OiBJRWxlbWVudER0byB8IG51bGwpOiB2b2lkIHtcclxuICAgIHRoaXMucHJlc2VsZWN0ZWRFbGVtZW50U291cmNlLm5leHQoZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGlja0VsZW1lbnQoZWxlbWVudDogSUVsZW1lbnREdG8gfCBudWxsKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdENsaWNrRWxlbWVudFNvdXJjZS5uZXh0KGVsZW1lbnQpO1xyXG4gICAgdGhpcy5wcmVzZWxlY3RlZEVsZW1lbnRTb3VyY2UubmV4dChudWxsKTtcclxuICB9XHJcblxyXG4gIHNldERibENsaWNrRWxlbWVudChlbGVtZW50OiBJRWxlbWVudER0byk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3REYmxDbGlja0VsZW1lbnRTb3VyY2UubmV4dChlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIHNldENvbnRleHRNZW51RWxlbWVudChkYXRhOiB7IHBvc2l0aW9uOiB7IHg6IHN0cmluZzsgeTogc3RyaW5nIH07IG5vZGU6IElFbGVtZW50RHRvIH0pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0Q29udGV4dE1lbnVFbGVtZW50U291cmNlLm5leHQoZGF0YSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLXNlbGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1hdmEvc3JjL2xpYi9hdmEtdHJlZS90cmVlL3NlcnZpY2VzL3RyZWUtbm9kZS1zZWxlY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt0RCxNQUFNLE9BQU8sd0JBQXdCO0lBVW5DO1FBVFEsNEJBQXVCLEdBQUcsSUFBSSxlQUFlLENBQWlELEVBQUUsQ0FBQyxDQUFDO1FBQzFHLHNCQUFpQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4RCwrQkFBMEIsR0FBbUMsSUFBSSxDQUFDO1FBRWxFLDJCQUFzQixHQUFHLElBQUksYUFBYSxDQUEwQixDQUFDLENBQUMsQ0FBQztRQUMvRSxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFOUQsdUJBQWtCLEdBQWEsRUFBRSxDQUFDO0lBRW5CLENBQUM7SUFFaEIsbUJBQW1CLENBQUMsZ0JBQXlDO1FBQzNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQscUJBQXFCLENBQ25CLFFBQTBDLEVBQzFDLFNBQW1ELElBQUk7UUFFdkQsTUFBTSxJQUFJLEdBQTRCLEVBQUUsQ0FBQztRQUN6QyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQy9CLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFvQixFQUFFLEVBQUU7Z0JBQ3hDLE1BQU0sR0FBRyxHQUFHO29CQUNWLE1BQU07b0JBQ04sU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFO29CQUNyQixPQUFPLEVBQUUsS0FB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RUFBRSxDQUFDLFFBQVEsRUFBRTtnQkFDZixJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3pDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzVDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWlDO1FBQzNDLE1BQU0sSUFBSSxHQUE0QixFQUFFLENBQUM7UUFDekMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQTJCLEVBQUUsRUFBRTtZQUMvQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdEMsTUFBTSxHQUFHLEdBQTBCLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDakUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNqQixHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUNoRDtnQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgSUVsZW1lbnREdG8sIFNlcnZpY2VTcGVjaWZpY2F0aW9uR3JvdXBEdG8gfSBmcm9tICcuLi9tb2RlbC9hdmEtbW9kZWxzJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRFbGVtZW50LCBTZWxlY3RpbmdFbGVtZW50c1R5cGUgfSBmcm9tICdwcm9qZWN0cy9hbmd1bGFyLWF2YS9zcmMvbGliL2F2YS10cmVlL3RyZWUvbW9kZWwvc2VsZWN0aW5nLm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcmVlTm9kZVNlbGVjdGlvblNlcnZpY2Uge1xyXG4gIHByaXZhdGUgdHJlZU5vZGVTZWxlY3RpbmdTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgW2VsZW1lbnRJZDogc3RyaW5nXTogU2VsZWN0aW5nRWxlbWVudHNUeXBlIH0+KHt9KTtcclxuICB0cmVlTm9kZVNlbGVjdGluZyA9IHRoaXMudHJlZU5vZGVTZWxlY3RpbmdTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgcHJpdmF0ZSBfc2VsZWN0aW5nRWxlbWVudHNUcmVlRGF0YTogU2VsZWN0aW5nRWxlbWVudHNUeXBlW10gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBzZWxlY3RpbmdDaGFuZ2VkU291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8U2VsZWN0aW5nRWxlbWVudHNUeXBlW10+KDEpO1xyXG4gIHNlbGVjdGluZ0NoYW5nZWQgPSB0aGlzLnNlbGVjdGluZ0NoYW5nZWRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIGZsYXRTZWxlY3RlZExpc3RJZDogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBzZXRTZWxlY3RpbmdDaGFuZ2VkKHNlbGVjdGluZ0NoYW5nZWQ6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZVtdKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGluZ0NoYW5nZWRTb3VyY2UubmV4dChzZWxlY3RpbmdDaGFuZ2VkKTtcclxuICB9XHJcblxyXG4gIGxvYWRTZWxlY3RpbmdFbGVtZW50cyhcclxuICAgIGVsZW1lbnRzOiBJRWxlbWVudER0b1tdIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgIHBhcmVudDogU2VsZWN0aW5nRWxlbWVudHNUeXBlIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGxcclxuICApOiBTZWxlY3RpbmdFbGVtZW50c1R5cGVbXSB7XHJcbiAgICBjb25zdCBsaXN0OiBTZWxlY3RpbmdFbGVtZW50c1R5cGVbXSA9IFtdO1xyXG4gICAgaWYgKGVsZW1lbnRzICYmIGVsZW1lbnRzLmxlbmd0aCkge1xyXG4gICAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OiBJRWxlbWVudER0bykgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICAgIHBhcmVudCxcclxuICAgICAgICAgIGVsZW1lbnRJZDogZWxlbWVudC5pZCxcclxuICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlXHJcbiAgICAgICAgfSBhcyBTZWxlY3RpbmdFbGVtZW50c1R5cGU7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvJykge1xyXG4gICAgICAgICAgb2JqLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgICAgICAgIG9iai5jaGlsZHJlbiA9IHRoaXMubG9hZFNlbGVjdGluZ0VsZW1lbnRzKCg8U2VydmljZVNwZWNpZmljYXRpb25Hcm91cER0bz5lbGVtZW50KS5lbGVtZW50cywgb2JqKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGlzdC5wdXNoKG9iaik7XHJcbiAgICAgICAgdGhpcy50cmVlTm9kZVNlbGVjdGluZ1NvdXJjZS52YWx1ZVtlbGVtZW50LmlkXSA9IG9iajtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGluZ0VsZW1lbnRzVHJlZURhdGEgPSBsaXN0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGxpc3Q7XHJcbiAgfVxyXG5cclxuICBnZXRUcmVlRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RpbmdFbGVtZW50c1RyZWVEYXRhO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGFuZ2VBbGxDaGlsZChjaGlsZHJlbjogU2VsZWN0aW5nRWxlbWVudHNUeXBlW10sIHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjaGlsZHJlbi5mb3JFYWNoKChpdGVtOiBTZWxlY3RpbmdFbGVtZW50c1R5cGUpID0+IHtcclxuICAgICAgaXRlbS5jaGVja2VkID0gdmFsdWU7XHJcbiAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgaXRlbS5pbmRldGVybWluYXRlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VBbGxDaGlsZChpdGVtLmNoaWxkcmVuLCB2YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGFuZ2VBbGxQYXJlbnQocGFyZW50OiBTZWxlY3RpbmdFbGVtZW50c1R5cGUsIHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBwYXJlbnQuY2hlY2tlZCA9IHZhbHVlO1xyXG4gICAgaWYgKHBhcmVudC5wYXJlbnQpIHtcclxuICAgICAgdGhpcy5jaGFuZ2VBbGxQYXJlbnQocGFyZW50LnBhcmVudCwgdmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hhbmdlU2VsZWN0aW5nKHZhbHVlOiBib29sZWFuLCBpZDogc3RyaW5nLCBpc1VzZXJDaGFuZ2VkID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VsZWN0aW5nTm9kZSA9IHRoaXMudHJlZU5vZGVTZWxlY3RpbmdTb3VyY2UudmFsdWVbaWRdO1xyXG4gICAgaWYgKCFzZWxlY3RpbmdOb2RlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RpbmdOb2RlLmNoZWNrZWQgPSB2YWx1ZTtcclxuICAgIGlmIChzZWxlY3RpbmdOb2RlLmNoaWxkcmVuKSB7XHJcbiAgICAgIHNlbGVjdGluZ05vZGUuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xyXG4gICAgICBpZiAoaXNVc2VyQ2hhbmdlZCkge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlQWxsQ2hpbGQoc2VsZWN0aW5nTm9kZS5jaGlsZHJlbiwgdmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoc2VsZWN0aW5nTm9kZS5wYXJlbnQpIHtcclxuICAgICAgdGhpcy5jaGFuZ2VBbGxQYXJlbnQoc2VsZWN0aW5nTm9kZS5wYXJlbnQsIHZhbHVlKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0SW5kZXRlcm1pbmF0ZShzZWxlY3RpbmdOb2RlPy5wYXJlbnQgfHwgbnVsbCk7XHJcbiAgICBpZiAoaXNVc2VyQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLm5leHQodGhpcy50cmVlTm9kZVNlbGVjdGluZ1NvdXJjZS52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEluZGV0ZXJtaW5hdGUocGFyZW50Tm9kZTogU2VsZWN0aW5nRWxlbWVudHNUeXBlIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xyXG4gICAgaWYgKCFwYXJlbnROb2RlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXBhcmVudE5vZGUuY2hpbGRyZW4gfHwgIXBhcmVudE5vZGUuY2hpbGRyZW4ubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcmVzdWx0SW5kZXRlcm1pbmF0ZVNvbWUgPSBmYWxzZTtcclxuICAgIGxldCByZXN1bHRJbmRldGVybWluYXRlQWxsID0gZmFsc2U7XHJcbiAgICBwYXJlbnROb2RlLmNoaWxkcmVuLmZvckVhY2goKGl0ZW06IFNlbGVjdGluZ0VsZW1lbnRzVHlwZSkgPT4ge1xyXG4gICAgICBpZiAoaXRlbS5jaGVja2VkIHx8IGl0ZW0uaW5kZXRlcm1pbmF0ZSkge1xyXG4gICAgICAgIHJlc3VsdEluZGV0ZXJtaW5hdGVTb21lID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWl0ZW0uY2hlY2tlZCkge1xyXG4gICAgICAgIHJlc3VsdEluZGV0ZXJtaW5hdGVBbGwgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICghcmVzdWx0SW5kZXRlcm1pbmF0ZVNvbWUpIHtcclxuICAgICAgcGFyZW50Tm9kZS5pbmRldGVybWluYXRlID0gZmFsc2U7XHJcbiAgICAgIHBhcmVudE5vZGUuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIGlmIChyZXN1bHRJbmRldGVybWluYXRlQWxsKSB7XHJcbiAgICAgIHBhcmVudE5vZGUuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XHJcbiAgICAgIHBhcmVudE5vZGUuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGFyZW50Tm9kZS5pbmRldGVybWluYXRlID0gZmFsc2U7XHJcbiAgICAgIHBhcmVudE5vZGUuY2hlY2tlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldEluZGV0ZXJtaW5hdGUocGFyZW50Tm9kZS5wYXJlbnQpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlQWxsKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBPYmplY3QudmFsdWVzKHRoaXMudHJlZU5vZGVTZWxlY3RpbmdTb3VyY2UudmFsdWUpLmZvckVhY2goKGUpID0+IHtcclxuICAgICAgdGhpcy5jaGFuZ2VTZWxlY3RpbmcodmFsdWUsIGUuZWxlbWVudElkLCBmYWxzZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudHJlZU5vZGVTZWxlY3RpbmdTb3VyY2UubmV4dCh0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldEZsYXRTZWxlY3RlZExpc3RJZChzZWxlY3RlZEVsZW1lbnRzOiBTZWxlY3RlZEVsZW1lbnRbXSk6IHZvaWQge1xyXG4gICAgc2VsZWN0ZWRFbGVtZW50cy5mb3JFYWNoKChlbCkgPT4ge1xyXG4gICAgICBpZiAoZWwuY2hpbGRyZW4pIHtcclxuICAgICAgICB0aGlzLmdldEZsYXRTZWxlY3RlZExpc3RJZChlbC5jaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5mbGF0U2VsZWN0ZWRMaXN0SWQucHVzaChlbC5lbGVtZW50SWQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFRyZWVSb290KHRyZWVSb290OiBTZWxlY3RpbmdFbGVtZW50c1R5cGVbXSk6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZVtdIHtcclxuICAgIGNvbnN0IGxpc3Q6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZVtdID0gW107XHJcbiAgICB0cmVlUm9vdC5mb3JFYWNoKChpdGVtOiBTZWxlY3RpbmdFbGVtZW50c1R5cGUpID0+IHtcclxuICAgICAgaWYgKGl0ZW0uY2hlY2tlZCB8fCBpdGVtLmluZGV0ZXJtaW5hdGUpIHtcclxuICAgICAgICBjb25zdCBvYmo6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZSA9IHsgZWxlbWVudElkOiBpdGVtLmVsZW1lbnRJZCB9O1xyXG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgICBvYmouY2hpbGRyZW4gPSB0aGlzLmdldFRyZWVSb290KGl0ZW0uY2hpbGRyZW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaXN0LnB1c2gob2JqKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbGlzdDtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -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-fe--1-add-tree-p0053",
|
|
4
|
+
commitInfo: "Branch.feature-FE--1-add-tree-package.Sha.877916ac6a2269877d35203e4a52dd5588fdc0ad",
|
|
5
|
+
commitDate: "2024-01-15",
|
|
6
|
+
commitHash: "877916ac6a2269877d35203e4a52dd5588fdc0ad",
|
|
7
|
+
informationalVersion: "0.1.1-FE--1-add-tree-package.53+Branch.feature-FE--1-add-tree-package.Sha.877916ac6a2269877d35203e4a52dd5588fdc0ad",
|
|
8
|
+
buildDateUtc: new Date(Date.UTC(2024, 0, 15, 21, 12, 40))
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXZhL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvRUFBb0U7QUFFcEUsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ25CLE9BQU8sRUFBRSw0QkFBNEI7SUFDckMsVUFBVSxFQUFFLG9GQUFvRjtJQUNoRyxVQUFVLEVBQUUsWUFBWTtJQUN4QixVQUFVLEVBQUUsMENBQTBDO0lBQ3RELG9CQUFvQixFQUFFLG9IQUFvSDtJQUMxSSxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0NBQzVELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYXMgcGFydCBvZiB0aGUgYnVpbGQgcHJvY2Vzc1xyXG5cclxuZXhwb3J0IGNvbnN0IHZlcnNpb24gPSB7XHJcbiAgICB2ZXJzaW9uOiBcIjAuMS4xLWZlLS0xLWFkZC10cmVlLXAwMDUzXCIsXHJcbiAgICBjb21taXRJbmZvOiBcIkJyYW5jaC5mZWF0dXJlLUZFLS0xLWFkZC10cmVlLXBhY2thZ2UuU2hhLjg3NzkxNmFjNmEyMjY5ODc3ZDM1MjAzZTRhNTJkZDU1ODhmZGMwYWRcIixcclxuICAgIGNvbW1pdERhdGU6IFwiMjAyNC0wMS0xNVwiLFxyXG4gICAgY29tbWl0SGFzaDogXCI4Nzc5MTZhYzZhMjI2OTg3N2QzNTIwM2U0YTUyZGQ1NTg4ZmRjMGFkXCIsXHJcbiAgICBpbmZvcm1hdGlvbmFsVmVyc2lvbjogXCIwLjEuMS1GRS0tMS1hZGQtdHJlZS1wYWNrYWdlLjUzK0JyYW5jaC5mZWF0dXJlLUZFLS0xLWFkZC10cmVlLXBhY2thZ2UuU2hhLjg3NzkxNmFjNmEyMjY5ODc3ZDM1MjAzZTRhNTJkZDU1ODhmZGMwYWRcIixcclxuICAgIGJ1aWxkRGF0ZVV0YzogbmV3IERhdGUoRGF0ZS5VVEMoMjAyNCwgMCwgMTUsIDIxLCAxMiwgNDApKVxyXG59XHJcbiJdfQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXZhL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsNERBQTRELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYW5ndWxhci1hdmFcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdmEtdHJlZS90cmVlL21vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5ndWxhci1hdmEubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmVyc2lvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YS10cmVlL3RyZWUvY29tcG9uZW50cy9hdmEtdHJlZS9hdmEtdHJlZS5jb21wb25lbnQnO1xyXG4iXX0=
|