@abp/ng.components 5.0.0-rc.1 → 5.0.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.
Files changed (49) hide show
  1. package/abp-ng.components.d.ts +5 -5
  2. package/bundles/abp-ng.components-chart.js.umd.js +141 -141
  3. package/bundles/abp-ng.components-page.umd.js +542 -542
  4. package/bundles/abp-ng.components-tree.umd.js +557 -557
  5. package/bundles/abp-ng.components.umd.js +2 -2
  6. package/chart.js/abp-ng.components-chart.js.d.ts +5 -5
  7. package/chart.js/chart.component.d.ts +30 -30
  8. package/chart.js/chart.module.d.ts +8 -8
  9. package/chart.js/public-api.d.ts +3 -3
  10. package/chart.js/widget-utils.d.ts +1 -1
  11. package/esm2015/abp-ng.components.js +4 -4
  12. package/esm2015/chart.js/abp-ng.components-chart.js.js +4 -4
  13. package/esm2015/chart.js/chart.component.js +114 -114
  14. package/esm2015/chart.js/chart.module.js +18 -18
  15. package/esm2015/chart.js/public-api.js +3 -3
  16. package/esm2015/chart.js/widget-utils.js +10 -10
  17. package/esm2015/page/abp-ng.components-page.js +4 -4
  18. package/esm2015/page/page-part.directive.js +78 -78
  19. package/esm2015/page/page-parts.component.js +44 -44
  20. package/esm2015/page/page.component.js +60 -60
  21. package/esm2015/page/page.module.js +37 -37
  22. package/esm2015/page/public-api.js +4 -4
  23. package/esm2015/public-api.js +4 -4
  24. package/esm2015/tree/abp-ng.components-tree.js +4 -4
  25. package/esm2015/tree/lib/components/tree.component.js +100 -100
  26. package/esm2015/tree/lib/templates/expanded-icon-template.directive.js +15 -15
  27. package/esm2015/tree/lib/templates/tree-node-template.directive.js +15 -15
  28. package/esm2015/tree/lib/tree.module.js +24 -24
  29. package/esm2015/tree/lib/utils/nz-tree-adapter.js +91 -91
  30. package/esm2015/tree/public-api.js +5 -5
  31. package/fesm2015/abp-ng.components-chart.js.js +135 -135
  32. package/fesm2015/abp-ng.components-page.js +196 -196
  33. package/fesm2015/abp-ng.components-tree.js +219 -219
  34. package/fesm2015/abp-ng.components.js +4 -4
  35. package/package.json +4 -4
  36. package/page/abp-ng.components-page.d.ts +5 -5
  37. package/page/page-part.directive.d.ts +31 -31
  38. package/page/page-parts.component.d.ts +18 -18
  39. package/page/page.component.d.ts +21 -21
  40. package/page/page.module.d.ts +13 -13
  41. package/page/public-api.d.ts +4 -4
  42. package/public-api.d.ts +1 -1
  43. package/tree/abp-ng.components-tree.d.ts +5 -5
  44. package/tree/lib/components/tree.component.d.ts +39 -39
  45. package/tree/lib/templates/expanded-icon-template.directive.d.ts +8 -8
  46. package/tree/lib/templates/tree-node-template.directive.d.ts +8 -8
  47. package/tree/lib/tree.module.d.ts +13 -13
  48. package/tree/lib/utils/nz-tree-adapter.d.ts +39 -39
  49. package/tree/public-api.d.ts +5 -5
@@ -11,235 +11,235 @@ import { NzTreeModule } from 'ng-zorro-antd/tree';
11
11
  import { of } from 'rxjs';
12
12
  import * as i3 from '@angular/common';
13
13
 
14
- class TreeNodeTemplateDirective {
15
- constructor(template) {
16
- this.template = template;
17
- }
18
- }
19
- TreeNodeTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeNodeTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
20
- TreeNodeTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: TreeNodeTemplateDirective, selector: "[abpTreeNodeTemplate],[abp-tree-node-template]", ngImport: i0 });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeNodeTemplateDirective, decorators: [{
22
- type: Directive,
23
- args: [{
24
- selector: '[abpTreeNodeTemplate],[abp-tree-node-template]',
25
- }]
14
+ class TreeNodeTemplateDirective {
15
+ constructor(template) {
16
+ this.template = template;
17
+ }
18
+ }
19
+ TreeNodeTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeNodeTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
20
+ TreeNodeTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: TreeNodeTemplateDirective, selector: "[abpTreeNodeTemplate],[abp-tree-node-template]", ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeNodeTemplateDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[abpTreeNodeTemplate],[abp-tree-node-template]',
25
+ }]
26
26
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
27
27
 
