@abp/ng.components 7.2.2 → 7.3.0-rc.1

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 (71) hide show
  1. package/chart.js/chart.component.d.ts +30 -30
  2. package/chart.js/chart.module.d.ts +8 -8
  3. package/chart.js/index.d.ts +5 -5
  4. package/chart.js/public-api.d.ts +3 -3
  5. package/chart.js/widget-utils.d.ts +1 -1
  6. package/{esm2020 → esm2022}/abp-ng.components.mjs +4 -4
  7. package/{esm2020 → esm2022}/chart.js/abp-ng.components-chart.js.mjs +4 -4
  8. package/esm2022/chart.js/chart.component.mjs +141 -0
  9. package/esm2022/chart.js/chart.module.mjs +20 -0
  10. package/{esm2020 → esm2022}/chart.js/public-api.mjs +3 -3
  11. package/{esm2020 → esm2022}/chart.js/widget-utils.mjs +10 -10
  12. package/{esm2020 → esm2022}/page/abp-ng.components-page.mjs +4 -4
  13. package/esm2022/page/page-part.directive.mjs +77 -0
  14. package/esm2022/page/page-parts.component.mjs +48 -0
  15. package/esm2022/page/page.component.mjs +56 -0
  16. package/esm2022/page/page.module.mjs +39 -0
  17. package/{esm2020 → esm2022}/page/public-api.mjs +4 -4
  18. package/{esm2020 → esm2022}/public-api.mjs +4 -4
  19. package/{esm2020 → esm2022}/tree/abp-ng.components-tree.mjs +4 -4
  20. package/esm2022/tree/lib/components/tree.component.mjs +154 -0
  21. package/{esm2020 → esm2022}/tree/lib/disable-tree-style-loading.token.mjs +2 -2
  22. package/esm2022/tree/lib/templates/expanded-icon-template.directive.mjs +17 -0
  23. package/esm2022/tree/lib/templates/tree-node-template.directive.mjs +17 -0
  24. package/esm2022/tree/lib/tree.module.mjs +26 -0
  25. package/{esm2020 → esm2022}/tree/lib/utils/nz-tree-adapter.mjs +91 -91
  26. package/{esm2020 → esm2022}/tree/public-api.mjs +6 -6
  27. package/{fesm2020 → fesm2022}/abp-ng.components-chart.js.mjs +135 -135
  28. package/fesm2022/abp-ng.components-chart.js.mjs.map +1 -0
  29. package/{fesm2020 → fesm2022}/abp-ng.components-page.mjs +187 -187
  30. package/{fesm2020 → fesm2022}/abp-ng.components-page.mjs.map +1 -1
  31. package/{fesm2020 → fesm2022}/abp-ng.components-tree.mjs +269 -269
  32. package/fesm2022/abp-ng.components-tree.mjs.map +1 -0
  33. package/{fesm2020 → fesm2022}/abp-ng.components.mjs +4 -4
  34. package/index.d.ts +5 -5
  35. package/package.json +16 -29
  36. package/page/index.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/index.d.ts +5 -5
  44. package/tree/lib/components/tree.component.d.ts +51 -51
  45. package/tree/lib/disable-tree-style-loading.token.d.ts +2 -2
  46. package/tree/lib/templates/expanded-icon-template.directive.d.ts +8 -8
  47. package/tree/lib/templates/tree-node-template.directive.d.ts +8 -8
  48. package/tree/lib/tree.module.d.ts +13 -13
  49. package/tree/lib/utils/nz-tree-adapter.d.ts +38 -38
  50. package/tree/public-api.d.ts +6 -6
  51. package/esm2020/chart.js/chart.component.mjs +0 -140
  52. package/esm2020/chart.js/chart.module.mjs +0 -19
  53. package/esm2020/page/page-part.directive.mjs +0 -76
  54. package/esm2020/page/page-parts.component.mjs +0 -45
  55. package/esm2020/page/page.component.mjs +0 -55
  56. package/esm2020/page/page.module.mjs +0 -38
  57. package/esm2020/tree/lib/components/tree.component.mjs +0 -153
  58. package/esm2020/tree/lib/templates/expanded-icon-template.directive.mjs +0 -16
  59. package/esm2020/tree/lib/templates/tree-node-template.directive.mjs +0 -16
  60. package/esm2020/tree/lib/tree.module.mjs +0 -25
  61. package/fesm2015/abp-ng.components-chart.js.mjs +0 -175
  62. package/fesm2015/abp-ng.components-chart.js.mjs.map +0 -1
  63. package/fesm2015/abp-ng.components-page.mjs +0 -215
  64. package/fesm2015/abp-ng.components-page.mjs.map +0 -1
  65. package/fesm2015/abp-ng.components-tree.mjs +0 -300
  66. package/fesm2015/abp-ng.components-tree.mjs.map +0 -1
  67. package/fesm2015/abp-ng.components.mjs +0 -4
  68. package/fesm2015/abp-ng.components.mjs.map +0 -1
  69. package/fesm2020/abp-ng.components-chart.js.mjs.map +0 -1
  70. package/fesm2020/abp-ng.components-tree.mjs.map +0 -1
  71. /package/{fesm2020 → fesm2022}/abp-ng.components.mjs.map +0 -0
