@delon/abc 13.1.0 → 13.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/auto-focus/auto-focus.directive.d.ts +3 -1
- package/ellipsis/ellipsis.component.d.ts +1 -0
- package/error-collect/error-collect.component.d.ts +4 -2
- package/esm2020/auto-focus/auto-focus.directive.mjs +9 -7
- package/esm2020/auto-focus/auto-focus.module.mjs +4 -4
- package/esm2020/avatar-list/avatar-list-item.component.mjs +3 -3
- package/esm2020/avatar-list/avatar-list.component.mjs +3 -3
- package/esm2020/avatar-list/avatar-list.module.mjs +4 -4
- package/esm2020/count-down/count-down.component.mjs +3 -3
- package/esm2020/count-down/count-down.module.mjs +4 -4
- package/esm2020/date-picker/date-picker.module.mjs +4 -4
- package/esm2020/date-picker/range-shortcut.component.mjs +3 -3
- package/esm2020/date-picker/range.directive.mjs +3 -3
- package/esm2020/down-file/down-file.directive.mjs +3 -3
- package/esm2020/down-file/down-file.module.mjs +4 -4
- package/esm2020/ellipsis/ellipsis.component.mjs +8 -5
- package/esm2020/ellipsis/ellipsis.module.mjs +4 -4
- package/esm2020/error-collect/error-collect.component.mjs +12 -8
- package/esm2020/error-collect/error-collect.module.mjs +4 -4
- package/esm2020/exception/exception.component.mjs +3 -3
- package/esm2020/exception/exception.module.mjs +4 -4
- package/esm2020/footer-toolbar/footer-toolbar.component.mjs +3 -3
- package/esm2020/footer-toolbar/footer-toolbar.module.mjs +4 -4
- package/esm2020/full-content/full-content-toggle.directive.mjs +3 -3
- package/esm2020/full-content/full-content.component.mjs +17 -15
- package/esm2020/full-content/full-content.module.mjs +4 -4
- package/esm2020/full-content/full-content.service.mjs +3 -3
- package/esm2020/global-footer/global-footer-item.component.mjs +3 -3
- package/esm2020/global-footer/global-footer.component.mjs +3 -3
- package/esm2020/global-footer/global-footer.module.mjs +4 -4
- package/esm2020/image/image.directive.mjs +3 -3
- package/esm2020/image/image.module.mjs +4 -4
- package/esm2020/let/let.directive.mjs +3 -3
- package/esm2020/let/let.module.mjs +4 -4
- package/esm2020/loading/loading.component.mjs +3 -3
- package/esm2020/loading/loading.module.mjs +4 -4
- package/esm2020/loading/loading.service.mjs +3 -3
- package/esm2020/lodop/lodop.module.mjs +4 -4
- package/esm2020/lodop/lodop.service.mjs +3 -3
- package/esm2020/media/media.component.mjs +25 -13
- package/esm2020/media/media.module.mjs +4 -4
- package/esm2020/media/media.service.mjs +6 -5
- package/esm2020/media/public_api.mjs +1 -2
- package/esm2020/notice-icon/notice-icon-tab.component.mjs +3 -3
- package/esm2020/notice-icon/notice-icon.component.mjs +3 -3
- package/esm2020/notice-icon/notice-icon.module.mjs +4 -4
- package/esm2020/onboarding/onboarding.component.mjs +3 -3
- package/esm2020/onboarding/onboarding.module.mjs +4 -4
- package/esm2020/onboarding/onboarding.service.mjs +3 -3
- package/esm2020/page-header/page-header.component.mjs +3 -3
- package/esm2020/page-header/page-header.module.mjs +4 -4
- package/esm2020/pdf/pdf.component.mjs +27 -13
- package/esm2020/pdf/pdf.module.mjs +4 -4
- package/esm2020/qr/qr.component.mjs +5 -5
- package/esm2020/qr/qr.module.mjs +4 -4
- package/esm2020/quick-menu/quick-menu.component.mjs +3 -3
- package/esm2020/quick-menu/quick-menu.module.mjs +4 -4
- package/esm2020/result/result.component.mjs +3 -3
- package/esm2020/result/result.module.mjs +4 -4
- package/esm2020/reuse-tab/reuse-tab-context-menu.component.mjs +3 -3
- package/esm2020/reuse-tab/reuse-tab-context.component.mjs +3 -3
- package/esm2020/reuse-tab/reuse-tab-context.directive.mjs +3 -3
- package/esm2020/reuse-tab/reuse-tab-context.service.mjs +3 -3
- package/esm2020/reuse-tab/reuse-tab.component.mjs +3 -3
- package/esm2020/reuse-tab/reuse-tab.module.mjs +4 -4
- package/esm2020/reuse-tab/reuse-tab.service.mjs +3 -3
- package/esm2020/se/se-container.component.mjs +6 -6
- package/esm2020/se/se.component.mjs +10 -12
- package/esm2020/se/se.module.mjs +4 -4
- package/esm2020/sg/sg-container.component.mjs +3 -3
- package/esm2020/sg/sg.component.mjs +3 -3
- package/esm2020/sg/sg.module.mjs +4 -4
- package/esm2020/st/st-column-source.mjs +3 -3
- package/esm2020/st/st-data-source.mjs +3 -3
- package/esm2020/st/st-export.mjs +3 -3
- package/esm2020/st/st-filter.component.mjs +3 -3
- package/esm2020/st/st-row.directive.mjs +6 -6
- package/esm2020/st/st-widget-host.directive.mjs +3 -3
- package/esm2020/st/st-widget.mjs +3 -3
- package/esm2020/st/st.component.mjs +6 -6
- package/esm2020/st/st.module.mjs +4 -4
- package/esm2020/sv/sv-container.component.mjs +6 -6
- package/esm2020/sv/sv-value.component.mjs +3 -3
- package/esm2020/sv/sv.component.mjs +3 -3
- package/esm2020/sv/sv.module.mjs +4 -4
- package/esm2020/tag-select/tag-select.component.mjs +3 -3
- package/esm2020/tag-select/tag-select.module.mjs +4 -4
- package/esm2020/xlsx/xlsx.directive.mjs +3 -3
- package/esm2020/xlsx/xlsx.module.mjs +4 -4
- package/esm2020/xlsx/xlsx.service.mjs +3 -3
- package/esm2020/zip/zip.module.mjs +4 -4
- package/esm2020/zip/zip.service.mjs +3 -3
- package/fesm2015/abc.mjs.map +1 -1
- package/fesm2015/auto-focus.mjs +12 -10
- package/fesm2015/auto-focus.mjs.map +1 -1
- package/fesm2015/avatar-list.mjs +10 -10
- package/fesm2015/avatar-list.mjs.map +1 -1
- package/fesm2015/count-down.mjs +7 -7
- package/fesm2015/count-down.mjs.map +1 -1
- package/fesm2015/date-picker.mjs +10 -10
- package/fesm2015/date-picker.mjs.map +1 -1
- package/fesm2015/down-file.mjs +7 -7
- package/fesm2015/down-file.mjs.map +1 -1
- package/fesm2015/ellipsis.mjs +11 -8
- package/fesm2015/ellipsis.mjs.map +1 -1
- package/fesm2015/error-collect.mjs +15 -11
- package/fesm2015/error-collect.mjs.map +1 -1
- package/fesm2015/exception.mjs +7 -7
- package/fesm2015/exception.mjs.map +1 -1
- package/fesm2015/footer-toolbar.mjs +7 -7
- package/fesm2015/footer-toolbar.mjs.map +1 -1
- package/fesm2015/full-content.mjs +26 -25
- package/fesm2015/full-content.mjs.map +1 -1
- package/fesm2015/global-footer.mjs +10 -10
- package/fesm2015/global-footer.mjs.map +1 -1
- package/fesm2015/image.mjs +7 -7
- package/fesm2015/image.mjs.map +1 -1
- package/fesm2015/let.mjs +7 -7
- package/fesm2015/let.mjs.map +1 -1
- package/fesm2015/loading.mjs +10 -10
- package/fesm2015/loading.mjs.map +1 -1
- package/fesm2015/lodop.mjs +7 -7
- package/fesm2015/lodop.mjs.map +1 -1
- package/fesm2015/media.mjs +32 -21
- package/fesm2015/media.mjs.map +1 -1
- package/fesm2015/notice-icon.mjs +10 -10
- package/fesm2015/notice-icon.mjs.map +1 -1
- package/fesm2015/onboarding.mjs +10 -10
- package/fesm2015/onboarding.mjs.map +1 -1
- package/fesm2015/page-header.mjs +7 -7
- package/fesm2015/page-header.mjs.map +1 -1
- package/fesm2015/pdf.mjs +32 -17
- package/fesm2015/pdf.mjs.map +1 -1
- package/fesm2015/qr.mjs +8 -8
- package/fesm2015/qr.mjs.map +1 -1
- package/fesm2015/quick-menu.mjs +7 -7
- package/fesm2015/quick-menu.mjs.map +1 -1
- package/fesm2015/result.mjs +7 -7
- package/fesm2015/result.mjs.map +1 -1
- package/fesm2015/reuse-tab.mjs +22 -22
- package/fesm2015/reuse-tab.mjs.map +1 -1
- package/fesm2015/se.mjs +19 -21
- package/fesm2015/se.mjs.map +1 -1
- package/fesm2015/sg.mjs +10 -10
- package/fesm2015/sg.mjs.map +1 -1
- package/fesm2015/st.mjs +34 -34
- package/fesm2015/st.mjs.map +1 -1
- package/fesm2015/sv.mjs +16 -16
- package/fesm2015/sv.mjs.map +1 -1
- package/fesm2015/tag-select.mjs +7 -7
- package/fesm2015/tag-select.mjs.map +1 -1
- package/fesm2015/xlsx.mjs +10 -10
- package/fesm2015/xlsx.mjs.map +1 -1
- package/fesm2015/zip.mjs +7 -7
- package/fesm2015/zip.mjs.map +1 -1
- package/fesm2020/abc.mjs.map +1 -1
- package/fesm2020/auto-focus.mjs +12 -10
- package/fesm2020/auto-focus.mjs.map +1 -1
- package/fesm2020/avatar-list.mjs +10 -10
- package/fesm2020/avatar-list.mjs.map +1 -1
- package/fesm2020/count-down.mjs +7 -7
- package/fesm2020/count-down.mjs.map +1 -1
- package/fesm2020/date-picker.mjs +10 -10
- package/fesm2020/date-picker.mjs.map +1 -1
- package/fesm2020/down-file.mjs +7 -7
- package/fesm2020/down-file.mjs.map +1 -1
- package/fesm2020/ellipsis.mjs +11 -8
- package/fesm2020/ellipsis.mjs.map +1 -1
- package/fesm2020/error-collect.mjs +15 -11
- package/fesm2020/error-collect.mjs.map +1 -1
- package/fesm2020/exception.mjs +7 -7
- package/fesm2020/exception.mjs.map +1 -1
- package/fesm2020/footer-toolbar.mjs +7 -7
- package/fesm2020/footer-toolbar.mjs.map +1 -1
- package/fesm2020/full-content.mjs +26 -24
- package/fesm2020/full-content.mjs.map +1 -1
- package/fesm2020/global-footer.mjs +10 -10
- package/fesm2020/global-footer.mjs.map +1 -1
- package/fesm2020/image.mjs +7 -7
- package/fesm2020/image.mjs.map +1 -1
- package/fesm2020/let.mjs +7 -7
- package/fesm2020/let.mjs.map +1 -1
- package/fesm2020/loading.mjs +10 -10
- package/fesm2020/loading.mjs.map +1 -1
- package/fesm2020/lodop.mjs +7 -7
- package/fesm2020/lodop.mjs.map +1 -1
- package/fesm2020/media.mjs +32 -21
- package/fesm2020/media.mjs.map +1 -1
- package/fesm2020/notice-icon.mjs +10 -10
- package/fesm2020/notice-icon.mjs.map +1 -1
- package/fesm2020/onboarding.mjs +10 -10
- package/fesm2020/onboarding.mjs.map +1 -1
- package/fesm2020/page-header.mjs +7 -7
- package/fesm2020/page-header.mjs.map +1 -1
- package/fesm2020/pdf.mjs +31 -17
- package/fesm2020/pdf.mjs.map +1 -1
- package/fesm2020/qr.mjs +8 -8
- package/fesm2020/qr.mjs.map +1 -1
- package/fesm2020/quick-menu.mjs +7 -7
- package/fesm2020/quick-menu.mjs.map +1 -1
- package/fesm2020/result.mjs +7 -7
- package/fesm2020/result.mjs.map +1 -1
- package/fesm2020/reuse-tab.mjs +22 -22
- package/fesm2020/reuse-tab.mjs.map +1 -1
- package/fesm2020/se.mjs +19 -21
- package/fesm2020/se.mjs.map +1 -1
- package/fesm2020/sg.mjs +10 -10
- package/fesm2020/sg.mjs.map +1 -1
- package/fesm2020/st.mjs +34 -34
- package/fesm2020/st.mjs.map +1 -1
- package/fesm2020/sv.mjs +16 -16
- package/fesm2020/sv.mjs.map +1 -1
- package/fesm2020/tag-select.mjs +7 -7
- package/fesm2020/tag-select.mjs.map +1 -1
- package/fesm2020/xlsx.mjs +10 -10
- package/fesm2020/xlsx.mjs.map +1 -1
- package/fesm2020/zip.mjs +7 -7
- package/fesm2020/zip.mjs.map +1 -1
- package/full-content/full-content.component.d.ts +1 -3
- package/media/media.component.d.ts +11 -12
- package/media/public_api.d.ts +0 -1
- package/package.json +6 -5
- package/pdf/pdf.component.d.ts +2 -1
- package/pdf/style/index.less +2 -2
- package/qr/qr.component.d.ts +1 -1
- package/se/se.component.d.ts +1 -1
- package/se/style/index.less +2 -0
- package/theme-dark.less +2 -2
- package/esm2020/media/plyr.types.mjs +0 -2
- package/media/plyr.types.d.ts +0 -58
package/fesm2020/notice-icon.mjs
CHANGED
|
@@ -36,9 +36,9 @@ class NoticeIconTabComponent {
|
|
|
36
36
|
this.clear.emit(this.data.title);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
NoticeIconTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
40
|
-
NoticeIconTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
39
|
+
NoticeIconTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NoticeIconTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
+
NoticeIconTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: NoticeIconTabComponent, selector: "notice-icon-tab", inputs: { locale: "locale", data: "data" }, outputs: { select: "select", clear: "clear" }, exportAs: ["noticeIconTab"], ngImport: i0, template: "<div *ngIf=\"data.list?.length === 0; else listTpl\" class=\"notice-icon__notfound\">\n <img class=\"notice-icon__notfound-img\" *ngIf=\"data.emptyImage\" [attr.src]=\"data.emptyImage\" alt=\"not found\" />\n <p>\n <ng-container *nzStringTemplateOutlet=\"data.emptyText\">\n {{ data.emptyText || locale.emptyText }}\n </ng-container>\n </p>\n</div>\n<ng-template #listTpl>\n <nz-list [nzDataSource]=\"data.list\" [nzRenderItem]=\"item\">\n <ng-template #item let-item>\n <nz-list-item (click)=\"onClick(item)\" [ngClass]=\"{ 'notice-icon__item-read': item.read }\">\n <nz-list-item-meta [nzTitle]=\"nzTitle\" [nzDescription]=\"nzDescription\" [nzAvatar]=\"item.avatar\">\n <ng-template #nzTitle>\n <ng-container *nzStringTemplateOutlet=\"item.title; context: { $implicit: item }\">{{\n item.title\n }}</ng-container>\n <div class=\"notice-icon__item-extra\" *ngIf=\"item.extra\">\n <nz-tag [nzColor]=\"item.color\">{{ item.extra }}</nz-tag>\n </div>\n </ng-template>\n <ng-template #nzDescription>\n <div *ngIf=\"item.description\" class=\"notice-icon__item-desc\">\n <ng-container *nzStringTemplateOutlet=\"item.description; context: { $implicit: item }\">{{\n item.description\n }}</ng-container>\n </div>\n <div *ngIf=\"item.datetime\" class=\"notice-icon__item-time\">{{ item.datetime }}</div>\n </ng-template>\n </nz-list-item-meta>\n </nz-list-item>\n </ng-template>\n </nz-list>\n <div class=\"notice-icon__clear\" (click)=\"onClear()\">{{ data.clearText || locale.clearText }}</div>\n</ng-template>\n", components: [{ type: i1.NzListComponent, selector: "nz-list, [nz-list]", inputs: ["nzDataSource", "nzBordered", "nzGrid", "nzHeader", "nzFooter", "nzItemLayout", "nzRenderItem", "nzLoading", "nzLoadMore", "nzPagination", "nzSize", "nzSplit", "nzNoResult"], exportAs: ["nzList"] }, { type: i1.NzListItemComponent, selector: "nz-list-item, [nz-list-item]", inputs: ["nzActions", "nzContent", "nzExtra", "nzNoFlex"], exportAs: ["nzListItem"] }, { type: i1.NzListItemMetaComponent, selector: "nz-list-item-meta, [nz-list-item-meta]", inputs: ["nzAvatar", "nzTitle", "nzDescription"], exportAs: ["nzListItemMeta"] }, { type: i2.NzTagComponent, selector: "nz-tag", inputs: ["nzMode", "nzColor", "nzChecked"], outputs: ["nzOnClose", "nzCheckedChange"], exportAs: ["nzTag"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NoticeIconTabComponent, decorators: [{
|
|
42
42
|
type: Component,
|
|
43
43
|
args: [{ selector: 'notice-icon-tab', exportAs: 'noticeIconTab', preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"data.list?.length === 0; else listTpl\" class=\"notice-icon__notfound\">\n <img class=\"notice-icon__notfound-img\" *ngIf=\"data.emptyImage\" [attr.src]=\"data.emptyImage\" alt=\"not found\" />\n <p>\n <ng-container *nzStringTemplateOutlet=\"data.emptyText\">\n {{ data.emptyText || locale.emptyText }}\n </ng-container>\n </p>\n</div>\n<ng-template #listTpl>\n <nz-list [nzDataSource]=\"data.list\" [nzRenderItem]=\"item\">\n <ng-template #item let-item>\n <nz-list-item (click)=\"onClick(item)\" [ngClass]=\"{ 'notice-icon__item-read': item.read }\">\n <nz-list-item-meta [nzTitle]=\"nzTitle\" [nzDescription]=\"nzDescription\" [nzAvatar]=\"item.avatar\">\n <ng-template #nzTitle>\n <ng-container *nzStringTemplateOutlet=\"item.title; context: { $implicit: item }\">{{\n item.title\n }}</ng-container>\n <div class=\"notice-icon__item-extra\" *ngIf=\"item.extra\">\n <nz-tag [nzColor]=\"item.color\">{{ item.extra }}</nz-tag>\n </div>\n </ng-template>\n <ng-template #nzDescription>\n <div *ngIf=\"item.description\" class=\"notice-icon__item-desc\">\n <ng-container *nzStringTemplateOutlet=\"item.description; context: { $implicit: item }\">{{\n item.description\n }}</ng-container>\n </div>\n <div *ngIf=\"item.datetime\" class=\"notice-icon__item-time\">{{ item.datetime }}</div>\n </ng-template>\n </nz-list-item-meta>\n </nz-list-item>\n </ng-template>\n </nz-list>\n <div class=\"notice-icon__clear\" (click)=\"onClear()\">{{ data.clearText || locale.clearText }}</div>\n</ng-template>\n" }]
|
|
44
44
|
}], propDecorators: { locale: [{
|
|
@@ -85,8 +85,8 @@ class NoticeIconComponent {
|
|
|
85
85
|
this.i18n$.unsubscribe();
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
NoticeIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
89
|
-
NoticeIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
88
|
+
NoticeIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NoticeIconComponent, deps: [{ token: i1$1.DelonLocaleService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
+
NoticeIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: NoticeIconComponent, selector: "notice-icon", inputs: { data: "data", count: "count", loading: "loading", popoverVisible: "popoverVisible", btnClass: "btnClass", btnIconClass: "btnIconClass" }, outputs: { select: "select", clear: "clear", popoverVisibleChange: "popoverVisibleChange" }, host: { properties: { "class.notice-icon__btn": "true" } }, exportAs: ["noticeIcon"], usesOnChanges: true, ngImport: i0, template: "<ng-template #badgeTpl>\n <nz-badge [nzCount]=\"count\" [ngClass]=\"btnClass!\" [nzStyle]=\"{ 'box-shadow': 'none' }\">\n <i nz-icon nzType=\"bell\" [ngClass]=\"btnIconClass!\"></i>\n </nz-badge>\n</ng-template>\n<div *ngIf=\"data!.length === 0\">\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<div\n *ngIf=\"data!.length > 0\"\n nz-dropdown\n [nzVisible]=\"popoverVisible\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n nzOverlayClassName=\"header-dropdown notice-icon\"\n [nzDropdownMenu]=\"noticeMenu\"\n>\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<nz-dropdown-menu #noticeMenu=\"nzDropdownMenu\">\n <nz-spin [nzSpinning]=\"loading\" [nzDelay]=\"0\">\n <nz-tabset nzSelectedIndex=\"0\">\n <nz-tab *ngFor=\"let i of data\" [nzTitle]=\"i.title\">\n <notice-icon-tab\n [locale]=\"locale\"\n [data]=\"i\"\n (select)=\"onSelect($event)\"\n (clear)=\"onClear($event)\"\n ></notice-icon-tab>\n </nz-tab>\n </nz-tabset>\n </nz-spin>\n</nz-dropdown-menu>\n", components: [{ type: i2$1.NzBadgeComponent, selector: "nz-badge", inputs: ["nzShowZero", "nzShowDot", "nzStandalone", "nzDot", "nzOverflowCount", "nzColor", "nzStyle", "nzText", "nzTitle", "nzStatus", "nzCount", "nzOffset"], exportAs: ["nzBadge"] }, { type: i3.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { type: i4$1.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { type: i5.NzTabSetComponent, selector: "nz-tabset", inputs: ["nzSelectedIndex", "nzTabPosition", "nzTabBarExtraContent", "nzCanDeactivate", "nzAddIcon", "nzTabBarStyle", "nzType", "nzSize", "nzAnimated", "nzTabBarGutter", "nzHideAdd", "nzCentered", "nzHideAll", "nzLinkRouter", "nzLinkExact"], outputs: ["nzSelectChange", "nzSelectedIndexChange", "nzTabListScroll", "nzClose", "nzAdd"], exportAs: ["nzTabset"] }, { type: i5.NzTabComponent, selector: "nz-tab", inputs: ["nzTitle", "nzClosable", "nzCloseIcon", "nzDisabled", "nzForceRender"], outputs: ["nzSelect", "nzDeselect", "nzClick", "nzContextmenu"], exportAs: ["nzTab"] }, { type: NoticeIconTabComponent, selector: "notice-icon-tab", inputs: ["locale", "data"], outputs: ["select", "clear"], exportAs: ["noticeIconTab"] }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
90
90
|
__decorate([
|
|
91
91
|
InputNumber()
|
|
92
92
|
], NoticeIconComponent.prototype, "count", void 0);
|
|
@@ -96,7 +96,7 @@ __decorate([
|
|
|
96
96
|
__decorate([
|
|
97
97
|
InputBoolean()
|
|
98
98
|
], NoticeIconComponent.prototype, "popoverVisible", void 0);
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NoticeIconComponent, decorators: [{
|
|
100
100
|
type: Component,
|
|
101
101
|
args: [{ selector: 'notice-icon', exportAs: 'noticeIcon', host: { '[class.notice-icon__btn]': 'true' }, preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #badgeTpl>\n <nz-badge [nzCount]=\"count\" [ngClass]=\"btnClass!\" [nzStyle]=\"{ 'box-shadow': 'none' }\">\n <i nz-icon nzType=\"bell\" [ngClass]=\"btnIconClass!\"></i>\n </nz-badge>\n</ng-template>\n<div *ngIf=\"data!.length === 0\">\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<div\n *ngIf=\"data!.length > 0\"\n nz-dropdown\n [nzVisible]=\"popoverVisible\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n nzOverlayClassName=\"header-dropdown notice-icon\"\n [nzDropdownMenu]=\"noticeMenu\"\n>\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<nz-dropdown-menu #noticeMenu=\"nzDropdownMenu\">\n <nz-spin [nzSpinning]=\"loading\" [nzDelay]=\"0\">\n <nz-tabset nzSelectedIndex=\"0\">\n <nz-tab *ngFor=\"let i of data\" [nzTitle]=\"i.title\">\n <notice-icon-tab\n [locale]=\"locale\"\n [data]=\"i\"\n (select)=\"onSelect($event)\"\n (clear)=\"onClear($event)\"\n ></notice-icon-tab>\n </nz-tab>\n </nz-tabset>\n </nz-spin>\n</nz-dropdown-menu>\n" }]
|
|
102
102
|
}], ctorParameters: function () { return [{ type: i1$1.DelonLocaleService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
|
|
@@ -122,8 +122,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
|
|
|
122
122
|
const COMPONENTS = [NoticeIconComponent];
|
|
123
123
|
class NoticeIconModule {
|
|
124
124
|
}
|
|
125
|
-
NoticeIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
126
|
-
NoticeIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
125
|
+
NoticeIconModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NoticeIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
126
|
+
NoticeIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NoticeIconModule, declarations: [NoticeIconComponent, NoticeIconTabComponent], imports: [CommonModule,
|
|
127
127
|
DelonLocaleModule,
|
|
128
128
|
NzBadgeModule,
|
|
129
129
|
NzDropDownModule,
|
|
@@ -133,7 +133,7 @@ NoticeIconModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
133
133
|
NzTabsModule,
|
|
134
134
|
NzTagModule,
|
|
135
135
|
NzOutletModule], exports: [NoticeIconComponent] });
|
|
136
|
-
NoticeIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
136
|
+
NoticeIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NoticeIconModule, imports: [[
|
|
137
137
|
CommonModule,
|
|
138
138
|
DelonLocaleModule,
|
|
139
139
|
NzBadgeModule,
|
|
@@ -145,7 +145,7 @@ NoticeIconModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
|
|
|
145
145
|
NzTagModule,
|
|
146
146
|
NzOutletModule
|
|
147
147
|
]] });
|
|
148
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
148
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NoticeIconModule, decorators: [{
|
|
149
149
|
type: NgModule,
|
|
150
150
|
args: [{
|
|
151
151
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notice-icon.mjs","sources":["../../../../packages/abc/notice-icon/notice-icon-tab.component.ts","../../../../packages/abc/notice-icon/notice-icon-tab.component.html","../../../../packages/abc/notice-icon/notice-icon.component.ts","../../../../packages/abc/notice-icon/notice-icon.component.html","../../../../packages/abc/notice-icon/notice-icon.module.ts","../../../../packages/abc/notice-icon/notice-icon.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\nimport { LocaleData } from '@delon/theme';\n\nimport { NoticeIconSelect, NoticeItem } from './notice-icon.types';\n\n@Component({\n selector: 'notice-icon-tab',\n exportAs: 'noticeIconTab',\n templateUrl: './notice-icon-tab.component.html',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None\n})\nexport class NoticeIconTabComponent {\n @Input() locale: LocaleData = {};\n @Input() data!: NoticeItem;\n @Output() readonly select = new EventEmitter<NoticeIconSelect>();\n @Output() readonly clear = new EventEmitter<string>();\n\n onClick(item: NoticeItem): void {\n this.select.emit({ title: this.data.title, item });\n }\n\n onClear(): void {\n this.clear.emit(this.data.title);\n }\n}\n","<div *ngIf=\"data.list?.length === 0; else listTpl\" class=\"notice-icon__notfound\">\n <img class=\"notice-icon__notfound-img\" *ngIf=\"data.emptyImage\" [attr.src]=\"data.emptyImage\" alt=\"not found\" />\n <p>\n <ng-container *nzStringTemplateOutlet=\"data.emptyText\">\n {{ data.emptyText || locale.emptyText }}\n </ng-container>\n </p>\n</div>\n<ng-template #listTpl>\n <nz-list [nzDataSource]=\"data.list\" [nzRenderItem]=\"item\">\n <ng-template #item let-item>\n <nz-list-item (click)=\"onClick(item)\" [ngClass]=\"{ 'notice-icon__item-read': item.read }\">\n <nz-list-item-meta [nzTitle]=\"nzTitle\" [nzDescription]=\"nzDescription\" [nzAvatar]=\"item.avatar\">\n <ng-template #nzTitle>\n <ng-container *nzStringTemplateOutlet=\"item.title; context: { $implicit: item }\">{{\n item.title\n }}</ng-container>\n <div class=\"notice-icon__item-extra\" *ngIf=\"item.extra\">\n <nz-tag [nzColor]=\"item.color\">{{ item.extra }}</nz-tag>\n </div>\n </ng-template>\n <ng-template #nzDescription>\n <div *ngIf=\"item.description\" class=\"notice-icon__item-desc\">\n <ng-container *nzStringTemplateOutlet=\"item.description; context: { $implicit: item }\">{{\n item.description\n }}</ng-container>\n </div>\n <div *ngIf=\"item.datetime\" class=\"notice-icon__item-time\">{{ item.datetime }}</div>\n </ng-template>\n </nz-list-item-meta>\n </nz-list-item>\n </ng-template>\n </nz-list>\n <div class=\"notice-icon__clear\" (click)=\"onClear()\">{{ data.clearText || locale.clearText }}</div>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DelonLocaleService, LocaleData } from '@delon/theme';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NgClassType } from 'ng-zorro-antd/core/types';\n\nimport { NoticeIconSelect, NoticeItem } from './notice-icon.types';\n\n@Component({\n selector: 'notice-icon',\n exportAs: 'noticeIcon',\n templateUrl: './notice-icon.component.html',\n host: { '[class.notice-icon__btn]': 'true' },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class NoticeIconComponent implements OnInit, OnChanges, OnDestroy {\n static ngAcceptInputType_count: NumberInput;\n static ngAcceptInputType_loading: BooleanInput;\n static ngAcceptInputType_popoverVisible: BooleanInput;\n\n private i18n$!: Subscription;\n locale: LocaleData = {};\n\n @Input() data: NoticeItem[] = [];\n @Input() @InputNumber() count?: number;\n @Input() @InputBoolean() loading = false;\n @Input() @InputBoolean() popoverVisible = false;\n @Input() btnClass?: NgClassType;\n @Input() btnIconClass?: NgClassType;\n @Output() readonly select = new EventEmitter<NoticeIconSelect>();\n @Output() readonly clear = new EventEmitter<string>();\n @Output() readonly popoverVisibleChange = new EventEmitter<boolean>();\n\n constructor(private i18n: DelonLocaleService, private cdr: ChangeDetectorRef) {}\n\n onVisibleChange(result: boolean): void {\n this.popoverVisibleChange.emit(result);\n }\n\n onSelect(i: NoticeIconSelect): void {\n this.select.emit(i);\n }\n\n onClear(title: string): void {\n this.clear.emit(title);\n }\n\n ngOnInit(): void {\n this.i18n$ = this.i18n.change.subscribe(() => {\n this.locale = this.i18n.getData('noticeIcon');\n this.cdr.markForCheck();\n });\n }\n\n ngOnChanges(): void {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.i18n$.unsubscribe();\n }\n}\n","<ng-template #badgeTpl>\n <nz-badge [nzCount]=\"count\" [ngClass]=\"btnClass!\" [nzStyle]=\"{ 'box-shadow': 'none' }\">\n <i nz-icon nzType=\"bell\" [ngClass]=\"btnIconClass!\"></i>\n </nz-badge>\n</ng-template>\n<div *ngIf=\"data!.length === 0\">\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<div\n *ngIf=\"data!.length > 0\"\n nz-dropdown\n [nzVisible]=\"popoverVisible\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n nzOverlayClassName=\"header-dropdown notice-icon\"\n [nzDropdownMenu]=\"noticeMenu\"\n>\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<nz-dropdown-menu #noticeMenu=\"nzDropdownMenu\">\n <nz-spin [nzSpinning]=\"loading\" [nzDelay]=\"0\">\n <nz-tabset nzSelectedIndex=\"0\">\n <nz-tab *ngFor=\"let i of data\" [nzTitle]=\"i.title\">\n <notice-icon-tab\n [locale]=\"locale\"\n [data]=\"i\"\n (select)=\"onSelect($event)\"\n (clear)=\"onClear($event)\"\n ></notice-icon-tab>\n </nz-tab>\n </nz-tabset>\n </nz-spin>\n</nz-dropdown-menu>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzListModule } from 'ng-zorro-antd/list';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\nimport { NzTagModule } from 'ng-zorro-antd/tag';\n\nimport { NoticeIconTabComponent } from './notice-icon-tab.component';\nimport { NoticeIconComponent } from './notice-icon.component';\n\nconst COMPONENTS = [NoticeIconComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n DelonLocaleModule,\n NzBadgeModule,\n NzDropDownModule,\n NzIconModule,\n NzListModule,\n NzSpinModule,\n NzTabsModule,\n NzTagModule,\n NzOutletModule\n ],\n declarations: [...COMPONENTS, NoticeIconTabComponent],\n exports: COMPONENTS\n})\nexport class NoticeIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notice-icon.mjs","sources":["../../../../packages/abc/notice-icon/notice-icon-tab.component.ts","../../../../packages/abc/notice-icon/notice-icon-tab.component.html","../../../../packages/abc/notice-icon/notice-icon.component.ts","../../../../packages/abc/notice-icon/notice-icon.component.html","../../../../packages/abc/notice-icon/notice-icon.module.ts","../../../../packages/abc/notice-icon/notice-icon.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\n\nimport { LocaleData } from '@delon/theme';\n\nimport { NoticeIconSelect, NoticeItem } from './notice-icon.types';\n\n@Component({\n selector: 'notice-icon-tab',\n exportAs: 'noticeIconTab',\n templateUrl: './notice-icon-tab.component.html',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None\n})\nexport class NoticeIconTabComponent {\n @Input() locale: LocaleData = {};\n @Input() data!: NoticeItem;\n @Output() readonly select = new EventEmitter<NoticeIconSelect>();\n @Output() readonly clear = new EventEmitter<string>();\n\n onClick(item: NoticeItem): void {\n this.select.emit({ title: this.data.title, item });\n }\n\n onClear(): void {\n this.clear.emit(this.data.title);\n }\n}\n","<div *ngIf=\"data.list?.length === 0; else listTpl\" class=\"notice-icon__notfound\">\n <img class=\"notice-icon__notfound-img\" *ngIf=\"data.emptyImage\" [attr.src]=\"data.emptyImage\" alt=\"not found\" />\n <p>\n <ng-container *nzStringTemplateOutlet=\"data.emptyText\">\n {{ data.emptyText || locale.emptyText }}\n </ng-container>\n </p>\n</div>\n<ng-template #listTpl>\n <nz-list [nzDataSource]=\"data.list\" [nzRenderItem]=\"item\">\n <ng-template #item let-item>\n <nz-list-item (click)=\"onClick(item)\" [ngClass]=\"{ 'notice-icon__item-read': item.read }\">\n <nz-list-item-meta [nzTitle]=\"nzTitle\" [nzDescription]=\"nzDescription\" [nzAvatar]=\"item.avatar\">\n <ng-template #nzTitle>\n <ng-container *nzStringTemplateOutlet=\"item.title; context: { $implicit: item }\">{{\n item.title\n }}</ng-container>\n <div class=\"notice-icon__item-extra\" *ngIf=\"item.extra\">\n <nz-tag [nzColor]=\"item.color\">{{ item.extra }}</nz-tag>\n </div>\n </ng-template>\n <ng-template #nzDescription>\n <div *ngIf=\"item.description\" class=\"notice-icon__item-desc\">\n <ng-container *nzStringTemplateOutlet=\"item.description; context: { $implicit: item }\">{{\n item.description\n }}</ng-container>\n </div>\n <div *ngIf=\"item.datetime\" class=\"notice-icon__item-time\">{{ item.datetime }}</div>\n </ng-template>\n </nz-list-item-meta>\n </nz-list-item>\n </ng-template>\n </nz-list>\n <div class=\"notice-icon__clear\" (click)=\"onClear()\">{{ data.clearText || locale.clearText }}</div>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { DelonLocaleService, LocaleData } from '@delon/theme';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport type { NgClassType } from 'ng-zorro-antd/core/types';\n\nimport { NoticeIconSelect, NoticeItem } from './notice-icon.types';\n\n@Component({\n selector: 'notice-icon',\n exportAs: 'noticeIcon',\n templateUrl: './notice-icon.component.html',\n host: { '[class.notice-icon__btn]': 'true' },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class NoticeIconComponent implements OnInit, OnChanges, OnDestroy {\n static ngAcceptInputType_count: NumberInput;\n static ngAcceptInputType_loading: BooleanInput;\n static ngAcceptInputType_popoverVisible: BooleanInput;\n\n private i18n$!: Subscription;\n locale: LocaleData = {};\n\n @Input() data: NoticeItem[] = [];\n @Input() @InputNumber() count?: number;\n @Input() @InputBoolean() loading = false;\n @Input() @InputBoolean() popoverVisible = false;\n @Input() btnClass?: NgClassType;\n @Input() btnIconClass?: NgClassType;\n @Output() readonly select = new EventEmitter<NoticeIconSelect>();\n @Output() readonly clear = new EventEmitter<string>();\n @Output() readonly popoverVisibleChange = new EventEmitter<boolean>();\n\n constructor(private i18n: DelonLocaleService, private cdr: ChangeDetectorRef) {}\n\n onVisibleChange(result: boolean): void {\n this.popoverVisibleChange.emit(result);\n }\n\n onSelect(i: NoticeIconSelect): void {\n this.select.emit(i);\n }\n\n onClear(title: string): void {\n this.clear.emit(title);\n }\n\n ngOnInit(): void {\n this.i18n$ = this.i18n.change.subscribe(() => {\n this.locale = this.i18n.getData('noticeIcon');\n this.cdr.markForCheck();\n });\n }\n\n ngOnChanges(): void {\n this.cdr.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.i18n$.unsubscribe();\n }\n}\n","<ng-template #badgeTpl>\n <nz-badge [nzCount]=\"count\" [ngClass]=\"btnClass!\" [nzStyle]=\"{ 'box-shadow': 'none' }\">\n <i nz-icon nzType=\"bell\" [ngClass]=\"btnIconClass!\"></i>\n </nz-badge>\n</ng-template>\n<div *ngIf=\"data!.length === 0\">\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<div\n *ngIf=\"data!.length > 0\"\n nz-dropdown\n [nzVisible]=\"popoverVisible\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n nzOverlayClassName=\"header-dropdown notice-icon\"\n [nzDropdownMenu]=\"noticeMenu\"\n>\n <ng-template [ngTemplateOutlet]=\"badgeTpl\"></ng-template>\n</div>\n<nz-dropdown-menu #noticeMenu=\"nzDropdownMenu\">\n <nz-spin [nzSpinning]=\"loading\" [nzDelay]=\"0\">\n <nz-tabset nzSelectedIndex=\"0\">\n <nz-tab *ngFor=\"let i of data\" [nzTitle]=\"i.title\">\n <notice-icon-tab\n [locale]=\"locale\"\n [data]=\"i\"\n (select)=\"onSelect($event)\"\n (clear)=\"onClear($event)\"\n ></notice-icon-tab>\n </nz-tab>\n </nz-tabset>\n </nz-spin>\n</nz-dropdown-menu>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzListModule } from 'ng-zorro-antd/list';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\nimport { NzTagModule } from 'ng-zorro-antd/tag';\n\nimport { NoticeIconTabComponent } from './notice-icon-tab.component';\nimport { NoticeIconComponent } from './notice-icon.component';\n\nconst COMPONENTS = [NoticeIconComponent];\n\n@NgModule({\n imports: [\n CommonModule,\n DelonLocaleModule,\n NzBadgeModule,\n NzDropDownModule,\n NzIconModule,\n NzListModule,\n NzSpinModule,\n NzTabsModule,\n NzTagModule,\n NzOutletModule\n ],\n declarations: [...COMPONENTS, NoticeIconTabComponent],\n exports: COMPONENTS\n})\nexport class NoticeIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3","i1","i2","i4","i6.NoticeIconTabComponent"],"mappings":"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"}
|
package/fesm2020/onboarding.mjs
CHANGED
|
@@ -125,9 +125,9 @@ class OnboardingComponent {
|
|
|
125
125
|
this.updatePrevElStatus(false);
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
OnboardingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
129
|
-
OnboardingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
128
|
+
OnboardingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: OnboardingComponent, deps: [{ token: i0.ElementRef }, { token: DOCUMENT, optional: true }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
+
OnboardingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: OnboardingComponent, selector: "onboarding", host: { properties: { "class.onboarding": "true", "class.onboarding-rtl": "dir === 'rtl'", "attr.data-onboarding-active": "active" } }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"!running && config.mask\" class=\"onboarding__mask\" (click)=\"handleMask()\"></div>\n<div\n *ngIf=\"item\"\n class=\"onboarding__light\"\n [class.onboarding__light-hide]=\"running\"\n [attr.style]=\"item.lightStyle\"\n nz-popover\n #popover=\"nzPopover\"\n [nzPopoverTitle]=\"item.title\"\n [nzPopoverContent]=\"content\"\n [nzPopoverVisible]=\"!running\"\n [nzPopoverTrigger]=\"null\"\n [nzPopoverPlacement]=\"item.position\"\n [nzPopoverOverlayClassName]=\"item.className\"\n [nzPopoverOverlayStyle]=\"{ 'max-width.px': item.width, direction: dir }\"\n [nzNoAnimation]=\"true\"\n></div>\n<ng-template #content>\n <ng-container *nzStringTemplateOutlet=\"item.content\">\n <div [innerHTML]=\"item.content\"></div>\n </ng-container>\n <div class=\"flex-center-between onboarding__footer\">\n <span class=\"onboarding__total\">\n <ng-container *ngIf=\"config.showTotal\">{{ active + 1 }}/{{ max }}</ng-container>\n </span>\n <div class=\"onboarding__btns\">\n <a\n *ngIf=\"!last && item.skip !== null && item.skip !== undefined\"\n nz-button\n nzType=\"link\"\n (click)=\"to('skip')\"\n nzSize=\"small\"\n data-btnType=\"skip\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.skip\">{{ item.skip }}</ng-container>\n </a>\n <a *ngIf=\"!first && item.prev !== null\" nz-button (click)=\"to('prev')\" nzSize=\"small\" data-btnType=\"prev\">\n <ng-container *nzStringTemplateOutlet=\"item.prev\">{{ item.prev }}</ng-container>\n </a>\n <a\n *ngIf=\"!last && item.next !== null && item.next !== undefined\"\n nz-button\n (click)=\"to('next')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"next\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.next\">{{ item.next }}</ng-container>\n </a>\n <a\n *ngIf=\"last && item.done !== null && item.done !== undefined\"\n nz-button\n (click)=\"to('done')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"done\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.done\">{{ item.done }}</ng-container>\n </a>\n </div>\n </div>\n</ng-template>\n", components: [{ type: i2.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverContent", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { type: i5.NzNoAnimationDirective, selector: "[nzNoAnimation]", inputs: ["nzNoAnimation"], exportAs: ["nzNoAnimation"] }, { type: i6.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: OnboardingComponent, decorators: [{
|
|
131
131
|
type: Component,
|
|
132
132
|
args: [{ selector: 'onboarding', host: {
|
|
133
133
|
'[class.onboarding]': `true`,
|
|
@@ -307,9 +307,9 @@ class OnboardingService {
|
|
|
307
307
|
this.destroy();
|
|
308
308
|
}
|
|
309
309
|
}
|
|
310
|
-
OnboardingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
311
|
-
OnboardingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
312
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
310
|
+
OnboardingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: OnboardingService, deps: [{ token: i1$1.DelonLocaleService }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }, { token: i2$1.Router }, { token: i0.Injector }, { token: DOCUMENT }, { token: i3$1.AlainConfigService }, { token: i4$1.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
311
|
+
OnboardingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: OnboardingService, providedIn: 'root' });
|
|
312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: OnboardingService, decorators: [{
|
|
313
313
|
type: Injectable,
|
|
314
314
|
args: [{ providedIn: 'root' }]
|
|
315
315
|
}], ctorParameters: function () { return [{ type: i1$1.DelonLocaleService }, { type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }, { type: i2$1.Router }, { type: i0.Injector }, { type: undefined, decorators: [{
|
|
@@ -322,10 +322,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
|
|
|
322
322
|
const COMPONENTS = [OnboardingComponent];
|
|
323
323
|
class OnboardingModule {
|
|
324
324
|
}
|
|
325
|
-
OnboardingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
326
|
-
OnboardingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
327
|
-
OnboardingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
325
|
+
OnboardingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: OnboardingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
326
|
+
OnboardingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: OnboardingModule, declarations: [OnboardingComponent], imports: [CommonModule, DelonLocaleModule, NzPopoverModule, NzOutletModule, NzButtonModule, NzNoAnimationModule], exports: [OnboardingComponent] });
|
|
327
|
+
OnboardingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: OnboardingModule, imports: [[CommonModule, DelonLocaleModule, NzPopoverModule, NzOutletModule, NzButtonModule, NzNoAnimationModule]] });
|
|
328
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: OnboardingModule, decorators: [{
|
|
329
329
|
type: NgModule,
|
|
330
330
|
args: [{
|
|
331
331
|
imports: [CommonModule, DelonLocaleModule, NzPopoverModule, NzOutletModule, NzButtonModule, NzNoAnimationModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.mjs","sources":["../../../../packages/abc/onboarding/onboarding.component.ts","../../../../packages/abc/onboarding/onboarding.component.html","../../../../packages/abc/onboarding/onboarding.service.ts","../../../../packages/abc/onboarding/onboarding.module.ts","../../../../packages/abc/onboarding/onboarding.ts"],"sourcesContent":["import { Direction } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n OnDestroy,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzPopoverDirective } from 'ng-zorro-antd/popover';\n\nimport { OnboardingConfig, OnboardingItem, OnboardingOpType } from './onboarding.types';\n\ninterface OnboardingLightData {\n el: HTMLElement;\n top: number;\n left: number;\n width: number;\n height: number;\n clientHeight: number;\n clientWidth: number;\n}\n\n@Component({\n selector: 'onboarding',\n templateUrl: './onboarding.component.html',\n host: {\n '[class.onboarding]': `true`,\n '[class.onboarding-rtl]': `dir === 'rtl'`,\n '[attr.data-onboarding-active]': `active`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class OnboardingComponent implements OnDestroy, AfterViewInit {\n private time: NzSafeAny;\n private prevSelectorEl?: HTMLElement;\n config!: OnboardingConfig;\n item!: OnboardingItem;\n active = 0;\n max = 0;\n readonly op = new EventEmitter<OnboardingOpType>();\n running = false;\n dir: Direction = 'ltr';\n @ViewChild('popover', { static: false }) private popover!: NzPopoverDirective;\n\n get first(): boolean {\n return this.active === 0;\n }\n\n get last(): boolean {\n return this.active === this.max - 1;\n }\n\n private _getDoc(): Document {\n return this.doc;\n }\n\n private _getWin(): Window {\n return this._getDoc().defaultView || window;\n }\n\n constructor(\n private el: ElementRef<HTMLElement>,\n @Optional() @Inject(DOCUMENT) private doc: NzSafeAny,\n private platform: Platform,\n private cdr: ChangeDetectorRef\n ) {}\n\n private getLightData(): OnboardingLightData | null {\n const doc = this._getDoc();\n const win = this._getWin();\n const el = doc.querySelector(this.item.selectors) as HTMLElement;\n if (!el) {\n return null;\n }\n\n const scrollTop = win.scrollY || doc.documentElement.scrollTop || doc.body.scrollTop;\n const scrollLeft = win.scrollX || doc.documentElement.scrollLeft || doc.body.scrollLeft;\n const rect = el.getBoundingClientRect();\n const top = rect.top + scrollTop;\n const left = rect.left + scrollLeft;\n const padding = 8;\n const needPadding = top > padding && left > padding;\n const offsetPos = needPadding ? padding : 0;\n const offsetWH = needPadding ? padding * 2 : 0;\n return {\n top: top - offsetPos,\n left: left - offsetPos,\n width: rect.width + offsetWH,\n height: rect.height + offsetWH,\n el,\n clientWidth: doc.body.clientWidth,\n clientHeight: doc.body.clientHeight\n };\n }\n\n ngAfterViewInit(): void {\n // Waiting https://github.com/NG-ZORRO/ng-zorro-antd/issues/6491\n this.popover.component!.onClickOutside = () => {};\n }\n\n private scroll(pos: OnboardingLightData): void {\n this.prevSelectorEl = pos.el;\n const scrollY = pos.top - (pos.clientHeight - pos.height) / 2;\n this._getWin().scrollTo({ top: scrollY });\n this.updatePrevElStatus(true);\n }\n\n updateRunning(status: boolean): void {\n this.running = status;\n this.cdr.detectChanges();\n if (!status) {\n this.updatePosition();\n }\n }\n\n private updatePosition(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n\n const pos = this.getLightData();\n if (pos == null) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n console.warn(`Did not matches selectors [${this.item.selectors}]`);\n }\n return;\n }\n\n const lightStyle = (this.el.nativeElement.querySelector('.onboarding__light') as HTMLElement).style;\n lightStyle.top = `${pos.top}px`;\n lightStyle.left = `${pos.left}px`;\n lightStyle.width = `${pos.width}px`;\n lightStyle.height = `${pos.height}px`;\n\n this.updatePrevElStatus(false);\n this.scroll(pos);\n }\n\n private updatePrevElStatus(status: boolean): void {\n if (this.prevSelectorEl) {\n this.prevSelectorEl.classList[status ? 'add' : 'remove']('onboarding__light-el');\n }\n }\n\n to(type: OnboardingOpType): void {\n this.op.emit(type);\n }\n\n handleMask(): void {\n if (this.config.maskClosable === true) {\n this.popover.component!.hide();\n this.to('done');\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.time);\n this.updatePrevElStatus(false);\n }\n}\n","<div *ngIf=\"!running && config.mask\" class=\"onboarding__mask\" (click)=\"handleMask()\"></div>\n<div\n *ngIf=\"item\"\n class=\"onboarding__light\"\n [class.onboarding__light-hide]=\"running\"\n [attr.style]=\"item.lightStyle\"\n nz-popover\n #popover=\"nzPopover\"\n [nzPopoverTitle]=\"item.title\"\n [nzPopoverContent]=\"content\"\n [nzPopoverVisible]=\"!running\"\n [nzPopoverTrigger]=\"null\"\n [nzPopoverPlacement]=\"item.position\"\n [nzPopoverOverlayClassName]=\"item.className\"\n [nzPopoverOverlayStyle]=\"{ 'max-width.px': item.width, direction: dir }\"\n [nzNoAnimation]=\"true\"\n></div>\n<ng-template #content>\n <ng-container *nzStringTemplateOutlet=\"item.content\">\n <div [innerHTML]=\"item.content\"></div>\n </ng-container>\n <div class=\"flex-center-between onboarding__footer\">\n <span class=\"onboarding__total\">\n <ng-container *ngIf=\"config.showTotal\">{{ active + 1 }}/{{ max }}</ng-container>\n </span>\n <div class=\"onboarding__btns\">\n <a\n *ngIf=\"!last && item.skip !== null && item.skip !== undefined\"\n nz-button\n nzType=\"link\"\n (click)=\"to('skip')\"\n nzSize=\"small\"\n data-btnType=\"skip\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.skip\">{{ item.skip }}</ng-container>\n </a>\n <a *ngIf=\"!first && item.prev !== null\" nz-button (click)=\"to('prev')\" nzSize=\"small\" data-btnType=\"prev\">\n <ng-container *nzStringTemplateOutlet=\"item.prev\">{{ item.prev }}</ng-container>\n </a>\n <a\n *ngIf=\"!last && item.next !== null && item.next !== undefined\"\n nz-button\n (click)=\"to('next')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"next\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.next\">{{ item.next }}</ng-container>\n </a>\n <a\n *ngIf=\"last && item.done !== null && item.done !== undefined\"\n nz-button\n (click)=\"to('done')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"done\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.done\">{{ item.done }}</ng-container>\n </a>\n </div>\n </div>\n</ng-template>\n","import { Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Inject,\n Injectable,\n Injector,\n OnDestroy,\n Optional\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { of, pipe, Subscription } from 'rxjs';\nimport { delay, switchMap } from 'rxjs/operators';\n\nimport { DelonLocaleService } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { OnboardingComponent } from './onboarding.component';\nimport { OnboardingConfig, OnboardingItem, OnboardingOpType } from './onboarding.types';\n\n@Injectable({ providedIn: 'root' })\nexport class OnboardingService implements OnDestroy {\n private compRef!: ComponentRef<OnboardingComponent>;\n private op$!: Subscription;\n private config!: OnboardingConfig;\n private active = 0;\n private running$: Subscription | null = null;\n private _running = false;\n private type: OnboardingOpType | null = null;\n\n private _getDoc(): Document {\n return this.doc;\n }\n\n /**\n * Get whether it is booting\n *\n * 获取是否正在引导中\n */\n get running(): boolean {\n return this._running;\n }\n\n constructor(\n private i18n: DelonLocaleService,\n private appRef: ApplicationRef,\n private resolver: ComponentFactoryResolver,\n private router: Router,\n private injector: Injector,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n private configSrv: AlainConfigService,\n @Optional() private directionality: Directionality\n ) {}\n\n private attach(): void {\n const compRef = (this.compRef = this.resolver.resolveComponentFactory(OnboardingComponent).create(this.injector));\n this.appRef.attachView(compRef.hostView);\n const compNode = (compRef.hostView as EmbeddedViewRef<NzSafeAny>).rootNodes[0];\n const doc = this._getDoc();\n const cdk = doc.querySelector('.cdk-overlay-container') as HTMLElement;\n if (cdk) {\n doc.body.insertBefore(compNode, cdk);\n } else {\n doc.body.appendChild(compNode);\n }\n this.op$ = this.compRef.instance.op.subscribe((type: OnboardingOpType) => {\n switch (type) {\n case 'next':\n this.next();\n break;\n case 'prev':\n this.prev();\n break;\n default:\n this.done();\n break;\n }\n });\n }\n\n private cancelRunning(): this {\n if (this.running$) {\n this.running$.unsubscribe();\n this.running$ = null;\n }\n return this;\n }\n\n private updateRunning(status: boolean): this {\n this._running = status;\n this.compRef!.instance.updateRunning(status);\n return this;\n }\n\n private destroy(): void {\n this.cancelRunning();\n if (this.compRef) {\n this.appRef.detachView(this.compRef.hostView);\n this.compRef.destroy();\n this.op$.unsubscribe();\n }\n }\n\n private showItem(isStart: boolean = false): void {\n const items = this.config.items!;\n const item = {\n position: 'bottomLeft',\n before: of(true),\n after: of(true),\n ...this.i18n.getData('onboarding'),\n ...items[this.active]\n } as OnboardingItem;\n const dir = this.configSrv.get('onboarding')!.direction || this.directionality.value;\n Object.assign(this.compRef.instance, { item, config: this.config, active: this.active, max: items.length, dir });\n const pipes = [\n switchMap(() => (item.url ? this.router.navigateByUrl(item.url) : of(true))),\n switchMap(() => {\n const obs = this.type === 'prev' ? item.after! : item.before!;\n return typeof obs === 'number' ? of(true).pipe(delay(obs)) : obs;\n })\n ];\n if (!isStart) {\n pipes.push(delay(1));\n }\n\n this.updateRunning(true);\n\n this.running$ = of(true)\n .pipe(pipe.apply(this, pipes as NzSafeAny) as NzSafeAny)\n .subscribe({\n next: () => this.cancelRunning().updateRunning(false),\n error: () => this.done()\n });\n }\n\n /**\n * Start a new user guidance\n *\n * 开启新的用户引导流程\n */\n start(config: OnboardingConfig): void {\n if (this.running) {\n return;\n }\n this.destroy();\n this.config = {\n items: [],\n mask: true,\n maskClosable: true,\n showTotal: false,\n ...config\n };\n this.active = 0;\n this.type = null;\n this.attach();\n this.showItem(true);\n }\n\n /**\n * Next\n *\n * 下一步\n */\n next(): void {\n if (this._running || this.active + 1 >= this.config.items!.length) {\n this.done();\n return;\n }\n this.type = 'next';\n ++this.active;\n this.showItem();\n }\n\n /**\n * Prev\n *\n * 上一步\n */\n prev(): void {\n if (this._running || this.active - 1 < 0) {\n return;\n }\n this.type = 'prev';\n --this.active;\n this.showItem();\n }\n\n /**\n * Done\n *\n * 完成\n */\n done(): void {\n this.type = 'done';\n this.destroy();\n }\n\n ngOnDestroy(): void {\n this.destroy();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzPopoverModule } from 'ng-zorro-antd/popover';\n\nimport { OnboardingComponent } from './onboarding.component';\n\nconst COMPONENTS = [OnboardingComponent];\n\n@NgModule({\n imports: [CommonModule, DelonLocaleModule, NzPopoverModule, NzOutletModule, NzButtonModule, NzNoAnimationModule],\n declarations: COMPONENTS,\n entryComponents: COMPONENTS,\n exports: COMPONENTS\n})\nexport class OnboardingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onboarding.mjs","sources":["../../../../packages/abc/onboarding/onboarding.component.ts","../../../../packages/abc/onboarding/onboarding.component.html","../../../../packages/abc/onboarding/onboarding.service.ts","../../../../packages/abc/onboarding/onboarding.module.ts","../../../../packages/abc/onboarding/onboarding.ts"],"sourcesContent":["import { Direction } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n OnDestroy,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzPopoverDirective } from 'ng-zorro-antd/popover';\n\nimport { OnboardingConfig, OnboardingItem, OnboardingOpType } from './onboarding.types';\n\ninterface OnboardingLightData {\n el: HTMLElement;\n top: number;\n left: number;\n width: number;\n height: number;\n clientHeight: number;\n clientWidth: number;\n}\n\n@Component({\n selector: 'onboarding',\n templateUrl: './onboarding.component.html',\n host: {\n '[class.onboarding]': `true`,\n '[class.onboarding-rtl]': `dir === 'rtl'`,\n '[attr.data-onboarding-active]': `active`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class OnboardingComponent implements OnDestroy, AfterViewInit {\n private time: NzSafeAny;\n private prevSelectorEl?: HTMLElement;\n config!: OnboardingConfig;\n item!: OnboardingItem;\n active = 0;\n max = 0;\n readonly op = new EventEmitter<OnboardingOpType>();\n running = false;\n dir: Direction = 'ltr';\n @ViewChild('popover', { static: false }) private popover!: NzPopoverDirective;\n\n get first(): boolean {\n return this.active === 0;\n }\n\n get last(): boolean {\n return this.active === this.max - 1;\n }\n\n private _getDoc(): Document {\n return this.doc;\n }\n\n private _getWin(): Window {\n return this._getDoc().defaultView || window;\n }\n\n constructor(\n private el: ElementRef<HTMLElement>,\n @Optional() @Inject(DOCUMENT) private doc: NzSafeAny,\n private platform: Platform,\n private cdr: ChangeDetectorRef\n ) {}\n\n private getLightData(): OnboardingLightData | null {\n const doc = this._getDoc();\n const win = this._getWin();\n const el = doc.querySelector(this.item.selectors) as HTMLElement;\n if (!el) {\n return null;\n }\n\n const scrollTop = win.scrollY || doc.documentElement.scrollTop || doc.body.scrollTop;\n const scrollLeft = win.scrollX || doc.documentElement.scrollLeft || doc.body.scrollLeft;\n const rect = el.getBoundingClientRect();\n const top = rect.top + scrollTop;\n const left = rect.left + scrollLeft;\n const padding = 8;\n const needPadding = top > padding && left > padding;\n const offsetPos = needPadding ? padding : 0;\n const offsetWH = needPadding ? padding * 2 : 0;\n return {\n top: top - offsetPos,\n left: left - offsetPos,\n width: rect.width + offsetWH,\n height: rect.height + offsetWH,\n el,\n clientWidth: doc.body.clientWidth,\n clientHeight: doc.body.clientHeight\n };\n }\n\n ngAfterViewInit(): void {\n // Waiting https://github.com/NG-ZORRO/ng-zorro-antd/issues/6491\n this.popover.component!.onClickOutside = () => {};\n }\n\n private scroll(pos: OnboardingLightData): void {\n this.prevSelectorEl = pos.el;\n const scrollY = pos.top - (pos.clientHeight - pos.height) / 2;\n this._getWin().scrollTo({ top: scrollY });\n this.updatePrevElStatus(true);\n }\n\n updateRunning(status: boolean): void {\n this.running = status;\n this.cdr.detectChanges();\n if (!status) {\n this.updatePosition();\n }\n }\n\n private updatePosition(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n\n const pos = this.getLightData();\n if (pos == null) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n console.warn(`Did not matches selectors [${this.item.selectors}]`);\n }\n return;\n }\n\n const lightStyle = (this.el.nativeElement.querySelector('.onboarding__light') as HTMLElement).style;\n lightStyle.top = `${pos.top}px`;\n lightStyle.left = `${pos.left}px`;\n lightStyle.width = `${pos.width}px`;\n lightStyle.height = `${pos.height}px`;\n\n this.updatePrevElStatus(false);\n this.scroll(pos);\n }\n\n private updatePrevElStatus(status: boolean): void {\n if (this.prevSelectorEl) {\n this.prevSelectorEl.classList[status ? 'add' : 'remove']('onboarding__light-el');\n }\n }\n\n to(type: OnboardingOpType): void {\n this.op.emit(type);\n }\n\n handleMask(): void {\n if (this.config.maskClosable === true) {\n this.popover.component!.hide();\n this.to('done');\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.time);\n this.updatePrevElStatus(false);\n }\n}\n","<div *ngIf=\"!running && config.mask\" class=\"onboarding__mask\" (click)=\"handleMask()\"></div>\n<div\n *ngIf=\"item\"\n class=\"onboarding__light\"\n [class.onboarding__light-hide]=\"running\"\n [attr.style]=\"item.lightStyle\"\n nz-popover\n #popover=\"nzPopover\"\n [nzPopoverTitle]=\"item.title\"\n [nzPopoverContent]=\"content\"\n [nzPopoverVisible]=\"!running\"\n [nzPopoverTrigger]=\"null\"\n [nzPopoverPlacement]=\"item.position\"\n [nzPopoverOverlayClassName]=\"item.className\"\n [nzPopoverOverlayStyle]=\"{ 'max-width.px': item.width, direction: dir }\"\n [nzNoAnimation]=\"true\"\n></div>\n<ng-template #content>\n <ng-container *nzStringTemplateOutlet=\"item.content\">\n <div [innerHTML]=\"item.content\"></div>\n </ng-container>\n <div class=\"flex-center-between onboarding__footer\">\n <span class=\"onboarding__total\">\n <ng-container *ngIf=\"config.showTotal\">{{ active + 1 }}/{{ max }}</ng-container>\n </span>\n <div class=\"onboarding__btns\">\n <a\n *ngIf=\"!last && item.skip !== null && item.skip !== undefined\"\n nz-button\n nzType=\"link\"\n (click)=\"to('skip')\"\n nzSize=\"small\"\n data-btnType=\"skip\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.skip\">{{ item.skip }}</ng-container>\n </a>\n <a *ngIf=\"!first && item.prev !== null\" nz-button (click)=\"to('prev')\" nzSize=\"small\" data-btnType=\"prev\">\n <ng-container *nzStringTemplateOutlet=\"item.prev\">{{ item.prev }}</ng-container>\n </a>\n <a\n *ngIf=\"!last && item.next !== null && item.next !== undefined\"\n nz-button\n (click)=\"to('next')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"next\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.next\">{{ item.next }}</ng-container>\n </a>\n <a\n *ngIf=\"last && item.done !== null && item.done !== undefined\"\n nz-button\n (click)=\"to('done')\"\n nzType=\"primary\"\n nzSize=\"small\"\n data-btnType=\"done\"\n >\n <ng-container *nzStringTemplateOutlet=\"item.done\">{{ item.done }}</ng-container>\n </a>\n </div>\n </div>\n</ng-template>\n","import { Directionality } from '@angular/cdk/bidi';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EmbeddedViewRef,\n Inject,\n Injectable,\n Injector,\n OnDestroy,\n Optional\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { of, pipe, Subscription } from 'rxjs';\nimport { delay, switchMap } from 'rxjs/operators';\n\nimport { DelonLocaleService } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { OnboardingComponent } from './onboarding.component';\nimport { OnboardingConfig, OnboardingItem, OnboardingOpType } from './onboarding.types';\n\n@Injectable({ providedIn: 'root' })\nexport class OnboardingService implements OnDestroy {\n private compRef!: ComponentRef<OnboardingComponent>;\n private op$!: Subscription;\n private config!: OnboardingConfig;\n private active = 0;\n private running$: Subscription | null = null;\n private _running = false;\n private type: OnboardingOpType | null = null;\n\n private _getDoc(): Document {\n return this.doc;\n }\n\n /**\n * Get whether it is booting\n *\n * 获取是否正在引导中\n */\n get running(): boolean {\n return this._running;\n }\n\n constructor(\n private i18n: DelonLocaleService,\n private appRef: ApplicationRef,\n private resolver: ComponentFactoryResolver,\n private router: Router,\n private injector: Injector,\n @Inject(DOCUMENT) private doc: NzSafeAny,\n private configSrv: AlainConfigService,\n @Optional() private directionality: Directionality\n ) {}\n\n private attach(): void {\n const compRef = (this.compRef = this.resolver.resolveComponentFactory(OnboardingComponent).create(this.injector));\n this.appRef.attachView(compRef.hostView);\n const compNode = (compRef.hostView as EmbeddedViewRef<NzSafeAny>).rootNodes[0];\n const doc = this._getDoc();\n const cdk = doc.querySelector('.cdk-overlay-container') as HTMLElement;\n if (cdk) {\n doc.body.insertBefore(compNode, cdk);\n } else {\n doc.body.appendChild(compNode);\n }\n this.op$ = this.compRef.instance.op.subscribe((type: OnboardingOpType) => {\n switch (type) {\n case 'next':\n this.next();\n break;\n case 'prev':\n this.prev();\n break;\n default:\n this.done();\n break;\n }\n });\n }\n\n private cancelRunning(): this {\n if (this.running$) {\n this.running$.unsubscribe();\n this.running$ = null;\n }\n return this;\n }\n\n private updateRunning(status: boolean): this {\n this._running = status;\n this.compRef!.instance.updateRunning(status);\n return this;\n }\n\n private destroy(): void {\n this.cancelRunning();\n if (this.compRef) {\n this.appRef.detachView(this.compRef.hostView);\n this.compRef.destroy();\n this.op$.unsubscribe();\n }\n }\n\n private showItem(isStart: boolean = false): void {\n const items = this.config.items!;\n const item = {\n position: 'bottomLeft',\n before: of(true),\n after: of(true),\n ...this.i18n.getData('onboarding'),\n ...items[this.active]\n } as OnboardingItem;\n const dir = this.configSrv.get('onboarding')!.direction || this.directionality.value;\n Object.assign(this.compRef.instance, { item, config: this.config, active: this.active, max: items.length, dir });\n const pipes = [\n switchMap(() => (item.url ? this.router.navigateByUrl(item.url) : of(true))),\n switchMap(() => {\n const obs = this.type === 'prev' ? item.after! : item.before!;\n return typeof obs === 'number' ? of(true).pipe(delay(obs)) : obs;\n })\n ];\n if (!isStart) {\n pipes.push(delay(1));\n }\n\n this.updateRunning(true);\n\n this.running$ = of(true)\n .pipe(pipe.apply(this, pipes as NzSafeAny) as NzSafeAny)\n .subscribe({\n next: () => this.cancelRunning().updateRunning(false),\n error: () => this.done()\n });\n }\n\n /**\n * Start a new user guidance\n *\n * 开启新的用户引导流程\n */\n start(config: OnboardingConfig): void {\n if (this.running) {\n return;\n }\n this.destroy();\n this.config = {\n items: [],\n mask: true,\n maskClosable: true,\n showTotal: false,\n ...config\n };\n this.active = 0;\n this.type = null;\n this.attach();\n this.showItem(true);\n }\n\n /**\n * Next\n *\n * 下一步\n */\n next(): void {\n if (this._running || this.active + 1 >= this.config.items!.length) {\n this.done();\n return;\n }\n this.type = 'next';\n ++this.active;\n this.showItem();\n }\n\n /**\n * Prev\n *\n * 上一步\n */\n prev(): void {\n if (this._running || this.active - 1 < 0) {\n return;\n }\n this.type = 'prev';\n --this.active;\n this.showItem();\n }\n\n /**\n * Done\n *\n * 完成\n */\n done(): void {\n this.type = 'done';\n this.destroy();\n }\n\n ngOnDestroy(): void {\n this.destroy();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DelonLocaleModule } from '@delon/theme';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzPopoverModule } from 'ng-zorro-antd/popover';\n\nimport { OnboardingComponent } from './onboarding.component';\n\nconst COMPONENTS = [OnboardingComponent];\n\n@NgModule({\n imports: [CommonModule, DelonLocaleModule, NzPopoverModule, NzOutletModule, NzButtonModule, NzNoAnimationModule],\n declarations: COMPONENTS,\n entryComponents: COMPONENTS,\n exports: COMPONENTS\n})\nexport class OnboardingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3","i4"],"mappings":"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"}
|
package/fesm2020/page-header.mjs
CHANGED
|
@@ -161,8 +161,8 @@ class PageHeaderComponent {
|
|
|
161
161
|
this.destroy$.complete();
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
-
PageHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
165
|
-
PageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
164
|
+
PageHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: PageHeaderComponent, deps: [{ token: i1.SettingsService }, { token: i0.Renderer2 }, { token: i2.Router }, { token: i1.MenuService }, { token: ALAIN_I18N_TOKEN, optional: true }, { token: TitleService, optional: true }, { token: ReuseTabService, optional: true }, { token: i0.ChangeDetectorRef }, { token: i3.AlainConfigService }, { token: i4.Platform }, { token: i5.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
165
|
+
PageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: PageHeaderComponent, selector: "page-header", inputs: { title: "title", loading: "loading", wide: "wide", home: "home", homeLink: "homeLink", homeI18n: "homeI18n", autoBreadcrumb: "autoBreadcrumb", autoTitle: "autoTitle", syncTitle: "syncTitle", fixed: "fixed", fixedOffsetTop: "fixedOffsetTop", breadcrumb: "breadcrumb", recursiveBreadcrumb: "recursiveBreadcrumb", logo: "logo", action: "action", content: "content", extra: "extra", tab: "tab" }, viewQueries: [{ propertyName: "conTpl", first: true, predicate: ["conTpl"], descendants: true }, { propertyName: "affix", first: true, predicate: ["affix"], descendants: true }], exportAs: ["pageHeader"], usesOnChanges: true, ngImport: i0, template: "<nz-affix #affix *ngIf=\"isBrowser && fixed; else phTpl\" [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\"></ng-template>\n</nz-affix>\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [ngClass]=\"{ 'page-header__wide': wide }\">\n <nz-skeleton\n [nzLoading]=\"loading\"\n [nzTitle]=\"false\"\n [nzActive]=\"true\"\n [nzParagraph]=\"{ rows: 3 }\"\n [nzAvatar]=\"{ size: 'large', shape: 'circle' }\"\n class=\"d-block\"\n >\n <ng-container *ngIf=\"!breadcrumb; else breadcrumb!\">\n <nz-breadcrumb *ngIf=\"paths && paths.length > 0\">\n <nz-breadcrumb-item *ngFor=\"let i of paths\">\n <ng-container *ngIf=\"i.link\">\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"!i.link\">{{ i.title }}</ng-container>\n </nz-breadcrumb-item>\n </nz-breadcrumb>\n </ng-container>\n <div class=\"page-header__detail\">\n <div *ngIf=\"logo\" class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\"></ng-template>\n </div>\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n <h1 *ngIf=\"_titleVal || _titleTpl\" class=\"page-header__title\">\n <ng-container *ngIf=\"_titleVal; else _titleTpl\">{{ _titleVal }}</ng-container>\n </h1>\n <div *ngIf=\"action\" class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\"></ng-template>\n </div>\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content></ng-content>\n <ng-template [ngTemplateOutlet]=\"content!\"></ng-template>\n </div>\n <div *ngIf=\"extra\" class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\"></ng-template>\n </div>\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\"></ng-template>\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n", components: [{ type: i6.NzAffixComponent, selector: "nz-affix", inputs: ["nzTarget", "nzOffsetTop", "nzOffsetBottom"], outputs: ["nzChange"], exportAs: ["nzAffix"] }, { type: i7.NzSkeletonComponent, selector: "nz-skeleton", inputs: ["nzActive", "nzLoading", "nzRound", "nzTitle", "nzAvatar", "nzParagraph"], exportAs: ["nzSkeleton"] }, { type: i8.NzBreadCrumbComponent, selector: "nz-breadcrumb", inputs: ["nzAutoGenerate", "nzSeparator", "nzRouteLabel", "nzRouteLabelFn"], exportAs: ["nzBreadcrumb"] }, { type: i8.NzBreadCrumbItemComponent, selector: "nz-breadcrumb-item", inputs: ["nzOverlay"], exportAs: ["nzBreadcrumbItem"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i10.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
166
166
|
__decorate([
|
|
167
167
|
InputBoolean()
|
|
168
168
|
], PageHeaderComponent.prototype, "loading", void 0);
|
|
@@ -187,7 +187,7 @@ __decorate([
|
|
|
187
187
|
__decorate([
|
|
188
188
|
InputBoolean()
|
|
189
189
|
], PageHeaderComponent.prototype, "recursiveBreadcrumb", void 0);
|
|
190
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: PageHeaderComponent, decorators: [{
|
|
191
191
|
type: Component,
|
|
192
192
|
args: [{ selector: 'page-header', exportAs: 'pageHeader', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<nz-affix #affix *ngIf=\"isBrowser && fixed; else phTpl\" [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\"></ng-template>\n</nz-affix>\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [ngClass]=\"{ 'page-header__wide': wide }\">\n <nz-skeleton\n [nzLoading]=\"loading\"\n [nzTitle]=\"false\"\n [nzActive]=\"true\"\n [nzParagraph]=\"{ rows: 3 }\"\n [nzAvatar]=\"{ size: 'large', shape: 'circle' }\"\n class=\"d-block\"\n >\n <ng-container *ngIf=\"!breadcrumb; else breadcrumb!\">\n <nz-breadcrumb *ngIf=\"paths && paths.length > 0\">\n <nz-breadcrumb-item *ngFor=\"let i of paths\">\n <ng-container *ngIf=\"i.link\">\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"!i.link\">{{ i.title }}</ng-container>\n </nz-breadcrumb-item>\n </nz-breadcrumb>\n </ng-container>\n <div class=\"page-header__detail\">\n <div *ngIf=\"logo\" class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\"></ng-template>\n </div>\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n <h1 *ngIf=\"_titleVal || _titleTpl\" class=\"page-header__title\">\n <ng-container *ngIf=\"_titleVal; else _titleTpl\">{{ _titleVal }}</ng-container>\n </h1>\n <div *ngIf=\"action\" class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\"></ng-template>\n </div>\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content></ng-content>\n <ng-template [ngTemplateOutlet]=\"content!\"></ng-template>\n </div>\n <div *ngIf=\"extra\" class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\"></ng-template>\n </div>\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\"></ng-template>\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n" }]
|
|
193
193
|
}], ctorParameters: function () { return [{ type: i1.SettingsService }, { type: i0.Renderer2 }, { type: i2.Router }, { type: i1.MenuService }, { type: undefined, decorators: [{
|
|
@@ -254,10 +254,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
|
|
|
254
254
|
const COMPONENTS = [PageHeaderComponent];
|
|
255
255
|
class PageHeaderModule {
|
|
256
256
|
}
|
|
257
|
-
PageHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
258
|
-
PageHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
259
|
-
PageHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
260
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
257
|
+
PageHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: PageHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
258
|
+
PageHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: PageHeaderModule, declarations: [PageHeaderComponent], imports: [CommonModule, RouterModule, ObserversModule, NzAffixModule, NzSkeletonModule, NzBreadCrumbModule], exports: [PageHeaderComponent] });
|
|
259
|
+
PageHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: PageHeaderModule, imports: [[CommonModule, RouterModule, ObserversModule, NzAffixModule, NzSkeletonModule, NzBreadCrumbModule]] });
|
|
260
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: PageHeaderModule, decorators: [{
|
|
261
261
|
type: NgModule,
|
|
262
262
|
args: [{
|
|
263
263
|
imports: [CommonModule, RouterModule, ObserversModule, NzAffixModule, NzSkeletonModule, NzBreadCrumbModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-header.mjs","sources":["../../../../packages/abc/page-header/page-header.component.ts","../../../../packages/abc/page-header/page-header.component.html","../../../../packages/abc/page-header/page-header.module.ts","../../../../packages/abc/page-header/page-header.ts"],"sourcesContent":["import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { merge, Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { ReuseTabService } from '@delon/abc/reuse-tab';\nimport { AlainI18NService, ALAIN_I18N_TOKEN, Menu, MenuService, SettingsService, TitleService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { AlainConfigService } from '@delon/util/config';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport { NzAffixComponent } from 'ng-zorro-antd/affix';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\ninterface PageHeaderPath {\n title?: string;\n link?: string[];\n}\n\n@Component({\n selector: 'page-header',\n exportAs: 'pageHeader',\n templateUrl: './page-header.component.html',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class PageHeaderComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n static ngAcceptInputType_loading: BooleanInput;\n static ngAcceptInputType_wide: BooleanInput;\n static ngAcceptInputType_autoBreadcrumb: BooleanInput;\n static ngAcceptInputType_autoTitle: BooleanInput;\n static ngAcceptInputType_syncTitle: BooleanInput;\n static ngAcceptInputType_fixed: BooleanInput;\n static ngAcceptInputType_fixedOffsetTop: NumberInput;\n static ngAcceptInputType_recursiveBreadcrumb: BooleanInput;\n\n private destroy$ = new Subject<void>();\n @ViewChild('conTpl', { static: false }) private conTpl!: ElementRef;\n @ViewChild('affix', { static: false }) private affix!: NzAffixComponent;\n inited = false;\n isBrowser = true;\n dir: Direction = 'ltr';\n\n private get menus(): Menu[] {\n return this.menuSrv.getPathByUrl(this.router.url, this.recursiveBreadcrumb);\n }\n\n _titleVal: string | null = '';\n paths: PageHeaderPath[] = [];\n\n // #region fields\n\n _title: string | null = null;\n _titleTpl: TemplateRef<NzSafeAny> | null = null;\n @Input()\n set title(value: string | TemplateRef<void> | null) {\n if (value instanceof TemplateRef) {\n this._title = null;\n this._titleTpl = value;\n this._titleVal = '';\n } else {\n this._title = value;\n this._titleVal = this._title;\n }\n }\n\n @Input() @InputBoolean() loading = false;\n @Input() @InputBoolean() wide = false;\n @Input() home?: string;\n @Input() homeLink?: string;\n @Input() homeI18n?: string;\n @Input() @InputBoolean() autoBreadcrumb!: boolean;\n @Input() @InputBoolean() autoTitle!: boolean;\n @Input() @InputBoolean() syncTitle!: boolean;\n @Input() @InputBoolean() fixed!: boolean;\n @Input() @InputNumber() fixedOffsetTop!: number;\n @Input() breadcrumb?: TemplateRef<NzSafeAny> | null = null;\n @Input() @InputBoolean() recursiveBreadcrumb!: boolean;\n @Input() logo?: TemplateRef<void> | null = null;\n @Input() action?: TemplateRef<void> | null = null;\n @Input() content?: TemplateRef<void> | null = null;\n @Input() extra?: TemplateRef<void> | null = null;\n @Input() tab?: TemplateRef<void> | null = null;\n\n // #endregion\n\n constructor(\n settings: SettingsService,\n private renderer: Renderer2,\n private router: Router,\n private menuSrv: MenuService,\n @Optional() @Inject(ALAIN_I18N_TOKEN) private i18nSrv: AlainI18NService,\n @Optional() @Inject(TitleService) private titleSrv: TitleService,\n @Optional() @Inject(ReuseTabService) private reuseSrv: ReuseTabService,\n private cdr: ChangeDetectorRef,\n configSrv: AlainConfigService,\n platform: Platform,\n @Optional() private directionality: Directionality\n ) {\n this.isBrowser = platform.isBrowser;\n configSrv.attach(this, 'pageHeader', {\n home: '首页',\n homeLink: '/',\n autoBreadcrumb: true,\n recursiveBreadcrumb: false,\n autoTitle: true,\n syncTitle: true,\n fixed: false,\n fixedOffsetTop: 64\n });\n settings.notify\n .pipe(\n takeUntil(this.destroy$),\n filter(w => this.affix && w.type === 'layout' && w.name === 'collapsed')\n )\n .subscribe(() => this.affix.updatePosition({} as NzSafeAny));\n\n merge(menuSrv.change, router.events.pipe(filter(ev => ev instanceof NavigationEnd)), i18nSrv.change)\n .pipe(\n filter(() => this.inited),\n takeUntil(this.destroy$)\n )\n .subscribe(() => this.refresh());\n }\n\n refresh(): void {\n this.setTitle().genBreadcrumb();\n this.cdr.detectChanges();\n }\n\n private genBreadcrumb(): void {\n if (this.breadcrumb || !this.autoBreadcrumb || this.menus.length <= 0) {\n this.paths = [];\n return;\n }\n const paths: PageHeaderPath[] = [];\n this.menus.forEach(item => {\n if (typeof item.hideInBreadcrumb !== 'undefined' && item.hideInBreadcrumb) return;\n let title = item.text;\n if (item.i18n && this.i18nSrv) title = this.i18nSrv.fanyi(item.i18n);\n paths.push({ title, link: (item.link && [item.link]) as string[] });\n });\n // add home\n if (this.home) {\n paths.splice(0, 0, {\n title: (this.homeI18n && this.i18nSrv && this.i18nSrv.fanyi(this.homeI18n)) || this.home,\n link: [this.homeLink!]\n });\n }\n this.paths = paths;\n }\n\n private setTitle(): this {\n if (this._title == null && this._titleTpl == null && this.autoTitle && this.menus.length > 0) {\n const item = this.menus[this.menus.length - 1];\n let title = item.text;\n if (item.i18n && this.i18nSrv) {\n title = this.i18nSrv.fanyi(item.i18n);\n }\n this._titleVal = title!;\n }\n\n if (this._titleVal && this.syncTitle) {\n if (this.titleSrv) {\n this.titleSrv.setTitle(this._titleVal);\n }\n if (!this.inited && this.reuseSrv) {\n this.reuseSrv.title = this._titleVal;\n }\n }\n\n return this;\n }\n\n checkContent(): void {\n if (isEmpty(this.conTpl.nativeElement)) {\n this.renderer.setAttribute(this.conTpl.nativeElement, 'hidden', '');\n } else {\n this.renderer.removeAttribute(this.conTpl.nativeElement, 'hidden');\n }\n }\n\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n this.refresh();\n this.inited = true;\n }\n\n ngAfterViewInit(): void {\n this.checkContent();\n }\n\n ngOnChanges(): void {\n if (this.inited) {\n this.refresh();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","<nz-affix #affix *ngIf=\"isBrowser && fixed; else phTpl\" [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\"></ng-template>\n</nz-affix>\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [ngClass]=\"{ 'page-header__wide': wide }\">\n <nz-skeleton\n [nzLoading]=\"loading\"\n [nzTitle]=\"false\"\n [nzActive]=\"true\"\n [nzParagraph]=\"{ rows: 3 }\"\n [nzAvatar]=\"{ size: 'large', shape: 'circle' }\"\n class=\"d-block\"\n >\n <ng-container *ngIf=\"!breadcrumb; else breadcrumb!\">\n <nz-breadcrumb *ngIf=\"paths && paths.length > 0\">\n <nz-breadcrumb-item *ngFor=\"let i of paths\">\n <ng-container *ngIf=\"i.link\">\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"!i.link\">{{ i.title }}</ng-container>\n </nz-breadcrumb-item>\n </nz-breadcrumb>\n </ng-container>\n <div class=\"page-header__detail\">\n <div *ngIf=\"logo\" class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\"></ng-template>\n </div>\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n <h1 *ngIf=\"_titleVal || _titleTpl\" class=\"page-header__title\">\n <ng-container *ngIf=\"_titleVal; else _titleTpl\">{{ _titleVal }}</ng-container>\n </h1>\n <div *ngIf=\"action\" class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\"></ng-template>\n </div>\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content></ng-content>\n <ng-template [ngTemplateOutlet]=\"content!\"></ng-template>\n </div>\n <div *ngIf=\"extra\" class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\"></ng-template>\n </div>\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\"></ng-template>\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NzAffixModule } from 'ng-zorro-antd/affix';\nimport { NzBreadCrumbModule } from 'ng-zorro-antd/breadcrumb';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { PageHeaderComponent } from './page-header.component';\n\nconst COMPONENTS = [PageHeaderComponent];\n\n@NgModule({\n imports: [CommonModule, RouterModule, ObserversModule, NzAffixModule, NzSkeletonModule, NzBreadCrumbModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PageHeaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page-header.mjs","sources":["../../../../packages/abc/page-header/page-header.component.ts","../../../../packages/abc/page-header/page-header.component.html","../../../../packages/abc/page-header/page-header.module.ts","../../../../packages/abc/page-header/page-header.ts"],"sourcesContent":["import { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { merge, Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { ReuseTabService } from '@delon/abc/reuse-tab';\nimport { AlainI18NService, ALAIN_I18N_TOKEN, Menu, MenuService, SettingsService, TitleService } from '@delon/theme';\nimport { isEmpty } from '@delon/util/browser';\nimport { AlainConfigService } from '@delon/util/config';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport { NzAffixComponent } from 'ng-zorro-antd/affix';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\ninterface PageHeaderPath {\n title?: string;\n link?: string[];\n}\n\n@Component({\n selector: 'page-header',\n exportAs: 'pageHeader',\n templateUrl: './page-header.component.html',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class PageHeaderComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n static ngAcceptInputType_loading: BooleanInput;\n static ngAcceptInputType_wide: BooleanInput;\n static ngAcceptInputType_autoBreadcrumb: BooleanInput;\n static ngAcceptInputType_autoTitle: BooleanInput;\n static ngAcceptInputType_syncTitle: BooleanInput;\n static ngAcceptInputType_fixed: BooleanInput;\n static ngAcceptInputType_fixedOffsetTop: NumberInput;\n static ngAcceptInputType_recursiveBreadcrumb: BooleanInput;\n\n private destroy$ = new Subject<void>();\n @ViewChild('conTpl', { static: false }) private conTpl!: ElementRef;\n @ViewChild('affix', { static: false }) private affix!: NzAffixComponent;\n inited = false;\n isBrowser = true;\n dir: Direction = 'ltr';\n\n private get menus(): Menu[] {\n return this.menuSrv.getPathByUrl(this.router.url, this.recursiveBreadcrumb);\n }\n\n _titleVal: string | null = '';\n paths: PageHeaderPath[] = [];\n\n // #region fields\n\n _title: string | null = null;\n _titleTpl: TemplateRef<NzSafeAny> | null = null;\n @Input()\n set title(value: string | TemplateRef<void> | null) {\n if (value instanceof TemplateRef) {\n this._title = null;\n this._titleTpl = value;\n this._titleVal = '';\n } else {\n this._title = value;\n this._titleVal = this._title;\n }\n }\n\n @Input() @InputBoolean() loading = false;\n @Input() @InputBoolean() wide = false;\n @Input() home?: string;\n @Input() homeLink?: string;\n @Input() homeI18n?: string;\n @Input() @InputBoolean() autoBreadcrumb!: boolean;\n @Input() @InputBoolean() autoTitle!: boolean;\n @Input() @InputBoolean() syncTitle!: boolean;\n @Input() @InputBoolean() fixed!: boolean;\n @Input() @InputNumber() fixedOffsetTop!: number;\n @Input() breadcrumb?: TemplateRef<NzSafeAny> | null = null;\n @Input() @InputBoolean() recursiveBreadcrumb!: boolean;\n @Input() logo?: TemplateRef<void> | null = null;\n @Input() action?: TemplateRef<void> | null = null;\n @Input() content?: TemplateRef<void> | null = null;\n @Input() extra?: TemplateRef<void> | null = null;\n @Input() tab?: TemplateRef<void> | null = null;\n\n // #endregion\n\n constructor(\n settings: SettingsService,\n private renderer: Renderer2,\n private router: Router,\n private menuSrv: MenuService,\n @Optional() @Inject(ALAIN_I18N_TOKEN) private i18nSrv: AlainI18NService,\n @Optional() @Inject(TitleService) private titleSrv: TitleService,\n @Optional() @Inject(ReuseTabService) private reuseSrv: ReuseTabService,\n private cdr: ChangeDetectorRef,\n configSrv: AlainConfigService,\n platform: Platform,\n @Optional() private directionality: Directionality\n ) {\n this.isBrowser = platform.isBrowser;\n configSrv.attach(this, 'pageHeader', {\n home: '首页',\n homeLink: '/',\n autoBreadcrumb: true,\n recursiveBreadcrumb: false,\n autoTitle: true,\n syncTitle: true,\n fixed: false,\n fixedOffsetTop: 64\n });\n settings.notify\n .pipe(\n takeUntil(this.destroy$),\n filter(w => this.affix && w.type === 'layout' && w.name === 'collapsed')\n )\n .subscribe(() => this.affix.updatePosition({} as NzSafeAny));\n\n merge(menuSrv.change, router.events.pipe(filter(ev => ev instanceof NavigationEnd)), i18nSrv.change)\n .pipe(\n filter(() => this.inited),\n takeUntil(this.destroy$)\n )\n .subscribe(() => this.refresh());\n }\n\n refresh(): void {\n this.setTitle().genBreadcrumb();\n this.cdr.detectChanges();\n }\n\n private genBreadcrumb(): void {\n if (this.breadcrumb || !this.autoBreadcrumb || this.menus.length <= 0) {\n this.paths = [];\n return;\n }\n const paths: PageHeaderPath[] = [];\n this.menus.forEach(item => {\n if (typeof item.hideInBreadcrumb !== 'undefined' && item.hideInBreadcrumb) return;\n let title = item.text;\n if (item.i18n && this.i18nSrv) title = this.i18nSrv.fanyi(item.i18n);\n paths.push({ title, link: (item.link && [item.link]) as string[] });\n });\n // add home\n if (this.home) {\n paths.splice(0, 0, {\n title: (this.homeI18n && this.i18nSrv && this.i18nSrv.fanyi(this.homeI18n)) || this.home,\n link: [this.homeLink!]\n });\n }\n this.paths = paths;\n }\n\n private setTitle(): this {\n if (this._title == null && this._titleTpl == null && this.autoTitle && this.menus.length > 0) {\n const item = this.menus[this.menus.length - 1];\n let title = item.text;\n if (item.i18n && this.i18nSrv) {\n title = this.i18nSrv.fanyi(item.i18n);\n }\n this._titleVal = title!;\n }\n\n if (this._titleVal && this.syncTitle) {\n if (this.titleSrv) {\n this.titleSrv.setTitle(this._titleVal);\n }\n if (!this.inited && this.reuseSrv) {\n this.reuseSrv.title = this._titleVal;\n }\n }\n\n return this;\n }\n\n checkContent(): void {\n if (isEmpty(this.conTpl.nativeElement)) {\n this.renderer.setAttribute(this.conTpl.nativeElement, 'hidden', '');\n } else {\n this.renderer.removeAttribute(this.conTpl.nativeElement, 'hidden');\n }\n }\n\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n this.refresh();\n this.inited = true;\n }\n\n ngAfterViewInit(): void {\n this.checkContent();\n }\n\n ngOnChanges(): void {\n if (this.inited) {\n this.refresh();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","<nz-affix #affix *ngIf=\"isBrowser && fixed; else phTpl\" [nzOffsetTop]=\"fixedOffsetTop\">\n <ng-template [ngTemplateOutlet]=\"phTpl\"></ng-template>\n</nz-affix>\n<ng-template #phTpl>\n <div class=\"page-header\" [class.page-header-rtl]=\"dir === 'rtl'\">\n <div [ngClass]=\"{ 'page-header__wide': wide }\">\n <nz-skeleton\n [nzLoading]=\"loading\"\n [nzTitle]=\"false\"\n [nzActive]=\"true\"\n [nzParagraph]=\"{ rows: 3 }\"\n [nzAvatar]=\"{ size: 'large', shape: 'circle' }\"\n class=\"d-block\"\n >\n <ng-container *ngIf=\"!breadcrumb; else breadcrumb!\">\n <nz-breadcrumb *ngIf=\"paths && paths.length > 0\">\n <nz-breadcrumb-item *ngFor=\"let i of paths\">\n <ng-container *ngIf=\"i.link\">\n <a [routerLink]=\"i.link\">{{ i.title }}</a>\n </ng-container>\n <ng-container *ngIf=\"!i.link\">{{ i.title }}</ng-container>\n </nz-breadcrumb-item>\n </nz-breadcrumb>\n </ng-container>\n <div class=\"page-header__detail\">\n <div *ngIf=\"logo\" class=\"page-header__logo\">\n <ng-template [ngTemplateOutlet]=\"logo\"></ng-template>\n </div>\n <div class=\"page-header__main\">\n <div class=\"page-header__row\">\n <h1 *ngIf=\"_titleVal || _titleTpl\" class=\"page-header__title\">\n <ng-container *ngIf=\"_titleVal; else _titleTpl\">{{ _titleVal }}</ng-container>\n </h1>\n <div *ngIf=\"action\" class=\"page-header__action\">\n <ng-template [ngTemplateOutlet]=\"action\"></ng-template>\n </div>\n </div>\n <div class=\"page-header__row\">\n <div class=\"page-header__desc\" (cdkObserveContent)=\"checkContent()\" #conTpl>\n <ng-content></ng-content>\n <ng-template [ngTemplateOutlet]=\"content!\"></ng-template>\n </div>\n <div *ngIf=\"extra\" class=\"page-header__extra\">\n <ng-template [ngTemplateOutlet]=\"extra\"></ng-template>\n </div>\n </div>\n </div>\n </div>\n <ng-template [ngTemplateOutlet]=\"tab!\"></ng-template>\n </nz-skeleton>\n </div>\n </div>\n</ng-template>\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NzAffixModule } from 'ng-zorro-antd/affix';\nimport { NzBreadCrumbModule } from 'ng-zorro-antd/breadcrumb';\nimport { NzSkeletonModule } from 'ng-zorro-antd/skeleton';\n\nimport { PageHeaderComponent } from './page-header.component';\n\nconst COMPONENTS = [PageHeaderComponent];\n\n@NgModule({\n imports: [CommonModule, RouterModule, ObserversModule, NzAffixModule, NzSkeletonModule, NzBreadCrumbModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class PageHeaderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|