28
- class ExpandedIconTemplateDirective {
29
- constructor(template) {
30
- this.template = template;
31
- }
32
- }
33
- ExpandedIconTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExpandedIconTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
34
- ExpandedIconTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ExpandedIconTemplateDirective, selector: "[abpTreeExpandedIconTemplate],[abp-tree-expanded-icon-template]", ngImport: i0 });
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExpandedIconTemplateDirective, decorators: [{
36
- type: Directive,
37
- args: [{
38
- selector: '[abpTreeExpandedIconTemplate],[abp-tree-expanded-icon-template]',
39
- }]
28
+ class ExpandedIconTemplateDirective {
29
+ constructor(template) {
30
+ this.template = template;
31
+ }
32
+ }
33
+ ExpandedIconTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExpandedIconTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
34
+ ExpandedIconTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ExpandedIconTemplateDirective, selector: "[abpTreeExpandedIconTemplate],[abp-tree-expanded-icon-template]", ngImport: i0 });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ExpandedIconTemplateDirective, decorators: [{
36
+ type: Directive,
37
+ args: [{
38
+ selector: '[abpTreeExpandedIconTemplate],[abp-tree-expanded-icon-template]',
39
+ }]
40
40
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
41
41
 
42
- class TreeComponent {
43
- constructor() {
44
- this.dropdowns = {};
45
- this.checkedKeysChange = new EventEmitter();
46
- this.expandedKeysChange = new EventEmitter();
47
- this.selectedNodeChange = new EventEmitter();
48
- this.dropOver = new EventEmitter();
49
- this.noAnimation = true;
50
- this.checkedKeys = [];
51
- this.nodes = [];
52
- this.expandedKeys = [];
53
- this.isNodeSelected = node => { var _a; return ((_a = this.selectedNode) === null || _a === void 0 ? void 0 : _a.id) === node.key; };
54
- this.beforeDrop = (event) => {
55
- this.dropPosition = event.pos;
56
- return of(false);
57
- };
58
- }
59
- onSelectedNodeChange(node) {
60
- this.selectedNode = node.origin.entity;
61
- this.selectedNodeChange.emit(node.origin.entity);
62
- }
63
- onCheckboxChange(event) {
64
- this.checkedKeys = [...event.keys];
65
- this.checkedKeysChange.emit(event.keys);
66
- }
67
- onExpandedKeysChange(event) {
68
- this.expandedKeys = [...event.keys];
69
- this.expandedKeysChange.emit(event.keys);
70
- }
71
- onDrop(event) {
72
- event.event.stopPropagation();
73
- event.event.preventDefault();
74
- event.pos = this.dropPosition;
75
- this.dropOver.emit(event);
76
- }
77
- initDropdown(key, dropdown) {
78
- this.dropdowns[key] = dropdown;
79
- }
80
- }
81
- TreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
- TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: TreeComponent, selector: "abp-tree", inputs: { noAnimation: "noAnimation", draggable: "draggable", checkable: "checkable", checkStrictly: "checkStrictly", checkedKeys: "checkedKeys", nodes: "nodes", expandedKeys: "expandedKeys", selectedNode: "selectedNode", isNodeSelected: "isNodeSelected", beforeDrop: "beforeDrop" }, outputs: { checkedKeysChange: "checkedKeysChange", expandedKeysChange: "expandedKeysChange", selectedNodeChange: "selectedNodeChange", dropOver: "dropOver" }, queries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true }, { propertyName: "customNodeTemplate", first: true, predicate: TreeNodeTemplateDirective, descendants: true }, { propertyName: "expandedIconTemplate", first: true, predicate: ExpandedIconTemplateDirective, descendants: true }], ngImport: i0, template: "<nz-tree\n [nzBeforeDrop]=\"beforeDrop\"\n [nzDraggable]=\"draggable\"\n [nzCheckStrictly]=\"checkStrictly\"\n [nzCheckable]=\"checkable\"\n [nzCheckedKeys]=\"checkedKeys\"\n [nzData]=\"nodes\"\n [nzTreeTemplate]=\"treeTemplate\"\n [nzExpandedKeys]=\"expandedKeys\"\n [nzExpandedIcon]=\"expandedIconTemplate?.template || defaultIconTemplate\"\n (nzExpandChange)=\"onExpandedKeysChange($event)\"\n (nzCheckBoxChange)=\"onCheckboxChange($event)\"\n (nzOnDrop)=\"onDrop($event)\"\n [nzNoAnimation]=\"noAnimation\"\n (nzContextMenu)=\"dropdowns[$event.node?.key]?.toggle()\"\n></nz-tree>\n<ng-template #treeTemplate let-node>\n <div\n class=\"node-wrapper\"\n [class.selected]=\"isNodeSelected(node)\"\n [title]=\"node.title\"\n (click)=\"onSelectedNodeChange(node)\"\n >\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $implicit: node }\"></ng-container>\n\n <ng-template #nodeTemplate let-node>\n <div class=\"d-inline-block\">\n <ng-container\n *ngTemplateOutlet=\"\n customNodeTemplate ? customNodeTemplate?.template : defaultNodeTemplate;\n context: { $implicit: node }\n \"\n ></ng-container>\n </div>\n\n <div\n #dropdown=\"ngbDropdown\"\n *ngIf=\"menu\"\n class=\"d-inline-block ms-1\"\n ngbDropdown\n placement=\"bottom\"\n container=\"body\"\n (abpInit)=\"initDropdown(node.key, dropdown)\"\n >\n <i\n class=\"fas fa-caret-down text-muted\"\n ngbDropdownToggle\n [class.dropdown-toggle]=\"false\"\n ></i>\n <div ngbDropdownMenu>\n <ng-template *ngTemplateOutlet=\"menu; context: { $implicit: node }\"></ng-template>\n </div>\n </div>\n </ng-template>\n\n <ng-template #defaultNodeTemplate let-node>\n <span>{{ node.title }}</span>\n </ng-template>\n </div>\n</ng-template>\n\n<ng-template #defaultIconTemplate let-node let-origin=\"origin\">\n <i style=\"line-height: 28px\" aria-hidden=\"true\">\n <ng-container *ngTemplateOutlet=\"node.isExpanded ? minusIcon : plusIcon\"></ng-container\n ></i>\n</ng-template>\n\n<ng-template #minusIcon>\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <path\n d=\"M11.5 0c6.347 0 11.5 5.153 11.5 11.5s-5.153 11.5-11.5 11.5-11.5-5.153-11.5-11.5 5.153-11.5 11.5-11.5zm0 1c5.795 0 10.5 4.705 10.5 10.5s-4.705 10.5-10.5 10.5-10.5-4.705-10.5-10.5 4.705-10.5 10.5-10.5zm-6.5 10h13v1h-13v-1z\"\n />\n </svg>\n</ng-template>\n\n<ng-template #plusIcon>\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <path\n d=\"M11.5 0c6.347 0 11.5 5.153 11.5 11.5s-5.153 11.5-11.5 11.5-11.5-5.153-11.5-11.5 5.153-11.5 11.5-11.5zm0 1c5.795 0 10.5 4.705 10.5 10.5s-4.705 10.5-10.5 10.5-10.5-4.705-10.5-10.5 4.705-10.5 10.5-10.5zm.5 10h6v1h-6v6h-1v-6h-6v-1h6v-6h1v6z\"\n />\n </svg>\n</ng-template>\n", styles: [".ant-tree-checkbox,.ant-tree-checkbox-wrapper{font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:\"tnum\",\"tnum\"}@-webkit-keyframes antCheckboxEffect{0%{transform:scale(1);opacity:.5}to{transform:scale(1.6);opacity:0}}@keyframes antCheckboxEffect{0%{transform:scale(1);opacity:.5}to{transform:scale(1.6);opacity:0}}.ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line:before{top:auto!important;bottom:auto!important;height:14px!important}.ant-tree.ant-tree-directory .ant-tree-treenode{position:relative}.ant-tree.ant-tree-directory .ant-tree-treenode:before{position:absolute;top:0;right:0;bottom:4px;left:0;transition:background-color .3s;content:\"\";pointer-events:none}.ant-tree.ant-tree-directory .ant-tree-treenode:hover:before{background:#f5f5f5}.ant-tree.ant-tree-directory .ant-tree-treenode>*{z-index:1}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-switcher{transition:color .3s}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper{border-radius:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover{background:0 0}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected{color:#fff;background:0 0}.ant-tree.ant-tree-directory .ant-tree-treenode-selected:before,.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover:before{background:#1890ff}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher{color:#fff}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper{color:#fff;background:0 0}.ant-tree-checkbox{box-sizing:border-box;padding:0;color:#000000d9;position:relative;line-height:1;white-space:nowrap;outline:0;cursor:pointer}.ant-tree-checkbox-input:focus+.ant-tree-checkbox-inner,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner,.ant-tree-checkbox:hover .ant-tree-checkbox-inner{border-color:#1890ff}.ant-tree-checkbox-checked:after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:2px;visibility:hidden;-webkit-animation:antCheckboxEffect .36s ease-in-out;animation:antCheckboxEffect .36s ease-in-out;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards;content:\"\"}.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox:after,.ant-tree-checkbox:hover:after{visibility:visible}.ant-tree-checkbox-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-tree-checkbox-inner:after{position:absolute;top:50%;left:22%;display:table;width:5.71px;height:9.14px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:\" \"}.ant-tree-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-tree-checkbox-disabled,.ant-tree-checkbox-disabled .ant-tree-checkbox-input,.ant-tree-checkbox-disabled+span{cursor:not-allowed}.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:\" \"}.ant-tree-checkbox-checked .ant-tree-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after{border-color:#00000040;-webkit-animation-name:none;animation-name:none}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after{border-color:#f5f5f5;border-collapse:separate;-webkit-animation-name:none;animation-name:none}.ant-tree-checkbox-disabled+span{color:#00000040}.ant-tree-checkbox-disabled:hover:after,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-disabled:after{visibility:hidden}.ant-tree-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;color:#000000d9;display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-tree-checkbox-wrapper:after{display:inline-block;width:0;overflow:hidden;content:\"\\a0\"}.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-disabled{cursor:not-allowed}.ant-tree-checkbox-wrapper+.ant-tree-checkbox-wrapper{margin-left:8px}.ant-tree-checkbox+span{padding-right:8px;padding-left:8px}.ant-tree,.ant-tree-checkbox-group{box-sizing:border-box;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:\"tnum\",\"tnum\"}.ant-tree-checkbox-group{margin:0;display:inline-block}.ant-tree-checkbox-group-item{margin-right:8px}.ant-tree-checkbox-group-item:last-child{margin-right:0}.ant-tree-checkbox-group-item+.ant-tree-checkbox-group-item{margin-left:0}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner{background-color:#fff;border-color:#d9d9d9}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner:after{top:50%;left:50%;width:8px;height:8px;background-color:#1890ff;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:\" \"}.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after{background-color:#00000040;border-color:#00000040}.ant-tree{margin:0;background:#fff;border-radius:2px;transition:background-color .3s}.ant-tree-focused:not(:hover):not(.ant-tree-active-focused){background:#e6f7ff}.ant-tree-list-holder-inner{align-items:flex-start}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner{align-items:stretch}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper{flex:auto}.ant-tree .ant-tree-treenode{display:flex;align-items:flex-start;padding:0 0 4px;outline:0}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:#00000040;cursor:not-allowed}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover{background:0 0}.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper{background:#f5f5f5}.ant-tree .ant-tree-treenode:not(.ant-tree .ant-tree-treenode-disabled).filter-node .ant-tree-title{color:inherit;font-weight:500}.ant-tree-indent{align-self:stretch;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-tree-indent-unit{display:inline-block;width:24px}.ant-tree-switcher{position:relative;flex:none;align-self:stretch;width:24px;margin:0;line-height:24px;text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-tree-switcher .ant-select-tree-switcher-icon,.ant-tree-switcher .ant-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline}.ant-tree-switcher .ant-select-tree-switcher-icon svg,.ant-tree-switcher .ant-tree-switcher-icon svg{transition:transform .3s}.ant-tree-switcher-noop{cursor:default}.ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(-90deg)}.ant-tree-switcher-loading-icon{color:#1890ff}.ant-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%}.ant-tree-switcher-leaf-line:after,.ant-tree-switcher-leaf-line:before{position:absolute;margin-left:-1px;content:\" \"}.ant-tree-switcher-leaf-line:before{top:0;bottom:-4px;border-left:1px solid #d9d9d9}.ant-tree-switcher-leaf-line:after{width:10px;height:14px;border-bottom:1px solid #d9d9d9}.ant-tree-checkbox{top:auto;top:initial;margin:4px 8px 0 0}.ant-tree .ant-tree-node-content-wrapper{position:relative;z-index:auto;min-height:24px;margin:0;padding:0 4px;color:inherit;line-height:24px;background:0 0;border-radius:2px;cursor:pointer;transition:all .3s,border 0s,line-height 0s,box-shadow 0s}.ant-tree .ant-tree-node-content-wrapper:hover{background-color:#f5f5f5}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:#bae7ff}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;vertical-align:top}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle:empty,.ant-tree-show-line .ant-tree-indent-unit-end:before{display:none}.ant-tree-unselectable .ant-tree-node-content-wrapper:hover{background-color:transparent}.ant-tree-node-content-wrapper[draggable=true]{line-height:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#1890ff;border-radius:1px;pointer-events:none}.ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator:after{position:absolute;top:-3px;left:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #1890ff;border-radius:50%;content:\"\"}.ant-tree .ant-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px #1890ff}.ant-tree-show-line .ant-tree-indent-unit{position:relative;height:100%}.ant-tree-show-line .ant-tree-indent-unit:before{position:absolute;top:0;right:12px;bottom:-4px;border-right:1px solid #d9d9d9;content:\"\"}.ant-tree-show-line .ant-tree-switcher{background:#fff}.ant-tree-show-line .ant-tree-switcher-line-icon{vertical-align:-.225em}.ant-tree-rtl{direction:rtl}.ant-tree-rtl .ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator:after{right:-6px;left:unset}.ant-tree .ant-tree-treenode-rtl{direction:rtl}.ant-tree-rtl .ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(90deg)}.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit:before{right:auto;left:-13px;border-right:none;border-left:1px solid #d9d9d9}.ant-tree-rtl.ant-tree-checkbox,.ant-tree-select-dropdown-rtl .ant-select-tree-checkbox{margin:4px 0 0 8px}.font-highlight{color:#ff4d4f}.ant-tree-child-tree{overflow:hidden}nz-tree{display:block}\n", ".ant-tree{color:inherit}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:transparent}.ant-tree .ant-tree-switcher{line-height:17px}.ant-tree .ant-tree-node-content-wrapper{width:100%;padding:0}.ant-tree .node-wrapper{width:100%;position:relative;display:inline-block;margin:0;line-height:30px;text-decoration:none;vertical-align:top;border-radius:2px;cursor:pointer;padding:0 5px 0 8px;border:1px solid transparent}.ant-tree .ellipsis{position:absolute;right:8px;top:1px;cursor:pointer}\n"], components: [{ type: i1.NzTreeComponent, selector: "nz-tree", inputs: ["nzShowIcon", "nzHideUnMatched", "nzBlockNode", "nzExpandAll", "nzSelectMode", "nzCheckStrictly", "nzShowExpand", "nzShowLine", "nzCheckable", "nzAsyncData", "nzDraggable", "nzMultiple", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzData", "nzExpandedKeys", "nzSelectedKeys", "nzCheckedKeys", "nzSearchValue", "nzExpandedIcon", "nzTreeTemplate", "nzBeforeDrop", "nzSearchFunc"], outputs: ["nzExpandedKeysChange", "nzSelectedKeysChange", "nzCheckedKeysChange", "nzSearchValueChange", "nzClick", "nzDblClick", "nzContextMenu", "nzCheckBoxChange", "nzExpandChange", "nzOnDragStart", "nzOnDragEnter", "nzOnDragOver", "nzOnDragLeave", "nzOnDrop", "nzOnDragEnd"], exportAs: ["nzTree"] }], directives: [{ type: i2.NzNoAnimationDirective, selector: "[nzNoAnimation]", inputs: ["nzNoAnimation"], exportAs: ["nzNoAnimation"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["open", "placement", "container", "autoClose", "display", "dropdownClass"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { type: i5.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }], encapsulation: i0.ViewEncapsulation.None });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeComponent, decorators: [{
84
- type: Component,
85
- args: [{
86
- selector: 'abp-tree',
87
- templateUrl: 'tree.component.html',
88
- styleUrls: [
89
- '../../../../../../node_modules/ng-zorro-antd/tree/style/index.min.css',
90
- 'tree.component.scss',
91
- ],
92
- encapsulation: ViewEncapsulation.None,
93
- }]
94
- }], propDecorators: { menu: [{
95
- type: ContentChild,
96
- args: ['menu']
97
- }], customNodeTemplate: [{
98
- type: ContentChild,
99
- args: [TreeNodeTemplateDirective]
100
- }], expandedIconTemplate: [{
101
- type: ContentChild,
102
- args: [ExpandedIconTemplateDirective]
103
- }], checkedKeysChange: [{
104
- type: Output
105
- }], expandedKeysChange: [{
106
- type: Output
107
- }], selectedNodeChange: [{
108
- type: Output
109
- }], dropOver: [{
110
- type: Output
111
- }], noAnimation: [{
112
- type: Input
113
- }], draggable: [{
114
- type: Input
115
- }], checkable: [{
116
- type: Input
117
- }], checkStrictly: [{
118
- type: Input
119
- }], checkedKeys: [{
120
- type: Input
121
- }], nodes: [{
122
- type: Input
123
- }], expandedKeys: [{
124
- type: Input
125
- }], selectedNode: [{
126
- type: Input
127
- }], isNodeSelected: [{
128
- type: Input
129
- }], beforeDrop: [{
130
- type: Input
42
+ class TreeComponent {
43
+ constructor() {
44
+ this.dropdowns = {};
45
+ this.checkedKeysChange = new EventEmitter();
46
+ this.expandedKeysChange = new EventEmitter();
47
+ this.selectedNodeChange = new EventEmitter();
48
+ this.dropOver = new EventEmitter();
49
+ this.noAnimation = true;
50
+ this.checkedKeys = [];
51
+ this.nodes = [];
52
+ this.expandedKeys = [];
53
+ this.isNodeSelected = node => { var _a; return ((_a = this.selectedNode) === null || _a === void 0 ? void 0 : _a.id) === node.key; };
54
+ this.beforeDrop = (event) => {
55
+ this.dropPosition = event.pos;
56
+ return of(false);
57
+ };
58
+ }
59
+ onSelectedNodeChange(node) {
60
+ this.selectedNode = node.origin.entity;
61
+ this.selectedNodeChange.emit(node.origin.entity);
62
+ }
63
+ onCheckboxChange(event) {
64
+ this.checkedKeys = [...event.keys];
65
+ this.checkedKeysChange.emit(event.keys);
66
+ }
67
+ onExpandedKeysChange(event) {
68
+ this.expandedKeys = [...event.keys];
69
+ this.expandedKeysChange.emit(event.keys);
70
+ }
71
+ onDrop(event) {
72
+ event.event.stopPropagation();
73
+ event.event.preventDefault();
74
+ event.pos = this.dropPosition;
75
+ this.dropOver.emit(event);
76
+ }
77
+ initDropdown(key, dropdown) {
78
+ this.dropdowns[key] = dropdown;
79
+ }
80
+ }
81
+ TreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
+ TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: TreeComponent, selector: "abp-tree", inputs: { noAnimation: "noAnimation", draggable: "draggable", checkable: "checkable", checkStrictly: "checkStrictly", checkedKeys: "checkedKeys", nodes: "nodes", expandedKeys: "expandedKeys", selectedNode: "selectedNode", isNodeSelected: "isNodeSelected", beforeDrop: "beforeDrop" }, outputs: { checkedKeysChange: "checkedKeysChange", expandedKeysChange: "expandedKeysChange", selectedNodeChange: "selectedNodeChange", dropOver: "dropOver" }, queries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true }, { propertyName: "customNodeTemplate", first: true, predicate: TreeNodeTemplateDirective, descendants: true }, { propertyName: "expandedIconTemplate", first: true, predicate: ExpandedIconTemplateDirective, descendants: true }], ngImport: i0, template: "<nz-tree\n [nzBeforeDrop]=\"beforeDrop\"\n [nzDraggable]=\"draggable\"\n [nzCheckStrictly]=\"checkStrictly\"\n [nzCheckable]=\"checkable\"\n [nzCheckedKeys]=\"checkedKeys\"\n [nzData]=\"nodes\"\n [nzTreeTemplate]=\"treeTemplate\"\n [nzExpandedKeys]=\"expandedKeys\"\n [nzExpandedIcon]=\"expandedIconTemplate?.template || defaultIconTemplate\"\n (nzExpandChange)=\"onExpandedKeysChange($event)\"\n (nzCheckBoxChange)=\"onCheckboxChange($event)\"\n (nzOnDrop)=\"onDrop($event)\"\n [nzNoAnimation]=\"noAnimation\"\n (nzContextMenu)=\"dropdowns[$event.node?.key]?.toggle()\"\n></nz-tree>\n<ng-template #treeTemplate let-node>\n <div\n class=\"node-wrapper\"\n [class.selected]=\"isNodeSelected(node)\"\n [title]=\"node.title\"\n (click)=\"onSelectedNodeChange(node)\"\n >\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $implicit: node }\"></ng-container>\n\n <ng-template #nodeTemplate let-node>\n <div class=\"d-inline-block\">\n <ng-container\n *ngTemplateOutlet=\"\n customNodeTemplate ? customNodeTemplate?.template : defaultNodeTemplate;\n context: { $implicit: node }\n \"\n ></ng-container>\n </div>\n\n <div\n #dropdown=\"ngbDropdown\"\n *ngIf=\"menu\"\n class=\"d-inline-block ms-1\"\n ngbDropdown\n placement=\"bottom\"\n container=\"body\"\n (abpInit)=\"initDropdown(node.key, dropdown)\"\n >\n <i\n class=\"fas fa-caret-down text-muted\"\n ngbDropdownToggle\n [class.dropdown-toggle]=\"false\"\n ></i>\n <div ngbDropdownMenu>\n <ng-template *ngTemplateOutlet=\"menu; context: { $implicit: node }\"></ng-template>\n </div>\n </div>\n </ng-template>\n\n <ng-template #defaultNodeTemplate let-node>\n <span>{{ node.title }}</span>\n </ng-template>\n </div>\n</ng-template>\n\n<ng-template #defaultIconTemplate let-node let-origin=\"origin\">\n <i style=\"line-height: 28px\" aria-hidden=\"true\">\n <ng-container *ngTemplateOutlet=\"node.isExpanded ? minusIcon : plusIcon\"></ng-container\n ></i>\n</ng-template>\n\n<ng-template #minusIcon>\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <path\n d=\"M11.5 0c6.347 0 11.5 5.153 11.5 11.5s-5.153 11.5-11.5 11.5-11.5-5.153-11.5-11.5 5.153-11.5 11.5-11.5zm0 1c5.795 0 10.5 4.705 10.5 10.5s-4.705 10.5-10.5 10.5-10.5-4.705-10.5-10.5 4.705-10.5 10.5-10.5zm-6.5 10h13v1h-13v-1z\"\n />\n </svg>\n</ng-template>\n\n<ng-template #plusIcon>\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <path\n d=\"M11.5 0c6.347 0 11.5 5.153 11.5 11.5s-5.153 11.5-11.5 11.5-11.5-5.153-11.5-11.5 5.153-11.5 11.5-11.5zm0 1c5.795 0 10.5 4.705 10.5 10.5s-4.705 10.5-10.5 10.5-10.5-4.705-10.5-10.5 4.705-10.5 10.5-10.5zm.5 10h6v1h-6v6h-1v-6h-6v-1h6v-6h1v6z\"\n />\n </svg>\n</ng-template>\n", styles: [".ant-tree-checkbox,.ant-tree-checkbox-wrapper{font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:\"tnum\",\"tnum\"}@-webkit-keyframes antCheckboxEffect{0%{transform:scale(1);opacity:.5}to{transform:scale(1.6);opacity:0}}@keyframes antCheckboxEffect{0%{transform:scale(1);opacity:.5}to{transform:scale(1.6);opacity:0}}.ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line:before{top:auto!important;bottom:auto!important;height:14px!important}.ant-tree.ant-tree-directory .ant-tree-treenode{position:relative}.ant-tree.ant-tree-directory .ant-tree-treenode:before{position:absolute;top:0;right:0;bottom:4px;left:0;transition:background-color .3s;content:\"\";pointer-events:none}.ant-tree.ant-tree-directory .ant-tree-treenode:hover:before{background:#f5f5f5}.ant-tree.ant-tree-directory .ant-tree-treenode>*{z-index:1}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-switcher{transition:color .3s}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper{border-radius:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover{background:0 0}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected{color:#fff;background:0 0}.ant-tree.ant-tree-directory .ant-tree-treenode-selected:before,.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover:before{background:#1890ff}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher{color:#fff}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper{color:#fff;background:0 0}.ant-tree-checkbox{box-sizing:border-box;padding:0;color:#000000d9;position:relative;line-height:1;white-space:nowrap;outline:0;cursor:pointer}.ant-tree-checkbox-input:focus+.ant-tree-checkbox-inner,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner,.ant-tree-checkbox:hover .ant-tree-checkbox-inner{border-color:#1890ff}.ant-tree-checkbox-checked:after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:2px;visibility:hidden;-webkit-animation:antCheckboxEffect .36s ease-in-out;animation:antCheckboxEffect .36s ease-in-out;-webkit-animation-fill-mode:backwards;animation-fill-mode:backwards;content:\"\"}.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox:after,.ant-tree-checkbox:hover:after{visibility:visible}.ant-tree-checkbox-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-tree-checkbox-inner:after{position:absolute;top:50%;left:21.5%;display:table;width:5.71px;height:9.14px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:\" \"}.ant-tree-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-tree-checkbox-disabled,.ant-tree-checkbox-disabled .ant-tree-checkbox-input,.ant-tree-checkbox-disabled+span{cursor:not-allowed}.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:\" \"}.ant-tree-checkbox-checked .ant-tree-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after{border-color:#00000040;-webkit-animation-name:none;animation-name:none}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after{border-color:#f5f5f5;border-collapse:separate;-webkit-animation-name:none;animation-name:none}.ant-tree-checkbox-disabled+span{color:#00000040}.ant-tree-checkbox-disabled:hover:after,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-disabled:after{visibility:hidden}.ant-tree-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;color:#000000d9;display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-tree-checkbox-wrapper:after{display:inline-block;width:0;overflow:hidden;content:\"\\a0\"}.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-disabled{cursor:not-allowed}.ant-tree-checkbox-wrapper+.ant-tree-checkbox-wrapper{margin-left:8px}.ant-tree-checkbox+span{padding-right:8px;padding-left:8px}.ant-tree,.ant-tree-checkbox-group{box-sizing:border-box;padding:0;color:#000000d9;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:\"tnum\",\"tnum\"}.ant-tree-checkbox-group{margin:0;display:inline-block}.ant-tree-checkbox-group-item{margin-right:8px}.ant-tree-checkbox-group-item:last-child{margin-right:0}.ant-tree-checkbox-group-item+.ant-tree-checkbox-group-item{margin-left:0}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner{background-color:#fff;border-color:#d9d9d9}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner:after{top:50%;left:50%;width:8px;height:8px;background-color:#1890ff;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:\" \"}.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after{background-color:#00000040;border-color:#00000040}.ant-tree{margin:0;background:#fff;border-radius:2px;transition:background-color .3s}.ant-tree-focused:not(:hover):not(.ant-tree-active-focused){background:#e6f7ff}.ant-tree-list-holder-inner{align-items:flex-start}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner{align-items:stretch}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper{flex:auto}.ant-tree .ant-tree-treenode{display:flex;align-items:flex-start;padding:0 0 4px;outline:0}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:#00000040;cursor:not-allowed}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover{background:0 0}.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper{background:#f5f5f5}.ant-tree .ant-tree-treenode:not(.ant-tree .ant-tree-treenode-disabled).filter-node .ant-tree-title{color:inherit;font-weight:500}.ant-tree-indent{align-self:stretch;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-tree-indent-unit{display:inline-block;width:24px}.ant-tree-switcher{position:relative;flex:none;align-self:stretch;width:24px;margin:0;line-height:24px;text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-tree-switcher .ant-select-tree-switcher-icon,.ant-tree-switcher .ant-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline}.ant-tree-switcher .ant-select-tree-switcher-icon svg,.ant-tree-switcher .ant-tree-switcher-icon svg{transition:transform .3s}.ant-tree-switcher-noop{cursor:default}.ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(-90deg)}.ant-tree-switcher-loading-icon{color:#1890ff}.ant-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%}.ant-tree-switcher-leaf-line:after,.ant-tree-switcher-leaf-line:before{position:absolute;margin-left:-1px;content:\" \"}.ant-tree-switcher-leaf-line:before{top:0;bottom:-4px;border-left:1px solid #d9d9d9}.ant-tree-switcher-leaf-line:after{width:10px;height:14px;border-bottom:1px solid #d9d9d9}.ant-tree-checkbox{top:auto;top:initial;margin:4px 8px 0 0}.ant-tree .ant-tree-node-content-wrapper{position:relative;z-index:auto;min-height:24px;margin:0;padding:0 4px;color:inherit;line-height:24px;background:0 0;border-radius:2px;cursor:pointer;transition:all .3s,border 0s,line-height 0s,box-shadow 0s}.ant-tree .ant-tree-node-content-wrapper:hover{background-color:#f5f5f5}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:#bae7ff}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;vertical-align:top}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle:empty,.ant-tree-show-line .ant-tree-indent-unit-end:before{display:none}.ant-tree-unselectable .ant-tree-node-content-wrapper:hover{background-color:transparent}.ant-tree-node-content-wrapper[draggable=true]{line-height:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#1890ff;border-radius:1px;pointer-events:none}.ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator:after{position:absolute;top:-3px;left:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #1890ff;border-radius:50%;content:\"\"}.ant-tree .ant-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px #1890ff}.ant-tree-show-line .ant-tree-indent-unit{position:relative;height:100%}.ant-tree-show-line .ant-tree-indent-unit:before{position:absolute;top:0;right:12px;bottom:-4px;border-right:1px solid #d9d9d9;content:\"\"}.ant-tree-show-line .ant-tree-switcher{background:#fff}.ant-tree-show-line .ant-tree-switcher-line-icon{vertical-align:-.225em}.ant-tree-rtl{direction:rtl}.ant-tree-rtl .ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator:after{right:-6px;left:unset}.ant-tree .ant-tree-treenode-rtl{direction:rtl}.ant-tree-rtl .ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(90deg)}.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit:before{right:auto;left:-13px;border-right:none;border-left:1px solid #d9d9d9}.ant-tree-rtl.ant-tree-checkbox,.ant-tree-select-dropdown-rtl .ant-select-tree-checkbox{margin:4px 0 0 8px}.font-highlight{color:#ff4d4f}.ant-tree-child-tree{overflow:hidden}nz-tree{display:block}\n", ".ant-tree{color:inherit}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:transparent}.ant-tree .ant-tree-switcher{line-height:17px}.ant-tree .ant-tree-node-content-wrapper{width:100%;padding:0}.ant-tree .node-wrapper{width:100%;position:relative;display:inline-block;margin:0;line-height:30px;text-decoration:none;vertical-align:top;border-radius:2px;cursor:pointer;padding:0 5px 0 8px;border:1px solid transparent}.ant-tree .ellipsis{position:absolute;right:8px;top:1px;cursor:pointer}\n"], components: [{ type: i1.NzTreeComponent, selector: "nz-tree", inputs: ["nzShowIcon", "nzHideUnMatched", "nzBlockNode", "nzExpandAll", "nzSelectMode", "nzCheckStrictly", "nzShowExpand", "nzShowLine", "nzCheckable", "nzAsyncData", "nzDraggable", "nzMultiple", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzData", "nzExpandedKeys", "nzSelectedKeys", "nzCheckedKeys", "nzSearchValue", "nzExpandedIcon", "nzTreeTemplate", "nzBeforeDrop", "nzSearchFunc"], outputs: ["nzExpandedKeysChange", "nzSelectedKeysChange", "nzCheckedKeysChange", "nzSearchValueChange", "nzClick", "nzDblClick", "nzContextMenu", "nzCheckBoxChange", "nzExpandChange", "nzOnDragStart", "nzOnDragEnter", "nzOnDragOver", "nzOnDragLeave", "nzOnDrop", "nzOnDragEnd"], exportAs: ["nzTree"] }], directives: [{ type: i2.NzNoAnimationDirective, selector: "[nzNoAnimation]", inputs: ["nzNoAnimation"], exportAs: ["nzNoAnimation"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgbDropdown, selector: "[ngbDropdown]", inputs: ["open", "placement", "container", "autoClose", "display", "dropdownClass"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { type: i5.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { type: i4.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { type: i4.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }], encapsulation: i0.ViewEncapsulation.None });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeComponent, decorators: [{
84
+ type: Component,
85
+ args: [{
86
+ selector: 'abp-tree',
87
+ templateUrl: 'tree.component.html',
88
+ styleUrls: [
89
+ '../../../../../../node_modules/ng-zorro-antd/tree/style/index.min.css',
90
+ 'tree.component.scss',
91
+ ],
92
+ encapsulation: ViewEncapsulation.None,
93
+ }]
94
+ }], propDecorators: { menu: [{
95
+ type: ContentChild,
96
+ args: ['menu']
97
+ }], customNodeTemplate: [{
98
+ type: ContentChild,
99
+ args: [TreeNodeTemplateDirective]
100
+ }], expandedIconTemplate: [{
101
+ type: ContentChild,
102
+ args: [ExpandedIconTemplateDirective]
103
+ }], checkedKeysChange: [{
104
+ type: Output
105
+ }], expandedKeysChange: [{
106
+ type: Output
107
+ }], selectedNodeChange: [{
108
+ type: Output
109
+ }], dropOver: [{
110
+ type: Output
111
+ }], noAnimation: [{
112
+ type: Input
113
+ }], draggable: [{
114
+ type: Input
115
+ }], checkable: [{
116
+ type: Input
117
+ }], checkStrictly: [{
118
+ type: Input
119
+ }], checkedKeys: [{
120
+ type: Input
121
+ }], nodes: [{
122
+ type: Input
123
+ }], expandedKeys: [{
124
+ type: Input
125
+ }], selectedNode: [{
126
+ type: Input
127
+ }], isNodeSelected: [{
128
+ type: Input
129
+ }], beforeDrop: [{
130
+ type: Input
131
131
  }] } });
132
132
 
133
- const templates = [TreeNodeTemplateDirective, ExpandedIconTemplateDirective];
134
- const exported = [...templates, TreeComponent];
135
- class TreeModule {
136
- }
137
- TreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
138
- TreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeModule, declarations: [TreeNodeTemplateDirective, ExpandedIconTemplateDirective, TreeComponent], imports: [CoreModule, NzTreeModule, NgbDropdownModule, NzNoAnimationModule], exports: [TreeNodeTemplateDirective, ExpandedIconTemplateDirective, TreeComponent] });
139
- TreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeModule, imports: [[CoreModule, NzTreeModule, NgbDropdownModule, NzNoAnimationModule]] });
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeModule, decorators: [{
141
- type: NgModule,
142
- args: [{
143
- imports: [CoreModule, NzTreeModule, NgbDropdownModule, NzNoAnimationModule],
144
- exports: [...exported],
145
- declarations: [...exported],
146
- }]
133
+ const templates = [TreeNodeTemplateDirective, ExpandedIconTemplateDirective];
134
+ const exported = [...templates, TreeComponent];
135
+ class TreeModule {
136
+ }
137
+ TreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
138
+ TreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeModule, declarations: [TreeNodeTemplateDirective, ExpandedIconTemplateDirective, TreeComponent], imports: [CoreModule, NzTreeModule, NgbDropdownModule, NzNoAnimationModule], exports: [TreeNodeTemplateDirective, ExpandedIconTemplateDirective, TreeComponent] });
139
+ TreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeModule, imports: [[CoreModule, NzTreeModule, NgbDropdownModule, NzNoAnimationModule]] });
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: TreeModule, decorators: [{
141
+ type: NgModule,
142
+ args: [{
143
+ imports: [CoreModule, NzTreeModule, NgbDropdownModule, NzNoAnimationModule],
144
+ exports: [...exported],
145
+ declarations: [...exported],
146
+ }]
147
147
  }] });
