@abp/ng.components 5.0.0 → 5.1.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 (56) hide show
  1. package/chart.js/package.json +5 -5
  2. package/{esm2015/abp-ng.components.js → esm2020/abp-ng.components.mjs} +0 -0
  3. package/{esm2015/chart.js/abp-ng.components-chart.js.js → esm2020/chart.js/abp-ng.components-chart.js.mjs} +0 -0
  4. package/{esm2015/chart.js/chart.component.js → esm2020/chart.js/chart.component.mjs} +5 -6
  5. package/{esm2015/chart.js/chart.module.js → esm2020/chart.js/chart.module.mjs} +5 -5
  6. package/{esm2015/chart.js/public-api.js → esm2020/chart.js/public-api.mjs} +0 -0
  7. package/{esm2015/chart.js/widget-utils.js → esm2020/chart.js/widget-utils.mjs} +0 -0
  8. package/{esm2015/page/abp-ng.components-page.js → esm2020/page/abp-ng.components-page.mjs} +0 -0
  9. package/esm2020/page/page-part.directive.mjs +76 -0
  10. package/{esm2015/page/page-parts.component.js → esm2020/page/page-parts.component.mjs} +10 -10
  11. package/esm2020/page/page.component.mjs +57 -0
  12. package/{esm2015/page/page.module.js → esm2020/page/page.module.mjs} +5 -5
  13. package/{esm2015/page/public-api.js → esm2020/page/public-api.mjs} +0 -0
  14. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  15. package/{esm2015/tree/abp-ng.components-tree.js → esm2020/tree/abp-ng.components-tree.mjs} +0 -0
  16. package/esm2020/tree/lib/components/tree.component.mjs +93 -0
  17. package/{esm2015/tree/lib/templates/expanded-icon-template.directive.js → esm2020/tree/lib/templates/expanded-icon-template.directive.mjs} +4 -4
  18. package/{esm2015/tree/lib/templates/tree-node-template.directive.js → esm2020/tree/lib/templates/tree-node-template.directive.mjs} +4 -4
  19. package/{esm2015/tree/lib/tree.module.js → esm2020/tree/lib/tree.module.mjs} +5 -5
  20. package/{esm2015/tree/lib/utils/nz-tree-adapter.js → esm2020/tree/lib/utils/nz-tree-adapter.mjs} +2 -2
  21. package/{esm2015/tree/public-api.js → esm2020/tree/public-api.mjs} +0 -0
  22. package/fesm2015/{abp-ng.components-chart.js.js → abp-ng.components-chart.js.mjs} +8 -8
  23. package/fesm2015/abp-ng.components-chart.js.mjs.map +1 -0
  24. package/fesm2015/abp-ng.components-page.mjs +217 -0
  25. package/fesm2015/abp-ng.components-page.mjs.map +1 -0
  26. package/fesm2015/abp-ng.components-tree.mjs +238 -0
  27. package/fesm2015/abp-ng.components-tree.mjs.map +1 -0
  28. package/fesm2015/abp-ng.components.mjs +4 -0
  29. package/fesm2015/abp-ng.components.mjs.map +1 -0
  30. package/fesm2020/abp-ng.components-chart.js.mjs +174 -0
  31. package/fesm2020/abp-ng.components-chart.js.mjs.map +1 -0
  32. package/{fesm2015/abp-ng.components-page.js → fesm2020/abp-ng.components-page.mjs} +24 -31
  33. package/fesm2020/abp-ng.components-page.mjs.map +1 -0
  34. package/fesm2020/abp-ng.components-tree.mjs +238 -0
  35. package/fesm2020/abp-ng.components-tree.mjs.map +1 -0
  36. package/{fesm2015/abp-ng.components.js → fesm2020/abp-ng.components.mjs} +1 -1
  37. package/fesm2020/abp-ng.components.mjs.map +1 -0
  38. package/package.json +46 -9
  39. package/page/package.json +5 -5
  40. package/tree/package.json +5 -5
  41. package/bundles/abp-ng.components-chart.js.umd.js +0 -183
  42. package/bundles/abp-ng.components-chart.js.umd.js.map +0 -1
  43. package/bundles/abp-ng.components-page.umd.js +0 -595
  44. package/bundles/abp-ng.components-page.umd.js.map +0 -1
  45. package/bundles/abp-ng.components-tree.umd.js +0 -613
  46. package/bundles/abp-ng.components-tree.umd.js.map +0 -1
  47. package/bundles/abp-ng.components.umd.js +0 -11
  48. package/bundles/abp-ng.components.umd.js.map +0 -1
  49. package/esm2015/page/page-part.directive.js +0 -79
  50. package/esm2015/page/page.component.js +0 -61
  51. package/esm2015/tree/lib/components/tree.component.js +0 -101
  52. package/fesm2015/abp-ng.components-chart.js.js.map +0 -1
  53. package/fesm2015/abp-ng.components-page.js.map +0 -1
  54. package/fesm2015/abp-ng.components-tree.js +0 -246
  55. package/fesm2015/abp-ng.components-tree.js.map +0 -1
  56. package/fesm2015/abp-ng.components.js.map +0 -1
@@ -33,21 +33,18 @@ class PagePartDirective {
33
33
  this.createRenderStream(type);
34
34
  }
35
35
  ngOnChanges({ context }) {
36
- var _a;
37
- if ((_a = this.renderLogic) === null || _a === void 0 ? void 0 : _a.onContextUpdate) {
36
+ if (this.renderLogic?.onContextUpdate) {
38
37
  this.renderLogic.onContextUpdate(context);
39
38
  }
40
39
  }
41
40
  ngOnInit() {
42
- var _a;
43
- if ((_a = this.renderLogic) === null || _a === void 0 ? void 0 : _a.onInit) {
41
+ if (this.renderLogic?.onInit) {
44
42
  this.renderLogic.onInit(this.type, this.injector, this.context);
45
43
  }
46
44
  }
47
45
  ngOnDestroy() {
48
- var _a;
49
46
  this.clearSubscription();
50
- if ((_a = this.renderLogic) === null || _a === void 0 ? void 0 : _a.onDestroy) {
47
+ if (this.renderLogic?.onDestroy) {
51
48
  this.renderLogic.onDestroy(this.type, this.injector, this.context);
52
49
  }
53
50
  }
@@ -68,9 +65,9 @@ class PagePartDirective {
68
65
  }
69
66
  }
70
67
  }
71
- PagePartDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PagePartDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: PAGE_RENDER_STRATEGY, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
72
- PagePartDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: PagePartDirective, selector: "[abpPagePart]", inputs: { context: ["abpPagePartContext", "context"], abpPagePart: "abpPagePart" }, usesOnChanges: true, ngImport: i0 });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PagePartDirective, decorators: [{
68
+ PagePartDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PagePartDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: PAGE_RENDER_STRATEGY, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
69
+ PagePartDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: PagePartDirective, selector: "[abpPagePart]", inputs: { context: ["abpPagePartContext", "context"], abpPagePart: "abpPagePart" }, usesOnChanges: true, ngImport: i0 });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PagePartDirective, decorators: [{
74
71
  type: Directive,
75
72
  args: [{ selector: '[abpPagePart]' }]
76
73
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
@@ -93,9 +90,9 @@ var PageParts;
93
90
  })(PageParts || (PageParts = {}));
94
91
  class PageTitleContainerComponent {
95
92
  }
