UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

95 lines (94 loc) 10.3 kB
/** * 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'; const IconMap = { success: 'check-circle', error: 'close-circle', info: 'exclamation-circle', warning: 'warning' }; const ExceptionStatus = ['404', '500', '403']; export class NzResultComponent { constructor() { this.nzStatus = 'info'; this.isException = false; } ngOnChanges() { this.setStatusIcon(); } setStatusIcon() { const icon = this.nzIcon; this.isException = ExceptionStatus.indexOf(this.nzStatus) !== -1; this.icon = icon ? typeof icon === 'string' ? IconMap[icon] || icon : icon : this.isException ? undefined : IconMap[this.nzStatus]; } } NzResultComponent.decorators = [ { type: Component, args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, selector: 'nz-result', exportAs: 'nzResult', template: ` <div class="ant-result-icon"> <ng-container *ngIf="!isException; else exceptionTpl"> <ng-container *ngIf="icon"> <ng-container *nzStringTemplateOutlet="icon; let icon"> <i nz-icon [nzType]="icon" nzTheme="fill"></i> </ng-container> </ng-container> <ng-content *ngIf="!icon" select="[nz-result-icon]"></ng-content> </ng-container> </div> <ng-container *ngIf="nzTitle"> <div class="ant-result-title" *nzStringTemplateOutlet="nzTitle"> {{ nzTitle }} </div> </ng-container> <ng-content *ngIf="!nzTitle" select="div[nz-result-title]"></ng-content> <ng-container *ngIf="nzSubTitle"> <div class="ant-result-subtitle" *nzStringTemplateOutlet="nzSubTitle"> {{ nzSubTitle }} </div> </ng-container> <ng-content *ngIf="!nzSubTitle" select="div[nz-result-subtitle]"></ng-content> <ng-content select="nz-result-content, [nz-result-content]"></ng-content> <div class="ant-result-extra" *ngIf="nzExtra"> <ng-container *nzStringTemplateOutlet="nzExtra"> {{ nzExtra }} </ng-container> </div> <ng-content *ngIf="!nzExtra" select="div[nz-result-extra]"></ng-content> <ng-template #exceptionTpl> <ng-container [ngSwitch]="nzStatus"> <nz-result-not-found *ngSwitchCase="'404'"></nz-result-not-found> <nz-result-server-error *ngSwitchCase="'500'"></nz-result-server-error> <nz-result-unauthorized *ngSwitchCase="'403'"></nz-result-unauthorized> </ng-container> </ng-template> `, host: { '[class.ant-result]': 'true', '[class.ant-result-success]': `nzStatus === 'success'`, '[class.ant-result-error]': `nzStatus === 'error'`, '[class.ant-result-info]': `nzStatus === 'info'`, '[class.ant-result-warning]': `nzStatus === 'warning'` } },] } ]; NzResultComponent.ctorParameters = () => []; NzResultComponent.propDecorators = { nzIcon: [{ type: Input }], nzTitle: [{ type: Input }], nzStatus: [{ type: Input }], nzSubTitle: [{ type: Input }], nzExtra: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS92c3RzL3dvcmsvMS9zL2NvbXBvbmVudHMvcmVzdWx0LyIsInNvdXJjZXMiOlsicmVzdWx0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBMEIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNckgsTUFBTSxPQUFPLEdBQUc7SUFDZCxPQUFPLEVBQUUsY0FBYztJQUN2QixLQUFLLEVBQUUsY0FBYztJQUNyQixJQUFJLEVBQUUsb0JBQW9CO0lBQzFCLE9BQU8sRUFBRSxTQUFTO0NBQ25CLENBQUM7QUFDRixNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFzRDlDLE1BQU0sT0FBTyxpQkFBaUI7SUFVNUI7UUFQUyxhQUFRLEdBQXVCLE1BQU0sQ0FBQztRQUsvQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztJQUVMLENBQUM7SUFFaEIsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXpCLElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJO1lBQ2QsQ0FBQyxDQUFDLE9BQU8sSUFBSSxLQUFLLFFBQVE7Z0JBQ3hCLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBd0IsQ0FBQyxJQUFJLElBQUk7Z0JBQzNDLENBQUMsQ0FBQyxJQUFJO1lBQ1IsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXO2dCQUNsQixDQUFDLENBQUMsU0FBUztnQkFDWCxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUE0QixDQUFDLENBQUM7SUFDakQsQ0FBQzs7O1lBL0VGLFNBQVMsU0FBQztnQkFDVCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLFFBQVEsRUFBRSxXQUFXO2dCQUNyQixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNDVDtnQkFDRCxJQUFJLEVBQUU7b0JBQ0osb0JBQW9CLEVBQUUsTUFBTTtvQkFDNUIsNEJBQTRCLEVBQUUsd0JBQXdCO29CQUN0RCwwQkFBMEIsRUFBRSxzQkFBc0I7b0JBQ2xELHlCQUF5QixFQUFFLHFCQUFxQjtvQkFDaEQsNEJBQTRCLEVBQUUsd0JBQXdCO2lCQUN2RDthQUNGOzs7O3FCQUVFLEtBQUs7c0JBQ0wsS0FBSzt1QkFDTCxLQUFLO3lCQUNMLEtBQUs7c0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBOelJlc3VsdEljb25UeXBlID0gJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICdpbmZvJyB8ICd3YXJuaW5nJztcbmV4cG9ydCB0eXBlIE56RXhjZXB0aW9uU3RhdHVzVHlwZSA9ICc0MDQnIHwgJzUwMCcgfCAnNDAzJztcbmV4cG9ydCB0eXBlIE56UmVzdWx0U3RhdHVzVHlwZSA9IE56RXhjZXB0aW9uU3RhdHVzVHlwZSB8IE56UmVzdWx0SWNvblR5cGU7XG5cbmNvbnN0IEljb25NYXAgPSB7XG4gIHN1Y2Nlc3M6ICdjaGVjay1jaXJjbGUnLFxuICBlcnJvcjogJ2Nsb3NlLWNpcmNsZScsXG4gIGluZm86ICdleGNsYW1hdGlvbi1jaXJjbGUnLFxuICB3YXJuaW5nOiAnd2FybmluZydcbn07XG5jb25zdCBFeGNlcHRpb25TdGF0dXMgPSBbJzQwNCcsICc1MDAnLCAnNDAzJ107XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc2VsZWN0b3I6ICduei1yZXN1bHQnLFxuICBleHBvcnRBczogJ256UmVzdWx0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYW50LXJlc3VsdC1pY29uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzRXhjZXB0aW9uOyBlbHNlIGV4Y2VwdGlvblRwbFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaWNvblwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm56U3RyaW5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uOyBsZXQgaWNvblwiPlxuICAgICAgICAgICAgPGkgbnotaWNvbiBbbnpUeXBlXT1cImljb25cIiBuelRoZW1lPVwiZmlsbFwiPjwvaT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250ZW50ICpuZ0lmPVwiIWljb25cIiBzZWxlY3Q9XCJbbnotcmVzdWx0LWljb25dXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm56VGl0bGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhbnQtcmVzdWx0LXRpdGxlXCIgKm56U3RyaW5nVGVtcGxhdGVPdXRsZXQ9XCJuelRpdGxlXCI+XG4gICAgICAgIHt7IG56VGl0bGUgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250ZW50ICpuZ0lmPVwiIW56VGl0bGVcIiBzZWxlY3Q9XCJkaXZbbnotcmVzdWx0LXRpdGxlXVwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibnpTdWJUaXRsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFudC1yZXN1bHQtc3VidGl0bGVcIiAqbnpTdHJpbmdUZW1wbGF0ZU91dGxldD1cIm56U3ViVGl0bGVcIj5cbiAgICAgICAge3sgbnpTdWJUaXRsZSB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQgKm5nSWY9XCIhbnpTdWJUaXRsZVwiIHNlbGVjdD1cImRpdltuei1yZXN1bHQtc3VidGl0bGVdXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm56LXJlc3VsdC1jb250ZW50LCBbbnotcmVzdWx0LWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJhbnQtcmVzdWx0LWV4dHJhXCIgKm5nSWY9XCJuekV4dHJhXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuelN0cmluZ1RlbXBsYXRlT3V0bGV0PVwibnpFeHRyYVwiPlxuICAgICAgICB7eyBuekV4dHJhIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGVudCAqbmdJZj1cIiFuekV4dHJhXCIgc2VsZWN0PVwiZGl2W256LXJlc3VsdC1leHRyYV1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICA8bmctdGVtcGxhdGUgI2V4Y2VwdGlvblRwbD5cbiAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm56U3RhdHVzXCI+XG4gICAgICAgIDxuei1yZXN1bHQtbm90LWZvdW5kICpuZ1N3aXRjaENhc2U9XCInNDA0J1wiPjwvbnotcmVzdWx0LW5vdC1mb3VuZD5cbiAgICAgICAgPG56LXJlc3VsdC1zZXJ2ZXItZXJyb3IgKm5nU3dpdGNoQ2FzZT1cIic1MDAnXCI+PC9uei1yZXN1bHQtc2VydmVyLWVycm9yPlxuICAgICAgICA8bnotcmVzdWx0LXVuYXV0aG9yaXplZCAqbmdTd2l0Y2hDYXNlPVwiJzQwMydcIj48L256LXJlc3VsdC11bmF1dGhvcml6ZWQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5hbnQtcmVzdWx0XSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLmFudC1yZXN1bHQtc3VjY2Vzc10nOiBgbnpTdGF0dXMgPT09ICdzdWNjZXNzJ2AsXG4gICAgJ1tjbGFzcy5hbnQtcmVzdWx0LWVycm9yXSc6IGBuelN0YXR1cyA9PT0gJ2Vycm9yJ2AsXG4gICAgJ1tjbGFzcy5hbnQtcmVzdWx0LWluZm9dJzogYG56U3RhdHVzID09PSAnaW5mbydgLFxuICAgICdbY2xhc3MuYW50LXJlc3VsdC13YXJuaW5nXSc6IGBuelN0YXR1cyA9PT0gJ3dhcm5pbmcnYFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIE56UmVzdWx0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbnpJY29uPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG4gIEBJbnB1dCgpIG56VGl0bGU/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgQElucHV0KCkgbnpTdGF0dXM6IE56UmVzdWx0U3RhdHVzVHlwZSA9ICdpbmZvJztcbiAgQElucHV0KCkgbnpTdWJUaXRsZT86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBASW5wdXQoKSBuekV4dHJhPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgaWNvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBpc0V4Y2VwdGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0YXR1c0ljb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U3RhdHVzSWNvbigpOiB2b2lkIHtcbiAgICBjb25zdCBpY29uID0gdGhpcy5uekljb247XG5cbiAgICB0aGlzLmlzRXhjZXB0aW9uID0gRXhjZXB0aW9uU3RhdHVzLmluZGV4T2YodGhpcy5uelN0YXR1cykgIT09IC0xO1xuICAgIHRoaXMuaWNvbiA9IGljb25cbiAgICAgID8gdHlwZW9mIGljb24gPT09ICdzdHJpbmcnXG4gICAgICAgID8gSWNvbk1hcFtpY29uIGFzIE56UmVzdWx0SWNvblR5cGVdIHx8IGljb25cbiAgICAgICAgOiBpY29uXG4gICAgICA6IHRoaXMuaXNFeGNlcHRpb25cbiAgICAgID8gdW5kZWZpbmVkXG4gICAgICA6IEljb25NYXBbdGhpcy5uelN0YXR1cyBhcyBOelJlc3VsdEljb25UeXBlXTtcbiAgfVxufVxuIl19