@@ -9,201 +9,201 @@ import * as i0 from '@angular/core';
9
9
  import { InjectionToken, Directive, Optional, Inject, Input, Component, ViewEncapsulation, ContentChild, NgModule } from '@angular/core';
10
10
  import { Observable, of } from 'rxjs';
11
11
 
12
- const PAGE_RENDER_STRATEGY = new InjectionToken('PAGE_RENDER_STRATEGY');
13
- class PagePartDirective {
14
- constructor(templateRef, viewContainer, renderLogic, injector) {
15
- this.templateRef = templateRef;
16
- this.viewContainer = viewContainer;
17
- this.renderLogic = renderLogic;
18
- this.injector = injector;
19
- this.hasRendered = false;
20
- this.render = (shouldRender) => {
21
- if (shouldRender && !this.hasRendered) {
22
- this.viewContainer.createEmbeddedView(this.templateRef);
23
- this.hasRendered = true;
24
- }
25
- else if (!shouldRender && this.hasRendered) {
26
- this.viewContainer.clear();
27
- this.hasRendered = false;
28
- }
29
- };
30
- }
31
- set abpPagePart(type) {
32
- this.type = type;
33
- this.createRenderStream(type);
34
- }
35
- ngOnChanges({ context }) {
36
- if (this.renderLogic?.onContextUpdate) {
37
- this.renderLogic.onContextUpdate(context);
38
- }
39
- }
40
- ngOnInit() {
41
- if (this.renderLogic?.onInit) {
42
- this.renderLogic.onInit(this.type, this.injector, this.context);
43
- }
44
- }
45
- ngOnDestroy() {
46
- this.clearSubscription();
47
- if (this.renderLogic?.onDestroy) {
48
- this.renderLogic.onDestroy(this.type, this.injector, this.context);
49
- }
50
- }
51
- shouldRender(type) {
52
- if (this.renderLogic) {
53
- const willRender = this.renderLogic.shouldRender(type);
54
- return willRender instanceof Observable ? willRender : of(willRender);
55
- }
56
- return of(true);
57
- }
58
- createRenderStream(type) {
59
- this.clearSubscription();
60
- this.subscription = this.shouldRender(type).subscribe(this.render);
61
- }
62
- clearSubscription() {
63
- if (this.subscription) {
64
- this.subscription.unsubscribe();
65
- }
66
- }
67
- }
68
- PagePartDirectivefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", 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: "14.0.0", version: "15.0.4", type: PagePartDirective, selector: "[abpPagePart]", inputs: { context: ["abpPagePartContext", "context"], abpPagePart: "abpPagePart" }, usesOnChanges: true, ngImport: i0 });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PagePartDirective, decorators: [{
71
- type: Directive,
72
- args: [{ selector: '[abpPagePart]' }]
73
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
74
- type: Optional
75
- }, {
76
- type: Inject,
77
- args: [PAGE_RENDER_STRATEGY]
78
- }] }, { type: i0.Injector }]; }, propDecorators: { context: [{
79
- type: Input,
80
- args: ['abpPagePartContext']
81
- }], abpPagePart: [{
82
- type: Input
12
+ const PAGE_RENDER_STRATEGY = new InjectionToken('PAGE_RENDER_STRATEGY');
13
+ class PagePartDirective {
14
+ set abpPagePart(type) {
15
+ this.type = type;
16
+ this.createRenderStream(type);
17
+ }
18
+ constructor(templateRef, viewContainer, renderLogic, injector) {
19
+ this.templateRef = templateRef;
20
+ this.viewContainer = viewContainer;
21
+ this.renderLogic = renderLogic;
22
+ this.injector = injector;
23
+ this.hasRendered = false;
24
+ this.render = (shouldRender) => {
25
+ if (shouldRender && !this.hasRendered) {
26
+ this.viewContainer.createEmbeddedView(this.templateRef);
27
+ this.hasRendered = true;
28
+ }
29
+ else if (!shouldRender && this.hasRendered) {
30
+ this.viewContainer.clear();
31
+ this.hasRendered = false;
32
+ }
33
+ };
34
+ }
35
+ ngOnChanges({ context }) {
36
+ if (this.renderLogic?.onContextUpdate) {
37
+ this.renderLogic.onContextUpdate(context);
38
+ }
39
+ }
40
+ ngOnInit() {
41
+ if (this.renderLogic?.onInit) {
42
+ this.renderLogic.onInit(this.type, this.injector, this.context);
43
+ }
44
+ }
45
+ ngOnDestroy() {
46
+ this.clearSubscription();
47
+ if (this.renderLogic?.onDestroy) {
48
+ this.renderLogic.onDestroy(this.type, this.injector, this.context);
49
+ }
50
+ }
51
+ shouldRender(type) {
52
+ if (this.renderLogic) {
53
+ const willRender = this.renderLogic.shouldRender(type);
54
+ return willRender instanceof Observable ? willRender : of(willRender);
55
+ }
56
+ return of(true);
57
+ }
58
+ createRenderStream(type) {
59
+ this.clearSubscription();
60
+ this.subscription = this.shouldRender(type).subscribe(this.render);
61
+ }
62
+ clearSubscription() {
63
+ if (this.subscription) {
64
+ this.subscription.unsubscribe();
65
+ }
66
+ }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.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 }); }
68
+ static { thisdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: PagePartDirective, selector: "[abpPagePart]", inputs: { context: ["abpPagePartContext", "context"], abpPagePart: "abpPagePart" }, usesOnChanges: true, ngImport: i0 }); }
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PagePartDirective, decorators: [{
71
+ type: Directive,
72
+ args: [{ selector: '[abpPagePart]' }]
73
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{
74
+ type: Optional
75
+ }, {
76
+ type: Inject,
77
+ args: [PAGE_RENDER_STRATEGY]
78
+ }] }, { type: i0.Injector }]; }, propDecorators: { context: [{
79
+ type: Input,
80
+ args: ['abpPagePartContext']
81
+ }], abpPagePart: [{
82
+ type: Input
83
83
  }] } });