96
- PageTitleContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageTitleContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
97
- PageTitleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: PageTitleContainerComponent, selector: "abp-page-title-container", ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, encapsulation: i0.ViewEncapsulation.None });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageTitleContainerComponent, decorators: [{
93
+ PageTitleContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageTitleContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
94
+ PageTitleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: PageTitleContainerComponent, selector: "abp-page-title-container", ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, encapsulation: i0.ViewEncapsulation.None });
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageTitleContainerComponent, decorators: [{
99
96
  type: Component,
100
97
  args: [{
101
98
  selector: 'abp-page-title-container',
@@ -105,9 +102,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
105
102
  }] });
106
103
  class PageBreadcrumbContainerComponent {
107
104
  }
108
- PageBreadcrumbContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageBreadcrumbContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
109
- PageBreadcrumbContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: PageBreadcrumbContainerComponent, selector: "abp-page-breadcrumb-container", ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, encapsulation: i0.ViewEncapsulation.None });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageBreadcrumbContainerComponent, decorators: [{
105
+ PageBreadcrumbContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageBreadcrumbContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
106
+ PageBreadcrumbContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: PageBreadcrumbContainerComponent, selector: "abp-page-breadcrumb-container", ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, encapsulation: i0.ViewEncapsulation.None });
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageBreadcrumbContainerComponent, decorators: [{
111
108
  type: Component,
112
109
  args: [{
113
110
  selector: 'abp-page-breadcrumb-container',
@@ -117,9 +114,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
117
114
  }] });
118
115
  class PageToolbarContainerComponent {
119
116
  }
