ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
231 lines (225 loc) • 6.94 kB
JavaScript
import { __decorate, __metadata } from 'tslib';
import { Component, ViewEncapsulation, ChangeDetectorRef, Input, TemplateRef, NgModule } from '@angular/core';
import { NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';
import { InputNumber, InputBoolean } from 'ng-zorro-antd/core/util';
import { Subject, BehaviorSubject } from 'rxjs';
import { flatMap, debounceTime, takeUntil } from 'rxjs/operators';
import { ObserversModule } from '@angular/cdk/observers';
import { CommonModule } from '@angular/common';
/**
* @fileoverview added by tsickle
* Generated from: spin.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
const NZ_CONFIG_COMPONENT_NAME = 'spin';
class NzSpinComponent {
/**
* @param {?} nzConfigService
* @param {?} cdr
*/
constructor(nzConfigService, cdr) {
this.nzConfigService = nzConfigService;
this.cdr = cdr;
this.nzSize = 'default';
this.nzTip = null;
this.nzDelay = 0;
this.nzSimple = false;
this.nzSpinning = true;
this.destroy$ = new Subject();
this.spinning$ = new BehaviorSubject(this.nzSpinning);
this.delay$ = new BehaviorSubject(this.nzDelay);
this.isLoading = true;
}
/**
* @return {?}
*/
ngOnInit() {
/** @type {?} */
const loading$ = this.spinning$.pipe(flatMap((/**
* @return {?}
*/
() => this.delay$)), flatMap((/**
* @param {?} delay
* @return {?}
*/
delay => {
if (delay === 0) {
return this.spinning$;
}
else {
return this.spinning$.pipe(debounceTime(delay));
}
})), takeUntil(this.destroy$));
loading$.subscribe((/**
* @param {?} loading
* @return {?}
*/
loading => {
this.isLoading = loading;
this.cdr.markForCheck();
}));
this.nzConfigService
.getConfigChangeEventForComponent(NZ_CONFIG_COMPONENT_NAME)
.pipe(takeUntil(this.destroy$))
.subscribe((/**
* @return {?}
*/
() => this.cdr.markForCheck()));
}
/**
* @param {?} changes
* @return {?}
*/
ngOnChanges(changes) {
const { nzSpinning, nzDelay } = changes;
if (nzSpinning) {
this.spinning$.next(this.nzSpinning);
}
if (nzDelay) {
this.delay$.next(this.nzDelay);
}
}
/**
* @return {?}
*/
ngOnDestroy() {
this.destroy$.next();
this.destroy$.complete();
}
}
NzSpinComponent.decorators = [
{ type: Component, args: [{
selector: 'nz-spin',
exportAs: 'nzSpin',
preserveWhitespaces: false,
encapsulation: ViewEncapsulation.None,
template: `
<ng-template #defaultTemplate>
<span class="ant-spin-dot ant-spin-dot-spin">
<i class="ant-spin-dot-item"></i>
<i class="ant-spin-dot-item"></i>
<i class="ant-spin-dot-item"></i>
<i class="ant-spin-dot-item"></i>
</span>
</ng-template>
<div *ngIf="isLoading">
<div
class="ant-spin"
[class.ant-spin-spinning]="isLoading"
[class.ant-spin-lg]="nzSize === 'large'"
[class.ant-spin-sm]="nzSize === 'small'"
[class.ant-spin-show-text]="nzTip"
>
<ng-template [ngTemplateOutlet]="nzIndicator || defaultTemplate"></ng-template>
<div class="ant-spin-text" *ngIf="nzTip">{{ nzTip }}</div>
</div>
</div>
<div *ngIf="!nzSimple" class="ant-spin-container" [class.ant-spin-blur]="isLoading">
<ng-content></ng-content>
</div>
`,
host: {
'[class.ant-spin-nested-loading]': '!nzSimple'
}
}] }
];
/** @nocollapse */
NzSpinComponent.ctorParameters = () => [
{ type: NzConfigService },
{ type: ChangeDetectorRef }
];
NzSpinComponent.propDecorators = {
nzIndicator: [{ type: Input }],
nzSize: [{ type: Input }],
nzTip: [{ type: Input }],
nzDelay: [{ type: Input }],
nzSimple: [{ type: Input }],
nzSpinning: [{ type: Input }]
};
__decorate([
WithConfig(NZ_CONFIG_COMPONENT_NAME),
__metadata("design:type", TemplateRef)
], NzSpinComponent.prototype, "nzIndicator", void 0);
__decorate([
InputNumber(),
__metadata("design:type", Object)
], NzSpinComponent.prototype, "nzDelay", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzSpinComponent.prototype, "nzSimple", void 0);
__decorate([
InputBoolean(),
__metadata("design:type", Object)
], NzSpinComponent.prototype, "nzSpinning", void 0);
if (false) {
/** @type {?} */
NzSpinComponent.ngAcceptInputType_nzDelay;
/** @type {?} */
NzSpinComponent.ngAcceptInputType_nzSimple;
/** @type {?} */
NzSpinComponent.ngAcceptInputType_nzSpinning;
/** @type {?} */
NzSpinComponent.prototype.nzIndicator;
/** @type {?} */
NzSpinComponent.prototype.nzSize;
/** @type {?} */
NzSpinComponent.prototype.nzTip;
/** @type {?} */
NzSpinComponent.prototype.nzDelay;
/** @type {?} */
NzSpinComponent.prototype.nzSimple;
/** @type {?} */
NzSpinComponent.prototype.nzSpinning;
/**
* @type {?}
* @private
*/
NzSpinComponent.prototype.destroy$;
/**
* @type {?}
* @private
*/
NzSpinComponent.prototype.spinning$;
/**
* @type {?}
* @private
*/
NzSpinComponent.prototype.delay$;
/** @type {?} */
NzSpinComponent.prototype.isLoading;
/** @type {?} */
NzSpinComponent.prototype.nzConfigService;
/**
* @type {?}
* @private
*/
NzSpinComponent.prototype.cdr;
}
/**
* @fileoverview added by tsickle
* Generated from: spin.module.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class NzSpinModule {
}
NzSpinModule.decorators = [
{ type: NgModule, args: [{
exports: [NzSpinComponent],
declarations: [NzSpinComponent],
imports: [CommonModule, ObserversModule]
},] }
];
/**
* @fileoverview added by tsickle
* Generated from: public-api.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @fileoverview added by tsickle
* Generated from: ng-zorro-antd-spin.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { NzSpinComponent, NzSpinModule };
//# sourceMappingURL=ng-zorro-antd-spin.js.map