@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
56 lines • 10.5 kB
JavaScript
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