ng19-date-picker
Version:
https://github.com/vlio20/angular-datepicker
52 lines • 7.84 kB
JavaScript
import { Injectable } from '@angular/core';
import { dayjsRef } from '../common/dayjs/dayjs.ref';
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 = {};
}
getConfig(config) {
const _config = {
...this.DEFAULT_CONFIG,
...this.timeSelectService.getConfig(config),
...this.dayCalendarService.getConfig(config)
};
this.utilsService.convertPropsToDayjs(_config, _config.format, ['min', 'max']);
return _config;
}
updateDay(current, day, config) {
const time = current ? current : dayjsRef();
let updated = dayjsRef(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 : dayjsRef();
return dayjsRef(day.format(DAY_FORMAT) + time.format(TIME_FORMAT), COMBINED_FORMAT);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", 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: "17.0.6", ngImport: i0, type: DayTimeCalendarService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: DayTimeCalendarService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: () => [{ type: i1.UtilsService }, { type: i2.DayCalendarService }, { type: i3.TimeSelectService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LXRpbWUtY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nMi1kYXRlLXBpY2tlci9zcmMvbGliL2RheS10aW1lLWNhbGVuZGFyL2RheS10aW1lLWNhbGVuZGFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU16QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBSW5ELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQztBQUM5QixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUM7QUFDL0IsTUFBTSxlQUFlLEdBQUcsVUFBVSxHQUFHLFdBQVcsQ0FBQztBQUtqRCxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLFlBQW9CLFlBQTBCLEVBQzFCLGtCQUFzQyxFQUN0QyxpQkFBb0M7UUFGcEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBSi9DLG1CQUFjLEdBQTJCLEVBQUUsQ0FBQztJQUtyRCxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQThCO1FBQ3RDLE1BQU0sT0FBTyxHQUFJO1lBQ2YsR0FBRyxJQUFJLENBQUMsY0FBYztZQUN0QixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQzNDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7U0FDN0MsQ0FBQztRQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUUvRSxPQUFPLE9BQXlDLENBQUM7SUFDbkQsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFjLEVBQUUsR0FBVSxFQUFFLE1BQWtDO1FBQ3RFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRTNGLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7WUFDdkIsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQ2hEO1FBRUQsSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUN2QixPQUFPLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7U0FDakQ7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWMsRUFBRSxJQUFXO1FBQ3BDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUzQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdEYsQ0FBQzs4R0F6Q1Usc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FGbkIsTUFBTTs7MkZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7VXRpbHNTZXJ2aWNlfSBmcm9tICcuLi9jb21tb24vc2VydmljZXMvdXRpbHMvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQge0RheUNhbGVuZGFyU2VydmljZX0gZnJvbSAnLi4vZGF5LWNhbGVuZGFyL2RheS1jYWxlbmRhci5zZXJ2aWNlJztcbmltcG9ydCB7VGltZVNlbGVjdFNlcnZpY2V9IGZyb20gJy4uL3RpbWUtc2VsZWN0L3RpbWUtc2VsZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHtJRGF5VGltZUNhbGVuZGFyQ29uZmlnLCBJRGF5VGltZUNhbGVuZGFyQ29uZmlnSW50ZXJuYWx9IGZyb20gJy4vZGF5LXRpbWUtY2FsZW5kYXItY29uZmlnLm1vZGVsJztcbmltcG9ydCB7ZGF5anNSZWZ9IGZyb20gJy4uL2NvbW1vbi9kYXlqcy9kYXlqcy5yZWYnO1xuaW1wb3J0IHtEYXlqc30gZnJvbSAnZGF5anMnO1xuaW1wb3J0IHtJRGF5Q2FsZW5kYXJDb25maWdJbnRlcm5hbH0gZnJvbSAnLi4vZGF5LWNhbGVuZGFyL2RheS1jYWxlbmRhci1jb25maWcubW9kZWwnO1xuXG5jb25zdCBEQVlfRk9STUFUID0gJ1lZWVlNTUREJztcbmNvbnN0IFRJTUVfRk9STUFUID0gJ0hIOm1tOnNzJztcbmNvbnN0IENPTUJJTkVEX0ZPUk1BVCA9IERBWV9GT1JNQVQgKyBUSU1FX0ZPUk1BVDtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYXlUaW1lQ2FsZW5kYXJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgREVGQVVMVF9DT05GSUc6IElEYXlUaW1lQ2FsZW5kYXJDb25maWcgPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHV0aWxzU2VydmljZTogVXRpbHNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGRheUNhbGVuZGFyU2VydmljZTogRGF5Q2FsZW5kYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHRpbWVTZWxlY3RTZXJ2aWNlOiBUaW1lU2VsZWN0U2VydmljZSkge1xuICB9XG5cbiAgZ2V0Q29uZmlnKGNvbmZpZzogSURheVRpbWVDYWxlbmRhckNvbmZpZyk6IElEYXlUaW1lQ2FsZW5kYXJDb25maWdJbnRlcm5hbCB7XG4gICAgY29uc3QgX2NvbmZpZyA9ICB7XG4gICAgICAuLi50aGlzLkRFRkFVTFRfQ09ORklHLFxuICAgICAgLi4udGhpcy50aW1lU2VsZWN0U2VydmljZS5nZXRDb25maWcoY29uZmlnKSxcbiAgICAgIC4uLnRoaXMuZGF5Q2FsZW5kYXJTZXJ2aWNlLmdldENvbmZpZyhjb25maWcpXG4gICAgfTtcblxuICAgIHRoaXMudXRpbHNTZXJ2aWNlLmNvbnZlcnRQcm9wc1RvRGF5anMoX2NvbmZpZywgX2NvbmZpZy5mb3JtYXQsIFsnbWluJywgJ21heCddKTtcblxuICAgIHJldHVybiBfY29uZmlnIGFzIElEYXlUaW1lQ2FsZW5kYXJDb25maWdJbnRlcm5hbDtcbiAgfVxuXG4gIHVwZGF0ZURheShjdXJyZW50OiBEYXlqcywgZGF5OiBEYXlqcywgY29uZmlnOiBJRGF5Q2FsZW5kYXJDb25maWdJbnRlcm5hbCk6IERheWpzIHtcbiAgICBjb25zdCB0aW1lID0gY3VycmVudCA/IGN1cnJlbnQgOiBkYXlqc1JlZigpO1xuICAgIGxldCB1cGRhdGVkID0gZGF5anNSZWYoZGF5LmZvcm1hdChEQVlfRk9STUFUKSArIHRpbWUuZm9ybWF0KFRJTUVfRk9STUFUKSwgQ09NQklORURfRk9STUFUKTtcblxuICAgIGlmIChjb25maWcubWluKSB7XG4gICAgICBjb25zdCBtaW4gPSBjb25maWcubWluO1xuICAgICAgdXBkYXRlZCA9IG1pbi5pc0FmdGVyKHVwZGF0ZWQpID8gbWluIDogdXBkYXRlZDtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLm1heCkge1xuICAgICAgY29uc3QgbWF4ID0gY29uZmlnLm1heDtcbiAgICAgIHVwZGF0ZWQgPSBtYXguaXNCZWZvcmUodXBkYXRlZCkgPyBtYXggOiB1cGRhdGVkO1xuICAgIH1cblxuICAgIHJldHVybiB1cGRhdGVkO1xuICB9XG5cbiAgdXBkYXRlVGltZShjdXJyZW50OiBEYXlqcywgdGltZTogRGF5anMpOiBEYXlqcyB7XG4gICAgY29uc3QgZGF5ID0gY3VycmVudCA/IGN1cnJlbnQgOiBkYXlqc1JlZigpO1xuXG4gICAgcmV0dXJuIGRheWpzUmVmKGRheS5mb3JtYXQoREFZX0ZPUk1BVCkgKyB0aW1lLmZvcm1hdChUSU1FX0ZPUk1BVCksIENPTUJJTkVEX0ZPUk1BVCk7XG4gIH1cbn1cbiJdfQ==