148
148
 
149
- class BaseNode {
150
- constructor(id, parentId) {
151
- this.id = id;
152
- this.parentId = parentId;
153
- }
154
- }
155
- class TreeNode extends BaseNode {
156
- constructor(entity, nameResolver = ent => ent.displayName || ent.name) {
157
- super(entity.id, entity.parentId);
158
- this.entity = entity;
159
- this.nameResolver = nameResolver;
160
- this.icon = null;
161
- this.children = [];
162
- this.isLeaf = true;
163
- this.checked = false;
164
- this.selected = false;
165
- this.expanded = false;
166
- this.selectable = true;
167
- this.disabled = false;
168
- this.disableCheckbox = false;
169
- this.key = entity.id;
170
- this.title = nameResolver(entity);
171
- }
172
- }
173
- class TreeAdapter {
174
- constructor(list = []) {
175
- this.list = list;
176
- this.tree = createTreeFromList(this.list);
177
- }
178
- getList() {
179
- return this.list;
180
- }
181
- getTree() {
182
- return this.tree;
183
- }
184
- handleDrop({ key, parentNode }) {
185
- const index = this.list.findIndex(({ id }) => id === key);
186
- this.list[index].parentId = parentNode ? parentNode.key : null;
187
- this.tree = createTreeFromList(this.list);
188
- }
189
- handleRemove({ key }) {
190
- this.updateTreeFromList(this.list.filter(item => item.id !== key));
191
- }
192
- handleUpdate({ key, children }) {
193
- /**
194
- * When we need to update a node with new children, first we need to remove any descendant nodes.
195
- * If we remove immediate children and create a new tree, any other descendant nodes will be removed
196
- * and we won't need to recursively remove sub children.
197
- * Then, you simply add back the new children and create a new tree.
198
- */
199
- const listWithDescendantNodesRemoved = this.updateTreeFromList(this.list.filter(item => item.parentId !== key));
200
- this.updateTreeFromList(listWithDescendantNodesRemoved.concat(children));
201
- }
202
- updateTreeFromList(list) {
203
- this.tree = createTreeFromList(list);
204
- this.list = createListFromTree(this.tree);
205
- return this.list;
206
- }
207
- }
208
- // UTILITY FUNCTIONS
209
- function createTreeFromList(list) {
210
- const map = createMapFromList(list);
211
- const tree = [];
212
- list.forEach(row => {
213
- const parentId = row.parentId;
214
- const node = map.get(row.id);
215
- if (parentId) {
216
- const parent = map.get(parentId);
217
- if (!parent)
218
- return;
219
- parent.children.push(node);
220
- parent.isLeaf = false;
221
- }
222
- else {
223
- tree.push(node);
224
- }
225
- });
226
- return tree;
227
- }
228
- function createListFromTree(tree, list = []) {
229
- tree.forEach(node => {
230
- list.push(Object.assign(Object.assign({}, node.entity), { parentId: node.parentId }));
231
- if (node.children)
232
- createListFromTree(node.children, list);
233
- });
234
- return list;
235
- }
236
- function createMapFromList(list, map = new Map()) {
237
- list.forEach(row => map.set(row.id, new TreeNode(row)));
238
- return map;
149
+ class BaseNode {
150
+ constructor(id, parentId) {
151
+ this.id = id;
152
+ this.parentId = parentId;
153
+ }
154
+ }
155
+ class TreeNode extends BaseNode {
156
+ constructor(entity, nameResolver = ent => ent.displayName || ent.name) {
157
+ super(entity.id, entity.parentId);
158
+ this.entity = entity;
159
+ this.nameResolver = nameResolver;
160
+ this.icon = null;
161
+ this.children = [];
162
+ this.isLeaf = true;
163
+ this.checked = false;
164
+ this.selected = false;
165
+ this.expanded = false;
166
+ this.selectable = true;
167
+ this.disabled = false;
168
+ this.disableCheckbox = false;
169
+ this.key = entity.id;
170
+ this.title = nameResolver(entity);
171
+ }
172
+ }
173
+ class TreeAdapter {
174
+ constructor(list = []) {
175
+ this.list = list;
176
+ this.tree = createTreeFromList(this.list);
177
+ }
178
+ getList() {
179
+ return this.list;
180
+ }
181
+ getTree() {
182
+ return this.tree;
183
+ }
184
+ handleDrop({ key, parentNode }) {
185
+ const index = this.list.findIndex(({ id }) => id === key);
186
+ this.list[index].parentId = parentNode ? parentNode.key : null;
187
+ this.tree = createTreeFromList(this.list);
188
+ }
189
+ handleRemove({ key }) {
190
+ this.updateTreeFromList(this.list.filter(item => item.id !== key));
191
+ }
192
+ handleUpdate({ key, children }) {
193
+ /**
194
+ * When we need to update a node with new children, first we need to remove any descendant nodes.
195
+ * If we remove immediate children and create a new tree, any other descendant nodes will be removed
196
+ * and we won't need to recursively remove sub children.
197
+ * Then, you simply add back the new children and create a new tree.
198
+ */
199
+ const listWithDescendantNodesRemoved = this.updateTreeFromList(this.list.filter(item => item.parentId !== key));
200
+ this.updateTreeFromList(listWithDescendantNodesRemoved.concat(children));
201
+ }
202
+ updateTreeFromList(list) {
203
+ this.tree = createTreeFromList(list);
204
+ this.list = createListFromTree(this.tree);
205
+ return this.list;
206
+ }
207
+ }
208
+ // UTILITY FUNCTIONS
209
+ function createTreeFromList(list) {
210
+ const map = createMapFromList(list);
211
+ const tree = [];
212
+ list.forEach(row => {
213
+ const parentId = row.parentId;
214
+ const node = map.get(row.id);
215
+ if (parentId) {
216
+ const parent = map.get(parentId);
217
+ if (!parent)
218
+ return;
219
+ parent.children.push(node);
220
+ parent.isLeaf = false;
221
+ }
222
+ else {
223
+ tree.push(node);
224
+ }
225
+ });
226
+ return tree;
227
+ }
228
+ function createListFromTree(tree, list = []) {
229
+ tree.forEach(node => {
230
+ list.push(Object.assign(Object.assign({}, node.entity), { parentId: node.parentId }));
231
+ if (node.children)
232
+ createListFromTree(node.children, list);
233
+ });
234
+ return list;
235
+ }
236
+ function createMapFromList(list, map = new Map()) {
237
+ list.forEach(row => map.set(row.id, new TreeNode(row)));
238
+ return map;
239
239
  }
240
240
 
241
- /**
242
- * Generated bundle index. Do not edit.
241
+ /**
242
+ * Generated bundle index. Do not edit.
243
243
  */
244
244
 
245
245
  export { BaseNode, ExpandedIconTemplateDirective, TreeAdapter, TreeComponent, TreeModule, TreeNodeTemplateDirective };
@@ -1,8 +1,8 @@
1
- /*
2
- * Public API Surface of components
1
+ /*
2
+ * Public API Surface of components
3
3
  */
4
4
 
5
- /**
6
- * Generated bundle index. Do not edit.
5
+ /**
6
+ * Generated bundle index. Do not edit.
7
7
  */
8
8
  //# sourceMappingURL=abp-ng.components.js.map
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@abp/ng.components",
3
- "version": "5.0.0-rc.1",
3
+ "version": "5.0.2",
4
4
  "homepage": "https://abp.io",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/abpframework/abp.git"
8
8
  },
