UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

60 lines 11.3 kB
import { NumberFieldValidation } from './models/number-field'; import { Component, Inject, Optional } from '@angular/core'; import { AbstractBaseDataFieldComponent } from "../base-component/abstract-base-data-field.component"; import { DATA_FIELD_PORTAL_DATA } from "../models/data-field-portal-data-injection-token"; import * as i0 from "@angular/core"; import * as i1 from "@ngx-translate/core"; export class AbstractNumberErrorsComponent extends AbstractBaseDataFieldComponent { _translate; constructor(_translate, dataFieldPortalData) { super(dataFieldPortalData); this._translate = _translate; } getErrorMessage() { if (this.formControlRef.hasError(NumberFieldValidation.REQUIRED)) { return this._translate.instant('dataField.validations.required'); } if (this.formControlRef.hasError(NumberFieldValidation.VALID_ODD)) { return this.resolveErrorMessage(NumberFieldValidation.ODD, this._translate.instant('dataField.validations.odd')); } if (this.formControlRef.hasError(NumberFieldValidation.VALID_EVEN)) { return this.resolveErrorMessage(NumberFieldValidation.EVEN, this._translate.instant('dataField.validations.even')); } if (this.formControlRef.hasError(NumberFieldValidation.VALID_POSITIVE)) { return this.resolveErrorMessage(NumberFieldValidation.POSITIVE, this._translate.instant('dataField.validations.positive')); } if (this.formControlRef.hasError(NumberFieldValidation.VALID_NEGATIVE)) { return this.resolveErrorMessage(NumberFieldValidation.NEGATIVE, this._translate.instant('dataField.validations.negative')); } if (this.formControlRef.hasError(NumberFieldValidation.VALID_DECIMAL)) { return this.resolveErrorMessage(NumberFieldValidation.DECIMAL, this._translate.instant('dataField.validations.decimal')); } if (this.formControlRef.hasError(NumberFieldValidation.VALID_IN_RANGE)) { const tmp = this.dataField.validations.find(value => value.validationRule.includes(NumberFieldValidation.IN_RANGE)).validationRule.split(' '); return this.resolveErrorMessage(NumberFieldValidation.IN_RANGE, this._translate.instant('dataField.validations.inrange', { range: tmp[1] })); } return ''; } resolveErrorMessage(search, generalMessage) { const validation = this.dataField.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: AbstractNumberErrorsComponent, 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: AbstractNumberErrorsComponent, selector: "ncc-abstract-number-errors-field", usesInheritance: true, ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractNumberErrorsComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-abstract-number-errors-field', template: '' }] }], ctorParameters: () => [{ type: i1.TranslateService }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DATA_FIELD_PORTAL_DATA] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbnVtYmVyLWVycm9ycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2RhdGEtZmllbGRzL251bWJlci1maWVsZC9hYnN0cmFjdC1udW1iZXItZXJyb3JzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDcEcsT0FBTyxFQUFDLHNCQUFzQixFQUFzQixNQUFNLGtEQUFrRCxDQUFDOzs7QUFNN0csTUFBTSxPQUFnQiw2QkFBOEIsU0FBUSw4QkFBMkM7SUFFbkU7SUFBaEMsWUFBZ0MsVUFBNEIsRUFDTSxtQkFBcUQ7UUFDbkgsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFGQyxlQUFVLEdBQVYsVUFBVSxDQUFrQjtJQUc1RCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMvRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO1NBQ3BIO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNoRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDO1NBQ3RIO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNwRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO1NBQzlIO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNwRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO1NBQzlIO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNuRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDO1NBQzVIO1FBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNwRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDaEQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQ2hFLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FDM0IscUJBQXFCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLCtCQUErQixFQUFFLEVBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQzVHLENBQUM7U0FDTDtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQWMsRUFBRSxjQUFzQjtRQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ25HLElBQUksVUFBVSxDQUFDLGlCQUFpQixJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsS0FBSyxFQUFFLEVBQUU7WUFDckUsT0FBTyxVQUFVLENBQUMsaUJBQWlCLENBQUM7U0FDdkM7UUFDRCxPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO3dHQTNDaUIsNkJBQTZCLGtEQUdMLHNCQUFzQjs0RkFIOUMsNkJBQTZCLCtGQUZyQyxFQUFFOzs0RkFFTSw2QkFBNkI7a0JBSmxELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtDQUFrQztvQkFDNUMsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7OzBCQUkwQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TnVtYmVyRmllbGQsIE51bWJlckZpZWxkVmFsaWRhdGlvbn0gZnJvbSAnLi9tb2RlbHMvbnVtYmVyLWZpZWxkJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0QmFzZURhdGFGaWVsZENvbXBvbmVudH0gZnJvbSBcIi4uL2Jhc2UtY29tcG9uZW50L2Fic3RyYWN0LWJhc2UtZGF0YS1maWVsZC5jb21wb25lbnRcIjtcbmltcG9ydCB7REFUQV9GSUVMRF9QT1JUQUxfREFUQSwgRGF0YUZpZWxkUG9ydGFsRGF0YX0gZnJvbSBcIi4uL21vZGVscy9kYXRhLWZpZWxkLXBvcnRhbC1kYXRhLWluamVjdGlvbi10b2tlblwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1hYnN0cmFjdC1udW1iZXItZXJyb3JzLWZpZWxkJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3ROdW1iZXJFcnJvcnNDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEJhc2VEYXRhRmllbGRDb21wb25lbnQ8TnVtYmVyRmllbGQ+e1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEFfRklFTERfUE9SVEFMX0RBVEEpIGRhdGFGaWVsZFBvcnRhbERhdGE6IERhdGFGaWVsZFBvcnRhbERhdGE8TnVtYmVyRmllbGQ+KSB7XG4gICAgICAgIHN1cGVyKGRhdGFGaWVsZFBvcnRhbERhdGEpO1xuICAgIH1cblxuICAgIGdldEVycm9yTWVzc2FnZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2xSZWYuaGFzRXJyb3IoTnVtYmVyRmllbGRWYWxpZGF0aW9uLlJFUVVJUkVEKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdkYXRhRmllbGQudmFsaWRhdGlvbnMucmVxdWlyZWQnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbFJlZi5oYXNFcnJvcihOdW1iZXJGaWVsZFZhbGlkYXRpb24uVkFMSURfT0REKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZUVycm9yTWVzc2FnZShOdW1iZXJGaWVsZFZhbGlkYXRpb24uT0RELCB0aGlzLl90cmFuc2xhdGUuaW5zdGFudCgnZGF0YUZpZWxkLnZhbGlkYXRpb25zLm9kZCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbFJlZi5oYXNFcnJvcihOdW1iZXJGaWVsZFZhbGlkYXRpb24uVkFMSURfRVZFTikpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVFcnJvck1lc3NhZ2UoTnVtYmVyRmllbGRWYWxpZGF0aW9uLkVWRU4sIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdkYXRhRmllbGQudmFsaWRhdGlvbnMuZXZlbicpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbFJlZi5oYXNFcnJvcihOdW1iZXJGaWVsZFZhbGlkYXRpb24uVkFMSURfUE9TSVRJVkUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlRXJyb3JNZXNzYWdlKE51bWJlckZpZWxkVmFsaWRhdGlvbi5QT1NJVElWRSwgdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ2RhdGFGaWVsZC52YWxpZGF0aW9ucy5wb3NpdGl2ZScpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbFJlZi5oYXNFcnJvcihOdW1iZXJGaWVsZFZhbGlkYXRpb24uVkFMSURfTkVHQVRJVkUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZXNvbHZlRXJyb3JNZXNzYWdlKE51bWJlckZpZWxkVmFsaWRhdGlvbi5ORUdBVElWRSwgdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ2RhdGFGaWVsZC52YWxpZGF0aW9ucy5uZWdhdGl2ZScpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbFJlZi5oYXNFcnJvcihOdW1iZXJGaWVsZFZhbGlkYXRpb24uVkFMSURfREVDSU1BTCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVFcnJvck1lc3NhZ2UoTnVtYmVyRmllbGRWYWxpZGF0aW9uLkRFQ0lNQUwsIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdkYXRhRmllbGQudmFsaWRhdGlvbnMuZGVjaW1hbCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb3JtQ29udHJvbFJlZi5oYXNFcnJvcihOdW1iZXJGaWVsZFZhbGlkYXRpb24uVkFMSURfSU5fUkFOR0UpKSB7XG4gICAgICAgICAgICBjb25zdCB0bXAgPSB0aGlzLmRhdGFGaWVsZC52YWxpZGF0aW9ucy5maW5kKHZhbHVlID0+XG4gICAgICAgICAgICAgICAgdmFsdWUudmFsaWRhdGlvblJ1bGUuaW5jbHVkZXMoTnVtYmVyRmllbGRWYWxpZGF0aW9uLklOX1JBTkdFKVxuICAgICAgICAgICAgKS52YWxpZGF0aW9uUnVsZS5zcGxpdCgnICcpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZUVycm9yTWVzc2FnZShcbiAgICAgICAgICAgICAgICBOdW1iZXJGaWVsZFZhbGlkYXRpb24uSU5fUkFOR0UsIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdkYXRhRmllbGQudmFsaWRhdGlvbnMuaW5yYW5nZScsIHtyYW5nZTogdG1wWzFdfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHJlc29sdmVFcnJvck1lc3NhZ2Uoc2VhcmNoOiBzdHJpbmcsIGdlbmVyYWxNZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvbiA9IHRoaXMuZGF0YUZpZWxkLnZhbGlkYXRpb25zLmZpbmQodmFsdWUgPT4gdmFsdWUudmFsaWRhdGlvblJ1bGUuaW5jbHVkZXMoc2VhcmNoKSk7XG4gICAgICAgIGlmICh2YWxpZGF0aW9uLnZhbGlkYXRpb25NZXNzYWdlICYmIHZhbGlkYXRpb24udmFsaWRhdGlvbk1lc3NhZ2UgIT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvbi52YWxpZGF0aW9uTWVzc2FnZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2VuZXJhbE1lc3NhZ2U7XG4gICAgfVxufVxuIl19