UNPKG

1.68 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.Field = void 0;
4const clearArray_1 = require("./clearArray");
5const FieldFeedbackType_1 = require("./FieldFeedbackType");
6class Field {
7 constructor(name) {
8 this.name = name;
9 this.validations = [];
10 }
11 addOrReplaceValidation(validation) {
12 const i = this.validations.findIndex(_validation => _validation.key === validation.key);
13 if (i > -1)
14 this.validations[i] = validation;
15 else
16 this.validations.push(validation);
17 }
18 clearValidations() {
19 (0, clearArray_1.clearArray)(this.validations);
20 }
21 hasFeedbacksOfType(type, fieldFeedbacksKey) {
22 return this.validations.some(fieldFeedback => (fieldFeedbacksKey === undefined ||
23 fieldFeedback.key.startsWith(`${fieldFeedbacksKey}.`)) &&
24 fieldFeedback.type === type &&
25 fieldFeedback.show === true);
26 }
27 hasErrors(fieldFeedbacksKey) {
28 return this.hasFeedbacksOfType(FieldFeedbackType_1.FieldFeedbackType.Error, fieldFeedbacksKey);
29 }
30 hasWarnings(fieldFeedbacksKey) {
31 return this.hasFeedbacksOfType(FieldFeedbackType_1.FieldFeedbackType.Warning, fieldFeedbacksKey);
32 }
33 hasInfos(fieldFeedbacksKey) {
34 return this.hasFeedbacksOfType(FieldFeedbackType_1.FieldFeedbackType.Info, fieldFeedbacksKey);
35 }
36 hasFeedbacks(fieldFeedbacksKey) {
37 return (this.hasErrors(fieldFeedbacksKey) ||
38 this.hasWarnings(fieldFeedbacksKey) ||
39 this.hasInfos(fieldFeedbacksKey));
40 }
41 isValid() {
42 return !this.hasErrors();
43 }
44}
45exports.Field = Field;