120
- PageToolbarContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageToolbarContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
121
- PageToolbarContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: PageToolbarContainerComponent, selector: "abp-page-toolbar-container", ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, encapsulation: i0.ViewEncapsulation.None });
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageToolbarContainerComponent, decorators: [{
117
+ PageToolbarContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageToolbarContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
118
+ PageToolbarContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: PageToolbarContainerComponent, selector: "abp-page-toolbar-container", ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, encapsulation: i0.ViewEncapsulation.None });
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageToolbarContainerComponent, decorators: [{
123
120
  type: Component,
124
121
  args: [{
125
122
  selector: 'abp-page-toolbar-container',
@@ -154,15 +151,11 @@ class PageComponent {
154
151
  this.customToolbar);
155
152
  }
156
153
  }
157
- PageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
158
- PageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: PageComponent, selector: "abp-page", inputs: { title: "title", toolbarData: ["toolbar", "toolbarData"], breadcrumbVisible: ["breadcrumb", "breadcrumbVisible"] }, queries: [{ propertyName: "customTitle", first: true, predicate: PageTitleContainerComponent, descendants: true }, { propertyName: "customBreadcrumb", first: true, predicate: PageBreadcrumbContainerComponent, descendants: true }, { propertyName: "customToolbar", first: true, predicate: PageToolbarContainerComponent, descendants: true }], ngImport: i0, template: "<div class=\"row entry-row\" *ngIf=\"shouldRenderRow\">\r\n <ng-container *ngIf=\"customTitle; else defaultTitleTemplate\">\r\n <ng-content select=\"abp-page-title-container\"></ng-content>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customBreadcrumb; else defaultBreadcrumbTemplate\">\r\n <ng-content select=\"abp-page-breadcrumb-container\"></ng-content>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customToolbar; else defaultPageToolbarTemplate\">\r\n <ng-content select=\"abp-page-toolbar-container\"></ng-content>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-content></ng-content>\r\n\r\n<ng-template #defaultTitleTemplate>\r\n <ng-container *ngIf=\"title\">\r\n <div class=\"col-auto\" *abpPagePart=\"pageParts.title\">\r\n <h1 class=\"content-header-title\">\r\n {{ title }}\r\n </h1>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultBreadcrumbTemplate>\r\n <ng-container *ngIf=\"breadcrumbVisible\">\r\n <div class=\"col-lg-auto ps-lg-0\" *abpPagePart=\"pageParts.breadcrumb\">\r\n <abp-breadcrumb></abp-breadcrumb>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultPageToolbarTemplate>\r\n <ng-container *ngIf=\"toolbarVisible\">\r\n <div class=\"col\" *abpPagePart=\"pageParts.toolbar; context: toolbarData\">\r\n <abp-page-toolbar [record]=\"toolbarData\"></abp-page-toolbar>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n", components: [{ type: i1.BreadcrumbComponent, selector: "abp-breadcrumb" }, { type: i2.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: PagePartDirective, selector: "[abpPagePart]", inputs: ["abpPagePartContext", "abpPagePart"] }], encapsulation: i0.ViewEncapsulation.None });
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageComponent, decorators: [{
154
+ PageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
155
+ PageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: PageComponent, selector: "abp-page", inputs: { title: "title", toolbarData: ["toolbar", "toolbarData"], breadcrumbVisible: ["breadcrumb", "breadcrumbVisible"] }, queries: [{ propertyName: "customTitle", first: true, predicate: PageTitleContainerComponent, descendants: true }, { propertyName: "customBreadcrumb", first: true, predicate: PageBreadcrumbContainerComponent, descendants: true }, { propertyName: "customToolbar", first: true, predicate: PageToolbarContainerComponent, descendants: true }], ngImport: i0, template: "<div class=\"row entry-row\" *ngIf=\"shouldRenderRow\">\r\n <ng-container *ngIf=\"customTitle; else defaultTitleTemplate\">\r\n <ng-content select=\"abp-page-title-container\"></ng-content>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customBreadcrumb; else defaultBreadcrumbTemplate\">\r\n <ng-content select=\"abp-page-breadcrumb-container\"></ng-content>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customToolbar; else defaultPageToolbarTemplate\">\r\n <ng-content select=\"abp-page-toolbar-container\"></ng-content>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-content></ng-content>\r\n\r\n<ng-template #defaultTitleTemplate>\r\n <ng-container *ngIf=\"title\">\r\n <div class=\"col-auto\" *abpPagePart=\"pageParts.title\">\r\n <h1 class=\"content-header-title\">\r\n {{ title }}\r\n </h1>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultBreadcrumbTemplate>\r\n <ng-container *ngIf=\"breadcrumbVisible\">\r\n <div class=\"col-lg-auto ps-lg-0\" *abpPagePart=\"pageParts.breadcrumb\">\r\n <abp-breadcrumb></abp-breadcrumb>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultPageToolbarTemplate>\r\n <ng-container *ngIf=\"toolbarVisible\">\r\n <div class=\"col\" *abpPagePart=\"pageParts.toolbar; context: toolbarData\">\r\n <abp-page-toolbar [record]=\"toolbarData\"></abp-page-toolbar>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n", components: [{ type: i1.BreadcrumbComponent, selector: "abp-breadcrumb" }, { type: i2.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: PagePartDirective, selector: "[abpPagePart]", inputs: ["abpPagePartContext", "abpPagePart"] }], encapsulation: i0.ViewEncapsulation.None });
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageComponent, decorators: [{
160
157
  type: Component,
161
- args: [{
162
- selector: 'abp-page',
163
- templateUrl: './page.component.html',
164
- encapsulation: ViewEncapsulation.None,
165
- }]
158
+ args: [{ selector: 'abp-page', encapsulation: ViewEncapsulation.None, template: "<div class=\"row entry-row\" *ngIf=\"shouldRenderRow\">\r\n <ng-container *ngIf=\"customTitle; else defaultTitleTemplate\">\r\n <ng-content select=\"abp-page-title-container\"></ng-content>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customBreadcrumb; else defaultBreadcrumbTemplate\">\r\n <ng-content select=\"abp-page-breadcrumb-container\"></ng-content>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customToolbar; else defaultPageToolbarTemplate\">\r\n <ng-content select=\"abp-page-toolbar-container\"></ng-content>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-content></ng-content>\r\n\r\n<ng-template #defaultTitleTemplate>\r\n <ng-container *ngIf=\"title\">\r\n <div class=\"col-auto\" *abpPagePart=\"pageParts.title\">\r\n <h1 class=\"content-header-title\">\r\n {{ title }}\r\n </h1>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultBreadcrumbTemplate>\r\n <ng-container *ngIf=\"breadcrumbVisible\">\r\n <div class=\"col-lg-auto ps-lg-0\" *abpPagePart=\"pageParts.breadcrumb\">\r\n <abp-breadcrumb></abp-breadcrumb>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultPageToolbarTemplate>\r\n <ng-container *ngIf=\"toolbarVisible\">\r\n <div class=\"col\" *abpPagePart=\"pageParts.toolbar; context: toolbarData\">\r\n <abp-page-toolbar [record]=\"toolbarData\"></abp-page-toolbar>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n" }]
166
159
  }], propDecorators: { title: [{
167
160
  type: Input
168
161
  }], toolbarData: [{
@@ -191,8 +184,8 @@ const exportedDeclarations = [
191
184
  ];
192
185
  class PageModule {
193
186
  }
194
- PageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
195
- PageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageModule, declarations: [PageComponent,
187
+ PageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
188
+ PageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageModule, declarations: [PageComponent,
196
189
  PageTitleContainerComponent,
197
190
  PageBreadcrumbContainerComponent,
198
191
  PageToolbarContainerComponent,
@@ -201,8 +194,8 @@ PageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12
201
194
  PageBreadcrumbContainerComponent,
202
195
  PageToolbarContainerComponent,
203
196
  PagePartDirective, UiExtensionsModule] });
204
- PageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageModule, imports: [[CommonModule, UiExtensionsModule, CoreModule, ThemeSharedModule], UiExtensionsModule] });
205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: PageModule, decorators: [{
197
+ PageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageModule, imports: [[CommonModule, UiExtensionsModule, CoreModule, ThemeSharedModule], UiExtensionsModule] });
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageModule, decorators: [{
206
199
  type: NgModule,
207
200
  args: [{
208
201
  declarations: [...exportedDeclarations],
@@ -216,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImpo
216
209
  */
217
210
 
218
211
  export { PAGE_RENDER_STRATEGY, PageBreadcrumbContainerComponent, PageComponent, PageModule, PagePartDirective, PageParts, PageTitleContainerComponent, PageToolbarContainerComponent };
219
- //# sourceMappingURL=abp-ng.components-page.js.map
212
+ //# sourceMappingURL=abp-ng.components-page.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abp-ng.components-page.mjs","sources":["../../../../packages/components/page/src/page-part.directive.ts","../../../../packages/components/page/src/page-parts.component.ts","../../../../packages/components/page/src/page.component.ts","../../../../packages/components/page/src/page.component.html","../../../../packages/components/page/src/page.module.ts","../../../../packages/components/page/src/abp-ng.components-page.ts"],"sourcesContent":["import {\r\n Directive,\r\n TemplateRef,\r\n ViewContainerRef,\r\n Input,\r\n InjectionToken,\r\n Optional,\r\n Inject,\r\n OnInit,\r\n OnDestroy,\r\n Injector,\r\n OnChanges,\r\n SimpleChanges,\r\n SimpleChange,\r\n} from '@angular/core';\r\nimport { Observable, Subscription, of } from 'rxjs';\r\n\r\nexport interface PageRenderStrategy {\r\n shouldRender(type?: string): boolean | Observable<boolean>;\r\n onInit?(type?: string, injector?: Injector, context?: any): void;\r\n onDestroy?(type?: string, injector?: Injector, context?: any): void;\r\n onContextUpdate?(change?: SimpleChange): void;\r\n}\r\n\r\nexport const PAGE_RENDER_STRATEGY = new InjectionToken<PageRenderStrategy>('PAGE_RENDER_STRATEGY');\r\n\r\n@Directive({ selector: '[abpPagePart]' })\r\nexport class PagePartDirective implements OnInit, OnDestroy, OnChanges {\r\n hasRendered = false;\r\n type: string;\r\n subscription: Subscription;\r\n\r\n @Input('abpPagePartContext') context: any;\r\n @Input() set abpPagePart(type: string) {\r\n this.type = type;\r\n this.createRenderStream(type);\r\n }\r\n\r\n render = (shouldRender: boolean) => {\r\n if (shouldRender && !this.hasRendered) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n this.hasRendered = true;\r\n } else if (!shouldRender && this.hasRendered) {\r\n this.viewContainer.clear();\r\n this.hasRendered = false;\r\n }\r\n };\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n @Optional() @Inject(PAGE_RENDER_STRATEGY) private renderLogic: PageRenderStrategy,\r\n private injector: Injector,\r\n ) {}\r\n\r\n ngOnChanges({ context }: SimpleChanges): void {\r\n if (this.renderLogic?.onContextUpdate) {\r\n this.renderLogic.onContextUpdate(context);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (this.renderLogic?.onInit) {\r\n this.renderLogic.onInit(this.type, this.injector, this.context);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.clearSubscription();\r\n\r\n if (this.renderLogic?.onDestroy) {\r\n this.renderLogic.onDestroy(this.type, this.injector, this.context);\r\n }\r\n }\r\n\r\n shouldRender(type: string) {\r\n if (this.renderLogic) {\r\n const willRender = this.renderLogic.shouldRender(type);\r\n return willRender instanceof Observable ? willRender : of(willRender);\r\n }\r\n return of(true);\r\n }\r\n\r\n protected createRenderStream(type: string) {\r\n this.clearSubscription();\r\n\r\n this.subscription = this.shouldRender(type).subscribe(this.render);\r\n }\r\n\r\n protected clearSubscription() {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\nexport enum PageParts {\r\n title = 'PageTitleContainerComponent',\r\n breadcrumb = 'PageBreadcrumbContainerComponent',\r\n toolbar = 'PageToolbarContainerComponent',\r\n}\r\n\r\n@Component({\r\n selector: 'abp-page-title-container',\r\n template: ` <ng-content></ng-content> `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PageTitleContainerComponent {}\r\n\r\n@Component({\r\n selector: 'abp-page-breadcrumb-container',\r\n template: ` <ng-content></ng-content> `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PageBreadcrumbContainerComponent {}\r\n\r\n@Component({\r\n selector: 'abp-page-toolbar-container',\r\n template: ` <ng-content></ng-content> `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PageToolbarContainerComponent {}\r\n","import { Component, Input, ViewEncapsulation, ContentChild } from '@angular/core';\r\nimport {\r\n PageTitleContainerComponent,\r\n PageBreadcrumbContainerComponent,\r\n PageToolbarContainerComponent,\r\n PageParts,\r\n} from './page-parts.component';\r\n\r\n@Component({\r\n selector: 'abp-page',\r\n templateUrl: './page.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PageComponent {\r\n @Input() title: string;\r\n\r\n toolbarVisible = false;\r\n _toolbarData: any;\r\n @Input('toolbar') set toolbarData(val: any) {\r\n this._toolbarData = val;\r\n this.toolbarVisible = true;\r\n }\r\n\r\n get toolbarData() {\r\n return this._toolbarData;\r\n }\r\n\r\n @Input('breadcrumb') breadcrumbVisible = true;\r\n\r\n pageParts = {\r\n title: PageParts.title,\r\n breadcrumb: PageParts.breadcrumb,\r\n toolbar: PageParts.toolbar,\r\n };\r\n\r\n @ContentChild(PageTitleContainerComponent) customTitle: PageTitleContainerComponent;\r\n @ContentChild(PageBreadcrumbContainerComponent)\r\n customBreadcrumb: PageBreadcrumbContainerComponent;\r\n @ContentChild(PageToolbarContainerComponent) customToolbar: PageToolbarContainerComponent;\r\n\r\n get shouldRenderRow() {\r\n return !!(\r\n this.title ||\r\n this.toolbarVisible ||\r\n this.breadcrumbVisible ||\r\n this.customTitle ||\r\n this.customBreadcrumb ||\r\n this.customToolbar\r\n );\r\n }\r\n}\r\n","<div class=\"row entry-row\" *ngIf=\"shouldRenderRow\">\r\n <ng-container *ngIf=\"customTitle; else defaultTitleTemplate\">\r\n <ng-content select=\"abp-page-title-container\"></ng-content>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customBreadcrumb; else defaultBreadcrumbTemplate\">\r\n <ng-content select=\"abp-page-breadcrumb-container\"></ng-content>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customToolbar; else defaultPageToolbarTemplate\">\r\n <ng-content select=\"abp-page-toolbar-container\"></ng-content>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-content></ng-content>\r\n\r\n<ng-template #defaultTitleTemplate>\r\n <ng-container *ngIf=\"title\">\r\n <div class=\"col-auto\" *abpPagePart=\"pageParts.title\">\r\n <h1 class=\"content-header-title\">\r\n {{ title }}\r\n </h1>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultBreadcrumbTemplate>\r\n <ng-container *ngIf=\"breadcrumbVisible\">\r\n <div class=\"col-lg-auto ps-lg-0\" *abpPagePart=\"pageParts.breadcrumb\">\r\n <abp-breadcrumb></abp-breadcrumb>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #defaultPageToolbarTemplate>\r\n <ng-container *ngIf=\"toolbarVisible\">\r\n <div class=\"col\" *abpPagePart=\"pageParts.toolbar; context: toolbarData\">\r\n <abp-page-toolbar [record]=\"toolbarData\"></abp-page-toolbar>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n","import { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { UiExtensionsModule } from '@abp/ng.theme.shared/extensions';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { PagePartDirective } from './page-part.directive';\r\nimport {\r\n PageBreadcrumbContainerComponent,\r\n PageTitleContainerComponent,\r\n PageToolbarContainerComponent,\r\n} from './page-parts.component';\r\nimport { PageComponent } from './page.component';\r\n\r\nconst exportedDeclarations = [\r\n PageComponent,\r\n PageTitleContainerComponent,\r\n PageBreadcrumbContainerComponent,\r\n PageToolbarContainerComponent,\r\n PagePartDirective,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...exportedDeclarations],\r\n imports: [CommonModule, UiExtensionsModule, CoreModule, ThemeSharedModule],\r\n exports: [...exportedDeclarations, UiExtensionsModule],\r\n})\r\nexport class PageModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,238 @@
1
+ import * as i5 from '@abp/ng.core';
2
+ import { CoreModule } from '@abp/ng.core';
3
+ import * as i0 from '@angular/core';
4
+ import { Directive, EventEmitter, Component, ViewEncapsulation, ContentChild, Output, Input, NgModule } from '@angular/core';
5
+ import * as i4 from '@ng-bootstrap/ng-bootstrap';
6
+ import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
7
+ import * as i2 from 'ng-zorro-antd/core/no-animation';
8
+ import { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';
9
+ import * as i1 from 'ng-zorro-antd/tree';
10
+ import { NzTreeModule } from 'ng-zorro-antd/tree';
11
+ import { of } from 'rxjs';
12
+ import * as i3 from '@angular/common';
13
+
14
+ class TreeNodeTemplateDirective {
15
+ constructor(template) {
16
+ this.template = template;
17
+ }
18
+ }
19
+ TreeNodeTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TreeNodeTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
20
+ TreeNodeTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: TreeNodeTemplateDirective, selector: "[abpTreeNodeTemplate],[abp-tree-node-template]", ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TreeNodeTemplateDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[abpTreeNodeTemplate],[abp-tree-node-template]',
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
27
+
28
+ class ExpandedIconTemplateDirective {
29
+ constructor(template) {
30
+ this.template = template;
31
+ }
32
+ }
33
+ ExpandedIconTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ExpandedIconTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
34
+ ExpandedIconTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: ExpandedIconTemplateDirective, selector: "[abpTreeExpandedIconTemplate],[abp-tree-expanded-icon-template]", ngImport: i0 });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ExpandedIconTemplateDirective, decorators: [{
36
+ type: Directive,
37
+ args: [{
38
+ selector: '[abpTreeExpandedIconTemplate],[abp-tree-expanded-icon-template]',
39
+ }]
40
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
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 => this.selectedNode?.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: "13.1.1", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
82
+ TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", 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\r\n [nzBeforeDrop]=\"beforeDrop\"\r\n [nzDraggable]=\"draggable\"\r\n [nzCheckStrictly]=\"checkStrictly\"\r\n [nzCheckable]=\"checkable\"\r\n [nzCheckedKeys]=\"checkedKeys\"\r\n [nzData]=\"nodes\"\r\n [nzTreeTemplate]=\"treeTemplate\"\r\n [nzExpandedKeys]=\"expandedKeys\"\r\n [nzExpandedIcon]=\"expandedIconTemplate?.template || defaultIconTemplate\"\r\n (nzExpandChange)=\"onExpandedKeysChange($event)\"\r\n (nzCheckBoxChange)=\"onCheckboxChange($event)\"\r\n (nzOnDrop)=\"onDrop($event)\"\r\n [nzNoAnimation]=\"noAnimation\"\r\n (nzContextMenu)=\"dropdowns[$event.node?.key]?.toggle()\"\r\n></nz-tree>\r\n<ng-template #treeTemplate let-node>\r\n <div\r\n class=\"node-wrapper\"\r\n [class.selected]=\"isNodeSelected(node)\"\r\n [title]=\"node.title\"\r\n (click)=\"onSelectedNodeChange(node)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $implicit: node }\"></ng-container>\r\n\r\n <ng-template #nodeTemplate let-node>\r\n <div class=\"d-inline-block\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customNodeTemplate ? customNodeTemplate?.template : defaultNodeTemplate;\r\n context: { $implicit: node }\r\n \"\r\n ></ng-container>\r\n </div>\r\n\r\n <div\r\n #dropdown=\"ngbDropdown\"\r\n *ngIf=\"menu\"\r\n class=\"d-inline-block ms-1\"\r\n ngbDropdown\r\n placement=\"bottom\"\r\n container=\"body\"\r\n (abpInit)=\"initDropdown(node.key, dropdown)\"\r\n >\r\n <i\r\n class=\"fas fa-caret-down text-muted\"\r\n ngbDropdownToggle\r\n [class.dropdown-toggle]=\"false\"\r\n ></i>\r\n <div ngbDropdownMenu>\r\n <ng-template *ngTemplateOutlet=\"menu; context: { $implicit: node }\"></ng-template>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #defaultNodeTemplate let-node>\r\n <span>{{ node.title }}</span>\r\n </ng-template>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultIconTemplate let-node let-origin=\"origin\">\r\n <i style=\"line-height: 28px\" aria-hidden=\"true\">\r\n <ng-container *ngTemplateOutlet=\"node.isExpanded ? minusIcon : plusIcon\"></ng-container\r\n ></i>\r\n</ng-template>\r\n\r\n<ng-template #minusIcon>\r\n <svg\r\n width=\"15\"\r\n height=\"15\"\r\n viewBox=\"0 0 24 24\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n >\r\n <path\r\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\"\r\n />\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #plusIcon>\r\n <svg\r\n width=\"15\"\r\n height=\"15\"\r\n viewBox=\"0 0 24 24\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n >\r\n <path\r\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\"\r\n />\r\n </svg>\r\n</ng-template>\r\n", styles: [".ant-tree-checkbox,.ant-tree-checkbox-wrapper{box-sizing:border-box;padding:0;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:\"tnum\",\"tnum\"}@keyframes antCheckboxEffect{0%{transform:scale(1);opacity:.5}to{transform:scale(1.6);opacity:0}}@keyframes ant-tree-node-fx-do-not-use{0%{opacity:0}to{opacity:1}}.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;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{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;animation:antCheckboxEffect .36s ease-in-out;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;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;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{margin: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-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging{position:relative}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging:after{position:absolute;top:0;right:0;bottom:4px;left:0;border:1px solid #1890ff;opacity:0;animation:ant-tree-node-fx-do-not-use .3s;animation-play-state:running;animation-fill-mode:forwards;content:\"\";pointer-events:none}.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;user-select:none}.ant-tree-indent-unit{display:inline-block;width:24px}.ant-tree-draggable-icon{width:24px;line-height:24px;text-align:center;opacity:.2;transition:opacity .3s}.ant-tree-treenode:hover .ant-tree-draggable-icon{opacity:.45}.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;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:before{position:absolute;top:0;right:12px;bottom:-4px;margin-left:-1px;border-right:1px solid #d9d9d9;content:\" \"}.ant-tree-switcher-leaf-line:after{position:absolute;width:10px;height:14px;border-bottom:1px solid #d9d9d9;content:\" \"}.ant-tree-checkbox{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{line-height:24px;-webkit-user-select:none;user-select:none}.ant-tree-node-content-wrapper .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 .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:-.15em}.ant-tree .ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line:before{top:auto!important;bottom:auto!important;height:14px!important}.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", "nzExpandedIcon", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzTreeTemplate", "nzBeforeDrop", "nzData", "nzExpandedKeys", "nzSelectedKeys", "nzCheckedKeys", "nzSearchValue", "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: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], 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: "13.1.1", ngImport: i0, type: TreeComponent, decorators: [{
84
+ type: Component,
85
+ args: [{ selector: 'abp-tree', encapsulation: ViewEncapsulation.None, template: "<nz-tree\r\n [nzBeforeDrop]=\"beforeDrop\"\r\n [nzDraggable]=\"draggable\"\r\n [nzCheckStrictly]=\"checkStrictly\"\r\n [nzCheckable]=\"checkable\"\r\n [nzCheckedKeys]=\"checkedKeys\"\r\n [nzData]=\"nodes\"\r\n [nzTreeTemplate]=\"treeTemplate\"\r\n [nzExpandedKeys]=\"expandedKeys\"\r\n [nzExpandedIcon]=\"expandedIconTemplate?.template || defaultIconTemplate\"\r\n (nzExpandChange)=\"onExpandedKeysChange($event)\"\r\n (nzCheckBoxChange)=\"onCheckboxChange($event)\"\r\n (nzOnDrop)=\"onDrop($event)\"\r\n [nzNoAnimation]=\"noAnimation\"\r\n (nzContextMenu)=\"dropdowns[$event.node?.key]?.toggle()\"\r\n></nz-tree>\r\n<ng-template #treeTemplate let-node>\r\n <div\r\n class=\"node-wrapper\"\r\n [class.selected]=\"isNodeSelected(node)\"\r\n [title]=\"node.title\"\r\n (click)=\"onSelectedNodeChange(node)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $implicit: node }\"></ng-container>\r\n\r\n <ng-template #nodeTemplate let-node>\r\n <div class=\"d-inline-block\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customNodeTemplate ? customNodeTemplate?.template : defaultNodeTemplate;\r\n context: { $implicit: node }\r\n \"\r\n ></ng-container>\r\n </div>\r\n\r\n <div\r\n #dropdown=\"ngbDropdown\"\r\n *ngIf=\"menu\"\r\n class=\"d-inline-block ms-1\"\r\n ngbDropdown\r\n placement=\"bottom\"\r\n container=\"body\"\r\n (abpInit)=\"initDropdown(node.key, dropdown)\"\r\n >\r\n <i\r\n class=\"fas fa-caret-down text-muted\"\r\n ngbDropdownToggle\r\n [class.dropdown-toggle]=\"false\"\r\n ></i>\r\n <div ngbDropdownMenu>\r\n <ng-template *ngTemplateOutlet=\"menu; context: { $implicit: node }\"></ng-template>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #defaultNodeTemplate let-node>\r\n <span>{{ node.title }}</span>\r\n </ng-template>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultIconTemplate let-node let-origin=\"origin\">\r\n <i style=\"line-height: 28px\" aria-hidden=\"true\">\r\n <ng-container *ngTemplateOutlet=\"node.isExpanded ? minusIcon : plusIcon\"></ng-container\r\n ></i>\r\n</ng-template>\r\n\r\n<ng-template #minusIcon>\r\n <svg\r\n width=\"15\"\r\n height=\"15\"\r\n viewBox=\"0 0 24 24\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n >\r\n <path\r\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\"\r\n />\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #plusIcon>\r\n <svg\r\n width=\"15\"\r\n height=\"15\"\r\n viewBox=\"0 0 24 24\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n >\r\n <path\r\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\"\r\n />\r\n </svg>\r\n</ng-template>\r\n", styles: [".ant-tree-checkbox,.ant-tree-checkbox-wrapper{box-sizing:border-box;padding:0;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:\"tnum\",\"tnum\"}@keyframes antCheckboxEffect{0%{transform:scale(1);opacity:.5}to{transform:scale(1.6);opacity:0}}@keyframes ant-tree-node-fx-do-not-use{0%{opacity:0}to{opacity:1}}.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;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{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;animation:antCheckboxEffect .36s ease-in-out;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;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;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{margin: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-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging{position:relative}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-treenode.dragging:after{position:absolute;top:0;right:0;bottom:4px;left:0;border:1px solid #1890ff;opacity:0;animation:ant-tree-node-fx-do-not-use .3s;animation-play-state:running;animation-fill-mode:forwards;content:\"\";pointer-events:none}.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;user-select:none}.ant-tree-indent-unit{display:inline-block;width:24px}.ant-tree-draggable-icon{width:24px;line-height:24px;text-align:center;opacity:.2;transition:opacity .3s}.ant-tree-treenode:hover .ant-tree-draggable-icon{opacity:.45}.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;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:before{position:absolute;top:0;right:12px;bottom:-4px;margin-left:-1px;border-right:1px solid #d9d9d9;content:\" \"}.ant-tree-switcher-leaf-line:after{position:absolute;width:10px;height:14px;border-bottom:1px solid #d9d9d9;content:\" \"}.ant-tree-checkbox{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{line-height:24px;-webkit-user-select:none;user-select:none}.ant-tree-node-content-wrapper .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 .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:-.15em}.ant-tree .ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line:before{top:auto!important;bottom:auto!important;height:14px!important}.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"] }]
86
+ }], propDecorators: { menu: [{
87
+ type: ContentChild,
88
+ args: ['menu']
89
+ }], customNodeTemplate: [{
90
+ type: ContentChild,
91
+ args: [TreeNodeTemplateDirective]
92
+ }], expandedIconTemplate: [{
93
+ type: ContentChild,
94
+ args: [ExpandedIconTemplateDirective]
95
+ }], checkedKeysChange: [{
96
+ type: Output
97
+ }], expandedKeysChange: [{
98
+ type: Output
99
+ }], selectedNodeChange: [{
100
+ type: Output
101
+ }], dropOver: [{
102
+ type: Output
103
+ }], noAnimation: [{
104
+ type: Input
105
+ }], draggable: [{
106
+ type: Input
107
+ }], checkable: [{
108
+ type: Input
109
+ }], checkStrictly: [{
110
+ type: Input
111
+ }], checkedKeys: [{
112
+ type: Input
113
+ }], nodes: [{
114
+ type: Input
115
+ }], expandedKeys: [{
116
+ type: Input
117
+ }], selectedNode: [{
118
+ type: Input
119
+ }], isNodeSelected: [{
120
+ type: Input
121
+ }], beforeDrop: [{
122
+ type: Input
123
+ }] } });
124
+
125
+ const templates = [TreeNodeTemplateDirective, ExpandedIconTemplateDirective];
126
+ const exported = [...templates, TreeComponent];
127
+ class TreeModule {
128
+ }
129
+ TreeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
130
+ TreeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TreeModule, declarations: [TreeNodeTemplateDirective, ExpandedIconTemplateDirective, TreeComponent], imports: [CoreModule, NzTreeModule, NgbDropdownModule, NzNoAnimationModule], exports: [TreeNodeTemplateDirective, ExpandedIconTemplateDirective, TreeComponent] });
131
+ TreeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TreeModule, imports: [[CoreModule, NzTreeModule, NgbDropdownModule, NzNoAnimationModule]] });
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: TreeModule, decorators: [{
133
+ type: NgModule,
134
+ args: [{
135
+ imports: [CoreModule, NzTreeModule, NgbDropdownModule, NzNoAnimationModule],
136
+ exports: [...exported],
137
+ declarations: [...exported],
138
+ }]
139
+ }] });
140
+
141
+ class BaseNode {
142
+ constructor(id, parentId) {
143
+ this.id = id;
144
+ this.parentId = parentId;
145
+ }
146
+ }
147
+ class TreeNode extends BaseNode {
148
+ constructor(entity, nameResolver = ent => ent.displayName || ent.name) {
149
+ super(entity.id, entity.parentId);
150
+ this.entity = entity;
151
+ this.nameResolver = nameResolver;
152
+ this.icon = null;
153
+ this.children = [];
154
+ this.isLeaf = true;
155
+ this.checked = false;
156
+ this.selected = false;
157
+ this.expanded = false;
158
+ this.selectable = true;
159
+ this.disabled = false;
160
+ this.disableCheckbox = false;
161
+ this.key = entity.id;
162
+ this.title = nameResolver(entity);
163
+ }
164
+ }
165
+ class TreeAdapter {
166
+ constructor(list = []) {
167
+ this.list = list;
168
+ this.tree = createTreeFromList(this.list);
169
+ }
170
+ getList() {
171
+ return this.list;
172
+ }
173
+ getTree() {
174
+ return this.tree;
175
+ }
176
+ handleDrop({ key, parentNode }) {
177
+ const index = this.list.findIndex(({ id }) => id === key);
178
+ this.list[index].parentId = parentNode ? parentNode.key : null;
179
+ this.tree = createTreeFromList(this.list);
180
+ }
181
+ handleRemove({ key }) {
182
+ this.updateTreeFromList(this.list.filter(item => item.id !== key));
183
+ }
184
+ handleUpdate({ key, children }) {
185
+ /**
186
+ * When we need to update a node with new children, first we need to remove any descendant nodes.
187
+ * If we remove immediate children and create a new tree, any other descendant nodes will be removed
188
+ * and we won't need to recursively remove sub children.
189
+ * Then, you simply add back the new children and create a new tree.
190
+ */
191
+ const listWithDescendantNodesRemoved = this.updateTreeFromList(this.list.filter(item => item.parentId !== key));
192
+ this.updateTreeFromList(listWithDescendantNodesRemoved.concat(children));
193
+ }
194
+ updateTreeFromList(list) {
195
+ this.tree = createTreeFromList(list);
196
+ this.list = createListFromTree(this.tree);
197
+ return this.list;
198
+ }
199
+ }
200
+ // UTILITY FUNCTIONS
201
+ function createTreeFromList(list) {
202
+ const map = createMapFromList(list);
203
+ const tree = [];
204
+ list.forEach(row => {
205
+ const parentId = row.parentId;
206
+ const node = map.get(row.id);
207
+ if (parentId) {
208
+ const parent = map.get(parentId);
209
+ if (!parent)
210
+ return;
211
+ parent.children.push(node);
212
+ parent.isLeaf = false;
213
+ }
214
+ else {
215
+ tree.push(node);
216
+ }
217
+ });
218
+ return tree;
219
+ }
220
+ function createListFromTree(tree, list = []) {
221
+ tree.forEach(node => {
222
+ list.push({ ...node.entity, parentId: node.parentId });
223
+ if (node.children)
224
+ createListFromTree(node.children, list);
225
+ });
226
+ return list;
227
+ }
228
+ function createMapFromList(list, map = new Map()) {
229
+ list.forEach(row => map.set(row.id, new TreeNode(row)));
230
+ return map;
231
+ }
232
+
233
+ /**
234
+ * Generated bundle index. Do not edit.
235
+ */
236
+
237
+ export { BaseNode, ExpandedIconTemplateDirective, TreeAdapter, TreeComponent, TreeModule, TreeNodeTemplateDirective };
238
+ //# sourceMappingURL=abp-ng.components-tree.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abp-ng.components-tree.mjs","sources":["../../../../packages/components/tree/src/lib/templates/tree-node-template.directive.ts","../../../../packages/components/tree/src/lib/templates/expanded-icon-template.directive.ts","../../../../packages/components/tree/src/lib/components/tree.component.ts","../../../../packages/components/tree/src/lib/components/tree.component.html","../../../../packages/components/tree/src/lib/tree.module.ts","../../../../packages/components/tree/src/lib/utils/nz-tree-adapter.ts","../../../../packages/components/tree/src/abp-ng.components-tree.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[abpTreeNodeTemplate],[abp-tree-node-template]',\r\n})\r\nexport class TreeNodeTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[abpTreeExpandedIconTemplate],[abp-tree-expanded-icon-template]',\r\n})\r\nexport class ExpandedIconTemplateDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import {\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n TemplateRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { NzFormatEmitEvent, NzFormatBeforeDropEvent } from 'ng-zorro-antd/tree';\r\nimport { of } from 'rxjs';\r\nimport { TreeNodeTemplateDirective } from '../templates/tree-node-template.directive';\r\nimport { ExpandedIconTemplateDirective } from '../templates/expanded-icon-template.directive';\r\nimport { NgbDropdown } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nexport type DropEvent = NzFormatEmitEvent & { pos: number };\r\n\r\n@Component({\r\n selector: 'abp-tree',\r\n templateUrl: 'tree.component.html',\r\n styleUrls: [\r\n '../../../../../../node_modules/ng-zorro-antd/tree/style/index.min.css',\r\n 'tree.component.scss',\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class TreeComponent {\r\n dropPosition: number;\r\n\r\n dropdowns = {} as { [key: string]: NgbDropdown };\r\n\r\n @ContentChild('menu') menu: TemplateRef<any>;\r\n @ContentChild(TreeNodeTemplateDirective) customNodeTemplate: TreeNodeTemplateDirective;\r\n @ContentChild(ExpandedIconTemplateDirective) expandedIconTemplate: ExpandedIconTemplateDirective;\r\n @Output() readonly checkedKeysChange = new EventEmitter();\r\n @Output() readonly expandedKeysChange = new EventEmitter<string[]>();\r\n @Output() readonly selectedNodeChange = new EventEmitter();\r\n @Output() readonly dropOver = new EventEmitter<DropEvent>();\r\n @Input() noAnimation = true;\r\n @Input() draggable: boolean;\r\n @Input() checkable: boolean;\r\n @Input() checkStrictly: boolean;\r\n @Input() checkedKeys = [];\r\n @Input() nodes = [];\r\n @Input() expandedKeys: string[] = [];\r\n @Input() selectedNode: any;\r\n @Input() isNodeSelected = node => this.selectedNode?.id === node.key;\r\n @Input() beforeDrop = (event: NzFormatBeforeDropEvent) => {\r\n this.dropPosition = event.pos;\r\n return of(false);\r\n };\r\n\r\n onSelectedNodeChange(node) {\r\n this.selectedNode = node.origin.entity;\r\n this.selectedNodeChange.emit(node.origin.entity);\r\n }\r\n\r\n onCheckboxChange(event) {\r\n this.checkedKeys = [...event.keys];\r\n this.checkedKeysChange.emit(event.keys);\r\n }\r\n\r\n onExpandedKeysChange(event) {\r\n this.expandedKeys = [...event.keys];\r\n this.expandedKeysChange.emit(event.keys);\r\n }\r\n\r\n onDrop(event: DropEvent) {\r\n event.event.stopPropagation();\r\n event.event.preventDefault();\r\n event.pos = this.dropPosition;\r\n\r\n this.dropOver.emit(event);\r\n }\r\n\r\n initDropdown(key: string, dropdown: NgbDropdown) {\r\n this.dropdowns[key] = dropdown;\r\n }\r\n}\r\n","<nz-tree\r\n [nzBeforeDrop]=\"beforeDrop\"\r\n [nzDraggable]=\"draggable\"\r\n [nzCheckStrictly]=\"checkStrictly\"\r\n [nzCheckable]=\"checkable\"\r\n [nzCheckedKeys]=\"checkedKeys\"\r\n [nzData]=\"nodes\"\r\n [nzTreeTemplate]=\"treeTemplate\"\r\n [nzExpandedKeys]=\"expandedKeys\"\r\n [nzExpandedIcon]=\"expandedIconTemplate?.template || defaultIconTemplate\"\r\n (nzExpandChange)=\"onExpandedKeysChange($event)\"\r\n (nzCheckBoxChange)=\"onCheckboxChange($event)\"\r\n (nzOnDrop)=\"onDrop($event)\"\r\n [nzNoAnimation]=\"noAnimation\"\r\n (nzContextMenu)=\"dropdowns[$event.node?.key]?.toggle()\"\r\n></nz-tree>\r\n<ng-template #treeTemplate let-node>\r\n <div\r\n class=\"node-wrapper\"\r\n [class.selected]=\"isNodeSelected(node)\"\r\n [title]=\"node.title\"\r\n (click)=\"onSelectedNodeChange(node)\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"nodeTemplate; context: { $implicit: node }\"></ng-container>\r\n\r\n <ng-template #nodeTemplate let-node>\r\n <div class=\"d-inline-block\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customNodeTemplate ? customNodeTemplate?.template : defaultNodeTemplate;\r\n context: { $implicit: node }\r\n \"\r\n ></ng-container>\r\n </div>\r\n\r\n <div\r\n #dropdown=\"ngbDropdown\"\r\n *ngIf=\"menu\"\r\n class=\"d-inline-block ms-1\"\r\n ngbDropdown\r\n placement=\"bottom\"\r\n container=\"body\"\r\n (abpInit)=\"initDropdown(node.key, dropdown)\"\r\n >\r\n <i\r\n class=\"fas fa-caret-down text-muted\"\r\n ngbDropdownToggle\r\n [class.dropdown-toggle]=\"false\"\r\n ></i>\r\n <div ngbDropdownMenu>\r\n <ng-template *ngTemplateOutlet=\"menu; context: { $implicit: node }\"></ng-template>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #defaultNodeTemplate let-node>\r\n <span>{{ node.title }}</span>\r\n </ng-template>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #defaultIconTemplate let-node let-origin=\"origin\">\r\n <i style=\"line-height: 28px\" aria-hidden=\"true\">\r\n <ng-container *ngTemplateOutlet=\"node.isExpanded ? minusIcon : plusIcon\"></ng-container\r\n ></i>\r\n</ng-template>\r\n\r\n<ng-template #minusIcon>\r\n <svg\r\n width=\"15\"\r\n height=\"15\"\r\n viewBox=\"0 0 24 24\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n >\r\n <path\r\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\"\r\n />\r\n </svg>\r\n</ng-template>\r\n\r\n<ng-template #plusIcon>\r\n <svg\r\n width=\"15\"\r\n height=\"15\"\r\n viewBox=\"0 0 24 24\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n >\r\n <path\r\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\"\r\n />\r\n </svg>\r\n</ng-template>\r\n","import { CoreModule } from '@abp/ng.core';\r\nimport { NgModule } from '@angular/core';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';\r\nimport { NzTreeModule } from 'ng-zorro-antd/tree';\r\nimport { TreeComponent } from './components/tree.component';\r\nimport { ExpandedIconTemplateDirective } from './templates/expanded-icon-template.directive';\r\nimport { TreeNodeTemplateDirective } from './templates/tree-node-template.directive';\r\n\r\nconst templates = [TreeNodeTemplateDirective, ExpandedIconTemplateDirective];\r\n\r\nconst exported = [...templates, TreeComponent];\r\n\r\n@NgModule({\r\n imports: [CoreModule, NzTreeModule, NgbDropdownModule, NzNoAnimationModule],\r\n exports: [...exported],\r\n declarations: [...exported],\r\n})\r\nexport class TreeModule {}\r\n","export abstract class BaseNode {\r\n name?: string;\r\n displayName?: string;\r\n\r\n constructor(public id: string, public parentId: string | null) {}\r\n}\r\n\r\nclass TreeNode<T extends BaseNode> extends BaseNode {\r\n title: string | undefined;\r\n key: string;\r\n icon: string | null = null;\r\n children: TreeNode<T>[] = [];\r\n isLeaf = true;\r\n checked = false;\r\n selected = false;\r\n expanded = false;\r\n selectable = true;\r\n disabled = false;\r\n disableCheckbox = false;\r\n parentNode?: TreeNode<T> | null;\r\n\r\n constructor(public entity: T, private nameResolver = ent => ent.displayName || ent.name) {\r\n super(entity.id, entity.parentId);\r\n this.key = entity.id;\r\n this.title = nameResolver(entity);\r\n }\r\n}\r\n\r\nexport class TreeAdapter<T extends BaseNode = BaseNode> {\r\n private tree: TreeNode<T>[];\r\n\r\n constructor(private list: T[] = []) {\r\n this.tree = createTreeFromList(this.list);\r\n }\r\n\r\n getList() {\r\n return this.list;\r\n }\r\n\r\n getTree() {\r\n return this.tree;\r\n }\r\n\r\n handleDrop({ key, parentNode }: TreeNode<T>) {\r\n const index = this.list.findIndex(({ id }) => id === key);\r\n this.list[index].parentId = parentNode ? parentNode.key : null;\r\n this.tree = createTreeFromList(this.list);\r\n }\r\n\r\n handleRemove({ key }: TreeNode<T>) {\r\n this.updateTreeFromList(this.list.filter(item => item.id !== key));\r\n }\r\n\r\n handleUpdate({ key, children }: { key: string; children: T[] }) {\r\n /**\r\n * When we need to update a node with new children, first we need to remove any descendant nodes.\r\n * If we remove immediate children and create a new tree, any other descendant nodes will be removed\r\n * and we won't need to recursively remove sub children.\r\n * Then, you simply add back the new children and create a new tree.\r\n */\r\n const listWithDescendantNodesRemoved = this.updateTreeFromList(\r\n this.list.filter(item => item.parentId !== key),\r\n );\r\n this.updateTreeFromList(listWithDescendantNodesRemoved.concat(children));\r\n }\r\n\r\n updateTreeFromList(list: T[]) {\r\n this.tree = createTreeFromList(list);\r\n this.list = createListFromTree(this.tree);\r\n return this.list;\r\n }\r\n}\r\n\r\n// UTILITY FUNCTIONS\r\n\r\nfunction createTreeFromList<T extends BaseNode>(list: T[]): TreeNode<T>[] {\r\n const map = createMapFromList(list);\r\n const tree: TreeNode<T>[] = [];\r\n\r\n list.forEach(row => {\r\n const parentId = row.parentId;\r\n const node = map.get(row.id);\r\n if (parentId) {\r\n const parent = map.get(parentId);\r\n if (!parent) return;\r\n parent.children.push(node);\r\n parent.isLeaf = false;\r\n } else {\r\n tree.push(node);\r\n }\r\n });\r\n\r\n return tree;\r\n}\r\n\r\nfunction createListFromTree<T extends BaseNode>(tree: TreeNode<T>[], list: T[] = []): T[] {\r\n tree.forEach(node => {\r\n list.push({ ...node.entity, parentId: node.parentId });\r\n if (node.children) createListFromTree(node.children, list);\r\n });\r\n\r\n return list;\r\n}\r\n\r\nfunction createMapFromList<T extends BaseNode>(\r\n list: T[],\r\n map = new Map<string, TreeNode<T>>(),\r\n): Map<string, TreeNode<T>> {\r\n list.forEach(row => map.set(row.id, new TreeNode(row)));\r\n\r\n return map;\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -5,4 +5,4 @@
5
5
  /**
6
6
  * Generated bundle index. Do not edit.
7
7
  */
