@dangl/angular-ava 1.1.2-beta0049 → 1.1.2-beta0055

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 (54) hide show
  1. package/README.md +26 -8
  2. package/fesm2022/dangl-angular-ava.mjs +63 -556
  3. package/fesm2022/dangl-angular-ava.mjs.map +1 -1
  4. package/lib/ava-tree/tree/components/ava-tree/ava-tree.component.d.ts +1 -1
  5. package/lib/ava-tree/tree/components/list-structure/list-structure.component.d.ts +1 -1
  6. package/lib/ava-tree/tree/components/table-structure/table-structure.component.d.ts +1 -1
  7. package/lib/ava-tree/tree/components/tree-item/tree-item.component.d.ts +1 -1
  8. package/lib/ava-tree/tree/components/tree-node/tree-node.component.d.ts +1 -1
  9. package/lib/ava-tree/tree/components/tree-structure/tree-structure.component.d.ts +1 -1
  10. package/lib/ava-tree/tree/directives/save-changing-view.directive.d.ts +1 -1
  11. package/lib/ava-tree/tree/pipes/element-icon-name.pipe.d.ts +1 -1
  12. package/lib/ava-tree/tree/pipes/element-item-number.pipe.d.ts +1 -1
  13. package/lib/ava-tree/tree/pipes/element-text.pipe.d.ts +1 -1
  14. package/lib/ava-tree/tree/pipes/group-child-elements.pipe.d.ts +1 -1
  15. package/package.json +1 -3
  16. package/public-api.d.ts +1 -2
  17. package/esm2022/dangl-angular-ava.mjs +0 -5
  18. package/esm2022/lib/angular-ava.module.mjs +0 -91
  19. package/esm2022/lib/ava-tree/invoice/invoice-display/invoice-display.component.mjs +0 -123
  20. package/esm2022/lib/ava-tree/tree/components/ava-tree/ava-tree.component.mjs +0 -449
  21. package/esm2022/lib/ava-tree/tree/components/list-structure/list-structure.component.mjs +0 -41
  22. package/esm2022/lib/ava-tree/tree/components/table-structure/table-structure.component.mjs +0 -110
  23. package/esm2022/lib/ava-tree/tree/components/tree-item/tree-item.component.mjs +0 -102
  24. package/esm2022/lib/ava-tree/tree/components/tree-node/tree-node.component.mjs +0 -53
  25. package/esm2022/lib/ava-tree/tree/components/tree-structure/tree-structure.component.mjs +0 -33
  26. package/esm2022/lib/ava-tree/tree/constants/defaultFilters.mjs +0 -23
  27. package/esm2022/lib/ava-tree/tree/constants/defaultTextWordInvoice.mjs +0 -77
  28. package/esm2022/lib/ava-tree/tree/constants/defaultTextWords.mjs +0 -29
  29. package/esm2022/lib/ava-tree/tree/constants/defaults.mjs +0 -4
  30. package/esm2022/lib/ava-tree/tree/constants/index.mjs +0 -6
  31. package/esm2022/lib/ava-tree/tree/directives/save-changing-view.directive.mjs +0 -47
  32. package/esm2022/lib/ava-tree/tree/model/ava-models.mjs +0 -206
  33. package/esm2022/lib/ava-tree/tree/model/context-menu-data.model.mjs +0 -2
  34. package/esm2022/lib/ava-tree/tree/model/function-view-line.model.mjs +0 -2
  35. package/esm2022/lib/ava-tree/tree/model/index.mjs +0 -5
  36. package/esm2022/lib/ava-tree/tree/model/invoice-models.mjs +0 -45
  37. package/esm2022/lib/ava-tree/tree/model/invoice-words.model.mjs +0 -2
  38. package/esm2022/lib/ava-tree/tree/model/selecting.model.mjs +0 -2
  39. package/esm2022/lib/ava-tree/tree/model/tableColumnType.mjs +0 -2
  40. package/esm2022/lib/ava-tree/tree/model/tree-mode.model.mjs +0 -7
  41. package/esm2022/lib/ava-tree/tree/pipes/element-icon-name.pipe.mjs +0 -27
  42. package/esm2022/lib/ava-tree/tree/pipes/element-item-number.pipe.mjs +0 -23
  43. package/esm2022/lib/ava-tree/tree/pipes/element-text.pipe.mjs +0 -39
  44. package/esm2022/lib/ava-tree/tree/pipes/group-child-elements.pipe.mjs +0 -20
  45. package/esm2022/lib/ava-tree/tree/pipes/invoice-attachment-mime-type.pipe.mjs +0 -34
  46. package/esm2022/lib/ava-tree/tree/services/expand-parent-group.service.mjs +0 -32
  47. package/esm2022/lib/ava-tree/tree/services/flat-elements.service.mjs +0 -96
  48. package/esm2022/lib/ava-tree/tree/services/keyboard-operation.service.mjs +0 -116
  49. package/esm2022/lib/ava-tree/tree/services/select-element.service.mjs +0 -41
  50. package/esm2022/lib/ava-tree/tree/services/tree-node-selection.service.mjs +0 -133
  51. package/esm2022/lib/ava-tree/tree/services/tree-words.service.mjs +0 -21
  52. package/esm2022/lib/version.mjs +0 -10
  53. package/esm2022/public-api.mjs +0 -10
  54. package/lib/angular-ava.module.d.ts +0 -27
