UNPKG

ng-zorro-antd-mobile

Version:

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

246 lines 17.7 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, ContentChildren, QueryList, HostBinding, Renderer2, ElementRef } from '@angular/core'; import { StepStatusEnum, StepDirectionEnum } from './step/step.component'; import { StepComponent } from './step/step.component'; var StepsComponent = /** @class */ (function () { function StepsComponent(_elf, _render) { this._elf = _elf; this._render = _render; this.prefixCls = 'am-steps'; this._current = 0; this._status = StepStatusEnum.PROCESS; this._direction = StepDirectionEnum.VERTICAL; this.clsSteps = true; } Object.defineProperty(StepsComponent.prototype, "current", { set: /** * @param {?} value * @return {?} */ function (value) { if (value >= 0) { this._current = value; } }, enumerable: true, configurable: true }); Object.defineProperty(StepsComponent.prototype, "size", { set: /** * @param {?} value * @return {?} */ function (value) { this._size = value; this.setCls(); }, enumerable: true, configurable: true }); Object.defineProperty(StepsComponent.prototype, "status", { set: /** * @param {?} value * @return {?} */ function (value) { this._status = value; if (this.stepItems) { this.setStepStyle(); } }, enumerable: true, configurable: true }); Object.defineProperty(StepsComponent.prototype, "direction", { set: /** * @param {?} value * @return {?} */ function (value) { this._direction = value; this.setCls(); }, enumerable: true, configurable: true }); /** * @return {?} */ StepsComponent.prototype.setStepStyle = /** * @return {?} */ function () { /** @type {?} */ var itemCount = this.stepItems.length; /** @type {?} */ var itemArr = this.stepItems['_results']; for (var index = 0; index < itemCount; index++) { /** @type {?} */ var step = itemArr[index]; step.stepNumber = index + 1; if (index < itemCount - 1 && itemArr[index + 1].status === StepStatusEnum.ERROR) { step.stepItemCls = step.stepItemCls ? Object.assign(step.stepItemCls, { 'error-tail': true }) : { 'error-tail': true }; } /** @type {?} */ var icon = step.icon; if (!step.status) { if (index === this._current) { step.status = this._status; } else if (index < this._current) { step.status = StepStatusEnum.FINISH; } else { step.status = StepStatusEnum.WAIT; } } if (!icon) { if (index < this._current) { icon = 'check-circle-o'; } else if (index > this._current) { icon = 'ellipsis'; step.stepItemCls = step.stepItemCls ? Object.assign(step.stepItemCls, { 'ellipsis-item': true }) : { 'ellipsis-item': true }; } if ((this._status === StepStatusEnum.ERROR && index === this._current) || step.status === StepStatusEnum.ERROR) { icon = 'cross-circle-o'; } } step.icon = icon; step.iconSize = this._size === 'small' ? (this._status === StepStatusEnum.WAIT ? 'xxs' : 'xs') : 'md'; step.setClass(); } }; /** * @return {?} */ StepsComponent.prototype.setCls = /** * @return {?} */ function () { if (this._direction === StepDirectionEnum.HORIZONTAL) { this.clsStepsLabelVtl = true; this.clsStepsHztl = true; this.clsStepsVtl = false; } else if (this._direction === StepDirectionEnum.VERTICAL) { this.clsStepsVtl = true; this.clsStepsHztl = false; } if (this._size === 'small') { this.clsStepsSmall = true; } else { this.clsStepsSmall = false; } }; /** * @return {?} */ StepsComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.setCls(); }; /** * @return {?} */ StepsComponent.prototype.ngAfterContentInit = /** * @return {?} */ function () { var _this = this; setTimeout((/** * @return {?} */ function () { _this.setStepStyle(); }), 0); }; StepsComponent.decorators = [ { type: Component, args: [{ selector: 'Steps,nzm-steps', template: "<ng-content></ng-content>\n" }] } ]; /** @nocollapse */ StepsComponent.ctorParameters = function () { return [ { type: ElementRef }, { type: Renderer2 } ]; }; StepsComponent.propDecorators = { stepItems: [{ type: ContentChildren, args: [StepComponent,] }], current: [{ type: Input }], size: [{ type: Input }], status: [{ type: Input }], direction: [{ type: Input }], clsSteps: [{ type: HostBinding, args: ['class.am-steps',] }], clsStepsSmall: [{ type: HostBinding, args: ['class.am-steps-small',] }], clsStepsLabelVtl: [{ type: HostBinding, args: ['class.am-steps-label-vertical',] }], clsStepsVtl: [{ type: HostBinding, args: ['class.am-steps-vertical',] }], clsStepsHztl: [{ type: HostBinding, args: ['class.am-steps-horizontal',] }] }; return StepsComponent; }()); export { StepsComponent }; if (false) { /** @type {?} */ StepsComponent.prototype.prefixCls; /** * @type {?} * @private */ StepsComponent.prototype._current; /** * @type {?} * @private */ StepsComponent.prototype._size; /** * @type {?} * @private */ StepsComponent.prototype._status; /** * @type {?} * @private */ StepsComponent.prototype._direction; /** * @type {?} * @private */ StepsComponent.prototype._stepsCls; /** @type {?} */ StepsComponent.prototype.stepItems; /** @type {?} */ StepsComponent.prototype.clsSteps; /** @type {?} */ StepsComponent.prototype.clsStepsSmall; /** @type {?} */ StepsComponent.prototype.clsStepsLabelVtl; /** @type {?} */ StepsComponent.prototype.clsStepsVtl; /** @type {?} */ StepsComponent.prototype.clsStepsHztl; /** * @type {?} * @private */ StepsComponent.prototype._elf; /** * @type {?} * @private */ StepsComponent.prototype._render; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJzdGVwcy9zdGVwcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBRVQsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RDtJQW1ERSx3QkFBb0IsSUFBZ0IsRUFBVSxPQUFrQjtRQUE1QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQTlDaEUsY0FBUyxHQUFXLFVBQVUsQ0FBQztRQUV2QixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBRXJCLFlBQU8sR0FBbUIsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUNqRCxlQUFVLEdBQXNCLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztRQStCbkUsYUFBUSxHQUFZLElBQUksQ0FBQztJQVUwQyxDQUFDO0lBbkNwRSxzQkFDSSxtQ0FBTzs7Ozs7UUFEWCxVQUNZLEtBQUs7WUFDZixJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFDdkI7UUFDSCxDQUFDOzs7T0FBQTtJQUNELHNCQUNJLGdDQUFJOzs7OztRQURSLFVBQ1MsS0FBSztZQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDOzs7T0FBQTtJQUNELHNCQUNJLGtDQUFNOzs7OztRQURWLFVBQ1csS0FBcUI7WUFDOUIsSUFBSSxDQUFD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QyxnQkFBZ0I7Z0NBRTVCLFdBQVcsU0FBQyxzQkFBc0I7bUNBRWxDLFdBQVcsU0FBQywrQkFBK0I7OEJBRTNDLFdBQVcsU0FBQyx5QkFBeUI7K0JBRXJDLFdBQVcsU0FBQywyQkFBMkI7O0lBeUUxQyxxQkFBQztDQUFBLEFBekhELElBeUhDO1NBckhZLGNBQWM7OztJQUN6QixtQ0FBK0I7Ozs7O0lBRS9CLGtDQUE2Qjs7Ozs7SUFDN0IsK0JBQXNCOzs7OztJQUN0QixpQ0FBeUQ7Ozs7O0lBQ3pELG9DQUFtRTs7Ozs7SUFDbkUsbUNBQTBCOztJQUUxQixtQ0FDb0M7O0lBMEJwQyxrQ0FDeUI7O0lBQ3pCLHVDQUN1Qjs7SUFDdkIsMENBQzBCOztJQUMxQixxQ0FDcUI7O0lBQ3JCLHNDQUNzQjs7Ozs7SUFFViw4QkFBd0I7Ozs7O0lBQUUsaUNBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgSG9zdEJpbmRpbmcsXG4gIFJlbmRlcmVyMixcbiAgRWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0ZXBTdGF0dXNFbnVtLCBTdGVwRGlyZWN0aW9uRW51bSB9IGZyb20gJy4vc3RlcC9zdGVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwL3N0ZXAuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnU3RlcHMsbnptLXN0ZXBzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0ZXBzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTdGVwc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIHByZWZpeENsczogc3RyaW5nID0gJ2FtLXN0ZXBzJztcblxuICBwcml2YXRlIF9jdXJyZW50OiBudW1iZXIgPSAwO1xuICBwcml2YXRlIF9zaXplOiBzdHJpbmc7XG4gIHByaXZhdGUgX3N0YXR1czogU3RlcFN0YXR1c0VudW0gPSBTdGVwU3RhdHVzRW51bS5QUk9DRVNTO1xuICBwcml2YXRlIF9kaXJlY3Rpb246IFN0ZXBEaXJlY3Rpb25FbnVtID0gU3RlcERpcmVjdGlvbkVudW0uVkVSVElDQUw7XG4gIHByaXZhdGUgX3N0ZXBzQ2xzOiBvYmplY3Q7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTdGVwQ29tcG9uZW50KVxuICBzdGVwSXRlbXM6IFF1ZXJ5TGlzdDxTdGVwQ29tcG9uZW50PjtcblxuICBASW5wdXQoKVxuICBzZXQgY3VycmVudCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA+PSAwKSB7XG4gICAgICB0aGlzLl9jdXJyZW50ID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBzaXplKHZhbHVlKSB7XG4gICAgdGhpcy5fc2l6ZSA9IHZhbHVlO1xuICAgIHRoaXMuc2V0Q2xzKCk7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IHN0YXR1cyh2YWx1ZTogU3RlcFN0YXR1c0VudW0pIHtcbiAgICB0aGlzLl9zdGF0dXMgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5zdGVwSXRlbXMpIHtcbiAgICAgIHRoaXMuc2V0U3RlcFN0eWxlKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBkaXJlY3Rpb24odmFsdWU6IFN0ZXBEaXJlY3Rpb25FbnVtKSB7XG4gICAgdGhpcy5fZGlyZWN0aW9uID0gdmFsdWU7XG4gICAgdGhpcy5zZXRDbHMoKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tc3RlcHMnKVxuICBjbHNTdGVwczogYm9vbGVhbiA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tc3RlcHMtc21hbGwnKVxuICBjbHNTdGVwc1NtYWxsOiBib29sZWFuO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLXN0ZXBzLWxhYmVsLXZlcnRpY2FsJylcbiAgY2xzU3RlcHNMYWJlbFZ0bDogYm9vbGVhbjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS1zdGVwcy12ZXJ0aWNhbCcpXG4gIGNsc1N0ZXBzVnRsOiBib29sZWFuO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLXN0ZXBzLWhvcml6b250YWwnKVxuICBjbHNTdGVwc0h6dGw6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxmOiBFbGVtZW50UmVmLCBwcml2YXRlIF9yZW5kZXI6IFJlbmRlcmVyMikge31cblxuICBzZXRTdGVwU3R5bGUoKSB7XG4gICAgY29uc3QgaXRlbUNvdW50ID0gdGhpcy5zdGVwSXRlbXMubGVuZ3RoO1xuICAgIGNvbnN0IGl0ZW1BcnIgPSB0aGlzLnN0ZXBJdGVtc1snX3Jlc3VsdHMnXTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgaXRlbUNvdW50OyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBzdGVwID0gaXRlbUFycltpbmRleF07XG4gICAgICBzdGVwLnN0ZXBOdW1iZXIgPSBpbmRleCArIDE7XG4gICAgICBpZiAoaW5kZXggPCBpdGVtQ291bnQgLSAxICYmIGl0ZW1BcnJbaW5kZXggKyAxXS5zdGF0dXMgPT09IFN0ZXBTdGF0dXNFbnVtLkVSUk9SKSB7XG4gICAgICAgIHN0ZXAuc3RlcEl0ZW1DbHMgPSBzdGVwLnN0ZXBJdGVtQ2xzXG4gICAgICAgICAgPyBPYmplY3QuYXNzaWduKHN0ZXAuc3RlcEl0ZW1DbHMsIHsgJ2Vycm9yLXRhaWwnOiB0cnVlIH0pXG4gICAgICAgICAgOiB7ICdlcnJvci10YWlsJzogdHJ1ZSB9O1xuICAgICAgfVxuICAgICAgbGV0IGljb24gPSBzdGVwLmljb247XG4gICAgICBpZiAoIXN0ZXAuc3RhdHVzKSB7XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5fY3VycmVudCkge1xuICAgICAgICAgIHN0ZXAuc3RhdHVzID0gdGhpcy5fc3RhdHVzO1xuICAgICAgICB9IGVsc2UgaWYgKGluZGV4IDwgdGhpcy5fY3VycmVudCkge1xuICAgICAgICAgIHN0ZXAuc3RhdHVzID0gU3RlcFN0YXR1c0VudW0uRklOSVNIO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0ZXAuc3RhdHVzID0gU3RlcFN0YXR1c0VudW0uV0FJVDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFpY29uKSB7XG4gICAgICAgIGlmIChpbmRleCA8IHRoaXMuX2N1cnJlbnQpIHtcbiAgICAgICAgICBpY29uID0gJ2NoZWNrLWNpcmNsZS1vJztcbiAgICAgICAgfSBlbHNlIGlmIChpbmRleCA+IHRoaXMuX2N1cnJlbnQpIHtcbiAgICAgICAgICBpY29uID0gJ2VsbGlwc2lzJztcbiAgICAgICAgICBzdGVwLnN0ZXBJdGVtQ2xzID0gc3RlcC5zdGVwSXRlbUNsc1xuICAgICAgICAgICAgPyBPYmplY3QuYXNzaWduKHN0ZXAuc3RlcEl0ZW1DbHMsIHsgJ2VsbGlwc2lzLWl0ZW0nOiB0cnVlIH0pXG4gICAgICAgICAgICA6IHsgJ2VsbGlwc2lzLWl0ZW0nOiB0cnVlIH07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0aGlzLl9zdGF0dXMgPT09IFN0ZXBTdGF0dXNFbnVtLkVSUk9SICYmIGluZGV4ID09PSB0aGlzLl9jdXJyZW50KSB8fFxuICAgICAgICAgIHN0ZXAuc3RhdHVzID09PSBTdGVwU3RhdHVzRW51bS5FUlJPUlxuICAgICAgICApIHtcbiAgICAgICAgICBpY29uID0gJ2Nyb3NzLWNpcmNsZS1vJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3RlcC5pY29uID0gaWNvbjtcbiAgICAgIHN0ZXAuaWNvblNpemUgPSB0aGlzLl9zaXplID09PSAnc21hbGwnID8gKHRoaXMuX3N0YXR1cyA9PT0gU3RlcFN0YXR1c0VudW0uV0FJVCA/ICd4eHMnIDogJ3hzJykgOiAnbWQnO1xuICAgICAgc3RlcC5zZXRDbGFzcygpO1xuICAgIH1cbiAgfVxuXG4gIHNldENscygpIHtcbiAgICBpZiAodGhpcy5fZGlyZWN0aW9uID09PSBTdGVwRGlyZWN0aW9uRW51bS5IT1JJWk9OVEFMKSB7XG4gICAgICB0aGlzLmNsc1N0ZXBzTGFiZWxWdGwgPSB0cnVlO1xuICAgICAgdGhpcy5jbHNTdGVwc0h6dGwgPSB0cnVlO1xuICAgICAgdGhpcy5jbHNTdGVwc1Z0bCA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fZGlyZWN0aW9uID09PSBTdGVwRGlyZWN0aW9uRW51bS5WRVJUSUNBTCkge1xuICAgICAgdGhpcy5jbHNTdGVwc1Z0bCA9IHRydWU7XG4gICAgICB0aGlzLmNsc1N0ZXBzSHp0bCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5fc2l6ZSA9PT0gJ3NtYWxsJykge1xuICAgICAgdGhpcy5jbHNTdGVwc1NtYWxsID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbHNTdGVwc1NtYWxsID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRDbHMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RlcFN0eWxlKCk7XG4gICAgfSwgMCk7XG4gIH1cbn1cbiJdfQ==