UNPKG

@bi8/am-dyn-form

Version:

ng update @angular/cli yarn add @angular/cli

133 lines 12.6 kB
import * as tslib_1 from "tslib"; import * as moment_ from 'moment'; var moment = moment_; export function DynMatchValidator(otherControlName) { var thisControl; var otherControl; return function matchOtherValidate(control) { if (!control.parent) { return null; } // Initializing the validator. if (!thisControl) { thisControl = control; otherControl = control.parent.get(otherControlName); if (!otherControl) { throw new Error('matchOtherValidator(): other control is not found in parent group'); } otherControl.valueChanges.subscribe(function () { thisControl.updateValueAndValidity(); }); } if (!otherControl) { return null; } if (otherControl.value !== thisControl.value) { return { match: true }; } return null; }; } export function BusinessLogicValidator() { return function matchOtherValidate(control) { if (!control.parent) { return null; } return null; }; } var TimeUtils = /** @class */ (function () { function TimeUtils() { } TimeUtils.parseTime = function (value) { var e_1, _a, e_2, _b; if (!value) { return null; } var formats = ['HH:mm', 'H:mm']; try { for (var formats_1 = tslib_1.__values(formats), formats_1_1 = formats_1.next(); !formats_1_1.done; formats_1_1 = formats_1.next()) { var format = formats_1_1.value; var dt = moment(value, format, true); if (dt.isValid()) { return { hours: dt.hours(), minutes: dt.minutes(), is24Hour: true }; } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (formats_1_1 && !formats_1_1.done && (_a = formats_1.return)) _a.call(formats_1); } finally { if (e_1) throw e_1.error; } } formats = ['hh:mm a', 'hh:mma', 'h:mm a', 'h:mma', 'h:m a', 'h:ma']; try { for (var formats_2 = tslib_1.__values(formats), formats_2_1 = formats_2.next(); !formats_2_1.done; formats_2_1 = formats_2.next()) { var format = formats_2_1.value; var dt = moment(value, format, true); if (dt.isValid()) { return { hours: dt.hours(), minutes: dt.minutes(), is24Hour: false }; } } } catch (e_2_1) { e_2 = { error: e_2_1 }; } finally { try { if (formats_2_1 && !formats_2_1.done && (_b = formats_2.return)) _b.call(formats_2); } finally { if (e_2) throw e_2.error; } } return null; }; TimeUtils.formatTime = function (date) { if (date) { return date.format('hh:mm a'); } else if (date) { return moment(date).format('hh:mm a'); } }; TimeUtils.applyTime = function (date, time) { if (date) { var md = date; md.hours(time.hours); md.minutes(time.minutes); } else if (date) { var md = moment(date); md.hours(time.hours); md.minutes(time.minutes); } }; return TimeUtils; }()); export { TimeUtils }; export function TimeValidator() { return function (control) { var value = control.value; if (value) { var td = TimeUtils.parseTime(value); if (td != null) { return null; } else { return { time: true }; } } else { return null; } }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluLXZhbGlkYXRvcnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYmk4L2FtLWR5bi1mb3JtLyIsInNvdXJjZXMiOlsiYXBwL21vZHVsZXMvYW0tZHluLWZvcm0vZHluLXZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQUt2QixNQUFNLFVBQVUsaUJBQWlCLENBQUUsZ0JBQXdCO0lBRXpELElBQUksV0FBd0IsQ0FBQztJQUM3QixJQUFJLFlBQXlCLENBQUM7SUFFOUIsT0FBTyxTQUFTLGtCQUFrQixDQUFFLE9BQW9CO1FBRXRELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ25CLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixXQUFXLEdBQUcsT0FBTyxDQUFDO1lBQ3RCLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBZ0IsQ0FBQztZQUNuRSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLG1FQUFtRSxDQUFDLENBQUM7YUFDdEY7WUFDRCxZQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQztnQkFDbEMsV0FBVyxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksWUFBWSxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQzVDLE9BQU87Z0JBQ0wsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDO1NBQ0g7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFN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QUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFDO2dCQUNiLE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUN2QjtTQUVGO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Rm9ybUNvbnRyb2wsIFZhbGlkYXRvckZufSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtEeW5Gb3JtQ29udHJvbH0gZnJvbSBcIi4vZHluLWZvcm0tY29udHJvbFwiO1xyXG5cclxuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xyXG5cclxuaW1wb3J0IGluZGV4IGZyb20gXCJAYW5ndWxhci9jbGkvbGliL2NsaVwiO1xyXG5pbXBvcnQge01vbWVudH0gZnJvbSBcIm1vbWVudFwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIER5bk1hdGNoVmFsaWRhdG9yIChvdGhlckNvbnRyb2xOYW1lOiBzdHJpbmcpIHtcclxuXHJcbiAgbGV0IHRoaXNDb250cm9sOiBGb3JtQ29udHJvbDtcclxuICBsZXQgb3RoZXJDb250cm9sOiBGb3JtQ29udHJvbDtcclxuXHJcbiAgcmV0dXJuIGZ1bmN0aW9uIG1hdGNoT3RoZXJWYWxpZGF0ZSAoY29udHJvbDogRm9ybUNvbnRyb2wpIHtcclxuXHJcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50KSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEluaXRpYWxpemluZyB0aGUgdmFsaWRhdG9yLlxyXG4gICAgaWYgKCF0aGlzQ29udHJvbCkge1xyXG4gICAgICB0aGlzQ29udHJvbCA9IGNvbnRyb2w7XHJcbiAgICAgIG90aGVyQ29udHJvbCA9IGNvbnRyb2wucGFyZW50LmdldChvdGhlckNvbnRyb2xOYW1lKSBhcyBGb3JtQ29udHJvbDtcclxuICAgICAgaWYgKCFvdGhlckNvbnRyb2wpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ21hdGNoT3RoZXJWYWxpZGF0b3IoKTogb3RoZXIgY29udHJvbCBpcyBub3QgZm91bmQgaW4gcGFyZW50IGdyb3VwJyk7XHJcbiAgICAgIH1cclxuICAgICAgb3RoZXJDb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXNDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFvdGhlckNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG90aGVyQ29udHJvbC52YWx1ZSAhPT0gdGhpc0NvbnRyb2wudmFsdWUpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBtYXRjaDogdHJ1ZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gQnVzaW5lc3NMb2dpY1ZhbGlkYXRvciAoKSB7XHJcbiAgcmV0dXJuIGZ1bmN0aW9uIG1hdGNoT3RoZXJWYWxpZGF0ZSAoY29udHJvbDogRm9ybUNvbnRyb2wpIHtcclxuICAgIGlmICghY29udHJvbC5wYXJlbnQpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGltZURhdGEge1xyXG4gIGhvdXJzOiBudW1iZXIsXHJcbiAgbWludXRlczogbnVtYmVyLFxyXG4gIGlzMjRIb3VyOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUaW1lVXRpbHMge1xyXG5cclxuICBzdGF0aWMgcGFyc2VUaW1lKHZhbHVlOiBzdHJpbmcpIDogVGltZURhdGEgIHtcclxuICAgIGlmICghdmFsdWUpe1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZm9ybWF0cyA9IFsgJ0hIOm1tJywgJ0g6bW0nXTtcclxuICAgIGZvciAobGV0IGZvcm1hdCBvZiBmb3JtYXRzKSB7XHJcbiAgICAgIGxldCBkdCA9IG1vbWVudCh2YWx1ZSwgZm9ybWF0LCB0cnVlKTtcclxuICAgICAgaWYgKGR0LmlzVmFsaWQoKSl7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGhvdXJzOiBkdC5ob3VycygpLFxyXG4gICAgICAgICAgbWludXRlczogZHQubWludXRlcygpLFxyXG4gICAgICAgICAgaXMyNEhvdXI6IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybWF0cyA9IFsgJ2hoOm1tIGEnLCAnaGg6bW1hJywgJ2g6bW0gYScsICdoOm1tYScsICdoOm0gYScsICdoOm1hJyBdO1xyXG4gICAgZm9yIChsZXQgZm9ybWF0IG9mIGZvcm1hdHMpIHtcclxuICAgICAgbGV0IGR0ID0gbW9tZW50KHZhbHVlLCBmb3JtYXQsIHRydWUpO1xyXG4gICAgICBpZiAoZHQuaXNWYWxpZCgpKXtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaG91cnM6IGR0LmhvdXJzKCksXHJcbiAgICAgICAgICBtaW51dGVzOiBkdC5taW51dGVzKCksXHJcbiAgICAgICAgICBpczI0SG91cjogZmFsc2VcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhdGljIGZvcm1hdFRpbWUoZGF0ZSA6IERhdGUgfCBNb21lbnQpIDogc3RyaW5nIHtcclxuICAgIGlmICg8TW9tZW50PiBkYXRlKXtcclxuICAgICAgcmV0dXJuICg8TW9tZW50PmRhdGUpLmZvcm1hdCgnaGg6bW0gYScpO1xyXG5cclxuICAgIH0gZWxzZSBpZiAoPERhdGU+IGRhdGUpe1xyXG4gICAgICByZXR1cm4gbW9tZW50KGRhdGUpLmZvcm1hdCgnaGg6bW0gYScpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGFwcGx5VGltZShkYXRlOiBEYXRlIHwgTW9tZW50LCB0aW1lOiBUaW1lRGF0YSkge1xyXG4gICAgaWYgKDxEYXRlPiBkYXRlKXtcclxuICAgICAgbGV0IG1kIDogTW9tZW50ID0gPE1vbWVudD4gZGF0ZTtcclxuICAgICAgbWQuaG91cnModGltZS5ob3Vycyk7XHJcbiAgICAgIG1kLm1pbnV0ZXModGltZS5taW51dGVzKTtcclxuXHJcbiAgICB9IGVsc2UgaWYgKDxEYXRlPiBkYXRlKXtcclxuICAgICAgbGV0IG1kIDogTW9tZW50ID0gbW9tZW50KDxEYXRlPiBkYXRlKTtcclxuICAgICAgbWQuaG91cnModGltZS5ob3Vycyk7XHJcbiAgICAgIG1kLm1pbnV0ZXModGltZS5taW51dGVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gVGltZVZhbGlkYXRvciAoKSA6IFZhbGlkYXRvckZuIHtcclxuICByZXR1cm4gKGNvbnRyb2w6IEZvcm1Db250cm9sKSA9PntcclxuICAgIGxldCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XHJcblxyXG4gICAgaWYgKHZhbHVlKXtcclxuICAgICAgbGV0IHRkIDogVGltZURhdGEgPSBUaW1lVXRpbHMucGFyc2VUaW1lKHZhbHVlKTtcclxuICAgICAgaWYgKHRkICE9IG51bGwpe1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB7IHRpbWU6IHRydWUgfTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=