UNPKG

ngx-jalali-date-picker

Version:

This is a configurable date-picker build for Angular applications. Supports latest (Angular 18) version. This date-picker is based on ng2-date-piker and ngx-jalali-date-picker date pickers.

51 lines 7.34 kB
import { Injectable } from '@angular/core'; import moment from 'jalali-moment'; import * as i0 from "@angular/core"; import * as i1 from "../common/services/utils/utils.service"; import * as i2 from "../day-calendar/day-calendar.service"; import * as i3 from "../time-select/time-select.service"; const DAY_FORMAT = 'YYYYMMDD'; const TIME_FORMAT = 'HH:mm:ss'; const COMBINED_FORMAT = DAY_FORMAT + TIME_FORMAT; export class DayTimeCalendarService { constructor(utilsService, dayCalendarService, timeSelectService) { this.utilsService = utilsService; this.dayCalendarService = dayCalendarService; this.timeSelectService = timeSelectService; this.DEFAULT_CONFIG = { locale: moment.locale() }; } getConfig(config) { const _config = { ...this.DEFAULT_CONFIG, ...this.timeSelectService.getConfig(config), ...this.dayCalendarService.getConfig(config) }; moment.locale(config.locale); return _config; } updateDay(current, day, config) { const time = current ? current : moment(); let updated = moment(day.format(DAY_FORMAT) + time.format(TIME_FORMAT), COMBINED_FORMAT); if (config.min) { const min = config.min; updated = min.isAfter(updated) ? min : updated; } if (config.max) { const max = config.max; updated = max.isBefore(updated) ? max : updated; } return updated; } updateTime(current, time) { const day = current ? current : moment(); return moment(day.format(DAY_FORMAT) + time.format(TIME_FORMAT), COMBINED_FORMAT); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DayTimeCalendarService, deps: [{ token: i1.UtilsService }, { token: i2.DayCalendarService }, { token: i3.TimeSelectService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DayTimeCalendarService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DayTimeCalendarService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.UtilsService }, { type: i2.DayCalendarService }, { type: i3.TimeSelectService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LXRpbWUtY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1qYWxhbGktZGF0ZS1waWNrZXIvc3JjL2xpYi9kYXktdGltZS1jYWxlbmRhci9kYXktdGltZS1jYWxlbmRhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxNQUFnQixNQUFLLGVBQWUsQ0FBQzs7Ozs7QUFPNUMsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDO0FBQzlCLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQztBQUMvQixNQUFNLGVBQWUsR0FBRyxVQUFVLEdBQUcsV0FBVyxDQUFDO0FBR2pELE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsWUFBb0IsWUFBMEIsRUFDMUIsa0JBQXNDLEVBQ3RDLGlCQUFvQztRQUZwQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFOL0MsbUJBQWMsR0FBMkI7WUFDaEQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUU7U0FDeEIsQ0FBQztJQUtGLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBOEI7UUFDdEMsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLElBQUksQ0FBQyxjQUFjO1lBQ3RCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDM0MsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztTQUM3QyxDQUFDO1FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFN0IsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFlLEVBQUUsR0FBVyxFQUFFLE1BQThCO1FBQ3BFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQyxJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRXpGLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2YsTUFBTSxHQUFHLEdBQVcsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUMvQixPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDakQsQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2YsTUFBTSxHQUFHLEdBQVcsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUMvQixPQUFPLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDbEQsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZSxFQUFFLElBQVk7UUFDdEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXpDLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNwRixDQUFDOytHQTNDVSxzQkFBc0I7bUhBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgbW9tZW50LCB7TW9tZW50fSBmcm9tJ2phbGFsaS1tb21lbnQnO1xuXG5pbXBvcnQge1V0aWxzU2VydmljZX0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL3V0aWxzL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHtEYXlDYWxlbmRhclNlcnZpY2V9IGZyb20gJy4uL2RheS1jYWxlbmRhci9kYXktY2FsZW5kYXIuc2VydmljZSc7XG5pbXBvcnQge1RpbWVTZWxlY3RTZXJ2aWNlfSBmcm9tICcuLi90aW1lLXNlbGVjdC90aW1lLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCB7SURheVRpbWVDYWxlbmRhckNvbmZpZ30gZnJvbSAnLi9kYXktdGltZS1jYWxlbmRhci1jb25maWcubW9kZWwnO1xuXG5jb25zdCBEQVlfRk9STUFUID0gJ1lZWVlNTUREJztcbmNvbnN0IFRJTUVfRk9STUFUID0gJ0hIOm1tOnNzJztcbmNvbnN0IENPTUJJTkVEX0ZPUk1BVCA9IERBWV9GT1JNQVQgKyBUSU1FX0ZPUk1BVDtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERheVRpbWVDYWxlbmRhclNlcnZpY2Uge1xuICByZWFkb25seSBERUZBVUxUX0NPTkZJRzogSURheVRpbWVDYWxlbmRhckNvbmZpZyA9IHtcbiAgICBsb2NhbGU6IG1vbWVudC5sb2NhbGUoKVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgZGF5Q2FsZW5kYXJTZXJ2aWNlOiBEYXlDYWxlbmRhclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdGltZVNlbGVjdFNlcnZpY2U6IFRpbWVTZWxlY3RTZXJ2aWNlKSB7XG4gIH1cblxuICBnZXRDb25maWcoY29uZmlnOiBJRGF5VGltZUNhbGVuZGFyQ29uZmlnKTogSURheVRpbWVDYWxlbmRhckNvbmZpZyB7XG4gICAgY29uc3QgX2NvbmZpZyA9IHtcbiAgICAgIC4uLnRoaXMuREVGQVVMVF9DT05GSUcsXG4gICAgICAuLi50aGlzLnRpbWVTZWxlY3RTZXJ2aWNlLmdldENvbmZpZyhjb25maWcpLFxuICAgICAgLi4udGhpcy5kYXlDYWxlbmRhclNlcnZpY2UuZ2V0Q29uZmlnKGNvbmZpZylcbiAgICB9O1xuXG4gICAgbW9tZW50LmxvY2FsZShjb25maWcubG9jYWxlKTtcblxuICAgIHJldHVybiBfY29uZmlnO1xuICB9XG5cbiAgdXBkYXRlRGF5KGN1cnJlbnQ6IE1vbWVudCwgZGF5OiBNb21lbnQsIGNvbmZpZzogSURheVRpbWVDYWxlbmRhckNvbmZpZyk6IE1vbWVudCB7XG4gICAgY29uc3QgdGltZSA9IGN1cnJlbnQgPyBjdXJyZW50IDogbW9tZW50KCk7XG4gICAgbGV0IHVwZGF0ZWQgPSBtb21lbnQoZGF5LmZvcm1hdChEQVlfRk9STUFUKSArIHRpbWUuZm9ybWF0KFRJTUVfRk9STUFUKSwgQ09NQklORURfRk9STUFUKTtcblxuICAgIGlmIChjb25maWcubWluKSB7XG4gICAgICBjb25zdCBtaW4gPSA8TW9tZW50PmNvbmZpZy5taW47XG4gICAgICB1cGRhdGVkID0gbWluLmlzQWZ0ZXIodXBkYXRlZCkgPyBtaW4gOiB1cGRhdGVkO1xuICAgIH1cblxuICAgIGlmIChjb25maWcubWF4KSB7XG4gICAgICBjb25zdCBtYXggPSA8TW9tZW50PmNvbmZpZy5tYXg7XG4gICAgICB1cGRhdGVkID0gbWF4LmlzQmVmb3JlKHVwZGF0ZWQpID8gbWF4IDogdXBkYXRlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdXBkYXRlZDtcbiAgfVxuXG4gIHVwZGF0ZVRpbWUoY3VycmVudDogTW9tZW50LCB0aW1lOiBNb21lbnQpOiBNb21lbnQge1xuICAgIGNvbnN0IGRheSA9IGN1cnJlbnQgPyBjdXJyZW50IDogbW9tZW50KCk7XG5cbiAgICByZXR1cm4gbW9tZW50KGRheS5mb3JtYXQoREFZX0ZPUk1BVCkgKyB0aW1lLmZvcm1hdChUSU1FX0ZPUk1BVCksIENPTUJJTkVEX0ZPUk1BVCk7XG4gIH1cbn1cbiJdfQ==