ngx-material-timepicker
Version:
Handy material design timepicker for angular
46 lines • 7.95 kB
JavaScript
import * as tslib_1 from "tslib";
import { TimeAdapter } from '../services/time-adapter';
import { TimeFormat } from '../models/time-format.enum';
import { DateTime } from 'luxon';
export function getHours(format) {
return Array(format).fill(1).map(function (v, i) {
var angleStep = 30;
var time = v + i;
var angle = angleStep * time;
return { time: time === 24 ? 0 : time, angle: angle };
});
}
export function disableHours(hours, config) {
if (config.min || config.max) {
return hours.map(function (value) {
var hour = config.format === 24 ? value.time : TimeAdapter.formatHour(value.time, config.format, config.period);
var currentTime = DateTime.fromObject({ hour: hour }).toFormat(TimeFormat.TWELVE);
return tslib_1.__assign({}, value, { disabled: !TimeAdapter.isTimeAvailable(currentTime, config.min, config.max, 'hours') });
});
}
return hours;
}
export function getMinutes(gap) {
if (gap === void 0) { gap = 1; }
var minutesCount = 60;
var angleStep = 360 / minutesCount;
var minutes = [];
for (var i = 0; i < minutesCount; i++) {
var angle = angleStep * i;
if (i % gap === 0) {
minutes.push({ time: i, angle: angle !== 0 ? angle : 360 });
}
}
return minutes;
}
export function disableMinutes(minutes, selectedHour, config) {
if (config.min || config.max) {
var hour_1 = TimeAdapter.formatHour(selectedHour, config.format, config.period);
return minutes.map(function (value) {
var currentTime = DateTime.fromObject({ hour: hour_1, minute: value.time }).toFormat(TimeFormat.TWELVE);
return tslib_1.__assign({}, value, { disabled: !TimeAdapter.isTimeAvailable(currentTime, config.min, config.max, 'minutes') });
});
}
return minutes;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci10aW1lLnV0aWxzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1hdGVyaWFsLXRpbWVwaWNrZXIvIiwic291cmNlcyI6WyJzcmMvYXBwL21hdGVyaWFsLXRpbWVwaWNrZXIvdXRpbHMvdGltZXBpY2tlci10aW1lLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFHakMsTUFBTSxVQUFVLFFBQVEsQ0FBQyxNQUFjO0lBQ25DLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxJQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFNLEtBQUssR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQy9CLE9BQU8sRUFBQyxJQUFJLEVBQUUsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxPQUFBLEVBQUMsQ0FBQztJQUNqRCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQXNCLEVBQUUsTUFBMEI7SUFDM0UsSUFBSSxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFFMUIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQUEsS0FBSztZQUNsQixJQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xILElBQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBQyxJQUFJLE1BQUEsRUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU1RSw0QkFDTyxLQUFLLElBQ1IsUUFBUSxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUN0RjtRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFPO0lBQVAsb0JBQUEsRUFBQSxPQUFPO0lBQzlCLElBQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUN4QixJQUFNLFNBQVMsR0FBRyxHQUFHLEdBQUcsWUFBWSxDQUFDO0lBQ3JDLElBQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUVuQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ25DLElBQU0sS0FBSyxHQUFHLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRTtZQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUM7U0FDN0Q7S0FDSjtJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQXdCLEVBQUUsWUFBb0IsRUFBRSxNQUEwQjtJQUNyRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUUxQixJQUFNLE1BQUksR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVoRixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBQSxLQUFLO1lBQ3BCLElBQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBQyxJQUFJLFFBQUEsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVoRyw0QkFDTyxLQUFLLElBQ1IsUUFBUSxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxJQUN4RjtRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xvY2tGYWNlVGltZSB9IGZyb20gJy4uL21vZGVscy9jbG9jay1mYWNlLXRpbWUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRpbWVBZGFwdGVyIH0gZnJvbSAnLi4vc2VydmljZXMvdGltZS1hZGFwdGVyJztcbmltcG9ydCB7IFRpbWVGb3JtYXQgfSBmcm9tICcuLi9tb2RlbHMvdGltZS1mb3JtYXQuZW51bSc7XG5pbXBvcnQgeyBEaXNhYmxlZFRpbWVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGlzYWJsZWQtdGltZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIb3Vycyhmb3JtYXQ6IG51bWJlcik6IENsb2NrRmFjZVRpbWVbXSB7XG4gICAgcmV0dXJuIEFycmF5KGZvcm1hdCkuZmlsbCgxKS5tYXAoKHYsIGkpID0+IHtcbiAgICAgICAgY29uc3QgYW5nbGVTdGVwID0gMzA7XG4gICAgICAgIGNvbnN0IHRpbWUgPSB2ICsgaTtcbiAgICAgICAgY29uc3QgYW5nbGUgPSBhbmdsZVN0ZXAgKiB0aW1lO1xuICAgICAgICByZXR1cm4ge3RpbWU6IHRpbWUgPT09IDI0ID8gMCA6IHRpbWUsIGFuZ2xlfTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpc2FibGVIb3Vycyhob3VyczogQ2xvY2tGYWNlVGltZVtdLCBjb25maWc6IERpc2FibGVkVGltZUNvbmZpZyk6IENsb2NrRmFjZVRpbWVbXSB7XG4gICAgaWYgKGNvbmZpZy5taW4gfHwgY29uZmlnLm1heCkge1xuXG4gICAgICAgIHJldHVybiBob3Vycy5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgY29uc3QgaG91ciA9IGNvbmZpZy5mb3JtYXQgPT09IDI0ID8gdmFsdWUudGltZSA6IFRpbWVBZGFwdGVyLmZvcm1hdEhvdXIodmFsdWUudGltZSwgY29uZmlnLmZvcm1hdCwgY29uZmlnLnBlcmlvZCk7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VGltZSA9IERhdGVUaW1lLmZyb21PYmplY3Qoe2hvdXJ9KS50b0Zvcm1hdChUaW1lRm9ybWF0LlRXRUxWRSk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4udmFsdWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6ICFUaW1lQWRhcHRlci5pc1RpbWVBdmFpbGFibGUoY3VycmVudFRpbWUsIGNvbmZpZy5taW4sIGNvbmZpZy5tYXgsICdob3VycycpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGhvdXJzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWludXRlcyhnYXAgPSAxKTogQ2xvY2tGYWNlVGltZVtdIHtcbiAgICBjb25zdCBtaW51dGVzQ291bnQgPSA2MDtcbiAgICBjb25zdCBhbmdsZVN0ZXAgPSAzNjAgLyBtaW51dGVzQ291bnQ7XG4gICAgY29uc3QgbWludXRlcyA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtaW51dGVzQ291bnQ7IGkrKykge1xuICAgICAgICBjb25zdCBhbmdsZSA9IGFuZ2xlU3RlcCAqIGk7XG4gICAgICAgIGlmIChpICUgZ2FwID09PSAwKSB7XG4gICAgICAgICAgICBtaW51dGVzLnB1c2goe3RpbWU6IGksIGFuZ2xlOiBhbmdsZSAhPT0gMCA/IGFuZ2xlIDogMzYwfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG1pbnV0ZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkaXNhYmxlTWludXRlcyhtaW51dGVzOiBDbG9ja0ZhY2VUaW1lW10sIHNlbGVjdGVkSG91cjogbnVtYmVyLCBjb25maWc6IERpc2FibGVkVGltZUNvbmZpZykge1xuICAgIGlmIChjb25maWcubWluIHx8IGNvbmZpZy5tYXgpIHtcblxuICAgICAgICBjb25zdCBob3VyID0gVGltZUFkYXB0ZXIuZm9ybWF0SG91cihzZWxlY3RlZEhvdXIsIGNvbmZpZy5mb3JtYXQsIGNvbmZpZy5wZXJpb2QpO1xuXG4gICAgICAgIHJldHVybiBtaW51dGVzLm1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VGltZSA9IERhdGVUaW1lLmZyb21PYmplY3Qoe2hvdXIsIG1pbnV0ZTogdmFsdWUudGltZX0pLnRvRm9ybWF0KFRpbWVGb3JtYXQuVFdFTFZFKTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi52YWx1ZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZDogIVRpbWVBZGFwdGVyLmlzVGltZUF2YWlsYWJsZShjdXJyZW50VGltZSwgY29uZmlnLm1pbiwgY29uZmlnLm1heCwgJ21pbnV0ZXMnKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBtaW51dGVzO1xufVxuIl19