8
- //# sourceMappingURL=abp-ng.components.js.map
8
+ //# sourceMappingURL=abp-ng.components.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abp-ng.components.mjs","sources":["../../../../packages/components/src/public-api.ts","../../../../packages/components/src/abp-ng.components.ts"],"sourcesContent":["/*\r\n * Public API Surface of components\r\n */\r\n\r\nexport {};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"AAAA;;;;ACAA;;"}
package/package.json CHANGED
@@ -1,29 +1,66 @@
1
1
  {
2
2
  "name": "@abp/ng.components",
3
- "version": "5.0.0",
3
+ "version": "5.1.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-rc.2",
11
- "@abp/ng.theme.shared": ">=5.0.0-rc.2",
10
+ "@abp/ng.core": ">=5.1.1",
11
+ "@abp/ng.theme.shared": ">=5.1.1",
12
12
  "@ng-bootstrap/ng-bootstrap": ">=10.0.0"
13
13
  },
14
14
  "dependencies": {
15
15
  "chart.js": "^3.5.1",
16
- "ng-zorro-antd": "^12.0.1",
16
+ "ng-zorro-antd": "^13.0.0",
17
17
  "tslib": "^2.0.0"
18
18
  },
19
19
  "publishConfig": {
20
20
  "access": "public"
21
21
  },