84
84
 
85
- var PageParts;
86
- (function (PageParts) {
87
- PageParts["title"] = "PageTitleContainerComponent";
88
- PageParts["breadcrumb"] = "PageBreadcrumbContainerComponent";
89
- PageParts["toolbar"] = "PageToolbarContainerComponent";
90
- })(PageParts || (PageParts = {}));
91
- class PageTitleContainerComponent {
92
- }
93
- PageTitleContainerComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageTitleContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
94
- PageTitleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", 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: "15.0.4", ngImport: i0, type: PageTitleContainerComponent, decorators: [{
96
- type: Component,
97
- args: [{
98
- selector: 'abp-page-title-container',
99
- template: ` <ng-content></ng-content> `,
100
- encapsulation: ViewEncapsulation.None,
101
- }]
102
- }] });
103
- class PageBreadcrumbContainerComponent {
104
- }
105
- PageBreadcrumbContainerComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageBreadcrumbContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
106
- PageBreadcrumbContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", 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: "15.0.4", ngImport: i0, type: PageBreadcrumbContainerComponent, decorators: [{
108
- type: Component,
109
- args: [{
110
- selector: 'abp-page-breadcrumb-container',
111
- template: ` <ng-content></ng-content> `,
112
- encapsulation: ViewEncapsulation.None,
113
- }]
114
- }] });
115
- class PageToolbarContainerComponent {
116
- }
117
- PageToolbarContainerComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageToolbarContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
118
- PageToolbarContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", 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: "15.0.4", ngImport: i0, type: PageToolbarContainerComponent, decorators: [{
120
- type: Component,
121
- args: [{
122
- selector: 'abp-page-toolbar-container',
123
- template: ` <ng-content></ng-content> `,
124
- encapsulation: ViewEncapsulation.None,
125
- }]
85
+ var PageParts;
86
+ (function (PageParts) {
87
+ PageParts["title"] = "PageTitleContainerComponent";
88
+ PageParts["breadcrumb"] = "PageBreadcrumbContainerComponent";
89
+ PageParts["toolbar"] = "PageToolbarContainerComponent";
90
+ })(PageParts || (PageParts = {}));
91
+ class PageTitleContainerComponent {
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageTitleContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: PageTitleContainerComponent, selector: "abp-page-title-container", ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageTitleContainerComponent, decorators: [{
96
+ type: Component,
97
+ args: [{
98
+ selector: 'abp-page-title-container',
99
+ template: ` <ng-content></ng-content> `,
100
+ encapsulation: ViewEncapsulation.None,
101
+ }]
102
+ }] });
103
+ class PageBreadcrumbContainerComponent {
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageBreadcrumbContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: PageBreadcrumbContainerComponent, selector: "abp-page-breadcrumb-container", ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
106
+ }
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageBreadcrumbContainerComponent, decorators: [{
108
+ type: Component,
109
+ args: [{
110
+ selector: 'abp-page-breadcrumb-container',
111
+ template: ` <ng-content></ng-content> `,
112
+ encapsulation: ViewEncapsulation.None,
113
+ }]
114
+ }] });
115
+ class PageToolbarContainerComponent {
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageToolbarContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
117
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: PageToolbarContainerComponent, selector: "abp-page-toolbar-container", ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageToolbarContainerComponent, decorators: [{
120
+ type: Component,
121
+ args: [{
122
+ selector: 'abp-page-toolbar-container',
123
+ template: ` <ng-content></ng-content> `,
124
+ encapsulation: ViewEncapsulation.None,
125
+ }]
126
126
  }] });
