UNPKG

ng-zorro-antd

Version:

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

71 lines 8.05 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() { if (this.isRange) { this.setActiveDate([]); this.value = this.initialValue = []; } else { this.value = this.initialValue = null; } } 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, allowSameInTwoPanel = false, mode = 'month') { const parentPanels = { date: 'month', month: 'year', year: 'decade' }; if (this.isRange) { this.activeDate = normalizeRangeValue(value, allowSameInTwoPanel, parentPanels[mode]); } 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS92c3RzL3dvcmsvMS9zL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvIiwic291cmNlcyI6WyJkYXRlLXBpY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQW1DLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckgsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJOUMsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUtFLGdCQUFXLEdBQWtCLE1BQU0sQ0FBQztRQUNwQyxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsaUJBQVksR0FBRyxJQUFJLGFBQWEsQ0FBa0IsQ0FBQyxDQUFDLENBQUM7UUFDckQsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDakMscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7SUFzRGxELENBQUM7SUFwREMsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7U0FDckM7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQXlCLElBQUksQ0FBQyxLQUFLO1FBQzFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqQzthQUFNO1lBQ0wsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFzQjtRQUM5QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFFLEtBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ3RFO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUNwRDtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBc0IsRUFBRSxzQkFBK0IsS0FBSyxFQUFFLE9BQXVCLE9BQU87UUFDeEcsTUFBTSxZQUFZLEdBQTZDO1lBQzdELElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLE1BQU07WUFDYixJQUFJLEVBQUUsUUFBUTtTQUNmLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxLQUFvQixFQUFFLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3RHO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBc0I7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBc0IsSUFBSSxDQUFDLFdBQVc7UUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzs7WUFoRUYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FuZHlEYXRlLCBjbG9uZURhdGUsIENvbXBhdGlibGVWYWx1ZSwgTm9ybWFsaXplZE1vZGUsIG5vcm1hbGl6ZVJhbmdlVmFsdWUgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdGltZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wYXRpYmxlRGF0ZSwgTnpEYXRlTW9kZSwgUmFuZ2VQYXJ0VHlwZSB9IGZyb20gJy4vc3RhbmRhcmQtdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBpbml0aWFsVmFsdWU/OiBDb21wYXRpYmxlVmFsdWU7XG4gIHZhbHVlITogQ29tcGF0aWJsZVZhbHVlO1xuICBhY3RpdmVEYXRlPzogQ29tcGF0aWJsZVZhbHVlO1xuICBhY3RpdmVJbnB1dDogUmFuZ2VQYXJ0VHlwZSA9ICdsZWZ0JztcbiAgYXJyb3dMZWZ0OiBudW1iZXIgPSAwO1xuICBpc1JhbmdlID0gZmFsc2U7XG5cbiAgdmFsdWVDaGFuZ2UkID0gbmV3IFJlcGxheVN1YmplY3Q8Q29tcGF0aWJsZVZhbHVlPigxKTtcbiAgZW1pdFZhbHVlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGlucHV0UGFydENoYW5nZSQgPSBuZXcgU3ViamVjdDxSYW5nZVBhcnRUeXBlPigpO1xuXG4gIGluaXRWYWx1ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1JhbmdlKSB7XG4gICAgICB0aGlzLnNldEFjdGl2ZURhdGUoW10pO1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuaW5pdGlhbFZhbHVlID0gW107XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmluaXRpYWxWYWx1ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgaGFzVmFsdWUodmFsdWU6IENvbXBhdGlibGVWYWx1ZSA9IHRoaXMudmFsdWUpOiBib29sZWFuIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiAhIXZhbHVlWzBdIHx8ICEhdmFsdWVbMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAhIXZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIG1ha2VWYWx1ZSh2YWx1ZT86IENvbXBhdGlibGVEYXRlKTogQ29tcGF0aWJsZVZhbHVlIHtcbiAgICBpZiAodGhpcy5pc1JhbmdlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPyAodmFsdWUgYXMgRGF0ZVtdKS5tYXAodmFsID0+IG5ldyBDYW5keURhdGUodmFsKSkgOiBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlID8gbmV3IENhbmR5RGF0ZSh2YWx1ZSBhcyBEYXRlKSA6IG51bGw7XG4gICAgfVxuICB9XG5cbiAgc2V0QWN0aXZlRGF0ZSh2YWx1ZTogQ29tcGF0aWJsZVZhbHVlLCBhbGxvd1NhbWVJblR3b1BhbmVsOiBib29sZWFuID0gZmFsc2UsIG1vZGU6IE5vcm1hbGl6ZWRNb2RlID0gJ21vbnRoJyk6IHZvaWQge1xuICAgIGNvbnN0IHBhcmVudFBhbmVsczogeyBba2V5IGluIE56RGF0ZU1vZGVdPzogTm9ybWFsaXplZE1vZGUgfSA9IHtcbiAgICAgIGRhdGU6ICdtb250aCcsXG4gICAgICBtb250aDogJ3llYXInLFxuICAgICAgeWVhcjogJ2RlY2FkZSdcbiAgICB9O1xuICAgIGlmICh0aGlzLmlzUmFuZ2UpIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IG5vcm1hbGl6ZVJhbmdlVmFsdWUodmFsdWUgYXMgQ2FuZHlEYXRlW10sIGFsbG93U2FtZUluVHdvUGFuZWwsIHBhcmVudFBhbmVsc1ttb2RlXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZSA9IGNsb25lRGF0ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0VmFsdWUodmFsdWU6IENvbXBhdGlibGVWYWx1ZSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlJC5uZXh0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgZ2V0QWN0aXZlSW5kZXgocGFydDogUmFuZ2VQYXJ0VHlwZSA9IHRoaXMuYWN0aXZlSW5wdXQpOiBudW1iZXIge1xuICAgIHJldHVybiB7IGxlZnQ6IDAsIHJpZ2h0OiAxIH1bcGFydF07XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlJC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuZW1pdFZhbHVlJC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuaW5wdXRQYXJ0Q2hhbmdlJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=