22
- "main": "bundles/abp-ng.components.umd.js",
23
- "module": "fesm2015/abp-ng.components.js",
24
- "es2015": "fesm2015/abp-ng.components.js",
25
- "esm2015": "esm2015/abp-ng.components.js",
26
- "fesm2015": "fesm2015/abp-ng.components.js",
22
+ "module": "fesm2015/abp-ng.components.mjs",
23
+ "es2020": "fesm2020/abp-ng.components.mjs",
24
+ "esm2020": "esm2020/abp-ng.components.mjs",
25
+ "fesm2020": "fesm2020/abp-ng.components.mjs",
26
+ "fesm2015": "fesm2015/abp-ng.components.mjs",
27
27
  "typings": "abp-ng.components.d.ts",
28
+ "exports": {
29
+ "./package.json": {
30
+ "default": "./package.json"
31
+ },
32
+ ".": {
33
+ "types": "./abp-ng.components.d.ts",
34
+ "esm2020": "./esm2020/abp-ng.components.mjs",
35
+ "es2020": "./fesm2020/abp-ng.components.mjs",
36
+ "es2015": "./fesm2015/abp-ng.components.mjs",
37
+ "node": "./fesm2015/abp-ng.components.mjs",
38
+ "default": "./fesm2020/abp-ng.components.mjs"
39
+ },
40
+ "./chart.js": {
41
+ "types": "./chart.js/abp-ng.components-chart.js.d.ts",
42
+ "esm2020": "./esm2020/chart.js/abp-ng.components-chart.js.mjs",
43
+ "es2020": "./fesm2020/abp-ng.components-chart.js.mjs",
44
+ "es2015": "./fesm2015/abp-ng.components-chart.js.mjs",
45
+ "node": "./fesm2015/abp-ng.components-chart.js.mjs",
46
+ "default": "./fesm2020/abp-ng.components-chart.js.mjs"
47
+ },
48
+ "./page": {
49
+ "types": "./page/abp-ng.components-page.d.ts",
50
+ "esm2020": "./esm2020/page/abp-ng.components-page.mjs",
51
+ "es2020": "./fesm2020/abp-ng.components-page.mjs",
52
+ "es2015": "./fesm2015/abp-ng.components-page.mjs",
53
+ "node": "./fesm2015/abp-ng.components-page.mjs",
54
+ "default": "./fesm2020/abp-ng.components-page.mjs"
55
+ },
56
+ "./tree": {
57
+ "types": "./tree/abp-ng.components-tree.d.ts",
58
+ "esm2020": "./esm2020/tree/abp-ng.components-tree.mjs",
59
+ "es2020": "./fesm2020/abp-ng.components-tree.mjs",
60
+ "es2015": "./fesm2015/abp-ng.components-tree.mjs",
61
+ "node": "./fesm2015/abp-ng.components-tree.mjs",
62
+ "default": "./fesm2020/abp-ng.components-tree.mjs"
63
+ }
64
+ },
28
65
  "sideEffects": false
29
66
  }