UNPKG

ontimize-web-ngx

Version:
72 lines 12.6 kB
import { O_MAT_ERROR_OPTIONS } from '../injection-tokens'; import { Codes } from './codes'; import { Util } from './util'; export class ErrorsUtils { static getErrorOptions(injector) { const result = injector.get(O_MAT_ERROR_OPTIONS, {}); if (!Util.isDefined(result.type)) { result.type = Codes.O_MAT_ERROR_STANDARD; } return result; } static getErrorsTooltipText(comp) { let errorsText = []; if (comp.oMatErrorChildren && comp.oMatErrorChildren.length > 0) { errorsText.push(...comp.oMatErrorChildren .filter((oMatError) => Util.isDefined(oMatError.text)) .map((oMatError) => oMatError.text)); } if (comp.errorsData && comp.errorsData.length > 0) { errorsText.push(...comp.errorsData .filter((item) => comp.hasError(item.name)) .map((item) => item.text)); } return errorsText.join('\n'); } static getTooltipClasses(comp) { let result = `o-tooltip ${comp.tooltipPosition}`; const liteError = comp.errorOptions.type === Codes.O_MAT_ERROR_LITE; if (!liteError) { return result; } const formControl = comp.getFormControl(); const errorClass = Util.isDefined(formControl) && Util.isDefined(formControl.errors) ? 'o-mat-error' : ''; return `${result} ${errorClass}`; } static updateFormControlValidators(comp) { const formControl = comp.getFormControl(); if (!formControl) { return; } formControl.clearValidators(); const validators = comp.resolveValidators(); const asyncValidators = comp.resolveAsyncValidators(); if (comp.validatorChildren) { comp.validatorChildren.forEach((oValidator) => { const validatorFunction = oValidator.getValidatorFn(); if (validatorFunction) { validators.push(validatorFunction); } const asyncValidatorFunction = oValidator.getAsyncValidatorFn(); if (asyncValidatorFunction) { asyncValidators.push(asyncValidatorFunction); } const errorsData = oValidator.getErrorsData(); comp.errorsData.push(...errorsData); }); } formControl.setValidators(validators); formControl.setAsyncValidators(asyncValidators); formControl.updateValueAndValidity({ emitEvent: false }); } static getActiveOErrors(comp) { if (comp.errorOptions.type === Codes.O_MAT_ERROR_STANDARD) { return comp.errorsData.filter((item) => comp.hasError(item.name)); } return []; } static pushToErrorsData(comp, newErrorsData = []) { comp.errorsData.push(...newErrorsData.filter(err => !comp.errorsData.find(existingError => existingError.name === err.name))); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3V0aWwvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQWtCOUIsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFrQjtRQUN2QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQyxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxvQkFBcUMsQ0FBQztTQUMzRDtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBMEM7UUFDcEUsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQy9ELFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCO2lCQUN0QyxNQUFNLENBQUMsQ0FBQyxTQUE2QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDekUsR0FBRyxDQUFDLENBQUMsU0FBNkIsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDNUQ7UUFDRCxJ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LEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDOUU7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBMEMsRUFBRSxnQkFBNkIsRUFBRTtRQUVqRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hJLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT19NQVRfRVJST1JfT1BUSU9OUyB9IGZyb20gJy4uL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgT01hdEVycm9yT3B0aW9ucywgT01hdEVycm9yVHlwZSB9IGZyb20gJy4uL3R5cGVzL28tbWF0LWVycm9yLnR5cGUnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuL2NvZGVzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgQXN5bmNWYWxpZGF0b3JGbiwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JEYXRhIH0gZnJvbSAnLi4vdHlwZXMvZXJyb3ItZGF0YS50eXBlJztcbmltcG9ydCB7IE9WYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvY29tcG9uZW50cy92YWxpZGF0aW9uL28tdmFsaWRhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPTWF0RXJyb3JEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL28tbWF0LWVycm9yLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50V2l0aFZhbGlkYXRvcnNBbmRFcnJvcnNEYXRhIHtcbiAgZXJyb3JPcHRpb25zOiBPTWF0RXJyb3JPcHRpb25zO1xuICBlcnJvcnNEYXRhOiBFcnJvckRhdGFbXTtcbiAgdmFsaWRhdG9yQ2hpbGRyZW46IFF1ZXJ5TGlzdDxPVmFsaWRhdG9yQ29tcG9uZW50PjtcbiAgb01hdEVycm9yQ2hpbGRyZW46IFF1ZXJ5TGlzdDxPTWF0RXJyb3JEaXJlY3RpdmU+O1xuICB0b29sdGlwUG9zaXRpb246IHN0cmluZztcbiAgZ2V0Rm9ybUNvbnRyb2woKTogRm9ybUNvbnRyb2w7XG4gIHJlc29sdmVWYWxpZGF0b3JzOiAoKSA9PiBWYWxpZGF0b3JGbltdO1xuICByZXNvbHZlQXN5bmNWYWxpZGF0b3JzOiAoKSA9PiBBc3luY1ZhbGlkYXRvckZuW107XG4gIGhhc0Vycm9yOiAoZXJyb3I6IHN0cmluZykgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIEVycm9yc1V0aWxzIHtcbiAgc3RhdGljIGdldEVycm9yT3B0aW9ucyhpbmplY3RvcjogSW5qZWN0b3IpOiBPTWF0RXJyb3JPcHRpb25zIHtcbiAgICBjb25zdCByZXN1bHQgPSBpbmplY3Rvci5nZXQoT19NQVRfRVJST1JfT1BUSU9OUywge30pO1xuXG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZChyZXN1bHQudHlwZSkpIHtcbiAgICAgIHJlc3VsdC50eXBlID0gQ29kZXMuT19NQVRfRVJST1JfU1RBTkRBUkQgYXMgT01hdEVycm9yVHlwZTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRFcnJvcnNUb29sdGlwVGV4dChjb21wOiBDb21wb25lbnRXaXRoVmFsaWRhdG9yc0FuZEVycm9yc0RhdGEpOiBzdHJpbmcge1xuICAgIGxldCBlcnJvcnNUZXh0ID0gW107XG4gICAgaWYgKGNvbXAub01hdEVycm9yQ2hpbGRyZW4gJiYgY29tcC5vTWF0RXJyb3JDaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICBlcnJvcnNUZXh0LnB1c2goLi4uY29tcC5vTWF0RXJyb3JDaGlsZHJlblxuICAgICAgICAuZmlsdGVyKChvTWF0RXJyb3I6IE9NYXRFcnJvckRpcmVjdGl2ZSkgPT4gVXRpbC5pc0RlZmluZWQob01hdEVycm9yLnRleHQpKVxuICAgICAgICAubWFwKChvTWF0RXJyb3I6IE9NYXRFcnJvckRpcmVjdGl2ZSkgPT4gb01hdEVycm9yLnRleHQpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAuZXJyb3JzRGF0YSAmJiBjb21wLmVycm9yc0RhdGEubGVuZ3RoID4gMCkge1xuICAgICAgZXJyb3JzVGV4dC5wdXNoKC4uLmNvbXAuZXJyb3JzRGF0YVxuICAgICAgICAuZmlsdGVyKChpdGVtOiBFcnJvckRhdGEpID0+IGNvbXAuaGFzRXJyb3IoaXRlbS5uYW1lKSlcbiAgICAgICAgLm1hcCgoaXRlbTogRXJyb3JEYXRhKSA9PiBpdGVtLnRleHQpKTtcbiAgICB9XG4gICAgcmV0dXJuIGVycm9yc1RleHQuam9pbignXFxuJyk7XG4gIH1cblxuICBzdGF0aWMgZ2V0VG9vbHRpcENsYXNzZXMoY29tcDogQ29tcG9uZW50V2l0aFZhbGlkYXRvcnNBbmRFcnJvcnNEYXRhKTogc3RyaW5nIHtcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmcgPSBgby10b29sdGlwICR7Y29tcC50b29sdGlwUG9zaXRpb259YDtcbiAgICBjb25zdCBsaXRlRXJyb3IgPSBjb21wLmVycm9yT3B0aW9ucy50eXBlID09PSBDb2Rlcy5PX01BVF9FUlJPUl9MSVRFO1xuICAgIGlmICghbGl0ZUVycm9yKSB7XG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuICAgIGNvbnN0IGZvcm1Db250cm9sID0gY29tcC5nZXRGb3JtQ29udHJvbCgpO1xuICAgIGNvbnN0IGVycm9yQ2xhc3MgPSBVdGlsLmlzRGVmaW5lZChmb3JtQ29udHJvbCkgJiYgVXRpbC5pc0RlZmluZWQoZm9ybUNvbnRyb2wuZXJyb3JzKSA/ICdvLW1hdC1lcnJvcicgOiAnJztcbiAgICByZXR1cm4gYCR7cmVzdWx0fSAke2Vycm9yQ2xhc3N9YDtcbiAgfVxuXG4gIHN0YXRpYyB1cGRhdGVGb3JtQ29udHJvbFZhbGlkYXRvcnMoY29tcDogQ29tcG9uZW50V2l0aFZhbGlkYXRvcnNBbmRFcnJvcnNEYXRhKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSBjb21wLmdldEZvcm1Db250cm9sKCk7XG4gICAgaWYgKCFmb3JtQ29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gY29tcC5yZXNvbHZlVmFsaWRhdG9ycygpO1xuICAgIGNvbnN0IGFzeW5jVmFsaWRhdG9ycyA9IGNvbXAucmVzb2x2ZUFzeW5jVmFsaWRhdG9ycygpO1xuICAgIGlmIChjb21wLnZhbGlkYXRvckNoaWxkcmVuKSB7XG4gICAgICBjb21wLnZhbGlkYXRvckNoaWxkcmVuLmZvckVhY2goKG9WYWxpZGF0b3I6IE9WYWxpZGF0b3JDb21wb25lbnQpID0+IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yRnVuY3Rpb246IFZhbGlkYXRvckZuID0gb1ZhbGlkYXRvci5nZXRWYWxpZGF0b3JGbigpO1xuICAgICAgICBpZiAodmFsaWRhdG9yRnVuY3Rpb24pIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2godmFsaWRhdG9yRnVuY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFzeW5jVmFsaWRhdG9yRnVuY3Rpb246IEFzeW5jVmFsaWRhdG9yRm4gPSBvVmFsaWRhdG9yLmdldEFzeW5jVmFsaWRhdG9yRm4oKTtcbiAgICAgICAgaWYgKGFzeW5jVmFsaWRhdG9yRnVuY3Rpb24pIHtcbiAgICAgICAgICBhc3luY1ZhbGlkYXRvcnMucHVzaChhc3luY1ZhbGlkYXRvckZ1bmN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlcnJvcnNEYXRhOiBFcnJvckRhdGFbXSA9IG9WYWxpZGF0b3IuZ2V0RXJyb3JzRGF0YSgpO1xuICAgICAgICBjb21wLmVycm9yc0RhdGEucHVzaCguLi5lcnJvcnNEYXRhKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBmb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgIGZvcm1Db250cm9sLnNldEFzeW5jVmFsaWRhdG9ycyhhc3luY1ZhbGlkYXRvcnMpO1xuICAgIGZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgc3RhdGljIGdldEFjdGl2ZU9FcnJvcnMoY29tcDogQ29tcG9uZW50V2l0aFZhbGlkYXRvcnNBbmRFcnJvcnNEYXRhKTogRXJyb3JEYXRhW10ge1xuICAgIGlmIChjb21wLmVycm9yT3B0aW9ucy50eXBlID09PSBDb2Rlcy5PX01BVF9FUlJPUl9TVEFOREFSRCkge1xuICAgICAgcmV0dXJuIGNvbXAuZXJyb3JzRGF0YS5maWx0ZXIoKGl0ZW06IEVycm9yRGF0YSkgPT4gY29tcC5oYXNFcnJvcihpdGVtLm5hbWUpKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgc3RhdGljIHB1c2hUb0Vycm9yc0RhdGEoY29tcDogQ29tcG9uZW50V2l0aFZhbGlkYXRvcnNBbmRFcnJvcnNEYXRhLCBuZXdFcnJvcnNEYXRhOiBFcnJvckRhdGFbXSA9IFtdKTogdm9pZCB7XG4gICAgLy8gYXZvaWQgcHVzaGluZyByZXBlYXRlZCBlcnJvcnMgZGF0YVxuICAgIGNvbXAuZXJyb3JzRGF0YS5wdXNoKC4uLm5ld0Vycm9yc0RhdGEuZmlsdGVyKGVyciA9PiAhY29tcC5lcnJvcnNEYXRhLmZpbmQoZXhpc3RpbmdFcnJvciA9PiBleGlzdGluZ0Vycm9yLm5hbWUgPT09IGVyci5uYW1lKSkpO1xuICB9XG59XG5cbiJdfQ==