@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/fesm2015/image.mjs
CHANGED
|
@@ -109,15 +109,15 @@ class ImageDirective {
|
|
|
109
109
|
this.destroy$.complete();
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
ImageDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
113
|
-
ImageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.
|
|
112
|
+
ImageDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ImageDirective, deps: [{ token: i0.ElementRef }, { token: i1.AlainConfigService }, { token: i2._HttpClient }, { token: i3.Platform }, { token: i4.NzModalService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
113
|
+
ImageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: ImageDirective, selector: "[_src]", inputs: { src: ["_src", "src"], size: "size", error: "error", useHttp: "useHttp", previewSrc: "previewSrc", previewModalOptions: "previewModalOptions" }, host: { listeners: { "click": "open($event)" }, properties: { "class.point": "previewSrc" } }, exportAs: ["_src"], usesOnChanges: true, ngImport: i0 });
|
|
114
114
|
__decorate([
|
|
115
115
|
InputNumber()
|
|
116
116
|
], ImageDirective.prototype, "size", void 0);
|
|
117
117
|
__decorate([
|
|
118
118
|
InputBoolean()
|
|
119
119
|
], ImageDirective.prototype, "useHttp", void 0);
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ImageDirective, decorators: [{
|
|
121
121
|
type: Directive,
|
|
122
122
|
args: [{
|
|
123
123
|
selector: '[_src]',
|
|
@@ -145,10 +145,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
|
|
|
145
145
|
const DIRECTIVES = [ImageDirective];
|
|
146
146
|
class ImageModule {
|
|
147
147
|
}
|
|
148
|
-
ImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
149
|
-
ImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
150
|
-
ImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
148
|
+
ImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
149
|
+
ImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ImageModule, declarations: [ImageDirective], imports: [CommonModule, NzModalModule], exports: [ImageDirective] });
|
|
150
|
+
ImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ImageModule, imports: [[CommonModule, NzModalModule]] });
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: ImageModule, decorators: [{
|
|
152
152
|
type: NgModule,
|
|
153
153
|
args: [{
|
|
154
154
|
imports: [CommonModule, NzModalModule],
|
package/fesm2015/image.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.mjs","sources":["../../../../packages/abc/image/image.directive.ts","../../../../packages/abc/image/image.module.ts","../../../../packages/abc/image/image.ts"],"sourcesContent":["import { Platform } from '@angular/cdk/platform';\nimport { Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit, SimpleChange, SimpleChanges } from '@angular/core';\nimport { Observable, Observer, of, Subject, throwError } from 'rxjs';\nimport { filter, finalize, take, takeUntil } from 'rxjs/operators';\n\nimport { _HttpClient } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport { ModalOptions, NzModalService } from 'ng-zorro-antd/modal';\n\n/**\n * @deprecated Will be removed in 14.0.0, Pls used [nz-image](https://ng.ant.design/components/image/en) instead, for examples:\n */\n@Directive({\n selector: '[_src]',\n exportAs: '_src',\n host: {\n '(click)': 'open($event)',\n '[class.point]': `previewSrc`\n }\n})\nexport class ImageDirective implements OnChanges, OnInit, OnDestroy {\n static ngAcceptInputType_size: NumberInput;\n static ngAcceptInputType_useHttp: BooleanInput;\n\n @Input('_src') src!: string;\n @Input() @InputNumber() size!: number;\n @Input() error!: string;\n @Input() @InputBoolean() useHttp = false;\n @Input() previewSrc!: string;\n @Input() previewModalOptions!: ModalOptions;\n\n private inited = false;\n private imgEl: HTMLImageElement;\n private destroy$ = new Subject<void>();\n\n constructor(\n el: ElementRef<HTMLImageElement>,\n configSrv: AlainConfigService,\n private http: _HttpClient,\n private platform: Platform,\n private modal: NzModalService\n ) {\n configSrv.attach(this, 'image', { size: 64, error: `./assets/img/logo.svg` });\n this.imgEl = el.nativeElement;\n }\n\n ngOnInit(): void {\n this.update();\n this.updateError();\n this.inited = true;\n }\n\n ngOnChanges(changes: { [P in keyof this]?: SimpleChange } & SimpleChanges): void {\n const { size, imgEl } = this;\n imgEl.height = size;\n imgEl.width = size;\n\n if (this.inited) {\n if (changes.error) {\n this.updateError();\n }\n this.update();\n }\n }\n\n private update(): void {\n this.getSrc(this.src, true)\n .pipe(takeUntil(this.destroy$), take(1))\n .subscribe({\n next: src => (this.imgEl.src = src),\n error: () => this.setError()\n });\n }\n\n private getSrc(data: string, isSize: boolean): Observable<string> {\n const { size, useHttp } = this;\n if (useHttp) {\n return this.getByHttp(data);\n }\n if (isSize && data.includes('qlogo.cn')) {\n const arr = data.split('/');\n const imgSize = arr[arr.length - 1];\n arr[arr.length - 1] = imgSize === '0' || +imgSize !== size ? size.toString() : imgSize;\n data = arr.join('/');\n }\n\n return of(data.replace(/^(?:https?:)/i, ''));\n }\n\n private getByHttp(url: string): Observable<string> {\n if (!this.platform.isBrowser) {\n return throwError(() => Error(`Not supported`));\n }\n\n return new Observable((observer: Observer<string>) => {\n this.http\n .get(url, null, { responseType: 'blob' })\n .pipe(\n takeUntil(this.destroy$),\n take(1),\n finalize(() => observer.complete())\n )\n .subscribe({\n next: (blob: Blob) => {\n const reader = new FileReader();\n reader.onloadend = () => observer.next(reader.result as string);\n reader.onerror = () => observer.error(`Can't reader image data by ${url}`);\n reader.readAsDataURL(blob);\n },\n error: () => observer.error(`Can't access remote url ${url}`)\n });\n });\n }\n\n private updateError(): void {\n const { imgEl, error } = this;\n imgEl.onerror = function () {\n this.onerror = null;\n this.src = error;\n };\n }\n\n private setError(): void {\n const { imgEl, error } = this;\n imgEl.src = error;\n }\n\n open(ev: Event): void {\n if (!this.previewSrc) {\n return;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n\n this.getSrc(this.previewSrc, false)\n .pipe(\n takeUntil(this.destroy$),\n filter(w => !!w),\n take(1)\n )\n .subscribe(src => {\n this.modal.create({\n nzTitle: undefined,\n nzFooter: null,\n nzContent: `<img class=\"img-fluid\" src=\"${src}\" />`,\n ...this.previewModalOptions\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzModalModule } from 'ng-zorro-antd/modal';\n\nimport { ImageDirective } from './image.directive';\n\nconst DIRECTIVES = [ImageDirective];\n\n@NgModule({\n imports: [CommonModule, NzModalModule],\n declarations: DIRECTIVES,\n exports: DIRECTIVES\n})\nexport class ImageModule {}\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":"image.mjs","sources":["../../../../packages/abc/image/image.directive.ts","../../../../packages/abc/image/image.module.ts","../../../../packages/abc/image/image.ts"],"sourcesContent":["import { Platform } from '@angular/cdk/platform';\nimport { Directive, ElementRef, Input, OnChanges, OnDestroy, OnInit, SimpleChange, SimpleChanges } from '@angular/core';\nimport { Observable, Observer, of, Subject, throwError } from 'rxjs';\nimport { filter, finalize, take, takeUntil } from 'rxjs/operators';\n\nimport { _HttpClient } from '@delon/theme';\nimport { AlainConfigService } from '@delon/util/config';\nimport { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util/decorator';\nimport { ModalOptions, NzModalService } from 'ng-zorro-antd/modal';\n\n/**\n * @deprecated Will be removed in 14.0.0, Pls used [nz-image](https://ng.ant.design/components/image/en) instead, for examples:\n */\n@Directive({\n selector: '[_src]',\n exportAs: '_src',\n host: {\n '(click)': 'open($event)',\n '[class.point]': `previewSrc`\n }\n})\nexport class ImageDirective implements OnChanges, OnInit, OnDestroy {\n static ngAcceptInputType_size: NumberInput;\n static ngAcceptInputType_useHttp: BooleanInput;\n\n @Input('_src') src!: string;\n @Input() @InputNumber() size!: number;\n @Input() error!: string;\n @Input() @InputBoolean() useHttp = false;\n @Input() previewSrc!: string;\n @Input() previewModalOptions!: ModalOptions;\n\n private inited = false;\n private imgEl: HTMLImageElement;\n private destroy$ = new Subject<void>();\n\n constructor(\n el: ElementRef<HTMLImageElement>,\n configSrv: AlainConfigService,\n private http: _HttpClient,\n private platform: Platform,\n private modal: NzModalService\n ) {\n configSrv.attach(this, 'image', { size: 64, error: `./assets/img/logo.svg` });\n this.imgEl = el.nativeElement;\n }\n\n ngOnInit(): void {\n this.update();\n this.updateError();\n this.inited = true;\n }\n\n ngOnChanges(changes: { [P in keyof this]?: SimpleChange } & SimpleChanges): void {\n const { size, imgEl } = this;\n imgEl.height = size;\n imgEl.width = size;\n\n if (this.inited) {\n if (changes.error) {\n this.updateError();\n }\n this.update();\n }\n }\n\n private update(): void {\n this.getSrc(this.src, true)\n .pipe(takeUntil(this.destroy$), take(1))\n .subscribe({\n next: src => (this.imgEl.src = src),\n error: () => this.setError()\n });\n }\n\n private getSrc(data: string, isSize: boolean): Observable<string> {\n const { size, useHttp } = this;\n if (useHttp) {\n return this.getByHttp(data);\n }\n if (isSize && data.includes('qlogo.cn')) {\n const arr = data.split('/');\n const imgSize = arr[arr.length - 1];\n arr[arr.length - 1] = imgSize === '0' || +imgSize !== size ? size.toString() : imgSize;\n data = arr.join('/');\n }\n\n return of(data.replace(/^(?:https?:)/i, ''));\n }\n\n private getByHttp(url: string): Observable<string> {\n if (!this.platform.isBrowser) {\n return throwError(() => Error(`Not supported`));\n }\n\n return new Observable((observer: Observer<string>) => {\n this.http\n .get(url, null, { responseType: 'blob' })\n .pipe(\n takeUntil(this.destroy$),\n take(1),\n finalize(() => observer.complete())\n )\n .subscribe({\n next: (blob: Blob) => {\n const reader = new FileReader();\n reader.onloadend = () => observer.next(reader.result as string);\n reader.onerror = () => observer.error(`Can't reader image data by ${url}`);\n reader.readAsDataURL(blob);\n },\n error: () => observer.error(`Can't access remote url ${url}`)\n });\n });\n }\n\n private updateError(): void {\n const { imgEl, error } = this;\n imgEl.onerror = function () {\n this.onerror = null;\n this.src = error;\n };\n }\n\n private setError(): void {\n const { imgEl, error } = this;\n imgEl.src = error;\n }\n\n open(ev: Event): void {\n if (!this.previewSrc) {\n return;\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n\n this.getSrc(this.previewSrc, false)\n .pipe(\n takeUntil(this.destroy$),\n filter(w => !!w),\n take(1)\n )\n .subscribe(src => {\n this.modal.create({\n nzTitle: undefined,\n nzFooter: null,\n nzContent: `<img class=\"img-fluid\" src=\"${src}\" />`,\n ...this.previewModalOptions\n });\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzModalModule } from 'ng-zorro-antd/modal';\n\nimport { ImageDirective } from './image.directive';\n\nconst DIRECTIVES = [ImageDirective];\n\n@NgModule({\n imports: [CommonModule, NzModalModule],\n declarations: DIRECTIVES,\n exports: DIRECTIVES\n})\nexport class ImageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2015/let.mjs
CHANGED
|
@@ -20,9 +20,9 @@ class LetDirective {
|
|
|
20
20
|
return true;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
LetDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
24
|
-
LetDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
23
|
+
LetDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LetDirective, deps: [{ token: ViewContainerRef }, { token: TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
24
|
+
LetDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.6", type: LetDirective, selector: "[let]", inputs: { let: "let" }, ngImport: i0 });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LetDirective, decorators: [{
|
|
26
26
|
type: Directive,
|
|
27
27
|
args: [{ selector: '[let]' }]
|
|
28
28
|
}], ctorParameters: function () {
|
|
@@ -40,10 +40,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
|
|
|
40
40
|
const DIRECTIVES = [LetDirective];
|
|
41
41
|
class LetModule {
|
|
42
42
|
}
|
|
43
|
-
LetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
44
|
-
LetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
45
|
-
LetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
43
|
+
LetModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
44
|
+
LetModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LetModule, declarations: [LetDirective], exports: [LetDirective] });
|
|
45
|
+
LetModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LetModule });
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LetModule, decorators: [{
|
|
47
47
|
type: NgModule,
|
|
48
48
|
args: [{
|
|
49
49
|
declarations: DIRECTIVES,
|
package/fesm2015/let.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"let.mjs","sources":["../../../../packages/abc/let/let.directive.ts","../../../../packages/abc/let/let.module.ts","../../../../packages/abc/let/let.ts"],"sourcesContent":["import { Directive, Inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport class LetContext<T> {\n constructor(private readonly dir: LetDirective<T>) {}\n\n get $implicit(): T {\n return this.dir.let;\n }\n\n get let(): T {\n return this.dir.let;\n }\n}\n\n@Directive({ selector: '[let]' })\nexport class LetDirective<T> {\n @Input() let!: T;\n\n constructor(@Inject(ViewContainerRef) vc: ViewContainerRef, @Inject(TemplateRef) ref: TemplateRef<LetContext<T>>) {\n vc.createEmbeddedView(ref, new LetContext<T>(this));\n }\n\n static ngTemplateContextGuard<T>(_dir: LetDirective<T>, _ctx: NzSafeAny): _ctx is LetDirective<T> {\n return true;\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { LetDirective } from './let.directive';\n\nconst DIRECTIVES = [LetDirective];\n\n@NgModule({\n declarations: DIRECTIVES,\n exports: DIRECTIVES\n})\nexport class LetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAIa,UAAU;
|
|
1
|
+
{"version":3,"file":"let.mjs","sources":["../../../../packages/abc/let/let.directive.ts","../../../../packages/abc/let/let.module.ts","../../../../packages/abc/let/let.ts"],"sourcesContent":["import { Directive, Inject, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport class LetContext<T> {\n constructor(private readonly dir: LetDirective<T>) {}\n\n get $implicit(): T {\n return this.dir.let;\n }\n\n get let(): T {\n return this.dir.let;\n }\n}\n\n@Directive({ selector: '[let]' })\nexport class LetDirective<T> {\n @Input() let!: T;\n\n constructor(@Inject(ViewContainerRef) vc: ViewContainerRef, @Inject(TemplateRef) ref: TemplateRef<LetContext<T>>) {\n vc.createEmbeddedView(ref, new LetContext<T>(this));\n }\n\n static ngTemplateContextGuard<T>(_dir: LetDirective<T>, _ctx: NzSafeAny): _ctx is LetDirective<T> {\n return true;\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { LetDirective } from './let.directive';\n\nconst DIRECTIVES = [LetDirective];\n\n@NgModule({\n declarations: DIRECTIVES,\n exports: DIRECTIVES\n})\nexport class LetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAIa,UAAU,CAAA;AACrB,IAAA,WAAA,CAA6B,GAAoB,EAAA;AAApB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAiB;KAAI;AAErD,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;KACrB;AAED,IAAA,IAAI,GAAG,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;KACrB;AACF,CAAA;MAGY,YAAY,CAAA;IAGvB,WAAsC,CAAA,EAAoB,EAAuB,GAA+B,EAAA;QAC9G,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,UAAU,CAAI,IAAI,CAAC,CAAC,CAAC;KACrD;AAED,IAAA,OAAO,sBAAsB,CAAI,IAAqB,EAAE,IAAe,EAAA;AACrE,QAAA,OAAO,IAAI,CAAC;KACb;;yGATU,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAGH,gBAAgB,EAAA,EAAA,EAAA,KAAA,EAAgC,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6FAHpE,YAAY,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,SAAS;mBAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;;;8BAIjB,MAAM;+BAAC,gBAAgB,CAAA;;8BAAyB,MAAM;+BAAC,WAAW,CAAA;;yBAFtE,GAAG,EAAA,CAAA;sBAAX,KAAK;;;ACdR,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;MAMrB,SAAS,CAAA;;sGAAT,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;uGAAT,SAAS,EAAA,YAAA,EAAA,CANF,YAAY,CAAA,EAAA,OAAA,EAAA,CAAZ,YAAY,CAAA,EAAA,CAAA,CAAA;uGAMnB,SAAS,EAAA,CAAA,CAAA;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAJrB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,UAAU;AACxB,oBAAA,OAAO,EAAE,UAAU;iBACpB,CAAA;;;ACTD;;AAEG;;;;"}
|
package/fesm2015/loading.mjs
CHANGED
|
@@ -25,9 +25,9 @@ class LoadingDefaultComponent {
|
|
|
25
25
|
return this.options.custom;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
LoadingDefaultComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
29
|
-
LoadingDefaultComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
28
|
+
LoadingDefaultComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoadingDefaultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
LoadingDefaultComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: LoadingDefaultComponent, selector: "loading-default", host: { properties: { "class.loading-default": "true", "class.loading-default-rtl": "dir === 'rtl'" } }, ngImport: i0, template: "<div class=\"loading-default__icon\" *ngIf=\"options.type! !== 'text'\">\n <ng-container [ngSwitch]=\"options.type!\">\n <nz-spin *ngSwitchCase=\"'spin'\" nzSimple></nz-spin>\n <i *ngSwitchCase=\"'icon'\" nz-icon [nzType]=\"icon.type!\" [nzTheme]=\"icon.theme!\" [nzSpin]=\"icon.spin\"></i>\n <div *ngSwitchDefault class=\"loading-default__custom\" [ngStyle]=\"custom.style!\" [innerHTML]=\"custom.html\"></div>\n </ng-container>\n</div>\n<div *ngIf=\"options.text\" class=\"loading-default__text\">{{ options.text }}</div>\n", components: [{ type: i1.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoadingDefaultComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
32
|
args: [{ selector: 'loading-default', host: {
|
|
33
33
|
'[class.loading-default]': 'true',
|
|
@@ -105,9 +105,9 @@ class LoadingService {
|
|
|
105
105
|
this.loading$.unsubscribe();
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
|
-
LoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
109
|
-
LoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
108
|
+
LoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoadingService, deps: [{ token: i1$1.Overlay }, { token: i2$1.AlainConfigService }, { token: i3$1.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
109
|
+
LoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoadingService, providedIn: 'root' });
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoadingService, decorators: [{
|
|
111
111
|
type: Injectable,
|
|
112
112
|
args: [{ providedIn: 'root' }]
|
|
113
113
|
}], ctorParameters: function () {
|
|
@@ -119,10 +119,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
|
|
|
119
119
|
const COMPONENTS = [LoadingDefaultComponent];
|
|
120
120
|
class LoadingModule {
|
|
121
121
|
}
|
|
122
|
-
LoadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
123
|
-
LoadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
124
|
-
LoadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
122
|
+
LoadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
123
|
+
LoadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoadingModule, declarations: [LoadingDefaultComponent], imports: [CommonModule, OverlayModule, PortalModule, NzIconModule, NzSpinModule], exports: [LoadingDefaultComponent] });
|
|
124
|
+
LoadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoadingModule, imports: [[CommonModule, OverlayModule, PortalModule, NzIconModule, NzSpinModule]] });
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LoadingModule, decorators: [{
|
|
126
126
|
type: NgModule,
|
|
127
127
|
args: [{
|
|
128
128
|
imports: [CommonModule, OverlayModule, PortalModule, NzIconModule, NzSpinModule],
|
package/fesm2015/loading.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.mjs","sources":["../../../../packages/abc/loading/loading.component.ts","../../../../packages/abc/loading/loading.component.html","../../../../packages/abc/loading/loading.service.ts","../../../../packages/abc/loading/loading.module.ts","../../../../packages/abc/loading/loading.ts"],"sourcesContent":["import { Direction } from '@angular/cdk/bidi';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\nimport { LoadingCustom, LoadingIcon, LoadingShowOptions } from './loading.types';\n\n@Component({\n selector: 'loading-default',\n templateUrl: './loading.component.html',\n host: {\n '[class.loading-default]': 'true',\n '[class.loading-default-rtl]': `dir === 'rtl'`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class LoadingDefaultComponent {\n options!: LoadingShowOptions;\n dir: Direction = 'ltr';\n\n get icon(): LoadingIcon {\n return this.options.icon!;\n }\n\n get custom(): LoadingCustom {\n return this.options.custom!;\n }\n}\n","<div class=\"loading-default__icon\" *ngIf=\"options.type! !== 'text'\">\n <ng-container [ngSwitch]=\"options.type!\">\n <nz-spin *ngSwitchCase=\"'spin'\" nzSimple></nz-spin>\n <i *ngSwitchCase=\"'icon'\" nz-icon [nzType]=\"icon.type!\" [nzTheme]=\"icon.theme!\" [nzSpin]=\"icon.spin\"></i>\n <div *ngSwitchDefault class=\"loading-default__custom\" [ngStyle]=\"custom.style!\" [innerHTML]=\"custom.html\"></div>\n </ng-container>\n</div>\n<div *ngIf=\"options.text\" class=\"loading-default__text\">{{ options.text }}</div>\n","import { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, OnDestroy, Optional } from '@angular/core';\nimport { Subject, Subscription, timer } from 'rxjs';\nimport { debounce } from 'rxjs/operators';\n\nimport { AlainConfigService, AlainLoadingConfig } from '@delon/util/config';\n\nimport { LoadingDefaultComponent } from './loading.component';\nimport { LoadingShowOptions } from './loading.types';\n\n@Injectable({ providedIn: 'root' })\nexport class LoadingService implements OnDestroy {\n private _overlayRef?: OverlayRef;\n private compRef: ComponentRef<LoadingDefaultComponent> | null = null;\n private opt: LoadingShowOptions | null = null;\n private cog: AlainLoadingConfig;\n private n$ = new Subject<void>();\n private loading$: Subscription;\n\n get instance(): LoadingDefaultComponent | null {\n return this.compRef != null ? this.compRef.instance : null;\n }\n\n constructor(\n private overlay: Overlay,\n private configSrv: AlainConfigService,\n @Optional() private directionality: Directionality\n ) {\n this.cog = configSrv.merge('loading', {\n type: 'spin',\n text: '加载中...',\n icon: {\n type: 'loading',\n theme: 'outline',\n spin: true\n },\n delay: 0\n })!;\n this.loading$ = this.n$\n .asObservable()\n .pipe(debounce(() => timer(this.opt!.delay!)))\n .subscribe(() => this.create());\n }\n\n private create(): void {\n if (this.opt == null) return;\n\n this._close(false);\n\n this._overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),\n scrollStrategy: this.overlay.scrollStrategies.block(),\n hasBackdrop: true,\n backdropClass: 'loading-backdrop'\n });\n this.compRef = this._overlayRef.attach(new ComponentPortal(LoadingDefaultComponent));\n const dir = this.configSrv.get('loading')!.direction || this.directionality.value;\n Object.assign(this.instance, { options: this.opt, dir });\n this.compRef.changeDetectorRef.markForCheck();\n }\n\n /**\n * Open a new loading indicator\n *\n * 打开一个新加载指示符\n */\n open(options?: LoadingShowOptions): void {\n this.opt = { ...this.cog, ...options };\n this.n$.next();\n }\n\n private _close(cleanOpt: boolean): void {\n if (cleanOpt) this.opt = null;\n if (!this._overlayRef) return;\n this._overlayRef.detach();\n this.compRef = null;\n }\n\n /**\n * Turn off a loading indicator\n *\n * 关闭一个加载指示符\n */\n close(): void {\n this._close(true);\n }\n\n ngOnDestroy(): void {\n this.loading$.unsubscribe();\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\n\nimport { LoadingDefaultComponent } from './loading.component';\n\nconst COMPONENTS = [LoadingDefaultComponent];\n\n@NgModule({\n imports: [CommonModule, OverlayModule, PortalModule, NzIconModule, NzSpinModule],\n declarations: COMPONENTS,\n entryComponents: COMPONENTS,\n exports: COMPONENTS\n})\nexport class LoadingModule {}\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":"loading.mjs","sources":["../../../../packages/abc/loading/loading.component.ts","../../../../packages/abc/loading/loading.component.html","../../../../packages/abc/loading/loading.service.ts","../../../../packages/abc/loading/loading.module.ts","../../../../packages/abc/loading/loading.ts"],"sourcesContent":["import { Direction } from '@angular/cdk/bidi';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\nimport { LoadingCustom, LoadingIcon, LoadingShowOptions } from './loading.types';\n\n@Component({\n selector: 'loading-default',\n templateUrl: './loading.component.html',\n host: {\n '[class.loading-default]': 'true',\n '[class.loading-default-rtl]': `dir === 'rtl'`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class LoadingDefaultComponent {\n options!: LoadingShowOptions;\n dir: Direction = 'ltr';\n\n get icon(): LoadingIcon {\n return this.options.icon!;\n }\n\n get custom(): LoadingCustom {\n return this.options.custom!;\n }\n}\n","<div class=\"loading-default__icon\" *ngIf=\"options.type! !== 'text'\">\n <ng-container [ngSwitch]=\"options.type!\">\n <nz-spin *ngSwitchCase=\"'spin'\" nzSimple></nz-spin>\n <i *ngSwitchCase=\"'icon'\" nz-icon [nzType]=\"icon.type!\" [nzTheme]=\"icon.theme!\" [nzSpin]=\"icon.spin\"></i>\n <div *ngSwitchDefault class=\"loading-default__custom\" [ngStyle]=\"custom.style!\" [innerHTML]=\"custom.html\"></div>\n </ng-container>\n</div>\n<div *ngIf=\"options.text\" class=\"loading-default__text\">{{ options.text }}</div>\n","import { Directionality } from '@angular/cdk/bidi';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, OnDestroy, Optional } from '@angular/core';\nimport { Subject, Subscription, timer } from 'rxjs';\nimport { debounce } from 'rxjs/operators';\n\nimport { AlainConfigService, AlainLoadingConfig } from '@delon/util/config';\n\nimport { LoadingDefaultComponent } from './loading.component';\nimport { LoadingShowOptions } from './loading.types';\n\n@Injectable({ providedIn: 'root' })\nexport class LoadingService implements OnDestroy {\n private _overlayRef?: OverlayRef;\n private compRef: ComponentRef<LoadingDefaultComponent> | null = null;\n private opt: LoadingShowOptions | null = null;\n private cog: AlainLoadingConfig;\n private n$ = new Subject<void>();\n private loading$: Subscription;\n\n get instance(): LoadingDefaultComponent | null {\n return this.compRef != null ? this.compRef.instance : null;\n }\n\n constructor(\n private overlay: Overlay,\n private configSrv: AlainConfigService,\n @Optional() private directionality: Directionality\n ) {\n this.cog = configSrv.merge('loading', {\n type: 'spin',\n text: '加载中...',\n icon: {\n type: 'loading',\n theme: 'outline',\n spin: true\n },\n delay: 0\n })!;\n this.loading$ = this.n$\n .asObservable()\n .pipe(debounce(() => timer(this.opt!.delay!)))\n .subscribe(() => this.create());\n }\n\n private create(): void {\n if (this.opt == null) return;\n\n this._close(false);\n\n this._overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),\n scrollStrategy: this.overlay.scrollStrategies.block(),\n hasBackdrop: true,\n backdropClass: 'loading-backdrop'\n });\n this.compRef = this._overlayRef.attach(new ComponentPortal(LoadingDefaultComponent));\n const dir = this.configSrv.get('loading')!.direction || this.directionality.value;\n Object.assign(this.instance, { options: this.opt, dir });\n this.compRef.changeDetectorRef.markForCheck();\n }\n\n /**\n * Open a new loading indicator\n *\n * 打开一个新加载指示符\n */\n open(options?: LoadingShowOptions): void {\n this.opt = { ...this.cog, ...options };\n this.n$.next();\n }\n\n private _close(cleanOpt: boolean): void {\n if (cleanOpt) this.opt = null;\n if (!this._overlayRef) return;\n this._overlayRef.detach();\n this.compRef = null;\n }\n\n /**\n * Turn off a loading indicator\n *\n * 关闭一个加载指示符\n */\n close(): void {\n this._close(true);\n }\n\n ngOnDestroy(): void {\n this.loading$.unsubscribe();\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\n\nimport { LoadingDefaultComponent } from './loading.component';\n\nconst COMPONENTS = [LoadingDefaultComponent];\n\n@NgModule({\n imports: [CommonModule, OverlayModule, PortalModule, NzIconModule, NzSpinModule],\n declarations: COMPONENTS,\n entryComponents: COMPONENTS,\n exports: COMPONENTS\n})\nexport class LoadingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
package/fesm2015/lodop.mjs
CHANGED
|
@@ -207,19 +207,19 @@ class LodopService {
|
|
|
207
207
|
this._events.unsubscribe();
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
|
-
LodopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
211
|
-
LodopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
212
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
210
|
+
LodopService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LodopService, deps: [{ token: i1.LazyService }, { token: i2.AlainConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
211
|
+
LodopService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LodopService, providedIn: 'root' });
|
|
212
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LodopService, decorators: [{
|
|
213
213
|
type: Injectable,
|
|
214
214
|
args: [{ providedIn: 'root' }]
|
|
215
215
|
}], ctorParameters: function () { return [{ type: i1.LazyService }, { type: i2.AlainConfigService }]; } });
|
|
216
216
|
|
|
217
217
|
class LodopModule {
|
|
218
218
|
}
|
|
219
|
-
LodopModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
220
|
-
LodopModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
221
|
-
LodopModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
219
|
+
LodopModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LodopModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
220
|
+
LodopModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LodopModule });
|
|
221
|
+
LodopModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LodopModule });
|
|
222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: LodopModule, decorators: [{
|
|
223
223
|
type: NgModule,
|
|
224
224
|
args: [{}]
|
|
225
225
|
}] });
|
package/fesm2015/lodop.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lodop.mjs","sources":["../../../../packages/abc/lodop/lodop.service.ts","../../../../packages/abc/lodop/lodop.module.ts","../../../../packages/abc/lodop/lodop.ts"],"sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\nimport { Observable, of, Subject } from 'rxjs';\n\nimport { AlainConfigService, AlainLodopConfig } from '@delon/util/config';\nimport { LazyService } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { Lodop, LodopPrintResult, LodopResult } from './lodop.types';\n\n@Injectable({ providedIn: 'root' })\nexport class LodopService implements OnDestroy {\n private defaultConfig: AlainLodopConfig;\n private _cog!: AlainLodopConfig;\n private pending = false;\n private _lodop: Lodop | null = null;\n private _init = new Subject<LodopResult>();\n private _events = new Subject<LodopPrintResult>();\n private printBuffer: NzSafeAny[] = [];\n\n constructor(private scriptSrv: LazyService, configSrv: AlainConfigService) {\n this.defaultConfig = configSrv.merge('lodop', {\n url: '//localhost:8443/CLodopfuncs.js',\n name: 'CLODOP',\n companyName: '',\n checkMaxCount: 100\n })!;\n this.cog = this.defaultConfig;\n }\n\n /**\n * Get or set configuration, **Note:** Resetting will invert and reload script resources\n *\n * 获取或重新设置配置,**注:**重新设置会倒置重新加载脚本资源\n */\n get cog(): AlainLodopConfig {\n return this._cog;\n }\n set cog(value: AlainLodopConfig) {\n this._cog = {\n ...this.defaultConfig,\n ...value\n };\n }\n\n /**\n * Event change notification\n *\n * 事件变更通知\n */\n get events(): Observable<LodopPrintResult> {\n return this._events.asObservable();\n }\n\n /**\n * Get lodop object\n *\n * 获取 lodop 对象\n */\n get lodop(): Observable<LodopResult> {\n if (this._lodop) return of({ ok: true, lodop: this._lodop } as LodopResult);\n if (this.pending) return this._init.asObservable();\n\n this.request();\n\n return this._init.asObservable();\n }\n\n /**\n * Get printer list\n *\n * 获取打印机列表\n */\n get printer(): string[] {\n this.check();\n const ret: string[] = [];\n const count = this._lodop!.GET_PRINTER_COUNT();\n for (let index = 0; index < count; index++) {\n ret.push(this._lodop!.GET_PRINTER_NAME(index));\n }\n return ret;\n }\n\n private check(): void {\n if (!this._lodop) throw new Error(`请务必先调用 lodop 获取对象`);\n }\n\n private request(): void {\n this.pending = true;\n\n const url = `${this.cog.url}?name=${this.cog.name}`;\n let checkMaxCount = this.cog.checkMaxCount as number;\n const onResolve = (status: NzSafeAny, error?: NzSafeAny): void => {\n this._init.next({\n ok: status === 'ok',\n status,\n error,\n lodop: this._lodop!\n });\n };\n const checkStatus = (): void => {\n --checkMaxCount;\n if (this._lodop!.webskt && this._lodop!.webskt.readyState === 1) {\n onResolve('ok');\n } else {\n if (checkMaxCount < 0) {\n onResolve('check-limit');\n return;\n }\n setTimeout(() => checkStatus(), 100);\n }\n };\n\n this.scriptSrv.loadScript(url).then((res: NzSafeAny) => {\n if (res.status !== 'ok') {\n this.pending = false;\n onResolve('script-load-error', res[0]);\n return;\n }\n const win = window as NzSafeAny;\n if (win.hasOwnProperty(this.cog.name!)) {\n this._lodop = win[this.cog.name!] as Lodop;\n }\n if (this._lodop === null) {\n onResolve('load-variable-name-error', { name: this.cog.name });\n return;\n }\n this._lodop.SET_LICENSES(this.cog.companyName!, this.cog.license!, this.cog.licenseA, this.cog.licenseB);\n checkStatus();\n });\n }\n\n /**\n * Reset lodop object\n *\n * 重置 lodop 对象\n */\n reset(): void {\n this._lodop = null;\n this.pending = false;\n this.request();\n }\n\n /**\n * Attach code to the `lodop` object, the string class supports dynamic parameters of `{{key}}`,\n * **Note:** The code refers to the string data generated by the print design\n *\n * 附加代码至 `lodop` 对象上,字符串类支持 `{{key}}` 的动态参数,**注:** 代码是指打印设计所产生字符串数据\n */\n attachCode(code: string, contextObj?: NzSafeAny, parser?: RegExp): void {\n this.check();\n if (!parser) parser = /LODOP\\.([^(]+)\\(([^\\n]+)?\\);/i;\n code.split('\\n').forEach(line => {\n const res = parser!.exec(line.trim());\n if (!res) return;\n const fn = this._lodop![res[1]];\n if (fn) {\n let arr: NzSafeAny[] | null = null;\n try {\n const fakeFn = new Function(`return [${res[2]}]`);\n arr = fakeFn();\n } catch {}\n\n if (arr != null && Array.isArray(arr) && contextObj) {\n for (let i = 0; i < arr.length; i++) {\n if (typeof arr[i] === 'string') {\n arr[i] = (arr[i] as string).replace(/{{(.*?)}}/g, (_match, key) => contextObj[key.trim()] || '');\n }\n }\n }\n fn.apply(this._lodop, arr!);\n }\n });\n }\n\n /**\n * The code is automatically returned after opening the print design and closing,\n * **Note:** Automatically listen for the `On_Return` event, and it will be removed after running\n *\n * 打开打印设计关闭后自动返回代码,**注:** 自动监听 `On_Return` 事件,运行后会移除\n */\n design(): Promise<string> {\n this.check();\n const tid = this._lodop!.PRINT_DESIGN();\n return new Promise(resolve => {\n this._lodop!.On_Return = (taskID: string, value: boolean | string) => {\n if (tid !== taskID) return;\n this._lodop!.On_Return = null;\n resolve(`${value}`);\n };\n });\n }\n private printDo(): void {\n const data = this.printBuffer.shift();\n if (!data) return;\n this.attachCode(data.code, data.item, data.parser);\n const tid = this._lodop!.PRINT();\n this._lodop!.On_Return = (taskID: string, value: boolean | string) => {\n if (tid !== taskID) return;\n this._lodop!.On_Return = null;\n this._events.next({\n ok: value === true,\n error: value === true ? null : value,\n ...data\n });\n this.printDo();\n };\n }\n\n /**\n * Print immediately, generally used for batch printing\n *\n * 立即打印,一般用于批量套打\n */\n print(code: string, contextObj: NzSafeAny, parser?: RegExp): void {\n this.check();\n if (contextObj) {\n this.printBuffer.push(\n ...(Array.isArray(contextObj) ? contextObj : [contextObj]).map(item => {\n return { code, parser, item };\n })\n );\n }\n this.printDo();\n }\n\n ngOnDestroy(): void {\n this._init.unsubscribe();\n this._events.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\n\n@NgModule({})\nexport class LodopModule {}\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":"lodop.mjs","sources":["../../../../packages/abc/lodop/lodop.service.ts","../../../../packages/abc/lodop/lodop.module.ts","../../../../packages/abc/lodop/lodop.ts"],"sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\nimport { Observable, of, Subject } from 'rxjs';\n\nimport { AlainConfigService, AlainLodopConfig } from '@delon/util/config';\nimport { LazyService } from '@delon/util/other';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { Lodop, LodopPrintResult, LodopResult } from './lodop.types';\n\n@Injectable({ providedIn: 'root' })\nexport class LodopService implements OnDestroy {\n private defaultConfig: AlainLodopConfig;\n private _cog!: AlainLodopConfig;\n private pending = false;\n private _lodop: Lodop | null = null;\n private _init = new Subject<LodopResult>();\n private _events = new Subject<LodopPrintResult>();\n private printBuffer: NzSafeAny[] = [];\n\n constructor(private scriptSrv: LazyService, configSrv: AlainConfigService) {\n this.defaultConfig = configSrv.merge('lodop', {\n url: '//localhost:8443/CLodopfuncs.js',\n name: 'CLODOP',\n companyName: '',\n checkMaxCount: 100\n })!;\n this.cog = this.defaultConfig;\n }\n\n /**\n * Get or set configuration, **Note:** Resetting will invert and reload script resources\n *\n * 获取或重新设置配置,**注:**重新设置会倒置重新加载脚本资源\n */\n get cog(): AlainLodopConfig {\n return this._cog;\n }\n set cog(value: AlainLodopConfig) {\n this._cog = {\n ...this.defaultConfig,\n ...value\n };\n }\n\n /**\n * Event change notification\n *\n * 事件变更通知\n */\n get events(): Observable<LodopPrintResult> {\n return this._events.asObservable();\n }\n\n /**\n * Get lodop object\n *\n * 获取 lodop 对象\n */\n get lodop(): Observable<LodopResult> {\n if (this._lodop) return of({ ok: true, lodop: this._lodop } as LodopResult);\n if (this.pending) return this._init.asObservable();\n\n this.request();\n\n return this._init.asObservable();\n }\n\n /**\n * Get printer list\n *\n * 获取打印机列表\n */\n get printer(): string[] {\n this.check();\n const ret: string[] = [];\n const count = this._lodop!.GET_PRINTER_COUNT();\n for (let index = 0; index < count; index++) {\n ret.push(this._lodop!.GET_PRINTER_NAME(index));\n }\n return ret;\n }\n\n private check(): void {\n if (!this._lodop) throw new Error(`请务必先调用 lodop 获取对象`);\n }\n\n private request(): void {\n this.pending = true;\n\n const url = `${this.cog.url}?name=${this.cog.name}`;\n let checkMaxCount = this.cog.checkMaxCount as number;\n const onResolve = (status: NzSafeAny, error?: NzSafeAny): void => {\n this._init.next({\n ok: status === 'ok',\n status,\n error,\n lodop: this._lodop!\n });\n };\n const checkStatus = (): void => {\n --checkMaxCount;\n if (this._lodop!.webskt && this._lodop!.webskt.readyState === 1) {\n onResolve('ok');\n } else {\n if (checkMaxCount < 0) {\n onResolve('check-limit');\n return;\n }\n setTimeout(() => checkStatus(), 100);\n }\n };\n\n this.scriptSrv.loadScript(url).then((res: NzSafeAny) => {\n if (res.status !== 'ok') {\n this.pending = false;\n onResolve('script-load-error', res[0]);\n return;\n }\n const win = window as NzSafeAny;\n if (win.hasOwnProperty(this.cog.name!)) {\n this._lodop = win[this.cog.name!] as Lodop;\n }\n if (this._lodop === null) {\n onResolve('load-variable-name-error', { name: this.cog.name });\n return;\n }\n this._lodop.SET_LICENSES(this.cog.companyName!, this.cog.license!, this.cog.licenseA, this.cog.licenseB);\n checkStatus();\n });\n }\n\n /**\n * Reset lodop object\n *\n * 重置 lodop 对象\n */\n reset(): void {\n this._lodop = null;\n this.pending = false;\n this.request();\n }\n\n /**\n * Attach code to the `lodop` object, the string class supports dynamic parameters of `{{key}}`,\n * **Note:** The code refers to the string data generated by the print design\n *\n * 附加代码至 `lodop` 对象上,字符串类支持 `{{key}}` 的动态参数,**注:** 代码是指打印设计所产生字符串数据\n */\n attachCode(code: string, contextObj?: NzSafeAny, parser?: RegExp): void {\n this.check();\n if (!parser) parser = /LODOP\\.([^(]+)\\(([^\\n]+)?\\);/i;\n code.split('\\n').forEach(line => {\n const res = parser!.exec(line.trim());\n if (!res) return;\n const fn = this._lodop![res[1]];\n if (fn) {\n let arr: NzSafeAny[] | null = null;\n try {\n const fakeFn = new Function(`return [${res[2]}]`);\n arr = fakeFn();\n } catch {}\n\n if (arr != null && Array.isArray(arr) && contextObj) {\n for (let i = 0; i < arr.length; i++) {\n if (typeof arr[i] === 'string') {\n arr[i] = (arr[i] as string).replace(/{{(.*?)}}/g, (_match, key) => contextObj[key.trim()] || '');\n }\n }\n }\n fn.apply(this._lodop, arr!);\n }\n });\n }\n\n /**\n * The code is automatically returned after opening the print design and closing,\n * **Note:** Automatically listen for the `On_Return` event, and it will be removed after running\n *\n * 打开打印设计关闭后自动返回代码,**注:** 自动监听 `On_Return` 事件,运行后会移除\n */\n design(): Promise<string> {\n this.check();\n const tid = this._lodop!.PRINT_DESIGN();\n return new Promise(resolve => {\n this._lodop!.On_Return = (taskID: string, value: boolean | string) => {\n if (tid !== taskID) return;\n this._lodop!.On_Return = null;\n resolve(`${value}`);\n };\n });\n }\n private printDo(): void {\n const data = this.printBuffer.shift();\n if (!data) return;\n this.attachCode(data.code, data.item, data.parser);\n const tid = this._lodop!.PRINT();\n this._lodop!.On_Return = (taskID: string, value: boolean | string) => {\n if (tid !== taskID) return;\n this._lodop!.On_Return = null;\n this._events.next({\n ok: value === true,\n error: value === true ? null : value,\n ...data\n });\n this.printDo();\n };\n }\n\n /**\n * Print immediately, generally used for batch printing\n *\n * 立即打印,一般用于批量套打\n */\n print(code: string, contextObj: NzSafeAny, parser?: RegExp): void {\n this.check();\n if (contextObj) {\n this.printBuffer.push(\n ...(Array.isArray(contextObj) ? contextObj : [contextObj]).map(item => {\n return { code, parser, item };\n })\n );\n }\n this.printDo();\n }\n\n ngOnDestroy(): void {\n this._init.unsubscribe();\n this._events.unsubscribe();\n }\n}\n","import { NgModule } from '@angular/core';\n\n@NgModule({})\nexport class LodopModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2015/media.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { Injectable, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, NgModule } from '@angular/core';
|
|
4
|
+
import { Subject, timer } from 'rxjs';
|
|
5
|
+
import { share, takeUntil, take } from 'rxjs/operators';
|
|
4
6
|
import { InputNumber, ZoneOutside } from '@delon/util/decorator';
|
|
5
|
-
import { Subject } from 'rxjs';
|
|
6
7
|
import * as i1 from '@delon/util/config';
|
|
7
8
|
import * as i2 from '@delon/util/other';
|
|
8
9
|
import * as i2$1 from '@angular/cdk/platform';
|
|
@@ -39,12 +40,12 @@ class MediaService {
|
|
|
39
40
|
return this;
|
|
40
41
|
}
|
|
41
42
|
notify() {
|
|
42
|
-
return this.notify$.asObservable();
|
|
43
|
+
return this.notify$.asObservable().pipe(share());
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
|
-
MediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
46
|
-
MediaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
46
|
+
MediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MediaService, deps: [{ token: i1.AlainConfigService }, { token: i2.LazyService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
+
MediaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MediaService, providedIn: 'root' });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MediaService, decorators: [{
|
|
48
49
|
type: Injectable,
|
|
49
50
|
args: [{ providedIn: 'root' }]
|
|
50
51
|
}], ctorParameters: function () { return [{ type: i1.AlainConfigService }, { type: i2.LazyService }]; } });
|
|
@@ -56,24 +57,27 @@ class MediaComponent {
|
|
|
56
57
|
this.srv = srv;
|
|
57
58
|
this.ngZone = ngZone;
|
|
58
59
|
this.platform = platform;
|
|
60
|
+
this.destroy$ = new Subject();
|
|
59
61
|
this.type = 'video';
|
|
60
62
|
this.delay = 0;
|
|
61
63
|
this.ready = new EventEmitter();
|
|
62
|
-
this.notify$ = this.srv.notify().subscribe(() => this.initDelay());
|
|
63
64
|
}
|
|
64
65
|
get player() {
|
|
65
66
|
return this._p;
|
|
66
67
|
}
|
|
67
68
|
initDelay() {
|
|
68
|
-
|
|
69
|
+
timer(this.delay)
|
|
70
|
+
.pipe(takeUntil(this.destroy$))
|
|
71
|
+
.subscribe(() => this.ngZone.runOutsideAngular(() => this.init()));
|
|
69
72
|
}
|
|
70
73
|
init() {
|
|
71
|
-
|
|
74
|
+
const winPlyr = window.Plyr;
|
|
75
|
+
if (!winPlyr) {
|
|
72
76
|
throw new Error(`No window.Plyr found, please make sure that cdn or local path exists, the current referenced path is: ${JSON.stringify(this.srv.cog.urls)}`);
|
|
73
77
|
}
|
|
74
78
|
this.ensureElement();
|
|
75
|
-
const player = (this._p = new
|
|
76
|
-
player.on('ready', () => this.ready.next(player));
|
|
79
|
+
const player = (this._p = new winPlyr(this.videoEl, Object.assign({}, this.srv.cog.options)));
|
|
80
|
+
player.on('ready', () => this.ngZone.run(() => this.ready.next(player)));
|
|
77
81
|
this.uploadSource();
|
|
78
82
|
}
|
|
79
83
|
ensureElement() {
|
|
@@ -92,37 +96,44 @@ class MediaComponent {
|
|
|
92
96
|
}
|
|
93
97
|
}
|
|
94
98
|
uploadSource() {
|
|
99
|
+
if (this._p == null)
|
|
100
|
+
return;
|
|
95
101
|
const { source, type } = this;
|
|
96
|
-
this._p.source = typeof source === 'string' ? { type, sources: [{ src: source }] } : source;
|
|
102
|
+
this._p.source = (typeof source === 'string' ? { type, sources: [{ src: source }] } : source);
|
|
97
103
|
}
|
|
98
104
|
ngAfterViewInit() {
|
|
99
105
|
if (!this.platform.isBrowser) {
|
|
100
106
|
return;
|
|
101
107
|
}
|
|
108
|
+
this.srv
|
|
109
|
+
.notify()
|
|
110
|
+
.pipe(takeUntil(this.destroy$), take(1))
|
|
111
|
+
.subscribe(() => this.initDelay());
|
|
102
112
|
this.srv.load();
|
|
103
113
|
}
|
|
104
114
|
ngOnChanges(changes) {
|
|
105
115
|
this.srv.cog = { options: this.options };
|
|
106
|
-
if (changes.source
|
|
116
|
+
if (changes.source) {
|
|
107
117
|
this.uploadSource();
|
|
108
118
|
}
|
|
109
119
|
}
|
|
110
120
|
ngOnDestroy() {
|
|
111
|
-
clearTimeout(this.time);
|
|
112
121
|
this.destroy();
|
|
113
122
|
this._p = null;
|
|
114
|
-
this
|
|
123
|
+
const { destroy$ } = this;
|
|
124
|
+
destroy$.next();
|
|
125
|
+
destroy$.complete();
|
|
115
126
|
}
|
|
116
127
|
}
|
|
117
|
-
MediaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
118
|
-
MediaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
128
|
+
MediaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MediaComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: MediaService }, { token: i0.NgZone }, { token: i2$1.Platform }], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
+
MediaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: MediaComponent, selector: "media", inputs: { type: "type", source: "source", options: "options", delay: "delay" }, outputs: { ready: "ready" }, host: { properties: { "style.display": "'block'" } }, exportAs: ["mediaComponent"], usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
119
130
|
__decorate([
|
|
120
131
|
InputNumber()
|
|
121
132
|
], MediaComponent.prototype, "delay", void 0);
|
|
122
133
|
__decorate([
|
|
123
134
|
ZoneOutside()
|
|
124
135
|
], MediaComponent.prototype, "initDelay", null);
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MediaComponent, decorators: [{
|
|
126
137
|
type: Component,
|
|
127
138
|
args: [{
|
|
128
139
|
selector: 'media',
|
|
@@ -150,10 +161,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
|
|
|
150
161
|
const COMPONENTS = [MediaComponent];
|
|
151
162
|
class MediaModule {
|
|
152
163
|
}
|
|
153
|
-
MediaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
154
|
-
MediaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
155
|
-
MediaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
164
|
+
MediaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MediaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
165
|
+
MediaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MediaModule, declarations: [MediaComponent], imports: [CommonModule], exports: [MediaComponent] });
|
|
166
|
+
MediaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MediaModule, imports: [[CommonModule]] });
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MediaModule, decorators: [{
|
|
157
168
|
type: NgModule,
|
|
158
169
|
args: [{
|
|
159
170
|
imports: [CommonModule],
|
package/fesm2015/media.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.mjs","sources":["../../../../packages/abc/media/media.service.ts","../../../../packages/abc/media/media.component.ts","../../../../packages/abc/media/media.module.ts","../../../../packages/abc/media/media.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { AlainConfigService, AlainMediaConfig } from '@delon/util/config';\nimport { LazyService } from '@delon/util/other';\n\n@Injectable({ providedIn: 'root' })\nexport class MediaService {\n private _cog!: AlainMediaConfig;\n private loading = false;\n private loaded = false;\n private notify$ = new Subject<void>();\n\n get cog(): AlainMediaConfig {\n return this._cog;\n }\n set cog(val: AlainMediaConfig) {\n this._cog = this.cogSrv.merge(\n 'media',\n {\n urls: ['https://cdn.jsdelivr.net/npm/plyr/dist/plyr.min.js', 'https://cdn.jsdelivr.net/npm/plyr/dist/plyr.css']\n },\n val\n )!;\n }\n\n constructor(private cogSrv: AlainConfigService, private lazySrv: LazyService) {}\n\n load(): this {\n if (this.loading) {\n if (this.loaded) {\n this.notify$.next();\n }\n return this;\n }\n this.loading = true;\n this.lazySrv.load(this.cog.urls!).then(() => {\n this.loaded = true;\n this.notify$.next();\n });\n return this;\n }\n\n notify(): Observable<void> {\n return this.notify$.asObservable();\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChange,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { InputNumber, NumberInput, ZoneOutside } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { MediaService } from './media.service';\nimport { PlyrMediaSource, PlyrMediaType } from './plyr.types';\n\ndeclare const Plyr: NzSafeAny;\n\n@Component({\n selector: 'media',\n exportAs: 'mediaComponent',\n template: `<ng-content></ng-content>`,\n host: {\n '[style.display]': `'block'`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class MediaComponent implements OnChanges, AfterViewInit, OnDestroy {\n static ngAcceptInputType_delay: NumberInput;\n\n private _p: NzSafeAny;\n private videoEl!: HTMLElement;\n private time: NzSafeAny;\n private notify$: Subscription;\n\n @Input() type: PlyrMediaType = 'video';\n @Input() source?: string | PlyrMediaSource;\n @Input() options: NzSafeAny;\n @Input() @InputNumber() delay = 0;\n @Output() readonly ready = new EventEmitter<NzSafeAny>();\n\n get player(): NzSafeAny {\n return this._p;\n }\n\n constructor(\n private el: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n private srv: MediaService,\n public ngZone: NgZone,\n private platform: Platform\n ) {\n this.notify$ = this.srv.notify().subscribe(() => this.initDelay());\n }\n\n @ZoneOutside()\n private initDelay(): void {\n this.time = setTimeout(() => this.init(), this.delay);\n }\n\n private init(): void {\n if (!(window as NzSafeAny).Plyr) {\n throw new Error(\n `No window.Plyr found, please make sure that cdn or local path exists, the current referenced path is: ${JSON.stringify(\n this.srv.cog.urls\n )}`\n );\n }\n\n this.ensureElement();\n\n const player = (this._p = new Plyr(this.videoEl, {\n ...this.srv.cog.options\n }));\n\n player.on('ready', () => this.ready.next(player));\n\n this.uploadSource();\n }\n\n private ensureElement(): void {\n const { type } = this;\n let el = this.el.nativeElement.querySelector(type) as HTMLElement;\n if (!el) {\n el = this.renderer.createElement(type);\n (el as HTMLVideoElement).controls = true;\n this.el.nativeElement.appendChild(el);\n }\n this.videoEl = el;\n }\n\n private destroy(): void {\n if (this._p) {\n this._p.destroy();\n }\n }\n\n private uploadSource(): void {\n const { source, type } = this;\n this._p.source = typeof source === 'string' ? { type, sources: [{ src: source }] } : source;\n }\n\n ngAfterViewInit(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.srv.load();\n }\n\n ngOnChanges(changes: { [p in keyof MediaComponent]?: SimpleChange }): void {\n this.srv.cog = { options: this.options };\n if (changes.source && this._p) {\n this.uploadSource();\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.time);\n this.destroy();\n this._p = null;\n this.notify$.unsubscribe();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MediaComponent } from './media.component';\n\nconst COMPONENTS = [MediaComponent];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class MediaModule {}\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":"media.mjs","sources":["../../../../packages/abc/media/media.service.ts","../../../../packages/abc/media/media.component.ts","../../../../packages/abc/media/media.module.ts","../../../../packages/abc/media/media.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\nimport { AlainConfigService, AlainMediaConfig } from '@delon/util/config';\nimport { LazyService } from '@delon/util/other';\n\n@Injectable({ providedIn: 'root' })\nexport class MediaService {\n private _cog!: AlainMediaConfig;\n private loading = false;\n private loaded = false;\n private notify$ = new Subject<void>();\n\n get cog(): AlainMediaConfig {\n return this._cog;\n }\n set cog(val: AlainMediaConfig) {\n this._cog = this.cogSrv.merge(\n 'media',\n {\n urls: ['https://cdn.jsdelivr.net/npm/plyr/dist/plyr.min.js', 'https://cdn.jsdelivr.net/npm/plyr/dist/plyr.css']\n },\n val\n )!;\n }\n\n constructor(private cogSrv: AlainConfigService, private lazySrv: LazyService) {}\n\n load(): this {\n if (this.loading) {\n if (this.loaded) {\n this.notify$.next();\n }\n return this;\n }\n this.loading = true;\n this.lazySrv.load(this.cog.urls!).then(() => {\n this.loaded = true;\n this.notify$.next();\n });\n return this;\n }\n\n notify(): Observable<void> {\n return this.notify$.asObservable().pipe(share());\n }\n}\n","import { Platform } from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChange,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject, timer } from 'rxjs';\nimport { takeUntil, take } from 'rxjs/operators';\n\nimport type Plyr from 'plyr';\n\nimport { InputNumber, NumberInput, ZoneOutside } from '@delon/util/decorator';\nimport type { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { MediaService } from './media.service';\n\nexport type MediaType = 'html5' | 'youtube' | 'video' | 'audio';\n\n@Component({\n selector: 'media',\n exportAs: 'mediaComponent',\n template: `<ng-content></ng-content>`,\n host: {\n '[style.display]': `'block'`\n },\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class MediaComponent implements OnChanges, AfterViewInit, OnDestroy {\n static ngAcceptInputType_delay: NumberInput;\n\n private _p?: Plyr | null;\n private videoEl?: HTMLElement;\n private destroy$ = new Subject<void>();\n\n @Input() type: MediaType = 'video';\n @Input() source?: string | Plyr.SourceInfo;\n @Input() options?: Plyr.Options;\n @Input() @InputNumber() delay = 0;\n @Output() readonly ready = new EventEmitter<Plyr>();\n\n get player(): Plyr | undefined | null {\n return this._p;\n }\n\n constructor(\n private el: ElementRef<HTMLElement>,\n private renderer: Renderer2,\n private srv: MediaService,\n private ngZone: NgZone,\n private platform: Platform\n ) {}\n\n @ZoneOutside()\n private initDelay(): void {\n timer(this.delay)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.ngZone.runOutsideAngular(() => this.init()));\n }\n\n private init(): void {\n const winPlyr = (window as NzSafeAny).Plyr;\n if (!winPlyr) {\n throw new Error(\n `No window.Plyr found, please make sure that cdn or local path exists, the current referenced path is: ${JSON.stringify(\n this.srv.cog.urls\n )}`\n );\n }\n\n this.ensureElement();\n\n const player: Plyr = (this._p = new winPlyr(this.videoEl, {\n ...this.srv.cog.options\n }));\n\n player.on('ready', () => this.ngZone.run(() => this.ready.next(player)));\n\n this.uploadSource();\n }\n\n private ensureElement(): void {\n const { type } = this;\n let el = this.el.nativeElement.querySelector(type) as HTMLElement;\n if (!el) {\n el = this.renderer.createElement(type);\n (el as HTMLVideoElement).controls = true;\n this.el.nativeElement.appendChild(el);\n }\n this.videoEl = el;\n }\n\n private destroy(): void {\n if (this._p) {\n this._p.destroy();\n }\n }\n\n private uploadSource(): void {\n if (this._p == null) return;\n\n const { source, type } = this;\n this._p.source = (typeof source === 'string' ? { type, sources: [{ src: source }] } : source) as Plyr.SourceInfo;\n }\n\n ngAfterViewInit(): void {\n if (!this.platform.isBrowser) {\n return;\n }\n this.srv\n .notify()\n .pipe(takeUntil(this.destroy$), take(1))\n .subscribe(() => this.initDelay());\n\n this.srv.load();\n }\n\n ngOnChanges(changes: { [p in keyof MediaComponent]?: SimpleChange }): void {\n this.srv.cog = { options: this.options };\n if (changes.source) {\n this.uploadSource();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy();\n this._p = null;\n\n const { destroy$ } = this;\n destroy$.next();\n destroy$.complete();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MediaComponent } from './media.component';\n\nconst COMPONENTS = [MediaComponent];\n\n@NgModule({\n imports: [CommonModule],\n declarations: COMPONENTS,\n exports: COMPONENTS\n})\nexport class MediaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.MediaService","i2"],"mappings":"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"}
|