ngx-material-timepicker
Version:
Handy material design timepicker for angular
48 lines • 4.31 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @param {?} time
* @param {?} compareWith
* @param {?=} unit
* @return {?}
*/
export function isSameOrAfter(time, compareWith, unit = 'minutes') {
if (unit === 'hours') {
return time.hour >= compareWith.hour;
}
if (unit === 'minutes') {
return time.hasSame(compareWith, unit) || time.valueOf() > compareWith.valueOf();
}
}
/**
* @param {?} time
* @param {?} compareWith
* @param {?=} unit
* @return {?}
*/
export function isSameOrBefore(time, compareWith, unit = 'minutes') {
if (unit === 'hours') {
return time.hour <= compareWith.hour;
}
if (unit === 'minutes') {
return time.hasSame(compareWith, unit) || time.valueOf() <= compareWith.valueOf();
}
}
/**
* @param {?} time
* @param {?} before
* @param {?} after
* @param {?=} unit
* @return {?}
*/
export function isBetween(time, before, after, unit = 'minutes') {
if (unit === 'hours') {
return isSameOrBefore(time, after, unit) && isSameOrAfter(time, before, unit);
}
if (unit === 'minutes') {
return isSameOrBefore(time, after) && isSameOrAfter(time, before);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1tYXRlcmlhbC10aW1lcGlja2VyLyIsInNvdXJjZXMiOlsic3JjL2FwcC9tYXRlcmlhbC10aW1lcGlja2VyL3V0aWxzL3RpbWVwaWNrZXIudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUdBLE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBYyxFQUFFLFdBQXFCLEVBQUUsT0FBNEIsU0FBUztJQUN0RyxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUU7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUM7S0FDeEM7SUFDRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQ3BGO0FBQ0wsQ0FBQzs7Ozs7OztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsSUFBYyxFQUFFLFdBQXFCLEVBQUUsT0FBNEIsU0FBUztJQUN2RyxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUU7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUM7S0FDeEM7SUFDRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQ3JGO0FBQ0wsQ0FBQzs7Ozs7Ozs7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQWMsRUFBRSxNQUFnQixFQUFFLEtBQWUsRUFBRSxPQUE0QixTQUFTO0lBQzlHLElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRTtRQUNsQixPQUFPLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ2pGO0lBQ0QsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1FBQ3BCLE9BQU8sY0FBYyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ3JFO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NhbWVPckFmdGVyKHRpbWU6IERhdGVUaW1lLCBjb21wYXJlV2l0aDogRGF0ZVRpbWUsIHVuaXQ6ICdob3VycycgfCAnbWludXRlcycgPSAnbWludXRlcycpOiBib29sZWFuIHtcbiAgICBpZiAodW5pdCA9PT0gJ2hvdXJzJykge1xuICAgICAgICByZXR1cm4gdGltZS5ob3VyID49IGNvbXBhcmVXaXRoLmhvdXI7XG4gICAgfVxuICAgIGlmICh1bml0ID09PSAnbWludXRlcycpIHtcbiAgICAgICAgcmV0dXJuIHRpbWUuaGFzU2FtZShjb21wYXJlV2l0aCwgdW5pdCkgfHwgdGltZS52YWx1ZU9mKCkgPiBjb21wYXJlV2l0aC52YWx1ZU9mKCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTYW1lT3JCZWZvcmUodGltZTogRGF0ZVRpbWUsIGNvbXBhcmVXaXRoOiBEYXRlVGltZSwgdW5pdDogJ2hvdXJzJyB8ICdtaW51dGVzJyA9ICdtaW51dGVzJyk6IGJvb2xlYW4ge1xuICAgIGlmICh1bml0ID09PSAnaG91cnMnKSB7XG4gICAgICAgIHJldHVybiB0aW1lLmhvdXIgPD0gY29tcGFyZVdpdGguaG91cjtcbiAgICB9XG4gICAgaWYgKHVuaXQgPT09ICdtaW51dGVzJykge1xuICAgICAgICByZXR1cm4gdGltZS5oYXNTYW1lKGNvbXBhcmVXaXRoLCB1bml0KSB8fCB0aW1lLnZhbHVlT2YoKSA8PSBjb21wYXJlV2l0aC52YWx1ZU9mKCk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCZXR3ZWVuKHRpbWU6IERhdGVUaW1lLCBiZWZvcmU6IERhdGVUaW1lLCBhZnRlcjogRGF0ZVRpbWUsIHVuaXQ6ICdob3VycycgfCAnbWludXRlcycgPSAnbWludXRlcycpOiBib29sZWFuIHtcbiAgICBpZiAodW5pdCA9PT0gJ2hvdXJzJykge1xuICAgICAgICByZXR1cm4gaXNTYW1lT3JCZWZvcmUodGltZSwgYWZ0ZXIsIHVuaXQpICYmIGlzU2FtZU9yQWZ0ZXIodGltZSwgYmVmb3JlLCB1bml0KTtcbiAgICB9XG4gICAgaWYgKHVuaXQgPT09ICdtaW51dGVzJykge1xuICAgICAgICByZXR1cm4gaXNTYW1lT3JCZWZvcmUodGltZSwgYWZ0ZXIpICYmIGlzU2FtZU9yQWZ0ZXIodGltZSwgYmVmb3JlKTtcbiAgICB9XG59XG4iXX0=