@@ -1,41 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ReplaySubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class SelectElementService {
5
- constructor() {
6
- this.preselectedElementSource = new ReplaySubject(1);
7
- this.preselectedElementWasNull = false;
8
- this.preselectedElement = this.preselectedElementSource.asObservable();
9
- this.selectClickElementSource = new ReplaySubject(1);
10
- this.selectClickElement = this.selectClickElementSource.asObservable();
11
- this.selectDblClickElementSource = new ReplaySubject(1);
12
- this.selectDblClickElement = this.selectDblClickElementSource.asObservable();
13
- this.selectContextMenuElementSource = new ReplaySubject(1);
14
- this.selectContextMenuElement = this.selectContextMenuElementSource.asObservable();
15
- }
16
- setPreselectedElement(element) {
17
- this.preselectedElementSource.next(element);
18
- this.preselectedElementWasNull = element == null;
19
- }
20
- setClickElement(element) {
21
- this.selectClickElementSource.next(element);
22
- if (!this.preselectedElementWasNull) {
23
- this.preselectedElementSource.next(null);
24
- }
25
- }
26
- setDblClickElement(element) {
27
- this.selectDblClickElementSource.next(element);
28
- }
29
- setContextMenuElement(data) {
30
- this.selectContextMenuElementSource.next(data);
31
- }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SelectElementService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SelectElementService, providedIn: 'root' }); }
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SelectElementService, decorators: [{
36
- type: Injectable,
37
- args: [{
38
- providedIn: 'root'
39
- }]
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVsZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXZhL3NyYy9saWIvYXZhLXRyZWUvdHJlZS9zZXJ2aWNlcy9zZWxlY3QtZWxlbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFPckMsTUFBTSxPQUFPLG9CQUFvQjtJQUhqQztRQUlVLDZCQUF3QixHQUFHLElBQUksYUFBYSxDQUFxQixDQUFDLENBQUMsQ0FBQztRQUNwRSw4QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFDMUMsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTFELDZCQUF3QixHQUFHLElBQUksYUFBYSxDQUFxQixDQUFDLENBQUMsQ0FBQztRQUM1RSx1QkFBa0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFMUQsZ0NBQTJCLEdBQUcsSUFBSSxhQUFhLENBQWMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsMEJBQXFCLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWhFLG1DQUE4QixHQUFHLElBQUksYUFBYSxDQUE0RCxDQUFDLENBQUMsQ0FBQztRQUN6SCw2QkFBd0IsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUMsWUFBWSxFQUFFLENBQUM7S0FxQi9FO0lBbkJDLHFCQUFxQixDQUFDLE9BQTJCO1FBQy9DLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDbkQsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUEyQjtRQUN6QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBb0I7UUFDckMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBK0Q7UUFDbkYsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDOzhHQWhDVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzsyRkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElFbGVtZW50RHRvIH0gZnJvbSAnLi4vbW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RFbGVtZW50U2VydmljZSB7XG4gIHByaXZhdGUgcHJlc2VsZWN0ZWRFbGVtZW50U291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8SUVsZW1lbnREdG8gfCBudWxsPigxKTtcbiAgcHJpdmF0ZSBwcmVzZWxlY3RlZEVsZW1lbnRXYXNOdWxsID0gZmFsc2U7XG4gIHByZXNlbGVjdGVkRWxlbWVudCA9IHRoaXMucHJlc2VsZWN0ZWRFbGVtZW50U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgc2VsZWN0Q2xpY2tFbGVtZW50U291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8SUVsZW1lbnREdG8gfCBudWxsPigxKTtcbiAgc2VsZWN0Q2xpY2tFbGVtZW50ID0gdGhpcy5zZWxlY3RDbGlja0VsZW1lbnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBzZWxlY3REYmxDbGlja0VsZW1lbnRTb3VyY2UgPSBuZXcgUmVwbGF5U3ViamVjdDxJRWxlbWVudER0bz4oMSk7XG4gIHNlbGVjdERibENsaWNrRWxlbWVudCA9IHRoaXMuc2VsZWN0RGJsQ2xpY2tFbGVtZW50U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgc2VsZWN0Q29udGV4dE1lbnVFbGVtZW50U291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8eyBwb3NpdGlvbjogeyB4OiBzdHJpbmc7IHk6IHN0cmluZyB9OyBub2RlOiBJRWxlbWVudER0byB9PigxKTtcbiAgc2VsZWN0Q29udGV4dE1lbnVFbGVtZW50ID0gdGhpcy5zZWxlY3RDb250ZXh0TWVudUVsZW1lbnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgc2V0UHJlc2VsZWN0ZWRFbGVtZW50KGVsZW1lbnQ6IElFbGVtZW50RHRvIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMucHJlc2VsZWN0ZWRFbGVtZW50U291cmNlLm5leHQoZWxlbWVudCk7XG4gICAgdGhpcy5wcmVzZWxlY3RlZEVsZW1lbnRXYXNOdWxsID0gZWxlbWVudCA9PSBudWxsO1xuICB9XG5cbiAgc2V0Q2xpY2tFbGVtZW50KGVsZW1lbnQ6IElFbGVtZW50RHRvIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0Q2xpY2tFbGVtZW50U291cmNlLm5leHQoZWxlbWVudCk7XG4gICAgaWYgKCF0aGlzLnByZXNlbGVjdGVkRWxlbWVudFdhc051bGwpIHtcbiAgICAgIHRoaXMucHJlc2VsZWN0ZWRFbGVtZW50U291cmNlLm5leHQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2V0RGJsQ2xpY2tFbGVtZW50KGVsZW1lbnQ6IElFbGVtZW50RHRvKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3REYmxDbGlja0VsZW1lbnRTb3VyY2UubmV4dChlbGVtZW50KTtcbiAgfVxuXG4gIHNldENvbnRleHRNZW51RWxlbWVudChkYXRhOiB7IHBvc2l0aW9uOiB7IHg6IHN0cmluZzsgeTogc3RyaW5nIH07IG5vZGU6IElFbGVtZW50RHRvIH0pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdENvbnRleHRNZW51RWxlbWVudFNvdXJjZS5uZXh0KGRhdGEpO1xuICB9XG59XG4iXX0=
@@ -1,133 +0,0 @@
1
- import { BehaviorSubject, ReplaySubject } from 'rxjs';
2
- export class TreeNodeSelectionService {
3
- constructor() {
4
- this.treeNodeSelectingSource = new BehaviorSubject({});
5
- this.treeNodeSelecting = this.treeNodeSelectingSource.asObservable();
6
- this._selectingElementsTreeData = null;
7
- this.selectingChangedSource = new ReplaySubject(1);
8
- this.selectingChanged = this.selectingChangedSource.asObservable();
9
- this.flatSelectedListId = [];
10
- }
11
- setSelectingChanged(selectingChanged) {
12
- this.selectingChangedSource.next(selectingChanged);
13
- }
14
- loadSelectingElements(elements, parent = null) {
15
- const list = [];
16
- if (elements && elements.length) {
17
- elements.forEach((element) => {
18
- const obj = {
19
- parent,
20
- elementId: element.id,
21
- checked: false
22
- };
23
- if (element.elementType === 'ServiceSpecificationGroupDto') {
24
- obj.indeterminate = false;
25
- obj.children = this.loadSelectingElements(element.elements, obj);
26
- }
27
- list.push(obj);
28
- this.treeNodeSelectingSource.value[element.id] = obj;
29
- });
30
- this._selectingElementsTreeData = list;
31
- }
32
- return list;
33
- }
34
- getTreeData() {
35
- return this._selectingElementsTreeData;
36
- }
37
- changeAllChild(children, value) {
38
- children.forEach((item) => {
39
- item.checked = value;
40
- if (item.children) {
41
- item.indeterminate = false;
42
- this.changeAllChild(item.children, value);
43
- }
44
- });
45
- }
46
- changeAllParent(parent, value) {
47
- parent.checked = value;
48
- if (parent.parent) {
49
- this.changeAllParent(parent.parent, value);
50
- }
51
- }
52
- changeSelecting(value, id, isUserChanged = true) {
53
- const selectingNode = this.treeNodeSelectingSource.value[id];
54
- if (!selectingNode) {
55
- return;
56
- }
57
- selectingNode.checked = value;
58
- if (selectingNode.children) {
59
- selectingNode.indeterminate = false;
60
- if (isUserChanged) {
61
- this.changeAllChild(selectingNode.children, value);
62
- }
63
- }
64
- if (selectingNode.parent) {
65
- this.changeAllParent(selectingNode.parent, value);
66
- }
67
- this.getIndeterminate(selectingNode?.parent || null);
68
- if (isUserChanged) {
69
- this.treeNodeSelectingSource.next(this.treeNodeSelectingSource.value);
70
- }
71
- }
72
- getIndeterminate(parentNode) {
73
- if (!parentNode) {
74
- return;
75
- }
76
- if (!parentNode.children || !parentNode.children.length) {
77
- return;
78
- }
79
- let resultIndeterminateSome = false;
80
- let resultIndeterminateAll = false;
81
- parentNode.children.forEach((item) => {
82
- if (item.checked || item.indeterminate) {
83
- resultIndeterminateSome = true;
84
- }
85
- if (!item.checked) {
86
- resultIndeterminateAll = true;
87
- }
88
- });
89
- if (!resultIndeterminateSome) {
90
- parentNode.indeterminate = false;
91
- parentNode.checked = false;
92
- }
93
- else if (resultIndeterminateAll) {
94
- parentNode.indeterminate = true;
95
- parentNode.checked = false;
96
- }
97
- else {
98
- parentNode.indeterminate = false;
99
- parentNode.checked = true;
100
- }
101
- this.getIndeterminate(parentNode.parent);
102
- }
103
- changeAll(value) {
104
- Object.values(this.treeNodeSelectingSource.value).forEach((e) => {
105
- this.changeSelecting(value, e.elementId, false);
106
- });
107
- this.treeNodeSelectingSource.next(this.treeNodeSelectingSource.value);
108
- }
109
- getFlatSelectedListId(selectedElements) {
110
- selectedElements.forEach((el) => {
111
- if (el.children) {
112
- this.getFlatSelectedListId(el.children);
113
- }
114
- else {
115
- this.flatSelectedListId.push(el.elementId);
116
- }
117
- });
118
- }
119
- getTreeRoot(treeRoot) {
120
- const list = [];
121
- treeRoot.forEach((item) => {
122
- if (item.checked || item.indeterminate) {
123
- const obj = { elementId: item.elementId };
124
- if (item.children) {
125
- obj.children = this.getTreeRoot(item.children);
126
- }
127
- list.push(obj);
128
- }
129
- });
130
- return list;
131
- }
132
- }
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLXNlbGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1hdmEvc3JjL2xpYi9hdmEtdHJlZS90cmVlL3NlcnZpY2VzL3RyZWUtbm9kZS1zZWxlY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt0RCxNQUFNLE9BQU8sd0JBQXdCO0lBVW5DO1FBVFEsNEJBQXVCLEdBQUcsSUFBSSxlQUFlLENBQWlELEVBQUUsQ0FBQyxDQUFDO1FBQzFHLHNCQUFpQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4RCwrQkFBMEIsR0FBbUMsSUFBSSxDQUFDO1FBRWxFLDJCQUFzQixHQUFHLElBQUksYUFBYSxDQUEwQixDQUFDLENBQUMsQ0FBQztRQUMvRSxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFOUQsdUJBQWtCLEdBQWEsRUFBRSxDQUFDO0lBRW5CLENBQUM7SUFFaEIsbUJBQW1CLENBQUMsZ0JBQXlDO1FBQzNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQscUJBQXFCLENBQ25CLFFBQTBDLEVBQzFDLFNBQW1ELElBQUk7UUFFdkQsTUFBTSxJQUFJLEdBQTRCLEVBQUUsQ0FBQztRQUN6QyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQW9CLEVBQUUsRUFBRTtnQkFDeEMsTUFBTSxHQUFHLEdBQUc7b0JBQ1YsTUFBTTtvQkFDTixTQUFTLEVBQUUsT0FBTyxDQUFDLEVBQUU7b0JBQ3JCLE9BQU8sRUFB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QUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxnQkFBbUM7UUFDdkQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDOUIsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBaUM7UUFDM0MsTUFBTSxJQUFJLEdBQTRCLEVBQUUsQ0FBQztRQUN6QyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBMkIsRUFBRSxFQUFFO1lBQy9DLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3ZDLE1BQU0sR0FBRyxHQUEwQixFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNsQixHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDO2dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgSUVsZW1lbnREdG8sIFNlcnZpY2VTcGVjaWZpY2F0aW9uR3JvdXBEdG8gfSBmcm9tICcuLi9tb2RlbC9hdmEtbW9kZWxzJztcbmltcG9ydCB7IFNlbGVjdGVkRWxlbWVudCwgU2VsZWN0aW5nRWxlbWVudHNUeXBlIH0gZnJvbSAnLi4vbW9kZWwvc2VsZWN0aW5nLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIFRyZWVOb2RlU2VsZWN0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgdHJlZU5vZGVTZWxlY3RpbmdTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgW2VsZW1lbnRJZDogc3RyaW5nXTogU2VsZWN0aW5nRWxlbWVudHNUeXBlIH0+KHt9KTtcbiAgdHJlZU5vZGVTZWxlY3RpbmcgPSB0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIF9zZWxlY3RpbmdFbGVtZW50c1RyZWVEYXRhOiBTZWxlY3RpbmdFbGVtZW50c1R5cGVbXSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgc2VsZWN0aW5nQ2hhbmdlZFNvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PFNlbGVjdGluZ0VsZW1lbnRzVHlwZVtdPigxKTtcbiAgc2VsZWN0aW5nQ2hhbmdlZCA9IHRoaXMuc2VsZWN0aW5nQ2hhbmdlZFNvdXJjZS5hc09ic2VydmFibGUoKTtcblxuICBmbGF0U2VsZWN0ZWRMaXN0SWQ6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHNldFNlbGVjdGluZ0NoYW5nZWQoc2VsZWN0aW5nQ2hhbmdlZDogU2VsZWN0aW5nRWxlbWVudHNUeXBlW10pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGluZ0NoYW5nZWRTb3VyY2UubmV4dChzZWxlY3RpbmdDaGFuZ2VkKTtcbiAgfVxuXG4gIGxvYWRTZWxlY3RpbmdFbGVtZW50cyhcbiAgICBlbGVtZW50czogSUVsZW1lbnREdG9bXSB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgcGFyZW50OiBTZWxlY3RpbmdFbGVtZW50c1R5cGUgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbFxuICApOiBTZWxlY3RpbmdFbGVtZW50c1R5cGVbXSB7XG4gICAgY29uc3QgbGlzdDogU2VsZWN0aW5nRWxlbWVudHNUeXBlW10gPSBbXTtcbiAgICBpZiAoZWxlbWVudHMgJiYgZWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICBlbGVtZW50cy5mb3JFYWNoKChlbGVtZW50OiBJRWxlbWVudER0bykgPT4ge1xuICAgICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgICAgcGFyZW50LFxuICAgICAgICAgIGVsZW1lbnRJZDogZWxlbWVudC5pZCxcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZVxuICAgICAgICB9IGFzIFNlbGVjdGluZ0VsZW1lbnRzVHlwZTtcbiAgICAgICAgaWYgKGVsZW1lbnQuZWxlbWVudFR5cGUgPT09ICdTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvJykge1xuICAgICAgICAgIG9iai5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgICAgb2JqLmNoaWxkcmVuID0gdGhpcy5sb2FkU2VsZWN0aW5nRWxlbWVudHMoKDxTZXJ2aWNlU3BlY2lmaWNhdGlvbkdyb3VwRHRvPmVsZW1lbnQpLmVsZW1lbnRzLCBvYmopO1xuICAgICAgICB9XG4gICAgICAgIGxpc3QucHVzaChvYmopO1xuICAgICAgICB0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLnZhbHVlW2VsZW1lbnQuaWRdID0gb2JqO1xuICAgICAgfSk7XG4gICAgICB0aGlzLl9zZWxlY3RpbmdFbGVtZW50c1RyZWVEYXRhID0gbGlzdDtcbiAgICB9XG4gICAgcmV0dXJuIGxpc3Q7XG4gIH1cblxuICBnZXRUcmVlRGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW5nRWxlbWVudHNUcmVlRGF0YTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlQWxsQ2hpbGQoY2hpbGRyZW46IFNlbGVjdGluZ0VsZW1lbnRzVHlwZVtdLCB2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGNoaWxkcmVuLmZvckVhY2goKGl0ZW06IFNlbGVjdGluZ0VsZW1lbnRzVHlwZSkgPT4ge1xuICAgICAgaXRlbS5jaGVja2VkID0gdmFsdWU7XG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICBpdGVtLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VBbGxDaGlsZChpdGVtLmNoaWxkcmVuLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZUFsbFBhcmVudChwYXJlbnQ6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZSwgdmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBwYXJlbnQuY2hlY2tlZCA9IHZhbHVlO1xuICAgIGlmIChwYXJlbnQucGFyZW50KSB7XG4gICAgICB0aGlzLmNoYW5nZUFsbFBhcmVudChwYXJlbnQucGFyZW50LCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlU2VsZWN0aW5nKHZhbHVlOiBib29sZWFuLCBpZDogc3RyaW5nLCBpc1VzZXJDaGFuZ2VkID0gdHJ1ZSk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGluZ05vZGUgPSB0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLnZhbHVlW2lkXTtcbiAgICBpZiAoIXNlbGVjdGluZ05vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZWxlY3RpbmdOb2RlLmNoZWNrZWQgPSB2YWx1ZTtcbiAgICBpZiAoc2VsZWN0aW5nTm9kZS5jaGlsZHJlbikge1xuICAgICAgc2VsZWN0aW5nTm9kZS5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICBpZiAoaXNVc2VyQ2hhbmdlZCkge1xuICAgICAgICB0aGlzLmNoYW5nZUFsbENoaWxkKHNlbGVjdGluZ05vZGUuY2hpbGRyZW4sIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHNlbGVjdGluZ05vZGUucGFyZW50KSB7XG4gICAgICB0aGlzLmNoYW5nZUFsbFBhcmVudChzZWxlY3RpbmdOb2RlLnBhcmVudCwgdmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmdldEluZGV0ZXJtaW5hdGUoc2VsZWN0aW5nTm9kZT8ucGFyZW50IHx8IG51bGwpO1xuICAgIGlmIChpc1VzZXJDaGFuZ2VkKSB7XG4gICAgICB0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLm5leHQodGhpcy50cmVlTm9kZVNlbGVjdGluZ1NvdXJjZS52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbmRldGVybWluYXRlKHBhcmVudE5vZGU6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZSB8IG51bGwgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIXBhcmVudE5vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXBhcmVudE5vZGUuY2hpbGRyZW4gfHwgIXBhcmVudE5vZGUuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHJlc3VsdEluZGV0ZXJtaW5hdGVTb21lID0gZmFsc2U7XG4gICAgbGV0IHJlc3VsdEluZGV0ZXJtaW5hdGVBbGwgPSBmYWxzZTtcbiAgICBwYXJlbnROb2RlLmNoaWxkcmVuLmZvckVhY2goKGl0ZW06IFNlbGVjdGluZ0VsZW1lbnRzVHlwZSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uY2hlY2tlZCB8fCBpdGVtLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgcmVzdWx0SW5kZXRlcm1pbmF0ZVNvbWUgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKCFpdGVtLmNoZWNrZWQpIHtcbiAgICAgICAgcmVzdWx0SW5kZXRlcm1pbmF0ZUFsbCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKCFyZXN1bHRJbmRldGVybWluYXRlU29tZSkge1xuICAgICAgcGFyZW50Tm9kZS5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICBwYXJlbnROb2RlLmNoZWNrZWQgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHJlc3VsdEluZGV0ZXJtaW5hdGVBbGwpIHtcbiAgICAgIHBhcmVudE5vZGUuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICBwYXJlbnROb2RlLmNoZWNrZWQgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyZW50Tm9kZS5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICBwYXJlbnROb2RlLmNoZWNrZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLmdldEluZGV0ZXJtaW5hdGUocGFyZW50Tm9kZS5wYXJlbnQpO1xuICB9XG5cbiAgY2hhbmdlQWxsKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLnZhbHVlKS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICB0aGlzLmNoYW5nZVNlbGVjdGluZyh2YWx1ZSwgZS5lbGVtZW50SWQsIGZhbHNlKTtcbiAgICB9KTtcbiAgICB0aGlzLnRyZWVOb2RlU2VsZWN0aW5nU291cmNlLm5leHQodGhpcy50cmVlTm9kZVNlbGVjdGluZ1NvdXJjZS52YWx1ZSk7XG4gIH1cblxuICBnZXRGbGF0U2VsZWN0ZWRMaXN0SWQoc2VsZWN0ZWRFbGVtZW50czogU2VsZWN0ZWRFbGVtZW50W10pOiB2b2lkIHtcbiAgICBzZWxlY3RlZEVsZW1lbnRzLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICBpZiAoZWwuY2hpbGRyZW4pIHtcbiAgICAgICAgdGhpcy5nZXRGbGF0U2VsZWN0ZWRMaXN0SWQoZWwuY2hpbGRyZW4pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5mbGF0U2VsZWN0ZWRMaXN0SWQucHVzaChlbC5lbGVtZW50SWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0VHJlZVJvb3QodHJlZVJvb3Q6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZVtdKTogU2VsZWN0aW5nRWxlbWVudHNUeXBlW10ge1xuICAgIGNvbnN0IGxpc3Q6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZVtdID0gW107XG4gICAgdHJlZVJvb3QuZm9yRWFjaCgoaXRlbTogU2VsZWN0aW5nRWxlbWVudHNUeXBlKSA9PiB7XG4gICAgICBpZiAoaXRlbS5jaGVja2VkIHx8IGl0ZW0uaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgICBjb25zdCBvYmo6IFNlbGVjdGluZ0VsZW1lbnRzVHlwZSA9IHsgZWxlbWVudElkOiBpdGVtLmVsZW1lbnRJZCB9O1xuICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgICAgIG9iai5jaGlsZHJlbiA9IHRoaXMuZ2V0VHJlZVJvb3QoaXRlbS5jaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgICAgbGlzdC5wdXNoKG9iaik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGxpc3Q7XG4gIH1cbn1cbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ReplaySubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class TreeWordsService {
5
- constructor() {
6
- this.treeWordsSource = new ReplaySubject(1);
7
- this.getTreeWords = this.treeWordsSource.asObservable();
8
- }
9
- setTreeWords(words) {
10
- this.treeWordsSource.next(words);
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TreeWordsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TreeWordsService, providedIn: 'root' }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TreeWordsService, decorators: [{
16
- type: Injectable,
17
- args: [{
18
- providedIn: 'root'
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS13b3Jkcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1hdmEvc3JjL2xpYi9hdmEtdHJlZS90cmVlL3NlcnZpY2VzL3RyZWUtd29yZHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBT3JDLE1BQU0sT0FBTyxnQkFBZ0I7SUFIN0I7UUFJVSxvQkFBZSxHQUFHLElBQUksYUFBYSxDQUFhLENBQUMsQ0FBQyxDQUFDO1FBQzNELGlCQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQUtwRDtJQUhDLFlBQVksQ0FBQyxLQUFpQjtRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzhHQU5VLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJVGV4dFdvcmRzIH0gZnJvbSAnLi4vY29uc3RhbnRzL2RlZmF1bHRUZXh0V29yZHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmVlV29yZHNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB0cmVlV29yZHNTb3VyY2UgPSBuZXcgUmVwbGF5U3ViamVjdDxJVGV4dFdvcmRzPigxKTtcbiAgZ2V0VHJlZVdvcmRzID0gdGhpcy50cmVlV29yZHNTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgc2V0VHJlZVdvcmRzKHdvcmRzOiBJVGV4dFdvcmRzKTogdm9pZCB7XG4gICAgdGhpcy50cmVlV29yZHNTb3VyY2UubmV4dCh3b3Jkcyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,10 +0,0 @@
1
- // This file is automatically generated as part of the build process
2
- export const version = {
3
- version: "1.1.2-beta0049",
4
- commitInfo: "Branch.develop.Sha.7fc641d0d3d1b5f1e584ea0022bfe938de635087",
5
- commitDate: "2024-12-03",
6
- commitHash: "7fc641d0d3d1b5f1e584ea0022bfe938de635087",
7
- informationalVersion: "1.1.2-beta.49+Branch.develop.Sha.7fc641d0d3d1b5f1e584ea0022bfe938de635087",
8
- buildDateUtc: new Date(Date.UTC(2024, 11, 3, 13, 14, 44))
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXZhL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvRUFBb0U7QUFFcEUsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ25CLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsVUFBVSxFQUFFLDZEQUE2RDtJQUN6RSxVQUFVLEVBQUUsWUFBWTtJQUN4QixVQUFVLEVBQUUsMENBQTBDO0lBQ3RELG9CQUFvQixFQUFFLDJFQUEyRTtJQUNqRyxZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0NBQzVELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYXMgcGFydCBvZiB0aGUgYnVpbGQgcHJvY2Vzc1xuXG5leHBvcnQgY29uc3QgdmVyc2lvbiA9IHtcbiAgICB2ZXJzaW9uOiBcIjEuMS4yLWJldGEwMDQ5XCIsXG4gICAgY29tbWl0SW5mbzogXCJCcmFuY2guZGV2ZWxvcC5TaGEuN2ZjNjQxZDBkM2QxYjVmMWU1ODRlYTAwMjJiZmU5MzhkZTYzNTA4N1wiLFxuICAgIGNvbW1pdERhdGU6IFwiMjAyNC0xMi0wM1wiLFxuICAgIGNvbW1pdEhhc2g6IFwiN2ZjNjQxZDBkM2QxYjVmMWU1ODRlYTAwMjJiZmU5MzhkZTYzNTA4N1wiLFxuICAgIGluZm9ybWF0aW9uYWxWZXJzaW9uOiBcIjEuMS4yLWJldGEuNDkrQnJhbmNoLmRldmVsb3AuU2hhLjdmYzY0MWQwZDNkMWI1ZjFlNTg0ZWEwMDIyYmZlOTM4ZGU2MzUwODdcIixcbiAgICBidWlsZERhdGVVdGM6IG5ldyBEYXRlKERhdGUuVVRDKDIwMjQsIDExLCAzLCAxMywgMTQsIDQ0KSlcbn1cbiJdfQ==
@@ -1,10 +0,0 @@
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
- export * from './lib/ava-tree/tree/constants';
9
- export { InvoiceDisplayComponent } from './lib/ava-tree/invoice/invoice-display/invoice-display.component';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXZhL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYW5ndWxhci1hdmFcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdmEtdHJlZS90cmVlL21vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuZ3VsYXItYXZhLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi92ZXJzaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YS10cmVlL3RyZWUvY29tcG9uZW50cy9hdmEtdHJlZS9hdmEtdHJlZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXZhLXRyZWUvdHJlZS9jb25zdGFudHMnO1xuZXhwb3J0IHsgSW52b2ljZURpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hdmEtdHJlZS9pbnZvaWNlL2ludm9pY2UtZGlzcGxheS9pbnZvaWNlLWRpc3BsYXkuY29tcG9uZW50JztcbiJdfQ==
@@ -1,27 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./ava-tree/tree/components/tree-structure/tree-structure.component";
3
- import * as i2 from "./ava-tree/tree/components/tree-node/tree-node.component";
4
- import * as i3 from "./ava-tree/tree/components/ava-tree/ava-tree.component";
5
- import * as i4 from "./ava-tree/tree/components/tree-item/tree-item.component";
6
- import * as i5 from "./ava-tree/tree/components/list-structure/list-structure.component";
7
- import * as i6 from "./ava-tree/tree/components/table-structure/table-structure.component";
8
- import * as i7 from "./ava-tree/tree/pipes/element-icon-name.pipe";
9
- import * as i8 from "./ava-tree/tree/pipes/element-text.pipe";
10
- import * as i9 from "./ava-tree/tree/pipes/group-child-elements.pipe";
11
- import * as i10 from "./ava-tree/tree/pipes/element-item-number.pipe";
12
- import * as i11 from "./ava-tree/tree/directives/save-changing-view.directive";
13
- import * as i12 from "@angular/common";
14
- import * as i13 from "@angular/material/icon";
15
- import * as i14 from "@angular/material/core";
16
- import * as i15 from "@angular/material/input";
17
- import * as i16 from "@angular/material/form-field";
18
- import * as i17 from "@angular/forms";
19
- import * as i18 from "@angular/material/button";
20
- import * as i19 from "@angular/material/checkbox";
21
- import * as i20 from "@angular/material/table";
22
- import * as i21 from "@angular/material/tooltip";
23
- export declare class AngularAvaModule {
24
- static ɵfac: i0.ɵɵFactoryDeclaration<AngularAvaModule, never>;
25
- static ɵmod: i0.ɵɵNgModuleDeclaration<AngularAvaModule, [typeof i1.TreeStructureComponent, typeof i2.TreeNodeComponent, typeof i3.AvaTreeComponent, typeof i4.TreeItemComponent, typeof i5.ListStructureComponent, typeof i6.TableStructureComponent, typeof i7.ElementIconNamePipe, typeof i8.ElementTextPipe, typeof i9.GroupChildElementsPipe, typeof i10.ElementItemNumberPipe, typeof i11.SaveChangingViewDirective], [typeof i12.CommonModule, typeof i13.MatIconModule, typeof i14.MatRippleModule, typeof i15.MatInputModule, typeof i16.MatFormFieldModule, typeof i17.ReactiveFormsModule, typeof i17.FormsModule, typeof i18.MatButtonModule, typeof i19.MatCheckboxModule, typeof i20.MatTableModule, typeof i21.MatTooltipModule], [typeof i3.AvaTreeComponent]>;
26
- static ɵinj: i0.ɵɵInjectorDeclaration<AngularAvaModule>;
27
- }