@abp/ng.components 7.2.2 → 7.3.0-rc.2
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 +129 -2
- package/chart.js/chart.component.d.ts +30 -30
- package/chart.js/chart.module.d.ts +8 -8
- package/chart.js/index.d.ts +5 -5
- package/chart.js/public-api.d.ts +3 -3
- package/chart.js/widget-utils.d.ts +1 -1
- package/{esm2020 → esm2022}/abp-ng.components.mjs +4 -4
- package/{esm2020 → esm2022}/chart.js/abp-ng.components-chart.js.mjs +4 -4
- package/esm2022/chart.js/chart.component.mjs +141 -0
- package/esm2022/chart.js/chart.module.mjs +20 -0
- package/{esm2020 → esm2022}/chart.js/public-api.mjs +3 -3
- package/{esm2020 → esm2022}/chart.js/widget-utils.mjs +10 -10
- package/{esm2020 → esm2022}/page/abp-ng.components-page.mjs +4 -4
- package/esm2022/page/page-part.directive.mjs +77 -0
- package/esm2022/page/page-parts.component.mjs +48 -0
- package/esm2022/page/page.component.mjs +56 -0
- package/esm2022/page/page.module.mjs +39 -0
- package/{esm2020 → esm2022}/page/public-api.mjs +4 -4
- package/{esm2020 → esm2022}/public-api.mjs +4 -4
- package/{esm2020 → esm2022}/tree/abp-ng.components-tree.mjs +4 -4
- package/esm2022/tree/lib/components/tree.component.mjs +154 -0
- package/{esm2020 → esm2022}/tree/lib/disable-tree-style-loading.token.mjs +2 -2
- package/esm2022/tree/lib/templates/expanded-icon-template.directive.mjs +17 -0
- package/esm2022/tree/lib/templates/tree-node-template.directive.mjs +17 -0
- package/esm2022/tree/lib/tree.module.mjs +26 -0
- package/{esm2020 → esm2022}/tree/lib/utils/nz-tree-adapter.mjs +91 -91
- package/{esm2020 → esm2022}/tree/public-api.mjs +6 -6
- package/{fesm2020 → fesm2022}/abp-ng.components-chart.js.mjs +135 -135
- package/fesm2022/abp-ng.components-chart.js.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/abp-ng.components-page.mjs +187 -187
- package/{fesm2020 → fesm2022}/abp-ng.components-page.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/abp-ng.components-tree.mjs +269 -269
- package/fesm2022/abp-ng.components-tree.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/abp-ng.components.mjs +4 -4
- package/index.d.ts +5 -5
- package/package.json +31 -30
- package/page/index.d.ts +5 -5
- package/page/page-part.directive.d.ts +31 -31
- package/page/page-parts.component.d.ts +18 -18
- package/page/page.component.d.ts +21 -21
- package/page/page.module.d.ts +13 -13
- package/page/public-api.d.ts +4 -4
- package/public-api.d.ts +1 -1
- package/tree/index.d.ts +5 -5
- package/tree/lib/components/tree.component.d.ts +51 -51
- package/tree/lib/disable-tree-style-loading.token.d.ts +2 -2
- package/tree/lib/templates/expanded-icon-template.directive.d.ts +8 -8
- package/tree/lib/templates/tree-node-template.directive.d.ts +8 -8
- package/tree/lib/tree.module.d.ts +13 -13
- package/tree/lib/utils/nz-tree-adapter.d.ts +38 -38
- package/tree/public-api.d.ts +6 -6
- package/esm2020/chart.js/chart.component.mjs +0 -140
- package/esm2020/chart.js/chart.module.mjs +0 -19
- package/esm2020/page/page-part.directive.mjs +0 -76
- package/esm2020/page/page-parts.component.mjs +0 -45
- package/esm2020/page/page.component.mjs +0 -55
- package/esm2020/page/page.module.mjs +0 -38
- package/esm2020/tree/lib/components/tree.component.mjs +0 -153
- package/esm2020/tree/lib/templates/expanded-icon-template.directive.mjs +0 -16
- package/esm2020/tree/lib/templates/tree-node-template.directive.mjs +0 -16
- package/esm2020/tree/lib/tree.module.mjs +0 -25
- package/fesm2015/abp-ng.components-chart.js.mjs +0 -175
- package/fesm2015/abp-ng.components-chart.js.mjs.map +0 -1
- package/fesm2015/abp-ng.components-page.mjs +0 -215
- package/fesm2015/abp-ng.components-page.mjs.map +0 -1
- package/fesm2015/abp-ng.components-tree.mjs +0 -300
- package/fesm2015/abp-ng.components-tree.mjs.map +0 -1
- package/fesm2015/abp-ng.components.mjs +0 -4
- package/fesm2015/abp-ng.components.mjs.map +0 -1
- package/fesm2020/abp-ng.components-chart.js.mjs.map +0 -1
- package/fesm2020/abp-ng.components-tree.mjs.map +0 -1
- /package/{fesm2020 → fesm2022}/abp-ng.components.mjs.map +0 -0
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
export class BaseNode {
|
|
2
|
-
constructor(id, parentId) {
|
|
3
|
-
this.id = id;
|
|
4
|
-
this.parentId = parentId;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
export class TreeNode extends BaseNode {
|
|
8
|
-
constructor(entity, nameResolver = ent => ent.displayName || ent.name) {
|
|
9
|
-
super(entity.id, entity.parentId);
|
|
10
|
-
this.entity = entity;
|
|
11
|
-
this.nameResolver = nameResolver;
|
|
12
|
-
this.icon = null;
|
|
13
|
-
this.children = [];
|
|
14
|
-
this.isLeaf = true;
|
|
15
|
-
this.checked = false;
|
|
16
|
-
this.selected = false;
|
|
17
|
-
this.expanded = false;
|
|
18
|
-
this.selectable = true;
|
|
19
|
-
this.disabled = false;
|
|
20
|
-
this.disableCheckbox = false;
|
|
21
|
-
this.key = entity.id;
|
|
22
|
-
this.title = nameResolver(entity);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
export class TreeAdapter {
|
|
26
|
-
constructor(list = []) {
|
|
27
|
-
this.list = list;
|
|
28
|
-
this.tree = createTreeFromList(this.list);
|
|
29
|
-
}
|
|
30
|
-
getList() {
|
|
31
|
-
return this.list;
|
|
32
|
-
}
|
|
33
|
-
getTree() {
|
|
34
|
-
return this.tree;
|
|
35
|
-
}
|
|
36
|
-
handleDrop({ key, parentNode }) {
|
|
37
|
-
const index = this.list.findIndex(({ id }) => id === key);
|
|
38
|
-
this.list[index].parentId = parentNode ? parentNode.key : null;
|
|
39
|
-
this.tree = createTreeFromList(this.list);
|
|
40
|
-
}
|
|
41
|
-
handleRemove({ key }) {
|
|
42
|
-
this.updateTreeFromList(this.list.filter(item => item.id !== key));
|
|
43
|
-
}
|
|
44
|
-
handleUpdate({ key, children }) {
|
|
45
|
-
/**
|
|
46
|
-
* When we need to update a node with new children, first we need to remove any descendant nodes.
|
|
47
|
-
* If we remove immediate children and create a new tree, any other descendant nodes will be removed
|
|
48
|
-
* and we won't need to recursively remove sub children.
|
|
49
|
-
* Then, you simply add back the new children and create a new tree.
|
|
50
|
-
*/
|
|
51
|
-
const listWithDescendantNodesRemoved = this.updateTreeFromList(this.list.filter(item => item.parentId !== key));
|
|
52
|
-
this.updateTreeFromList(listWithDescendantNodesRemoved.concat(children));
|
|
53
|
-
}
|
|
54
|
-
updateTreeFromList(list) {
|
|
55
|
-
this.tree = createTreeFromList(list);
|
|
56
|
-
this.list = createListFromTree(this.tree);
|
|
57
|
-
return this.list;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
// UTILITY FUNCTIONS
|
|
61
|
-
function createTreeFromList(list) {
|
|
62
|
-
const map = createMapFromList(list);
|
|
63
|
-
const tree = [];
|
|
64
|
-
list.forEach(row => {
|
|
65
|
-
const parentId = row.parentId;
|
|
66
|
-
const node = map.get(row.id);
|
|
67
|
-
if (parentId) {
|
|
68
|
-
const parent = map.get(parentId);
|
|
69
|
-
if (!parent)
|
|
70
|
-
return;
|
|
71
|
-
parent.children.push(node);
|
|
72
|
-
parent.isLeaf = false;
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
tree.push(node);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
return tree;
|
|
79
|
-
}
|
|
80
|
-
function createListFromTree(tree, list = []) {
|
|
81
|
-
tree.forEach(node => {
|
|
82
|
-
list.push({ ...node.entity, parentId: node.parentId });
|
|
83
|
-
if (node.children)
|
|
84
|
-
createListFromTree(node.children, list);
|
|
85
|
-
});
|
|
86
|
-
return list;
|
|
87
|
-
}
|
|
88
|
-
function createMapFromList(list, map = new Map()) {
|
|
89
|
-
list.forEach(row => map.set(row.id, new TreeNode(row)));
|
|
90
|
-
return map;
|
|
91
|
-
}
|
|
1
|
+
export class BaseNode {
|
|
2
|
+
constructor(id, parentId) {
|
|
3
|
+
this.id = id;
|
|
4
|
+
this.parentId = parentId;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class TreeNode extends BaseNode {
|
|
8
|
+
constructor(entity, nameResolver = ent => ent.displayName || ent.name) {
|
|
9
|
+
super(entity.id, entity.parentId);
|
|
10
|
+
this.entity = entity;
|
|
11
|
+
this.nameResolver = nameResolver;
|
|
12
|
+
this.icon = null;
|
|
13
|
+
this.children = [];
|
|
14
|
+
this.isLeaf = true;
|
|
15
|
+
this.checked = false;
|
|
16
|
+
this.selected = false;
|
|
17
|
+
this.expanded = false;
|
|
18
|
+
this.selectable = true;
|
|
19
|
+
this.disabled = false;
|
|
20
|
+
this.disableCheckbox = false;
|
|
21
|
+
this.key = entity.id;
|
|
22
|
+
this.title = nameResolver(entity);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export class TreeAdapter {
|
|
26
|
+
constructor(list = []) {
|
|
27
|
+
this.list = list;
|
|
28
|
+
this.tree = createTreeFromList(this.list);
|
|
29
|
+
}
|
|
30
|
+
getList() {
|
|
31
|
+
return this.list;
|
|
32
|
+
}
|
|
33
|
+
getTree() {
|
|
34
|
+
return this.tree;
|
|
35
|
+
}
|
|
36
|
+
handleDrop({ key, parentNode }) {
|
|
37
|
+
const index = this.list.findIndex(({ id }) => id === key);
|
|
38
|
+
this.list[index].parentId = parentNode ? parentNode.key : null;
|
|
39
|
+
this.tree = createTreeFromList(this.list);
|
|
40
|
+
}
|
|
41
|
+
handleRemove({ key }) {
|
|
42
|
+
this.updateTreeFromList(this.list.filter(item => item.id !== key));
|
|
43
|
+
}
|
|
44
|
+
handleUpdate({ key, children }) {
|
|
45
|
+
/**
|
|
46
|
+
* When we need to update a node with new children, first we need to remove any descendant nodes.
|
|
47
|
+
* If we remove immediate children and create a new tree, any other descendant nodes will be removed
|
|
48
|
+
* and we won't need to recursively remove sub children.
|
|
49
|
+
* Then, you simply add back the new children and create a new tree.
|
|
50
|
+
*/
|
|
51
|
+
const listWithDescendantNodesRemoved = this.updateTreeFromList(this.list.filter(item => item.parentId !== key));
|
|
52
|
+
this.updateTreeFromList(listWithDescendantNodesRemoved.concat(children));
|
|
53
|
+
}
|
|
54
|
+
updateTreeFromList(list) {
|
|
55
|
+
this.tree = createTreeFromList(list);
|
|
56
|
+
this.list = createListFromTree(this.tree);
|
|
57
|
+
return this.list;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// UTILITY FUNCTIONS
|
|
61
|
+
function createTreeFromList(list) {
|
|
62
|
+
const map = createMapFromList(list);
|
|
63
|
+
const tree = [];
|
|
64
|
+
list.forEach(row => {
|
|
65
|
+
const parentId = row.parentId;
|
|
66
|
+
const node = map.get(row.id);
|
|
67
|
+
if (parentId) {
|
|
68
|
+
const parent = map.get(parentId);
|
|
69
|
+
if (!parent)
|
|
70
|
+
return;
|
|
71
|
+
parent.children.push(node);
|
|
72
|
+
parent.isLeaf = false;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
tree.push(node);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
return tree;
|
|
79
|
+
}
|
|
80
|
+
function createListFromTree(tree, list = []) {
|
|
81
|
+
tree.forEach(node => {
|
|
82
|
+
list.push({ ...node.entity, parentId: node.parentId });
|
|
83
|
+
if (node.children)
|
|
84
|
+
createListFromTree(node.children, list);
|
|
85
|
+
});
|
|
86
|
+
return list;
|
|
87
|
+
}
|
|
88
|
+
function createMapFromList(list, map = new Map()) {
|
|
89
|
+
list.forEach(row => map.set(row.id, new TreeNode(row)));
|
|
90
|
+
return map;
|
|
91
|
+
}
|
|
92
92
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotdHJlZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90cmVlL3NyYy9saWIvdXRpbHMvbnotdHJlZS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsUUFBUTtJQUk1QixZQUFtQixFQUFVLEVBQVMsUUFBdUI7UUFBMUMsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQWU7SUFBRyxDQUFDO0NBQ2xFO0FBRUQsTUFBTSxPQUFPLFFBQTZCLFNBQVEsUUFBUTtJQWN4RCxZQUFtQixNQUFTLEVBQVUsZUFBZSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLElBQUk7UUFDckYsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRGpCLFdBQU0sR0FBTixNQUFNLENBQUc7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBcUM7UUFYdkYsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFDM0IsYUFBUSxHQUFrQixFQUFFLENBQUM7UUFDN0IsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUt0QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBb0IsT0FB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LElBQUksQ0FBQyxFQUFFO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FDeEIsSUFBUyxFQUNULE1BQU0sSUFBSSxHQUFHLEVBQXVCO0lBRXBDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTm9kZSB7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBkaXNwbGF5TmFtZT86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGlkOiBzdHJpbmcsIHB1YmxpYyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbCkge31cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRyZWVOb2RlPFQgZXh0ZW5kcyBCYXNlTm9kZT4gZXh0ZW5kcyBCYXNlTm9kZSB7XHJcbiAgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBrZXk6IHN0cmluZztcclxuICBpY29uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBjaGlsZHJlbjogVHJlZU5vZGU8VD5bXSA9IFtdO1xyXG4gIGlzTGVhZiA9IHRydWU7XHJcbiAgY2hlY2tlZCA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkID0gZmFsc2U7XHJcbiAgZXhwYW5kZWQgPSBmYWxzZTtcclxuICBzZWxlY3RhYmxlID0gdHJ1ZTtcclxuICBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIGRpc2FibGVDaGVja2JveCA9IGZhbHNlO1xyXG4gIHBhcmVudE5vZGU/OiBUcmVlTm9kZTxUPiB8IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbnRpdHk6IFQsIHByaXZhdGUgbmFtZVJlc29sdmVyID0gZW50ID0+IGVudC5kaXNwbGF5TmFtZSB8fCBlbnQubmFtZSkge1xyXG4gICAgc3VwZXIoZW50aXR5LmlkLCBlbnRpdHkucGFyZW50SWQpO1xyXG4gICAgdGhpcy5rZXkgPSBlbnRpdHkuaWQ7XHJcbiAgICB0aGlzLnRpdGxlID0gbmFtZVJlc29sdmVyKGVudGl0eSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVHJlZUFkYXB0ZXI8VCBleHRlbmRzIEJhc2VOb2RlID0gQmFzZU5vZGU+IHtcclxuICBwcml2YXRlIHRyZWU6IFRyZWVOb2RlPFQ+W107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGlzdDogVFtdID0gW10pIHtcclxuICAgIHRoaXMudHJlZSA9IGNyZWF0ZVRyZWVGcm9tTGlzdCh0aGlzLmxpc3QpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3Q7XHJcbiAgfVxyXG5cclxuICBnZXRUcmVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJlZTtcclxuICB9XHJcblxyXG4gIGhhbmRsZURyb3AoeyBrZXksIHBhcmVudE5vZGUgfTogVHJlZU5vZGU8VD4pIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5saXN0LmZpbmRJbmRleCgoeyBpZCB9KSA9PiBpZCA9PT0ga2V5KTtcclxuICAgIHRoaXMubGlzdFtpbmRleF0ucGFyZW50SWQgPSBwYXJlbnROb2RlID8gcGFyZW50Tm9kZS5rZXkgOiBudWxsO1xyXG4gICAgdGhpcy50cmVlID0gY3JlYXRlVHJlZUZyb21MaXN0KHRoaXMubGlzdCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVSZW1vdmUoeyBrZXkgfTogVHJlZU5vZGU8VD4pIHtcclxuICAgIHRoaXMudXBkYXRlVHJlZUZyb21MaXN0KHRoaXMubGlzdC5maWx0ZXIoaXRlbSA9PiBpdGVtLmlkICE9PSBrZXkpKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVVwZGF0ZSh7IGtleSwgY2hpbGRyZW4gfTogeyBrZXk6IHN0cmluZzsgY2hpbGRyZW46IFRbXSB9KSB7XHJcbiAgICAvKipcclxuICAgICAqIFdoZW4gd2UgbmVlZCB0byB1cGRhdGUgYSBub2RlIHdpdGggbmV3IGNoaWxkcmVuLCBmaXJzdCB3ZSBuZWVkIHRvIHJlbW92ZSBhbnkgZGVzY2VuZGFudCBub2Rlcy5cclxuICAgICAqIElmIHdlIHJlbW92ZSBpbW1lZGlhdGUgY2hpbGRyZW4gYW5kIGNyZWF0ZSBhIG5ldyB0cmVlLCBhbnkgb3RoZXIgZGVzY2VuZGFudCBub2RlcyB3aWxsIGJlIHJlbW92ZWRcclxuICAgICAqIGFuZCB3ZSB3b24ndCBuZWVkIHRvIHJlY3Vyc2l2ZWx5IHJlbW92ZSBzdWIgY2hpbGRyZW4uXHJcbiAgICAgKiBUaGVuLCB5b3Ugc2ltcGx5IGFkZCBiYWNrIHRoZSBuZXcgY2hpbGRyZW4gYW5kIGNyZWF0ZSBhIG5ldyB0cmVlLlxyXG4gICAgICovXHJcbiAgICBjb25zdCBsaXN0V2l0aERlc2NlbmRhbnROb2Rlc1JlbW92ZWQgPSB0aGlzLnVwZGF0ZVRyZWVGcm9tTGlzdChcclxuICAgICAgdGhpcy5saXN0LmZpbHRlcihpdGVtID0+IGl0ZW0ucGFyZW50SWQgIT09IGtleSksXHJcbiAgICApO1xyXG4gICAgdGhpcy51cGRhdGVUcmVlRnJvbUxpc3QobGlzdFdpdGhEZXNjZW5kYW50Tm9kZXNSZW1vdmVkLmNvbmNhdChjaGlsZHJlbikpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlVHJlZUZyb21MaXN0KGxpc3Q6IFRbXSkge1xyXG4gICAgdGhpcy50cmVlID0gY3JlYXRlVHJlZUZyb21MaXN0KGxpc3QpO1xyXG4gICAgdGhpcy5saXN0ID0gY3JlYXRlTGlzdEZyb21UcmVlKHRoaXMudHJlZSk7XHJcbiAgICByZXR1cm4gdGhpcy5saXN0O1xyXG4gIH1cclxufVxyXG5cclxuLy8gVVRJTElUWSBGVU5DVElPTlNcclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZVRyZWVGcm9tTGlzdDxUIGV4dGVuZHMgQmFzZU5vZGU+KGxpc3Q6IFRbXSk6IFRyZWVOb2RlPFQ+W10ge1xyXG4gIGNvbnN0IG1hcCA9IGNyZWF0ZU1hcEZyb21MaXN0KGxpc3QpO1xyXG4gIGNvbnN0IHRyZWU6IFRyZWVOb2RlPFQ+W10gPSBbXTtcclxuXHJcbiAgbGlzdC5mb3JFYWNoKHJvdyA9PiB7XHJcbiAgICBjb25zdCBwYXJlbnRJZCA9IHJvdy5wYXJlbnRJZDtcclxuICAgIGNvbnN0IG5vZGUgPSBtYXAuZ2V0KHJvdy5pZCk7XHJcbiAgICBpZiAocGFyZW50SWQpIHtcclxuICAgICAgY29uc3QgcGFyZW50ID0gbWFwLmdldChwYXJlbnRJZCk7XHJcbiAgICAgIGlmICghcGFyZW50KSByZXR1cm47XHJcbiAgICAgIHBhcmVudC5jaGlsZHJlbi5wdXNoKG5vZGUpO1xyXG4gICAgICBwYXJlbnQuaXNMZWFmID0gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0cmVlLnB1c2gobm9kZSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgcmV0dXJuIHRyZWU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZUxpc3RGcm9tVHJlZTxUIGV4dGVuZHMgQmFzZU5vZGU+KHRyZWU6IFRyZWVOb2RlPFQ+W10sIGxpc3Q6IFRbXSA9IFtdKTogVFtdIHtcclxuICB0cmVlLmZvckVhY2gobm9kZSA9PiB7XHJcbiAgICBsaXN0LnB1c2goeyAuLi5ub2RlLmVudGl0eSwgcGFyZW50SWQ6IG5vZGUucGFyZW50SWQgfSk7XHJcbiAgICBpZiAobm9kZS5jaGlsZHJlbikgY3JlYXRlTGlzdEZyb21UcmVlKG5vZGUuY2hpbGRyZW4sIGxpc3QpO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gbGlzdDtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlTWFwRnJvbUxpc3Q8VCBleHRlbmRzIEJhc2VOb2RlPihcclxuICBsaXN0OiBUW10sXHJcbiAgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFRyZWVOb2RlPFQ+PigpLFxyXG4pOiBNYXA8c3RyaW5nLCBUcmVlTm9kZTxUPj4ge1xyXG4gIGxpc3QuZm9yRWFjaChyb3cgPT4gbWFwLnNldChyb3cuaWQsIG5ldyBUcmVlTm9kZShyb3cpKSk7XHJcblxyXG4gIHJldHVybiBtYXA7XHJcbn1cclxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './lib/tree.module';
|
|
2
|
-
export * from './lib/components/tree.component';
|
|
3
|
-
export * from './lib/utils/nz-tree-adapter';
|
|
4
|
-
export * from './lib/templates/tree-node-template.directive';
|
|
5
|
-
export * from './lib/templates/expanded-icon-template.directive';
|
|
6
|
-
export * from './lib/disable-tree-style-loading.token';
|
|
1
|
+
export * from './lib/tree.module';
|
|
2
|
+
export * from './lib/components/tree.component';
|
|
3
|
+
export * from './lib/utils/nz-tree-adapter';
|
|
4
|
+
export * from './lib/templates/tree-node-template.directive';
|
|
5
|
+
export * from './lib/templates/expanded-icon-template.directive';
|
|
6
|
+
export * from './lib/disable-tree-style-loading.token';
|
|
7
7
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdHJlZS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3RyZWUubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90cmVlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL256LXRyZWUtYWRhcHRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RlbXBsYXRlcy90cmVlLW5vZGUtdGVtcGxhdGUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGVtcGxhdGVzL2V4cGFuZGVkLWljb24tdGVtcGxhdGUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlzYWJsZS10cmVlLXN0eWxlLWxvYWRpbmcudG9rZW4nO1xyXG4iXX0=
|
|
@@ -2,87 +2,86 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, ViewChild, NgModule } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
|
|
5
|
-
let Chart;
|
|
6
|
-
class ChartComponent {
|
|
7
|
-
constructor(el, cdr) {
|
|
8
|
-
this.el = el;
|
|
9
|
-
this.cdr = cdr;
|
|
10
|
-
this.data = {};
|
|
11
|
-
this.options = {};
|
|
12
|
-
this.plugins = [];
|
|
13
|
-
this.responsive = true;
|
|
14
|
-
this.dataSelect = new EventEmitter();
|
|
15
|
-
this.initialized = new EventEmitter();
|
|
16
|
-
this.initChart = () => {
|
|
17
|
-
const opts = this.options || {};
|
|
18
|
-
opts.responsive = this.responsive;
|
|
19
|
-
// allows chart to resize in responsive mode
|
|
20
|
-
if (opts.responsive && (this.height || this.width)) {
|
|
21
|
-
opts.maintainAspectRatio = false;
|
|
22
|
-
}
|
|
23
|
-
this.chart = new Chart(this.canvas.nativeElement, {
|
|
24
|
-
type: this.type,
|
|
25
|
-
data: this.data,
|
|
26
|
-
options: this.options,
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
this.getCanvas = () => {
|
|
30
|
-
return this.canvas.nativeElement;
|
|
31
|
-
};
|
|
32
|
-
this.getBase64Image = () => {
|
|
33
|
-
return this.chart.toBase64Image();
|
|
34
|
-
};
|
|
35
|
-
this.generateLegend = () => {
|
|
36
|
-
if (this.chart) {
|
|
37
|
-
return this.chart.generateLegend();
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
this.refresh = () => {
|
|
41
|
-
if (this.chart) {
|
|
42
|
-
this.chart.update();
|
|
43
|
-
this.cdr.detectChanges();
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
this.reinit = () => {
|
|
47
|
-
if (!this.chart)
|
|
48
|
-
return;
|
|
49
|
-
this.chart.destroy();
|
|
50
|
-
this.initChart();
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
ngAfterViewInit() {
|
|
54
|
-
import('chart.js/auto').then(module => {
|
|
55
|
-
Chart = module.default;
|
|
56
|
-
this.initChart();
|
|
57
|
-
this.initialized.emit(true);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
onCanvasClick(event) {
|
|
61
|
-
if (this.chart) {
|
|
62
|
-
const element = this.chart.getElementsAtEventForMode(event, 'nearest', { intersect: true }, false);
|
|
63
|
-
const dataset = this.chart.getElementsAtEventForMode(event, 'dataset', { intersect: true }, false);
|
|
64
|
-
if (element && element[0] && dataset) {
|
|
65
|
-
this.dataSelect.emit({ originalEvent: event, element: element[0], dataset: dataset });
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
ngOnDestroy() {
|
|
70
|
-
if (this.chart) {
|
|
71
|
-
this.chart.destroy();
|
|
72
|
-
this.chart = null;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
ngOnChanges(changes) {
|
|
76
|
-
if (!this.chart)
|
|
77
|
-
return;
|
|
78
|
-
if (changes.data?.currentValue || changes.options?.currentValue) {
|
|
79
|
-
this.chart.destroy();
|
|
80
|
-
this.initChart();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
ChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ChartComponent, selector: "abp-chart", inputs: { type: "type", data: "data", options: "options", plugins: "plugins", width: "width", height: "height", responsive: "responsive" }, outputs: { dataSelect: "dataSelect", initialized: "initialized" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }], exportAs: ["abpChart"], usesOnChanges: true, ngImport: i0, template: `
|
|
5
|
+
let Chart;
|
|
6
|
+
class ChartComponent {
|
|
7
|
+
constructor(el, cdr) {
|
|
8
|
+
this.el = el;
|
|
9
|
+
this.cdr = cdr;
|
|
10
|
+
this.data = {};
|
|
11
|
+
this.options = {};
|
|
12
|
+
this.plugins = [];
|
|
13
|
+
this.responsive = true;
|
|
14
|
+
this.dataSelect = new EventEmitter();
|
|
15
|
+
this.initialized = new EventEmitter();
|
|
16
|
+
this.initChart = () => {
|
|
17
|
+
const opts = this.options || {};
|
|
18
|
+
opts.responsive = this.responsive;
|
|
19
|
+
// allows chart to resize in responsive mode
|
|
20
|
+
if (opts.responsive && (this.height || this.width)) {
|
|
21
|
+
opts.maintainAspectRatio = false;
|
|
22
|
+
}
|
|
23
|
+
this.chart = new Chart(this.canvas.nativeElement, {
|
|
24
|
+
type: this.type,
|
|
25
|
+
data: this.data,
|
|
26
|
+
options: this.options,
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
this.getCanvas = () => {
|
|
30
|
+
return this.canvas.nativeElement;
|
|
31
|
+
};
|
|
32
|
+
this.getBase64Image = () => {
|
|
33
|
+
return this.chart.toBase64Image();
|
|
34
|
+
};
|
|
35
|
+
this.generateLegend = () => {
|
|
36
|
+
if (this.chart) {
|
|
37
|
+
return this.chart.generateLegend();
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
this.refresh = () => {
|
|
41
|
+
if (this.chart) {
|
|
42
|
+
this.chart.update();
|
|
43
|
+
this.cdr.detectChanges();
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
this.reinit = () => {
|
|
47
|
+
if (!this.chart)
|
|
48
|
+
return;
|
|
49
|
+
this.chart.destroy();
|
|
50
|
+
this.initChart();
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
ngAfterViewInit() {
|
|
54
|
+
import('chart.js/auto').then(module => {
|
|
55
|
+
Chart = module.default;
|
|
56
|
+
this.initChart();
|
|
57
|
+
this.initialized.emit(true);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
onCanvasClick(event) {
|
|
61
|
+
if (this.chart) {
|
|
62
|
+
const element = this.chart.getElementsAtEventForMode(event, 'nearest', { intersect: true }, false);
|
|
63
|
+
const dataset = this.chart.getElementsAtEventForMode(event, 'dataset', { intersect: true }, false);
|
|
64
|
+
if (element && element[0] && dataset) {
|
|
65
|
+
this.dataSelect.emit({ originalEvent: event, element: element[0], dataset: dataset });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
ngOnDestroy() {
|
|
70
|
+
if (this.chart) {
|
|
71
|
+
this.chart.destroy();
|
|
72
|
+
this.chart = null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
ngOnChanges(changes) {
|
|
76
|
+
if (!this.chart)
|
|
77
|
+
return;
|
|
78
|
+
if (changes.data?.currentValue || changes.options?.currentValue) {
|
|
79
|
+
this.chart.destroy();
|
|
80
|
+
this.initChart();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ChartComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
84
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ChartComponent, selector: "abp-chart", inputs: { type: "type", data: "data", options: "options", plugins: "plugins", width: "width", height: "height", responsive: "responsive" }, outputs: { dataSelect: "dataSelect", initialized: "initialized" }, viewQueries: [{ propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true }], exportAs: ["abpChart"], usesOnChanges: true, ngImport: i0, template: `
|
|
86
85
|
<div
|
|
87
86
|
style="position:relative"
|
|
88
87
|
[style.width]="responsive && !width ? null : width"
|
|
@@ -95,11 +94,12 @@ ChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version
|
|
|
95
94
|
(click)="onCanvasClick($event)"
|
|
96
95
|
></canvas>
|
|
97
96
|
</div>
|
|
98
|
-
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
97
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
98
|
+
}
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ChartComponent, decorators: [{
|
|
100
|
+
type: Component,
|
|
101
|
+
args: [{
|
|
102
|
+
selector: 'abp-chart',
|
|
103
103
|
template: `
|
|
104
104
|
<div
|
|
105
105
|
style="position:relative"
|
|
@@ -113,61 +113,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
113
113
|
(click)="onCanvasClick($event)"
|
|
114
114
|
></canvas>
|
|
115
115
|
</div>
|
|
116
|
-
`,
|
|
117
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
118
|
-
exportAs: 'abpChart',
|
|
119
|
-
}]
|
|
120
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { type: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], data: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}], options: [{
|
|
125
|
-
type: Input
|
|
126
|
-
}], plugins: [{
|
|
127
|
-
type: Input
|
|
128
|
-
}], width: [{
|
|
129
|
-
type: Input
|
|
130
|
-
}], height: [{
|
|
131
|
-
type: Input
|
|
132
|
-
}], responsive: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}], dataSelect: [{
|
|
135
|
-
type: Output
|
|
136
|
-
}], initialized: [{
|
|
137
|
-
type: Output
|
|
138
|
-
}], canvas: [{
|
|
139
|
-
type: ViewChild,
|
|
140
|
-
args: ['canvas']
|
|
116
|
+
`,
|
|
117
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
118
|
+
exportAs: 'abpChart',
|
|
119
|
+
}]
|
|
120
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { type: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], data: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], options: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], plugins: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], width: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}], height: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], responsive: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], dataSelect: [{
|
|
135
|
+
type: Output
|
|
136
|
+
}], initialized: [{
|
|
137
|
+
type: Output
|
|
138
|
+
}], canvas: [{
|
|
139
|
+
type: ViewChild,
|
|
140
|
+
args: ['canvas']
|
|
141
141
|
}] } });
|
|
142
142
|
|
|
143
|
-
class ChartModule {
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
149
|
-
type: NgModule,
|
|
150
|
-
args: [{
|
|
151
|
-
imports: [CommonModule],
|
|
152
|
-
exports: [ChartComponent],
|
|
153
|
-
declarations: [ChartComponent],
|
|
154
|
-
providers: [],
|
|
155
|
-
}]
|
|
143
|
+
class ChartModule {
|
|
144
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
145
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ChartModule, declarations: [ChartComponent], imports: [CommonModule], exports: [ChartComponent] }); }
|
|
146
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ChartModule, imports: [CommonModule] }); }
|
|
147
|
+
}
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ChartModule, decorators: [{
|
|
149
|
+
type: NgModule,
|
|
150
|
+
args: [{
|
|
151
|
+
imports: [CommonModule],
|
|
152
|
+
exports: [ChartComponent],
|
|
153
|
+
declarations: [ChartComponent],
|
|
154
|
+
providers: [],
|
|
155
|
+
}]
|
|
156
156
|
}] });
|
|
157
157
|
|
|
158
|
-
function getRandomBackgroundColor(count) {
|
|
159
|
-
const colors = [];
|
|
160
|
-
for (let i = 0; i < count; i++) {
|
|
161
|
-
const r = ((i + 5) * (i + 5) * 474) % 255;
|
|
162
|
-
const g = ((i + 5) * (i + 5) * 1600) % 255;
|
|
163
|
-
const b = ((i + 5) * (i + 5) * 84065) % 255;
|
|
164
|
-
colors.push('rgba(' + r + ', ' + g + ', ' + b + ', 0.7)');
|
|
165
|
-
}
|
|
166
|
-
return colors;
|
|
158
|
+
function getRandomBackgroundColor(count) {
|
|
159
|
+
const colors = [];
|
|
160
|
+
for (let i = 0; i < count; i++) {
|
|
161
|
+
const r = ((i + 5) * (i + 5) * 474) % 255;
|
|
162
|
+
const g = ((i + 5) * (i + 5) * 1600) % 255;
|
|
163
|
+
const b = ((i + 5) * (i + 5) * 84065) % 255;
|
|
164
|
+
colors.push('rgba(' + r + ', ' + g + ', ' + b + ', 0.7)');
|
|
165
|
+
}
|
|
166
|
+
return colors;
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
-
/**
|
|
170
|
-
* Generated bundle index. Do not edit.
|
|
169
|
+
/**
|
|
170
|
+
* Generated bundle index. Do not edit.
|
|
171
171
|
*/
|
|
172
172
|
|
|
173
173
|
export { ChartComponent, ChartModule, getRandomBackgroundColor };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abp-ng.components-chart.js.mjs","sources":["../../../../packages/components/chart.js/src/chart.component.ts","../../../../packages/components/chart.js/src/chart.module.ts","../../../../packages/components/chart.js/src/widget-utils.ts","../../../../packages/components/chart.js/src/abp-ng.components-chart.js.ts"],"sourcesContent":["import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nlet Chart: any;\r\n\r\n@Component({\r\n selector: 'abp-chart',\r\n template: `\r\n <div\r\n style=\"position:relative\"\r\n [style.width]=\"responsive && !width ? null : width\"\r\n [style.height]=\"responsive && !height ? null : height\"\r\n >\r\n <canvas\r\n #canvas\r\n [attr.width]=\"responsive && !width ? null : width\"\r\n [attr.height]=\"responsive && !height ? null : height\"\r\n (click)=\"onCanvasClick($event)\"\r\n ></canvas>\r\n </div>\r\n `,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n exportAs: 'abpChart',\r\n})\r\nexport class ChartComponent implements AfterViewInit, OnDestroy, OnChanges {\r\n @Input() type!: string;\r\n\r\n @Input() data: any = {};\r\n\r\n @Input() options: any = {};\r\n\r\n @Input() plugins: any[] = [];\r\n\r\n @Input() width?: string;\r\n\r\n @Input() height?: string;\r\n\r\n @Input() responsive = true;\r\n\r\n @Output() dataSelect = new EventEmitter();\r\n\r\n @Output() initialized = new EventEmitter<boolean>();\r\n\r\n @ViewChild('canvas') canvas!: ElementRef<HTMLCanvasElement>;\r\n\r\n chart: any;\r\n\r\n constructor(public el: ElementRef, private cdr: ChangeDetectorRef) {}\r\n\r\n ngAfterViewInit() {\r\n import('chart.js/auto').then(module => {\r\n Chart = module.default;\r\n this.initChart();\r\n this.initialized.emit(true);\r\n });\r\n }\r\n\r\n onCanvasClick(event: MouseEvent) {\r\n if (this.chart) {\r\n const element = this.chart.getElementsAtEventForMode(\r\n event,\r\n 'nearest',\r\n { intersect: true },\r\n false,\r\n );\r\n const dataset = this.chart.getElementsAtEventForMode(\r\n event,\r\n 'dataset',\r\n { intersect: true },\r\n false,\r\n );\r\n\r\n if (element && element[0] && dataset) {\r\n this.dataSelect.emit({ originalEvent: event, element: element[0], dataset: dataset });\r\n }\r\n }\r\n }\r\n\r\n private initChart = () => {\r\n const opts = this.options || {};\r\n opts.responsive = this.responsive;\r\n\r\n // allows chart to resize in responsive mode\r\n if (opts.responsive && (this.height || this.width)) {\r\n opts.maintainAspectRatio = false;\r\n }\r\n\r\n this.chart = new Chart(this.canvas.nativeElement, {\r\n type: this.type as any,\r\n data: this.data,\r\n options: this.options,\r\n });\r\n };\r\n\r\n getCanvas = () => {\r\n return this.canvas.nativeElement;\r\n };\r\n\r\n getBase64Image = () => {\r\n return this.chart.toBase64Image();\r\n };\r\n\r\n generateLegend = () => {\r\n if (this.chart) {\r\n return this.chart.generateLegend();\r\n }\r\n };\r\n\r\n refresh = () => {\r\n if (this.chart) {\r\n this.chart.update();\r\n this.cdr.detectChanges();\r\n }\r\n };\r\n\r\n reinit = () => {\r\n if (!this.chart) return;\r\n this.chart.destroy();\r\n this.initChart();\r\n };\r\n\r\n ngOnDestroy() {\r\n if (this.chart) {\r\n this.chart.destroy();\r\n this.chart = null;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (!this.chart) return;\r\n\r\n if (changes.data?.currentValue || changes.options?.currentValue) {\r\n this.chart.destroy();\r\n this.initChart();\r\n }\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { ChartComponent } from './chart.component';\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n exports: [ChartComponent],\r\n declarations: [ChartComponent],\r\n providers: [],\r\n})\r\nexport class ChartModule {}\r\n","export function getRandomBackgroundColor(count: number) {\r\n const colors = [];\r\n\r\n for (let i = 0; i < count; i++) {\r\n const r = ((i + 5) * (i + 5) * 474) % 255;\r\n const g = ((i + 5) * (i + 5) * 1600) % 255;\r\n const b = ((i + 5) * (i + 5) * 84065) % 255;\r\n colors.push('rgba(' + r + ', ' + g + ', ' + b + ', 0.7)');\r\n }\r\n\r\n return colors;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAeA,IAAI,KAAU,CAAC;AAEf,MAmBa,cAAc,CAAA;IAuBzB,WAAmB,CAAA,EAAc,EAAU,GAAsB,EAAA;QAA9C,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAAU,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QApBxD,IAAI,CAAA,IAAA,GAAQ,EAAE,CAAC;QAEf,IAAO,CAAA,OAAA,GAAQ,EAAE,CAAC;QAElB,IAAO,CAAA,OAAA,GAAU,EAAE,CAAC;QAMpB,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;AAEjB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;AAEhC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAW,CAAC;QAqC5C,IAAS,CAAA,SAAA,GAAG,MAAK;AACvB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;AAChC,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;;AAGlC,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;AAClD,gBAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;AAClC,aAAA;YAED,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;gBAChD,IAAI,EAAE,IAAI,CAAC,IAAW;gBACtB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;AACtB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEF,IAAS,CAAA,SAAA,GAAG,MAAK;AACf,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;AACnC,SAAC,CAAC;QAEF,IAAc,CAAA,cAAA,GAAG,MAAK;AACpB,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;AACpC,SAAC,CAAC;QAEF,IAAc,CAAA,cAAA,GAAG,MAAK;YACpB,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;AACpC,aAAA;AACH,SAAC,CAAC;QAEF,IAAO,CAAA,OAAA,GAAG,MAAK;YACb,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AACpB,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC1B,aAAA;AACH,SAAC,CAAC;QAEF,IAAM,CAAA,MAAA,GAAG,MAAK;YACZ,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO;AACxB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,EAAE,CAAC;AACnB,SAAC,CAAC;KAxEmE;IAErE,eAAe,GAAA;QACb,OAAO,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,IAAG;AACpC,YAAA,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,aAAa,CAAC,KAAiB,EAAA;QAC7B,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAClD,KAAK,EACL,SAAS,EACT,EAAE,SAAS,EAAE,IAAI,EAAE,EACnB,KAAK,CACN,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAClD,KAAK,EACL,SAAS,EACT,EAAE,SAAS,EAAE,IAAI,EAAE,EACnB,KAAK,CACN,CAAC;YAEF,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE;gBACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AACvF,aAAA;AACF,SAAA;KACF;IA6CD,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;AACrB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACnB,SAAA;KACF;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAExB,IAAI,OAAO,CAAC,IAAI,EAAE,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE;AAC/D,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,EAAE,CAAC;AAClB,SAAA;KACF;8GA/GU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAjBf,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;AAaT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAIU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAnB1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;AAaT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,UAAU;AACrB,iBAAA,CAAA;iIAEU,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAEG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAEc,MAAM,EAAA,CAAA;sBAA1B,SAAS;uBAAC,QAAQ,CAAA;;;ACnDrB,MAMa,WAAW,CAAA;8GAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,EAHP,YAAA,EAAA,CAAA,cAAc,CAFnB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,cAAc,CAAA,EAAA,CAAA,CAAA,EAAA;AAIb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YALZ,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAKX,WAAW,EAAA,UAAA,EAAA,CAAA;kBANvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,cAAc,CAAC;oBACzB,YAAY,EAAE,CAAC,cAAc,CAAC;AAC9B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACTK,SAAU,wBAAwB,CAAC,KAAa,EAAA;IACpD,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;AAC9B,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC;AAC1C,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC;AAC3C,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC;AAC5C,QAAA,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;AAC3D,KAAA;AAED,IAAA,OAAO,MAAM,CAAC;AAChB;;ACXA;;AAEG;;;;"}
|