UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

56 lines 10.5 kB
import { TextFieldValidation } from './models/text-field'; import { Component, Inject, Optional } from "@angular/core"; import { DATA_FIELD_PORTAL_DATA } from "../models/data-field-portal-data-injection-token"; import { AbstractBaseDataFieldComponent } from "../base-component/abstract-base-data-field.component"; import * as i0 from "@angular/core"; import * as i1 from "@ngx-translate/core"; export class AbstractTextErrorsComponent extends AbstractBaseDataFieldComponent { _translate; constructor(_translate, dataFieldPortalData) { super(dataFieldPortalData); this._translate = _translate; } buildErrorMessage(textField, formControlRef) { if (formControlRef.hasError(TextFieldValidation.REQUIRED)) { return this._translate.instant('dataField.validations.required'); } if (formControlRef.hasError(TextFieldValidation.VALID_MIN_LENGTH)) { return this.resolveErrorMessage(textField, TextFieldValidation.MIN_LENGTH, this._translate.instant('dataField.validations.minLength', { length: formControlRef.errors.minlength.requiredLength })); } if (formControlRef.hasError(TextFieldValidation.VALID_MAX_LENGTH)) { return this.resolveErrorMessage(textField, TextFieldValidation.MAX_LENGTH, this._translate.instant('dataField.validations.maxLength', { length: formControlRef.errors.maxlength.requiredLength })); } if (formControlRef.hasError(TextFieldValidation.PATTERN)) { return this.resolveErrorMessage(textField, TextFieldValidation.REGEX, this._translate.instant('dataField.validations.pattern')); } if (formControlRef.hasError(TextFieldValidation.VALID_TEL_NUMBER)) { return this.resolveErrorMessage(textField, TextFieldValidation.TEL_NUMBER, this._translate.instant('dataField.validations.phone')); } if (formControlRef.hasError(TextFieldValidation.EMAIL)) { return this.resolveErrorMessage(textField, TextFieldValidation.EMAIL, this._translate.instant('dataField.validations.email')); } return ''; } resolveErrorMessage(textField, search, generalMessage) { const validation = textField.validations.find(value => value.validationRule.includes(search)); if (validation.validationMessage && validation.validationMessage !== '') { return validation.validationMessage; } return generalMessage; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractTextErrorsComponent, deps: [{ token: i1.TranslateService }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractTextErrorsComponent, selector: "ncc-text-errors", usesInheritance: true, ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractTextErrorsComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-text-errors', template: '' }] }], ctorParameters: () => [{ type: i1.TranslateService }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DATA_FIELD_PORTAL_DATA] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGV4dC1lcnJvcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9kYXRhLWZpZWxkcy90ZXh0LWZpZWxkL2Fic3RyYWN0LXRleHQtZXJyb3JzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVksbUJBQW1CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUduRSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLHNCQUFzQixFQUFzQixNQUFNLGtEQUFrRCxDQUFDO0FBQzdHLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDOzs7QUFNcEcsTUFBTSxPQUFnQiwyQkFBaUQsU0FBUSw4QkFBaUM7SUFFNUU7SUFBaEMsWUFBZ0MsVUFBNEIsRUFDTSxtQkFBMkM7UUFDekcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFGQyxlQUFVLEdBQVYsVUFBVSxDQUFrQjtJQUc1RCxDQUFDO0lBRVMsaUJBQWlCLENBQUMsU0FBb0MsRUFBRSxjQUEyQjtRQUN6RixJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDdkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDL0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLFVBQVUsRUFDckUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsaUNBQWlDLEVBQUUsRUFBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdIO1FBQ0QsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDL0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLFVBQVUsRUFDckUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsaUNBQWlDLEVBQUUsRUFBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdIO1FBQ0QsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDO1NBQ25JO1FBQ0QsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDL0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQzNCLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsQ0FDcEcsQ0FBQztTQUNMO1FBQ0QsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3BELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDO1NBQ2pJO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRVMsbUJBQW1CLENBQUMsU0FBb0MsRUFBRSxNQUFjLEVBQUUsY0FBc0I7UUFDdEcsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzlGLElBQUksVUFBVSxDQUFDLGlCQUFpQixJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsS0FBSyxFQUFFLEVBQUU7WUFDckUsT0FBTyxVQUFVLENBQUMsaUJBQWlCLENBQUM7U0FDdkM7UUFDRCxPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO3dHQXZDaUIsMkJBQTJCLGtEQUdILHNCQUFzQjs0RkFIOUMsMkJBQTJCLDhFQUZuQyxFQUFFOzs0RkFFTSwyQkFBMkI7a0JBSmhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7OzBCQUkwQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VGV4dEZpZWxkLCBUZXh0RmllbGRWYWxpZGF0aW9ufSBmcm9tICcuL21vZGVscy90ZXh0LWZpZWxkJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1RleHRBcmVhRmllbGR9IGZyb20gJy4vbW9kZWxzL3RleHQtYXJlYS1maWVsZCc7XG5pbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7REFUQV9GSUVMRF9QT1JUQUxfREFUQSwgRGF0YUZpZWxkUG9ydGFsRGF0YX0gZnJvbSBcIi4uL21vZGVscy9kYXRhLWZpZWxkLXBvcnRhbC1kYXRhLWluamVjdGlvbi10b2tlblwiO1xuaW1wb3J0IHtBYnN0cmFjdEJhc2VEYXRhRmllbGRDb21wb25lbnR9IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudC9hYnN0cmFjdC1iYXNlLWRhdGEtZmllbGQuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLXRleHQtZXJyb3JzJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUZXh0RXJyb3JzQ29tcG9uZW50PFQgZXh0ZW5kcyBUZXh0RmllbGQ+IGV4dGVuZHMgQWJzdHJhY3RCYXNlRGF0YUZpZWxkQ29tcG9uZW50PFQ+e1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfRklFTERfUE9SVEFMX0RBVEEpIGRhdGFGaWVsZFBvcnRhbERhdGE6IERhdGFGaWVsZFBvcnRhbERhdGE8VD4pIHtcbiAgICAgICAgc3VwZXIoZGF0YUZpZWxkUG9ydGFsRGF0YSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1aWxkRXJyb3JNZXNzYWdlKHRleHRGaWVsZDogVGV4dEZpZWxkIHwgVGV4dEFyZWFGaWVsZCwgZm9ybUNvbnRyb2xSZWY6IEZvcm1Db250cm9sKSB7XG4gICAgICAgIGlmIChmb3JtQ29udHJvbFJlZi5oYXNFcnJvcihUZXh0RmllbGRWYWxpZGF0aW9uLlJFUVVJUkVEKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdkYXRhRmllbGQudmFsaWRhdGlvbnMucmVxdWlyZWQnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZm9ybUNvbnRyb2xSZWYuaGFzRXJyb3IoVGV4dEZpZWxkVmFsaWRhdGlvbi5WQUxJRF9NSU5fTEVOR1RIKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZUVycm9yTWVzc2FnZSh0ZXh0RmllbGQsIFRleHRGaWVsZFZhbGlkYXRpb24uTUlOX0xFTkdUSCxcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnZGF0YUZpZWxkLnZhbGlkYXRpb25zLm1pbkxlbmd0aCcsIHtsZW5ndGg6IGZvcm1Db250cm9sUmVmLmVycm9ycy5taW5sZW5ndGgucmVxdWlyZWRMZW5ndGh9KSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvcm1Db250cm9sUmVmLmhhc0Vycm9yKFRleHRGaWVsZFZhbGlkYXRpb24uVkFMSURfTUFYX0xFTkdUSCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVFcnJvck1lc3NhZ2UodGV4dEZpZWxkLCBUZXh0RmllbGRWYWxpZGF0aW9uLk1BWF9MRU5HVEgsXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ2RhdGFGaWVsZC52YWxpZGF0aW9ucy5tYXhMZW5ndGgnLCB7bGVuZ3RoOiBmb3JtQ29udHJvbFJlZi5lcnJvcnMubWF4bGVuZ3RoLnJlcXVpcmVkTGVuZ3RofSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtQ29udHJvbFJlZi5oYXNFcnJvcihUZXh0RmllbGRWYWxpZGF0aW9uLlBBVFRFUk4pKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlRXJyb3JNZXNzYWdlKHRleHRGaWVsZCwgVGV4dEZpZWxkVmFsaWRhdGlvbi5SRUdFWCwgdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ2RhdGFGaWVsZC52YWxpZGF0aW9ucy5wYXR0ZXJuJykpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmb3JtQ29udHJvbFJlZi5oYXNFcnJvcihUZXh0RmllbGRWYWxpZGF0aW9uLlZBTElEX1RFTF9OVU1CRVIpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlRXJyb3JNZXNzYWdlKFxuICAgICAgICAgICAgICAgIHRleHRGaWVsZCwgVGV4dEZpZWxkVmFsaWRhdGlvbi5URUxfTlVNQkVSLCB0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnZGF0YUZpZWxkLnZhbGlkYXRpb25zLnBob25lJylcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZvcm1Db250cm9sUmVmLmhhc0Vycm9yKFRleHRGaWVsZFZhbGlkYXRpb24uRU1BSUwpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlRXJyb3JNZXNzYWdlKHRleHRGaWVsZCwgVGV4dEZpZWxkVmFsaWRhdGlvbi5FTUFJTCwgdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ2RhdGFGaWVsZC52YWxpZGF0aW9ucy5lbWFpbCcpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc29sdmVFcnJvck1lc3NhZ2UodGV4dEZpZWxkOiBUZXh0RmllbGQgfCBUZXh0QXJlYUZpZWxkLCBzZWFyY2g6IHN0cmluZywgZ2VuZXJhbE1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICBjb25zdCB2YWxpZGF0aW9uID0gdGV4dEZpZWxkLnZhbGlkYXRpb25zLmZpbmQodmFsdWUgPT4gdmFsdWUudmFsaWRhdGlvblJ1bGUuaW5jbHVkZXMoc2VhcmNoKSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uLnZhbGlkYXRpb25NZXNzYWdlICYmIHZhbGlkYXRpb24udmFsaWRhdGlvbk1lc3NhZ2UgIT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvbi52YWxpZGF0aW9uTWVzc2FnZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2VuZXJhbE1lc3NhZ2U7XG4gICAgfVxufVxuIl19