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