UNPKG

ngx-material-timepicker-decon

Version:
78 lines 8.42 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { TimeAdapter } from '../services/time-adapter'; import { TimeFormat } from '../models/time-format.enum'; import { DateTime } from 'luxon'; /** * @param {?} format * @return {?} */ export function getHours(format) { return Array(format).fill(1).map((v, i) => { /** @type {?} */ const angleStep = 30; /** @type {?} */ const time = v + i; /** @type {?} */ const angle = angleStep * time; return { time: time === 24 ? 0 : time, angle }; }); } /** * @param {?} hours * @param {?} config * @return {?} */ export function disableHours(hours, config) { if (config.min || config.max) { return hours.map(value => { /** @type {?} */ const hour = config.format === 24 ? value.time : TimeAdapter.formatHour(value.time, config.format, config.period); /** @type {?} */ const currentTime = DateTime.fromObject({ hour }).toFormat(TimeFormat.TWELVE); return Object.assign({}, value, { disabled: !TimeAdapter.isTimeAvailable(currentTime, config.min, config.max, 'hours') }); }); } return hours; } /** * @param {?=} gap * @return {?} */ export function getMinutes(gap = 1) { /** @type {?} */ const minutesCount = 60; /** @type {?} */ const angleStep = 360 / minutesCount; /** @type {?} */ const minutes = []; for (let i = 0; i < minutesCount; i++) { /** @type {?} */ const angle = angleStep * i; if (i % gap === 0) { minutes.push({ time: i, angle: angle !== 0 ? angle : 360 }); } } return minutes; } /** * @param {?} minutes * @param {?} selectedHour * @param {?} config * @return {?} */ export function disableMinutes(minutes, selectedHour, config) { if (config.min || config.max) { /** @type {?} */ const hour = TimeAdapter.formatHour(selectedHour, config.format, config.period); return minutes.map(value => { /** @type {?} */ const currentTime = DateTime.fromObject({ hour, minute: value.time }).toFormat(TimeFormat.TWELVE); return Object.assign({}, value, { disabled: !TimeAdapter.isTimeAvailable(currentTime, config.min, config.max, 'minutes') }); }); } return minutes; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci10aW1lLnV0aWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1hdGVyaWFsLXRpbWVwaWNrZXItZGVjb24vIiwic291cmNlcyI6WyJzcmMvYXBwL21hdGVyaWFsLXRpbWVwaWNrZXIvdXRpbHMvdGltZXBpY2tlci10aW1lLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7Ozs7O0FBR2pDLE1BQU0sVUFBVSxRQUFRLENBQUMsTUFBYztJQUNuQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFOztjQUNoQyxTQUFTLEdBQUcsRUFBRTs7Y0FDZCxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUM7O2NBQ1osS0FBSyxHQUFHLFNBQVMsR0FBRyxJQUFJO1FBQzlCLE9BQU8sRUFBQyxJQUFJLEVBQUUsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUM7SUFDakQsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDOzs7Ozs7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQXNCLEVBQUUsTUFBMEI7SUFDM0UsSUFBSSxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFFMUIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFOztrQkFDZixJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUM7O2tCQUMzRyxXQUFXLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFDLElBQUksRUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFFM0UseUJBQ08sS0FBSyxJQUNSLFFBQVEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFDdEY7UUFDTixDQUFDLENBQUMsQ0FBQztLQUNOO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQzs7Ozs7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDOztVQUN4QixZQUFZLEdBQUcsRUFBRTs7VUFDakIsU0FBUyxHQUFHLEdBQUcsR0FBRyxZQUFZOztVQUM5QixPQUFPLEdBQUcsRUFBRTtJQUVsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFFOztjQUM3QixLQUFLLEdBQUcsU0FBUyxHQUFHLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRTtZQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUM7U0FDN0Q7S0FDSjtJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQXdCLEVBQUUsWUFBb0IsRUFBRSxNQUEwQjtJQUNyRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRTs7Y0FFcEIsSUFBSSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUUvRSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7O2tCQUNqQixXQUFXLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFFL0YseUJBQ08sS0FBSyxJQUNSLFFBQVEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFDeEY7UUFDTixDQUFDLENBQUMsQ0FBQztLQUNOO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsb2NrRmFjZVRpbWUgfSBmcm9tICcuLi9tb2RlbHMvY2xvY2stZmFjZS10aW1lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUaW1lQWRhcHRlciB9IGZyb20gJy4uL3NlcnZpY2VzL3RpbWUtYWRhcHRlcic7XG5pbXBvcnQgeyBUaW1lRm9ybWF0IH0gZnJvbSAnLi4vbW9kZWxzL3RpbWUtZm9ybWF0LmVudW0nO1xuaW1wb3J0IHsgRGlzYWJsZWRUaW1lQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2Rpc2FibGVkLXRpbWUtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gJ2x1eG9uJztcblxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SG91cnMoZm9ybWF0OiBudW1iZXIpOiBDbG9ja0ZhY2VUaW1lW10ge1xuICAgIHJldHVybiBBcnJheShmb3JtYXQpLmZpbGwoMSkubWFwKCh2LCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IGFuZ2xlU3RlcCA9IDMwO1xuICAgICAgICBjb25zdCB0aW1lID0gdiArIGk7XG4gICAgICAgIGNvbnN0IGFuZ2xlID0gYW5nbGVTdGVwICogdGltZTtcbiAgICAgICAgcmV0dXJuIHt0aW1lOiB0aW1lID09PSAyNCA/IDAgOiB0aW1lLCBhbmdsZX07XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkaXNhYmxlSG91cnMoaG91cnM6IENsb2NrRmFjZVRpbWVbXSwgY29uZmlnOiBEaXNhYmxlZFRpbWVDb25maWcpOiBDbG9ja0ZhY2VUaW1lW10ge1xuICAgIGlmIChjb25maWcubWluIHx8IGNvbmZpZy5tYXgpIHtcblxuICAgICAgICByZXR1cm4gaG91cnMubWFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGhvdXIgPSBjb25maWcuZm9ybWF0ID09PSAyNCA/IHZhbHVlLnRpbWUgOiBUaW1lQWRhcHRlci5mb3JtYXRIb3VyKHZhbHVlLnRpbWUsIGNvbmZpZy5mb3JtYXQsIGNvbmZpZy5wZXJpb2QpO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFRpbWUgPSBEYXRlVGltZS5mcm9tT2JqZWN0KHtob3VyfSkudG9Gb3JtYXQoVGltZUZvcm1hdC5UV0VMVkUpO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLnZhbHVlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkOiAhVGltZUFkYXB0ZXIuaXNUaW1lQXZhaWxhYmxlKGN1cnJlbnRUaW1lLCBjb25maWcubWluLCBjb25maWcubWF4LCAnaG91cnMnKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBob3Vycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pbnV0ZXMoZ2FwID0gMSk6IENsb2NrRmFjZVRpbWVbXSB7XG4gICAgY29uc3QgbWludXRlc0NvdW50ID0gNjA7XG4gICAgY29uc3QgYW5nbGVTdGVwID0gMzYwIC8gbWludXRlc0NvdW50O1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWludXRlc0NvdW50OyBpKyspIHtcbiAgICAgICAgY29uc3QgYW5nbGUgPSBhbmdsZVN0ZXAgKiBpO1xuICAgICAgICBpZiAoaSAlIGdhcCA9PT0gMCkge1xuICAgICAgICAgICAgbWludXRlcy5wdXNoKHt0aW1lOiBpLCBhbmdsZTogYW5nbGUgIT09IDAgPyBhbmdsZSA6IDM2MH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtaW51dGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlzYWJsZU1pbnV0ZXMobWludXRlczogQ2xvY2tGYWNlVGltZVtdLCBzZWxlY3RlZEhvdXI6IG51bWJlciwgY29uZmlnOiBEaXNhYmxlZFRpbWVDb25maWcpIHtcbiAgICBpZiAoY29uZmlnLm1pbiB8fCBjb25maWcubWF4KSB7XG5cbiAgICAgICAgY29uc3QgaG91ciA9IFRpbWVBZGFwdGVyLmZvcm1hdEhvdXIoc2VsZWN0ZWRIb3VyLCBjb25maWcuZm9ybWF0LCBjb25maWcucGVyaW9kKTtcblxuICAgICAgICByZXR1cm4gbWludXRlcy5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFRpbWUgPSBEYXRlVGltZS5mcm9tT2JqZWN0KHtob3VyLCBtaW51dGU6IHZhbHVlLnRpbWV9KS50b0Zvcm1hdChUaW1lRm9ybWF0LlRXRUxWRSk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4udmFsdWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6ICFUaW1lQWRhcHRlci5pc1RpbWVBdmFpbGFibGUoY3VycmVudFRpbWUsIGNvbmZpZy5taW4sIGNvbmZpZy5tYXgsICdtaW51dGVzJylcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbWludXRlcztcbn1cbiJdfQ==