ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
96 lines • 10.3 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, ChangeDetectorRef, Component, ContentChildren, Input, NgZone, QueryList, TemplateRef, ViewChild } from '@angular/core';
import { defer, merge, of, Subject } from 'rxjs';
import { switchMap, take, takeUntil } from 'rxjs/operators';
export class NzListItemExtraComponent {
constructor() { }
}
NzListItemExtraComponent.decorators = [
{ type: Component, args: [{
selector: 'nz-list-item-extra, [nz-list-item-extra]',
exportAs: 'nzListItemExtra',
changeDetection: ChangeDetectionStrategy.OnPush,
template: ` <ng-content></ng-content> `,
host: {
class: 'ant-list-item-extra'
}
},] }
];
NzListItemExtraComponent.ctorParameters = () => [];
export class NzListItemActionComponent {
constructor() { }
}
NzListItemActionComponent.decorators = [
{ type: Component, args: [{
selector: 'nz-list-item-action',
exportAs: 'nzListItemAction',
changeDetection: ChangeDetectionStrategy.OnPush,
template: ` <ng-template><ng-content></ng-content></ng-template> `
},] }
];
NzListItemActionComponent.ctorParameters = () => [];
NzListItemActionComponent.propDecorators = {
templateRef: [{ type: ViewChild, args: [TemplateRef,] }]
};
export class NzListItemActionsComponent {
constructor(ngZone, cdr) {
this.ngZone = ngZone;
this.cdr = cdr;
this.nzActions = [];
this.actions = [];
this.destroy$ = new Subject();
this.inputActionChanges$ = new Subject();
this.contentChildrenChanges$ = defer(() => {
if (this.nzListItemActions) {
return of(null);
}
return this.ngZone.onStable.asObservable().pipe(take(1), switchMap(() => this.contentChildrenChanges$));
});
merge(this.contentChildrenChanges$, this.inputActionChanges$)
.pipe(takeUntil(this.destroy$))
.subscribe(() => {
if (this.nzActions.length) {
this.actions = this.nzActions;
}
else {
this.actions = this.nzListItemActions.map(action => action.templateRef);
}
this.cdr.detectChanges();
});
}
ngOnChanges() {
this.inputActionChanges$.next(null);
}
ngOnDestroy() {
this.destroy$.next();
this.destroy$.complete();
}
}
NzListItemActionsComponent.decorators = [
{ type: Component, args: [{
selector: 'ul[nz-list-item-actions]',
exportAs: 'nzListItemActions',
changeDetection: ChangeDetectionStrategy.OnPush,
template: `
<li *ngFor="let i of actions; let last = last">
<ng-template [ngTemplateOutlet]="i"></ng-template>
<em *ngIf="!last" class="ant-list-item-action-split"></em>
</li>
`,
host: {
class: 'ant-list-item-action'
}
},] }
];
NzListItemActionsComponent.ctorParameters = () => [
{ type: NgZone },
{ type: ChangeDetectorRef }
];
NzListItemActionsComponent.propDecorators = {
nzActions: [{ type: Input }],
nzListItemActions: [{ type: ContentChildren, args: [NzListItemActionComponent,] }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLWNlbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL2xpc3QvbGlzdC1pdGVtLWNlbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEVBQ0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFXNUQsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxnQkFBZSxDQUFDOzs7WUFWakIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQ0FBMEM7Z0JBQ3BELFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtpQkFDN0I7YUFDRjs7O0FBV0QsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxnQkFBZSxDQUFDOzs7WUFSakIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxRQUFRLEVBQUUsd0RBQXdEO2FBQ25FOzs7OzBCQUVFLFNBQVMsU0FBQyxXQUFXOztBQWtCeEIsTUFBTSxPQUFPLDBCQUEwQjtJQWlCckMsWUFBb0IsTUFBYyxFQUFVLEdBQXNCO1FBQTlDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWhCekQsY0FBUyxHQUE2QixFQUFFLENBQUM7UUFHbEQsWUFBTyxHQUE2QixFQUFFLENBQUM7UUFDL0IsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekIsd0JBQW1CLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUMxQyw0QkFBdUIsR0FBcUIsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUM3RCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDMUIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDakI7WUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDN0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FDOUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBR0QsS0FBSyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUM7YUFDMUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUMvQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBWSxDQUFDLENBQUM7YUFDMUU7WUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OztZQW5ERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFFBQVEsRUFBRTs7Ozs7R0FLVDtnQkFDRCxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLHNCQUFzQjtpQkFDOUI7YUFDRjs7O1lBL0NDLE1BQU07WUFKTixpQkFBaUI7Ozt3QkFxRGhCLEtBQUs7Z0NBQ0wsZUFBZSxTQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWZlciwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnotbGlzdC1pdGVtLWV4dHJhLCBbbnotbGlzdC1pdGVtLWV4dHJhXScsXG4gIGV4cG9ydEFzOiAnbnpMaXN0SXRlbUV4dHJhJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnYW50LWxpc3QtaXRlbS1leHRyYSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBOekxpc3RJdGVtRXh0cmFDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcigpIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ256LWxpc3QtaXRlbS1hY3Rpb24nLFxuICBleHBvcnRBczogJ256TGlzdEl0ZW1BY3Rpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGAgPG5nLXRlbXBsYXRlPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPiBgXG59KVxuZXhwb3J0IGNsYXNzIE56TGlzdEl0ZW1BY3Rpb25Db21wb25lbnQge1xuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICBjb25zdHJ1Y3RvcigpIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VsW256LWxpc3QtaXRlbS1hY3Rpb25zXScsXG4gIGV4cG9ydEFzOiAnbnpMaXN0SXRlbUFjdGlvbnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bGkgKm5nRm9yPVwibGV0IGkgb2YgYWN0aW9uczsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8ZW0gKm5nSWY9XCIhbGFzdFwiIGNsYXNzPVwiYW50LWxpc3QtaXRlbS1hY3Rpb24tc3BsaXRcIj48L2VtPlxuICAgIDwvbGk+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2FudC1saXN0LWl0ZW0tYWN0aW9uJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE56TGlzdEl0ZW1BY3Rpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBuekFjdGlvbnM6IEFycmF5PFRlbXBsYXRlUmVmPHZvaWQ+PiA9IFtdO1xuICBAQ29udGVudENoaWxkcmVuKE56TGlzdEl0ZW1BY3Rpb25Db21wb25lbnQpIG56TGlzdEl0ZW1BY3Rpb25zITogUXVlcnlMaXN0PE56TGlzdEl0ZW1BY3Rpb25Db21wb25lbnQ+O1xuXG4gIGFjdGlvbnM6IEFycmF5PFRlbXBsYXRlUmVmPHZvaWQ+PiA9IFtdO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBpbnB1dEFjdGlvbkNoYW5nZXMkID0gbmV3IFN1YmplY3Q8bnVsbD4oKTtcbiAgcHJpdmF0ZSBjb250ZW50Q2hpbGRyZW5DaGFuZ2VzJDogT2JzZXJ2YWJsZTxudWxsPiA9IGRlZmVyKCgpID0+IHtcbiAgICBpZiAodGhpcy5uekxpc3RJdGVtQWN0aW9ucykge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5uZ1pvbmUub25TdGFibGUuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIHRha2UoMSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jb250ZW50Q2hpbGRyZW5DaGFuZ2VzJClcbiAgICApO1xuICB9KTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBtZXJnZSh0aGlzLmNvbnRlbnRDaGlsZHJlbkNoYW5nZXMkLCB0aGlzLmlucHV0QWN0aW9uQ2hhbmdlcyQpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubnpBY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMubnpBY3Rpb25zO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMubnpMaXN0SXRlbUFjdGlvbnMubWFwKGFjdGlvbiA9PiBhY3Rpb24udGVtcGxhdGVSZWYhKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRBY3Rpb25DaGFuZ2VzJC5uZXh0KG51bGwpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=