@formio/js 5.4.0 → 5.4.2
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/README.md +11 -5
- package/dist/formio.builder.css +12 -5
- package/dist/formio.builder.min.css +1 -1
- package/dist/formio.embed.js +1 -1
- package/dist/formio.embed.min.js +1 -1
- package/dist/formio.embed.min.js.LICENSE.txt +1 -1
- package/dist/formio.form.css +12 -5
- package/dist/formio.form.js +2883 -2867
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +2 -2
- package/dist/formio.full.css +12 -5
- package/dist/formio.full.js +3507 -3491
- package/dist/formio.full.min.css +1 -1
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +2 -2
- package/dist/formio.js +1139 -1145
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +2 -2
- package/dist/formio.utils.js +1066 -1072
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +2 -2
- package/lib/cjs/Embed.js +8 -16
- package/lib/cjs/Form.js +4 -4
- package/lib/cjs/Formio.js +2 -9
- package/lib/cjs/InlineEmbed.js +1 -4
- package/lib/cjs/PDF.js +28 -8
- package/lib/cjs/PDFBuilder.js +6 -10
- package/lib/cjs/Webform.d.ts +1 -0
- package/lib/cjs/Webform.js +19 -34
- package/lib/cjs/WebformBuilder.js +27 -68
- package/lib/cjs/Wizard.d.ts +1 -0
- package/lib/cjs/Wizard.js +44 -31
- package/lib/cjs/WizardBuilder.js +5 -15
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +2 -6
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +3 -9
- package/lib/cjs/addons/index.js +1 -3
- package/lib/cjs/components/_classes/component/Component.d.ts +10 -5
- package/lib/cjs/components/_classes/component/Component.js +76 -134
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +2 -4
- package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +4 -16
- package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +1 -4
- package/lib/cjs/components/_classes/field/Field.js +1 -4
- package/lib/cjs/components/_classes/input/Input.js +2 -2
- package/lib/cjs/components/_classes/list/ListComponent.js +4 -4
- package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +6 -28
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +8 -26
- package/lib/cjs/components/_classes/nested/NestedComponent.js +1 -4
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +5 -9
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +1 -3
- package/lib/cjs/components/address/Address.js +10 -30
- package/lib/cjs/components/address/editForm/Address.edit.provider.js +8 -32
- package/lib/cjs/components/alert/Alert.js +3 -6
- package/lib/cjs/components/button/Button.d.ts +1 -0
- package/lib/cjs/components/button/Button.js +31 -17
- package/lib/cjs/components/button/editForm/Button.edit.display.js +8 -32
- package/lib/cjs/components/checkbox/Checkbox.js +4 -10
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +2 -8
- package/lib/cjs/components/columns/Columns.js +5 -17
- package/lib/cjs/components/container/Container.js +1 -3
- package/lib/cjs/components/currency/Currency.js +2 -7
- package/lib/cjs/components/datagrid/DataGrid.js +27 -68
- package/lib/cjs/components/datamap/DataMap.js +4 -16
- package/lib/cjs/components/datetime/DateTime.js +2 -6
- package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +1 -4
- package/lib/cjs/components/day/Day.js +12 -70
- package/lib/cjs/components/day/editForm/Day.edit.day.js +1 -3
- package/lib/cjs/components/day/editForm/Day.edit.month.js +1 -3
- package/lib/cjs/components/editgrid/EditGrid.d.ts +1 -0
- package/lib/cjs/components/editgrid/EditGrid.js +18 -44
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -4
- package/lib/cjs/components/file/File.js +40 -70
- package/lib/cjs/components/file/editForm/File.edit.display.js +1 -5
- package/lib/cjs/components/file/editForm/File.edit.file.js +8 -30
- package/lib/cjs/components/form/Form.js +5 -7
- package/lib/cjs/components/html/HTML.js +1 -5
- package/lib/cjs/components/number/Number.js +2 -4
- package/lib/cjs/components/panel/editForm/Panel.edit.display.js +3 -12
- package/lib/cjs/components/password/Password.js +1 -4
- package/lib/cjs/components/radio/Radio.js +7 -17
- package/lib/cjs/components/radio/editForm/Radio.edit.data.js +4 -14
- package/lib/cjs/components/recaptcha/ReCaptcha.js +3 -6
- package/lib/cjs/components/select/Select.js +49 -94
- package/lib/cjs/components/select/editForm/Select.edit.data.js +37 -182
- package/lib/cjs/components/select/editForm/Select.edit.validation.js +1 -9
- package/lib/cjs/components/selectboxes/SelectBoxes.js +3 -6
- package/lib/cjs/components/signature/Signature.d.ts +1 -1
- package/lib/cjs/components/signature/Signature.js +5 -10
- package/lib/cjs/components/signature/editForm/Signature.edit.display.js +2 -6
- package/lib/cjs/components/survey/Survey.js +6 -17
- package/lib/cjs/components/survey/editForm/Survey.edit.data.js +4 -12
- package/lib/cjs/components/table/editForm/Table.edit.display.js +3 -3
- package/lib/cjs/components/tabs/Tabs.js +4 -19
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +1 -3
- package/lib/cjs/components/tags/Tags.js +4 -14
- package/lib/cjs/components/textarea/TextArea.js +8 -15
- package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +14 -56
- package/lib/cjs/components/textfield/TextField.js +4 -4
- package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +2 -8
- package/lib/cjs/components/time/Time.js +1 -4
- package/lib/cjs/components/time/editForm/Time.edit.display.js +1 -4
- package/lib/cjs/formio.form.js +5 -5
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/providers/address/AddressProvider.js +1 -1
- package/lib/cjs/providers/address/GoogleAddressProvider.js +2 -4
- package/lib/cjs/providers/processor/fileProcessor.js +1 -3
- package/lib/cjs/providers/storage/azure.js +5 -6
- package/lib/cjs/providers/storage/indexeddb.js +5 -15
- package/lib/cjs/providers/storage/s3.js +3 -14
- package/lib/cjs/providers/storage/xhr.js +19 -28
- package/lib/cjs/templates/Templates.js +1 -0
- package/lib/cjs/translations/en.d.ts +237 -81
- package/lib/cjs/translations/en.js +10 -81
- package/lib/cjs/utils/ChoicesWrapper.js +1 -1
- package/lib/cjs/utils/builder.js +5 -26
- package/lib/cjs/utils/i18n.d.ts +5 -2
- package/lib/cjs/utils/i18n.js +33 -12
- package/lib/cjs/utils/utils.js +42 -52
- package/lib/cjs/widgets/CalendarWidget.js +2 -6
- package/lib/mjs/Embed.js +8 -16
- package/lib/mjs/Form.js +4 -4
- package/lib/mjs/Formio.js +2 -9
- package/lib/mjs/InlineEmbed.js +1 -4
- package/lib/mjs/PDF.js +27 -8
- package/lib/mjs/PDFBuilder.js +6 -10
- package/lib/mjs/Webform.d.ts +1 -0
- package/lib/mjs/Webform.js +19 -31
- package/lib/mjs/WebformBuilder.js +27 -68
- package/lib/mjs/Wizard.d.ts +1 -0
- package/lib/mjs/Wizard.js +39 -27
- package/lib/mjs/WizardBuilder.js +5 -15
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +2 -6
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +3 -9
- package/lib/mjs/addons/index.js +1 -3
- package/lib/mjs/components/_classes/component/Component.d.ts +10 -5
- package/lib/mjs/components/_classes/component/Component.js +75 -134
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +2 -4
- package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +4 -16
- package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +1 -4
- package/lib/mjs/components/_classes/field/Field.js +1 -4
- package/lib/mjs/components/_classes/input/Input.js +2 -2
- package/lib/mjs/components/_classes/list/ListComponent.js +4 -4
- package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +6 -28
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +8 -26
- package/lib/mjs/components/_classes/nested/NestedComponent.js +1 -4
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +5 -9
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +1 -3
- package/lib/mjs/components/address/Address.js +10 -30
- package/lib/mjs/components/address/editForm/Address.edit.provider.js +8 -32
- package/lib/mjs/components/alert/Alert.js +3 -6
- package/lib/mjs/components/button/Button.d.ts +1 -0
- package/lib/mjs/components/button/Button.js +29 -16
- package/lib/mjs/components/button/editForm/Button.edit.display.js +8 -32
- package/lib/mjs/components/checkbox/Checkbox.js +4 -10
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +2 -8
- package/lib/mjs/components/columns/Columns.js +5 -17
- package/lib/mjs/components/container/Container.js +1 -3
- package/lib/mjs/components/currency/Currency.js +2 -7
- package/lib/mjs/components/datagrid/DataGrid.js +28 -69
- package/lib/mjs/components/datamap/DataMap.js +12 -18
- package/lib/mjs/components/datetime/DateTime.js +2 -6
- package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +1 -4
- package/lib/mjs/components/day/Day.js +12 -70
- package/lib/mjs/components/day/editForm/Day.edit.day.js +1 -3
- package/lib/mjs/components/day/editForm/Day.edit.month.js +1 -3
- package/lib/mjs/components/editgrid/EditGrid.d.ts +1 -0
- package/lib/mjs/components/editgrid/EditGrid.js +18 -44
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -4
- package/lib/mjs/components/file/File.js +40 -70
- package/lib/mjs/components/file/editForm/File.edit.display.js +1 -5
- package/lib/mjs/components/file/editForm/File.edit.file.js +8 -30
- package/lib/mjs/components/form/Form.js +5 -7
- package/lib/mjs/components/html/HTML.js +1 -5
- package/lib/mjs/components/number/Number.js +2 -4
- package/lib/mjs/components/panel/editForm/Panel.edit.display.js +3 -12
- package/lib/mjs/components/password/Password.js +1 -4
- package/lib/mjs/components/radio/Radio.js +7 -17
- package/lib/mjs/components/radio/editForm/Radio.edit.data.js +4 -14
- package/lib/mjs/components/recaptcha/ReCaptcha.js +3 -6
- package/lib/mjs/components/select/Select.js +52 -97
- package/lib/mjs/components/select/editForm/Select.edit.data.js +37 -182
- package/lib/mjs/components/select/editForm/Select.edit.validation.js +1 -9
- package/lib/mjs/components/selectboxes/SelectBoxes.js +3 -6
- package/lib/mjs/components/signature/Signature.d.ts +1 -1
- package/lib/mjs/components/signature/Signature.js +5 -10
- package/lib/mjs/components/signature/editForm/Signature.edit.display.js +2 -6
- package/lib/mjs/components/survey/Survey.js +6 -17
- package/lib/mjs/components/survey/editForm/Survey.edit.data.js +4 -12
- package/lib/mjs/components/table/editForm/Table.edit.display.js +3 -3
- package/lib/mjs/components/tabs/Tabs.js +4 -19
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +1 -3
- package/lib/mjs/components/tags/Tags.js +4 -14
- package/lib/mjs/components/textarea/TextArea.js +8 -15
- package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +14 -56
- package/lib/mjs/components/textfield/TextField.js +4 -4
- package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +2 -8
- package/lib/mjs/components/time/Time.js +1 -4
- package/lib/mjs/components/time/editForm/Time.edit.display.js +1 -4
- package/lib/mjs/formio.form.js +6 -6
- package/lib/mjs/package.json +1 -1
- package/lib/mjs/providers/address/AddressProvider.js +1 -1
- package/lib/mjs/providers/address/GoogleAddressProvider.js +2 -4
- package/lib/mjs/providers/processor/fileProcessor.js +1 -3
- package/lib/mjs/providers/storage/azure.js +5 -6
- package/lib/mjs/providers/storage/indexeddb.js +5 -15
- package/lib/mjs/providers/storage/s3.js +3 -14
- package/lib/mjs/providers/storage/xhr.js +19 -32
- package/lib/mjs/templates/Templates.js +1 -0
- package/lib/mjs/translations/en.d.ts +237 -81
- package/lib/mjs/translations/en.js +91 -1
- package/lib/mjs/utils/ChoicesWrapper.js +1 -1
- package/lib/mjs/utils/builder.js +5 -26
- package/lib/mjs/utils/i18n.d.ts +5 -2
- package/lib/mjs/utils/i18n.js +33 -12
- package/lib/mjs/utils/utils.js +42 -52
- package/lib/mjs/widgets/CalendarWidget.js +2 -6
- package/package.json +8 -6
|
@@ -120,10 +120,10 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
|
120
120
|
}
|
|
121
121
|
get defaultDialogTemplate() {
|
|
122
122
|
return `
|
|
123
|
-
<h3 ${this._referenceAttributeName}="dialogHeader">${this.t('
|
|
123
|
+
<h3 ${this._referenceAttributeName}="dialogHeader">${this.t('wantToClearData')}</h3>
|
|
124
124
|
<div style="display:flex; justify-content: flex-end;">
|
|
125
|
-
<button ${this._referenceAttributeName}="dialogCancelButton" class="btn btn-secondary" aria-label="${this.t('
|
|
126
|
-
<button ${this._referenceAttributeName}="dialogYesButton" class="btn btn-danger" aria-label="${this.t('
|
|
125
|
+
<button ${this._referenceAttributeName}="dialogCancelButton" class="btn btn-secondary" aria-label="${this.t('cancel')}">${this.t('cancel')}</button>
|
|
126
|
+
<button ${this._referenceAttributeName}="dialogYesButton" class="btn btn-danger" aria-label="${this.t('yesDelete')}">${this.t('yesDelete')}</button>
|
|
127
127
|
</div>
|
|
128
128
|
`;
|
|
129
129
|
}
|
|
@@ -258,6 +258,12 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
|
258
258
|
this.fullMode &&
|
|
259
259
|
this.dataValue.length > lodash_1.default.get(this.component, 'validate.minLength', 0));
|
|
260
260
|
}
|
|
261
|
+
checkData(data, flags, row) {
|
|
262
|
+
super.checkData(data, flags, row);
|
|
263
|
+
if (this.type === 'editgrid' && (flags === null || flags === void 0 ? void 0 : flags.fromSubmission)) {
|
|
264
|
+
return this.redraw();
|
|
265
|
+
}
|
|
266
|
+
}
|
|
261
267
|
init() {
|
|
262
268
|
if (this.builderMode) {
|
|
263
269
|
this.editRows = [];
|
|
@@ -307,19 +313,11 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
|
307
313
|
});
|
|
308
314
|
}
|
|
309
315
|
isOpen(editRow) {
|
|
310
|
-
return [
|
|
311
|
-
EditRowState.New,
|
|
312
|
-
EditRowState.Editing,
|
|
313
|
-
EditRowState.Viewing,
|
|
314
|
-
].includes(editRow.state);
|
|
316
|
+
return [EditRowState.New, EditRowState.Editing, EditRowState.Viewing].includes(editRow.state);
|
|
315
317
|
}
|
|
316
318
|
isComponentVisibleInSomeRow(component) {
|
|
317
319
|
const rows = this.editRows;
|
|
318
|
-
const savedStates = [
|
|
319
|
-
EditRowState.Saved,
|
|
320
|
-
EditRowState.Editing,
|
|
321
|
-
EditRowState.Draft,
|
|
322
|
-
];
|
|
320
|
+
const savedStates = [EditRowState.Saved, EditRowState.Editing, EditRowState.Draft];
|
|
323
321
|
const savedRows = rows.filter((row) => lodash_1.default.includes(savedStates, row.state));
|
|
324
322
|
this.visibleInHeader = this.visibleInHeader || [];
|
|
325
323
|
const changeVisibleInHeader = (component, isVisible) => {
|
|
@@ -340,9 +338,7 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
|
340
338
|
comp.checkConditions();
|
|
341
339
|
});
|
|
342
340
|
const isVisible = checkComponent ? checkComponent.visible : true;
|
|
343
|
-
[
|
|
344
|
-
...this.components,
|
|
345
|
-
].forEach((comp) => this.removeComponent(comp, this.components));
|
|
341
|
+
[...this.components].forEach((comp) => this.removeComponent(comp, this.components));
|
|
346
342
|
changeVisibleInHeader(component, isVisible);
|
|
347
343
|
return isVisible;
|
|
348
344
|
}
|
|
@@ -483,10 +479,7 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
|
483
479
|
const elements = row.getElementsByClassName(className);
|
|
484
480
|
Array.prototype.forEach.call(elements, (element) => {
|
|
485
481
|
if (this.options.pdf &&
|
|
486
|
-
lodash_1.default.intersection(element.classList, [
|
|
487
|
-
'editRow',
|
|
488
|
-
'removeRow',
|
|
489
|
-
]).length) {
|
|
482
|
+
lodash_1.default.intersection(element.classList, ['editRow', 'removeRow']).length) {
|
|
490
483
|
element.style.display = 'none';
|
|
491
484
|
}
|
|
492
485
|
else {
|
|
@@ -542,7 +535,7 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
|
542
535
|
flattenedComponents,
|
|
543
536
|
displayValue: (component) => this.displayComponentValue(component),
|
|
544
537
|
isVisibleInRow: (component) => this.isComponentVisibleInRow(component, flattenedComponents),
|
|
545
|
-
getView: (component,
|
|
538
|
+
getView: (component, _data) => {
|
|
546
539
|
var _a, _b;
|
|
547
540
|
const instance = flattenedComponents[component.key];
|
|
548
541
|
const view = instance ? instance.getView(instance.dataValue) : '';
|
|
@@ -1056,10 +1049,7 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
|
1056
1049
|
editRow.errors =
|
|
1057
1050
|
this.component.modal || this.component.rowDrafts
|
|
1058
1051
|
? errors
|
|
1059
|
-
: errors.filter((err) => lodash_1.default.find(this.visibleErrors, [
|
|
1060
|
-
'component.id',
|
|
1061
|
-
err.component.id,
|
|
1062
|
-
]));
|
|
1052
|
+
: errors.filter((err) => lodash_1.default.find(this.visibleErrors, ['component.id', err.component.id]));
|
|
1063
1053
|
}
|
|
1064
1054
|
// TODO: this is essentially running its own custom validation and should be moved into a validation rule
|
|
1065
1055
|
if (this.component.validate && this.component.validate.row) {
|
|
@@ -1077,7 +1067,7 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
|
1077
1067
|
if (valid === null) {
|
|
1078
1068
|
editRow.errors.push({
|
|
1079
1069
|
type: 'error',
|
|
1080
|
-
message:
|
|
1070
|
+
message: this.t('componentInvalidRowValidation', { componentKey: this.key })
|
|
1081
1071
|
});
|
|
1082
1072
|
}
|
|
1083
1073
|
}
|
|
@@ -1107,7 +1097,7 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
|
1107
1097
|
return true;
|
|
1108
1098
|
}
|
|
1109
1099
|
checkComponentValidity(data, dirty, row, options = {}, errors = []) {
|
|
1110
|
-
var _a
|
|
1100
|
+
var _a;
|
|
1111
1101
|
const { silentCheck, fromSubmission } = options;
|
|
1112
1102
|
const superValid = super.checkComponentValidity(data, dirty, row, options, errors);
|
|
1113
1103
|
// If super tells us that component invalid and there is no need to update alerts, just return false
|
|
@@ -1155,20 +1145,6 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
|
1155
1145
|
errors.push(...this._errors);
|
|
1156
1146
|
return false;
|
|
1157
1147
|
}
|
|
1158
|
-
// TODO: this is the only place invalidMessage gets called, and it's not clear why it's needed - we already validate the editGrid
|
|
1159
|
-
// component above with super.checkComponentValidity
|
|
1160
|
-
const message = this.invalid || this.invalidMessage(data, dirty, false, row, options);
|
|
1161
|
-
if (allRowErrors.length && ((_b = this.root) === null || _b === void 0 ? void 0 : _b.submitted) && !message) {
|
|
1162
|
-
this._errors = this.setCustomValidity(message, dirty);
|
|
1163
|
-
errors.push(...this._errors);
|
|
1164
|
-
(_c = this.root) === null || _c === void 0 ? void 0 : _c.showErrors([
|
|
1165
|
-
message,
|
|
1166
|
-
]);
|
|
1167
|
-
}
|
|
1168
|
-
else {
|
|
1169
|
-
this._errors = this.setCustomValidity(message, dirty);
|
|
1170
|
-
errors.push(...this._errors);
|
|
1171
|
-
}
|
|
1172
1148
|
return superValid;
|
|
1173
1149
|
}
|
|
1174
1150
|
setRowInvalid(ref, index) {
|
|
@@ -1196,9 +1172,7 @@ class EditGridComponent extends NestedArrayComponent_1.default {
|
|
|
1196
1172
|
}
|
|
1197
1173
|
if (!Array.isArray(value)) {
|
|
1198
1174
|
if (typeof value === 'object') {
|
|
1199
|
-
value = [
|
|
1200
|
-
value,
|
|
1201
|
-
];
|
|
1175
|
+
value = [value];
|
|
1202
1176
|
}
|
|
1203
1177
|
else {
|
|
1204
1178
|
return false;
|
|
@@ -37,9 +37,7 @@ if (htmlCanvasElement && !htmlCanvasElement.prototype.toBlob) {
|
|
|
37
37
|
for (var i = 0; i < len; i++) {
|
|
38
38
|
arr[i] = binStr.charCodeAt(i);
|
|
39
39
|
}
|
|
40
|
-
callback(new Blob([
|
|
41
|
-
arr,
|
|
42
|
-
], { type: type || 'image/png' }));
|
|
40
|
+
callback(new Blob([arr], { type: type || 'image/png' }));
|
|
43
41
|
});
|
|
44
42
|
},
|
|
45
43
|
});
|
|
@@ -74,16 +72,11 @@ class FileComponent extends Field_1.default {
|
|
|
74
72
|
return FileComponent.conditionOperatorsSettings;
|
|
75
73
|
}
|
|
76
74
|
static get conditionOperatorsSettings() {
|
|
77
|
-
return Object.assign(Object.assign({}, super.conditionOperatorsSettings), { operators: [
|
|
78
|
-
'isEmpty',
|
|
79
|
-
'isNotEmpty',
|
|
80
|
-
] });
|
|
75
|
+
return Object.assign(Object.assign({}, super.conditionOperatorsSettings), { operators: ['isEmpty', 'isNotEmpty'] });
|
|
81
76
|
}
|
|
82
77
|
static savedValueTypes(schema) {
|
|
83
78
|
schema = schema || {};
|
|
84
|
-
return (
|
|
85
|
-
utils_1.componentValueTypes.object,
|
|
86
|
-
]);
|
|
79
|
+
return (0, utils_1.getComponentSavedTypes)(schema) || [utils_1.componentValueTypes.object];
|
|
87
80
|
}
|
|
88
81
|
init() {
|
|
89
82
|
super.init();
|
|
@@ -219,7 +212,7 @@ class FileComponent extends Field_1.default {
|
|
|
219
212
|
this.videoStream = stream;
|
|
220
213
|
const { videoPlayer } = this.refs;
|
|
221
214
|
if (!videoPlayer) {
|
|
222
|
-
console.warn(
|
|
215
|
+
console.warn(this.t('videoPlayerNotFound'));
|
|
223
216
|
this.cameraMode = false;
|
|
224
217
|
this.redraw();
|
|
225
218
|
return;
|
|
@@ -244,16 +237,14 @@ class FileComponent extends Field_1.default {
|
|
|
244
237
|
takePicture() {
|
|
245
238
|
const { videoPlayer } = this.refs;
|
|
246
239
|
if (!videoPlayer) {
|
|
247
|
-
console.warn(
|
|
240
|
+
console.warn(this.t('videoPlayerNotFound'));
|
|
248
241
|
this.cameraMode = false;
|
|
249
242
|
this.redraw();
|
|
250
243
|
return;
|
|
251
244
|
}
|
|
252
245
|
this.getFrame(videoPlayer).then((frame) => {
|
|
253
246
|
frame.name = `photo-${Date.now()}.png`;
|
|
254
|
-
this.handleFilesToUpload([
|
|
255
|
-
frame,
|
|
256
|
-
]);
|
|
247
|
+
this.handleFilesToUpload([frame]);
|
|
257
248
|
this.cameraMode = false;
|
|
258
249
|
this.redraw();
|
|
259
250
|
});
|
|
@@ -428,13 +419,9 @@ class FileComponent extends Field_1.default {
|
|
|
428
419
|
fileEntry.file((file) => {
|
|
429
420
|
const reader = new FileReader();
|
|
430
421
|
reader.onloadend = (evt) => {
|
|
431
|
-
const blob = new Blob([
|
|
432
|
-
new Uint8Array(evt.target.result),
|
|
433
|
-
], { type: file.type });
|
|
422
|
+
const blob = new Blob([new Uint8Array(evt.target.result)], { type: file.type });
|
|
434
423
|
blob.name = file.name;
|
|
435
|
-
this.handleFilesToUpload([
|
|
436
|
-
blob,
|
|
437
|
-
]);
|
|
424
|
+
this.handleFilesToUpload([blob]);
|
|
438
425
|
};
|
|
439
426
|
reader.readAsArrayBuffer(file);
|
|
440
427
|
});
|
|
@@ -454,13 +441,9 @@ class FileComponent extends Field_1.default {
|
|
|
454
441
|
fileEntry.file((file) => {
|
|
455
442
|
const reader = new FileReader();
|
|
456
443
|
reader.onloadend = (evt) => {
|
|
457
|
-
const blob = new Blob([
|
|
458
|
-
new Uint8Array(evt.target.result),
|
|
459
|
-
], { type: file.type });
|
|
444
|
+
const blob = new Blob([new Uint8Array(evt.target.result)], { type: file.type });
|
|
460
445
|
blob.name = file.name;
|
|
461
|
-
this.handleFilesToUpload([
|
|
462
|
-
blob,
|
|
463
|
-
]);
|
|
446
|
+
this.handleFilesToUpload([blob]);
|
|
464
447
|
};
|
|
465
448
|
reader.readAsArrayBuffer(file);
|
|
466
449
|
});
|
|
@@ -631,7 +614,7 @@ class FileComponent extends Field_1.default {
|
|
|
631
614
|
if (!target.id) {
|
|
632
615
|
return;
|
|
633
616
|
}
|
|
634
|
-
const [action, id
|
|
617
|
+
const [action, id] = target.id.split('-');
|
|
635
618
|
if (!action || !id || !this.actions[action]) {
|
|
636
619
|
return;
|
|
637
620
|
}
|
|
@@ -656,7 +639,7 @@ class FileComponent extends Field_1.default {
|
|
|
656
639
|
file,
|
|
657
640
|
size: file.size,
|
|
658
641
|
status: 'info',
|
|
659
|
-
message: this.t('
|
|
642
|
+
message: this.t('waitFileProcessing'),
|
|
660
643
|
hash: '',
|
|
661
644
|
};
|
|
662
645
|
}
|
|
@@ -687,7 +670,7 @@ class FileComponent extends Field_1.default {
|
|
|
687
670
|
return fileWithSameNameUploaded || fileWithSameNameUploading
|
|
688
671
|
? {
|
|
689
672
|
status: 'error',
|
|
690
|
-
message: this.t(
|
|
673
|
+
message: this.t(fileWithSameNameUploading ? 'fileWithDuplicatedNameInProgress' : 'fileWithDuplicatedNameLoaded'),
|
|
691
674
|
}
|
|
692
675
|
: {};
|
|
693
676
|
}
|
|
@@ -696,7 +679,7 @@ class FileComponent extends Field_1.default {
|
|
|
696
679
|
if (this.component.filePattern && !this.validatePattern(file, this.component.filePattern)) {
|
|
697
680
|
return {
|
|
698
681
|
status: 'error',
|
|
699
|
-
message: this.t('
|
|
682
|
+
message: this.t('wrongFileType', {
|
|
700
683
|
pattern: this.component.filePattern,
|
|
701
684
|
}),
|
|
702
685
|
};
|
|
@@ -709,7 +692,7 @@ class FileComponent extends Field_1.default {
|
|
|
709
692
|
if (!interpolatedMinSize) {
|
|
710
693
|
return {
|
|
711
694
|
status: 'error',
|
|
712
|
-
message: '
|
|
695
|
+
message: this.t('checkEnteredParameters'),
|
|
713
696
|
};
|
|
714
697
|
}
|
|
715
698
|
if (!this.validateMinSize(file, interpolatedMinSize)) {
|
|
@@ -727,7 +710,7 @@ class FileComponent extends Field_1.default {
|
|
|
727
710
|
if (!interpolatedMaxSize) {
|
|
728
711
|
return {
|
|
729
712
|
status: 'error',
|
|
730
|
-
message: '
|
|
713
|
+
message: this.t('checkEnteredParameters'),
|
|
731
714
|
};
|
|
732
715
|
}
|
|
733
716
|
if (!this.validateMaxSize(file, interpolatedMaxSize)) {
|
|
@@ -746,7 +729,7 @@ class FileComponent extends Field_1.default {
|
|
|
746
729
|
return !fileService
|
|
747
730
|
? {
|
|
748
731
|
status: 'error',
|
|
749
|
-
message: this.t('
|
|
732
|
+
message: this.t('noFileService'),
|
|
750
733
|
}
|
|
751
734
|
: {};
|
|
752
735
|
}
|
|
@@ -778,11 +761,7 @@ class FileComponent extends Field_1.default {
|
|
|
778
761
|
]
|
|
779
762
|
: element.component.submissionAccess;
|
|
780
763
|
groupPermissions.forEach((permission) => {
|
|
781
|
-
groupKey = [
|
|
782
|
-
'admin',
|
|
783
|
-
'write',
|
|
784
|
-
'create',
|
|
785
|
-
].includes(permission.type)
|
|
764
|
+
groupKey = ['admin', 'write', 'create'].includes(permission.type)
|
|
786
765
|
? element.component.key
|
|
787
766
|
: null;
|
|
788
767
|
});
|
|
@@ -806,7 +785,7 @@ class FileComponent extends Field_1.default {
|
|
|
806
785
|
this.fileDropHidden = false;
|
|
807
786
|
return {
|
|
808
787
|
status: 'error',
|
|
809
|
-
message: this.t('
|
|
788
|
+
message: this.t('fileProcessingFailed'),
|
|
810
789
|
};
|
|
811
790
|
}
|
|
812
791
|
finally {
|
|
@@ -842,7 +821,7 @@ class FileComponent extends Field_1.default {
|
|
|
842
821
|
return this.filesToSync.filesToUpload.push(fileToSync);
|
|
843
822
|
}
|
|
844
823
|
if (this.autoSync) {
|
|
845
|
-
fileToSync.message = this.t('
|
|
824
|
+
fileToSync.message = this.t('readyForUpload');
|
|
846
825
|
}
|
|
847
826
|
this.filesToSync.filesToUpload.push(Object.assign(Object.assign({}, fileToSync), { message: fileToSync.message, file: processedFile.file || file, url: this.interpolate(this.component.url, { file: fileToSync }), groupPermissions, groupResourceId: groupKey ? this.currentForm.submission.data[groupKey]._id : null }));
|
|
848
827
|
});
|
|
@@ -855,9 +834,7 @@ class FileComponent extends Field_1.default {
|
|
|
855
834
|
}
|
|
856
835
|
if (this.component.storage && files && files.length) {
|
|
857
836
|
this.fileDropHidden = true;
|
|
858
|
-
return Promise.all([
|
|
859
|
-
...files,
|
|
860
|
-
].map((file) => __awaiter(this, void 0, void 0, function* () {
|
|
837
|
+
return Promise.all([...files].map((file) => __awaiter(this, void 0, void 0, function* () {
|
|
861
838
|
yield this.prepareFileToUpload(file);
|
|
862
839
|
this.redraw();
|
|
863
840
|
})));
|
|
@@ -877,8 +854,8 @@ class FileComponent extends Field_1.default {
|
|
|
877
854
|
}
|
|
878
855
|
prepareFileToDelete(fileInfo) {
|
|
879
856
|
this.filesToSync.filesToDelete.push(Object.assign(Object.assign({}, fileInfo), { status: 'info', message: this.autoSync
|
|
880
|
-
? this.t('
|
|
881
|
-
: this.t('
|
|
857
|
+
? this.t('readyForRemovingFromStorage')
|
|
858
|
+
: this.t('preparingFileToRemove') }));
|
|
882
859
|
const index = this.dataValue.findIndex((file) => file.name === fileInfo.name);
|
|
883
860
|
this.splice(index);
|
|
884
861
|
this.redraw();
|
|
@@ -893,13 +870,7 @@ class FileComponent extends Field_1.default {
|
|
|
893
870
|
return __awaiter(this, void 0, void 0, function* () {
|
|
894
871
|
const { options = {} } = this.component;
|
|
895
872
|
if (fileInfo &&
|
|
896
|
-
[
|
|
897
|
-
'url',
|
|
898
|
-
'indexeddb',
|
|
899
|
-
's3',
|
|
900
|
-
'azure',
|
|
901
|
-
'googledrive',
|
|
902
|
-
].includes(this.component.storage)) {
|
|
873
|
+
['url', 'indexeddb', 's3', 'azure', 'googledrive'].includes(this.component.storage)) {
|
|
903
874
|
const { fileService } = this;
|
|
904
875
|
if (fileService && typeof fileService.deleteFile === 'function') {
|
|
905
876
|
return yield fileService.deleteFile(fileInfo, options);
|
|
@@ -925,7 +896,7 @@ class FileComponent extends Field_1.default {
|
|
|
925
896
|
}
|
|
926
897
|
yield this.deleteFile(fileToSync);
|
|
927
898
|
fileToSync.status = 'success';
|
|
928
|
-
fileToSync.message = this.t('
|
|
899
|
+
fileToSync.message = this.t('succefullyRemoved');
|
|
929
900
|
}
|
|
930
901
|
catch (response) {
|
|
931
902
|
fileToSync.status = 'error';
|
|
@@ -995,14 +966,14 @@ class FileComponent extends Field_1.default {
|
|
|
995
966
|
fileInfo,
|
|
996
967
|
};
|
|
997
968
|
}
|
|
998
|
-
if (fileToSync.status ===
|
|
999
|
-
const uploadedFile = this.resolvedFiles.find(x => x.fileToSync.originalName === fileToSync.originalName);
|
|
969
|
+
if (fileToSync.status === 'success') {
|
|
970
|
+
const uploadedFile = this.resolvedFiles.find((x) => x.fileToSync.originalName === fileToSync.originalName);
|
|
1000
971
|
return {
|
|
1001
972
|
fileToSync: uploadedFile.fileToSync,
|
|
1002
973
|
fileInfo: uploadedFile.fileInfo,
|
|
1003
974
|
};
|
|
1004
975
|
}
|
|
1005
|
-
const pendingFile = this.pendingfiles.find(x => x.name === fileToSync.name);
|
|
976
|
+
const pendingFile = this.pendingfiles.find((x) => x.name === fileToSync.name);
|
|
1006
977
|
if (pendingFile) {
|
|
1007
978
|
fileInfo = yield pendingFile.fileInfoProm;
|
|
1008
979
|
}
|
|
@@ -1011,9 +982,9 @@ class FileComponent extends Field_1.default {
|
|
|
1011
982
|
this.pendingfiles.push({ name: fileToSync.name, fileInfoProm: promInfo });
|
|
1012
983
|
fileInfo = yield promInfo;
|
|
1013
984
|
}
|
|
1014
|
-
this.pendingfiles = this.pendingfiles.filter(x => x.name !== fileToSync.name);
|
|
985
|
+
this.pendingfiles = this.pendingfiles.filter((x) => x.name !== fileToSync.name);
|
|
1015
986
|
fileToSync.status = 'success';
|
|
1016
|
-
fileToSync.message = this.t('
|
|
987
|
+
fileToSync.message = this.t('succefullyUploaded');
|
|
1017
988
|
fileInfo.originalName = fileToSync.originalName;
|
|
1018
989
|
fileInfo.hash = fileToSync.hash;
|
|
1019
990
|
this.emit('fileUploadingEnd', Promise.resolve(fileInfo));
|
|
@@ -1025,7 +996,7 @@ class FileComponent extends Field_1.default {
|
|
|
1025
996
|
typeof response === 'string'
|
|
1026
997
|
? response
|
|
1027
998
|
: response.type === 'abort'
|
|
1028
|
-
? this.t('
|
|
999
|
+
? this.t('requestAborted')
|
|
1029
1000
|
: response.toString();
|
|
1030
1001
|
this.emit('fileUploadingEnd', Promise.reject(response));
|
|
1031
1002
|
this.emit(lodash_1.default.get(response, 'type') === 'abort' ? 'fileUploadCanceled' : 'fileUploadError', {
|
|
@@ -1036,9 +1007,11 @@ class FileComponent extends Field_1.default {
|
|
|
1036
1007
|
finally {
|
|
1037
1008
|
delete fileToSync.progress;
|
|
1038
1009
|
this.redraw();
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1010
|
+
if (fileInfo) {
|
|
1011
|
+
const fileExists = this.resolvedFiles.find(x => x.fileInfo.originalName === fileToSync.originalName);
|
|
1012
|
+
if (!fileExists && fileToSync.status !== 'error') {
|
|
1013
|
+
this.resolvedFiles.push({ fileToSync, fileInfo });
|
|
1014
|
+
}
|
|
1042
1015
|
}
|
|
1043
1016
|
}
|
|
1044
1017
|
return {
|
|
@@ -1055,7 +1028,7 @@ class FileComponent extends Field_1.default {
|
|
|
1055
1028
|
this.fileDropHidden = true;
|
|
1056
1029
|
this.redraw();
|
|
1057
1030
|
try {
|
|
1058
|
-
const [filesToDelete = [], filesToUpload = []
|
|
1031
|
+
const [filesToDelete = [], filesToUpload = []] = yield Promise.all([
|
|
1059
1032
|
this.delete(),
|
|
1060
1033
|
this.upload(),
|
|
1061
1034
|
]);
|
|
@@ -1095,7 +1068,7 @@ class FileComponent extends Field_1.default {
|
|
|
1095
1068
|
const { options = {} } = this.component;
|
|
1096
1069
|
const { fileService } = this;
|
|
1097
1070
|
if (!fileService) {
|
|
1098
|
-
return alert('
|
|
1071
|
+
return alert(this.t('noFileService'));
|
|
1099
1072
|
}
|
|
1100
1073
|
if (this.component.privateDownload) {
|
|
1101
1074
|
fileInfo.private = true;
|
|
@@ -1104,10 +1077,7 @@ class FileComponent extends Field_1.default {
|
|
|
1104
1077
|
.downloadFile(fileInfo, options)
|
|
1105
1078
|
.then((file) => {
|
|
1106
1079
|
if (file) {
|
|
1107
|
-
if ([
|
|
1108
|
-
'base64',
|
|
1109
|
-
'indexeddb',
|
|
1110
|
-
].includes(file.storage)) {
|
|
1080
|
+
if (['base64', 'indexeddb'].includes(file.storage)) {
|
|
1111
1081
|
(0, downloadjs_1.default)(file.url, file.originalName || file.name, file.type);
|
|
1112
1082
|
}
|
|
1113
1083
|
else {
|
|
@@ -1136,7 +1106,7 @@ class FileComponent extends Field_1.default {
|
|
|
1136
1106
|
return Promise.resolve();
|
|
1137
1107
|
}
|
|
1138
1108
|
yield this.syncFiles();
|
|
1139
|
-
return this.shouldSyncFiles ? Promise.reject('
|
|
1109
|
+
return this.shouldSyncFiles ? Promise.reject(this.t('synchronizationFailed')) : Promise.resolve();
|
|
1140
1110
|
}
|
|
1141
1111
|
catch (error) {
|
|
1142
1112
|
return Promise.reject(error.message);
|
|
@@ -33,10 +33,7 @@ exports.default = [
|
|
|
33
33
|
tooltip: "The <a href='https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html'>S3 Multipart Upload API</a> is designed to improve the upload experience for larger objects (> 5GB).",
|
|
34
34
|
conditional: {
|
|
35
35
|
json: {
|
|
36
|
-
'===': [
|
|
37
|
-
{ var: 'data.storage' },
|
|
38
|
-
's3',
|
|
39
|
-
],
|
|
36
|
+
'===': [{ var: 'data.storage' }, 's3'],
|
|
40
37
|
},
|
|
41
38
|
},
|
|
42
39
|
},
|
|
@@ -68,10 +65,7 @@ exports.default = [
|
|
|
68
65
|
],
|
|
69
66
|
conditional: {
|
|
70
67
|
json: {
|
|
71
|
-
'===': [
|
|
72
|
-
{ var: 'data.useMultipartUpload' },
|
|
73
|
-
true,
|
|
74
|
-
],
|
|
68
|
+
'===': [{ var: 'data.useMultipartUpload' }, true],
|
|
75
69
|
},
|
|
76
70
|
},
|
|
77
71
|
},
|
|
@@ -85,10 +79,7 @@ exports.default = [
|
|
|
85
79
|
tooltip: "See <a href='https://github.com/danialfarid/ng-file-upload#server-side' target='_blank'>https://github.com/danialfarid/ng-file-upload#server-side</a> for how to set up the server.",
|
|
86
80
|
conditional: {
|
|
87
81
|
json: {
|
|
88
|
-
'===': [
|
|
89
|
-
{ var: 'data.storage' },
|
|
90
|
-
'url',
|
|
91
|
-
],
|
|
82
|
+
'===': [{ var: 'data.storage' }, 'url'],
|
|
92
83
|
},
|
|
93
84
|
},
|
|
94
85
|
},
|
|
@@ -105,9 +96,7 @@ exports.default = [
|
|
|
105
96
|
{
|
|
106
97
|
var: 'data.storage',
|
|
107
98
|
},
|
|
108
|
-
[
|
|
109
|
-
'indexeddb',
|
|
110
|
-
],
|
|
99
|
+
['indexeddb'],
|
|
111
100
|
],
|
|
112
101
|
},
|
|
113
102
|
},
|
|
@@ -125,9 +114,7 @@ exports.default = [
|
|
|
125
114
|
{
|
|
126
115
|
var: 'data.storage',
|
|
127
116
|
},
|
|
128
|
-
[
|
|
129
|
-
'indexeddb',
|
|
130
|
-
],
|
|
117
|
+
['indexeddb'],
|
|
131
118
|
],
|
|
132
119
|
},
|
|
133
120
|
},
|
|
@@ -301,10 +288,7 @@ exports.default = [
|
|
|
301
288
|
weight: 31,
|
|
302
289
|
conditional: {
|
|
303
290
|
json: {
|
|
304
|
-
'===': [
|
|
305
|
-
{ var: 'data.storage' },
|
|
306
|
-
'url',
|
|
307
|
-
],
|
|
291
|
+
'===': [{ var: 'data.storage' }, 'url'],
|
|
308
292
|
},
|
|
309
293
|
},
|
|
310
294
|
},
|
|
@@ -318,10 +302,7 @@ exports.default = [
|
|
|
318
302
|
weight: 40,
|
|
319
303
|
conditional: {
|
|
320
304
|
json: {
|
|
321
|
-
'==': [
|
|
322
|
-
{ var: 'data.image' },
|
|
323
|
-
true,
|
|
324
|
-
],
|
|
305
|
+
'==': [{ var: 'data.image' }, true],
|
|
325
306
|
},
|
|
326
307
|
},
|
|
327
308
|
},
|
|
@@ -343,10 +324,7 @@ exports.default = [
|
|
|
343
324
|
weight: 38,
|
|
344
325
|
conditional: {
|
|
345
326
|
json: {
|
|
346
|
-
'==': [
|
|
347
|
-
{ var: 'data.webcam' },
|
|
348
|
-
true,
|
|
349
|
-
],
|
|
327
|
+
'==': [{ var: 'data.webcam' }, true],
|
|
350
328
|
},
|
|
351
329
|
},
|
|
352
330
|
},
|
|
@@ -34,9 +34,7 @@ class FormComponent extends Component_1.default {
|
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
static savedValueTypes() {
|
|
37
|
-
return [
|
|
38
|
-
utils_1.componentValueTypes.object,
|
|
39
|
-
];
|
|
37
|
+
return [utils_1.componentValueTypes.object];
|
|
40
38
|
}
|
|
41
39
|
init() {
|
|
42
40
|
super.init();
|
|
@@ -222,7 +220,7 @@ class FormComponent extends Component_1.default {
|
|
|
222
220
|
}
|
|
223
221
|
render() {
|
|
224
222
|
if (this.builderMode) {
|
|
225
|
-
return super.render(this.component.label || '
|
|
223
|
+
return super.render(this.t(this.component.label || 'nestedForm'));
|
|
226
224
|
}
|
|
227
225
|
const subform = this.subForm ? this.subForm.render() : this.renderTemplate('loading');
|
|
228
226
|
return super.render(subform);
|
|
@@ -235,13 +233,13 @@ class FormComponent extends Component_1.default {
|
|
|
235
233
|
*/
|
|
236
234
|
getValueAsString(value, options) {
|
|
237
235
|
if (!value) {
|
|
238
|
-
return '
|
|
236
|
+
return this.t('noDataProvided');
|
|
239
237
|
}
|
|
240
238
|
if (!value.data && value._id) {
|
|
241
239
|
return value._id;
|
|
242
240
|
}
|
|
243
241
|
if (!value.data || !Object.keys(value.data).length) {
|
|
244
|
-
return '
|
|
242
|
+
return this.t('noDataProvided');
|
|
245
243
|
}
|
|
246
244
|
if (options === null || options === void 0 ? void 0 : options.email) {
|
|
247
245
|
let result = `
|
|
@@ -710,7 +708,7 @@ class FormComponent extends Component_1.default {
|
|
|
710
708
|
: {};
|
|
711
709
|
this.subForm.setUrl(submissionUrl, Object.assign(Object.assign({}, this.options), options));
|
|
712
710
|
this.subForm.loadSubmission().catch((err) => {
|
|
713
|
-
console.error(
|
|
711
|
+
console.error(this.t('subformSubmissionLoadingError', { submissionId: submission._id }), err);
|
|
714
712
|
});
|
|
715
713
|
}
|
|
716
714
|
else {
|
|
@@ -48,9 +48,7 @@ class NumberComponent extends Input_1.default {
|
|
|
48
48
|
}
|
|
49
49
|
static savedValueTypes(schema) {
|
|
50
50
|
schema = schema || {};
|
|
51
|
-
return (
|
|
52
|
-
utils_1.componentValueTypes.number,
|
|
53
|
-
]);
|
|
51
|
+
return (0, utils_1.getComponentSavedTypes)(schema) || [utils_1.componentValueTypes.number];
|
|
54
52
|
}
|
|
55
53
|
constructor(...args) {
|
|
56
54
|
var _a, _b, _c;
|
|
@@ -72,7 +70,7 @@ class NumberComponent extends Input_1.default {
|
|
|
72
70
|
if (this.component.thousandsSeparator ||
|
|
73
71
|
((_c = this.options.properties) === null || _c === void 0 ? void 0 : _c.thousandsSeparator) ||
|
|
74
72
|
this.options.thousandsSeparator) {
|
|
75
|
-
console.warn('
|
|
73
|
+
console.warn(this.t('noDelimiterSet'));
|
|
76
74
|
}
|
|
77
75
|
this.delimiter = '';
|
|
78
76
|
}
|