127
127
 
128
- class PageComponent {
129
- constructor() {
130
- this.toolbarVisible = false;
131
- this.breadcrumb = true;
132
- this.pageParts = {
133
- title: PageParts.title,
134
- breadcrumb: PageParts.breadcrumb,
135
- toolbar: PageParts.toolbar,
136
- };
137
- }
138
- set toolbar(val) {
139
- this._toolbarData = val;
140
- this.toolbarVisible = true;
141
- }
142
- get toolbarData() {
143
- return this._toolbarData;
144
- }
145
- get shouldRenderRow() {
146
- return !!(this.title ||
147
- this.toolbarVisible ||
148
- this.breadcrumb ||
149
- this.customTitle ||
150
- this.customBreadcrumb ||
151
- this.customToolbar);
152
- }
153
- }
154
- PageComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
155
- PageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: PageComponent, selector: "abp-page", inputs: { title: "title", toolbar: "toolbar", breadcrumb: "breadcrumb" }, 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=\"breadcrumb\">\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", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }, { kind: "component", type: i3.BreadcrumbComponent, selector: "abp-breadcrumb" }, { kind: "directive", type: PagePartDirective, selector: "[abpPagePart]", inputs: ["abpPagePartContext", "abpPagePart"] }], encapsulation: i0.ViewEncapsulation.None });
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageComponent, decorators: [{
157
- type: Component,
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=\"breadcrumb\">\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" }]
159
- }], propDecorators: { title: [{
160
- type: Input
161
- }], toolbar: [{
162
- type: Input
163
- }], breadcrumb: [{
164
- type: Input
165
- }], customTitle: [{
166
- type: ContentChild,
167
- args: [PageTitleContainerComponent]
168
- }], customBreadcrumb: [{
169
- type: ContentChild,
170
- args: [PageBreadcrumbContainerComponent]
171
- }], customToolbar: [{
172
- type: ContentChild,
173
- args: [PageToolbarContainerComponent]
128
+ class PageComponent {
129
+ constructor() {
130
+ this.toolbarVisible = false;
131
+ this.breadcrumb = true;
132
+ this.pageParts = {
133
+ title: PageParts.title,
134
+ breadcrumb: PageParts.breadcrumb,
135
+ toolbar: PageParts.toolbar,
136
+ };
137
+ }
138
+ set toolbar(val) {
139
+ this._toolbarData = val;
140
+ this.toolbarVisible = true;
141
+ }
142
+ get toolbarData() {
143
+ return this._toolbarData;
144
+ }
145
+ get shouldRenderRow() {
146
+ return !!(this.title ||
147
+ this.toolbarVisible ||
148
+ this.breadcrumb ||
149
+ this.customTitle ||
150
+ this.customBreadcrumb ||
151
+ this.customToolbar);
152
+ }
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
154
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: PageComponent, selector: "abp-page", inputs: { title: "title", toolbar: "toolbar", breadcrumb: "breadcrumb" }, 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=\"breadcrumb\">\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", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }, { kind: "component", type: i3.BreadcrumbComponent, selector: "abp-breadcrumb" }, { kind: "directive", type: PagePartDirective, selector: "[abpPagePart]", inputs: ["abpPagePartContext", "abpPagePart"] }], encapsulation: i0.ViewEncapsulation.None }); }
155
+ }
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageComponent, decorators: [{
157
+ type: Component,
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=\"breadcrumb\">\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" }]
159
+ }], propDecorators: { title: [{
160
+ type: Input
161
+ }], toolbar: [{
162
+ type: Input
163
+ }], breadcrumb: [{
164
+ type: Input
165
+ }], customTitle: [{
166
+ type: ContentChild,
167
+ args: [PageTitleContainerComponent]
168
+ }], customBreadcrumb: [{
169
+ type: ContentChild,
170
+ args: [PageBreadcrumbContainerComponent]
171
+ }], customToolbar: [{
172
+ type: ContentChild,
173
+ args: [PageToolbarContainerComponent]
174
174
  }] } });
