UNPKG

ngx-custom-numeric-range-form-field

Version:
18 lines 3.63 kB
import { FormGroup } from '@angular/forms'; export class NumericRangeStateMatcher { isErrorState(control, form, minimumControlName = 'minimum', maximumControlName = 'maximum') { if (!control.parent && form instanceof FormGroup) { const minimumControl = form.get(minimumControlName); const maximumControl = form.get(maximumControlName); const isFormInvalid = form.touched && form.invalid; const areFormControlsInvalid = this.isControlTouchedInvalid(minimumControl) || this.isControlTouchedInvalid(maximumControl); return isFormInvalid || areFormControlsInvalid; } return control.touched && control.invalid; } isControlTouchedInvalid(control) { return control.touched && control.invalid; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy1yYW5nZS1zdGF0ZS1tYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW51bWVyaWMtcmFuZ2UtZm9ybS1maWVsZC9zcmMvbGliL2Zvcm0vbnVtZXJpYy1yYW5nZS1zdGF0ZS1tYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixTQUFTLEVBR1QsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixNQUFNLE9BQU8sd0JBQXdCO0lBQ3BDLFlBQVksQ0FDWCxPQUEyQixFQUMzQixJQUFvRCxFQUNwRCxrQkFBa0IsR0FBRyxTQUFTLEVBQzlCLGtCQUFrQixHQUFHLFNBQVM7UUFFOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxZQUFZLFNBQVMsRUFBRTtZQUNqRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFnQixDQUFDO1lBQ25FLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQWdCLENBQUM7WUFFbkUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO1lBRW5ELE1BQU0sc0JBQXNCLEdBQzNCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUM7Z0JBQzVDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUU5QyxPQUFPLGFBQWEsSUFBSSxzQkFBc0IsQ0FBQztTQUMvQztRQUVELE9BQU8sT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQzNDLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxPQUFvQjtRQUNuRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUMzQyxDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cdEZvcm1Db250cm9sLFxyXG5cdEZvcm1Hcm91cCxcclxuXHRGb3JtR3JvdXBEaXJlY3RpdmUsXHJcblx0TmdGb3JtXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNsYXNzIE51bWVyaWNSYW5nZVN0YXRlTWF0Y2hlciBpbXBsZW1lbnRzIEVycm9yU3RhdGVNYXRjaGVyIHtcclxuXHRpc0Vycm9yU3RhdGUoXHJcblx0XHRjb250cm9sOiBGb3JtQ29udHJvbCB8IG51bGwsXHJcblx0XHRmb3JtOiBGb3JtR3JvdXAgfCBGb3JtR3JvdXBEaXJlY3RpdmUgfCBOZ0Zvcm0gfCBudWxsLFxyXG5cdFx0bWluaW11bUNvbnRyb2xOYW1lID0gJ21pbmltdW0nLFxyXG5cdFx0bWF4aW11bUNvbnRyb2xOYW1lID0gJ21heGltdW0nXHJcblx0KTogYm9vbGVhbiB7XHJcblx0XHRpZiAoIWNvbnRyb2wucGFyZW50ICYmIGZvcm0gaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcclxuXHRcdFx0Y29uc3QgbWluaW11bUNvbnRyb2wgPSBmb3JtLmdldChtaW5pbXVtQ29udHJvbE5hbWUpIGFzIEZvcm1Db250cm9sO1xyXG5cdFx0XHRjb25zdCBtYXhpbXVtQ29udHJvbCA9IGZvcm0uZ2V0KG1heGltdW1Db250cm9sTmFtZSkgYXMgRm9ybUNvbnRyb2w7XHJcblxyXG5cdFx0XHRjb25zdCBpc0Zvcm1JbnZhbGlkID0gZm9ybS50b3VjaGVkICYmIGZvcm0uaW52YWxpZDtcclxuXHJcblx0XHRcdGNvbnN0IGFyZUZvcm1Db250cm9sc0ludmFsaWQgPVxyXG5cdFx0XHRcdHRoaXMuaXNDb250cm9sVG91Y2hlZEludmFsaWQobWluaW11bUNvbnRyb2wpIHx8XHJcblx0XHRcdFx0dGhpcy5pc0NvbnRyb2xUb3VjaGVkSW52YWxpZChtYXhpbXVtQ29udHJvbCk7XHJcblxyXG5cdFx0XHRyZXR1cm4gaXNGb3JtSW52YWxpZCB8fCBhcmVGb3JtQ29udHJvbHNJbnZhbGlkO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBjb250cm9sLnRvdWNoZWQgJiYgY29udHJvbC5pbnZhbGlkO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBpc0NvbnRyb2xUb3VjaGVkSW52YWxpZChjb250cm9sOiBGb3JtQ29udHJvbCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIGNvbnRyb2wudG91Y2hlZCAmJiBjb250cm9sLmludmFsaWQ7XHJcblx0fVxyXG59XHJcbiJdfQ==