@roqua/quby-frontend 0.4.3 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/lib/components/AnswerPage.js +26 -49
- package/lib/components/AnswerPage.js.map +1 -1
- package/lib/components/MainLabel.js +6 -14
- package/lib/components/MainLabel.js.map +1 -1
- package/lib/components/Paginator.js +29 -53
- package/lib/components/Paginator.js.map +1 -1
- package/lib/components/PanelContent.js +8 -17
- package/lib/components/PanelContent.js.map +1 -1
- package/lib/components/PanelItem.js +8 -15
- package/lib/components/PanelItem.js.map +1 -1
- package/lib/components/ProgressBar.js +10 -18
- package/lib/components/ProgressBar.js.map +1 -1
- package/lib/components/Quby.d.ts +2 -2
- package/lib/components/Quby.d.ts.map +1 -1
- package/lib/components/Quby.js +9 -16
- package/lib/components/Quby.js.map +1 -1
- package/lib/components/QuestionDescription.js +3 -10
- package/lib/components/QuestionDescription.js.map +1 -1
- package/lib/components/QuestionWrapper.js +10 -28
- package/lib/components/QuestionWrapper.js.map +1 -1
- package/lib/components/ValidationErrors.js +10 -30
- package/lib/components/ValidationErrors.js.map +1 -1
- package/lib/components/index.js +2 -14
- package/lib/components/index.js.map +1 -1
- package/lib/components/items/HtmlItem.js +4 -12
- package/lib/components/items/HtmlItem.js.map +1 -1
- package/lib/components/items/QuestionItem.js +34 -42
- package/lib/components/items/QuestionItem.js.map +1 -1
- package/lib/components/items/UnknownItem.js +3 -11
- package/lib/components/items/UnknownItem.js.map +1 -1
- package/lib/components/questions/CheckBoxQuestion.js +33 -43
- package/lib/components/questions/CheckBoxQuestion.js.map +1 -1
- package/lib/components/questions/DatePartsQuestion.js +18 -26
- package/lib/components/questions/DatePartsQuestion.js.map +1 -1
- package/lib/components/questions/FloatQuestion.js +16 -24
- package/lib/components/questions/FloatQuestion.js.map +1 -1
- package/lib/components/questions/IntegerQuestion.js +16 -24
- package/lib/components/questions/IntegerQuestion.js.map +1 -1
- package/lib/components/questions/RadioQuestion.js +32 -42
- package/lib/components/questions/RadioQuestion.js.map +1 -1
- package/lib/components/questions/ScaleQuestion.js +31 -41
- package/lib/components/questions/ScaleQuestion.js.map +1 -1
- package/lib/components/questions/SelectQuestion.js +21 -31
- package/lib/components/questions/SelectQuestion.js.map +1 -1
- package/lib/components/questions/SliderQuestion.js +59 -67
- package/lib/components/questions/SliderQuestion.js.map +1 -1
- package/lib/components/questions/StringQuestion.js +16 -24
- package/lib/components/questions/StringQuestion.js.map +1 -1
- package/lib/components/questions/TextareaQuestion.js +15 -23
- package/lib/components/questions/TextareaQuestion.js.map +1 -1
- package/lib/core/index.d.ts +1 -0
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +5 -16
- package/lib/core/index.js.map +1 -1
- package/lib/core/mock_helpers.js +11 -17
- package/lib/core/mock_helpers.js.map +1 -1
- package/lib/core/questionnaire.js +8 -13
- package/lib/core/questionnaire.js.map +1 -1
- package/lib/core/questionnaire_json.d.ts +5 -3
- package/lib/core/questionnaire_json.d.ts.map +1 -1
- package/lib/core/questionnaire_json.js +2 -2
- package/lib/core/questionnaire_json.js.map +1 -1
- package/lib/core/response.d.ts +13 -5
- package/lib/core/response.d.ts.map +1 -1
- package/lib/core/response.js +72 -78
- package/lib/core/response.js.map +1 -1
- package/lib/core/response_json.d.ts +11 -0
- package/lib/core/response_json.d.ts.map +1 -0
- package/lib/core/response_json.js +68 -0
- package/lib/core/response_json.js.map +1 -0
- package/lib/core/validators.js +56 -169
- package/lib/core/validators.js.map +1 -1
- package/lib/core/visibility_rules.js +37 -90
- package/lib/core/visibility_rules.js.map +1 -1
- package/lib/i18n.js +7 -12
- package/lib/i18n.js.map +1 -1
- package/lib/index.js +3 -15
- package/lib/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { FlagsSchema, StringAnswerSchema, NumberAnswerSchema, MultiSelectAnswerSchema, DatePartsAnswerSchema } from "./response";
|
|
3
|
+
export class ResponseParseError extends Error {
|
|
4
|
+
}
|
|
5
|
+
;
|
|
6
|
+
;
|
|
7
|
+
// Raises ResponseParseError or ZodError on issues.
|
|
8
|
+
export const convertAndValidateResponseJson = (responseJson, questionnaire) => {
|
|
9
|
+
return {
|
|
10
|
+
flags: FlagsSchema.parse(responseJson.flags),
|
|
11
|
+
value: convertValue(responseJson.value, questionnaire)
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
const convertValue = (value, questionnaire) => {
|
|
15
|
+
const valueRecord = z.record(z.string(), z.any()).parse(value);
|
|
16
|
+
return Object.values(questionnaire.questions).reduce((res, question) => {
|
|
17
|
+
const answer = valueRecord[question.key];
|
|
18
|
+
if (answer == null)
|
|
19
|
+
return res;
|
|
20
|
+
switch (question.type) {
|
|
21
|
+
case "integer":
|
|
22
|
+
case "float":
|
|
23
|
+
res[question.key] = NumberAnswerSchema.parse(answer);
|
|
24
|
+
break;
|
|
25
|
+
case "string":
|
|
26
|
+
case "textarea":
|
|
27
|
+
res[question.key] = StringAnswerSchema.parse(answer);
|
|
28
|
+
break;
|
|
29
|
+
case "select":
|
|
30
|
+
case "scale":
|
|
31
|
+
case "radio":
|
|
32
|
+
res[question.key] = parseSingleSelectAnswer(answer, question);
|
|
33
|
+
break;
|
|
34
|
+
case "check_box":
|
|
35
|
+
res[question.key] = parseMultiSelectAnswer(answer, question);
|
|
36
|
+
break;
|
|
37
|
+
case "date_parts":
|
|
38
|
+
res[question.key] = DatePartsAnswerSchema.parse(answer);
|
|
39
|
+
break;
|
|
40
|
+
default: {
|
|
41
|
+
const unknownType = question;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return res;
|
|
45
|
+
}, {});
|
|
46
|
+
};
|
|
47
|
+
// Returns answer if valid string.
|
|
48
|
+
// Raises ResponseParseError if unknown key or ZodError if not a string.
|
|
49
|
+
const parseSingleSelectAnswer = (answer, question) => {
|
|
50
|
+
if (question.children.some((option) => option.key === answer)) {
|
|
51
|
+
return z.string().parse(answer);
|
|
52
|
+
}
|
|
53
|
+
throw new ResponseParseError(`wrong option key ${answer} present for ${question.key}`);
|
|
54
|
+
};
|
|
55
|
+
// Returns answer as Set (of option keys).
|
|
56
|
+
// Accepts Array or Set (null and undefined would error, but are handled before this call).
|
|
57
|
+
// Raises ResponseParseError on unknown option key or ZodError if not an Array or Set.
|
|
58
|
+
const parseMultiSelectAnswer = (answer, question) => {
|
|
59
|
+
const answerSet = MultiSelectAnswerSchema.parse(answer);
|
|
60
|
+
// if (!(answer instanceof Array)) throw new ResponseParseError(`wrong answer type for ${question.key}`);
|
|
61
|
+
answerSet.forEach((optionKey) => {
|
|
62
|
+
if (!question.children.some((option) => option.key === optionKey)) {
|
|
63
|
+
throw new ResponseParseError(`wrong option key ${optionKey} present for ${question.key}`);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
return answerSet;
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=response_json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response_json.js","sourceRoot":"","sources":["../../src/core/response_json.ts"],"names":[],"mappings":"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"}
|
package/lib/core/validators.js
CHANGED
|
@@ -1,62 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __values = (this && this.__values) || function(o) {
|
|
18
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
19
|
-
if (m) return m.call(o);
|
|
20
|
-
if (o && typeof o.length === "number") return {
|
|
21
|
-
next: function () {
|
|
22
|
-
if (o && i >= o.length) o = void 0;
|
|
23
|
-
return { value: o && o[i++], done: !o };
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
27
|
-
};
|
|
28
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
29
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
30
|
-
if (!m) return o;
|
|
31
|
-
var i = m.call(o), r, ar = [], e;
|
|
32
|
-
try {
|
|
33
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
34
|
-
}
|
|
35
|
-
catch (error) { e = { error: error }; }
|
|
36
|
-
finally {
|
|
37
|
-
try {
|
|
38
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
39
|
-
}
|
|
40
|
-
finally { if (e) throw e.error; }
|
|
41
|
-
}
|
|
42
|
-
return ar;
|
|
43
|
-
};
|
|
44
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
45
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
46
|
-
if (ar || !(i in from)) {
|
|
47
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
48
|
-
ar[i] = from[i];
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
52
|
-
};
|
|
53
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
|
-
};
|
|
56
|
-
exports.__esModule = true;
|
|
57
|
-
exports.RegexpValidator = exports.MaximumValidator = exports.MinimumValidator = exports.ValidFloatValidator = exports.ValidIntegerValidator = exports.ValidDateValidator = exports.RequiresAnswerValidator = exports.BaseValidator = exports.buildValidator = void 0;
|
|
58
|
-
var isExists_1 = __importDefault(require("date-fns/isExists"));
|
|
59
|
-
function buildValidator(data) {
|
|
1
|
+
import dateExists from 'date-fns/isExists';
|
|
2
|
+
export function buildValidator(data) {
|
|
60
3
|
switch (data.type) {
|
|
61
4
|
case "requires_answer": return new RequiresAnswerValidator(data);
|
|
62
5
|
case "valid_integer": return new ValidIntegerValidator(data);
|
|
@@ -67,31 +10,22 @@ function buildValidator(data) {
|
|
|
67
10
|
case "regexp": return new RegexpValidator(data);
|
|
68
11
|
}
|
|
69
12
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
function BaseValidator(config) {
|
|
13
|
+
export class BaseValidator {
|
|
14
|
+
constructor(config) {
|
|
73
15
|
this.config = config;
|
|
74
16
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
__extends(RequiresAnswerValidator, _super);
|
|
80
|
-
function RequiresAnswerValidator() {
|
|
81
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
82
|
-
}
|
|
83
|
-
RequiresAnswerValidator.prototype.validate = function (response) {
|
|
84
|
-
var validationState = response.getValidationFieldState(this.config.fieldKey);
|
|
17
|
+
}
|
|
18
|
+
export class RequiresAnswerValidator extends BaseValidator {
|
|
19
|
+
validate(response) {
|
|
20
|
+
const validationState = response.getValidationFieldState(this.config.fieldKey);
|
|
85
21
|
if (!isPresent(validationState.value)) {
|
|
86
22
|
validationState.addError({
|
|
87
23
|
type: this.config.type,
|
|
88
24
|
message: { t: 'requires_answer' }
|
|
89
25
|
});
|
|
90
26
|
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
}(BaseValidator));
|
|
94
|
-
exports.RequiresAnswerValidator = RequiresAnswerValidator;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
95
29
|
function isPresent(value) {
|
|
96
30
|
if (value === undefined || value === null) {
|
|
97
31
|
return false;
|
|
@@ -128,64 +62,49 @@ function isPresentString(value) {
|
|
|
128
62
|
// false if not a map, or contains keys/values other than string.
|
|
129
63
|
// true if any value is a non-empty string.
|
|
130
64
|
function isPresentStringMap(value) {
|
|
131
|
-
var e_1, _a;
|
|
132
65
|
if (value === undefined)
|
|
133
66
|
return false;
|
|
134
67
|
if (value === null)
|
|
135
68
|
return false;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
if (isPresentString(partValue))
|
|
142
|
-
return true;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
146
|
-
finally {
|
|
147
|
-
try {
|
|
148
|
-
if (value_1_1 && !value_1_1.done && (_a = value_1["return"])) _a.call(value_1);
|
|
149
|
-
}
|
|
150
|
-
finally { if (e_1) throw e_1.error; }
|
|
69
|
+
for (const [key, partValue] of value) {
|
|
70
|
+
if (typeof key !== "string" || typeof partValue !== "string")
|
|
71
|
+
return false;
|
|
72
|
+
if (isPresentString(partValue))
|
|
73
|
+
return true;
|
|
151
74
|
}
|
|
152
75
|
;
|
|
153
76
|
return false;
|
|
154
77
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
160
|
-
}
|
|
161
|
-
ValidDateValidator.prototype.validate = function (response) {
|
|
162
|
-
var validationState = response.getValidationFieldState(this.config.fieldKey);
|
|
78
|
+
const VALID_INTEGER_REGEXP = /(\s*-?[1-9][0-9]+\s*|\s*-?[0-9]\s*)/;
|
|
79
|
+
export class ValidDateValidator extends BaseValidator {
|
|
80
|
+
validate(response) {
|
|
81
|
+
const validationState = response.getValidationFieldState(this.config.fieldKey);
|
|
163
82
|
// if no value is set, RequiresAnswerValidator will handle it.
|
|
164
83
|
if (!isPresentStringMap(validationState.value))
|
|
165
84
|
return;
|
|
166
|
-
if (this.config.requiredParts.some(
|
|
167
|
-
validationState.addError({ type: this.config.type, message: { t:
|
|
85
|
+
if (this.config.requiredParts.some((part) => (!validationState.value.get(part)))) {
|
|
86
|
+
validationState.addError({ type: this.config.type, message: { t: `valid_date.${this.config.subtype}` } });
|
|
168
87
|
return;
|
|
169
88
|
}
|
|
170
|
-
|
|
89
|
+
const values = this.dateValuesWithDefaults(validationState.value);
|
|
171
90
|
if (!values
|
|
172
|
-
|| !(
|
|
91
|
+
|| !dateExists(values.year, values.month, values.day)
|
|
173
92
|
|| values.year < 1900 || values.year > 2100
|
|
174
93
|
|| values.hour > 23
|
|
175
94
|
|| values.minute > 59) {
|
|
176
|
-
validationState.addError({ type: this.config.type, message: { t:
|
|
95
|
+
validationState.addError({ type: this.config.type, message: { t: `valid_date.${this.config.subtype}` } });
|
|
177
96
|
}
|
|
178
|
-
}
|
|
97
|
+
}
|
|
179
98
|
// returns null on illegal strings,
|
|
180
|
-
|
|
99
|
+
dateValuesWithDefaults(dateParts) {
|
|
181
100
|
var valueWithDefault = function (component, defaultValue) {
|
|
182
|
-
|
|
101
|
+
const strVal = dateParts.get(component);
|
|
183
102
|
if (strVal === undefined || strVal == "") {
|
|
184
103
|
return defaultValue;
|
|
185
104
|
}
|
|
186
105
|
return parseInt(strVal, 10);
|
|
187
106
|
};
|
|
188
|
-
if (
|
|
107
|
+
if ([...dateParts.values()].some((v) => v && !/^\d*$/.test(v))) {
|
|
189
108
|
return null;
|
|
190
109
|
}
|
|
191
110
|
return {
|
|
@@ -195,90 +114,60 @@ var ValidDateValidator = /** @class */ (function (_super) {
|
|
|
195
114
|
hour: valueWithDefault('hour', 0),
|
|
196
115
|
minute: valueWithDefault('minute', 0)
|
|
197
116
|
};
|
|
198
|
-
};
|
|
199
|
-
return ValidDateValidator;
|
|
200
|
-
}(BaseValidator));
|
|
201
|
-
exports.ValidDateValidator = ValidDateValidator;
|
|
202
|
-
var ValidIntegerValidator = /** @class */ (function (_super) {
|
|
203
|
-
__extends(ValidIntegerValidator, _super);
|
|
204
|
-
function ValidIntegerValidator() {
|
|
205
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
206
117
|
}
|
|
207
|
-
|
|
208
|
-
|
|
118
|
+
}
|
|
119
|
+
export class ValidIntegerValidator extends BaseValidator {
|
|
120
|
+
validate(response) {
|
|
121
|
+
const validationState = response.getValidationFieldState(this.config.fieldKey);
|
|
209
122
|
if (!isPresentString(validationState.value))
|
|
210
123
|
return;
|
|
211
|
-
|
|
124
|
+
const result = VALID_INTEGER_REGEXP.exec(validationState.value);
|
|
212
125
|
if (result === null || result[0] !== validationState.value) {
|
|
213
126
|
validationState.addError({ type: this.config.type, message: { t: "valid_integer" } });
|
|
214
127
|
}
|
|
215
|
-
};
|
|
216
|
-
return ValidIntegerValidator;
|
|
217
|
-
}(BaseValidator));
|
|
218
|
-
exports.ValidIntegerValidator = ValidIntegerValidator;
|
|
219
|
-
var ValidFloatValidator = /** @class */ (function (_super) {
|
|
220
|
-
__extends(ValidFloatValidator, _super);
|
|
221
|
-
function ValidFloatValidator() {
|
|
222
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
223
128
|
}
|
|
224
|
-
|
|
225
|
-
|
|
129
|
+
}
|
|
130
|
+
export class ValidFloatValidator extends BaseValidator {
|
|
131
|
+
validate(response) {
|
|
132
|
+
const validationState = response.getValidationFieldState(this.config.fieldKey);
|
|
226
133
|
if (!isPresentString(validationState.value))
|
|
227
134
|
return;
|
|
228
|
-
|
|
229
|
-
|
|
135
|
+
const value = parseFloat(validationState.value);
|
|
136
|
+
const isNumber = !isNaN(value) && isFinite(value);
|
|
230
137
|
if (!isNumber) {
|
|
231
138
|
validationState.addError({ type: this.config.type, message: { t: "valid_float" } });
|
|
232
139
|
}
|
|
233
|
-
};
|
|
234
|
-
return ValidFloatValidator;
|
|
235
|
-
}(BaseValidator));
|
|
236
|
-
exports.ValidFloatValidator = ValidFloatValidator;
|
|
237
|
-
var MinimumValidator = /** @class */ (function (_super) {
|
|
238
|
-
__extends(MinimumValidator, _super);
|
|
239
|
-
function MinimumValidator() {
|
|
240
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
241
140
|
}
|
|
242
|
-
|
|
243
|
-
|
|
141
|
+
}
|
|
142
|
+
export class MinimumValidator extends BaseValidator {
|
|
143
|
+
validate(response) {
|
|
144
|
+
const validationState = response.getValidationFieldState(this.config.fieldKey);
|
|
244
145
|
if (!isPresentString(validationState.value))
|
|
245
146
|
return;
|
|
246
147
|
if (parseFloat(validationState.value) < this.config.value) {
|
|
247
148
|
validationState.addError({ type: this.config.type, message: { t: "minimum.number", value: this.config.value.toString() } });
|
|
248
149
|
}
|
|
249
|
-
};
|
|
250
|
-
return MinimumValidator;
|
|
251
|
-
}(BaseValidator));
|
|
252
|
-
exports.MinimumValidator = MinimumValidator;
|
|
253
|
-
var MaximumValidator = /** @class */ (function (_super) {
|
|
254
|
-
__extends(MaximumValidator, _super);
|
|
255
|
-
function MaximumValidator() {
|
|
256
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
257
150
|
}
|
|
258
|
-
|
|
259
|
-
|
|
151
|
+
}
|
|
152
|
+
export class MaximumValidator extends BaseValidator {
|
|
153
|
+
validate(response) {
|
|
154
|
+
const validationState = response.getValidationFieldState(this.config.fieldKey);
|
|
260
155
|
if (!isPresentString(validationState.value))
|
|
261
156
|
return;
|
|
262
157
|
if (parseFloat(validationState.value) > this.config.value) {
|
|
263
158
|
validationState.addError({ type: this.config.type, message: { t: "too high!" } });
|
|
264
159
|
}
|
|
265
|
-
};
|
|
266
|
-
return MaximumValidator;
|
|
267
|
-
}(BaseValidator));
|
|
268
|
-
exports.MaximumValidator = MaximumValidator;
|
|
269
|
-
var RegexpValidator = /** @class */ (function (_super) {
|
|
270
|
-
__extends(RegexpValidator, _super);
|
|
271
|
-
function RegexpValidator() {
|
|
272
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
273
160
|
}
|
|
274
|
-
|
|
275
|
-
|
|
161
|
+
}
|
|
162
|
+
export class RegexpValidator extends BaseValidator {
|
|
163
|
+
validate(response) {
|
|
164
|
+
const validationState = response.getValidationFieldState(this.config.fieldKey);
|
|
276
165
|
if (!isPresentString(validationState.value))
|
|
277
166
|
return;
|
|
278
167
|
//super dirty regex replace /A to ^ and /Z to $
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
168
|
+
const jsRegex = this.config.matcher.replace("\\A", "^").replace("\\Z", "$");
|
|
169
|
+
const regex = new RegExp(jsRegex);
|
|
170
|
+
const result = regex.exec(validationState.value);
|
|
282
171
|
if (result === null || result[0] !== validationState.value) {
|
|
283
172
|
validationState.addError({ type: this.config.type, message: { t: 'fails regex' } });
|
|
284
173
|
}
|
|
@@ -294,8 +183,6 @@ var RegexpValidator = /** @class */ (function (_super) {
|
|
|
294
183
|
// if (result === null || result[0] != value) {
|
|
295
184
|
// pushFailVal(validation.type);
|
|
296
185
|
// }
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
}(BaseValidator));
|
|
300
|
-
exports.RegexpValidator = RegexpValidator;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
301
188
|
//# sourceMappingURL=validators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/core/validators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/core/validators.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAQ3C,MAAM,UAAU,cAAc,CAAC,IAAiB;IAC9C,QAAQ,IAAI,CAAC,IAAI,EAAE;QACjB,KAAK,iBAAiB,CAAC,CAAC,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACjE,KAAK,eAAe,CAAC,CAAC,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC7D,KAAK,aAAa,CAAC,CAAC,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACzD,KAAK,YAAY,CAAC,CAAC,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvD,KAAK,SAAS,CAAC,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClD,KAAK,SAAS,CAAC,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClD,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;KACjD;AACH,CAAC;AAED,MAAM,OAAgB,aAAa;IAGjC,YAAY,MAAS;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CAGF;AAED,MAAM,OAAO,uBAAwB,SAAQ,aAAwC;IACnF,QAAQ,CAAC,QAA6B;QACpC,MAAM,eAAe,GAAG,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/E,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;YACrC,eAAe,CAAC,QAAQ,CAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,OAAO,EAAE,EAAC,CAAC,EAAE,iBAAiB,EAAC;aAChC,CAAC,CAAC;SACJ;IACH,CAAC;CACF;AAED,SAAS,SAAS,CAAC,KAAU;IAC3B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;QACzC,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,OAAO,CAAC,CAAC,KAAK,CAAA;KACf;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,OAAO,IAAI,CAAA;KACZ;SAAM,IAAI,KAAK,YAAY,GAAG,EAAE;QAC/B,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAA;KACjC;SAAM,IAAI,MAAM,IAAI,KAAK,EAAE,EAAE,MAAM;QAClC,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;KACtB;SAAM,IAAI,QAAQ,IAAI,KAAK,EAAE,EAAE,QAAQ;QACtC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;KACxB;SAAM;QACL,MAAM,qCAAqC,CAAA;KAC5C;AACH,CAAC;AAED,6EAA6E;AAC7E,SAAS,eAAe,CAAC,KAAU;IACjC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AACnC,CAAC;AAED,iEAAiE;AACjE,2CAA2C;AAC3C,SAAS,kBAAkB,CAAC,KAA2B;IACrD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,KAAK,EAAE;QACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC3E,IAAI,eAAe,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;KAC7C;IAAA,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,oBAAoB,GAAG,qCAAqC,CAAC;AAEnE,MAAM,OAAO,kBAAmB,SAAQ,aAAmC;IACzE,QAAQ,CAAC,QAA6B;QACpC,MAAM,eAAe,GAAG,QAAQ,CAAC,uBAAuB,CAAkC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhH,+DAA+D;QAC/D,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO;QAEvD,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAChF,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAC,CAAC,EAAE,cAAc,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAC,EAAE,CAAC,CAAA;YACvG,OAAO;SACR;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM;eACJ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;eAClD,MAAM,CAAC,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI;eACxC,MAAM,CAAC,IAAI,GAAG,EAAE;eAChB,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE;YACzB,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAC,CAAC,EAAE,cAAc,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAC,EAAE,CAAC,CAAA;SACxG;IACH,CAAC;IAED,mCAAmC;IACnC,sBAAsB,CAAC,SAA0C;QAC/D,IAAI,gBAAgB,GAAG,UAAS,SAA6B,EAAE,YAAoB;YACjF,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,EAAE,EAAE;gBACxC,OAAO,YAAY,CAAC;aACrB;YAED,OAAO,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9D,OAAO,IAAI,CAAC;SACb;QAED,OAAO;YACL,IAAI,EAAI,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;YACtC,KAAK,EAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC;YACxC,GAAG,EAAK,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;YAClC,IAAI,EAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;YACnC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;SACtC,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,aAAsC;IAC/E,QAAQ,CAAC,QAA6B;QACpC,MAAM,eAAe,GAAG,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/E,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO;QAEpD,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEhE,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,KAAK,EAAE;YAC1D,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAC,CAAC,EAAE,eAAe,EAAC,EAAE,CAAC,CAAA;SACpF;IACH,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,aAAoC;IAC3E,QAAQ,CAAC,QAA6B;QACpC,MAAM,eAAe,GAAG,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/E,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO;QAEpD,MAAM,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;QAElD,IAAI,CAAC,QAAQ,EAAE;YACb,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAC,CAAC,EAAE,aAAa,EAAC,EAAE,CAAC,CAAC;SACnF;IACH,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,aAAiC;IACrE,QAAQ,CAAC,QAA6B;QACpC,MAAM,eAAe,GAAG,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/E,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO;QAEpD,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACzD,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAC,EAAE,CAAC,CAAC;SAC3H;IACH,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,aAAiC;IACrE,QAAQ,CAAC,QAA6B;QACpC,MAAM,eAAe,GAAG,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/E,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO;QAEpD,IAAI,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACzD,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAC,CAAC,EAAE,WAAW,EAAC,EAAE,CAAC,CAAC;SACjF;IACH,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,aAAgC;IACnE,QAAQ,CAAC,QAA6B;QACpC,MAAM,eAAe,GAAG,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/E,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,OAAO;QAEpD,+CAA+C;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC3E,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEjD,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,eAAe,CAAC,KAAK,EAAE;YAC1D,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,EAAC,CAAC,EAAE,aAAa,EAAC,EAAE,CAAC,CAAA;SAClF;QAED,uFAAuF;QACvF,8BAA8B;QAC9B,mCAAmC;QACnC,uBAAuB;QACvB,IAAI;QACJ,2CAA2C;QAC3C,YAAY;QACZ,IAAI;QACJ,kCAAkC;QAClC,+CAA+C;QAC/C,kCAAkC;QAClC,IAAI;IACN,CAAC;CACF"}
|
|
@@ -1,50 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
exports.__esModule = true;
|
|
18
|
-
exports.buildVisibilityRule = exports.VisibilityRule = void 0;
|
|
19
|
-
var BaseCondition = /** @class */ (function () {
|
|
20
|
-
function BaseCondition(condition) {
|
|
1
|
+
class BaseCondition {
|
|
2
|
+
constructor(condition) {
|
|
21
3
|
this.condition = condition;
|
|
22
4
|
}
|
|
23
|
-
|
|
24
|
-
}());
|
|
5
|
+
}
|
|
25
6
|
;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
30
|
-
}
|
|
31
|
-
EqualCondition.prototype.match = function (response) {
|
|
32
|
-
var fieldState = response.getFieldState(this.condition.fieldKey);
|
|
7
|
+
class EqualCondition extends BaseCondition {
|
|
8
|
+
match(response) {
|
|
9
|
+
const fieldState = response.getFieldState(this.condition.fieldKey);
|
|
33
10
|
// hidden items cannot hide things themselves
|
|
34
11
|
if (fieldState.hidden) {
|
|
35
12
|
return false;
|
|
36
13
|
}
|
|
37
14
|
return fieldState.value === this.condition.value;
|
|
38
|
-
};
|
|
39
|
-
return EqualCondition;
|
|
40
|
-
}(BaseCondition));
|
|
41
|
-
var ContainsCondition = /** @class */ (function (_super) {
|
|
42
|
-
__extends(ContainsCondition, _super);
|
|
43
|
-
function ContainsCondition() {
|
|
44
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
45
15
|
}
|
|
46
|
-
|
|
47
|
-
|
|
16
|
+
}
|
|
17
|
+
class ContainsCondition extends BaseCondition {
|
|
18
|
+
match(response) {
|
|
19
|
+
const fieldState = response.getFieldState(this.condition.fieldKey);
|
|
48
20
|
// hidden items cannot hide things themselves
|
|
49
21
|
if (fieldState.hidden) {
|
|
50
22
|
return false;
|
|
@@ -54,55 +26,33 @@ var ContainsCondition = /** @class */ (function (_super) {
|
|
|
54
26
|
return false;
|
|
55
27
|
}
|
|
56
28
|
return fieldState.value.has(this.condition.value);
|
|
57
|
-
};
|
|
58
|
-
return ContainsCondition;
|
|
59
|
-
}(BaseCondition));
|
|
60
|
-
var AlwaysCondition = /** @class */ (function (_super) {
|
|
61
|
-
__extends(AlwaysCondition, _super);
|
|
62
|
-
function AlwaysCondition() {
|
|
63
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
64
29
|
}
|
|
65
|
-
|
|
30
|
+
}
|
|
31
|
+
class AlwaysCondition extends BaseCondition {
|
|
32
|
+
match(response) {
|
|
66
33
|
return true;
|
|
67
|
-
};
|
|
68
|
-
return AlwaysCondition;
|
|
69
|
-
}(BaseCondition));
|
|
70
|
-
var FlagCondition = /** @class */ (function (_super) {
|
|
71
|
-
__extends(FlagCondition, _super);
|
|
72
|
-
function FlagCondition() {
|
|
73
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
74
34
|
}
|
|
75
|
-
|
|
35
|
+
}
|
|
36
|
+
class FlagCondition extends BaseCondition {
|
|
37
|
+
match(response) {
|
|
76
38
|
return response.flags[this.condition.flagKey] === this.condition.triggerOn;
|
|
77
|
-
};
|
|
78
|
-
return FlagCondition;
|
|
79
|
-
}(BaseCondition));
|
|
80
|
-
var BaseAction = /** @class */ (function () {
|
|
81
|
-
function BaseAction(action) {
|
|
82
|
-
this.action = action;
|
|
83
39
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
function ShowAction() {
|
|
89
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
40
|
+
}
|
|
41
|
+
class BaseAction {
|
|
42
|
+
constructor(action) {
|
|
43
|
+
this.action = action;
|
|
90
44
|
}
|
|
91
|
-
|
|
45
|
+
}
|
|
46
|
+
class ShowAction extends BaseAction {
|
|
47
|
+
act(response) {
|
|
92
48
|
response.markShown(this.action.fieldKey);
|
|
93
|
-
};
|
|
94
|
-
return ShowAction;
|
|
95
|
-
}(BaseAction));
|
|
96
|
-
var HideAction = /** @class */ (function (_super) {
|
|
97
|
-
__extends(HideAction, _super);
|
|
98
|
-
function HideAction() {
|
|
99
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
100
49
|
}
|
|
101
|
-
|
|
50
|
+
}
|
|
51
|
+
class HideAction extends BaseAction {
|
|
52
|
+
act(response) {
|
|
102
53
|
response.markHidden(this.action.fieldKey);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
}(BaseAction));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
106
56
|
function buildCondition(config) {
|
|
107
57
|
switch (config.type) {
|
|
108
58
|
case "equal": return new EqualCondition(config);
|
|
@@ -116,26 +66,23 @@ function buildAction(config) {
|
|
|
116
66
|
switch (config.type) {
|
|
117
67
|
case "show_question": return new ShowAction(config);
|
|
118
68
|
case "hide_question": return new HideAction(config);
|
|
119
|
-
default: throw
|
|
69
|
+
default: throw `unknown action type`;
|
|
120
70
|
}
|
|
121
71
|
}
|
|
122
|
-
|
|
123
|
-
|
|
72
|
+
export class VisibilityRule {
|
|
73
|
+
constructor(condition, action) {
|
|
124
74
|
this.condition = condition;
|
|
125
75
|
this.action = action;
|
|
126
76
|
}
|
|
127
|
-
|
|
77
|
+
runAgainst(response) {
|
|
128
78
|
if (this.condition.match(response)) {
|
|
129
79
|
this.action.act(response);
|
|
130
80
|
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
var condition = buildCondition(rule.condition);
|
|
137
|
-
var action = buildAction(rule.action);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
export function buildVisibilityRule(rule) {
|
|
84
|
+
const condition = buildCondition(rule.condition);
|
|
85
|
+
const action = buildAction(rule.action);
|
|
138
86
|
return new VisibilityRule(condition, action);
|
|
139
87
|
}
|
|
140
|
-
exports.buildVisibilityRule = buildVisibilityRule;
|
|
141
88
|
//# sourceMappingURL=visibility_rules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibility_rules.js","sourceRoot":"","sources":["../../src/core/visibility_rules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"visibility_rules.js","sourceRoot":"","sources":["../../src/core/visibility_rules.ts"],"names":[],"mappings":"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"}
|
package/lib/i18n.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
exports.__esModule = true;
|
|
6
|
-
var i18next_1 = __importDefault(require("i18next"));
|
|
7
|
-
var react_i18next_1 = require("react-i18next");
|
|
1
|
+
import i18n from "i18next";
|
|
2
|
+
import { initReactI18next } from "react-i18next";
|
|
8
3
|
// the translations
|
|
9
4
|
// (tip move them in a JSON file and import them)
|
|
10
|
-
|
|
5
|
+
const resources = {
|
|
11
6
|
nl: {
|
|
12
7
|
translation: {
|
|
13
8
|
"date": {
|
|
@@ -219,10 +214,10 @@ var resources = {
|
|
|
219
214
|
}
|
|
220
215
|
}
|
|
221
216
|
};
|
|
222
|
-
|
|
223
|
-
.use(
|
|
217
|
+
i18n
|
|
218
|
+
.use(initReactI18next) // passes i18n down to react-i18next
|
|
224
219
|
.init({
|
|
225
|
-
resources
|
|
220
|
+
resources,
|
|
226
221
|
lng: "nl",
|
|
227
222
|
interpolation: {
|
|
228
223
|
prefix: "%{",
|
|
@@ -231,5 +226,5 @@ i18next_1["default"]
|
|
|
231
226
|
},
|
|
232
227
|
debug: true
|
|
233
228
|
});
|
|
234
|
-
|
|
229
|
+
export default i18n;
|
|
235
230
|
//# sourceMappingURL=i18n.js.map
|