175
175
 
176
- const exportedDeclarations = [
177
- PageComponent,
178
- PageTitleContainerComponent,
179
- PageBreadcrumbContainerComponent,
180
- PageToolbarContainerComponent,
181
- PagePartDirective,
182
- ];
183
- class PageModule {
184
- }
185
- PageModulefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
186
- PageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: PageModule, declarations: [PageComponent,
187
- PageTitleContainerComponent,
188
- PageBreadcrumbContainerComponent,
189
- PageToolbarContainerComponent,
190
- PagePartDirective], imports: [CommonModule, UiExtensionsModule, CoreModule, ThemeSharedModule], exports: [PageComponent,
191
- PageTitleContainerComponent,
192
- PageBreadcrumbContainerComponent,
193
- PageToolbarContainerComponent,
194
- PagePartDirective, UiExtensionsModule] });
195
- PageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageModule, imports: [CommonModule, UiExtensionsModule, CoreModule, ThemeSharedModule, UiExtensionsModule] });
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PageModule, decorators: [{
197
- type: NgModule,
198
- args: [{
199
- declarations: [...exportedDeclarations],
200
- imports: [CommonModule, UiExtensionsModule, CoreModule, ThemeSharedModule],
201
- exports: [...exportedDeclarations, UiExtensionsModule],
202
- }]
176
+ const exportedDeclarations = [
177
+ PageComponent,
178
+ PageTitleContainerComponent,
179
+ PageBreadcrumbContainerComponent,
180
+ PageToolbarContainerComponent,
181
+ PagePartDirective,
182
+ ];
183
+ class PageModule {
184
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
185
+ static { thismod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: PageModule, declarations: [PageComponent,
186
+ PageTitleContainerComponent,
187
+ PageBreadcrumbContainerComponent,
188
+ PageToolbarContainerComponent,
189
+ PagePartDirective], imports: [CommonModule, UiExtensionsModule, CoreModule, ThemeSharedModule], exports: [PageComponent,
190
+ PageTitleContainerComponent,
191
+ PageBreadcrumbContainerComponent,
192
+ PageToolbarContainerComponent,
193
+ PagePartDirective, UiExtensionsModule] }); }
194
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageModule, imports: [CommonModule, UiExtensionsModule, CoreModule, ThemeSharedModule, UiExtensionsModule] }); }
195
+ }
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: PageModule, decorators: [{
197
+ type: NgModule,
198
+ args: [{
199
+ declarations: [...exportedDeclarations],
200
+ imports: [CommonModule, UiExtensionsModule, CoreModule, ThemeSharedModule],
201
+ exports: [...exportedDeclarations, UiExtensionsModule],
202
+ }]
203
203
  }] });
204
204
 
205
- /**
206
- * Generated bundle index. Do not edit.
205
+ /**
206
+ * Generated bundle index. Do not edit.
207
207
  */
208
208
 
209
209
  export { PAGE_RENDER_STRATEGY, PageBreadcrumbContainerComponent, PageComponent, PageModule, PagePartDirective, PageParts, PageTitleContainerComponent, PageToolbarContainerComponent };
@@ -1 +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() set toolbar(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 = 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.breadcrumb ||\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=\"breadcrumb\">\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":["i4.PagePartDirective"],"mappings":"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"}
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() set toolbar(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 = 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.breadcrumb ||\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=\"breadcrumb\">\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":["i4.PagePartDirective"],"mappings":"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"}