UNPKG

ng-zorro-antd-mobile

Version:

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

195 lines (194 loc) 15.3 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Component, Input, ContentChildren, QueryList, HostBinding, Renderer2, ElementRef } from '@angular/core'; import { StatusEnum, DirectionEnum } from './step/step.component'; import { Step } from './step/step.component'; export class Steps { /** * @param {?} _elf * @param {?} _render */ constructor(_elf, _render) { this._elf = _elf; this._render = _render; this.prefixCls = 'am-steps'; this._current = 0; this._status = StatusEnum.PROCESS; this._direction = DirectionEnum.VERTICAL; this.clsSteps = true; } /** * @param {?} value * @return {?} */ set current(value) { if (value >= 0) { this._current = value; } } /** * @param {?} value * @return {?} */ set size(value) { this._size = value; this.setCls(); } /** * @param {?} value * @return {?} */ set status(value) { this._status = value; if (this.stepItems) { this.setStepStyle(); } } /** * @param {?} value * @return {?} */ set direction(value) { this._direction = value; this.setCls(); } /** * @return {?} */ setStepStyle() { /** @type {?} */ const itemCount = this.stepItems.length; /** @type {?} */ const itemArr = this.stepItems['_results']; for (let index = 0; index < itemCount; index++) { /** @type {?} */ const step = itemArr[index]; step.stepNumber = index + 1; if (index < itemCount - 1 && itemArr[index + 1].status === StatusEnum.ERROR) { step.stepItemCls = step.stepItemCls ? Object.assign(step.stepItemCls, { 'error-tail': true }) : { 'error-tail': true }; } /** @type {?} */ let icon = step.icon; if (!step.status) { if (index === this._current) { step.status = this._status; } else if (index < this._current) { step.status = StatusEnum.FINISH; } else { step.status = StatusEnum.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 === StatusEnum.ERROR && index === this._current) || step.status === StatusEnum.ERROR) { icon = 'cross-circle-o'; } } step.icon = icon; step.iconSize = this._size === 'small' ? (this._status === StatusEnum.WAIT ? 'xxs' : 'xs') : 'md'; step.setClass(); } } /** * @return {?} */ setCls() { if (this._direction === DirectionEnum.HORIZONTAL) { this.clsStepsLabelVtl = true; this.clsStepsHztl = true; this.clsStepsVtl = false; } else if (this._direction === DirectionEnum.VERTICAL) { this.clsStepsVtl = true; this.clsStepsHztl = false; } if (this._size === 'small') { this.clsStepsSmall = true; } else { this.clsStepsSmall = false; } } /** * @return {?} */ ngOnInit() { this.setCls(); } /** * @return {?} */ ngAfterContentInit() { setTimeout(() => { this.setStepStyle(); }, 0); } } Steps.decorators = [ { type: Component, args: [{ selector: 'Steps,nzm-steps', template: "<ng-content></ng-content>" }] } ]; /** @nocollapse */ Steps.ctorParameters = () => [ { type: ElementRef }, { type: Renderer2 } ]; Steps.propDecorators = { stepItems: [{ type: ContentChildren, args: [Step,] }], 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',] }] }; if (false) { /** @type {?} */ Steps.prototype.prefixCls; /** @type {?} */ Steps.prototype._current; /** @type {?} */ Steps.prototype._size; /** @type {?} */ Steps.prototype._status; /** @type {?} */ Steps.prototype._direction; /** @type {?} */ Steps.prototype._stepsCls; /** @type {?} */ Steps.prototype.stepItems; /** @type {?} */ Steps.prototype.clsSteps; /** @type {?} */ Steps.prototype.clsStepsSmall; /** @type {?} */ Steps.prototype.clsStepsLabelVtl; /** @type {?} */ Steps.prototype.clsStepsVtl; /** @type {?} */ Steps.prototype.clsStepsHztl; /** @type {?} */ Steps.prototype._elf; /** @type {?} */ Steps.prototype._render; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJzdGVwcy9zdGVwcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBRVQsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNN0MsTUFBTTs7Ozs7SUErQ0osWUFBb0IsSUFBZ0IsRUFBVSxPQUFrQjtRQUE1QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBVzt5QkE5QzVDLFVBQVU7d0JBRUgsQ0FBQzt1QkFFRSxVQUFVLENBQUMsT0FBTzswQkFDWixhQUFhLENBQUMsUUFBUTt3QkErQnRDLElBQUk7S0FVNEM7Ozs7O0lBbkNwRSxJQUNJLE9BQU8sQ0FBQyxLQUFLO1FBQ2YsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDdkI7S0FDRjs7Ozs7SUFDRCxJQUNJLElBQUksQ0FBQyxLQUFLO1FBQ1osSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ2Y7Ozs7O0lBQ0QsSUFDSSxNQUFNLENBQUMsS0FBaUI7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQjtLQUNGOzs7OztJQUNELElBQ0ksU0FBUyxDQUFDLEtBQW9C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QUFhLENBQUMsVUFBVSxFQUFFO1lBQ2hELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDMUI7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtRQUNELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDM0I7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQzVCO0tBQ0Y7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0tBQ2Y7Ozs7SUFFRCxrQkFBa0I7UUFDaEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQixFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ1A7OztZQXJIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IscUNBQXFDO2FBQ3RDOzs7O1lBUkMsVUFBVTtZQURWLFNBQVM7Ozt3QkFtQlIsZUFBZSxTQUFDLElBQUk7c0JBR3BCLEtBQUs7bUJBTUwsS0FBSztxQkFLTCxLQUFLO3dCQU9MLEtBQUs7dUJBTUwsV0FBVyxTQUFDLGdCQUFnQjs0QkFFNUIsV0FBVyxTQUFDLHNCQUFzQjsrQkFFbEMsV0FBVyxTQUFDLCtCQUErQjswQkFFM0MsV0FBVyxTQUFDLHlCQUF5QjsyQkFFckMsV0FBVyxTQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBJbnB1dCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEhvc3RCaW5kaW5nLFxuICBSZW5kZXJlcjIsXG4gIEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdGF0dXNFbnVtLCBEaXJlY3Rpb25FbnVtIH0gZnJvbSAnLi9zdGVwL3N0ZXAuY29tcG9uZW50JztcbmltcG9ydCB7IFN0ZXAgfSBmcm9tICcuL3N0ZXAvc3RlcC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdTdGVwcyxuem0tc3RlcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RlcHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFN0ZXBzIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJlZml4Q2xzOiBzdHJpbmcgPSAnYW0tc3RlcHMnO1xuXG4gIHByaXZhdGUgX2N1cnJlbnQ6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgX3NpemU6IHN0cmluZztcbiAgcHJpdmF0ZSBfc3RhdHVzOiBTdGF0dXNFbnVtID0gU3RhdHVzRW51bS5QUk9DRVNTO1xuICBwcml2YXRlIF9kaXJlY3Rpb246IERpcmVjdGlvbkVudW0gPSBEaXJlY3Rpb25FbnVtLlZFUlRJQ0FMO1xuICBwcml2YXRlIF9zdGVwc0Nsczogb2JqZWN0O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU3RlcClcbiAgc3RlcEl0ZW1zOiBRdWVyeUxpc3Q8U3RlcD47XG5cbiAgQElucHV0KClcbiAgc2V0IGN1cnJlbnQodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPj0gMCkge1xuICAgICAgdGhpcy5fY3VycmVudCA9IHZhbHVlO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKVxuICBzZXQgc2l6ZSh2YWx1ZSkge1xuICAgIHRoaXMuX3NpemUgPSB2YWx1ZTtcbiAgICB0aGlzLnNldENscygpO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBzdGF0dXModmFsdWU6IFN0YXR1c0VudW0pIHtcbiAgICB0aGlzLl9zdGF0dXMgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5zdGVwSXRlbXMpIHtcbiAgICAgIHRoaXMuc2V0U3RlcFN0eWxlKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBkaXJlY3Rpb24odmFsdWU6IERpcmVjdGlvbkVudW0pIHtcbiAgICB0aGlzLl9kaXJlY3Rpb24gPSB2YWx1ZTtcbiAgICB0aGlzLnNldENscygpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS1zdGVwcycpXG4gIGNsc1N0ZXBzOiBib29sZWFuID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5hbS1zdGVwcy1zbWFsbCcpXG4gIGNsc1N0ZXBzU21hbGw6IGJvb2xlYW47XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tc3RlcHMtbGFiZWwtdmVydGljYWwnKVxuICBjbHNTdGVwc0xhYmVsVnRsOiBib29sZWFuO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFtLXN0ZXBzLXZlcnRpY2FsJylcbiAgY2xzU3RlcHNWdGw6IGJvb2xlYW47XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tc3RlcHMtaG9yaXpvbnRhbCcpXG4gIGNsc1N0ZXBzSHp0bDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX3JlbmRlcjogUmVuZGVyZXIyKSB7fVxuXG4gIHNldFN0ZXBTdHlsZSgpIHtcbiAgICBjb25zdCBpdGVtQ291bnQgPSB0aGlzLnN0ZXBJdGVtcy5sZW5ndGg7XG4gICAgY29uc3QgaXRlbUFyciA9IHRoaXMuc3RlcEl0ZW1zWydfcmVzdWx0cyddO1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtQ291bnQ7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IHN0ZXAgPSBpdGVtQXJyW2luZGV4XTtcbiAgICAgIHN0ZXAuc3RlcE51bWJlciA9IGluZGV4ICsgMTtcbiAgICAgIGlmIChpbmRleCA8IGl0ZW1Db3VudCAtIDEgJiYgaXRlbUFycltpbmRleCArIDFdLnN0YXR1cyA9PT0gU3RhdHVzRW51bS5FUlJPUikge1xuICAgICAgICBzdGVwLnN0ZXBJdGVtQ2xzID0gc3RlcC5zdGVwSXRlbUNsc1xuICAgICAgICAgID8gT2JqZWN0LmFzc2lnbihzdGVwLnN0ZXBJdGVtQ2xzLCB7ICdlcnJvci10YWlsJzogdHJ1ZSB9KVxuICAgICAgICAgIDogeyAnZXJyb3ItdGFpbCc6IHRydWUgfTtcbiAgICAgIH1cbiAgICAgIGxldCBpY29uID0gc3RlcC5pY29uO1xuICAgICAgaWYgKCFzdGVwLnN0YXR1cykge1xuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuX2N1cnJlbnQpIHtcbiAgICAgICAgICBzdGVwLnN0YXR1cyA9IHRoaXMuX3N0YXR1cztcbiAgICAgICAgfSBlbHNlIGlmIChpbmRleCA8IHRoaXMuX2N1cnJlbnQpIHtcbiAgICAgICAgICBzdGVwLnN0YXR1cyA9IFN0YXR1c0VudW0uRklOSVNIO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0ZXAuc3RhdHVzID0gU3RhdHVzRW51bS5XQUlUO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWljb24pIHtcbiAgICAgICAgaWYgKGluZGV4IDwgdGhpcy5fY3VycmVudCkge1xuICAgICAgICAgIGljb24gPSAnY2hlY2stY2lyY2xlLW8nO1xuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID4gdGhpcy5fY3VycmVudCkge1xuICAgICAgICAgIGljb24gPSAnZWxsaXBzaXMnO1xuICAgICAgICAgIHN0ZXAuc3RlcEl0ZW1DbHMgPSBzdGVwLnN0ZXBJdGVtQ2xzXG4gICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oc3RlcC5zdGVwSXRlbUNscywgeyAnZWxsaXBzaXMtaXRlbSc6IHRydWUgfSlcbiAgICAgICAgICAgIDogeyAnZWxsaXBzaXMtaXRlbSc6IHRydWUgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoKHRoaXMuX3N0YXR1cyA9PT0gU3RhdHVzRW51bS5FUlJPUiAmJiBpbmRleCA9PT0gdGhpcy5fY3VycmVudCkgfHwgc3RlcC5zdGF0dXMgPT09IFN0YXR1c0VudW0uRVJST1IpIHtcbiAgICAgICAgICBpY29uID0gJ2Nyb3NzLWNpcmNsZS1vJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3RlcC5pY29uID0gaWNvbjtcbiAgICAgIHN0ZXAuaWNvblNpemUgPSB0aGlzLl9zaXplID09PSAnc21hbGwnID8gKHRoaXMuX3N0YXR1cyA9PT0gU3RhdHVzRW51bS5XQUlUID8gJ3h4cycgOiAneHMnKSA6ICdtZCc7XG4gICAgICBzdGVwLnNldENsYXNzKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0Q2xzKCkge1xuICAgIGlmICh0aGlzLl9kaXJlY3Rpb24gPT09IERpcmVjdGlvbkVudW0uSE9SSVpPTlRBTCkge1xuICAgICAgdGhpcy5jbHNTdGVwc0xhYmVsVnRsID0gdHJ1ZTtcbiAgICAgIHRoaXMuY2xzU3RlcHNIenRsID0gdHJ1ZTtcbiAgICAgIHRoaXMuY2xzU3RlcHNWdGwgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2RpcmVjdGlvbiA9PT0gRGlyZWN0aW9uRW51bS5WRVJUSUNBTCkge1xuICAgICAgdGhpcy5jbHNTdGVwc1Z0bCA9IHRydWU7XG4gICAgICB0aGlzLmNsc1N0ZXBzSHp0bCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5fc2l6ZSA9PT0gJ3NtYWxsJykge1xuICAgICAgdGhpcy5jbHNTdGVwc1NtYWxsID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbHNTdGVwc1NtYWxsID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRDbHMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RlcFN0eWxlKCk7XG4gICAgfSwgMCk7XG4gIH1cbn1cbiJdfQ==