kwikid-forms 0.0.3 → 0.0.4
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/bundles/kwikid-forms.umd.js +450 -293
- package/bundles/kwikid-forms.umd.js.map +1 -1
- package/esm2015/lib/renderer/form-view/definitions/common/form-view.common.enum.definitions.js +77 -23
- package/esm2015/lib/renderer/form-view/definitions/common/form-view.common.type.definitions.js +1 -1
- package/esm2015/lib/renderer/form-view/form-view.component.js +17 -35
- package/esm2015/lib/renderer/form-view/form-view.service.js +3 -2
- package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +66 -6
- package/esm2015/lib/renderer/form-view/helpers/form-view.validations.helper.js +8 -11
- package/esm2015/lib/renderer/forms-list/forms-list.component.js +26 -5
- package/esm2015/lib/renderer/renderer.component.js +2 -2
- package/esm2015/lib/renderer/renderer.config-converter.helper.js +55 -22
- package/fesm2015/kwikid-forms.js +393 -249
- package/fesm2015/kwikid-forms.js.map +1 -1
- package/lib/renderer/form-view/definitions/common/form-view.common.enum.definitions.d.ts +78 -24
- package/lib/renderer/form-view/definitions/common/form-view.common.type.definitions.d.ts +1 -1
- package/lib/renderer/form-view/helpers/form-view.fields.helper.d.ts +3 -0
- package/lib/renderer/forms-list/forms-list.component.d.ts +4 -1
- package/package.json +1 -1
package/fesm2015/kwikid-forms.js
CHANGED
|
@@ -176,41 +176,95 @@ var EApiStatusType;
|
|
|
176
176
|
var EPatternKey;
|
|
177
177
|
(function (EPatternKey) {
|
|
178
178
|
EPatternKey["CUSTOM"] = "CUSTOM";
|
|
179
|
-
EPatternKey["
|
|
180
|
-
EPatternKey["IS_AADHAAR_NUMBER"] = "IS_AADHAAR_NUMBER";
|
|
181
|
-
EPatternKey["IS_EMPTY"] = "IS_EMPTY";
|
|
182
|
-
EPatternKey["IS_NOT_EMPTY"] = "IS_NOT_EMPTY";
|
|
183
|
-
EPatternKey["IS_EMAIL"] = "IS_EMAIL";
|
|
184
|
-
EPatternKey["IS_NUMBER"] = "IS_NUMBER";
|
|
185
|
-
EPatternKey["IS_INTEGER"] = "IS_INTEGER";
|
|
186
|
-
EPatternKey["IS_URL"] = "IS_URL";
|
|
179
|
+
EPatternKey["IS_ADDRESS"] = "IS_ADDRESS";
|
|
187
180
|
EPatternKey["IS_ALPHA"] = "IS_ALPHA";
|
|
188
181
|
EPatternKey["IS_ALPHANUMERIC"] = "IS_ALPHANUMERIC";
|
|
189
|
-
EPatternKey["
|
|
190
|
-
EPatternKey["
|
|
182
|
+
EPatternKey["IS_BOOLEAN"] = "IS_BOOLEAN";
|
|
183
|
+
EPatternKey["IS_EMAIL"] = "IS_EMAIL";
|
|
184
|
+
EPatternKey["IS_EMPTY"] = "IS_EMPTY";
|
|
185
|
+
EPatternKey["IS_FALSE"] = "IS_FALSE";
|
|
186
|
+
EPatternKey["IS_HTML"] = "IS_HTML";
|
|
187
|
+
EPatternKey["IS_INTEGER"] = "IS_INTEGER";
|
|
191
188
|
EPatternKey["IS_IP_ADDRESS"] = "IS_IP_ADDRESS";
|
|
192
189
|
EPatternKey["IS_JSON"] = "IS_JSON";
|
|
193
|
-
EPatternKey["
|
|
190
|
+
EPatternKey["IS_LOWERCASE"] = "IS_LOWERCASE";
|
|
191
|
+
EPatternKey["IS_NOT_EMPTY"] = "IS_NOT_EMPTY";
|
|
192
|
+
EPatternKey["IS_NUMBER"] = "IS_NUMBER";
|
|
194
193
|
EPatternKey["IS_TRUE"] = "IS_TRUE";
|
|
194
|
+
EPatternKey["IS_UPPERCASE"] = "IS_UPPERCASE";
|
|
195
|
+
EPatternKey["IS_URL"] = "IS_URL";
|
|
196
|
+
EPatternKey["IS_AADHAAR_NUMBER"] = "IS_AADHAAR_NUMBER";
|
|
197
|
+
EPatternKey["IS_BANK_ACCOUNT_NO"] = "IS_BANK_ACCOUNT_NO";
|
|
198
|
+
EPatternKey["IS_BANK_SWIFT_CODE"] = "IS_BANK_SWIFT_CODE";
|
|
199
|
+
EPatternKey["IS_BIRTH_CERTIFICATE_NO"] = "IS_BIRTH_CERTIFICATE_NO";
|
|
200
|
+
EPatternKey["IS_CHEQUE_NO"] = "IS_CHEQUE_NO";
|
|
201
|
+
EPatternKey["IS_CIN"] = "IS_CIN";
|
|
202
|
+
EPatternKey["IS_CREDIT_CARD_NO"] = "IS_CREDIT_CARD_NO";
|
|
203
|
+
EPatternKey["IS_DRIVING_LICENSE"] = "IS_DRIVING_LICENSE";
|
|
204
|
+
EPatternKey["IS_GSTIN"] = "IS_GSTIN";
|
|
205
|
+
EPatternKey["IS_IFSC_NO"] = "IS_IFSC_NO";
|
|
206
|
+
EPatternKey["IS_MICR_CODE"] = "IS_MICR_CODE";
|
|
207
|
+
EPatternKey["IS_MOBILE_NO"] = "IS_MOBILE_NO";
|
|
208
|
+
EPatternKey["IS_MOBILE_NO_IN"] = "IS_MOBILE_NO_IN";
|
|
209
|
+
EPatternKey["IS_NEFT_OR_RTGS_NO"] = "IS_NEFT_OR_RTGS_NO";
|
|
210
|
+
EPatternKey["IS_PAN_NUMBER"] = "IS_PAN_NUMBER";
|
|
211
|
+
EPatternKey["IS_PASSPORT"] = "IS_PASSPORT";
|
|
212
|
+
EPatternKey["IS_PHONE_NO"] = "IS_PHONE_NO";
|
|
213
|
+
EPatternKey["IS_PINCODE"] = "IS_PINCODE";
|
|
214
|
+
EPatternKey["IS_PURCHASE_ORDER_NO"] = "IS_PURCHASE_ORDER_NO";
|
|
215
|
+
EPatternKey["IS_RATION_CARD_NO"] = "IS_RATION_CARD_NO";
|
|
216
|
+
EPatternKey["IS_SERVICE_TAX_NO"] = "IS_SERVICE_TAX_NO";
|
|
217
|
+
EPatternKey["IS_SOCIAL_SECURITY_NO"] = "IS_SOCIAL_SECURITY_NO";
|
|
218
|
+
EPatternKey["IS_UPI_TRANSACTION_REFERENCE_NO"] = "IS_UPI_TRANSACTION_REFERENCE_NO";
|
|
219
|
+
EPatternKey["IS_VAT_TIN_NO"] = "IS_VAT_TIN_NO";
|
|
220
|
+
EPatternKey["IS_VEHICLE_REGISTRATION_NO"] = "IS_VEHICLE_REGISTRATION_NO";
|
|
221
|
+
EPatternKey["IS_VOTER_ID"] = "IS_VOTER_ID";
|
|
195
222
|
})(EPatternKey || (EPatternKey = {}));
|
|
196
223
|
var EPattern;
|
|
197
224
|
(function (EPattern) {
|
|
198
|
-
EPattern["IS_EMPTY"] = "^$";
|
|
199
|
-
EPattern["IS_PAN_NUMBER"] = "^[A-Z]{5}[[0-9]{4}[A-Z]{1}$";
|
|
200
|
-
EPattern["IS_AADHAAR_NUMBER"] = "^[0-9]{12}$";
|
|
201
|
-
EPattern["IS_NOT_EMPTY"] = "^.+$";
|
|
202
|
-
EPattern["IS_EMAIL"] = "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$";
|
|
203
|
-
EPattern["IS_NUMBER"] = "^[+-]?d+(.d+)?$";
|
|
204
|
-
EPattern["IS_INTEGER"] = "^[+-]?d+$";
|
|
205
|
-
EPattern["IS_URL"] = "^(?:http(s)?://)?[w.-]+(?:.[w.-]+)+[w-._~:/?#[]@!$&'()*+,;=.]+$";
|
|
206
225
|
EPattern["IS_ALPHA"] = "^[a-zA-Z]+$";
|
|
226
|
+
EPattern["IS_ADDRESS"] = "^(\\w*\\s*[#-,/.()&]*)+";
|
|
207
227
|
EPattern["IS_ALPHANUMERIC"] = "^[a-zA-Z0-9]+$";
|
|
208
|
-
EPattern["
|
|
209
|
-
EPattern["
|
|
228
|
+
EPattern["IS_BOOLEAN"] = "(true|false)";
|
|
229
|
+
EPattern["IS_EMAIL"] = "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$";
|
|
230
|
+
EPattern["IS_EMPTY"] = "^$";
|
|
231
|
+
EPattern["IS_FALSE"] = "false";
|
|
232
|
+
EPattern["IS_HTML"] = "^<([a-z]+)([^<]+)(?:>(.)</\\1>|\\s+/>)$";
|
|
233
|
+
EPattern["IS_INTEGER"] = "^[+-]?d+$";
|
|
210
234
|
EPattern["IS_IP_ADDRESS"] = "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";
|
|
211
235
|
EPattern["IS_JSON"] = "^\\s*({(.|\\s)}|[(.|\\s)])\\s*$";
|
|
212
|
-
EPattern["
|
|
236
|
+
EPattern["IS_LOWERCASE"] = "^[a-z]+$";
|
|
237
|
+
EPattern["IS_NOT_EMPTY"] = "^.+$";
|
|
238
|
+
EPattern["IS_NUMBER"] = "^[+-]?d+(.d+)?$";
|
|
213
239
|
EPattern["IS_TRUE"] = "true";
|
|
240
|
+
EPattern["IS_UPPERCASE"] = "^[A-Z]+$";
|
|
241
|
+
EPattern["IS_URL"] = "^(?:http(s)?://)?[w.-]+(?:.[w.-]+)+[w-._~:/?#[]@!$&'()*+,;=.]+$";
|
|
242
|
+
EPattern["IS_AADHAAR_NUMBER"] = "^[0-9]{12}$";
|
|
243
|
+
EPattern["IS_BANK_ACCOUNT_NO"] = "^[0-9]{9,18}$";
|
|
244
|
+
EPattern["IS_BANK_SWIFT_CODE"] = "^[A-Z]{4}[A-Z]{2}[0-9A-Z]{2}[0-9A-Z]{3}$";
|
|
245
|
+
EPattern["IS_BIRTH_CERTIFICATE_NO"] = "^[A-Z]{2}[0-9]{6}[A-Z]{1}[0-9]{2}$";
|
|
246
|
+
EPattern["IS_CHEQUE_NO"] = "^[0-9]{6,14}$";
|
|
247
|
+
EPattern["IS_CIN"] = "^[A-Z]{3}[0-9]{5}[0-9A-Z]{3}$";
|
|
248
|
+
EPattern["IS_CREDIT_CARD_NO"] = "^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}$";
|
|
249
|
+
EPattern["IS_DRIVING_LICENSE"] = "^[A-Z]{2}[0-9]{2}((19|20)[0-9][0-9])[0-9]{7}$";
|
|
250
|
+
EPattern["IS_GSTIN"] = "^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$";
|
|
251
|
+
EPattern["IS_IFSC_NO"] = "^[A-Z]{4}[0][A-Z0-9]{6}$";
|
|
252
|
+
EPattern["IS_MICR_CODE"] = "^[0-9]{9}$";
|
|
253
|
+
EPattern["IS_MOBILE_NO"] = "^[6-9]\\d{9}$";
|
|
254
|
+
EPattern["IS_MOBILE_NO_IN"] = "^(\\+91)[6-9]\\d{9}$";
|
|
255
|
+
EPattern["IS_NEFT_OR_RTGS_NO"] = "^[A-Z]{4}[0-9]{7}$";
|
|
256
|
+
EPattern["IS_PAN_NUMBER"] = "^[A-Z]{5}[[0-9]{4}[A-Z]{1}$";
|
|
257
|
+
EPattern["IS_PASSPORT"] = "^[A-PR-WYa-pr-wy][1-9]\\d\\s?\\d{4}[1-9]$";
|
|
258
|
+
EPattern["IS_PHONE_NO"] = "^[6-9]\\d{9}$";
|
|
259
|
+
EPattern["IS_PINCODE"] = "^[1-9][0-9]{5}$";
|
|
260
|
+
EPattern["IS_PURCHASE_ORDER_NO"] = "^[0-9]{1,5}$";
|
|
261
|
+
EPattern["IS_RATION_CARD_NO"] = "^[A-Z]{3}[0-9]{7}$";
|
|
262
|
+
EPattern["IS_SERVICE_TAX_NO"] = "^[A-Z]{5}[0-9]{4}[A-Z]{1}$";
|
|
263
|
+
EPattern["IS_SOCIAL_SECURITY_NO"] = "^[0-9]{3}-[0-9]{2}-[0-9]{4}$";
|
|
264
|
+
EPattern["IS_UPI_TRANSACTION_REFERENCE_NO"] = "^[a-zA-Z0-9]{3,128}@[a-z]{3,9}$";
|
|
265
|
+
EPattern["IS_VAT_TIN_NO"] = "^[0-9]{11}$";
|
|
266
|
+
EPattern["IS_VEHICLE_REGISTRATION_NO"] = "^[A-Z]{2}[0-9]{2}((19|20)[0-9][0-9])[0-9]{6}$";
|
|
267
|
+
EPattern["IS_VOTER_ID"] = "^[A-Z]{3}[0-9]{7}$";
|
|
214
268
|
})(EPattern || (EPattern = {}));
|
|
215
269
|
var EMessageType;
|
|
216
270
|
(function (EMessageType) {
|
|
@@ -220,6 +274,21 @@ var EMessageType;
|
|
|
220
274
|
EMessageType["WARNING"] = "warning";
|
|
221
275
|
})(EMessageType || (EMessageType = {}));
|
|
222
276
|
|
|
277
|
+
var EFieldType;
|
|
278
|
+
(function (EFieldType) {
|
|
279
|
+
EFieldType["TITLE"] = "title";
|
|
280
|
+
EFieldType["TEXT"] = "text";
|
|
281
|
+
EFieldType["CHECKBOX"] = "checkbox";
|
|
282
|
+
EFieldType["NUMBER"] = "number";
|
|
283
|
+
EFieldType["DATE"] = "date";
|
|
284
|
+
EFieldType["PHONE"] = "phone";
|
|
285
|
+
EFieldType["RADIO"] = "radio";
|
|
286
|
+
EFieldType["DROPDOWN_WITH_SEARCH"] = "dropdown-with-search";
|
|
287
|
+
EFieldType["API_CALL"] = "api-call";
|
|
288
|
+
EFieldType["OTP"] = "otp";
|
|
289
|
+
EFieldType["AADHAAR_NUMBER"] = "aadhaar-number";
|
|
290
|
+
})(EFieldType || (EFieldType = {}));
|
|
291
|
+
|
|
223
292
|
/**
|
|
224
293
|
* A function that logs the execution of a method.
|
|
225
294
|
* @param {any} target - The object the method belongs to.
|
|
@@ -362,21 +431,6 @@ const isSingleForm = (formsList) => {
|
|
|
362
431
|
return formsList.length === 1;
|
|
363
432
|
};
|
|
364
433
|
|
|
365
|
-
var EFieldType;
|
|
366
|
-
(function (EFieldType) {
|
|
367
|
-
EFieldType["TITLE"] = "title";
|
|
368
|
-
EFieldType["TEXT"] = "text";
|
|
369
|
-
EFieldType["CHECKBOX"] = "checkbox";
|
|
370
|
-
EFieldType["NUMBER"] = "number";
|
|
371
|
-
EFieldType["DATE"] = "date";
|
|
372
|
-
EFieldType["PHONE"] = "phone";
|
|
373
|
-
EFieldType["RADIO"] = "radio";
|
|
374
|
-
EFieldType["DROPDOWN_WITH_SEARCH"] = "dropdown-with-search";
|
|
375
|
-
EFieldType["API_CALL"] = "api-call";
|
|
376
|
-
EFieldType["OTP"] = "otp";
|
|
377
|
-
EFieldType["AADHAAR_NUMBER"] = "aadhaar-number";
|
|
378
|
-
})(EFieldType || (EFieldType = {}));
|
|
379
|
-
|
|
380
434
|
const hasKey$1 = (object, key) => {
|
|
381
435
|
return object.hasOwnProperty(key);
|
|
382
436
|
};
|
|
@@ -879,6 +933,208 @@ __decorate([
|
|
|
879
933
|
log
|
|
880
934
|
], Defaults.prototype, "getDefaultValue", null);
|
|
881
935
|
|
|
936
|
+
const findFieldFromKey = (fields, key) => {
|
|
937
|
+
const field = fields.find((field) => {
|
|
938
|
+
if (field.key === key) {
|
|
939
|
+
return field;
|
|
940
|
+
}
|
|
941
|
+
});
|
|
942
|
+
return field;
|
|
943
|
+
};
|
|
944
|
+
const findFieldIndexFromKey = (fields, key) => {
|
|
945
|
+
let fieldIndex;
|
|
946
|
+
fieldIndex = fields.findIndex((_) => {
|
|
947
|
+
return key === _.key;
|
|
948
|
+
});
|
|
949
|
+
return fieldIndex;
|
|
950
|
+
};
|
|
951
|
+
const getSearchTextOptionsFromRemoteFile = (field, childField, formGroup) => __awaiter(void 0, void 0, void 0, function* () {
|
|
952
|
+
const parentFieldValue = formGroup.controls[field.key].value;
|
|
953
|
+
// Determine the URL of the remote file to fetch
|
|
954
|
+
let fileUrl;
|
|
955
|
+
if (childField.regexToGetJsonRemoteUrlKey) {
|
|
956
|
+
const fileKey = parentFieldValue.match(childField.regexToGetJsonRemoteUrlKey)[0];
|
|
957
|
+
fileUrl = childField.jsonRemoteUrlMapping[fileKey];
|
|
958
|
+
}
|
|
959
|
+
else {
|
|
960
|
+
fileUrl = childField.fileUrl;
|
|
961
|
+
}
|
|
962
|
+
// Return early if there is no file URL
|
|
963
|
+
if (!fileUrl)
|
|
964
|
+
return;
|
|
965
|
+
// Fetch the remote file and parse its JSON data
|
|
966
|
+
const response = yield fetch(fileUrl);
|
|
967
|
+
const data = yield response.json();
|
|
968
|
+
// Return the data for the given parent field value
|
|
969
|
+
return data[parentFieldValue];
|
|
970
|
+
});
|
|
971
|
+
const getSearchTextOptionsFromFieldConfig = (field, childField, formGroup) => {
|
|
972
|
+
let options;
|
|
973
|
+
const fieldValue = formGroup.controls[field.key].value;
|
|
974
|
+
if (isNotEmpty(childField["json"])) {
|
|
975
|
+
options = childField["json"][fieldValue];
|
|
976
|
+
}
|
|
977
|
+
return options;
|
|
978
|
+
};
|
|
979
|
+
const formatSearchTextOptions = (options) => {
|
|
980
|
+
return options.map(({ title }) => title);
|
|
981
|
+
};
|
|
982
|
+
const formatDateToStandardFormat = (date) => {
|
|
983
|
+
let formattedDate;
|
|
984
|
+
let year = date.year;
|
|
985
|
+
let month = date.month;
|
|
986
|
+
let day = date.day;
|
|
987
|
+
formattedDate = `${day}-${month + 1}-${year}`;
|
|
988
|
+
return formattedDate;
|
|
989
|
+
};
|
|
990
|
+
function highlightFieldError(field, error) {
|
|
991
|
+
field.invalid = error;
|
|
992
|
+
field.focus = error;
|
|
993
|
+
// if (!error) {
|
|
994
|
+
// field["messages"] = field["messages"].filter(function (fieldMessage: {
|
|
995
|
+
// type: string;
|
|
996
|
+
// message: string;
|
|
997
|
+
// }) {
|
|
998
|
+
// return fieldMessage.type === "error";
|
|
999
|
+
// });
|
|
1000
|
+
// }
|
|
1001
|
+
return field;
|
|
1002
|
+
}
|
|
1003
|
+
const addMessage = (field, message) => {
|
|
1004
|
+
const isDuplicateMessage = (messages, message) => {
|
|
1005
|
+
return messages.some((fieldMessage) => {
|
|
1006
|
+
return (fieldMessage.type === message.type &&
|
|
1007
|
+
fieldMessage.message === message.message);
|
|
1008
|
+
});
|
|
1009
|
+
};
|
|
1010
|
+
field["messages"] = [];
|
|
1011
|
+
if (hasKey$1(field, "messages")) {
|
|
1012
|
+
if (!isDuplicateMessage(field["messages"], message)) {
|
|
1013
|
+
field["messages"].push({
|
|
1014
|
+
type: message.type,
|
|
1015
|
+
message: message.message
|
|
1016
|
+
});
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
else {
|
|
1020
|
+
field["messages"] = [{ type: message.type, message: message.message }];
|
|
1021
|
+
}
|
|
1022
|
+
return field;
|
|
1023
|
+
};
|
|
1024
|
+
const removeMessage = (field, message) => {
|
|
1025
|
+
field["messages"] = field["messages"].filter(function (fieldMessage) {
|
|
1026
|
+
return fieldMessage.type !== message.type;
|
|
1027
|
+
});
|
|
1028
|
+
return field;
|
|
1029
|
+
};
|
|
1030
|
+
function setFieldError(fields, errors, key, error) {
|
|
1031
|
+
const fieldIndex = fields.findIndex((field) => {
|
|
1032
|
+
return field.key === key;
|
|
1033
|
+
});
|
|
1034
|
+
const setErrorMessages = (field, errors) => {
|
|
1035
|
+
const getErrorMessage = (fieldLabel, errorType) => {
|
|
1036
|
+
let errorMessage = "";
|
|
1037
|
+
switch (errorType) {
|
|
1038
|
+
case "required":
|
|
1039
|
+
errorMessage = `${fieldLabel} is required!`;
|
|
1040
|
+
break;
|
|
1041
|
+
case "email":
|
|
1042
|
+
errorMessage = `${fieldLabel} has wrong email format!`;
|
|
1043
|
+
break;
|
|
1044
|
+
case "min":
|
|
1045
|
+
errorMessage = `${fieldLabel} has wrong value! Minimum value: ${field.validators.min}`;
|
|
1046
|
+
break;
|
|
1047
|
+
case "minlength":
|
|
1048
|
+
errorMessage = `${fieldLabel} has wrong length! Required minimum length: ${field.validators.minLength}`;
|
|
1049
|
+
break;
|
|
1050
|
+
case "max":
|
|
1051
|
+
errorMessage = `${fieldLabel} has wrong value! Maximum value: ${field.validators.maxLength}`;
|
|
1052
|
+
break;
|
|
1053
|
+
case "maxlength":
|
|
1054
|
+
errorMessage = `${fieldLabel} has wrong length! Required maximum length: ${field.validators.maxLength}`;
|
|
1055
|
+
break;
|
|
1056
|
+
case "areEqual":
|
|
1057
|
+
errorMessage = `${fieldLabel} must be equal!`;
|
|
1058
|
+
break;
|
|
1059
|
+
case "pattern":
|
|
1060
|
+
errorMessage = `${fieldLabel} is in incorrect format!`;
|
|
1061
|
+
break;
|
|
1062
|
+
default:
|
|
1063
|
+
errorMessage = `${fieldLabel}: ${errorType}`;
|
|
1064
|
+
break;
|
|
1065
|
+
}
|
|
1066
|
+
return errorMessage;
|
|
1067
|
+
};
|
|
1068
|
+
Object.keys(errors).forEach((error) => {
|
|
1069
|
+
field = addMessage(field, {
|
|
1070
|
+
type: "error",
|
|
1071
|
+
message: getErrorMessage(field.label, error)
|
|
1072
|
+
});
|
|
1073
|
+
});
|
|
1074
|
+
return field;
|
|
1075
|
+
};
|
|
1076
|
+
if (error) {
|
|
1077
|
+
fields[fieldIndex] = setErrorMessages(fields[fieldIndex], errors);
|
|
1078
|
+
}
|
|
1079
|
+
else {
|
|
1080
|
+
fields[fieldIndex]["messages"] = [];
|
|
1081
|
+
}
|
|
1082
|
+
fields[fieldIndex] = highlightFieldError(fields[fieldIndex], error);
|
|
1083
|
+
return fields;
|
|
1084
|
+
}
|
|
1085
|
+
const convertValueFromKwikUIFormatToBasicFormat = (type, value) => {
|
|
1086
|
+
let convertedValue = value;
|
|
1087
|
+
switch (type) {
|
|
1088
|
+
case EFieldType.DATE:
|
|
1089
|
+
const convertDateStringToTuiDayFormat = (date) => {
|
|
1090
|
+
const splitDate = date.split("-");
|
|
1091
|
+
const tuiDay = new TuiDay(Number(splitDate[2]), // Year
|
|
1092
|
+
Number(splitDate[1]) - 1, // Month, Why '-1' => Because Taiga-UI Required It, So...
|
|
1093
|
+
Number(splitDate[0]) // Day
|
|
1094
|
+
);
|
|
1095
|
+
return tuiDay;
|
|
1096
|
+
};
|
|
1097
|
+
convertedValue = convertDateStringToTuiDayFormat(value);
|
|
1098
|
+
break;
|
|
1099
|
+
default:
|
|
1100
|
+
break;
|
|
1101
|
+
}
|
|
1102
|
+
return convertedValue;
|
|
1103
|
+
};
|
|
1104
|
+
const convertValueFromBasicFormatToKwikUIFormat = (field, value) => {
|
|
1105
|
+
let convertedValue = value;
|
|
1106
|
+
switch (field.type) {
|
|
1107
|
+
case EFieldType.RADIO:
|
|
1108
|
+
if (hasKey$1(value, "label")) {
|
|
1109
|
+
convertedValue = value.label;
|
|
1110
|
+
}
|
|
1111
|
+
else {
|
|
1112
|
+
convertedValue = "";
|
|
1113
|
+
}
|
|
1114
|
+
break;
|
|
1115
|
+
case EFieldType.DATE:
|
|
1116
|
+
if (isNull(value)) {
|
|
1117
|
+
convertedValue = "";
|
|
1118
|
+
}
|
|
1119
|
+
else {
|
|
1120
|
+
convertedValue = formatDateToStandardFormat(value);
|
|
1121
|
+
}
|
|
1122
|
+
break;
|
|
1123
|
+
case EFieldType.PHONE:
|
|
1124
|
+
let fieldPhone = field;
|
|
1125
|
+
convertedValue = value.replace(String(fieldPhone.properties.countryCode), "");
|
|
1126
|
+
break;
|
|
1127
|
+
case EFieldType.TITLE:
|
|
1128
|
+
break;
|
|
1129
|
+
default:
|
|
1130
|
+
if (isEmpty(value)) {
|
|
1131
|
+
convertedValue = "";
|
|
1132
|
+
}
|
|
1133
|
+
break;
|
|
1134
|
+
}
|
|
1135
|
+
return convertedValue;
|
|
1136
|
+
};
|
|
1137
|
+
|
|
882
1138
|
class Validations {
|
|
883
1139
|
constructor(field, formData, previousFormData, allFormsData, takeAction) {
|
|
884
1140
|
this._field = field;
|
|
@@ -940,18 +1196,15 @@ class Validations {
|
|
|
940
1196
|
if (hasKey$1(field, "validators") &&
|
|
941
1197
|
hasKey$1(field.validators, "pattern") &&
|
|
942
1198
|
isNotEmpty(field.validators.pattern)) {
|
|
943
|
-
if (field.validators.pattern
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
1199
|
+
if (hasKey$1(field.validators.pattern, "key")) {
|
|
1200
|
+
if (field.validators.pattern.key === EPatternKey.CUSTOM) {
|
|
1201
|
+
validators.push(Validators.pattern(field.validators.pattern.pattern));
|
|
1202
|
+
}
|
|
1203
|
+
else {
|
|
1204
|
+
validators.push(Validators.pattern(EPattern[field.validators.pattern.key]));
|
|
1205
|
+
}
|
|
948
1206
|
}
|
|
949
1207
|
}
|
|
950
|
-
if (hasKey$1(field, "validators") &&
|
|
951
|
-
hasKey$1(field.validators, "nullValidator") &&
|
|
952
|
-
isNotEmpty(field.validators.nullValidator)) {
|
|
953
|
-
validators.push(Validators.nullValidator(field.validators.nullValidator));
|
|
954
|
-
}
|
|
955
1208
|
return validators;
|
|
956
1209
|
}
|
|
957
1210
|
getFormValidationErrors(control) {
|
|
@@ -1036,7 +1289,7 @@ class KwikIDFormViewService {
|
|
|
1036
1289
|
for (let field of fields) {
|
|
1037
1290
|
if (field.type !== "title") {
|
|
1038
1291
|
const defaults = new Defaults(field, allFormsData, formData, previousFormData, takeAction);
|
|
1039
|
-
const value = yield defaults.getDefaultValue();
|
|
1292
|
+
const value = convertValueFromBasicFormatToKwikUIFormat(field.type, yield defaults.getDefaultValue());
|
|
1040
1293
|
const validators = new Validations(field, formData, previousFormData, allFormsData, takeAction).getFieldValidators(field);
|
|
1041
1294
|
formGroup.addControl(field.key, new FormControl({ value: value, disabled: field.disabled }, { validators: validators }));
|
|
1042
1295
|
}
|
|
@@ -1147,150 +1400,6 @@ __decorate([
|
|
|
1147
1400
|
log
|
|
1148
1401
|
], Apis.prototype, "validateApiCallResponse", null);
|
|
1149
1402
|
|
|
1150
|
-
const findFieldFromKey = (fields, key) => {
|
|
1151
|
-
const field = fields.find((field) => {
|
|
1152
|
-
if (field.key === key) {
|
|
1153
|
-
return field;
|
|
1154
|
-
}
|
|
1155
|
-
});
|
|
1156
|
-
return field;
|
|
1157
|
-
};
|
|
1158
|
-
const findFieldIndexFromKey = (fields, key) => {
|
|
1159
|
-
let fieldIndex;
|
|
1160
|
-
fieldIndex = fields.findIndex((_) => {
|
|
1161
|
-
return key === _.key;
|
|
1162
|
-
});
|
|
1163
|
-
return fieldIndex;
|
|
1164
|
-
};
|
|
1165
|
-
const getSearchTextOptionsFromRemoteFile = (field, childField, formGroup) => __awaiter(void 0, void 0, void 0, function* () {
|
|
1166
|
-
const parentFieldValue = formGroup.controls[field.key].value;
|
|
1167
|
-
// Determine the URL of the remote file to fetch
|
|
1168
|
-
let fileUrl;
|
|
1169
|
-
if (childField.regexToGetJsonRemoteUrlKey) {
|
|
1170
|
-
const fileKey = parentFieldValue.match(childField.regexToGetJsonRemoteUrlKey)[0];
|
|
1171
|
-
fileUrl = childField.jsonRemoteUrlMapping[fileKey];
|
|
1172
|
-
}
|
|
1173
|
-
else {
|
|
1174
|
-
fileUrl = childField.fileUrl;
|
|
1175
|
-
}
|
|
1176
|
-
// Return early if there is no file URL
|
|
1177
|
-
if (!fileUrl)
|
|
1178
|
-
return;
|
|
1179
|
-
// Fetch the remote file and parse its JSON data
|
|
1180
|
-
const response = yield fetch(fileUrl);
|
|
1181
|
-
const data = yield response.json();
|
|
1182
|
-
// Return the data for the given parent field value
|
|
1183
|
-
return data[parentFieldValue];
|
|
1184
|
-
});
|
|
1185
|
-
const getSearchTextOptionsFromFieldConfig = (field, childField, formGroup) => {
|
|
1186
|
-
let options;
|
|
1187
|
-
const fieldValue = formGroup.controls[field.key].value;
|
|
1188
|
-
if (isNotEmpty(childField["json"])) {
|
|
1189
|
-
options = childField["json"][fieldValue];
|
|
1190
|
-
}
|
|
1191
|
-
return options;
|
|
1192
|
-
};
|
|
1193
|
-
const formatSearchTextOptions = (options) => {
|
|
1194
|
-
return options.map(({ title }) => title);
|
|
1195
|
-
};
|
|
1196
|
-
const formatDateToStandardFormat = (date) => {
|
|
1197
|
-
let formattedDate;
|
|
1198
|
-
let year = date.year;
|
|
1199
|
-
let month = date.month;
|
|
1200
|
-
let day = date.day;
|
|
1201
|
-
formattedDate = `${day}-${month + 1}-${year}`;
|
|
1202
|
-
return formattedDate;
|
|
1203
|
-
};
|
|
1204
|
-
function highlightFieldError(field, error) {
|
|
1205
|
-
field.invalid = error;
|
|
1206
|
-
field.focus = error;
|
|
1207
|
-
// if (!error) {
|
|
1208
|
-
// field["messages"] = field["messages"].filter(function (fieldMessage: {
|
|
1209
|
-
// type: string;
|
|
1210
|
-
// message: string;
|
|
1211
|
-
// }) {
|
|
1212
|
-
// return fieldMessage.type === "error";
|
|
1213
|
-
// });
|
|
1214
|
-
// }
|
|
1215
|
-
return field;
|
|
1216
|
-
}
|
|
1217
|
-
const addMessage = (field, message) => {
|
|
1218
|
-
const isDuplicateMessage = (messages, message) => {
|
|
1219
|
-
return messages.some((fieldMessage) => {
|
|
1220
|
-
return (fieldMessage.type === message.type &&
|
|
1221
|
-
fieldMessage.message === message.message);
|
|
1222
|
-
});
|
|
1223
|
-
};
|
|
1224
|
-
field["messages"] = [];
|
|
1225
|
-
if (hasKey$1(field, "messages")) {
|
|
1226
|
-
if (!isDuplicateMessage(field["messages"], message)) {
|
|
1227
|
-
field["messages"].push({
|
|
1228
|
-
type: message.type,
|
|
1229
|
-
message: message.message
|
|
1230
|
-
});
|
|
1231
|
-
}
|
|
1232
|
-
}
|
|
1233
|
-
else {
|
|
1234
|
-
field["messages"] = [{ type: message.type, message: message.message }];
|
|
1235
|
-
}
|
|
1236
|
-
return field;
|
|
1237
|
-
};
|
|
1238
|
-
const removeMessage = (field, message) => {
|
|
1239
|
-
field["messages"] = field["messages"].filter(function (fieldMessage) {
|
|
1240
|
-
return fieldMessage.type !== message.type;
|
|
1241
|
-
});
|
|
1242
|
-
return field;
|
|
1243
|
-
};
|
|
1244
|
-
function setFieldError(fields, errors, key, error) {
|
|
1245
|
-
const fieldIndex = fields.findIndex((field) => {
|
|
1246
|
-
return field.key === key;
|
|
1247
|
-
});
|
|
1248
|
-
const setErrorMessages = (field, errors) => {
|
|
1249
|
-
const getErrorMessage = (fieldLabel, errorType) => {
|
|
1250
|
-
let errorMessage = "";
|
|
1251
|
-
switch (errorType) {
|
|
1252
|
-
case "required":
|
|
1253
|
-
errorMessage = `${fieldLabel} is required!`;
|
|
1254
|
-
break;
|
|
1255
|
-
case "pattern":
|
|
1256
|
-
errorMessage = `${fieldLabel} has wrong pattern!`;
|
|
1257
|
-
break;
|
|
1258
|
-
case "email":
|
|
1259
|
-
errorMessage = `${fieldLabel} has wrong email format!`;
|
|
1260
|
-
break;
|
|
1261
|
-
case "minlength":
|
|
1262
|
-
errorMessage = `${fieldLabel} has wrong length! Required minimum length: ${field.validators.minLength}`;
|
|
1263
|
-
break;
|
|
1264
|
-
case "maxlength":
|
|
1265
|
-
errorMessage = `${fieldLabel} has wrong length! Required maximum length: ${field.validators.maxLength}`;
|
|
1266
|
-
break;
|
|
1267
|
-
case "areEqual":
|
|
1268
|
-
errorMessage = `${fieldLabel} must be equal!`;
|
|
1269
|
-
break;
|
|
1270
|
-
default:
|
|
1271
|
-
errorMessage = `${fieldLabel}: ${"error.error_name"}: ${"error.error_value"}`;
|
|
1272
|
-
break;
|
|
1273
|
-
}
|
|
1274
|
-
return errorMessage;
|
|
1275
|
-
};
|
|
1276
|
-
Object.keys(errors).forEach((error) => {
|
|
1277
|
-
field = addMessage(field, {
|
|
1278
|
-
type: "error",
|
|
1279
|
-
message: getErrorMessage(field.label, error)
|
|
1280
|
-
});
|
|
1281
|
-
});
|
|
1282
|
-
return field;
|
|
1283
|
-
};
|
|
1284
|
-
if (error) {
|
|
1285
|
-
fields[fieldIndex] = setErrorMessages(fields[fieldIndex], errors);
|
|
1286
|
-
}
|
|
1287
|
-
else {
|
|
1288
|
-
fields[fieldIndex]["messages"] = [];
|
|
1289
|
-
}
|
|
1290
|
-
fields[fieldIndex] = highlightFieldError(fields[fieldIndex], error);
|
|
1291
|
-
return fields;
|
|
1292
|
-
}
|
|
1293
|
-
|
|
1294
1403
|
class KwikIDFormViewComponent {
|
|
1295
1404
|
constructor(formViewService) {
|
|
1296
1405
|
this.formViewService = formViewService;
|
|
@@ -1558,16 +1667,26 @@ class KwikIDFormViewComponent {
|
|
|
1558
1667
|
handleOnClickSaveForm(e) {
|
|
1559
1668
|
let formData = this.formGroup.getRawValue();
|
|
1560
1669
|
for (let field of this.formFields) {
|
|
1561
|
-
if (field.type !==
|
|
1670
|
+
if (field.type !== EFieldType.TITLE) {
|
|
1671
|
+
if (field.hidden) {
|
|
1672
|
+
delete formData[field.key];
|
|
1673
|
+
}
|
|
1674
|
+
else {
|
|
1675
|
+
formData[field.key] = convertValueFromKwikUIFormatToBasicFormat(field, formData[field.key]);
|
|
1676
|
+
}
|
|
1677
|
+
}
|
|
1678
|
+
}
|
|
1679
|
+
for (let field of this.formFields) {
|
|
1680
|
+
if (field.type !== EFieldType.TITLE &&
|
|
1562
1681
|
field.validation.triggers.includes("ON_SAVE")) {
|
|
1563
|
-
const validations = new Validations(field,
|
|
1682
|
+
const validations = new Validations(field, formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this));
|
|
1564
1683
|
(() => __awaiter(this, void 0, void 0, function* () {
|
|
1565
1684
|
yield validations.validateField();
|
|
1566
1685
|
}))();
|
|
1567
1686
|
}
|
|
1568
1687
|
}
|
|
1569
1688
|
if (this.formGroup.invalid) {
|
|
1570
|
-
const controls = new Validations(undefined,
|
|
1689
|
+
const controls = new Validations(undefined, formData, this.previousFormData, this.allFormsData, this.takeAction.bind(this)).findInvalidControlsRecursive(this.formGroup);
|
|
1571
1690
|
let firstFieldWithError = "";
|
|
1572
1691
|
for (let control of controls) {
|
|
1573
1692
|
if (control.invalid && isEmpty(firstFieldWithError)) {
|
|
@@ -1577,35 +1696,6 @@ class KwikIDFormViewComponent {
|
|
|
1577
1696
|
}
|
|
1578
1697
|
return;
|
|
1579
1698
|
}
|
|
1580
|
-
// Need to have an API Validator as well here.
|
|
1581
|
-
// if(apiCallSuccess()) { then only proceed further, else highlight the button to click to call api}
|
|
1582
|
-
for (let field of this.formFields) {
|
|
1583
|
-
switch (field.type) {
|
|
1584
|
-
case "radio":
|
|
1585
|
-
if (hasKey$1(formData[field.key], "label")) {
|
|
1586
|
-
formData[field.key] = formData[field.key].label;
|
|
1587
|
-
}
|
|
1588
|
-
else {
|
|
1589
|
-
formData[field.key] = "";
|
|
1590
|
-
}
|
|
1591
|
-
break;
|
|
1592
|
-
case "date":
|
|
1593
|
-
if (isNull(formData[field.key])) {
|
|
1594
|
-
formData[field.key] = "";
|
|
1595
|
-
}
|
|
1596
|
-
else {
|
|
1597
|
-
formData[field.key] = formatDateToStandardFormat(formData[field.key]);
|
|
1598
|
-
}
|
|
1599
|
-
break;
|
|
1600
|
-
case "title":
|
|
1601
|
-
break;
|
|
1602
|
-
default:
|
|
1603
|
-
if (isEmpty(formData[field.key])) {
|
|
1604
|
-
formData[field.key] = "";
|
|
1605
|
-
}
|
|
1606
|
-
break;
|
|
1607
|
-
}
|
|
1608
|
-
}
|
|
1609
1699
|
Object.keys(formData).map((key) => {
|
|
1610
1700
|
if (isEmpty(formData[key])) {
|
|
1611
1701
|
formData[key] = "";
|
|
@@ -1928,6 +2018,7 @@ const hasKey = (object, key) => {
|
|
|
1928
2018
|
|
|
1929
2019
|
class KwikIDFormsListComponent {
|
|
1930
2020
|
constructor() {
|
|
2021
|
+
this.showFormFields = {};
|
|
1931
2022
|
this.userConfig = {};
|
|
1932
2023
|
this.formsList = [];
|
|
1933
2024
|
this.formsListCompleted = [];
|
|
@@ -1936,21 +2027,39 @@ class KwikIDFormsListComponent {
|
|
|
1936
2027
|
this.onClickHideFormsList = new EventEmitter();
|
|
1937
2028
|
this.onClickSubmitForms = new EventEmitter();
|
|
1938
2029
|
this.selectedForm = "";
|
|
2030
|
+
this.isAllFormsCompleted = true;
|
|
2031
|
+
}
|
|
2032
|
+
ngOnInit() {
|
|
2033
|
+
this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);
|
|
1939
2034
|
}
|
|
1940
|
-
ngOnInit() { }
|
|
1941
2035
|
ngOnChanges(changes) {
|
|
1942
2036
|
const verifyChange = (key) => {
|
|
1943
2037
|
return hasKey(changes, key) && !changes[key].firstChange;
|
|
1944
2038
|
};
|
|
2039
|
+
if (verifyChange("showFormFields")) {
|
|
2040
|
+
this.showFormFields = changes.showFormFields.currentValue;
|
|
2041
|
+
}
|
|
1945
2042
|
if (verifyChange("formsList")) {
|
|
1946
2043
|
this.formsList = changes.formsList.currentValue;
|
|
2044
|
+
this.isAllFormsCompleted = this.checkIsAllFormsCompleted(this.formsList);
|
|
1947
2045
|
}
|
|
1948
2046
|
if (verifyChange("isMobileView")) {
|
|
1949
2047
|
this.isMobileView = changes.isMobileView.currentValue;
|
|
1950
2048
|
}
|
|
1951
2049
|
}
|
|
2050
|
+
checkIsAllFormsCompleted(formsList) {
|
|
2051
|
+
let isAllFormsCompleted = true;
|
|
2052
|
+
for (let forms of formsList) {
|
|
2053
|
+
if (forms.status !== "completed") {
|
|
2054
|
+
isAllFormsCompleted = false;
|
|
2055
|
+
break;
|
|
2056
|
+
}
|
|
2057
|
+
}
|
|
2058
|
+
return isAllFormsCompleted;
|
|
2059
|
+
}
|
|
1952
2060
|
handleOnClickSetActiveForm(selectedForm) {
|
|
1953
|
-
if (this.selectedForm !== selectedForm
|
|
2061
|
+
if (this.selectedForm !== selectedForm ||
|
|
2062
|
+
(this.isAllFormsCompleted && !this.showFormFields)) {
|
|
1954
2063
|
this.selectedForm = selectedForm;
|
|
1955
2064
|
this.onClickSetActiveForm.emit(selectedForm);
|
|
1956
2065
|
}
|
|
@@ -1960,7 +2069,7 @@ class KwikIDFormsListComponent {
|
|
|
1960
2069
|
}
|
|
1961
2070
|
}
|
|
1962
2071
|
/** @nocollapse */ KwikIDFormsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDFormsListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1963
|
-
/** @nocollapse */ KwikIDFormsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: { userConfig: "userConfig", formsList: "formsList", formsListCompleted: "formsListCompleted", isMobileView: "isMobileView" }, outputs: { onClickSetActiveForm: "onClickSetActiveForm", onClickHideFormsList: "onClickHideFormsList", onClickSubmitForms: "onClickSubmitForms" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"sidebar-container\">\r\n <div id=\"sidebar\">\r\n <div ngClass=\"kwikid-form-header\">\r\n <div id=\"uf-header\">\r\n <div id=\"uf-header-logo-container\">\r\n <img\r\n id=\"uf-header-logo\"\r\n src=\"{{ this.userConfig.theme.clientLogo }}\"\r\n [ngClass]=\"'large-icon'\"\r\n />\r\n </div>\r\n </div>\r\n <hr />\r\n </div>\r\n <div id=\"uf-progress\">\r\n <div id=\"uf-progress-steps\">\r\n {{ this.formsListCompleted.length }} / {{ this.formsList.length }} Steps\r\n Completed\r\n </div>\r\n <kwikui-progress-segmented\r\n [max]=\"this.formsList.length\"\r\n size=\"m\"\r\n [value]=\"this.formsListCompleted.length\"\r\n ></kwikui-progress-segmented>\r\n </div>\r\n <div id=\"uf-sections-container\">\r\n <div\r\n *ngFor=\"let form of formsList; let i = index\"\r\n [class]=\"'uf-section-item'\"\r\n [class.completed]=\"form.status === 'completed' && !form.disabled\"\r\n [class.edit]=\"form.status
|
|
2072
|
+
/** @nocollapse */ KwikIDFormsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: { showFormFields: "showFormFields", userConfig: "userConfig", formsList: "formsList", formsListCompleted: "formsListCompleted", isMobileView: "isMobileView" }, outputs: { onClickSetActiveForm: "onClickSetActiveForm", onClickHideFormsList: "onClickHideFormsList", onClickSubmitForms: "onClickSubmitForms" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"sidebar-container\">\r\n <div id=\"sidebar\">\r\n <div ngClass=\"kwikid-form-header\">\r\n <div id=\"uf-header\">\r\n <div id=\"uf-header-logo-container\">\r\n <img\r\n id=\"uf-header-logo\"\r\n src=\"{{ this.userConfig.theme.clientLogo }}\"\r\n [ngClass]=\"'large-icon'\"\r\n />\r\n </div>\r\n </div>\r\n <hr />\r\n </div>\r\n <div id=\"uf-progress\">\r\n <div id=\"uf-progress-steps\">\r\n {{ this.formsListCompleted.length }} / {{ this.formsList.length }} Steps\r\n Completed\r\n </div>\r\n <kwikui-progress-segmented\r\n [max]=\"this.formsList.length\"\r\n size=\"m\"\r\n [value]=\"this.formsListCompleted.length\"\r\n ></kwikui-progress-segmented>\r\n </div>\r\n <div id=\"uf-sections-container\">\r\n <div\r\n *ngFor=\"let form of formsList; let i = index\"\r\n [class]=\"'uf-section-item'\"\r\n [class.completed]=\"form.status === 'completed' && !form.disabled\"\r\n [class.edit]=\"form.status === 'editable' && !form.disabled\"\r\n [class.locked]=\"form.status === 'locked' && form.disabled\"\r\n (click)=\"\r\n form.status === 'locked' && form.disabled\r\n ? undefined\r\n : handleOnClickSetActiveForm(form.key)\r\n \"\r\n >\r\n <div class=\"uf-form-section-card-title\">\r\n {{ form.title }}\r\n </div>\r\n <div class=\"uf-form-section-card-action\">\r\n <div\r\n *ngIf=\"form.status === 'completed' && !form.disabled\"\r\n class=\"uf-form-section-card-action-img completed\"\r\n >\r\n <tui-svg src=\"tuiIconCheckLarge\"></tui-svg>\r\n </div>\r\n <div\r\n *ngIf=\"form.status !== 'completed' && !form.disabled\"\r\n class=\"uf-form-section-card-action-img edit\"\r\n >\r\n <tui-svg src=\"tuiIconEdit\"></tui-svg>\r\n </div>\r\n <div\r\n *ngIf=\"form.status !== 'completed' && form.disabled\"\r\n class=\"uf-form-section-card-action-img locked\"\r\n >\r\n <tui-svg src=\"tuiIconLock\"></tui-svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div id=\"submit-sidebar-btn-container\">\r\n <kwikui-button\r\n [disabled]=\"false\"\r\n id=\"\"\r\n label=\"Submit\"\r\n [showLoader]=\"false\"\r\n styles=\"\"\r\n class=\"\"\r\n type=\"button\"\r\n appearance=\"primary\"\r\n icon=\"\"\r\n iconRight=\"\"\r\n shape=\"null\"\r\n size=\"m\"\r\n styles=\"width: 100%\"\r\n (onClick)=\"handleOnSubmitForms($event)\"\r\n ></kwikui-button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}#sidebar-container{width:100%;height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center}#sidebar{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:flex-start;align-items:stretch}.uf-section-item{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;align-content:center;padding:1rem;grid-gap:1rem;gap:1rem;cursor:pointer;box-shadow:0 .1rem .5rem -.25rem gray;border-radius:.5rem;background-color:var(--tui-base-02)}.uf-section-item:hover{box-shadow:0 .2rem .75rem -.5rem #656565}#submit-sidebar-btn-container{width:100%;bottom:0px;z-index:1;padding:1rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;grid-gap:1rem;gap:1rem}#submit-sidebar-btn-container *{flex-grow:1}#uf-sections-container{display:flex;flex-direction:column;height:100%;grid-row-gap:20px;row-gap:20px;padding:1rem;overflow-y:auto}.uf-form-section-card{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:10px;column-gap:10px;border:none;border-radius:8px;background-color:#e9e9e9;height:-moz-fit-content;height:fit-content;min-height:60px;padding:10px 15px;width:100%;max-width:350px;margin:0 auto}.uf-section-item.locked{-webkit-user-select:none;user-select:none;cursor:not-allowed}.uf-form-section-card .uf-form-section-card-title{font-size:1.2em;text-align:left;line-height:1.25em}.uf-form-section-card .uf-form-section-card-action{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.uf-form-section-card .uf-form-section-card-action .uf-form-section-card-action-img{width:30px;height:30px;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;border-radius:100%;color:#fff;font-weight:bold}.uf-form-section-card-action-img.completed{background-color:#228b22;padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-action-img.edit{background-color:#dc143c;padding:.25rem;border-radius:50%;color:#fff}.uf-form-section-card-action-img.locked{background-color:gray;padding:.25rem;border-radius:50%;color:#fff}#uf-progress{display:flex;padding:1rem;flex-direction:column;align-content:center;justify-content:center;align-items:stretch;grid-gap:.5rem;gap:.5rem}#uf-progress-steps{font-size:1em;text-align:right;color:#3d3d3d}.uf-form-section-card-title{font-size:1em;font-weight:bold;color:#121212}@media screen and (max-width: 600px){#sidebar-container{max-width:unset}}.kwikid-form-header{height:70px;z-index:6}.kwikid-form-header hr{width:calc(100% - 1rem);margin-left:auto;margin-right:auto}#uf-header{display:flex;flex-direction:row;align-content:center;align-items:center;justify-content:flex-start;grid-column-gap:10px;column-gap:10px;padding:10px 20px;width:100%;max-width:calc(400px + 50vw + 2rem);margin:0 auto;height:70px;z-index:1}#uf-header #uf-header-goback-container{display:none}#uf-header #uf-header-goback-container:hover{border-radius:50%;background-color:#d3d3d3}#uf-header #uf-header-goback-container #uf-header-goback{width:100%;height:auto}#uf-header #uf-header-logo-container{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}#uf-header #uf-header-logo-container #uf-header-logo.small-icon{width:100%;height:50px}#uf-header #uf-header-logo-container #uf-header-logo.large-icon{width:100%;height:50px}#uf-header #uf-header-title-container{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;grid-row-gap:4px;row-gap:4px}#uf-header #uf-header-title-container #uf-header-title{font-size:1.4em;color:#121212}#uf-header #uf-header-title-container #uf-header-subtitle{font-size:1.2em;color:#121212}\n"], components: [{ type: i2.KwikUIProgressSegmentedComponent, selector: "kwikui-progress-segmented", inputs: ["value", "max", "size", "colors"] }, { type: i3.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["disabled", "id", "label", "showLoader", "styles", "class", "type", "appearance", "icon", "iconRight", "shape", "size"], outputs: ["onClick"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1964
2073
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDFormsListComponent, decorators: [{
|
|
1965
2074
|
type: Component,
|
|
1966
2075
|
args: [{
|
|
@@ -1968,7 +2077,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1968
2077
|
templateUrl: "./forms-list.component.html",
|
|
1969
2078
|
styleUrls: ["./forms-list.component.scss"]
|
|
1970
2079
|
}]
|
|
1971
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
2080
|
+
}], ctorParameters: function () { return []; }, propDecorators: { showFormFields: [{
|
|
2081
|
+
type: Input
|
|
2082
|
+
}], userConfig: [{
|
|
1972
2083
|
type: Input
|
|
1973
2084
|
}], formsList: [{
|
|
1974
2085
|
type: Input
|
|
@@ -2198,7 +2309,6 @@ class Converter {
|
|
|
2198
2309
|
return { field: field, connectedFieldMapping: connectedFieldMapping };
|
|
2199
2310
|
};
|
|
2200
2311
|
const getConnectedElementParentFieldMapping = (field, connectedFieldMapping) => {
|
|
2201
|
-
console.log(field, connectedFieldMapping);
|
|
2202
2312
|
if (hasKey$2(connectedFieldMapping["child"], field.key)) {
|
|
2203
2313
|
for (let connectedParentKey of connectedFieldMapping["child"][field.key]) {
|
|
2204
2314
|
if (hasKey$2(connectedFieldMapping["parent"], connectedParentKey["key"])) {
|
|
@@ -2234,37 +2344,48 @@ class Converter {
|
|
|
2234
2344
|
return field;
|
|
2235
2345
|
};
|
|
2236
2346
|
const updateFieldValidatorConfig = (field) => {
|
|
2347
|
+
var _a, _b, _c, _d, _e;
|
|
2237
2348
|
if (field.type !== "title") {
|
|
2238
2349
|
const validators = hasKey$2(field, "validators") ? field.validators : {};
|
|
2239
2350
|
field = this.setMissingFieldKeyValue(field, "validators", {});
|
|
2240
2351
|
field = this.setFieldKeyValue(field, "validators", Object.assign(Object.assign({}, field["validators"]), { min: hasKey$2(validators, "min")
|
|
2241
|
-
? validators.min
|
|
2352
|
+
? isNotEmpty$1(validators.min)
|
|
2353
|
+
? Number(validators.min)
|
|
2354
|
+
: null
|
|
2242
2355
|
: hasKey$2(field, "min")
|
|
2243
|
-
? field.min
|
|
2244
|
-
:
|
|
2245
|
-
? validators.max
|
|
2356
|
+
? Number(field.min)
|
|
2357
|
+
: null, max: hasKey$2(validators, "max")
|
|
2358
|
+
? isNotEmpty$1(validators.max)
|
|
2359
|
+
? Number(validators.max)
|
|
2360
|
+
: null
|
|
2246
2361
|
: hasKey$2(field, "max")
|
|
2247
|
-
? field.max
|
|
2248
|
-
:
|
|
2249
|
-
? validators.required
|
|
2362
|
+
? Number(field.max)
|
|
2363
|
+
: null, required: hasKey$2(validators, "required")
|
|
2364
|
+
? Boolean(validators.required)
|
|
2250
2365
|
: hasKey$2(field, "required")
|
|
2251
|
-
? field.required
|
|
2252
|
-
:
|
|
2253
|
-
? validators.minLength
|
|
2366
|
+
? Boolean(field.required)
|
|
2367
|
+
: false, minLength: hasKey$2(validators, "minLength")
|
|
2368
|
+
? isNotEmpty$1(validators.minLength)
|
|
2369
|
+
? Number(validators.minLength)
|
|
2370
|
+
: null
|
|
2254
2371
|
: hasKey$2(field, "minLength")
|
|
2255
|
-
? field.minLength
|
|
2256
|
-
:
|
|
2257
|
-
? validators.maxLength
|
|
2372
|
+
? Number(field.minLength)
|
|
2373
|
+
: null, maxLength: hasKey$2(validators, "maxLength")
|
|
2374
|
+
? isNotEmpty$1(validators.maxLength)
|
|
2375
|
+
? Number(validators.maxLength)
|
|
2376
|
+
: null
|
|
2258
2377
|
: hasKey$2(field, "length")
|
|
2259
|
-
? field.length
|
|
2378
|
+
? Number(field.length)
|
|
2260
2379
|
: hasKey$2(field, "maxLength")
|
|
2261
|
-
? field.maxLength
|
|
2262
|
-
:
|
|
2263
|
-
?
|
|
2380
|
+
? Number(field.maxLength)
|
|
2381
|
+
: null, pattern: hasKey$2(validators, "pattern")
|
|
2382
|
+
? isNotEmpty$1(validators.pattern)
|
|
2383
|
+
? validators.pattern
|
|
2384
|
+
: undefined
|
|
2264
2385
|
: hasKey$2(field, "pattern")
|
|
2265
|
-
? field.pattern
|
|
2386
|
+
? { key: "CUSTOM", pattern: String(field.pattern) }
|
|
2266
2387
|
: hasKey$2(field, "regex")
|
|
2267
|
-
? field.regex
|
|
2388
|
+
? { key: "CUSTOM", pattern: String(field.regex) }
|
|
2268
2389
|
: undefined }));
|
|
2269
2390
|
delete field.min;
|
|
2270
2391
|
delete field.max;
|
|
@@ -2274,6 +2395,29 @@ class Converter {
|
|
|
2274
2395
|
delete field.maxLength;
|
|
2275
2396
|
delete field.pattern;
|
|
2276
2397
|
delete field.regex;
|
|
2398
|
+
switch (field.type) {
|
|
2399
|
+
case "text":
|
|
2400
|
+
delete field.validators.min;
|
|
2401
|
+
delete field.validators.max;
|
|
2402
|
+
break;
|
|
2403
|
+
default:
|
|
2404
|
+
break;
|
|
2405
|
+
}
|
|
2406
|
+
if (isEmpty$1((_a = field.validators) === null || _a === void 0 ? void 0 : _a.min)) {
|
|
2407
|
+
delete field.validators.min;
|
|
2408
|
+
}
|
|
2409
|
+
if (isEmpty$1((_b = field.validators) === null || _b === void 0 ? void 0 : _b.max)) {
|
|
2410
|
+
delete field.validators.min;
|
|
2411
|
+
}
|
|
2412
|
+
if (isEmpty$1((_c = field.validators) === null || _c === void 0 ? void 0 : _c.minLength)) {
|
|
2413
|
+
delete field.validators.minLength;
|
|
2414
|
+
}
|
|
2415
|
+
if (isEmpty$1((_d = field.validators) === null || _d === void 0 ? void 0 : _d.maxLength)) {
|
|
2416
|
+
delete field.validators.maxLength;
|
|
2417
|
+
}
|
|
2418
|
+
if (isEmpty$1((_e = field.validators) === null || _e === void 0 ? void 0 : _e.pattern)) {
|
|
2419
|
+
delete field.validators.pattern;
|
|
2420
|
+
}
|
|
2277
2421
|
}
|
|
2278
2422
|
return field;
|
|
2279
2423
|
};
|
|
@@ -2770,7 +2914,7 @@ class KwikIDFormsRendererComponent {
|
|
|
2770
2914
|
}
|
|
2771
2915
|
}
|
|
2772
2916
|
/** @nocollapse */ KwikIDFormsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KwikIDFormsRendererComponent, deps: [{ token: KwikIDRendererService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2773
|
-
/** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { userConfig: "userConfig", formsData: "formsData", apiCallResponse: "apiCallResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, providers: [KwikIDRendererService], usesOnChanges: true, ngImport: i0, template: "<div ngClass=\"kwikid-renderer\">\r\n <div\r\n ngClass=\"kwikid-layout-container\"\r\n *ngIf=\"!loading\"\r\n >\r\n <div\r\n ngClass=\"kwikid-sections-container\"\r\n *ngIf=\"showFormSections\"\r\n class=\"active\"\r\n [class.active]=\"showFormSections\"\r\n [class.mobile]=\"rendererService.isMobileView\"\r\n >\r\n <kwikid-forms-list\r\n [userConfig]=\"this.userConfig\"\r\n [formsList]=\"this.rendererService.formsList\"\r\n [formsListCompleted]=\"this.rendererService.formsListCompleted\"\r\n [isMobileView]=\"this.rendererService.isMobileView\"\r\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\r\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\r\n ></kwikid-forms-list>\r\n </div>\r\n <div\r\n ngClass=\"kwikid-forms-container\"\r\n *ngIf=\"this.showForm && this.showFormFields\"\r\n [class.active]=\"showFormFields\"\r\n [class.mobile]=\"rendererService.isMobileView\"\r\n [@panelInOut]\r\n >\r\n <kwikid-form-view\r\n [formConfig]=\"this.rendererService.activeFormConfig\"\r\n [formData]=\"this.rendererService.activeFormData\"\r\n [apiCallResponse]=\"this.apiCallResponse\"\r\n [formsList]=\"this.rendererService.formsList\"\r\n [allFormsData]=\"this.rendererService.allFormsData\"\r\n [isMobileView]=\"this.rendererService.isMobileView\"\r\n (onClickApiCall)=\"this.handleOnClickApiCall($event)\"\r\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\r\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\r\n (getActiveFormData)=\"this.handleGetActiveFormData($event)\"\r\n ></kwikid-form-view>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:100%;justify-content:center;align-items:stretch;background:var(--tui-secondary);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s}.kwikid-forms-container{display:block;width:100%;max-width:50vw;margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["userConfig", "formsList", "formsListCompleted", "isMobileView"], outputs: ["onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["formConfig", "formData", "apiCallResponse", "isMobileView", "allFormsData", "formsList"], outputs: ["onClickViewForms", "onClickSaveForm", "onClickApiCall", "getActiveFormData"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
2917
|
+
/** @nocollapse */ KwikIDFormsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: KwikIDFormsRendererComponent, selector: "kwikid-forms-renderer", inputs: { userConfig: "userConfig", formsData: "formsData", apiCallResponse: "apiCallResponse" }, outputs: { onClickSubmit: "onClickSubmit", getFormData: "getFormData", onClickApiCall: "onClickApiCall" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, providers: [KwikIDRendererService], usesOnChanges: true, ngImport: i0, template: "<div ngClass=\"kwikid-renderer\">\r\n <div\r\n ngClass=\"kwikid-layout-container\"\r\n *ngIf=\"!loading\"\r\n >\r\n <div\r\n ngClass=\"kwikid-sections-container\"\r\n *ngIf=\"showFormSections\"\r\n class=\"active\"\r\n [class.active]=\"showFormSections\"\r\n [class.mobile]=\"rendererService.isMobileView\"\r\n >\r\n <kwikid-forms-list\r\n [showFormFields]=\"this.showFormFields\"\r\n [userConfig]=\"this.userConfig\"\r\n [formsList]=\"this.rendererService.formsList\"\r\n [formsListCompleted]=\"this.rendererService.formsListCompleted\"\r\n [isMobileView]=\"this.rendererService.isMobileView\"\r\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\r\n (onClickSubmitForms)=\"this.handleOnClickSubmitForms($event)\"\r\n ></kwikid-forms-list>\r\n </div>\r\n <div\r\n ngClass=\"kwikid-forms-container\"\r\n *ngIf=\"this.showForm && this.showFormFields\"\r\n [class.active]=\"showFormFields\"\r\n [class.mobile]=\"rendererService.isMobileView\"\r\n [@panelInOut]\r\n >\r\n <kwikid-form-view\r\n [formConfig]=\"this.rendererService.activeFormConfig\"\r\n [formData]=\"this.rendererService.activeFormData\"\r\n [apiCallResponse]=\"this.apiCallResponse\"\r\n [formsList]=\"this.rendererService.formsList\"\r\n [allFormsData]=\"this.rendererService.allFormsData\"\r\n [isMobileView]=\"this.rendererService.isMobileView\"\r\n (onClickApiCall)=\"this.handleOnClickApiCall($event)\"\r\n (onClickViewForms)=\"this.handleOnClickViewForms($event)\"\r\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\r\n (getActiveFormData)=\"this.handleGetActiveFormData($event)\"\r\n ></kwikid-form-view>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".kwikid-root{width:100%;height:100%}.kwikid-renderer{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-layout-container{display:flex;flex-direction:row;padding:0 1rem;height:100%;justify-content:center;align-items:stretch;background:var(--tui-secondary);position:relative}.kwikid-sections-container{display:block;width:100%;max-width:400px;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);margin:auto 1rem auto 0;box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-sections-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s}.kwikid-forms-container{display:block;width:100%;max-width:50vw;margin:auto 0;height:calc(100% - 2rem);padding:.25rem .5rem 0;border-radius:1rem;background-color:var(--tui-base-01);box-shadow:0 0 12px -8px var(--tui-primary)}.kwikid-forms-container.mobile{position:absolute;top:0;left:0;z-index:5;opacity:1;visibility:visible;transition:all 1s}@media screen and (max-width: 600px){.kwikid-layout-container{padding:0;background:transparent}.kwikid-sections-container{position:absolute;max-width:100%;bottom:-10000px;left:-10000px;opacity:0;padding:0;visibility:hidden}.kwikid-sections-container.active{visibility:visible}.kwikid-sections-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container{display:none;max-width:100%;height:100%;padding:0;border-radius:0;box-shadow:none}.kwikid-forms-container.mobile{height:100%;opacity:1;visibility:visible;transition:all 2s;border-radius:0;box-shadow:none;top:0px;margin:0;position:absolute}.kwikid-forms-container.active{display:block}}\n"], components: [{ type: KwikIDFormsListComponent, selector: "kwikid-forms-list", inputs: ["showFormFields", "userConfig", "formsList", "formsListCompleted", "isMobileView"], outputs: ["onClickSetActiveForm", "onClickHideFormsList", "onClickSubmitForms"] }, { type: KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["formConfig", "formData", "apiCallResponse", "isMobileView", "allFormsData", "formsList"], outputs: ["onClickViewForms", "onClickSaveForm", "onClickApiCall", "getActiveFormData"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
2774
2918
|
trigger("panelInOut", [
|
|
2775
2919
|
transition(":enter", [
|
|
2776
2920
|
style({ transform: "translateY(100%)" }),
|