9
9
  "peerDependencies": {
10
- "@abp/ng.core": ">=5.0.0-beta.3",
11
- "@abp/ng.theme.shared": ">=5.0.0-beta.3",
12
- "@ng-bootstrap/ng-bootstrap": ">=6.0.0"
10
+ "@abp/ng.core": ">=5.0.1",
11
+ "@abp/ng.theme.shared": ">=5.0.1",
12
+ "@ng-bootstrap/ng-bootstrap": ">=10.0.0"
13
13
  },
14
14
  "dependencies": {
15
15
  "chart.js": "^3.5.1",
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@abp/ng.components/page" />
5
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@abp/ng.components/page" />
5
+ export * from './public-api';
@@ -1,31 +1,31 @@
1
- import { TemplateRef, ViewContainerRef, InjectionToken, OnInit, OnDestroy, Injector, OnChanges, SimpleChanges, SimpleChange } from '@angular/core';
2
- import { Observable, Subscription } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export interface PageRenderStrategy {
5
- shouldRender(type?: string): boolean | Observable<boolean>;
6
- onInit?(type?: string, injector?: Injector, context?: any): void;
7
- onDestroy?(type?: string, injector?: Injector, context?: any): void;
8
- onContextUpdate?(change?: SimpleChange): void;
9
- }
10
- export declare const PAGE_RENDER_STRATEGY: InjectionToken<PageRenderStrategy>;
11
- export declare class PagePartDirective implements OnInit, OnDestroy, OnChanges {
12
- private templateRef;
13
- private viewContainer;
14
- private renderLogic;
15
- private injector;
16
- hasRendered: boolean;
17
- type: string;
18
- subscription: Subscription;
19
- context: any;
20
- set abpPagePart(type: string);
21
- render: (shouldRender: boolean) => void;
22
- constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, renderLogic: PageRenderStrategy, injector: Injector);
23
- ngOnChanges({ context }: SimpleChanges): void;
24
- ngOnInit(): void;
25
- ngOnDestroy(): void;
26
- shouldRender(type: string): Observable<boolean>;
27
- protected createRenderStream(type: string): void;
28
- protected clearSubscription(): void;
29
- static ɵfac: i0.ɵɵFactoryDeclaration<PagePartDirective, [null, null, { optional: true; }, null]>;
30
- static ɵdir: i0.ɵɵDirectiveDeclaration<PagePartDirective, "[abpPagePart]", never, { "context": "abpPagePartContext"; "abpPagePart": "abpPagePart"; }, {}, never>;
31
- }
1
+ import { TemplateRef, ViewContainerRef, InjectionToken, OnInit, OnDestroy, Injector, OnChanges, SimpleChanges, SimpleChange } from '@angular/core';
2
+ import { Observable, Subscription } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export interface PageRenderStrategy {
5
+ shouldRender(type?: string): boolean | Observable<boolean>;
6
+ onInit?(type?: string, injector?: Injector, context?: any): void;
7
+ onDestroy?(type?: string, injector?: Injector, context?: any): void;
8
+ onContextUpdate?(change?: SimpleChange): void;
9
+ }
10
+ export declare const PAGE_RENDER_STRATEGY: InjectionToken<PageRenderStrategy>;
11
+ export declare class PagePartDirective implements OnInit, OnDestroy, OnChanges {
12
+ private templateRef;
13
+ private viewContainer;
14
+ private renderLogic;
15
+ private injector;
16
+ hasRendered: boolean;
17
+ type: string;
18
+ subscription: Subscription;
19
+ context: any;
20
+ set abpPagePart(type: string);
21
+ render: (shouldRender: boolean) => void;
22
+ constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, renderLogic: PageRenderStrategy, injector: Injector);
23
+ ngOnChanges({ context }: SimpleChanges): void;
24
+ ngOnInit(): void;
25
+ ngOnDestroy(): void;
26
+ shouldRender(type: string): Observable<boolean>;
27
+ protected createRenderStream(type: string): void;
28
+ protected clearSubscription(): void;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<PagePartDirective, [null, null, { optional: true; }, null]>;
30
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PagePartDirective, "[abpPagePart]", never, { "context": "abpPagePartContext"; "abpPagePart": "abpPagePart"; }, {}, never>;
31
+ }