UNPKG

ng-zorro-antd

Version:

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

1,673 lines (1,669 loc) 68.3 kB
import { __decorate, __metadata, __spread } from 'tslib'; import { CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay'; import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, Renderer2, ChangeDetectorRef, ViewChild, Input, Output, Directive, HostListener, NgModule } from '@angular/core'; import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms'; import { isNotNil, slideMotion, NzUpdateHostClassService, NzConfigService, WithConfig, InputBoolean, reqAnimFrame, NzOverlayModule } from 'ng-zorro-antd/core'; import { CommonModule } from '@angular/common'; import { DateHelperService, NzI18nModule } from 'ng-zorro-antd/i18n'; import { NzIconModule } from 'ng-zorro-antd/icon'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NzTimePickerComponent = /** @class */ (function () { function NzTimePickerComponent(nzConfigService, element, renderer, updateCls, cdr) { this.nzConfigService = nzConfigService; this.element = element; this.renderer = renderer; this.updateCls = updateCls; this.cdr = cdr; this._value = null; this.isInit = false; this.overlayPositions = [ { originX: 'start', originY: 'top', overlayX: 'end', overlayY: 'top', offsetX: 0, offsetY: 0 } ]; this.nzSize = null; this.nzPlaceHolder = ''; this.nzDefaultOpenValue = new Date(); this.nzOpen = false; this.nzOpenChange = new EventEmitter(); this.nzHideDisabledOptions = false; this.nzDisabled = false; this.nzAutoFocus = false; } Object.defineProperty(NzTimePickerComponent.prototype, "value", { get: /** * @return {?} */ function () { return this._value; }, set: /** * @param {?} value * @return {?} */ function (value) { this._value = value; if (this._onChange) { this._onChange(this.value); } if (this._onTouched) { this._onTouched(); } }, enumerable: true, configurable: true }); /** * @return {?} */ NzTimePickerComponent.prototype.open = /** * @return {?} */ function () { if (this.nzDisabled) { return; } this.nzOpen = true; this.nzOpenChange.emit(this.nzOpen); }; /** * @return {?} */ NzTimePickerComponent.prototype.close = /** * @return {?} */ function () { this.nzOpen = false; this.cdr.markForCheck(); this.nzOpenChange.emit(this.nzOpen); }; /** * @return {?} */ NzTimePickerComponent.prototype.updateAutoFocus = /** * @return {?} */ function () { if (this.isInit && !this.nzDisabled) { if (this.nzAutoFocus) { this.renderer.setAttribute(this.inputRef.nativeElement, 'autofocus', 'autofocus'); } else { this.renderer.removeAttribute(this.inputRef.nativeElement, 'autofocus'); } } }; /** * @return {?} */ NzTimePickerComponent.prototype.onClickClearBtn = /** * @return {?} */ function () { this.value = null; }; /** * @private * @return {?} */ NzTimePickerComponent.prototype.setClassMap = /** * @private * @return {?} */ function () { var _a; this.updateCls.updateHostClass(this.element.nativeElement, (_a = {}, _a["ant-time-picker"] = true, _a["ant-time-picker-" + this.nzSize] = isNotNil(this.nzSize), _a)); }; /** * @return {?} */ NzTimePickerComponent.prototype.focus = /** * @return {?} */ function () { if (this.inputRef.nativeElement) { this.inputRef.nativeElement.focus(); } }; /** * @return {?} */ NzTimePickerComponent.prototype.blur = /** * @return {?} */ function () { if (this.inputRef.nativeElement) { this.inputRef.nativeElement.blur(); } }; /** * @return {?} */ NzTimePickerComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.setClassMap(); this.origin = new CdkOverlayOrigin(this.element); }; /** * @param {?} changes * @return {?} */ NzTimePickerComponent.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { var nzUse12Hours = changes.nzUse12Hours, nzFormat = changes.nzFormat, nzDisabled = changes.nzDisabled, nzAutoFocus = changes.nzAutoFocus; if (nzUse12Hours && !nzUse12Hours.previousValue && nzUse12Hours.currentValue && !nzFormat) { this.nzFormat = 'h:mm:ss a'; } if (nzDisabled) { /** @type {?} */ var value = nzDisabled.currentValue; /** @type {?} */ var input = (/** @type {?} */ (this.inputRef.nativeElement)); if (value) { this.renderer.setAttribute(input, 'disabled', ''); } else { this.renderer.removeAttribute(input, 'disabled'); } } if (nzAutoFocus) { this.updateAutoFocus(); } }; /** * @return {?} */ NzTimePickerComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { this.isInit = true; this.updateAutoFocus(); }; /** * @param {?} time * @return {?} */ NzTimePickerComponent.prototype.writeValue = /** * @param {?} time * @return {?} */ function (time) { this._value = time; this.cdr.markForCheck(); }; /** * @param {?} fn * @return {?} */ NzTimePickerComponent.prototype.registerOnChange = /** * @param {?} fn * @return {?} */ function (fn) { this._onChange = fn; }; /** * @param {?} fn * @return {?} */ NzTimePickerComponent.prototype.registerOnTouched = /** * @param {?} fn * @return {?} */ function (fn) { this._onTouched = fn; }; /** * @param {?} isDisabled * @return {?} */ NzTimePickerComponent.prototype.setDisabledState = /** * @param {?} isDisabled * @return {?} */ function (isDisabled) { this.nzDisabled = isDisabled; this.cdr.markForCheck(); }; NzTimePickerComponent.decorators = [ { type: Component, args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: 'nz-time-picker', exportAs: 'nzTimePicker', template: "<input\n #inputElement\n nzType=\"text\"\n [nzTime]=\"nzFormat\"\n class=\"ant-time-picker-input\"\n [placeholder]=\"nzPlaceHolder || ('TimePicker.placeholder' | nzI18n)\"\n [(ngModel)]=\"value\"\n readonly=\"readonly\"\n (click)=\"open()\">\n<span class=\"ant-time-picker-icon\">\n <i nz-icon nzType=\"clock-circle\"></i>\n</span>\n<i\n *ngIf=\"nzAllowEmpty && value\"\n nz-icon\n nzType=\"close-circle\"\n nzTheme=\"fill\"\n class=\"anticon anticon-close-circle ant-time-picker-clear\"\n tabindex=\"-1\"\n [attr.aria-label]=\"nzClearText\"\n [attr.title]=\"nzClearText\"\n (click)=\"onClickClearBtn()\"\n></i>\n\n<ng-template\n cdkConnectedOverlay\n nzConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"nzOpen\"\n [cdkConnectedOverlayOffsetY]=\"-2\"\n (detach)=\"close()\"\n (backdropClick)=\"close()\">\n <nz-time-picker-panel\n [ngClass]=\"nzPopupClassName\"\n [@slideMotion]=\"'bottom'\"\n [format]=\"nzFormat\"\n [nzHourStep]=\"nzHourStep\"\n [nzMinuteStep]=\"nzMinuteStep\"\n [nzSecondStep]=\"nzSecondStep\"\n [nzDisabledHours]=\"nzDisabledHours\"\n [nzDisabledMinutes]=\"nzDisabledMinutes\"\n [nzDisabledSeconds]=\"nzDisabledSeconds\"\n [nzPlaceHolder]=\"nzPlaceHolder || ('TimePicker.placeholder' | nzI18n)\"\n [nzHideDisabledOptions]=\"nzHideDisabledOptions\"\n [nzUse12Hours]=\"nzUse12Hours\"\n [nzDefaultOpenValue]=\"nzDefaultOpenValue\"\n [nzAddOn]=\"nzAddOn\"\n [opened]=\"nzOpen\"\n [nzClearText]=\"nzClearText\"\n [nzAllowEmpty]=\"nzAllowEmpty\"\n [(ngModel)]=\"value\">\n </nz-time-picker-panel>\n</ng-template>\n\n", animations: [slideMotion], providers: [NzUpdateHostClassService, { provide: NG_VALUE_ACCESSOR, useExisting: NzTimePickerComponent, multi: true }] }] } ]; /** @nocollapse */ NzTimePickerComponent.ctorParameters = function () { return [ { type: NzConfigService }, { type: ElementRef }, { type: Renderer2 }, { type: NzUpdateHostClassService }, { type: ChangeDetectorRef } ]; }; NzTimePickerComponent.propDecorators = { inputRef: [{ type: ViewChild, args: ['inputElement', { static: true },] }], nzSize: [{ type: Input }], nzHourStep: [{ type: Input }], nzMinuteStep: [{ type: Input }], nzSecondStep: [{ type: Input }], nzClearText: [{ type: Input }], nzPopupClassName: [{ type: Input }], nzPlaceHolder: [{ type: Input }], nzAddOn: [{ type: Input }], nzDefaultOpenValue: [{ type: Input }], nzDisabledHours: [{ type: Input }], nzDisabledMinutes: [{ type: Input }], nzDisabledSeconds: [{ type: Input }], nzFormat: [{ type: Input }], nzOpen: [{ type: Input }], nzUse12Hours: [{ type: Input }], nzOpenChange: [{ type: Output }], nzHideDisabledOptions: [{ type: Input }], nzAllowEmpty: [{ type: Input }], nzDisabled: [{ type: Input }], nzAutoFocus: [{ type: Input }] }; __decorate([ WithConfig(1), __metadata("design:type", Number) ], NzTimePickerComponent.prototype, "nzHourStep", void 0); __decorate([ WithConfig(1), __metadata("design:type", Number) ], NzTimePickerComponent.prototype, "nzMinuteStep", void 0); __decorate([ WithConfig(1), __metadata("design:type", Number) ], NzTimePickerComponent.prototype, "nzSecondStep", void 0); __decorate([ WithConfig('clear'), __metadata("design:type", String) ], NzTimePickerComponent.prototype, "nzClearText", void 0); __decorate([ WithConfig(), __metadata("design:type", String) ], NzTimePickerComponent.prototype, "nzPopupClassName", void 0); __decorate([ WithConfig('HH:mm:ss'), __metadata("design:type", String) ], NzTimePickerComponent.prototype, "nzFormat", void 0); __decorate([ WithConfig(false), InputBoolean(), __metadata("design:type", Boolean) ], NzTimePickerComponent.prototype, "nzUse12Hours", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzTimePickerComponent.prototype, "nzHideDisabledOptions", void 0); __decorate([ WithConfig(true), InputBoolean(), __metadata("design:type", Boolean) ], NzTimePickerComponent.prototype, "nzAllowEmpty", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzTimePickerComponent.prototype, "nzDisabled", void 0); __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzTimePickerComponent.prototype, "nzAutoFocus", void 0); return NzTimePickerComponent; }()); if (false) { /** * @type {?} * @private */ NzTimePickerComponent.prototype._value; /** * @type {?} * @private */ NzTimePickerComponent.prototype._onChange; /** * @type {?} * @private */ NzTimePickerComponent.prototype._onTouched; /** @type {?} */ NzTimePickerComponent.prototype.isInit; /** @type {?} */ NzTimePickerComponent.prototype.origin; /** @type {?} */ NzTimePickerComponent.prototype.overlayPositions; /** @type {?} */ NzTimePickerComponent.prototype.inputRef; /** @type {?} */ NzTimePickerComponent.prototype.nzSize; /** @type {?} */ NzTimePickerComponent.prototype.nzHourStep; /** @type {?} */ NzTimePickerComponent.prototype.nzMinuteStep; /** @type {?} */ NzTimePickerComponent.prototype.nzSecondStep; /** @type {?} */ NzTimePickerComponent.prototype.nzClearText; /** @type {?} */ NzTimePickerComponent.prototype.nzPopupClassName; /** @type {?} */ NzTimePickerComponent.prototype.nzPlaceHolder; /** @type {?} */ NzTimePickerComponent.prototype.nzAddOn; /** @type {?} */ NzTimePickerComponent.prototype.nzDefaultOpenValue; /** @type {?} */ NzTimePickerComponent.prototype.nzDisabledHours; /** @type {?} */ NzTimePickerComponent.prototype.nzDisabledMinutes; /** @type {?} */ NzTimePickerComponent.prototype.nzDisabledSeconds; /** @type {?} */ NzTimePickerComponent.prototype.nzFormat; /** @type {?} */ NzTimePickerComponent.prototype.nzOpen; /** @type {?} */ NzTimePickerComponent.prototype.nzUse12Hours; /** @type {?} */ NzTimePickerComponent.prototype.nzOpenChange; /** @type {?} */ NzTimePickerComponent.prototype.nzHideDisabledOptions; /** @type {?} */ NzTimePickerComponent.prototype.nzAllowEmpty; /** @type {?} */ NzTimePickerComponent.prototype.nzDisabled; /** @type {?} */ NzTimePickerComponent.prototype.nzAutoFocus; /** @type {?} */ NzTimePickerComponent.prototype.nzConfigService; /** * @type {?} * @private */ NzTimePickerComponent.prototype.element; /** * @type {?} * @private */ NzTimePickerComponent.prototype.renderer; /** * @type {?} * @private */ NzTimePickerComponent.prototype.updateCls; /** @type {?} */ NzTimePickerComponent.prototype.cdr; } /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NzTimeValueAccessorDirective = /** @class */ (function () { function NzTimeValueAccessorDirective(dateHelper, elementRef) { this.dateHelper = dateHelper; this.elementRef = elementRef; } /** * @return {?} */ NzTimeValueAccessorDirective.prototype.keyup = /** * @return {?} */ function () { this.changed(); }; /** * @return {?} */ NzTimeValueAccessorDirective.prototype.blur = /** * @return {?} */ function () { this.touched(); }; /** * @return {?} */ NzTimeValueAccessorDirective.prototype.changed = /** * @return {?} */ function () { if (this._onChange) { /** @type {?} */ var value = this.dateHelper.parseTime(this.elementRef.nativeElement.value); this._onChange((/** @type {?} */ (value))); } }; /** * @return {?} */ NzTimeValueAccessorDirective.prototype.touched = /** * @return {?} */ function () { if (this._onTouch) { this._onTouch(); } }; /** * @return {?} */ NzTimeValueAccessorDirective.prototype.setRange = /** * @return {?} */ function () { this.elementRef.nativeElement.focus(); this.elementRef.nativeElement.setSelectionRange(0, this.elementRef.nativeElement.value.length); }; /** * @param {?} value * @return {?} */ NzTimeValueAccessorDirective.prototype.writeValue = /** * @param {?} value * @return {?} */ function (value) { this.elementRef.nativeElement.value = this.dateHelper.format(value, this.nzTime); }; /** * @param {?} fn * @return {?} */ NzTimeValueAccessorDirective.prototype.registerOnChange = /** * @param {?} fn * @return {?} */ function (fn) { this._onChange = fn; }; /** * @param {?} fn * @return {?} */ NzTimeValueAccessorDirective.prototype.registerOnTouched = /** * @param {?} fn * @return {?} */ function (fn) { this._onTouch = fn; }; NzTimeValueAccessorDirective.decorators = [ { type: Directive, args: [{ selector: 'input[nzTime]', exportAs: 'nzTime', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: NzTimeValueAccessorDirective, multi: true }] },] } ]; /** @nocollapse */ NzTimeValueAccessorDirective.ctorParameters = function () { return [ { type: DateHelperService }, { type: ElementRef } ]; }; NzTimeValueAccessorDirective.propDecorators = { nzTime: [{ type: Input }], keyup: [{ type: HostListener, args: ['keyup',] }], blur: [{ type: HostListener, args: ['blur',] }] }; return NzTimeValueAccessorDirective; }()); if (false) { /** * @type {?} * @private */ NzTimeValueAccessorDirective.prototype._onChange; /** * @type {?} * @private */ NzTimeValueAccessorDirective.prototype._onTouch; /** @type {?} */ NzTimeValueAccessorDirective.prototype.nzTime; /** * @type {?} * @private */ NzTimeValueAccessorDirective.prototype.dateHelper; /** * @type {?} * @private */ NzTimeValueAccessorDirective.prototype.elementRef; } /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var TimeHolder = /** @class */ (function () { function TimeHolder() { this._seconds = undefined; this._hours = undefined; this._minutes = undefined; this._selected12Hours = undefined; this._use12Hours = false; this._defaultOpenValue = new Date(); this._changes = new Subject(); } /** * @return {?} */ TimeHolder.prototype.setDefaultValueIfNil = /** * @return {?} */ function () { if (!isNotNil(this._value)) { this._value = new Date(this.defaultOpenValue); } }; /** * @template THIS * @this {THIS} * @param {?} value * @param {?} disabled * @return {THIS} */ TimeHolder.prototype.setMinutes = /** * @template THIS * @this {THIS} * @param {?} value * @param {?} disabled * @return {THIS} */ function (value, disabled) { if (disabled) { return (/** @type {?} */ (this)); } (/** @type {?} */ (this)).setDefaultValueIfNil(); (/** @type {?} */ (this)).minutes = value; return (/** @type {?} */ (this)); }; /** * @template THIS * @this {THIS} * @param {?} value * @param {?} disabled * @return {THIS} */ TimeHolder.prototype.setHours = /** * @template THIS * @this {THIS} * @param {?} value * @param {?} disabled * @return {THIS} */ function (value, disabled) { if (disabled) { return (/** @type {?} */ (this)); } (/** @type {?} */ (this)).setDefaultValueIfNil(); (/** @type {?} */ (this)).hours = value; return (/** @type {?} */ (this)); }; /** * @template THIS * @this {THIS} * @param {?} value * @param {?} disabled * @return {THIS} */ TimeHolder.prototype.setSeconds = /** * @template THIS * @this {THIS} * @param {?} value * @param {?} disabled * @return {THIS} */ function (value, disabled) { if (disabled) { return (/** @type {?} */ (this)); } (/** @type {?} */ (this)).setDefaultValueIfNil(); (/** @type {?} */ (this)).seconds = value; return (/** @type {?} */ (this)); }; /** * @template THIS * @this {THIS} * @param {?} value * @return {THIS} */ TimeHolder.prototype.setUse12Hours = /** * @template THIS * @this {THIS} * @param {?} value * @return {THIS} */ function (value) { (/** @type {?} */ (this))._use12Hours = value; return (/** @type {?} */ (this)); }; Object.defineProperty(TimeHolder.prototype, "changes", { get: /** * @return {?} */ function () { return this._changes.asObservable(); }, enumerable: true, configurable: true }); Object.defineProperty(TimeHolder.prototype, "value", { get: /** * @return {?} */ function () { return this._value; }, set: /** * @param {?} value * @return {?} */ function (value) { if (value !== this._value) { this._value = value; if (isNotNil(this._value)) { this._hours = (/** @type {?} */ (this._value)).getHours(); this._minutes = (/** @type {?} */ (this._value)).getMinutes(); this._seconds = (/** @type {?} */ (this._value)).getSeconds(); if (this._use12Hours && isNotNil(this._hours)) { this._selected12Hours = this._hours >= 12 ? 'PM' : 'AM'; } } else { this._clear(); } } }, enumerable: true, configurable: true }); /** * @template THIS * @this {THIS} * @param {?} value * @param {?=} use12Hours * @return {THIS} */ TimeHolder.prototype.setValue = /** * @template THIS * @this {THIS} * @param {?} value * @param {?=} use12Hours * @return {THIS} */ function (value, use12Hours) { if (isNotNil(use12Hours)) { (/** @type {?} */ (this))._use12Hours = (/** @type {?} */ (use12Hours)); } (/** @type {?} */ (this)).value = value; return (/** @type {?} */ (this)); }; /** * @return {?} */ TimeHolder.prototype.clear = /** * @return {?} */ function () { this._clear(); this.update(); }; Object.defineProperty(TimeHolder.prototype, "isEmpty", { get: /** * @return {?} */ function () { return !(isNotNil(this._hours) || isNotNil(this._minutes) || isNotNil(this._seconds)); }, enumerable: true, configurable: true }); /** * @private * @return {?} */ TimeHolder.prototype._clear = /** * @private * @return {?} */ function () { this._hours = undefined; this._minutes = undefined; this._seconds = undefined; this._selected12Hours = undefined; }; /** * @private * @return {?} */ TimeHolder.prototype.update = /** * @private * @return {?} */ function () { if (this.isEmpty) { this._value = undefined; } else { if (!isNotNil(this._hours)) { this._hours = this.defaultHours; } else { (/** @type {?} */ (this._value)).setHours((/** @type {?} */ (this.hours))); } if (!isNotNil(this._minutes)) { this._minutes = this.defaultMinutes; } else { (/** @type {?} */ (this._value)).setMinutes((/** @type {?} */ (this.minutes))); } if (!isNotNil(this._seconds)) { this._seconds = this.defaultSeconds; } else { (/** @type {?} */ (this._value)).setSeconds((/** @type {?} */ (this.seconds))); } if (this._use12Hours) { if (!isNotNil(this._selected12Hours)) { this._selected12Hours = this.default12Hours; } if (this.selected12Hours === 'PM' && (/** @type {?} */ (this._hours)) < 12) { (/** @type {?} */ (this._hours)) += 12; (/** @type {?} */ (this._value)).setHours((/** @type {?} */ (this._hours))); } if (this.selected12Hours === 'AM' && (/** @type {?} */ (this._hours)) >= 12) { (/** @type {?} */ (this._hours)) -= 12; (/** @type {?} */ (this._value)).setHours((/** @type {?} */ (this._hours))); } } this._value = new Date((/** @type {?} */ (this._value))); } this.changed(); }; /** * @return {?} */ TimeHolder.prototype.changed = /** * @return {?} */ function () { this._changes.next(this._value); }; Object.defineProperty(TimeHolder.prototype, "viewHours", { /** * @description * UI view hours * Get viewHours which is selected in `time-picker-panel` and its range is [12, 1, 2, ..., 11] */ get: /** * \@description * UI view hours * Get viewHours which is selected in `time-picker-panel` and its range is [12, 1, 2, ..., 11] * @return {?} */ function () { return this._use12Hours && isNotNil(this._hours) ? this.calculateViewHour((/** @type {?} */ (this._hours))) : this._hours; }, enumerable: true, configurable: true }); Object.defineProperty(TimeHolder.prototype, "realHours", { /** * @description * Value hours * Get realHours and its range is [0, 1, 2, ..., 22, 23] */ get: /** * \@description * Value hours * Get realHours and its range is [0, 1, 2, ..., 22, 23] * @return {?} */ function () { return this._hours; }, enumerable: true, configurable: true }); Object.defineProperty(TimeHolder.prototype, "hours", { /** * @description * Same as realHours * @see realHours */ get: /** * \@description * Same as realHours * @see realHours * @return {?} */ function () { return this._hours; }, /** * @description * Set viewHours to realHours */ set: /** * \@description * Set viewHours to realHours * @param {?} value * @return {?} */ function (value) { if (value !== this._hours) { if (this._use12Hours) { if (this.selected12Hours === 'PM' && value !== 12) { (/** @type {?} */ (this._hours)) = ((/** @type {?} */ (value))) + 12; } else if (this.selected12Hours === 'AM' && value === 12) { this._hours = 0; } else { this._hours = value; } } else { this._hours = value; } this.update(); } }, enumerable: true, configurable: true }); Object.defineProperty(TimeHolder.prototype, "minutes", { get: /** * @return {?} */ function () { return this._minutes; }, set: /** * @param {?} value * @return {?} */ function (value) { if (value !== this._minutes) { this._minutes = value; this.update(); } }, enumerable: true, configurable: true }); Object.defineProperty(TimeHolder.prototype, "seconds", { get: /** * @return {?} */ function () { return this._seconds; }, set: /** * @param {?} value * @return {?} */ function (value) { if (value !== this._seconds) { this._seconds = value; this.update(); } }, enumerable: true, configurable: true }); Object.defineProperty(TimeHolder.prototype, "selected12Hours", { get: /** * @return {?} */ function () { return this._selected12Hours; }, set: /** * @param {?} value * @return {?} */ function (value) { if ((/** @type {?} */ (value)).toUpperCase() !== this._selected12Hours) { this._selected12Hours = (/** @type {?} */ (value)).toUpperCase(); this.update(); } }, enumerable: true, configurable: true }); Object.defineProperty(TimeHolder.prototype, "defaultOpenValue", { get: /** * @return {?} */ function () { return this._defaultOpenValue; }, set: /** * @param {?} value * @return {?} */ function (value) { if (this._defaultOpenValue !== value) { this._defaultOpenValue = value; this.update(); } }, enumerable: true, configurable: true }); /** * @template THIS * @this {THIS} * @param {?} value * @return {THIS} */ TimeHolder.prototype.setDefaultOpenValue = /** * @template THIS * @this {THIS} * @param {?} value * @return {THIS} */ function (value) { (/** @type {?} */ (this)).defaultOpenValue = value; return (/** @type {?} */ (this)); }; Object.defineProperty(TimeHolder.prototype, "defaultViewHours", { /** * @description * Get deafultViewHours when defaultOpenValue is setted * @see viewHours */ get: /** * \@description * Get deafultViewHours when defaultOpenValue is setted * @see viewHours * @return {?} */ function () { /** @type {?} */ var hours = this._defaultOpenValue.getHours(); return this._use12Hours && isNotNil(hours) ? this.calculateViewHour(hours) : hours; }, enumerable: true, configurable: true }); Object.defineProperty(TimeHolder.prototype, "defaultRealHours", { /** * @description * Get defaultRealHours when defaultOpenValue is setted * @see realHours */ get: /** * \@description * Get defaultRealHours when defaultOpenValue is setted * @see realHours * @return {?} */ function () { return this._defaultOpenValue.getHours(); }, enumerable: true, configurable: true }); Object.defineProperty(TimeHolder.prototype, "defaultHours", { /** * @description * Same as defaultRealHours */ get: /** * \@description * Same as defaultRealHours * @return {?} */ function () { return this._defaultOpenValue.getHours(); }, enumerable: true, configurable: true }); Object.defineProperty(TimeHolder.prototype, "defaultMinutes", { get: /** * @return {?} */ function () { return this._defaultOpenValue.getMinutes(); }, enumerable: true, configurable: true }); Object.defineProperty(TimeHolder.prototype, "defaultSeconds", { get: /** * @return {?} */ function () { return this._defaultOpenValue.getSeconds(); }, enumerable: true, configurable: true }); Object.defineProperty(TimeHolder.prototype, "default12Hours", { get: /** * @return {?} */ function () { return this._defaultOpenValue.getHours() >= 12 ? 'PM' : 'AM'; }, enumerable: true, configurable: true }); /** * @private * @param {?} value * @return {?} */ TimeHolder.prototype.calculateViewHour = /** * @private * @param {?} value * @return {?} */ function (value) { /** @type {?} */ var selected12Hours = this._selected12Hours || this.default12Hours; if (selected12Hours === 'PM' && value > 12) { return value - 12; } if (selected12Hours === 'AM' && value === 0) { return 12; } return value; }; return TimeHolder; }()); if (false) { /** * @type {?} * @private */ TimeHolder.prototype._seconds; /** * @type {?} * @private */ TimeHolder.prototype._hours; /** * @type {?} * @private */ TimeHolder.prototype._minutes; /** * @type {?} * @private */ TimeHolder.prototype._selected12Hours; /** * @type {?} * @private */ TimeHolder.prototype._use12Hours; /** * @type {?} * @private */ TimeHolder.prototype._defaultOpenValue; /** * @type {?} * @private */ TimeHolder.prototype._value; /** * @type {?} * @private */ TimeHolder.prototype._changes; } /** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @param {?} length * @param {?=} step * @param {?=} start * @return {?} */ function makeRange(length, step, start) { if (step === void 0) { step = 1; } if (start === void 0) { start = 0; } return new Array(Math.ceil(length / step)).fill(0).map((/** * @param {?} _ * @param {?} i * @return {?} */ function (_, i) { return (i + start) * step; })); } var NzTimePickerPanelComponent = /** @class */ (function () { function NzTimePickerPanelComponent(element, updateCls, cdr) { this.element = element; this.updateCls = updateCls; this.cdr = cdr; this._nzHourStep = 1; this._nzMinuteStep = 1; this._nzSecondStep = 1; this.unsubscribe$ = new Subject(); this._format = 'HH:mm:ss'; this._allowEmpty = true; this.prefixCls = 'ant-time-picker-panel'; this.time = new TimeHolder(); this.hourEnabled = true; this.minuteEnabled = true; this.secondEnabled = true; this.enabledColumns = 3; this.nzInDatePicker = false; // If inside a date-picker, more diff works need to be done this.nzHideDisabledOptions = false; this.nzUse12Hours = false; this.opened = false; this.nzDefaultOpenValue = new Date(); } Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzAllowEmpty", { get: /** * @return {?} */ function () { return this._allowEmpty; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._allowEmpty = value; } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzDisabledHours", { get: /** * @return {?} */ function () { return this._disabledHours; }, set: /** * @param {?} value * @return {?} */ function (value) { this._disabledHours = value; if (this._disabledHours) { this.buildHours(); } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzDisabledMinutes", { get: /** * @return {?} */ function () { return this._disabledMinutes; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._disabledMinutes = value; this.buildMinutes(); } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzDisabledSeconds", { get: /** * @return {?} */ function () { return this._disabledSeconds; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._disabledSeconds = value; this.buildSeconds(); } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "format", { get: /** * @return {?} */ function () { return this._format; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._format = value; this.enabledColumns = 0; /** @type {?} */ var charSet = new Set(value); this.hourEnabled = charSet.has('H') || charSet.has('h'); this.minuteEnabled = charSet.has('m'); this.secondEnabled = charSet.has('s'); if (this.hourEnabled) { this.enabledColumns++; } if (this.minuteEnabled) { this.enabledColumns++; } if (this.secondEnabled) { this.enabledColumns++; } if (this.nzUse12Hours) { this.build12Hours(); } } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzHourStep", { get: /** * @return {?} */ function () { return this._nzHourStep; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._nzHourStep = value; this.buildHours(); } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzMinuteStep", { get: /** * @return {?} */ function () { return this._nzMinuteStep; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._nzMinuteStep = value; this.buildMinutes(); } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzSecondStep", { get: /** * @return {?} */ function () { return this._nzSecondStep; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._nzSecondStep = value; this.buildSeconds(); } }, enumerable: true, configurable: true }); /** * @return {?} */ NzTimePickerPanelComponent.prototype.selectInputRange = /** * @return {?} */ function () { var _this = this; setTimeout((/** * @return {?} */ function () { if (_this.nzTimeValueAccessorDirective) { _this.nzTimeValueAccessorDirective.setRange(); } })); }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.buildHours = /** * @return {?} */ function () { var _this = this; /** @type {?} */ var hourRanges = 24; /** @type {?} */ var disabledHours = this.nzDisabledHours && this.nzDisabledHours(); /** @type {?} */ var startIndex = 0; if (this.nzUse12Hours) { hourRanges = 12; if (disabledHours) { if (this.time.selected12Hours === 'PM') { /** * Filter and transform hours which greater or equal to 12 * [0, 1, 2, ..., 12, 13, 14, 15, ..., 23] => [12, 1, 2, 3, ..., 11] */ disabledHours = disabledHours.filter((/** * @param {?} i * @return {?} */ function (i) { return i >= 12; })).map((/** * @param {?} i * @return {?} */ function (i) { return (i > 12 ? i - 12 : i); })); } else { /** * Filter and transform hours which less than 12 * [0, 1, 2,..., 12, 13, 14, 15, ...23] => [12, 1, 2, 3, ..., 11] */ disabledHours = disabledHours.filter((/** * @param {?} i * @return {?} */ function (i) { return i < 12 || i === 24; })).map((/** * @param {?} i * @return {?} */ function (i) { return (i === 24 || i === 0 ? 12 : i); })); } } startIndex = 1; } this.hourRange = makeRange(hourRanges, this.nzHourStep, startIndex).map((/** * @param {?} r * @return {?} */ function (r) { return { index: r, disabled: _this.nzDisabledHours && disabledHours.indexOf(r) !== -1 }; })); if (this.nzUse12Hours && this.hourRange[this.hourRange.length - 1].index === 12) { /** @type {?} */ var temp = __spread(this.hourRange); temp.unshift(temp[temp.length - 1]); temp.splice(temp.length - 1, 1); this.hourRange = temp; } }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.buildMinutes = /** * @return {?} */ function () { var _this = this; this.minuteRange = makeRange(60, this.nzMinuteStep).map((/** * @param {?} r * @return {?} */ function (r) { return { index: r, disabled: _this.nzDisabledMinutes && _this.nzDisabledMinutes((/** @type {?} */ (_this.time.hours))).indexOf(r) !== -1 }; })); }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.buildSeconds = /** * @return {?} */ function () { var _this = this; this.secondRange = makeRange(60, this.nzSecondStep).map((/** * @param {?} r * @return {?} */ function (r) { return { index: r, disabled: _this.nzDisabledSeconds && _this.nzDisabledSeconds((/** @type {?} */ (_this.time.hours)), (/** @type {?} */ (_this.time.minutes))).indexOf(r) !== -1 }; })); }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.build12Hours = /** * @return {?} */ function () { /** @type {?} */ var isUpperForamt = this._format.includes('A'); this.use12HoursRange = [ { index: 0, value: isUpperForamt ? 'AM' : 'am' }, { index: 1, value: isUpperForamt ? 'PM' : 'pm' } ]; }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.buildTimes = /** * @return {?} */ function () { this.buildHours(); this.buildMinutes(); this.buildSeconds(); this.build12Hours(); }; /** * @param {?} hour * @return {?} */ NzTimePickerPanelComponent.prototype.selectHour = /** * @param {?} hour * @return {?} */ function (hour) { this.time.setHours(hour.index, hour.disabled); this.scrollToSelected(this.hourListElement.nativeElement, hour.index, 120, 'hour'); if (this._disabledMinutes) { this.buildMinutes(); } if (this._disabledSeconds || this._disabledMinutes) { this.buildSeconds(); } }; /** * @param {?} minute * @return {?} */ NzTimePickerPanelComponent.prototype.selectMinute = /** * @param {?} minute * @return {?} */ function (minute) { this.time.setMinutes(minute.index, minute.disabled); this.scrollToSelected(this.minuteListElement.nativeElement, minute.index, 120, 'minute'); if (this._disabledSeconds) { this.buildSeconds(); } }; /** * @param {?} second * @return {?} */ NzTimePickerPanelComponent.prototype.selectSecond = /** * @param {?} second * @return {?} */ function (second) { this.time.setSeconds(second.index, second.disabled); this.scrollToSelected(this.secondListElement.nativeElement, second.index, 120, 'second'); }; /** * @param {?} value * @return {?} */ NzTimePickerPanelComponent.prototype.select12Hours = /** * @param {?} value * @return {?} */ function (value) { this.time.selected12Hours = value.value; if (this._disabledHours) { this.buildHours(); } if (this._disabledMinutes) { this.buildMinutes(); } if (this._disabledSeconds) { this.buildSeconds(); } this.scrollToSelected(this.use12HoursListElement.nativeElement, value.index, 120, '12-hour'); }; /** * @param {?} instance * @param {?} index * @param {?=} duration * @param {?=} unit * @return {?} */ NzTimePickerPanelComponent.prototype.scrollToSelected = /** * @param {?} instance * @param {?} index * @param {?=} duration * @param {?=} unit * @return {?} */ function (instance, index, duration, unit) { if (duration === void 0) { duration = 0; } /** @type {?} */ var transIndex = this.translateIndex(index, unit); /** @type {?} */ var currentOption = (/** @type {?} */ ((instance.children[0].children[transIndex] || instance.children[0].children[0]))); this.scrollTo(instance, currentOption.offsetTop, duration); }; /** * @param {?} index * @param {?} unit * @return {?} */ NzTimePickerPanelComponent.prototype.translateIndex = /** * @param {?} index * @param {?} unit * @return {?} */ function (index, unit) { if (unit === 'hour') { /** @type {?} */ var disabledHours = this.nzDisabledHours && this.nzDisabledHours(); return this.calcIndex(disabledHours, this.hourRange.map((/** * @param {?} item * @return {?} */ function (item) { return item.index; })).indexOf(index)); } else if (unit === 'minute') { /** @type {?} */ var disabledMinutes = this.nzDisabledMinutes && this.nzDisabledMinutes((/** @type {?} */ (this.time.hours))); return this.calcIndex(disabledMinutes, this.minuteRange.map((/** * @param {?} item * @return {?} */ function (item) { return item.index; })).indexOf(index)); } else if (unit === 'second') { // second /** @type {?} */ var disabledSeconds = this.nzDisabledSeconds && this.nzDisabledSeconds((/** @type {?} */ (this.time.hours)), (/** @type {?} */ (this.time.minutes))); return this.calcIndex(disabledSeconds, this.secondRange.map((/** * @param {?} item * @return {?} */ function (item) { return item.index; })).indexOf(index)); } else { // 12-hour return this.calcIndex([], this.use12HoursRange.map((/** * @param {?} item * @return {?} */ function (item) { return item.index; })).indexOf(index)); } }; /** * @param {?} element * @param {?} to * @param {?} duration * @return {?} */ NzTimePickerPanelComponent.prototype.scrollTo = /** * @param {?} element * @param {?} to * @param {?} duration * @return {?} */ function (element, to, duration) { var _this = this; if (duration <= 0) { element.scrol