ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
127 lines (125 loc) • 13.1 kB
JavaScript
/**
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { NzOutletModule } from 'ng-zorro-antd/core/outlet';
import { NzEmptyDefaultComponent } from './partial/default';
import { NzEmptySimpleComponent } from './partial/simple';
import * as i0 from "@angular/core";
import * as i1 from "ng-zorro-antd/i18n";
import * as i2 from "ng-zorro-antd/core/outlet";
const NzEmptyDefaultImages = ['default', 'simple'];
export class NzEmptyComponent {
constructor(i18n, cdr) {
this.i18n = i18n;
this.cdr = cdr;
this.nzNotFoundImage = 'default';
this.isContentString = false;
this.isImageBuildIn = true;
this.destroy$ = new Subject();
}
ngOnChanges(changes) {
const { nzNotFoundContent, nzNotFoundImage } = changes;
if (nzNotFoundContent) {
const content = nzNotFoundContent.currentValue;
this.isContentString = typeof content === 'string';
}
if (nzNotFoundImage) {
const image = nzNotFoundImage.currentValue || 'default';
this.isImageBuildIn = NzEmptyDefaultImages.findIndex(i => i === image) > -1;
}
}
ngOnInit() {
this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {
this.locale = this.i18n.getLocaleData('Empty');
this.cdr.markForCheck();
});
}
ngOnDestroy() {
this.destroy$.next();
this.destroy$.complete();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NzEmptyComponent, deps: [{ token: i1.NzI18nService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: NzEmptyComponent, isStandalone: true, selector: "nz-empty", inputs: { nzNotFoundImage: "nzNotFoundImage", nzNotFoundContent: "nzNotFoundContent", nzNotFoundFooter: "nzNotFoundFooter" }, host: { classAttribute: "ant-empty" }, exportAs: ["nzEmpty"], usesOnChanges: true, ngImport: i0, template: `
<div class="ant-empty-image">
(!isImageBuildIn) {
<ng-container *nzStringTemplateOutlet="nzNotFoundImage">
<img [src]="nzNotFoundImage" [alt]="isContentString ? nzNotFoundContent : 'empty'" />
</ng-container>
} {
(nzNotFoundImage === 'simple') {
<nz-empty-simple />
} {
<nz-empty-default />
}
}
</div>
(nzNotFoundContent !== null) {
<p class="ant-empty-description">
<ng-container *nzStringTemplateOutlet="nzNotFoundContent">
{{ isContentString ? nzNotFoundContent : locale['description'] }}
</ng-container>
</p>
}
(nzNotFoundFooter) {
<div class="ant-empty-footer">
<ng-container *nzStringTemplateOutlet="nzNotFoundFooter">
{{ nzNotFoundFooter }}
</ng-container>
</div>
}
`, isInline: true, dependencies: [{ kind: "ngmodule", type: NzOutletModule }, { kind: "directive", type: i2.NzStringTemplateOutletDirective, selector: "[nzStringTemplateOutlet]", inputs: ["nzStringTemplateOutletContext", "nzStringTemplateOutlet"], exportAs: ["nzStringTemplateOutlet"] }, { kind: "component", type: NzEmptyDefaultComponent, selector: "nz-empty-default", exportAs: ["nzEmptyDefault"] }, { kind: "component", type: NzEmptySimpleComponent, selector: "nz-empty-simple", exportAs: ["nzEmptySimple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NzEmptyComponent, decorators: [{
type: Component,
args: [{
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None,
selector: 'nz-empty',
exportAs: 'nzEmpty',
template: `
<div class="ant-empty-image">
(!isImageBuildIn) {
<ng-container *nzStringTemplateOutlet="nzNotFoundImage">
<img [src]="nzNotFoundImage" [alt]="isContentString ? nzNotFoundContent : 'empty'" />
</ng-container>
} {
(nzNotFoundImage === 'simple') {
<nz-empty-simple />
} {
<nz-empty-default />
}
}
</div>
(nzNotFoundContent !== null) {
<p class="ant-empty-description">
<ng-container *nzStringTemplateOutlet="nzNotFoundContent">
{{ isContentString ? nzNotFoundContent : locale['description'] }}
</ng-container>
</p>
}
(nzNotFoundFooter) {
<div class="ant-empty-footer">
<ng-container *nzStringTemplateOutlet="nzNotFoundFooter">
{{ nzNotFoundFooter }}
</ng-container>
</div>
}
`,
host: {
class: 'ant-empty'
},
imports: [NzOutletModule, NzEmptyDefaultComponent, NzEmptySimpleComponent],
standalone: true
}]
}], ctorParameters: () => [{ type: i1.NzI18nService }, { type: i0.ChangeDetectorRef }], propDecorators: { nzNotFoundImage: [{
type: Input
}], nzNotFoundContent: [{
type: Input
}], nzNotFoundFooter: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50cy9lbXB0eS9lbXB0eS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsS0FBSyxFQU1MLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFFMUQsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQVUsQ0FBQztBQTRDNUQsTUFBTSxPQUFPLGdCQUFnQjtJQVczQixZQUNVLElBQW1CLEVBQ25CLEdBQXNCO1FBRHRCLFNBQUksR0FBSixJQUFJLENBQWU7UUFDbkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFadkIsb0JBQWUsR0FBNkIsU0FBUyxDQUFDO1FBSS9ELG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBR0wsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFLN0MsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRXZELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7WUFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUM7UUFDckQsQ0FBQztRQUVELElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLFlBQVksSUFBSSxTQUFTLENBQUM7WUFDeEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUUsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ25FLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBeENVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLHFSQXBDakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJULDJEQUlTLGNBQWMsaVBBQUUsdUJBQXVCLDJGQUFFLHNCQUFzQjs7MkZBRzlELGdCQUFnQjtrQkF6QzVCLFNBQVM7bUJBQUM7b0JBQ1QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2QlQ7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxXQUFXO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCLENBQUM7b0JBQzFFLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtrSEFFVSxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9ORy1aT1JSTy9uZy16b3Jyby1hbnRkL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTnpPdXRsZXRNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvb3V0bGV0JztcbmltcG9ydCB7IE56RW1wdHlJMThuSW50ZXJmYWNlLCBOekkxOG5TZXJ2aWNlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pMThuJztcblxuaW1wb3J0IHsgTnpFbXB0eURlZmF1bHRDb21wb25lbnQgfSBmcm9tICcuL3BhcnRpYWwvZGVmYXVsdCc7XG5pbXBvcnQgeyBOekVtcHR5U2ltcGxlQ29tcG9uZW50IH0gZnJvbSAnLi9wYXJ0aWFsL3NpbXBsZSc7XG5cbmNvbnN0IE56RW1wdHlEZWZhdWx0SW1hZ2VzID0gWydkZWZhdWx0JywgJ3NpbXBsZSddIGFzIGNvbnN0O1xudHlwZSBOekVtcHR5Tm90Rm91bmRJbWFnZVR5cGUgPSAodHlwZW9mIE56RW1wdHlEZWZhdWx0SW1hZ2VzKVtudW1iZXJdIHwgbnVsbCB8IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG5AQ29tcG9uZW50KHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHNlbGVjdG9yOiAnbnotZW1wdHknLFxuICBleHBvcnRBczogJ256RW1wdHknLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJhbnQtZW1wdHktaW1hZ2VcIj5cbiAgICAgIEBpZiAoIWlzSW1hZ2VCdWlsZEluKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgKm56U3RyaW5nVGVtcGxhdGVPdXRsZXQ9XCJuek5vdEZvdW5kSW1hZ2VcIj5cbiAgICAgICAgICA8aW1nIFtzcmNdPVwibnpOb3RGb3VuZEltYWdlXCIgW2FsdF09XCJpc0NvbnRlbnRTdHJpbmcgPyBuek5vdEZvdW5kQ29udGVudCA6ICdlbXB0eSdcIiAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgKG56Tm90Rm91bmRJbWFnZSA9PT0gJ3NpbXBsZScpIHtcbiAgICAgICAgICA8bnotZW1wdHktc2ltcGxlIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxuei1lbXB0eS1kZWZhdWx0IC8+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBAaWYgKG56Tm90Rm91bmRDb250ZW50ICE9PSBudWxsKSB7XG4gICAgICA8cCBjbGFzcz1cImFudC1lbXB0eS1kZXNjcmlwdGlvblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuelN0cmluZ1RlbXBsYXRlT3V0bGV0PVwibnpOb3RGb3VuZENvbnRlbnRcIj5cbiAgICAgICAgICB7eyBpc0NvbnRlbnRTdHJpbmcgPyBuek5vdEZvdW5kQ29udGVudCA6IGxvY2FsZVsnZGVzY3JpcHRpb24nXSB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvcD5cbiAgICB9XG5cbiAgICBAaWYgKG56Tm90Rm91bmRGb290ZXIpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJhbnQtZW1wdHktZm9vdGVyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm56U3RyaW5nVGVtcGxhdGVPdXRsZXQ9XCJuek5vdEZvdW5kRm9vdGVyXCI+XG4gICAgICAgICAge3sgbnpOb3RGb3VuZEZvb3RlciB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgYCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYW50LWVtcHR5J1xuICB9LFxuICBpbXBvcnRzOiBbTnpPdXRsZXRNb2R1bGUsIE56RW1wdHlEZWZhdWx0Q29tcG9uZW50LCBOekVtcHR5U2ltcGxlQ29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBOekVtcHR5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIG56Tm90Rm91bmRJbWFnZTogTnpFbXB0eU5vdEZvdW5kSW1hZ2VUeXBlID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBuek5vdEZvdW5kQ29udGVudD86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+IHwgbnVsbDtcbiAgQElucHV0KCkgbnpOb3RGb3VuZEZvb3Rlcj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIGlzQ29udGVudFN0cmluZyA9IGZhbHNlO1xuICBpc0ltYWdlQnVpbGRJbiA9IHRydWU7XG4gIGxvY2FsZSE6IE56RW1wdHlJMThuSW50ZXJmYWNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaTE4bjogTnpJMThuU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCB7IG56Tm90Rm91bmRDb250ZW50LCBuek5vdEZvdW5kSW1hZ2UgfSA9IGNoYW5nZXM7XG5cbiAgICBpZiAobnpOb3RGb3VuZENvbnRlbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBuek5vdEZvdW5kQ29udGVudC5jdXJyZW50VmFsdWU7XG4gICAgICB0aGlzLmlzQ29udGVudFN0cmluZyA9IHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJztcbiAgICB9XG5cbiAgICBpZiAobnpOb3RGb3VuZEltYWdlKSB7XG4gICAgICBjb25zdCBpbWFnZSA9IG56Tm90Rm91bmRJbWFnZS5jdXJyZW50VmFsdWUgfHwgJ2RlZmF1bHQnO1xuICAgICAgdGhpcy5pc0ltYWdlQnVpbGRJbiA9IE56RW1wdHlEZWZhdWx0SW1hZ2VzLmZpbmRJbmRleChpID0+IGkgPT09IGltYWdlKSA+IC0xO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmxvY2FsZSA9IHRoaXMuaTE4bi5nZXRMb2NhbGVEYXRhKCdFbXB0eScpO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==