UNPKG

ng-zorro-antd

Version:

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

68 lines 7.95 kB
/** * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE */ import { Injectable } from '@angular/core'; import { CandyDate, cloneDate, normalizeRangeValue } from 'ng-zorro-antd/core/time'; import { ReplaySubject, Subject } from 'rxjs'; export class DatePickerService { constructor() { this.activeInput = 'left'; this.arrowLeft = 0; this.isRange = false; this.valueChange$ = new ReplaySubject(1); this.emitValue$ = new Subject(); this.inputPartChange$ = new Subject(); } initValue(reset = false) { if (reset) { this.initialValue = this.isRange ? [] : null; } this.setValue(this.initialValue); } hasValue(value = this.value) { if (Array.isArray(value)) { return !!value[0] || !!value[1]; } else { return !!value; } } makeValue(value) { if (this.isRange) { return value ? value.map(val => new CandyDate(val)) : []; } else { return value ? new CandyDate(value) : null; } } setActiveDate(value, hasTimePicker = false, mode = 'month') { const parentPanels = { date: 'month', month: 'year', year: 'decade' }; if (this.isRange) { this.activeDate = normalizeRangeValue(value, hasTimePicker, parentPanels[mode], this.activeInput); } else { this.activeDate = cloneDate(value); } } setValue(value) { this.value = value; this.valueChange$.next(this.value); } getActiveIndex(part = this.activeInput) { return { left: 0, right: 1 }[part]; } ngOnDestroy() { this.valueChange$.complete(); this.emitValue$.complete(); this.inputPartChange$.complete(); } } DatePickerService.decorators = [ { type: Injectable } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFtQyxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JILE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTlDLE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFLRSxnQkFBVyxHQUFrQixNQUFNLENBQUM7UUFDcEMsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGlCQUFZLEdBQUcsSUFBSSxhQUFhLENBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ3JELGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO0lBcURsRCxDQUFDO0lBbkRDLFNBQVMsQ0FBQyxRQUFpQixLQUFLO1FBQzlCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUM5QztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBeUIsSUFBSSxDQUFDLEtBQUs7UUFDMUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pDO2FBQU07WUFDTCxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDaEI7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQXNCO1FBQzlCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUUsS0FBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDdEU7YUFBTTtZQUNMLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxLQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ3BEO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFzQixFQUFFLGdCQUF5QixLQUFLLEVBQUUsT0FBdUIsT0FBTztRQUNsRyxNQUFNLFlBQVksR0FBNkM7WUFDN0QsSUFBSSxFQUFFLE9BQU87WUFDYixLQUFLLEVBQUUsTUFBTTtZQUNiLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLEtBQW9CLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDbEg7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFzQjtRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFzQixJQUFJLENBQUMsV0FBVztRQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7OztZQS9ERixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTkctWk9SUk8vbmctem9ycm8tYW50ZC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYW5keURhdGUsIGNsb25lRGF0ZSwgQ29tcGF0aWJsZVZhbHVlLCBOb3JtYWxpemVkTW9kZSwgbm9ybWFsaXplUmFuZ2VWYWx1ZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90aW1lJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBhdGlibGVEYXRlLCBOekRhdGVNb2RlLCBSYW5nZVBhcnRUeXBlIH0gZnJvbSAnLi9zdGFuZGFyZC10eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGluaXRpYWxWYWx1ZSE6IENvbXBhdGlibGVWYWx1ZTtcbiAgdmFsdWUhOiBDb21wYXRpYmxlVmFsdWU7XG4gIGFjdGl2ZURhdGU/OiBDb21wYXRpYmxlVmFsdWU7XG4gIGFjdGl2ZUlucHV0OiBSYW5nZVBhcnRUeXBlID0gJ2xlZnQnO1xuICBhcnJvd0xlZnQ6IG51bWJlciA9IDA7XG4gIGlzUmFuZ2UgPSBmYWxzZTtcblxuICB2YWx1ZUNoYW5nZSQgPSBuZXcgUmVwbGF5U3ViamVjdDxDb21wYXRpYmxlVmFsdWU+KDEpO1xuICBlbWl0VmFsdWUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgaW5wdXRQYXJ0Q2hhbmdlJCA9IG5ldyBTdWJqZWN0PFJhbmdlUGFydFR5cGU+KCk7XG5cbiAgaW5pdFZhbHVlKHJlc2V0OiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAocmVzZXQpIHtcbiAgICAgIHRoaXMuaW5pdGlhbFZhbHVlID0gdGhpcy5pc1JhbmdlID8gW10gOiBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuc2V0VmFsdWUodGhpcy5pbml0aWFsVmFsdWUpO1xuICB9XG5cbiAgaGFzVmFsdWUodmFsdWU6IENvbXBhdGlibGVWYWx1ZSA9IHRoaXMudmFsdWUpOiBib29sZWFuIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiAhIXZhbHVlWzBdIHx8ICEhdmFsdWVbMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAhIXZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIG1ha2VWYWx1ZSh2YWx1ZT86IENvbXBhdGlibGVEYXRlKTogQ29tcGF0aWJsZVZhbHVlIHtcbiAgICBpZiAodGhpcy5pc1JhbmdlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPyAodmFsdWUgYXMgRGF0ZVtdKS5tYXAodmFsID0+IG5ldyBDYW5keURhdGUodmFsKSkgOiBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlID8gbmV3IENhbmR5RGF0ZSh2YWx1ZSBhcyBEYXRlKSA6IG51bGw7XG4gICAgfVxuICB9XG5cbiAgc2V0QWN0aXZlRGF0ZSh2YWx1ZTogQ29tcGF0aWJsZVZhbHVlLCBoYXNUaW1lUGlja2VyOiBib29sZWFuID0gZmFsc2UsIG1vZGU6IE5vcm1hbGl6ZWRNb2RlID0gJ21vbnRoJyk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmVudFBhbmVsczogeyBba2V5IGluIE56RGF0ZU1vZGVdPzogTm9ybWFsaXplZE1vZGUgfSA9IHtcbiAgICAgIGRhdGU6ICdtb250aCcsXG4gICAgICBtb250aDogJ3llYXInLFxuICAgICAgeWVhcjogJ2RlY2FkZSdcbiAgICB9O1xuICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IG5vcm1hbGl6ZVJhbmdlVmFsdWUodmFsdWUgYXMgQ2FuZHlEYXRlW10sIGhhc1RpbWVQaWNrZXIsIHBhcmVudFBhbmVsc1ttb2RlXSwgdGhpcy5hY3RpdmVJbnB1dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGNsb25lRGF0ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0VmFsdWUodmFsdWU6IENvbXBhdGlibGVWYWx1ZSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlJC5uZXh0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgZ2V0QWN0aXZlSW5kZXgocGFydDogUmFuZ2VQYXJ0VHlwZSA9IHRoaXMuYWN0aXZlSW5wdXQpOiBudW1iZXIge1xuICAgIHJldHVybiB7IGxlZnQ6IDAsIHJpZ2h0OiAxIH1bcGFydF07XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlJC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZW1pdFZhbHVlJC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuaW5wdXRQYXJ0Q2hhbmdlJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=