ngx-mat-lib
Version:
A bunch of utilities and components to use in your Angular 7+ apps!
54 lines (53 loc) • 5.4 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
/**
* @param {?} control
* @return {?}
*/
export function xmatTimeInputValidation(control) {
/** @type {?} */
const errorKey = "xmatTimeInputValidation";
/** @type {?} */
let error = null;
/** @type {?} */
const count = control.value.hours + control.value.minutes;
if (count.length > 0 && count.length < 4) {
error = { [errorKey]: true };
}
return error;
}
/**
* @param {?} minTime
* @return {?}
*/
export function xmatMinTimeValidation(minTime) {
return (control) => {
/** @type {?} */
const value = /** @type {?} */ (control.value);
if (!value) {
return null;
}
/** @type {?} */
const hasError = value.hours < minTime.hours || (value.hours === minTime.hours && value.minutes < minTime.minutes);
return hasError ? { "xmatTooEarly": { value: control.value } } : null;
};
}
/**
* @param {?} maxTime
* @return {?}
*/
export function xmatMaxTimeValidation(maxTime) {
return (control) => {
/** @type {?} */
const value = /** @type {?} */ (control.value);
if (!value) {
return null;
}
/** @type {?} */
const hasError = value.hours > maxTime.hours || (value.hours === maxTime.hours && value.minutes > maxTime.minutes);
return hasError ? { "xmatTooLate": { value: control.value } } : null;
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1hdC10aW1lLWlucHV0LnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1tYXQtbGliLyIsInNvdXJjZXMiOlsibGliL3ZhbGlkYXRvcnMveG1hdC10aW1lLWlucHV0LnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUF3Qjs7SUFDNUQsTUFBTSxRQUFRLEdBQUcseUJBQXlCLENBQUM7O0lBQzNDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQzs7SUFDakIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDMUQsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN0QyxLQUFLLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0tBQ2hDO0lBRUQsT0FBTyxLQUFLLENBQUM7Q0FDaEI7Ozs7O0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLE9BQWlCO0lBRW5ELE9BQU8sQ0FBQyxPQUF3QixFQUEwQixFQUFFOztRQUN4RCxNQUFNLEtBQUsscUJBQUcsT0FBTyxDQUFDLEtBQWlCLEVBQUM7UUFDeEMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7O1FBQ0QsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ILE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0tBQ3pFLENBQUM7Q0FDTDs7Ozs7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsT0FBaUI7SUFFbkQsT0FBTyxDQUFDLE9BQXdCLEVBQTBCLEVBQUU7O1FBQ3hELE1BQU0sS0FBSyxxQkFBRyxPQUFPLENBQUMsS0FBaUIsRUFBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUM7U0FDZjs7UUFDRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkgsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7S0FDeEUsQ0FBQztDQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgWG1hdEdlbmVyaWNPYmplY3QsIFhtYXRUaW1lIH0gZnJvbSBcIi4uL21vZGVscy9pbmRleFwiO1xuXG5leHBvcnQgZnVuY3Rpb24geG1hdFRpbWVJbnB1dFZhbGlkYXRpb24oY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogWG1hdEdlbmVyaWNPYmplY3Qge1xuICAgIGNvbnN0IGVycm9yS2V5ID0gXCJ4bWF0VGltZUlucHV0VmFsaWRhdGlvblwiO1xuICAgIGxldCBlcnJvciA9IG51bGw7XG4gICAgY29uc3QgY291bnQgPSBjb250cm9sLnZhbHVlLmhvdXJzICsgY29udHJvbC52YWx1ZS5taW51dGVzO1xuICAgIGlmIChjb3VudC5sZW5ndGggPiAwICYmIGNvdW50Lmxlbmd0aCA8IDQpIHtcbiAgICAgICAgZXJyb3IgPSB7IFtlcnJvcktleV06IHRydWUgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXJyb3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB4bWF0TWluVGltZVZhbGlkYXRpb24obWluVGltZTogWG1hdFRpbWUpOiBWYWxpZGF0b3JGbiB7XG5cbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWUgYXMgWG1hdFRpbWU7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhhc0Vycm9yID0gdmFsdWUuaG91cnMgPCBtaW5UaW1lLmhvdXJzIHx8ICh2YWx1ZS5ob3VycyA9PT0gbWluVGltZS5ob3VycyAmJiB2YWx1ZS5taW51dGVzIDwgbWluVGltZS5taW51dGVzKTtcbiAgICAgICAgcmV0dXJuIGhhc0Vycm9yID8geyBcInhtYXRUb29FYXJseVwiOiB7IHZhbHVlOiBjb250cm9sLnZhbHVlIH0gfSA6IG51bGw7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHhtYXRNYXhUaW1lVmFsaWRhdGlvbihtYXhUaW1lOiBYbWF0VGltZSk6IFZhbGlkYXRvckZuIHtcblxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZSBhcyBYbWF0VGltZTtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaGFzRXJyb3IgPSB2YWx1ZS5ob3VycyA+IG1heFRpbWUuaG91cnMgfHwgKHZhbHVlLmhvdXJzID09PSBtYXhUaW1lLmhvdXJzICYmIHZhbHVlLm1pbnV0ZXMgPiBtYXhUaW1lLm1pbnV0ZXMpO1xuICAgICAgICByZXR1cm4gaGFzRXJyb3IgPyB7IFwieG1hdFRvb0xhdGVcIjogeyB2YWx1ZTogY29udHJvbC52YWx1ZSB9IH0gOiBudWxsO1xuICAgIH07XG59XG4iXX0=