@delon/abc 19.1.0 → 20.0.0-beta.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/auto-focus/index.d.ts +19 -2
- package/cell/index.d.ts +316 -6
- package/cell/style/index.less +1 -1
- package/count-down/index.d.ts +26 -5
- package/date-picker/index.d.ts +51 -5
- package/down-file/index.d.ts +34 -5
- package/ellipsis/index.d.ts +55 -5
- package/error-collect/index.d.ts +35 -5
- package/exception/index.d.ts +45 -5
- package/fesm2022/auto-focus.mjs +7 -7
- package/fesm2022/cell.mjs +14 -15
- package/fesm2022/cell.mjs.map +1 -1
- package/fesm2022/chart-observer-size.mjs +11 -11
- package/fesm2022/count-down.mjs +8 -9
- package/fesm2022/count-down.mjs.map +1 -1
- package/fesm2022/date-picker.mjs +16 -15
- package/fesm2022/date-picker.mjs.map +1 -1
- package/fesm2022/down-file.mjs +8 -8
- package/fesm2022/ellipsis.mjs +9 -9
- package/fesm2022/ellipsis.mjs.map +1 -1
- package/fesm2022/error-collect.mjs +15 -15
- package/fesm2022/error-collect.mjs.map +1 -1
- package/fesm2022/exception.mjs +94 -78
- package/fesm2022/exception.mjs.map +1 -1
- package/fesm2022/footer-toolbar.mjs +44 -22
- package/fesm2022/footer-toolbar.mjs.map +1 -1
- package/fesm2022/full-content.mjs +25 -38
- package/fesm2022/full-content.mjs.map +1 -1
- package/fesm2022/global-footer.mjs +79 -60
- package/fesm2022/global-footer.mjs.map +1 -1
- package/fesm2022/hotkey.mjs +8 -8
- package/fesm2022/loading.mjs +12 -12
- package/fesm2022/loading.mjs.map +1 -1
- package/fesm2022/lodop.mjs +12 -11
- package/fesm2022/lodop.mjs.map +1 -1
- package/fesm2022/media.mjs +12 -13
- package/fesm2022/media.mjs.map +1 -1
- package/fesm2022/notice-icon.mjs +19 -29
- package/fesm2022/notice-icon.mjs.map +1 -1
- package/fesm2022/onboarding.mjs +14 -14
- package/fesm2022/onboarding.mjs.map +1 -1
- package/fesm2022/page-header.mjs +22 -27
- package/fesm2022/page-header.mjs.map +1 -1
- package/fesm2022/pdf.mjs +13 -13
- package/fesm2022/pdf.mjs.map +1 -1
- package/fesm2022/quick-menu.mjs +9 -9
- package/fesm2022/quick-menu.mjs.map +1 -1
- package/fesm2022/reuse-tab.mjs +32 -38
- package/fesm2022/reuse-tab.mjs.map +1 -1
- package/fesm2022/se.mjs +20 -21
- package/fesm2022/se.mjs.map +1 -1
- package/fesm2022/sg.mjs +17 -18
- package/fesm2022/sg.mjs.map +1 -1
- package/fesm2022/st.mjs +84 -87
- package/fesm2022/st.mjs.map +1 -1
- package/fesm2022/sv.mjs +23 -25
- package/fesm2022/sv.mjs.map +1 -1
- package/fesm2022/tag-select.mjs +13 -29
- package/fesm2022/tag-select.mjs.map +1 -1
- package/fesm2022/xlsx.mjs +16 -15
- package/fesm2022/xlsx.mjs.map +1 -1
- package/fesm2022/zip.mjs +8 -7
- package/fesm2022/zip.mjs.map +1 -1
- package/footer-toolbar/index.d.ts +23 -5
- package/footer-toolbar/style/index.less +1 -1
- package/full-content/index.d.ts +55 -5
- package/global-footer/index.d.ts +44 -5
- package/hotkey/index.d.ts +25 -5
- package/index.d.ts +2 -5
- package/index.less +0 -2
- package/loading/index.d.ts +93 -5
- package/lodop/index.d.ts +277 -5
- package/media/index.d.ts +61 -5
- package/notice-icon/index.d.ts +90 -5
- package/notice-icon/style/index.less +2 -2
- package/observers/index.d.ts +34 -5
- package/onboarding/index.d.ts +212 -5
- package/package.json +5 -13
- package/page-header/index.d.ts +83 -5
- package/page-header/style/index.less +1 -1
- package/pdf/index.d.ts +142 -5
- package/quick-menu/index.d.ts +38 -5
- package/quick-menu/style/index.less +2 -2
- package/reuse-tab/index.d.ts +512 -3
- package/se/index.d.ts +129 -5
- package/sg/index.d.ts +44 -5
- package/st/index.d.ts +1708 -3
- package/st/style/index.less +1 -1
- package/sv/index.d.ts +96 -5
- package/sv/style/index.less +1 -1
- package/tag-select/index.d.ts +27 -5
- package/theme-dark.less +0 -4
- package/theme-default.less +0 -8
- package/xlsx/index.d.ts +71 -5
- package/zip/index.d.ts +65 -5
- package/auto-focus/auto-focus.directive.d.ts +0 -10
- package/auto-focus/auto-focus.module.d.ts +0 -7
- package/avatar-list/avatar-list-item.component.d.ts +0 -9
- package/avatar-list/avatar-list.component.d.ts +0 -29
- package/avatar-list/avatar-list.module.d.ts +0 -14
- package/avatar-list/index.d.ts +0 -5
- package/avatar-list/public_api.d.ts +0 -3
- package/avatar-list/style/index.less +0 -53
- package/avatar-list/style/rtl.less +0 -3
- package/cell/cell-host.directive.d.ts +0 -10
- package/cell/cell.component.d.ts +0 -30
- package/cell/cell.module.d.ts +0 -17
- package/cell/cell.service.d.ts +0 -19
- package/cell/cell.types.d.ts +0 -234
- package/cell/provide.d.ts +0 -10
- package/count-down/count-down.component.d.ts +0 -15
- package/count-down/count-down.module.d.ts +0 -9
- package/count-down/public_api.d.ts +0 -2
- package/date-picker/date-picker.module.d.ts +0 -11
- package/date-picker/public_api.d.ts +0 -3
- package/date-picker/range-shortcut.component.d.ts +0 -10
- package/date-picker/range.directive.d.ts +0 -30
- package/down-file/down-file.directive.d.ts +0 -23
- package/down-file/down-file.module.d.ts +0 -9
- package/down-file/public_api.d.ts +0 -2
- package/ellipsis/ellipsis.component.d.ts +0 -43
- package/ellipsis/ellipsis.module.d.ts +0 -10
- package/ellipsis/public_api.d.ts +0 -2
- package/error-collect/error-collect.component.d.ts +0 -23
- package/error-collect/error-collect.module.d.ts +0 -9
- package/error-collect/public_api.d.ts +0 -2
- package/exception/exception.component.d.ts +0 -36
- package/exception/exception.module.d.ts +0 -12
- package/exception/public_api.d.ts +0 -2
- package/fesm2022/avatar-list.mjs +0 -132
- package/fesm2022/avatar-list.mjs.map +0 -1
- package/fesm2022/result.mjs +0 -84
- package/fesm2022/result.mjs.map +0 -1
- package/footer-toolbar/footer-toolbar.component.d.ts +0 -14
- package/footer-toolbar/footer-toolbar.module.d.ts +0 -10
- package/footer-toolbar/public_api.d.ts +0 -2
- package/full-content/full-content-toggle.directive.d.ts +0 -7
- package/full-content/full-content.component.d.ts +0 -32
- package/full-content/full-content.module.d.ts +0 -9
- package/full-content/full-content.service.d.ts +0 -10
- package/full-content/public_api.d.ts +0 -4
- package/global-footer/global-footer-item.component.d.ts +0 -10
- package/global-footer/global-footer.component.d.ts +0 -22
- package/global-footer/global-footer.module.d.ts +0 -10
- package/global-footer/global-footer.types.d.ts +0 -7
- package/global-footer/public_api.d.ts +0 -4
- package/hotkey/hotkey.directive.d.ts +0 -16
- package/hotkey/hotkey.module.d.ts +0 -7
- package/hotkey/public_api.d.ts +0 -2
- package/loading/loading.component.d.ts +0 -11
- package/loading/loading.module.d.ts +0 -12
- package/loading/loading.service.d.ts +0 -34
- package/loading/loading.types.d.ts +0 -35
- package/loading/public_api.d.ts +0 -4
- package/lodop/lodop.module.d.ts +0 -6
- package/lodop/lodop.service.d.ts +0 -74
- package/lodop/lodop.types.d.ts +0 -193
- package/lodop/public_api.d.ts +0 -3
- package/media/media.component.d.ts +0 -33
- package/media/media.module.d.ts +0 -8
- package/media/media.service.d.ts +0 -17
- package/media/public_api.d.ts +0 -3
- package/notice-icon/notice-icon-tab.component.d.ts +0 -13
- package/notice-icon/notice-icon.component.d.ts +0 -25
- package/notice-icon/notice-icon.module.d.ts +0 -18
- package/notice-icon/notice-icon.types.d.ts +0 -36
- package/notice-icon/public_api.d.ts +0 -4
- package/observers/observer-size.d.ts +0 -31
- package/observers/public-api.d.ts +0 -1
- package/onboarding/onboarding.component.d.ts +0 -35
- package/onboarding/onboarding.module.d.ts +0 -13
- package/onboarding/onboarding.service.d.ts +0 -58
- package/onboarding/onboarding.storage.d.ts +0 -11
- package/onboarding/onboarding.types.d.ts +0 -95
- package/onboarding/public_api.d.ts +0 -5
- package/page-header/page-header.component.d.ts +0 -70
- package/page-header/page-header.module.d.ts +0 -14
- package/page-header/public_api.d.ts +0 -2
- package/pdf/pdf.component.d.ts +0 -101
- package/pdf/pdf.config.d.ts +0 -2
- package/pdf/pdf.module.d.ts +0 -9
- package/pdf/pdf.types.d.ts +0 -29
- package/pdf/public_api.d.ts +0 -4
- package/public_api.d.ts +0 -2
- package/quick-menu/public_api.d.ts +0 -2
- package/quick-menu/quick-menu.component.d.ts +0 -26
- package/quick-menu/quick-menu.module.d.ts +0 -10
- package/result/index.d.ts +0 -5
- package/result/public_api.d.ts +0 -2
- package/result/result.component.d.ts +0 -21
- package/result/result.module.d.ts +0 -13
- package/result/style/index.less +0 -66
- package/result/style/rtl.less +0 -3
- package/reuse-tab/lifecycle_hooks.d.ts +0 -16
- package/reuse-tab/provide.d.ts +0 -28
- package/reuse-tab/public_api.d.ts +0 -14
- package/reuse-tab/reuse-tab-context-menu.component.d.ts +0 -21
- package/reuse-tab/reuse-tab-context.component.d.ts +0 -11
- package/reuse-tab/reuse-tab-context.directive.d.ts +0 -10
- package/reuse-tab/reuse-tab-context.service.d.ts +0 -14
- package/reuse-tab/reuse-tab.cache.d.ts +0 -16
- package/reuse-tab/reuse-tab.component.d.ts +0 -79
- package/reuse-tab/reuse-tab.interfaces.d.ts +0 -110
- package/reuse-tab/reuse-tab.module.d.ts +0 -17
- package/reuse-tab/reuse-tab.service.d.ts +0 -192
- package/reuse-tab/reuse-tab.state.d.ts +0 -14
- package/reuse-tab/reuse-tab.strategy.d.ts +0 -10
- package/se/public_api.d.ts +0 -4
- package/se/se-container.component.d.ts +0 -49
- package/se/se.component.d.ts +0 -60
- package/se/se.module.d.ts +0 -12
- package/se/se.types.d.ts +0 -9
- package/sg/public_api.d.ts +0 -3
- package/sg/sg-container.component.d.ts +0 -15
- package/sg/sg.component.d.ts +0 -19
- package/sg/sg.module.d.ts +0 -9
- package/st/provide.d.ts +0 -10
- package/st/public_api.d.ts +0 -12
- package/st/st-column-source.d.ts +0 -47
- package/st/st-data-source.d.ts +0 -77
- package/st/st-export.d.ts +0 -11
- package/st/st-filter.component.d.ts +0 -23
- package/st/st-row.directive.d.ts +0 -20
- package/st/st-widget-host.directive.d.ts +0 -12
- package/st/st-widget.d.ts +0 -11
- package/st/st.component.d.ts +0 -295
- package/st/st.config.d.ts +0 -2
- package/st/st.interfaces.d.ts +0 -1193
- package/st/st.module.d.ts +0 -9
- package/st/st.types.d.ts +0 -77
- package/sv/public_api.d.ts +0 -4
- package/sv/sv-container.component.d.ts +0 -39
- package/sv/sv-value.component.d.ts +0 -10
- package/sv/sv.component.d.ts +0 -34
- package/sv/sv.module.d.ts +0 -14
- package/tag-select/public_api.d.ts +0 -2
- package/tag-select/tag-select.component.d.ts +0 -21
- package/tag-select/tag-select.module.d.ts +0 -10
- package/xlsx/public_api.d.ts +0 -4
- package/xlsx/xlsx.directive.d.ts +0 -9
- package/xlsx/xlsx.module.d.ts +0 -7
- package/xlsx/xlsx.service.d.ts +0 -27
- package/xlsx/xlsx.types.d.ts +0 -27
- package/zip/public_api.d.ts +0 -2
- package/zip/zip.service.d.ts +0 -34
- package/zip/zip.types.d.ts +0 -28
package/fesm2022/down-file.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef, EventEmitter,
|
|
2
|
+
import { inject, ElementRef, EventEmitter, Output, Input, Directive, NgModule } from '@angular/core';
|
|
3
3
|
import { finalize } from 'rxjs';
|
|
4
4
|
import { saveAs } from 'file-saver';
|
|
5
5
|
import { _HttpClient, AlainThemeModule } from '@delon/theme';
|
|
@@ -82,10 +82,10 @@ class DownFileDirective {
|
|
|
82
82
|
error: err => this.error.emit(err)
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
86
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
85
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: DownFileDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
86
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.4", type: DownFileDirective, isStandalone: true, selector: "[down-file]", inputs: { httpData: ["http-data", "httpData"], httpBody: ["http-body", "httpBody"], httpMethod: ["http-method", "httpMethod"], httpUrl: ["http-url", "httpUrl"], fileName: ["file-name", "fileName"], pre: "pre" }, outputs: { success: "success", error: "error" }, host: { listeners: { "click": "_click($event)" } }, exportAs: ["downFile"], ngImport: i0 });
|
|
87
87
|
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: DownFileDirective, decorators: [{
|
|
89
89
|
type: Directive,
|
|
90
90
|
args: [{
|
|
91
91
|
selector: '[down-file]',
|
|
@@ -119,11 +119,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
|
|
|
119
119
|
|
|
120
120
|
const DIRECTIVES = [DownFileDirective];
|
|
121
121
|
class DownFileModule {
|
|
122
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
123
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
124
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
122
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: DownFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
123
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: DownFileModule, imports: [CommonModule, AlainThemeModule, DownFileDirective], exports: [DownFileDirective] });
|
|
124
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: DownFileModule, imports: [CommonModule, AlainThemeModule] });
|
|
125
125
|
}
|
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: DownFileModule, decorators: [{
|
|
127
127
|
type: NgModule,
|
|
128
128
|
args: [{
|
|
129
129
|
imports: [CommonModule, AlainThemeModule, ...DIRECTIVES],
|
package/fesm2022/ellipsis.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CdkObserveContent, ObserversModule } from '@angular/cdk/observers';
|
|
2
2
|
import { DOCUMENT, NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { inject, ElementRef, NgZone, ChangeDetectorRef, booleanAttribute, numberAttribute,
|
|
4
|
+
import { inject, ElementRef, NgZone, ChangeDetectorRef, booleanAttribute, numberAttribute, Input, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
5
5
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
6
6
|
import { take } from 'rxjs';
|
|
7
7
|
import { NzTooltipDirective, NzToolTipModule } from 'ng-zorro-antd/tooltip';
|
|
@@ -191,12 +191,12 @@ class EllipsisComponent {
|
|
|
191
191
|
this.refresh();
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
195
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
194
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: EllipsisComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
195
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: EllipsisComponent, isStandalone: true, selector: "ellipsis", inputs: { tooltip: ["tooltip", "tooltip", booleanAttribute], length: ["length", "length", (v) => (v == null ? null : numberAttribute(v))], lines: ["lines", "lines", (v) => (v == null ? null : numberAttribute(v))], fullWidthRecognition: ["fullWidthRecognition", "fullWidthRecognition", booleanAttribute], tail: "tail" }, viewQueries: [{ propertyName: "orgEl", first: true, predicate: ["orgEl"], descendants: true }, { propertyName: "shadowOrgEl", first: true, predicate: ["shadowOrgEl"], descendants: true }, { propertyName: "shadowTextEl", first: true, predicate: ["shadowTextEl"], descendants: true }], exportAs: ["ellipsis"], usesOnChanges: true, ngImport: i0, template: "<div (cdkObserveContent)=\"refresh()\" #orgEl style=\"display: none\"><ng-content /></div>\n<ng-template #tooltipTpl let-con>\n @if (tooltip) {\n <span\n nz-tooltip\n [nzTooltipTitle]=\"titleTpl\"\n [nzTooltipOverlayStyle]=\"{ 'overflow-wrap': 'break-word', 'word-wrap': 'break-word' }\"\n >\n <ng-container *ngTemplateOutlet=\"con\" />\n <ng-template #titleTpl><div [innerHTML]=\"orgHtml\"></div></ng-template>\n </span>\n } @else {\n <ng-container *ngTemplateOutlet=\"con\" />\n }\n</ng-template>\n@switch (type) {\n @case ('default') {\n <span [class]=\"cls\"></span>\n }\n @case ('length') {\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lengthTpl }\" />\n <ng-template #lengthTpl>{{ text }}</ng-template>\n }\n @case ('line-clamp') {\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lineClampTpl }\" />\n <ng-template #lineClampTpl>\n <div [class]=\"cls\" [style]=\"{ '-webkit-line-clamp': lines, '-webkit-box-orient': 'vertical' }\"></div>\n </ng-template>\n }\n @case ('line') {\n <div [class]=\"cls\">\n <div class=\"ellipsis__handle\">\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lineTpl }\" />\n <ng-template #lineTpl>{{ linsWord }}</ng-template>\n <div class=\"ellipsis__shadow\" #shadowOrgEl [innerHTML]=\"orgHtml\"></div>\n <div class=\"ellipsis__shadow\" #shadowTextEl>\n <span>{{ text }}</span>\n </div>\n </div>\n </div>\n }\n}\n", dependencies: [{ kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "directive", type: NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
196
196
|
}
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: EllipsisComponent, decorators: [{
|
|
198
198
|
type: Component,
|
|
199
|
-
args: [{ selector: 'ellipsis', exportAs: 'ellipsis',
|
|
199
|
+
args: [{ selector: 'ellipsis', exportAs: 'ellipsis', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [CdkObserveContent, NzTooltipDirective, NgTemplateOutlet], template: "<div (cdkObserveContent)=\"refresh()\" #orgEl style=\"display: none\"><ng-content /></div>\n<ng-template #tooltipTpl let-con>\n @if (tooltip) {\n <span\n nz-tooltip\n [nzTooltipTitle]=\"titleTpl\"\n [nzTooltipOverlayStyle]=\"{ 'overflow-wrap': 'break-word', 'word-wrap': 'break-word' }\"\n >\n <ng-container *ngTemplateOutlet=\"con\" />\n <ng-template #titleTpl><div [innerHTML]=\"orgHtml\"></div></ng-template>\n </span>\n } @else {\n <ng-container *ngTemplateOutlet=\"con\" />\n }\n</ng-template>\n@switch (type) {\n @case ('default') {\n <span [class]=\"cls\"></span>\n }\n @case ('length') {\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lengthTpl }\" />\n <ng-template #lengthTpl>{{ text }}</ng-template>\n }\n @case ('line-clamp') {\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lineClampTpl }\" />\n <ng-template #lineClampTpl>\n <div [class]=\"cls\" [style]=\"{ '-webkit-line-clamp': lines, '-webkit-box-orient': 'vertical' }\"></div>\n </ng-template>\n }\n @case ('line') {\n <div [class]=\"cls\">\n <div class=\"ellipsis__handle\">\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lineTpl }\" />\n <ng-template #lineTpl>{{ linsWord }}</ng-template>\n <div class=\"ellipsis__shadow\" #shadowOrgEl [innerHTML]=\"orgHtml\"></div>\n <div class=\"ellipsis__shadow\" #shadowTextEl>\n <span>{{ text }}</span>\n </div>\n </div>\n </div>\n }\n}\n" }]
|
|
200
200
|
}], propDecorators: { orgEl: [{
|
|
201
201
|
type: ViewChild,
|
|
202
202
|
args: ['orgEl', { static: false }]
|
|
@@ -224,11 +224,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
|
|
|
224
224
|
|
|
225
225
|
const COMPONENTS = [EllipsisComponent];
|
|
226
226
|
class EllipsisModule {
|
|
227
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
228
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
229
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
227
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: EllipsisModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
228
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: EllipsisModule, imports: [CommonModule, ObserversModule, NzToolTipModule, EllipsisComponent], exports: [EllipsisComponent] });
|
|
229
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: EllipsisModule, imports: [CommonModule, ObserversModule, NzToolTipModule] });
|
|
230
230
|
}
|
|
231
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
231
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: EllipsisModule, decorators: [{
|
|
232
232
|
type: NgModule,
|
|
233
233
|
args: [{
|
|
234
234
|
imports: [CommonModule, ObserversModule, NzToolTipModule, ...COMPONENTS],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ellipsis.mjs","sources":["../../../../packages/abc/ellipsis/ellipsis.component.ts","../../../../packages/abc/ellipsis/ellipsis.component.html","../../../../packages/abc/ellipsis/ellipsis.module.ts","../../../../packages/abc/ellipsis/ellipsis.ts"],"sourcesContent":["import { CdkObserveContent } from '@angular/cdk/observers';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n NgZone,\n OnChanges,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { take } from 'rxjs';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\n@Component({\n selector: 'ellipsis',\n exportAs: 'ellipsis',\n templateUrl: './ellipsis.component.html',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CdkObserveContent, NzTooltipDirective, NgTemplateOutlet]\n})\nexport class EllipsisComponent implements AfterViewInit, OnChanges {\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly ngZone = inject(NgZone);\n private readonly dom = inject(DomSanitizer);\n private readonly doc = inject(DOCUMENT);\n private readonly cdr = inject(ChangeDetectorRef);\n private isSupportLineClamp = this.doc.body.style['webkitLineClamp'] !== undefined;\n @ViewChild('orgEl', { static: false }) private orgEl!: ElementRef;\n @ViewChild('shadowOrgEl', { static: false }) private shadowOrgEl!: ElementRef;\n @ViewChild('shadowTextEl', { static: false }) private shadowTextEl!: ElementRef;\n private inited = false;\n orgHtml!: SafeHtml;\n type = 'default';\n cls = {};\n text = '';\n targetCount = 0;\n\n @Input({ transform: booleanAttribute }) tooltip = false;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) length?: number;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) lines?: number;\n @Input({ transform: booleanAttribute }) fullWidthRecognition = false;\n @Input() tail = '...';\n\n get linsWord(): string {\n const { targetCount, text, tail } = this;\n return (\n (targetCount > 0 ? text.substring(0, targetCount) : '') +\n (targetCount > 0 && targetCount < text.length ? tail : '')\n );\n }\n\n private get win(): NzSafeAny {\n return this.doc.defaultView || window;\n }\n\n private getStrFullLength(str: string): number {\n return str.split('').reduce((pre, cur) => {\n const charCode = cur.charCodeAt(0);\n if (charCode >= 0 && charCode <= 128) {\n return pre + 1;\n }\n return pre + 2;\n }, 0);\n }\n\n private cutStrByFullLength(str: string, maxLength: number): string {\n let showLength = 0;\n return str.split('').reduce((pre, cur) => {\n const charCode = cur.charCodeAt(0);\n if (charCode >= 0 && charCode <= 128) {\n showLength += 1;\n } else {\n showLength += 2;\n }\n if (showLength <= maxLength) {\n return pre + cur;\n }\n return pre;\n }, '');\n }\n\n private bisection(\n targetHeight: number,\n mid: number,\n begin: number,\n end: number,\n text: string,\n node: HTMLElement\n ): number {\n const suffix = this.tail;\n node.innerHTML = text.substring(0, mid) + suffix;\n let sh = node.offsetHeight;\n\n if (sh <= targetHeight) {\n node.innerHTML = text.substring(0, mid + 1) + suffix;\n sh = node.offsetHeight;\n if (sh > targetHeight || mid === begin) {\n return mid;\n }\n begin = mid;\n mid = end - begin === 1 ? begin + 1 : Math.floor((end - begin) / 2) + begin;\n return this.bisection(targetHeight, mid, begin, end, text, node);\n }\n if (mid - 1 < 0) {\n return mid;\n }\n node.innerHTML = text.substring(0, mid - 1) + suffix;\n sh = node.offsetHeight;\n if (sh <= targetHeight) {\n return mid - 1;\n }\n end = mid;\n mid = Math.floor((end - begin) / 2) + begin;\n return this.bisection(targetHeight, mid, begin, end, text, node);\n }\n\n private genType(): void {\n const { lines, length, isSupportLineClamp } = this;\n this.cls = {\n ellipsis: true,\n ellipsis__lines: lines && !isSupportLineClamp,\n 'ellipsis__line-clamp': lines && isSupportLineClamp\n };\n if (!lines && !length) {\n this.type = 'default';\n } else if (!lines) {\n this.type = 'length';\n } else if (isSupportLineClamp) {\n this.type = 'line-clamp';\n } else {\n this.type = 'line';\n }\n }\n\n private gen(): void {\n const { type, lines, length, fullWidthRecognition, tail, orgEl, cdr, ngZone } = this;\n if (type === 'length') {\n const el = orgEl.nativeElement as HTMLElement;\n if (el.children.length > 0) {\n throw new Error('Ellipsis content must be string.');\n }\n const lengthText = el.textContent!;\n const textLength = fullWidthRecognition ? this.getStrFullLength(lengthText) : lengthText.length;\n if (textLength <= length! || length! < 0) {\n this.text = lengthText;\n } else {\n let displayText: string;\n if (length! - tail.length <= 0) {\n displayText = '';\n } else {\n displayText = fullWidthRecognition\n ? this.cutStrByFullLength(lengthText, length!)\n : lengthText.slice(0, length);\n }\n this.text = displayText + tail;\n }\n ngZone.run(() => cdr.detectChanges());\n } else if (type === 'line') {\n const { shadowOrgEl, shadowTextEl } = this;\n const orgNode = shadowOrgEl.nativeElement as HTMLElement;\n const lineText = orgNode.innerText || orgNode.textContent!;\n const lineHeight = parseInt(this.win.getComputedStyle(this.getEl('.ellipsis')).lineHeight!, 10);\n const targetHeight = lines! * lineHeight;\n const handleEl = this.getEl('.ellipsis__handle');\n handleEl!.style.height = `${targetHeight}px`;\n\n if (orgNode.offsetHeight <= targetHeight) {\n this.text = lineText;\n this.targetCount = lineText.length;\n } else {\n // bisection\n const len = lineText.length;\n const mid = Math.ceil(len / 2);\n\n const count = this.bisection(targetHeight, mid, 0, len, lineText, shadowTextEl.nativeElement.firstChild);\n this.text = lineText;\n this.targetCount = count;\n }\n ngZone.run(() => cdr.detectChanges());\n }\n }\n\n private getEl(cls: string): HTMLElement | null {\n return this.el.querySelector<HTMLElement>(cls);\n }\n\n private executeOnStable(fn: () => void): void {\n if (this.ngZone.isStable) {\n fn();\n } else {\n this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(fn);\n }\n }\n\n refresh(): void {\n this.genType();\n const { type, dom, orgEl, cdr } = this;\n const html = orgEl.nativeElement.innerHTML;\n this.orgHtml = dom.bypassSecurityTrustHtml(html);\n cdr.detectChanges();\n this.executeOnStable(() => {\n this.gen();\n if (type !== 'line') {\n const el = this.getEl('.ellipsis');\n if (el) {\n el.innerHTML = html;\n }\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.inited = true;\n this.refresh();\n }\n\n ngOnChanges(): void {\n if (this.inited) {\n this.refresh();\n }\n }\n}\n","<div (cdkObserveContent)=\"refresh()\" #orgEl style=\"display: none\"><ng-content /></div>\n<ng-template #tooltipTpl let-con>\n @if (tooltip) {\n <span\n nz-tooltip\n [nzTooltipTitle]=\"titleTpl\"\n [nzTooltipOverlayStyle]=\"{ 'overflow-wrap': 'break-word', 'word-wrap': 'break-word' }\"\n >\n <ng-container *ngTemplateOutlet=\"con\" />\n <ng-template #titleTpl><div [innerHTML]=\"orgHtml\"></div></ng-template>\n </span>\n } @else {\n <ng-container *ngTemplateOutlet=\"con\" />\n }\n</ng-template>\n@switch (type) {\n @case ('default') {\n <span [class]=\"cls\"></span>\n }\n @case ('length') {\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lengthTpl }\" />\n <ng-template #lengthTpl>{{ text }}</ng-template>\n }\n @case ('line-clamp') {\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lineClampTpl }\" />\n <ng-template #lineClampTpl>\n <div [class]=\"cls\" [style]=\"{ '-webkit-line-clamp': lines, '-webkit-box-orient': 'vertical' }\"></div>\n </ng-template>\n }\n @case ('line') {\n <div [class]=\"cls\">\n <div class=\"ellipsis__handle\">\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lineTpl }\" />\n <ng-template #lineTpl>{{ linsWord }}</ng-template>\n <div class=\"ellipsis__shadow\" #shadowOrgEl [innerHTML]=\"orgHtml\"></div>\n <div class=\"ellipsis__shadow\" #shadowTextEl>\n <span>{{ text }}</span>\n </div>\n </div>\n </div>\n }\n}\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { EllipsisComponent } from './ellipsis.component';\n\nconst COMPONENTS = [EllipsisComponent];\n\n@NgModule({\n imports: [CommonModule, ObserversModule, NzToolTipModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class EllipsisModule {}\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":"ellipsis.mjs","sources":["../../../../packages/abc/ellipsis/ellipsis.component.ts","../../../../packages/abc/ellipsis/ellipsis.component.html","../../../../packages/abc/ellipsis/ellipsis.module.ts","../../../../packages/abc/ellipsis/ellipsis.ts"],"sourcesContent":["import { CdkObserveContent } from '@angular/cdk/observers';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n NgZone,\n OnChanges,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { take } from 'rxjs';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzTooltipDirective } from 'ng-zorro-antd/tooltip';\n\n@Component({\n selector: 'ellipsis',\n exportAs: 'ellipsis',\n templateUrl: './ellipsis.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CdkObserveContent, NzTooltipDirective, NgTemplateOutlet]\n})\nexport class EllipsisComponent implements AfterViewInit, OnChanges {\n private readonly el: HTMLElement = inject(ElementRef).nativeElement;\n private readonly ngZone = inject(NgZone);\n private readonly dom = inject(DomSanitizer);\n private readonly doc = inject(DOCUMENT);\n private readonly cdr = inject(ChangeDetectorRef);\n private isSupportLineClamp = this.doc.body.style['webkitLineClamp'] !== undefined;\n @ViewChild('orgEl', { static: false }) private orgEl!: ElementRef;\n @ViewChild('shadowOrgEl', { static: false }) private shadowOrgEl!: ElementRef;\n @ViewChild('shadowTextEl', { static: false }) private shadowTextEl!: ElementRef;\n private inited = false;\n orgHtml!: SafeHtml;\n type = 'default';\n cls = {};\n text = '';\n targetCount = 0;\n\n @Input({ transform: booleanAttribute }) tooltip = false;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) length?: number;\n @Input({ transform: (v: unknown) => (v == null ? null : numberAttribute(v)) }) lines?: number;\n @Input({ transform: booleanAttribute }) fullWidthRecognition = false;\n @Input() tail = '...';\n\n get linsWord(): string {\n const { targetCount, text, tail } = this;\n return (\n (targetCount > 0 ? text.substring(0, targetCount) : '') +\n (targetCount > 0 && targetCount < text.length ? tail : '')\n );\n }\n\n private get win(): NzSafeAny {\n return this.doc.defaultView || window;\n }\n\n private getStrFullLength(str: string): number {\n return str.split('').reduce((pre, cur) => {\n const charCode = cur.charCodeAt(0);\n if (charCode >= 0 && charCode <= 128) {\n return pre + 1;\n }\n return pre + 2;\n }, 0);\n }\n\n private cutStrByFullLength(str: string, maxLength: number): string {\n let showLength = 0;\n return str.split('').reduce((pre, cur) => {\n const charCode = cur.charCodeAt(0);\n if (charCode >= 0 && charCode <= 128) {\n showLength += 1;\n } else {\n showLength += 2;\n }\n if (showLength <= maxLength) {\n return pre + cur;\n }\n return pre;\n }, '');\n }\n\n private bisection(\n targetHeight: number,\n mid: number,\n begin: number,\n end: number,\n text: string,\n node: HTMLElement\n ): number {\n const suffix = this.tail;\n node.innerHTML = text.substring(0, mid) + suffix;\n let sh = node.offsetHeight;\n\n if (sh <= targetHeight) {\n node.innerHTML = text.substring(0, mid + 1) + suffix;\n sh = node.offsetHeight;\n if (sh > targetHeight || mid === begin) {\n return mid;\n }\n begin = mid;\n mid = end - begin === 1 ? begin + 1 : Math.floor((end - begin) / 2) + begin;\n return this.bisection(targetHeight, mid, begin, end, text, node);\n }\n if (mid - 1 < 0) {\n return mid;\n }\n node.innerHTML = text.substring(0, mid - 1) + suffix;\n sh = node.offsetHeight;\n if (sh <= targetHeight) {\n return mid - 1;\n }\n end = mid;\n mid = Math.floor((end - begin) / 2) + begin;\n return this.bisection(targetHeight, mid, begin, end, text, node);\n }\n\n private genType(): void {\n const { lines, length, isSupportLineClamp } = this;\n this.cls = {\n ellipsis: true,\n ellipsis__lines: lines && !isSupportLineClamp,\n 'ellipsis__line-clamp': lines && isSupportLineClamp\n };\n if (!lines && !length) {\n this.type = 'default';\n } else if (!lines) {\n this.type = 'length';\n } else if (isSupportLineClamp) {\n this.type = 'line-clamp';\n } else {\n this.type = 'line';\n }\n }\n\n private gen(): void {\n const { type, lines, length, fullWidthRecognition, tail, orgEl, cdr, ngZone } = this;\n if (type === 'length') {\n const el = orgEl.nativeElement as HTMLElement;\n if (el.children.length > 0) {\n throw new Error('Ellipsis content must be string.');\n }\n const lengthText = el.textContent!;\n const textLength = fullWidthRecognition ? this.getStrFullLength(lengthText) : lengthText.length;\n if (textLength <= length! || length! < 0) {\n this.text = lengthText;\n } else {\n let displayText: string;\n if (length! - tail.length <= 0) {\n displayText = '';\n } else {\n displayText = fullWidthRecognition\n ? this.cutStrByFullLength(lengthText, length!)\n : lengthText.slice(0, length);\n }\n this.text = displayText + tail;\n }\n ngZone.run(() => cdr.detectChanges());\n } else if (type === 'line') {\n const { shadowOrgEl, shadowTextEl } = this;\n const orgNode = shadowOrgEl.nativeElement as HTMLElement;\n const lineText = orgNode.innerText || orgNode.textContent!;\n const lineHeight = parseInt(this.win.getComputedStyle(this.getEl('.ellipsis')).lineHeight!, 10);\n const targetHeight = lines! * lineHeight;\n const handleEl = this.getEl('.ellipsis__handle');\n handleEl!.style.height = `${targetHeight}px`;\n\n if (orgNode.offsetHeight <= targetHeight) {\n this.text = lineText;\n this.targetCount = lineText.length;\n } else {\n // bisection\n const len = lineText.length;\n const mid = Math.ceil(len / 2);\n\n const count = this.bisection(targetHeight, mid, 0, len, lineText, shadowTextEl.nativeElement.firstChild);\n this.text = lineText;\n this.targetCount = count;\n }\n ngZone.run(() => cdr.detectChanges());\n }\n }\n\n private getEl(cls: string): HTMLElement | null {\n return this.el.querySelector<HTMLElement>(cls);\n }\n\n private executeOnStable(fn: () => void): void {\n if (this.ngZone.isStable) {\n fn();\n } else {\n this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(fn);\n }\n }\n\n refresh(): void {\n this.genType();\n const { type, dom, orgEl, cdr } = this;\n const html = orgEl.nativeElement.innerHTML;\n this.orgHtml = dom.bypassSecurityTrustHtml(html);\n cdr.detectChanges();\n this.executeOnStable(() => {\n this.gen();\n if (type !== 'line') {\n const el = this.getEl('.ellipsis');\n if (el) {\n el.innerHTML = html;\n }\n }\n });\n }\n\n ngAfterViewInit(): void {\n this.inited = true;\n this.refresh();\n }\n\n ngOnChanges(): void {\n if (this.inited) {\n this.refresh();\n }\n }\n}\n","<div (cdkObserveContent)=\"refresh()\" #orgEl style=\"display: none\"><ng-content /></div>\n<ng-template #tooltipTpl let-con>\n @if (tooltip) {\n <span\n nz-tooltip\n [nzTooltipTitle]=\"titleTpl\"\n [nzTooltipOverlayStyle]=\"{ 'overflow-wrap': 'break-word', 'word-wrap': 'break-word' }\"\n >\n <ng-container *ngTemplateOutlet=\"con\" />\n <ng-template #titleTpl><div [innerHTML]=\"orgHtml\"></div></ng-template>\n </span>\n } @else {\n <ng-container *ngTemplateOutlet=\"con\" />\n }\n</ng-template>\n@switch (type) {\n @case ('default') {\n <span [class]=\"cls\"></span>\n }\n @case ('length') {\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lengthTpl }\" />\n <ng-template #lengthTpl>{{ text }}</ng-template>\n }\n @case ('line-clamp') {\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lineClampTpl }\" />\n <ng-template #lineClampTpl>\n <div [class]=\"cls\" [style]=\"{ '-webkit-line-clamp': lines, '-webkit-box-orient': 'vertical' }\"></div>\n </ng-template>\n }\n @case ('line') {\n <div [class]=\"cls\">\n <div class=\"ellipsis__handle\">\n <ng-template [ngTemplateOutlet]=\"tooltipTpl\" [ngTemplateOutletContext]=\"{ $implicit: lineTpl }\" />\n <ng-template #lineTpl>{{ linsWord }}</ng-template>\n <div class=\"ellipsis__shadow\" #shadowOrgEl [innerHTML]=\"orgHtml\"></div>\n <div class=\"ellipsis__shadow\" #shadowTextEl>\n <span>{{ text }}</span>\n </div>\n </div>\n </div>\n }\n}\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { EllipsisComponent } from './ellipsis.component';\n\nconst COMPONENTS = [EllipsisComponent];\n\n@NgModule({\n imports: [CommonModule, ObserversModule, NzToolTipModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class EllipsisModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,25 +2,26 @@ import { Directionality } from '@angular/cdk/bidi';
|
|
|
2
2
|
import { Platform } from '@angular/cdk/platform';
|
|
3
3
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { inject, ElementRef, DestroyRef, signal, input, numberAttribute,
|
|
6
|
-
import {
|
|
5
|
+
import { inject, ElementRef, DestroyRef, signal, input, numberAttribute, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
6
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
7
|
import { interval } from 'rxjs';
|
|
8
|
+
import { AlainConfigService } from '@delon/util/config';
|
|
8
9
|
import { NzIconDirective, NzIconModule } from 'ng-zorro-antd/icon';
|
|
9
|
-
import * as i1 from '@delon/util/config';
|
|
10
10
|
|
|
11
11
|
class ErrorCollectComponent {
|
|
12
12
|
el = inject(ElementRef).nativeElement;
|
|
13
13
|
doc = inject(DOCUMENT);
|
|
14
14
|
platform = inject(Platform);
|
|
15
15
|
destroy$ = inject(DestroyRef);
|
|
16
|
+
cogSrv = inject(AlainConfigService);
|
|
16
17
|
formEl = null;
|
|
17
18
|
_hiden = signal(true);
|
|
18
19
|
count = signal(0);
|
|
19
|
-
dir =
|
|
20
|
+
dir = inject(Directionality).valueSignal;
|
|
20
21
|
freq = input(0, { transform: numberAttribute });
|
|
21
22
|
offsetTop = input(0, { transform: numberAttribute });
|
|
22
|
-
constructor(
|
|
23
|
-
|
|
23
|
+
constructor() {
|
|
24
|
+
this.cogSrv.attach(this, 'errorCollect', { freq: 250, offsetTop: 65 + 64 + 8 * 2 });
|
|
24
25
|
}
|
|
25
26
|
get errEls() {
|
|
26
27
|
return this.formEl.querySelectorAll('.ant-form-item-has-error');
|
|
@@ -65,13 +66,13 @@ class ErrorCollectComponent {
|
|
|
65
66
|
.subscribe(() => this.update());
|
|
66
67
|
this.update();
|
|
67
68
|
}
|
|
68
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
69
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
69
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: ErrorCollectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: ErrorCollectComponent, isStandalone: true, selector: "error-collect, [error-collect]", inputs: { freq: { classPropertyName: "freq", publicName: "freq", isSignal: true, isRequired: false, transformFunction: null }, offsetTop: { classPropertyName: "offsetTop", publicName: "offsetTop", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_click()" }, properties: { "class.error-collect": "true", "class.error-collect-rtl": "dir() === 'rtl'", "class.d-none": "_hiden()" } }, exportAs: ["errorCollect"], ngImport: i0, template: `
|
|
70
71
|
<nz-icon nzType="exclamation-circle" />
|
|
71
72
|
<span class="error-collect__count">{{ count() }}</span>
|
|
72
73
|
`, isInline: true, dependencies: [{ kind: "directive", type: NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
73
74
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: ErrorCollectComponent, decorators: [{
|
|
75
76
|
type: Component,
|
|
76
77
|
args: [{
|
|
77
78
|
selector: 'error-collect, [error-collect]',
|
|
@@ -86,20 +87,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImpor
|
|
|
86
87
|
'[class.d-none]': '_hiden()',
|
|
87
88
|
'(click)': '_click()'
|
|
88
89
|
},
|
|
89
|
-
preserveWhitespaces: false,
|
|
90
90
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
91
91
|
encapsulation: ViewEncapsulation.None,
|
|
92
92
|
imports: [NzIconDirective]
|
|
93
93
|
}]
|
|
94
|
-
}], ctorParameters: () => [
|
|
94
|
+
}], ctorParameters: () => [] });
|
|
95
95
|
|
|
96
96
|
const COMPONENTS = [ErrorCollectComponent];
|
|
97
97
|
class ErrorCollectModule {
|
|
98
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
99
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
100
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
98
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: ErrorCollectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
99
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: ErrorCollectModule, imports: [CommonModule, NzIconModule, ErrorCollectComponent], exports: [ErrorCollectComponent] });
|
|
100
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: ErrorCollectModule, imports: [CommonModule, NzIconModule] });
|
|
101
101
|
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: ErrorCollectModule, decorators: [{
|
|
103
103
|
type: NgModule,
|
|
104
104
|
args: [{
|
|
105
105
|
imports: [CommonModule, NzIconModule, ...COMPONENTS],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-collect.mjs","sources":["../../../../packages/abc/error-collect/error-collect.component.ts","../../../../packages/abc/error-collect/error-collect.module.ts","../../../../packages/abc/error-collect/error-collect.ts"],"sourcesContent":["import { Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n OnInit,\n ViewEncapsulation,\n inject,\n input,\n numberAttribute,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed
|
|
1
|
+
{"version":3,"file":"error-collect.mjs","sources":["../../../../packages/abc/error-collect/error-collect.component.ts","../../../../packages/abc/error-collect/error-collect.module.ts","../../../../packages/abc/error-collect/error-collect.ts"],"sourcesContent":["import { Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n OnInit,\n ViewEncapsulation,\n inject,\n input,\n numberAttribute,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { interval } from 'rxjs';\n\nimport { AlainConfigService } from '@delon/util/config';\nimport { NzIconDirective } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'error-collect, [error-collect]',\n exportAs: 'errorCollect',\n template: `\n <nz-icon nzType=\"exclamation-circle\" />\n <span class=\"error-collect__count\">{{ count() }}</span>\n `,\n host: {\n '[class.error-collect]': 'true',\n '[class.error-collect-rtl]': `dir() === 'rtl'`,\n '[class.d-none]': '_hiden()',\n '(click)': '_click()'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [NzIconDirective]\n})\nexport class ErrorCollectComponent implements OnInit {\n private readonly el = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly doc = inject(DOCUMENT);\n private readonly platform = inject(Platform);\n private readonly destroy$ = inject(DestroyRef);\n private readonly cogSrv = inject(AlainConfigService);\n private formEl: HTMLFormElement | null = null;\n\n _hiden = signal(true);\n count = signal(0);\n dir = inject(Directionality).valueSignal;\n\n readonly freq = input(0, { transform: numberAttribute });\n readonly offsetTop = input(0, { transform: numberAttribute });\n\n constructor() {\n this.cogSrv.attach(this, 'errorCollect', { freq: 250, offsetTop: 65 + 64 + 8 * 2 });\n }\n\n private get errEls(): NodeListOf<HTMLElement> {\n return this.formEl!.querySelectorAll('.ant-form-item-has-error');\n }\n\n private update(): void {\n const count = this.errEls.length;\n if (count === this.count()) return;\n this.count.set(count);\n this._hiden.set(count === 0);\n }\n\n _click(): boolean {\n if (this.count() === 0) return false;\n // nz-form-control\n const els = this.errEls;\n const formItemEl = this.findParent(els[0], '[nz-form-control]') || els[0];\n formItemEl.scrollIntoView(true);\n // fix header height\n this.doc.documentElement.scrollTop -= this.offsetTop();\n return true;\n }\n\n private findParent(el: HTMLElement, selector: string): HTMLFormElement | null {\n let retEl: HTMLFormElement | null = null;\n while (el) {\n if (el.querySelector(selector)) {\n retEl = el as HTMLFormElement;\n break;\n }\n el = el.parentElement as HTMLFormElement;\n }\n return retEl;\n }\n\n ngOnInit(): void {\n if (!this.platform.isBrowser) return;\n\n this.formEl = this.findParent(this.el, 'form');\n if (this.formEl === null) throw new Error('No found form element');\n\n interval(this.freq())\n .pipe(takeUntilDestroyed(this.destroy$))\n .subscribe(() => this.update());\n\n this.update();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { ErrorCollectComponent } from './error-collect.component';\n\nconst COMPONENTS = [ErrorCollectComponent];\n\n@NgModule({\n imports: [CommonModule, NzIconModule, ...COMPONENTS],\n exports: COMPONENTS\n})\nexport class ErrorCollectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/exception.mjs
CHANGED
|
@@ -1,60 +1,43 @@
|
|
|
1
1
|
import { Directionality } from '@angular/cdk/bidi';
|
|
2
2
|
import { CdkObserveContent, ObserversModule } from '@angular/cdk/observers';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { inject,
|
|
5
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { inject, viewChild, signal, input, computed, effect, afterNextRender, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
6
5
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
7
6
|
import { RouterLink, RouterModule } from '@angular/router';
|
|
8
7
|
import { DelonLocaleService, DelonLocaleModule } from '@delon/theme';
|
|
9
8
|
import { isEmpty } from '@delon/util/browser';
|
|
9
|
+
import { AlainConfigService } from '@delon/util/config';
|
|
10
10
|
import { NzButtonComponent, NzButtonModule } from 'ng-zorro-antd/button';
|
|
11
|
-
import * as i1 from '@delon/util/config';
|
|
12
11
|
import { CommonModule } from '@angular/common';
|
|
13
12
|
|
|
14
13
|
class ExceptionComponent {
|
|
15
|
-
static ngAcceptInputType_type;
|
|
16
|
-
i18n = inject(DelonLocaleService);
|
|
17
14
|
dom = inject(DomSanitizer);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
locale = {};
|
|
24
|
-
hasCon = false;
|
|
25
|
-
dir = 'ltr';
|
|
26
|
-
_img = '';
|
|
27
|
-
_title = '';
|
|
28
|
-
_desc = '';
|
|
15
|
+
cogSrv = inject(AlainConfigService);
|
|
16
|
+
conTpl = viewChild.required('conTpl');
|
|
17
|
+
locale = inject(DelonLocaleService).valueSignal('exception');
|
|
18
|
+
dir = inject(Directionality).valueSignal;
|
|
19
|
+
hasCon = signal(false);
|
|
29
20
|
typeDict;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
this.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
this.
|
|
50
|
-
}
|
|
51
|
-
backRouterLink = '/';
|
|
52
|
-
checkContent() {
|
|
53
|
-
this.hasCon = !isEmpty(this.conTpl.nativeElement);
|
|
54
|
-
this.cdr.detectChanges();
|
|
55
|
-
}
|
|
56
|
-
constructor(configSrv) {
|
|
57
|
-
configSrv.attach(this, 'exception', {
|
|
21
|
+
typeItem = signal(null);
|
|
22
|
+
type = input(404);
|
|
23
|
+
img = input();
|
|
24
|
+
title = input();
|
|
25
|
+
desc = input();
|
|
26
|
+
backRouterLink = input('/');
|
|
27
|
+
_img = computed(() => {
|
|
28
|
+
const v = this.typeItem()?.img ?? this.img();
|
|
29
|
+
return v == null ? null : this.dom.bypassSecurityTrustStyle(`url('${v}')`);
|
|
30
|
+
});
|
|
31
|
+
_title = computed(() => {
|
|
32
|
+
const v = this.typeItem()?.title ?? this.title();
|
|
33
|
+
return v == null ? null : this.dom.bypassSecurityTrustHtml(v);
|
|
34
|
+
});
|
|
35
|
+
_desc = computed(() => {
|
|
36
|
+
const v = this.typeItem()?.desc ?? this.desc() ?? this.locale()[this.type()];
|
|
37
|
+
return v == null ? null : this.dom.bypassSecurityTrustHtml(v);
|
|
38
|
+
});
|
|
39
|
+
constructor() {
|
|
40
|
+
this.cogSrv.attach(this, 'exception', {
|
|
58
41
|
typeDict: {
|
|
59
42
|
403: {
|
|
60
43
|
img: 'https://gw.alipayobjects.com/zos/rmsportal/wZcnGqRDyhPOEYFcZDnb.svg',
|
|
@@ -70,50 +53,83 @@ class ExceptionComponent {
|
|
|
70
53
|
}
|
|
71
54
|
}
|
|
72
55
|
});
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
this.directionality.change.pipe(takeUntilDestroyed(this.destroy$)).subscribe(direction => {
|
|
77
|
-
this.dir = direction;
|
|
78
|
-
this.cdr.detectChanges();
|
|
56
|
+
effect(() => {
|
|
57
|
+
const type = this.type();
|
|
58
|
+
this.typeItem.set(this.typeDict?.[type]);
|
|
79
59
|
});
|
|
80
|
-
|
|
81
|
-
this.
|
|
82
|
-
this.cdr.detectChanges();
|
|
60
|
+
afterNextRender(() => {
|
|
61
|
+
this.checkContent();
|
|
83
62
|
});
|
|
84
|
-
this.checkContent();
|
|
85
63
|
}
|
|
86
|
-
|
|
87
|
-
|
|
64
|
+
checkContent() {
|
|
65
|
+
this.hasCon.set(!isEmpty(this.conTpl().nativeElement));
|
|
66
|
+
}
|
|
67
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: ExceptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: ExceptionComponent, isStandalone: true, selector: "exception", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, img: { classPropertyName: "img", publicName: "img", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, desc: { classPropertyName: "desc", publicName: "desc", isSignal: true, isRequired: false, transformFunction: null }, backRouterLink: { classPropertyName: "backRouterLink", publicName: "backRouterLink", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.exception": "true", "class.exception-rtl": "dir() === 'rtl'" } }, viewQueries: [{ propertyName: "conTpl", first: true, predicate: ["conTpl"], descendants: true, isSignal: true }], exportAs: ["exception"], ngImport: i0, template: `
|
|
69
|
+
<div class="exception__img-block">
|
|
70
|
+
<div class="exception__img" [style.backgroundImage]="_img()"></div>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="exception__cont">
|
|
73
|
+
@if (_title()) {
|
|
74
|
+
<h1 class="exception__cont-title" [innerHTML]="_title()"></h1>
|
|
75
|
+
}
|
|
76
|
+
<div class="exception__cont-desc" [innerHTML]="_desc()"></div>
|
|
77
|
+
<div class="exception__cont-actions">
|
|
78
|
+
<div (cdkObserveContent)="checkContent()" #conTpl>
|
|
79
|
+
<ng-content />
|
|
80
|
+
</div>
|
|
81
|
+
@if (!hasCon()) {
|
|
82
|
+
<button nz-button [routerLink]="backRouterLink()" [nzType]="'primary'">
|
|
83
|
+
{{ locale().backToHome }}
|
|
84
|
+
</button>
|
|
85
|
+
}
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { kind: "component", type: NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
88
89
|
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: ExceptionComponent, decorators: [{
|
|
90
91
|
type: Component,
|
|
91
|
-
args: [{
|
|
92
|
+
args: [{
|
|
93
|
+
selector: 'exception',
|
|
94
|
+
exportAs: 'exception',
|
|
95
|
+
template: `
|
|
96
|
+
<div class="exception__img-block">
|
|
97
|
+
<div class="exception__img" [style.backgroundImage]="_img()"></div>
|
|
98
|
+
</div>
|
|
99
|
+
<div class="exception__cont">
|
|
100
|
+
@if (_title()) {
|
|
101
|
+
<h1 class="exception__cont-title" [innerHTML]="_title()"></h1>
|
|
102
|
+
}
|
|
103
|
+
<div class="exception__cont-desc" [innerHTML]="_desc()"></div>
|
|
104
|
+
<div class="exception__cont-actions">
|
|
105
|
+
<div (cdkObserveContent)="checkContent()" #conTpl>
|
|
106
|
+
<ng-content />
|
|
107
|
+
</div>
|
|
108
|
+
@if (!hasCon()) {
|
|
109
|
+
<button nz-button [routerLink]="backRouterLink()" [nzType]="'primary'">
|
|
110
|
+
{{ locale().backToHome }}
|
|
111
|
+
</button>
|
|
112
|
+
}
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
`,
|
|
116
|
+
host: {
|
|
92
117
|
'[class.exception]': 'true',
|
|
93
|
-
'[class.exception-rtl]': `dir === 'rtl'`
|
|
94
|
-
},
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}], img: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], title: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], desc: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], backRouterLink: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}] } });
|
|
118
|
+
'[class.exception-rtl]': `dir() === 'rtl'`
|
|
119
|
+
},
|
|
120
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
121
|
+
encapsulation: ViewEncapsulation.None,
|
|
122
|
+
imports: [CdkObserveContent, NzButtonComponent, RouterLink]
|
|
123
|
+
}]
|
|
124
|
+
}], ctorParameters: () => [] });
|
|
109
125
|
|
|
110
126
|
const COMPONENTS = [ExceptionComponent];
|
|
111
127
|
class ExceptionModule {
|
|
112
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
113
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
114
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
128
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: ExceptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
129
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: ExceptionModule, imports: [CommonModule, ObserversModule, RouterModule, DelonLocaleModule, NzButtonModule, ExceptionComponent], exports: [ExceptionComponent] });
|
|
130
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: ExceptionModule, imports: [CommonModule, ObserversModule, RouterModule, DelonLocaleModule, NzButtonModule, COMPONENTS] });
|
|
115
131
|
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: ExceptionModule, decorators: [{
|
|
117
133
|
type: NgModule,
|
|
118
134
|
args: [{
|
|
119
135
|
imports: [CommonModule, ObserversModule, RouterModule, DelonLocaleModule, NzButtonModule, ...COMPONENTS],
|