@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.
- package/README.md +26 -8
- package/fesm2022/dangl-angular-ava.mjs +63 -556
- package/fesm2022/dangl-angular-ava.mjs.map +1 -1
- package/lib/ava-tree/tree/components/ava-tree/ava-tree.component.d.ts +1 -1
- package/lib/ava-tree/tree/components/list-structure/list-structure.component.d.ts +1 -1
- package/lib/ava-tree/tree/components/table-structure/table-structure.component.d.ts +1 -1
- package/lib/ava-tree/tree/components/tree-item/tree-item.component.d.ts +1 -1
- package/lib/ava-tree/tree/components/tree-node/tree-node.component.d.ts +1 -1
- package/lib/ava-tree/tree/components/tree-structure/tree-structure.component.d.ts +1 -1
- package/lib/ava-tree/tree/directives/save-changing-view.directive.d.ts +1 -1
- package/lib/ava-tree/tree/pipes/element-icon-name.pipe.d.ts +1 -1
- package/lib/ava-tree/tree/pipes/element-item-number.pipe.d.ts +1 -1
- package/lib/ava-tree/tree/pipes/element-text.pipe.d.ts +1 -1
- package/lib/ava-tree/tree/pipes/group-child-elements.pipe.d.ts +1 -1
- package/package.json +1 -3
- package/public-api.d.ts +1 -2
- package/esm2022/dangl-angular-ava.mjs +0 -5
- package/esm2022/lib/angular-ava.module.mjs +0 -91
- package/esm2022/lib/ava-tree/invoice/invoice-display/invoice-display.component.mjs +0 -123
- package/esm2022/lib/ava-tree/tree/components/ava-tree/ava-tree.component.mjs +0 -449
- package/esm2022/lib/ava-tree/tree/components/list-structure/list-structure.component.mjs +0 -41
- package/esm2022/lib/ava-tree/tree/components/table-structure/table-structure.component.mjs +0 -110
- package/esm2022/lib/ava-tree/tree/components/tree-item/tree-item.component.mjs +0 -102
- package/esm2022/lib/ava-tree/tree/components/tree-node/tree-node.component.mjs +0 -53
- package/esm2022/lib/ava-tree/tree/components/tree-structure/tree-structure.component.mjs +0 -33
- package/esm2022/lib/ava-tree/tree/constants/defaultFilters.mjs +0 -23
- package/esm2022/lib/ava-tree/tree/constants/defaultTextWordInvoice.mjs +0 -77
- package/esm2022/lib/ava-tree/tree/constants/defaultTextWords.mjs +0 -29
- package/esm2022/lib/ava-tree/tree/constants/defaults.mjs +0 -4
- package/esm2022/lib/ava-tree/tree/constants/index.mjs +0 -6
- package/esm2022/lib/ava-tree/tree/directives/save-changing-view.directive.mjs +0 -47
- package/esm2022/lib/ava-tree/tree/model/ava-models.mjs +0 -206
- package/esm2022/lib/ava-tree/tree/model/context-menu-data.model.mjs +0 -2
- package/esm2022/lib/ava-tree/tree/model/function-view-line.model.mjs +0 -2
- package/esm2022/lib/ava-tree/tree/model/index.mjs +0 -5
- package/esm2022/lib/ava-tree/tree/model/invoice-models.mjs +0 -45
- package/esm2022/lib/ava-tree/tree/model/invoice-words.model.mjs +0 -2
- package/esm2022/lib/ava-tree/tree/model/selecting.model.mjs +0 -2
- package/esm2022/lib/ava-tree/tree/model/tableColumnType.mjs +0 -2
- package/esm2022/lib/ava-tree/tree/model/tree-mode.model.mjs +0 -7
- package/esm2022/lib/ava-tree/tree/pipes/element-icon-name.pipe.mjs +0 -27
- package/esm2022/lib/ava-tree/tree/pipes/element-item-number.pipe.mjs +0 -23
- package/esm2022/lib/ava-tree/tree/pipes/element-text.pipe.mjs +0 -39
- package/esm2022/lib/ava-tree/tree/pipes/group-child-elements.pipe.mjs +0 -20
- package/esm2022/lib/ava-tree/tree/pipes/invoice-attachment-mime-type.pipe.mjs +0 -34
- package/esm2022/lib/ava-tree/tree/services/expand-parent-group.service.mjs +0 -32
- package/esm2022/lib/ava-tree/tree/services/flat-elements.service.mjs +0 -96
- package/esm2022/lib/ava-tree/tree/services/keyboard-operation.service.mjs +0 -116
- package/esm2022/lib/ava-tree/tree/services/select-element.service.mjs +0 -41
- package/esm2022/lib/ava-tree/tree/services/tree-node-selection.service.mjs +0 -133
- package/esm2022/lib/ava-tree/tree/services/tree-words.service.mjs +0 -21
- package/esm2022/lib/version.mjs +0 -10
- package/esm2022/public-api.mjs +0 -10
- 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==
|
package/esm2022/lib/version.mjs
DELETED
|
@@ -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==
|
package/esm2022/public-api.mjs
DELETED
|
@@ -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
|
-
}
|