UNPKG

ng-zorro-antd

Version:

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

416 lines (407 loc) 15.9 kB
import { TemplateRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, Renderer2, Input, ChangeDetectorRef, ContentChildren, HostBinding, NgModule } from '@angular/core'; import { __decorate, __metadata } from 'tslib'; import { NzUpdateHostClassService, InputBoolean, NzAddOnModule } from 'ng-zorro-antd/core'; import { BehaviorSubject } from 'rxjs'; import { CommonModule } from '@angular/common'; import { NzAvatarModule } from 'ng-zorro-antd/avatar'; import { NzEmptyModule } from 'ng-zorro-antd/empty'; import { NzGridModule } from 'ng-zorro-antd/grid'; import { NzSpinModule } from 'ng-zorro-antd/spin'; /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @license * Copyright Alibaba.com All Rights Reserved. * * 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 */ /** * @record */ function NzListGrid() { } if (false) { /** @type {?|undefined} */ NzListGrid.prototype.gutter; /** @type {?|undefined} */ NzListGrid.prototype.span; /** @type {?|undefined} */ NzListGrid.prototype.column; /** @type {?|undefined} */ NzListGrid.prototype.xs; /** @type {?|undefined} */ NzListGrid.prototype.sm; /** @type {?|undefined} */ NzListGrid.prototype.md; /** @type {?|undefined} */ NzListGrid.prototype.lg; /** @type {?|undefined} */ NzListGrid.prototype.xl; /** @type {?|undefined} */ NzListGrid.prototype.xxl; } /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NzListItemMetaComponent { /** * @param {?} elementRef * @param {?} renderer */ constructor(elementRef, renderer) { this.elementRef = elementRef; this.renderer = renderer; this.avatarStr = ''; this.renderer.addClass(elementRef.nativeElement, 'ant-list-item-meta'); } /** * @param {?} value * @return {?} */ set nzAvatar(value) { if (value instanceof TemplateRef) { this.avatarStr = ''; this.avatarTpl = value; } else { this.avatarStr = value; } } } NzListItemMetaComponent.decorators = [ { type: Component, args: [{ selector: 'nz-list-item-meta, [nz-list-item-meta]', exportAs: 'nzListItemMeta', template: "<div *ngIf=\"avatarStr || avatarTpl\" class=\"ant-list-item-meta-avatar\">\n <ng-container *ngIf=\"avatarStr; else avatarTpl\">\n <nz-avatar [nzSrc]=\"avatarStr\"></nz-avatar>\n </ng-container>\n</div>\n<div *ngIf=\"nzTitle || nzDescription\" class=\"ant-list-item-meta-content\">\n <h4 *ngIf=\"nzTitle\" class=\"ant-list-item-meta-title\">\n <ng-container *nzStringTemplateOutlet=\"nzTitle\">{{ nzTitle }}</ng-container>\n </h4>\n <div *ngIf=\"nzDescription\" class=\"ant-list-item-meta-description\">\n <ng-container *nzStringTemplateOutlet=\"nzDescription\">{{ nzDescription }}</ng-container>\n </div>\n</div>", preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None }] } ]; /** @nocollapse */ NzListItemMetaComponent.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; NzListItemMetaComponent.propDecorators = { nzAvatar: [{ type: Input }], nzTitle: [{ type: Input }], nzDescription: [{ type: Input }] }; if (false) { /** @type {?} */ NzListItemMetaComponent.prototype.avatarStr; /** @type {?} */ NzListItemMetaComponent.prototype.avatarTpl; /** @type {?} */ NzListItemMetaComponent.prototype.nzTitle; /** @type {?} */ NzListItemMetaComponent.prototype.nzDescription; /** @type {?} */ NzListItemMetaComponent.prototype.elementRef; /** * @type {?} * @private */ NzListItemMetaComponent.prototype.renderer; } /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NzListComponent { /** * @param {?} el * @param {?} updateHostClassService */ constructor(el, updateHostClassService) { this.el = el; this.updateHostClassService = updateHostClassService; this.nzBordered = false; this.nzItemLayout = 'horizontal'; this.nzLoading = false; this.nzSize = 'default'; this.nzSplit = true; // #endregion // #region styles this.prefixCls = 'ant-list'; // #endregion this.itemLayoutNotifySource = new BehaviorSubject(this.nzItemLayout); } /** * @private * @return {?} */ _setClassMap() { /** @type {?} */ const classMap = { [this.prefixCls]: true, [`${this.prefixCls}-vertical`]: this.nzItemLayout === 'vertical', [`${this.prefixCls}-lg`]: this.nzSize === 'large', [`${this.prefixCls}-sm`]: this.nzSize === 'small', [`${this.prefixCls}-split`]: this.nzSplit, [`${this.prefixCls}-bordered`]: this.nzBordered, [`${this.prefixCls}-loading`]: this.nzLoading, [`${this.prefixCls}-grid`]: this.nzGrid, [`${this.prefixCls}-something-after-last-item`]: !!(this.nzLoadMore || this.nzPagination || this.nzFooter) }; this.updateHostClassService.updateHostClass(this.el.nativeElement, classMap); } /** * @return {?} */ get itemLayoutNotify$() { return this.itemLayoutNotifySource.asObservable(); } /** * @return {?} */ ngOnInit() { this._setClassMap(); } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { this._setClassMap(); if (changes.nzItemLayout) { this.itemLayoutNotifySource.next(this.nzItemLayout); } } /** * @return {?} */ ngOnDestroy() { this.itemLayoutNotifySource.unsubscribe(); } } NzListComponent.decorators = [ { type: Component, args: [{ selector: 'nz-list, [nz-list]', exportAs: 'nzList', template: "<ng-template #itemsTpl>\n <div class=\"ant-list-items\" *ngIf=\"nzDataSource.length > 0\">\n <ng-container *ngFor=\"let item of nzDataSource; let index = index\">\n <ng-template [ngTemplateOutlet]=\"nzRenderItem\" [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"></ng-template>\n </ng-container>\n </div>\n</ng-template>\n<div *ngIf=\"nzHeader\" class=\"ant-list-header\">\n <ng-container *nzStringTemplateOutlet=\"nzHeader\">{{ nzHeader }}</ng-container>\n</div>\n<nz-spin [nzSpinning]=\"nzLoading\">\n <ng-container *ngIf=\"nzDataSource\">\n <div *ngIf=\"nzLoading && nzDataSource.length === 0\" [style.min-height.px]=\"53\"></div>\n <div *ngIf=\"nzGrid; else itemsTpl\" nz-row [nzGutter]=\"nzGrid.gutter\">\n <div nz-col [nzSpan]=\"nzGrid.span\" [nzXs]=\"nzGrid.xs\" [nzSm]=\"nzGrid.sm\" [nzMd]=\"nzGrid.md\" [nzLg]=\"nzGrid.lg\" [nzXl]=\"nzGrid.xl\"\n [nzXXl]=\"nzGrid.xxl\" *ngFor=\"let item of nzDataSource; let index = index\">\n <ng-template [ngTemplateOutlet]=\"nzRenderItem\" [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"></ng-template>\n </div>\n </div>\n <div *ngIf=\"!nzLoading && nzDataSource.length === 0\" class=\"ant-list-empty-text\">\n <nz-embed-empty [nzComponentName]=\"'list'\" [specificContent]=\"nzNoResult\"></nz-embed-empty>\n </div>\n </ng-container>\n <ng-content></ng-content>\n</nz-spin>\n<div *ngIf=\"nzFooter\" class=\"ant-list-footer\">\n <ng-container *nzStringTemplateOutlet=\"nzFooter\">{{ nzFooter }}</ng-container>\n</div>\n<ng-template [ngTemplateOutlet]=\"nzLoadMore\"></ng-template>\n<div *ngIf=\"nzPagination\" class=\"ant-list-pagination\">\n <ng-template [ngTemplateOutlet]=\"nzPagination\"></ng-template>\n</div>", providers: [NzUpdateHostClassService], preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [` nz-list, nz-list nz-spin { display: block; } `] }] } ]; /** @nocollapse */ NzListComponent.ctorParameters = () => [ { type: ElementRef }, { type: NzUpdateHostClassService } ]; NzListComponent.propDecorators = { nzDataSource: [{ type: Input }], nzBordered: [{ type: Input }], nzGrid: [{ type: Input }], nzHeader: [{ type: Input }], nzFooter: [{ type: Input }], nzItemLayout: [{ type: Input }], nzRenderItem: [{ type: Input }], nzLoading: [{ type: Input }], nzLoadMore: [{ type: Input }], nzPagination: [{ type: Input }], nzSize: [{ type: Input }], nzSplit: [{ type: Input }], nzNoResult: [{ type: Input }] }; __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzListComponent.prototype, "nzBordered", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzListComponent.prototype, "nzLoading", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzListComponent.prototype, "nzSplit", void 0); if (false) { /** @type {?} */ NzListComponent.prototype.nzDataSource; /** @type {?} */ NzListComponent.prototype.nzBordered; /** @type {?} */ NzListComponent.prototype.nzGrid; /** @type {?} */ NzListComponent.prototype.nzHeader; /** @type {?} */ NzListComponent.prototype.nzFooter; /** @type {?} */ NzListComponent.prototype.nzItemLayout; /** @type {?} */ NzListComponent.prototype.nzRenderItem; /** @type {?} */ NzListComponent.prototype.nzLoading; /** @type {?} */ NzListComponent.prototype.nzLoadMore; /** @type {?} */ NzListComponent.prototype.nzPagination; /** @type {?} */ NzListComponent.prototype.nzSize; /** @type {?} */ NzListComponent.prototype.nzSplit; /** @type {?} */ NzListComponent.prototype.nzNoResult; /** * @type {?} * @private */ NzListComponent.prototype.prefixCls; /** * @type {?} * @private */ NzListComponent.prototype.itemLayoutNotifySource; /** * @type {?} * @private */ NzListComponent.prototype.el; /** * @type {?} * @private */ NzListComponent.prototype.updateHostClassService; } /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NzListItemComponent { /** * @param {?} elementRef * @param {?} renderer * @param {?} parentComp * @param {?} cdr */ constructor(elementRef, renderer, parentComp, cdr) { this.parentComp = parentComp; this.cdr = cdr; this.nzActions = []; this.nzNoFlex = false; renderer.addClass(elementRef.nativeElement, 'ant-list-item'); } /** * @return {?} */ get isVerticalAndExtra() { return this.itemLayout === 'vertical' && !!this.nzExtra; } /** * @return {?} */ ngAfterViewInit() { this.itemLayout$ = this.parentComp.itemLayoutNotify$.subscribe((/** * @param {?} val * @return {?} */ val => { this.itemLayout = val; this.cdr.detectChanges(); })); } /** * @return {?} */ ngOnDestroy() { if (this.itemLayout$) { this.itemLayout$.unsubscribe(); } } } NzListItemComponent.decorators = [ { type: Component, args: [{ selector: 'nz-list-item, [nz-list-item]', exportAs: 'nzListItem', template: "<ng-template #actionsTpl>\n <ul *ngIf=\"nzActions?.length > 0\" class=\"ant-list-item-action\">\n <li *ngFor=\"let i of nzActions; let last=last;\">\n <ng-template [ngTemplateOutlet]=\"i\"></ng-template>\n <em *ngIf=\"!last\" class=\"ant-list-item-action-split\"></em>\n </li>\n </ul>\n</ng-template>\n<ng-template #contentTpl>\n <ng-content></ng-content>\n <ng-container *ngIf=\"nzContent\">\n <ng-container *nzStringTemplateOutlet=\"nzContent\">{{ nzContent }}</ng-container>\n </ng-container>\n</ng-template>\n<ng-template #simpleTpl>\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"nzExtra\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"actionsTpl\"></ng-template>\n</ng-template>\n<ng-container *ngIf=\"isVerticalAndExtra; else simpleTpl\">\n <div class=\"ant-list-item-main\">\n <ng-template [ngTemplateOutlet]=\"contentTpl\"></ng-template>\n <ng-template [ngTemplateOutlet]=\"actionsTpl\"></ng-template>\n </div>\n <div class=\"ant-list-item-extra\">\n <ng-template [ngTemplateOutlet]=\"nzExtra\"></ng-template>\n </div>\n</ng-container>", preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush }] } ]; /** @nocollapse */ NzListItemComponent.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 }, { type: NzListComponent }, { type: ChangeDetectorRef } ]; NzListItemComponent.propDecorators = { metas: [{ type: ContentChildren, args: [NzListItemMetaComponent,] }], nzActions: [{ type: Input }], nzContent: [{ type: Input }], nzExtra: [{ type: Input }], nzNoFlex: [{ type: Input }, { type: HostBinding, args: ['class.ant-list-item-no-flex',] }] }; __decorate([ InputBoolean(), __metadata("design:type", Boolean) ], NzListItemComponent.prototype, "nzNoFlex", void 0); if (false) { /** @type {?} */ NzListItemComponent.prototype.metas; /** @type {?} */ NzListItemComponent.prototype.nzActions; /** @type {?} */ NzListItemComponent.prototype.nzContent; /** @type {?} */ NzListItemComponent.prototype.nzExtra; /** @type {?} */ NzListItemComponent.prototype.nzNoFlex; /** * @type {?} * @private */ NzListItemComponent.prototype.itemLayout; /** * @type {?} * @private */ NzListItemComponent.prototype.itemLayout$; /** * @type {?} * @private */ NzListItemComponent.prototype.parentComp; /** * @type {?} * @private */ NzListItemComponent.prototype.cdr; } /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NzListModule { } NzListModule.decorators = [ { type: NgModule, args: [{ imports: [CommonModule, NzSpinModule, NzGridModule, NzAvatarModule, NzAddOnModule, NzEmptyModule], declarations: [NzListComponent, NzListItemComponent, NzListItemMetaComponent], exports: [NzListComponent, NzListItemComponent, NzListItemMetaComponent] },] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { NzListComponent, NzListItemComponent, NzListItemMetaComponent, NzListModule }; //# sourceMappingURL=ng-zorro-antd-list.js.map