UNPKG

ng-zorro-antd-mobile

Version:

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

151 lines (150 loc) 14.3 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Component, ViewEncapsulation, Input, Output, EventEmitter, HostBinding } from '@angular/core'; import { DatePickerComponent } from '../date-picker/date-picker.component'; export class DatePickerViewComponent extends DatePickerComponent { constructor() { super(...arguments); this.mode = 'date'; this.minDate = new Date(2000, 5, 1, 0, 0, 0); this.maxDate = new Date(2030, 1, 1, 23, 59, 59); this.value = new Date(); this.disabled = false; this.indicatorStyle = {}; this.onValueChange = new EventEmitter(); this.amPicker = true; } /** * @return {?} */ get locale() { return this.options.locale; } /** * @param {?} value * @return {?} */ set locale(value) { this.options.locale = value; this.unsubscribe$.next(); this.unsubscribe$.complete(); } /** * @return {?} */ init() { this.options.mode = this.mode; this.options.minDate = this.minDate; this.options.maxDate = this.maxDate; this.options.disabled = this.disabled; this.options.locale = this.locale; this.options.value = this.value; this.options.onValueChange = this.onValueChange; this.checkMode(this.options.mode); /** @type {?} */ const value = this.transformDateFormat(this.options.value).split('-'); if (value.length > 0) { this.currentTime = value.map(item => { return parseInt(item, 0); }); } this.initResult(); this.checkTime(); this.initReady(); this.getInitValueIndex(); } /** * @return {?} */ reloadPicker() { if (this.currentPicker) { /** @type {?} */ const self = this; setTimeout(() => { self.selectedTarget.forEach((item, i) => { self.currentPicker.children[i].children[2].style.transition = 'transform .3s'; /** @type {?} */ const index = parseInt(item.currentY, 0); self.currentPicker.children[i].children[2].style.transform = `translateY(${index * self.lineHeight}px)`; }); }, 0); } } /** * @return {?} */ ngOnInit() { this.localeProvider(); this.init(); } /** * @return {?} */ ngAfterViewInit() { this.currentPicker = this.elementRef.nativeElement; this.reloadPicker(); } /** * @param {?} changes * @return {?} */ ngOnChanges(changes) { if (changes["value"]) { this.options.value = changes["value"].currentValue; /** @type {?} */ const value = this.transformDateFormat(this.options.value).split('-'); if (value.length > 0) { this.currentTime = value.map(item => { return parseInt(item, 0); }); } if (!this.judgeEqualArray(this.currentTime, this.resultArr, this.resultArr.length) || this.judgeEqualArray(this.currentTime, this.min_date, this.currentTime.length) || this.judgeTime(this.currentTime, this.max_date)) { this.init(); } } if (changes["mode"] || changes["minDate"] || changes["maxDate"] || changes["disabled"] || changes["locale"]) { this.init(); } } } DatePickerViewComponent.decorators = [ { type: Component, args: [{ selector: 'DatePickerView, nzm-date-picker-view', template: "<div *ngFor=\"let item of dataWithStr; let i = index\" class=\"am-picker-col\">\n <div class=\"am-picker-col-indicator \" style=\"top: 102px;\" [ngStyle]=\"indicatorStyle\"></div>\n <div id={{i}} class=\"am-picker-col-mask\" style=\"background-size: 100% 102px;\"></div>\n <div class=\"am-picker-col-content\">\n <div id={{i}} *ngFor=\"let val of item; let i = index\" class=\"am-picker-col-item\">{{val.label?val.label:val}}</div>\n </div>\n</div>\n", encapsulation: ViewEncapsulation.None }] } ]; DatePickerViewComponent.propDecorators = { mode: [{ type: Input }], minDate: [{ type: Input }], maxDate: [{ type: Input }], value: [{ type: Input }], disabled: [{ type: Input }], indicatorStyle: [{ type: Input }], locale: [{ type: Input }], onValueChange: [{ type: Output }], amPicker: [{ type: HostBinding, args: ['class.am-picker',] }] }; if (false) { /** @type {?} */ DatePickerViewComponent.prototype.mode; /** @type {?} */ DatePickerViewComponent.prototype.minDate; /** @type {?} */ DatePickerViewComponent.prototype.maxDate; /** @type {?} */ DatePickerViewComponent.prototype.value; /** @type {?} */ DatePickerViewComponent.prototype.disabled; /** @type {?} */ DatePickerViewComponent.prototype.indicatorStyle; /** @type {?} */ DatePickerViewComponent.prototype.onValueChange; /** @type {?} */ DatePickerViewComponent.prototype.amPicker; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXItdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkLW1vYmlsZS8iLCJzb3VyY2VzIjpbImRhdGUtcGlja2VyLXZpZXcvZGF0ZS1waWNrZXItdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUlaLFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQVEzRSxNQUFNLDhCQUErQixTQUFRLG1CQUFtQjs7O29CQUUvQyxNQUFNO3VCQUVMLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO3VCQUU3QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztxQkFFbEMsSUFBSSxJQUFJLEVBQUU7d0JBRUosS0FBSzs4QkFFQSxFQUFFOzZCQVdRLElBQUksWUFBWSxFQUFFO3dCQUcxQyxJQUFJOzs7OztJQWJmLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7S0FDNUI7Ozs7O0lBQ0QsSUFBSSxNQUFNLENBQUMsS0FBSztRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDOUI7Ozs7SUFPRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztR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R0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNsQyxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzFCLENBQUMsQ0FBQzthQUNKO1lBQ0QsSUFDRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO2dCQUM5RSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztnQkFDOUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDL0M7Z0JBQ0EsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2I7U0FDRjtRQUVELElBQUksT0FBTyxZQUFTLE9BQU8sV0FBUSxJQUFJLE9BQU8sV0FBUSxJQUFJLE9BQU8sWUFBUyxJQUFJLE9BQU8sVUFBTyxFQUFFO1lBQzVGLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0tBQ0Y7OztZQWxHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNDQUFzQztnQkFDaEQscWRBQWdEO2dCQUNoRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O21CQUVFLEtBQUs7c0JBRUwsS0FBSztzQkFFTCxLQUFLO29CQUVMLEtBQUs7dUJBRUwsS0FBSzs2QkFFTCxLQUFLO3FCQUVMLEtBQUs7NEJBU0wsTUFBTTt1QkFHTixXQUFXLFNBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IHpoX0NOIH0gZnJvbSAnLi4vbG9jYWxlLXByb3ZpZGVyL2xhbmd1YWdlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ0RhdGVQaWNrZXJWaWV3LCBuem0tZGF0ZS1waWNrZXItdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyVmlld0NvbXBvbmVudCBleHRlbmRzIERhdGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIG1vZGU6IHN0cmluZyA9ICdkYXRlJztcbiAgQElucHV0KClcbiAgbWluRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDIwMDAsIDUsIDEsIDAsIDAsIDApO1xuICBASW5wdXQoKVxuICBtYXhEYXRlOiBEYXRlID0gbmV3IERhdGUoMjAzMCwgMSwgMSwgMjMsIDU5LCA1OSk7XG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgaW5kaWNhdG9yU3R5bGU6IG9iamVjdCA9IHt9O1xuICBASW5wdXQoKVxuICBnZXQgbG9jYWxlKCkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMubG9jYWxlO1xuICB9XG4gIHNldCBsb2NhbGUodmFsdWUpIHtcbiAgICB0aGlzLm9wdGlvbnMubG9jYWxlID0gdmFsdWU7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cbiAgQE91dHB1dCgpXG4gIG9uVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYW0tcGlja2VyJylcbiAgYW1QaWNrZXIgPSB0cnVlO1xuXG4gIGluaXQoKSB7XG4gICAgdGhpcy5vcHRpb25zLm1vZGUgPSB0aGlzLm1vZGU7XG4gICAgdGhpcy5vcHRpb25zLm1pbkRhdGUgPSB0aGlzLm1pbkRhdGU7XG4gICAgdGhpcy5vcHRpb25zLm1heERhdGUgPSB0aGlzLm1heERhdGU7XG4gICAgdGhpcy5vcHRpb25zLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgICB0aGlzLm9wdGlvbnMubG9jYWxlID0gdGhpcy5sb2NhbGU7XG4gICAgdGhpcy5vcHRpb25zLnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICB0aGlzLm9wdGlvbnMub25WYWx1ZUNoYW5nZSA9IHRoaXMub25WYWx1ZUNoYW5nZTtcbiAgICB0aGlzLmNoZWNrTW9kZSh0aGlzLm9wdGlvbnMubW9kZSk7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnRyYW5zZm9ybURhdGVGb3JtYXQodGhpcy5vcHRpb25zLnZhbHVlKS5zcGxpdCgnLScpO1xuICAgIGlmICh2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmN1cnJlbnRUaW1lID0gdmFsdWUubWFwKGl0ZW0gPT4ge1xuICAgICAgICByZXR1cm4gcGFyc2VJbnQoaXRlbSwgMCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5pbml0UmVzdWx0KCk7XG4gICAgdGhpcy5jaGVja1RpbWUoKTtcbiAgICB0aGlzLmluaXRSZWFkeSgpO1xuICAgIHRoaXMuZ2V0SW5pdFZhbHVlSW5kZXgoKTtcbiAgfVxuXG4gIHJlbG9hZFBpY2tlcigpIHtcbiAgICBpZiAodGhpcy5jdXJyZW50UGlja2VyKSB7XG4gICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZWxmLnNlbGVjdGVkVGFyZ2V0LmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgICBzZWxmLmN1cnJlbnRQaWNrZXIuY2hpbGRyZW5baV0uY2hpbGRyZW5bMl0uc3R5bGUudHJhbnNpdGlvbiA9ICd0cmFuc2Zvcm0gLjNzJztcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHBhcnNlSW50KGl0ZW0uY3VycmVudFksIDApO1xuICAgICAgICAgIHNlbGYuY3VycmVudFBpY2tlci5jaGlsZHJlbltpXS5jaGlsZHJlblsyXS5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlWSgke2luZGV4ICogc2VsZi5saW5lSGVpZ2h0fXB4KWA7XG4gICAgICAgIH0pO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2NhbGVQcm92aWRlcigpO1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY3VycmVudFBpY2tlciA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMucmVsb2FkUGlja2VyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMudmFsdWUpIHtcbiAgICAgIHRoaXMub3B0aW9ucy52YWx1ZSA9IGNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlO1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnRyYW5zZm9ybURhdGVGb3JtYXQodGhpcy5vcHRpb25zLnZhbHVlKS5zcGxpdCgnLScpO1xuICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VGltZSA9IHZhbHVlLm1hcChpdGVtID0+IHtcbiAgICAgICAgICByZXR1cm4gcGFyc2VJbnQoaXRlbSwgMCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5qdWRnZUVxdWFsQXJyYXkodGhpcy5jdXJyZW50VGltZSwgdGhpcy5yZXN1bHRBcnIsIHRoaXMucmVzdWx0QXJyLmxlbmd0aCkgfHxcbiAgICAgICAgdGhpcy5qdWRnZUVxdWFsQXJyYXkodGhpcy5jdXJyZW50VGltZSwgdGhpcy5taW5fZGF0ZSwgdGhpcy5jdXJyZW50VGltZS5sZW5ndGgpIHx8XG4gICAgICAgIHRoaXMuanVkZ2VUaW1lKHRoaXMuY3VycmVudFRpbWUsIHRoaXMubWF4X2RhdGUpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMubW9kZSB8fCBjaGFuZ2VzLm1pbkRhdGUgfHwgY2hhbmdlcy5tYXhEYXRlIHx8IGNoYW5nZXMuZGlzYWJsZWQgfHwgY2hhbmdlcy5sb2NhbGUpIHtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgIH1cbiAgfVxufVxuIl19