@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.
Files changed (62) hide show
  1. package/README.md +1 -0
  2. package/esm2022/dangl-angular-ava.mjs +5 -0
  3. package/esm2022/lib/angular-ava.module.mjs +88 -0
  4. package/esm2022/lib/ava-tree/tree/components/ava-tree/ava-tree.component.mjs +356 -0
  5. package/esm2022/lib/ava-tree/tree/components/list-structure/list-structure.component.mjs +38 -0
  6. package/esm2022/lib/ava-tree/tree/components/table-structure/table-structure.component.mjs +99 -0
  7. package/esm2022/lib/ava-tree/tree/components/tree-item/tree-item.component.mjs +89 -0
  8. package/esm2022/lib/ava-tree/tree/components/tree-node/tree-node.component.mjs +52 -0
  9. package/esm2022/lib/ava-tree/tree/components/tree-structure/tree-structure.component.mjs +30 -0
  10. package/esm2022/lib/ava-tree/tree/constants/defaultFilters.mjs +6 -0
  11. package/esm2022/lib/ava-tree/tree/constants/defaultTextWords.mjs +11 -0
  12. package/esm2022/lib/ava-tree/tree/constants/index.mjs +4 -0
  13. package/esm2022/lib/ava-tree/tree/directives/save-changing-view.directive.mjs +43 -0
  14. package/esm2022/lib/ava-tree/tree/model/ava-models.mjs +199 -0
  15. package/esm2022/lib/ava-tree/tree/model/context-menu-data.model.mjs +2 -0
  16. package/esm2022/lib/ava-tree/tree/model/function-view-line.model.mjs +2 -0
  17. package/esm2022/lib/ava-tree/tree/model/index.mjs +4 -0
  18. package/esm2022/lib/ava-tree/tree/model/selecting.model.mjs +2 -0
  19. package/esm2022/lib/ava-tree/tree/model/tableColumnType.mjs +2 -0
  20. package/esm2022/lib/ava-tree/tree/model/tree-mode.model.mjs +7 -0
  21. package/esm2022/lib/ava-tree/tree/pipes/element-icon-name.pipe.mjs +27 -0
  22. package/esm2022/lib/ava-tree/tree/pipes/element-item-number.pipe.mjs +23 -0
  23. package/esm2022/lib/ava-tree/tree/pipes/element-text.pipe.mjs +27 -0
  24. package/esm2022/lib/ava-tree/tree/services/expand-parent-group.service.mjs +32 -0
  25. package/esm2022/lib/ava-tree/tree/services/flat-elements.service.mjs +99 -0
  26. package/esm2022/lib/ava-tree/tree/services/keyboard-operation.service.mjs +114 -0
  27. package/esm2022/lib/ava-tree/tree/services/select-element.service.mjs +37 -0
  28. package/esm2022/lib/ava-tree/tree/services/tree-node-selection.service.mjs +133 -0
  29. package/esm2022/lib/version.mjs +10 -0
  30. package/esm2022/public-api.mjs +8 -0
  31. package/fesm2022/dangl-angular-ava.mjs +1174 -0
  32. package/fesm2022/dangl-angular-ava.mjs.map +1 -0
  33. package/index.d.ts +5 -0
  34. package/lib/angular-ava.module.d.ts +26 -0
  35. package/lib/ava-tree/tree/components/ava-tree/ava-tree.component.d.ts +77 -0
  36. package/lib/ava-tree/tree/components/list-structure/list-structure.component.d.ts +16 -0
  37. package/lib/ava-tree/tree/components/table-structure/table-structure.component.d.ts +34 -0
  38. package/lib/ava-tree/tree/components/tree-item/tree-item.component.d.ts +34 -0
  39. package/lib/ava-tree/tree/components/tree-node/tree-node.component.d.ts +22 -0
  40. package/lib/ava-tree/tree/components/tree-structure/tree-structure.component.d.ts +13 -0
  41. package/lib/ava-tree/tree/constants/defaultFilters.d.ts +1 -0
  42. package/lib/ava-tree/tree/constants/defaultTextWords.d.ts +11 -0
  43. package/lib/ava-tree/tree/constants/index.d.ts +3 -0
  44. package/lib/ava-tree/tree/directives/save-changing-view.directive.d.ts +12 -0
  45. package/lib/ava-tree/tree/model/ava-models.d.ts +1041 -0
  46. package/lib/ava-tree/tree/model/context-menu-data.model.d.ts +8 -0
  47. package/lib/ava-tree/tree/model/function-view-line.model.d.ts +11 -0
  48. package/lib/ava-tree/tree/model/index.d.ts +7 -0
  49. package/lib/ava-tree/tree/model/selecting.model.d.ts +14 -0
  50. package/lib/ava-tree/tree/model/tableColumnType.d.ts +6 -0
  51. package/lib/ava-tree/tree/model/tree-mode.model.d.ts +5 -0
  52. package/lib/ava-tree/tree/pipes/element-icon-name.pipe.d.ts +8 -0
  53. package/lib/ava-tree/tree/pipes/element-item-number.pipe.d.ts +8 -0
  54. package/lib/ava-tree/tree/pipes/element-text.pipe.d.ts +8 -0
  55. package/lib/ava-tree/tree/services/expand-parent-group.service.d.ts +7 -0
  56. package/lib/ava-tree/tree/services/flat-elements.service.d.ts +28 -0
  57. package/lib/ava-tree/tree/services/keyboard-operation.service.d.ts +32 -0
  58. package/lib/ava-tree/tree/services/select-element.service.d.ts +30 -0
  59. package/lib/ava-tree/tree/services/tree-node-selection.service.d.ts +23 -0
  60. package/lib/version.d.ts +8 -0
  61. package/package.json +31 -0
  62. 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=