@formio/js 5.1.0-dev.6056.ba6432d → 5.1.0-dev.6059.845a6e3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Changelog.md +13 -131
- package/README.md +1 -28
- package/dist/formio.builder.css +17 -19
- 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 +17 -19
- package/dist/formio.form.js +176 -102
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +3 -3
- package/dist/formio.full.css +17 -19
- package/dist/formio.full.js +101 -123
- package/dist/formio.full.min.css +2 -2
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +3 -3
- package/dist/formio.js +10 -10
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +3 -3
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/CDN.d.ts +1 -1
- package/lib/cjs/CDN.js +2 -2
- package/lib/cjs/Embed.js +1 -1
- package/lib/cjs/Form.d.ts +6 -4
- package/lib/cjs/Form.js +8 -16
- package/lib/cjs/Formio.js +1 -1
- package/lib/cjs/PDFBuilder.js +4 -4
- package/lib/cjs/Webform.d.ts +13 -16
- package/lib/cjs/Webform.js +148 -162
- package/lib/cjs/WebformBuilder.js +28 -17
- package/lib/cjs/Wizard.js +1 -1
- package/lib/cjs/WizardBuilder.js +2 -15
- package/lib/cjs/components/Components.d.ts +0 -3
- package/lib/cjs/components/_classes/component/Component.d.ts +0 -1
- package/lib/cjs/components/_classes/component/Component.js +11 -38
- package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +1 -1
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +2 -13
- package/lib/cjs/components/_classes/component/editForm/utils.d.ts +0 -1
- package/lib/cjs/components/_classes/component/editForm/utils.js +0 -3
- package/lib/cjs/components/_classes/input/Input.js +1 -23
- package/lib/cjs/components/_classes/list/ListComponent.js +4 -4
- package/lib/cjs/components/_classes/multivalue/Multivalue.d.ts +1 -1
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +3 -10
- package/lib/cjs/components/_classes/nested/NestedComponent.form.js +0 -13
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +0 -2
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +31 -52
- package/lib/cjs/components/address/Address.js +1 -1
- package/lib/cjs/components/button/Button.js +6 -6
- package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/cjs/components/checkbox/Checkbox.js +2 -2
- package/lib/cjs/components/content/editForm/Content.edit.display.js +0 -8
- package/lib/cjs/components/currency/editForm/Currency.edit.display.js +0 -12
- package/lib/cjs/components/datagrid/DataGrid.d.ts +0 -2
- package/lib/cjs/components/datagrid/DataGrid.js +26 -41
- package/lib/cjs/components/day/Day.js +7 -9
- package/lib/cjs/components/day/editForm/Day.edit.display.js +0 -8
- package/lib/cjs/components/editgrid/EditGrid.d.ts +1 -1
- package/lib/cjs/components/editgrid/EditGrid.js +8 -26
- package/lib/cjs/components/email/editForm/Email.edit.display.js +0 -12
- package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +0 -8
- package/lib/cjs/components/file/File.d.ts +1 -1
- package/lib/cjs/components/file/File.js +17 -23
- package/lib/cjs/components/form/Form.d.ts +1 -1
- package/lib/cjs/components/form/Form.js +5 -9
- package/lib/cjs/components/form/editForm/Form.edit.form.js +3 -3
- package/lib/cjs/components/hidden/Hidden.d.ts +1 -0
- package/lib/cjs/components/hidden/Hidden.js +1 -1
- package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +0 -8
- package/lib/cjs/components/html/editForm/HTML.edit.display.js +0 -8
- package/lib/cjs/components/number/Number.js +5 -12
- package/lib/cjs/components/number/editForm/Number.edit.display.js +0 -12
- package/lib/cjs/components/password/editForm/Password.edit.display.js +1 -13
- package/lib/cjs/components/phonenumber/PhoneNumber.form.js +1 -9
- package/lib/cjs/components/radio/Radio.js +0 -10
- package/lib/cjs/components/recaptcha/ReCaptcha.js +2 -2
- package/lib/cjs/components/select/Select.d.ts +1 -0
- package/lib/cjs/components/select/Select.js +33 -12
- package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/cjs/components/select/editForm/Select.edit.data.js +2 -3
- package/lib/cjs/components/selectboxes/SelectBoxes.js +2 -2
- package/lib/cjs/components/signature/Signature.d.ts +1 -1
- package/lib/cjs/components/signature/Signature.js +3 -5
- package/lib/cjs/components/signature/editForm/Signature.edit.display.d.ts +6 -0
- package/lib/cjs/components/signature/editForm/Signature.edit.display.js +1 -0
- package/lib/cjs/components/survey/Survey.js +2 -2
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +0 -8
- package/lib/cjs/components/tags/Tags.d.ts +1 -1
- package/lib/cjs/components/tags/Tags.js +2 -2
- package/lib/cjs/components/textarea/TextArea.js +6 -6
- package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +0 -12
- package/lib/cjs/components/url/editForm/Url.edit.display.js +0 -12
- package/lib/cjs/components/well/editForm/Well.edit.display.js +0 -8
- package/lib/cjs/formio.form.js +0 -5
- package/lib/cjs/providers/storage/googleDrive.js +2 -3
- package/lib/cjs/providers/storage/s3.js +3 -3
- package/lib/cjs/providers/storage/xhr.d.ts +0 -1
- package/lib/cjs/providers/storage/xhr.js +1 -6
- package/lib/cjs/translations/en.d.ts +81 -234
- package/lib/cjs/translations/en.js +81 -8
- package/lib/cjs/utils/ChoicesWrapper.d.ts +25 -4
- package/lib/cjs/utils/ChoicesWrapper.js +124 -47
- package/lib/cjs/utils/formUtils.d.ts +2 -2
- package/lib/cjs/utils/i18n.d.ts +2 -5
- package/lib/cjs/utils/i18n.js +5 -32
- package/lib/cjs/widgets/CalendarWidget.js +27 -27
- package/lib/mjs/CDN.d.ts +1 -1
- package/lib/mjs/CDN.js +2 -2
- package/lib/mjs/Embed.js +1 -1
- package/lib/mjs/Form.d.ts +6 -4
- package/lib/mjs/Form.js +9 -17
- package/lib/mjs/Formio.js +1 -1
- package/lib/mjs/PDFBuilder.js +4 -4
- package/lib/mjs/Webform.d.ts +13 -16
- package/lib/mjs/Webform.js +158 -171
- package/lib/mjs/WebformBuilder.js +28 -17
- package/lib/mjs/Wizard.js +1 -1
- package/lib/mjs/WizardBuilder.js +2 -15
- package/lib/mjs/components/Components.d.ts +0 -3
- package/lib/mjs/components/_classes/component/Component.d.ts +0 -1
- package/lib/mjs/components/_classes/component/Component.js +11 -27
- package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +1 -1
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +2 -13
- package/lib/mjs/components/_classes/component/editForm/utils.d.ts +0 -1
- package/lib/mjs/components/_classes/component/editForm/utils.js +0 -3
- package/lib/mjs/components/_classes/input/Input.js +1 -22
- package/lib/mjs/components/_classes/list/ListComponent.js +4 -4
- package/lib/mjs/components/_classes/multivalue/Multivalue.d.ts +1 -1
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +3 -10
- package/lib/mjs/components/_classes/nested/NestedComponent.form.js +0 -13
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +0 -2
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +31 -53
- package/lib/mjs/components/address/Address.js +1 -1
- package/lib/mjs/components/button/Button.js +6 -6
- package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/mjs/components/checkbox/Checkbox.js +2 -2
- package/lib/mjs/components/content/editForm/Content.edit.display.js +0 -8
- package/lib/mjs/components/currency/editForm/Currency.edit.display.js +0 -12
- package/lib/mjs/components/datagrid/DataGrid.d.ts +0 -2
- package/lib/mjs/components/datagrid/DataGrid.js +26 -41
- package/lib/mjs/components/day/Day.js +7 -9
- package/lib/mjs/components/day/editForm/Day.edit.display.js +0 -8
- package/lib/mjs/components/editgrid/EditGrid.d.ts +1 -1
- package/lib/mjs/components/editgrid/EditGrid.js +7 -25
- package/lib/mjs/components/email/editForm/Email.edit.display.js +0 -12
- package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +0 -8
- package/lib/mjs/components/file/File.d.ts +1 -1
- package/lib/mjs/components/file/File.js +17 -23
- package/lib/mjs/components/form/Form.d.ts +1 -1
- package/lib/mjs/components/form/Form.js +5 -8
- package/lib/mjs/components/form/editForm/Form.edit.form.js +3 -3
- package/lib/mjs/components/hidden/Hidden.d.ts +1 -0
- package/lib/mjs/components/hidden/Hidden.js +1 -1
- package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +0 -8
- package/lib/mjs/components/html/editForm/HTML.edit.display.js +0 -8
- package/lib/mjs/components/number/Number.js +5 -12
- package/lib/mjs/components/number/editForm/Number.edit.display.js +0 -12
- package/lib/mjs/components/password/editForm/Password.edit.display.js +1 -13
- package/lib/mjs/components/phonenumber/PhoneNumber.form.js +1 -9
- package/lib/mjs/components/radio/Radio.js +0 -10
- package/lib/mjs/components/recaptcha/ReCaptcha.js +2 -2
- package/lib/mjs/components/select/Select.d.ts +1 -0
- package/lib/mjs/components/select/Select.js +34 -14
- package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/mjs/components/select/editForm/Select.edit.data.js +2 -3
- package/lib/mjs/components/selectboxes/SelectBoxes.js +2 -2
- package/lib/mjs/components/signature/Signature.d.ts +1 -1
- package/lib/mjs/components/signature/Signature.js +3 -5
- package/lib/mjs/components/signature/editForm/Signature.edit.display.d.ts +6 -0
- package/lib/mjs/components/signature/editForm/Signature.edit.display.js +1 -0
- package/lib/mjs/components/survey/Survey.js +2 -2
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +0 -8
- package/lib/mjs/components/tags/Tags.d.ts +1 -1
- package/lib/mjs/components/tags/Tags.js +2 -2
- package/lib/mjs/components/textarea/TextArea.js +6 -6
- package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +0 -12
- package/lib/mjs/components/url/editForm/Url.edit.display.js +0 -12
- package/lib/mjs/components/well/editForm/Well.edit.display.js +0 -8
- package/lib/mjs/formio.form.js +0 -5
- package/lib/mjs/providers/storage/googleDrive.js +2 -3
- package/lib/mjs/providers/storage/s3.js +3 -3
- package/lib/mjs/providers/storage/xhr.d.ts +0 -1
- package/lib/mjs/providers/storage/xhr.js +1 -6
- package/lib/mjs/translations/en.d.ts +81 -234
- package/lib/mjs/translations/en.js +1 -87
- package/lib/mjs/utils/ChoicesWrapper.d.ts +25 -4
- package/lib/mjs/utils/ChoicesWrapper.js +119 -26
- package/lib/mjs/utils/formUtils.d.ts +2 -2
- package/lib/mjs/utils/i18n.d.ts +2 -5
- package/lib/mjs/utils/i18n.js +5 -32
- package/lib/mjs/widgets/CalendarWidget.js +27 -27
- package/package.json +11 -27
@@ -210,8 +210,7 @@ class WebformBuilder extends Component_1.default {
|
|
210
210
|
params: {
|
211
211
|
type: 'resource',
|
212
212
|
limit: 1000000,
|
213
|
-
select: '_id,title,name,components'
|
214
|
-
'tags__ne': 'noBuilderResource'
|
213
|
+
select: '_id,title,name,components'
|
215
214
|
}
|
216
215
|
};
|
217
216
|
if (this.options && this.options.resourceTag) {
|
@@ -233,7 +232,7 @@ class WebformBuilder extends Component_1.default {
|
|
233
232
|
}
|
234
233
|
}
|
235
234
|
}).catch((err) => {
|
236
|
-
console.warn(
|
235
|
+
console.warn(`Could not load project settings: ${err.message || err}`);
|
237
236
|
});
|
238
237
|
if (!formio.noProject && !isResourcesDisabled && formio.formsUrl) {
|
239
238
|
const resourceOptions = this.options.builder && this.options.builder.resource;
|
@@ -336,18 +335,18 @@ class WebformBuilder extends Component_1.default {
|
|
336
335
|
editJson: 'single'
|
337
336
|
});
|
338
337
|
if (component.refs.copyComponent) {
|
339
|
-
this.attachTooltip(component.refs.copyComponent, this.t('
|
338
|
+
this.attachTooltip(component.refs.copyComponent, this.t('Copy'));
|
340
339
|
component.addEventListener(component.refs.copyComponent, 'click', () => this.copyComponent(component));
|
341
340
|
}
|
342
341
|
if (component.refs.pasteComponent) {
|
343
|
-
const pasteToolTip = this.attachTooltip(component.refs.pasteComponent, this.t('
|
342
|
+
const pasteToolTip = this.attachTooltip(component.refs.pasteComponent, this.t('Paste below'));
|
344
343
|
component.addEventListener(component.refs.pasteComponent, 'click', () => {
|
345
344
|
pasteToolTip.hide();
|
346
345
|
this.pasteComponent(component);
|
347
346
|
});
|
348
347
|
}
|
349
348
|
if (component.refs.moveComponent) {
|
350
|
-
this.attachTooltip(component.refs.moveComponent, this.t('
|
349
|
+
this.attachTooltip(component.refs.moveComponent, this.t('Move'));
|
351
350
|
if (this.keyboardActionsEnabled) {
|
352
351
|
component.addEventListener(component.refs.moveComponent, 'click', () => {
|
353
352
|
this.moveComponent(component);
|
@@ -356,15 +355,15 @@ class WebformBuilder extends Component_1.default {
|
|
356
355
|
}
|
357
356
|
const parent = this.getParentElement(element);
|
358
357
|
if (component.refs.editComponent) {
|
359
|
-
this.attachTooltip(component.refs.editComponent, this.t('
|
358
|
+
this.attachTooltip(component.refs.editComponent, this.t('Edit'));
|
360
359
|
component.addEventListener(component.refs.editComponent, 'click', () => this.editComponent(component.schema, parent, false, false, component.component, { inDataGrid: component.isInDataGrid }));
|
361
360
|
}
|
362
361
|
if (component.refs.editJson) {
|
363
|
-
this.attachTooltip(component.refs.editJson, this.t('
|
362
|
+
this.attachTooltip(component.refs.editJson, this.t('Edit JSON'));
|
364
363
|
component.addEventListener(component.refs.editJson, 'click', () => this.editComponent(component.schema, parent, false, true, component.component));
|
365
364
|
}
|
366
365
|
if (component.refs.removeComponent) {
|
367
|
-
this.attachTooltip(component.refs.removeComponent, this.t('
|
366
|
+
this.attachTooltip(component.refs.removeComponent, this.t('Remove'));
|
368
367
|
component.addEventListener(component.refs.removeComponent, 'click', () => this.removeComponent(component.schema, parent, component.component, component));
|
369
368
|
}
|
370
369
|
return element;
|
@@ -810,18 +809,31 @@ class WebformBuilder extends Component_1.default {
|
|
810
809
|
// Show an error if siblings are disabled for a component and such a component already exists.
|
811
810
|
const compKey = (group === 'resource') ? `component-${key}` : key;
|
812
811
|
const draggableComponent = ((_a = this.groups[group]) === null || _a === void 0 ? void 0 : _a.components[compKey]) || {};
|
813
|
-
if (draggableComponent.disableSiblings
|
812
|
+
if (draggableComponent.disableSiblings) {
|
814
813
|
let isCompAlreadyExists = false;
|
815
814
|
(0, formUtils_1.eachComponent)(this.webform.components, (component) => {
|
816
|
-
if (
|
817
|
-
(draggableComponent.uniqueComponent && component.component.key === draggableComponent.schema.key)) {
|
815
|
+
if (component.type === draggableComponent.schema.type) {
|
818
816
|
isCompAlreadyExists = true;
|
819
817
|
return;
|
820
818
|
}
|
821
819
|
}, true);
|
822
820
|
if (isCompAlreadyExists) {
|
823
821
|
this.webform.redraw();
|
824
|
-
this.webform.setAlert('danger',
|
822
|
+
this.webform.setAlert('danger', `You cannot add more than one ${draggableComponent.key} component to one page.`);
|
823
|
+
return;
|
824
|
+
}
|
825
|
+
}
|
826
|
+
if (draggableComponent.uniqueComponent) {
|
827
|
+
let isCompAlreadyExists = false;
|
828
|
+
(0, formUtils_1.eachComponent)(this.webform.components, (component) => {
|
829
|
+
if (component.key === draggableComponent.schema.key) {
|
830
|
+
isCompAlreadyExists = true;
|
831
|
+
return;
|
832
|
+
}
|
833
|
+
}, true);
|
834
|
+
if (isCompAlreadyExists) {
|
835
|
+
this.webform.redraw();
|
836
|
+
this.webform.setAlert('danger', `You cannot add more than one ${draggableComponent.title} component to one page.`);
|
825
837
|
return;
|
826
838
|
}
|
827
839
|
}
|
@@ -1256,8 +1268,7 @@ class WebformBuilder extends Component_1.default {
|
|
1256
1268
|
helplinks: this.helplinks,
|
1257
1269
|
}));
|
1258
1270
|
this.editForm.attach(this.componentEdit.querySelector(`[${this._referenceAttributeName}="editForm"]`));
|
1259
|
-
|
1260
|
-
this.updateComponent((editFormData === null || editFormData === void 0 ? void 0 : editFormData.componentJson) || editFormData || component);
|
1271
|
+
this.updateComponent((_a = this.editForm.submission.data) !== null && _a !== void 0 ? _a : component);
|
1261
1272
|
this.attachEditComponentControls(component, parent, isNew, original, ComponentClass);
|
1262
1273
|
});
|
1263
1274
|
});
|
@@ -1522,7 +1533,7 @@ class WebformBuilder extends Component_1.default {
|
|
1522
1533
|
*/
|
1523
1534
|
copyComponent(component) {
|
1524
1535
|
if (!window.sessionStorage) {
|
1525
|
-
return console.warn(this.
|
1536
|
+
return console.warn('Session storage is not supported in this browser.');
|
1526
1537
|
}
|
1527
1538
|
this.addClass(this.refs.form, 'builder-paste-mode');
|
1528
1539
|
window.sessionStorage.setItem('formio.clipboard', JSON.stringify(component.schema));
|
@@ -1534,7 +1545,7 @@ class WebformBuilder extends Component_1.default {
|
|
1534
1545
|
*/
|
1535
1546
|
pasteComponent(component) {
|
1536
1547
|
if (!window.sessionStorage) {
|
1537
|
-
return console.warn(this.
|
1548
|
+
return console.warn('Session storage is not supported in this browser.');
|
1538
1549
|
}
|
1539
1550
|
this.removeClass(this.refs.form, 'builder-paste-mode');
|
1540
1551
|
if (window.sessionStorage) {
|
package/lib/cjs/Wizard.js
CHANGED
package/lib/cjs/WizardBuilder.js
CHANGED
@@ -223,7 +223,7 @@ class WizardBuilder extends WebformBuilder_1.default {
|
|
223
223
|
const isSiblingAnAddPageButton = sibling === null || sibling === void 0 ? void 0 : sibling.classList.contains('wizard-add-page');
|
224
224
|
// We still can paste before Add Page button
|
225
225
|
if (!element.dragInfo || (sibling && !sibling.dragInfo && !isSiblingAnAddPageButton)) {
|
226
|
-
console.warn(
|
226
|
+
console.warn('There is no Drag Info available for either dragged or sibling element');
|
227
227
|
return;
|
228
228
|
}
|
229
229
|
const oldPosition = element.dragInfo.index;
|
@@ -261,23 +261,10 @@ class WizardBuilder extends WebformBuilder_1.default {
|
|
261
261
|
if (component instanceof WizardBuilder) {
|
262
262
|
return;
|
263
263
|
}
|
264
|
-
if (!window.sessionStorage) {
|
265
|
-
return console.warn(this.t('sessionStorageSupportError'));
|
266
|
-
}
|
267
|
-
// If pasting after the Wizard's page, check if a full Wizard page was copied and pass it to addPage method
|
268
264
|
if (this._form.components.find(comp => lodash_1.default.isEqual(component.component, comp))) {
|
269
|
-
|
270
|
-
if (data) {
|
271
|
-
const schema = JSON.parse(data);
|
272
|
-
// If the copied component is not a Wizard's page, do nothing since we can't paste outside the panel in Wizard
|
273
|
-
if (schema.type !== 'panel') {
|
274
|
-
return;
|
275
|
-
}
|
276
|
-
this.addPage(schema);
|
277
|
-
}
|
265
|
+
this.addPage(component);
|
278
266
|
}
|
279
267
|
else {
|
280
|
-
// If we are not trying to paster after the current Wizard's page, just pass it to the WebformBuilder
|
281
268
|
return super.pasteComponent(component);
|
282
269
|
}
|
283
270
|
}
|
@@ -2,7 +2,6 @@ export default class Components {
|
|
2
2
|
static _editFormUtils: {
|
3
3
|
sortAndFilterComponents(components: any): any;
|
4
4
|
unifyComponents(objValue: any, srcValue: any): any;
|
5
|
-
tokenVariableDescription(): string;
|
6
5
|
logicVariablesTable(additional: any): {
|
7
6
|
type: string;
|
8
7
|
tag: string;
|
@@ -87,7 +86,6 @@ export default class Components {
|
|
87
86
|
static set EditFormUtils(value: {
|
88
87
|
sortAndFilterComponents(components: any): any;
|
89
88
|
unifyComponents(objValue: any, srcValue: any): any;
|
90
|
-
tokenVariableDescription(): string;
|
91
89
|
logicVariablesTable(additional: any): {
|
92
90
|
type: string;
|
93
91
|
tag: string;
|
@@ -171,7 +169,6 @@ export default class Components {
|
|
171
169
|
static get EditFormUtils(): {
|
172
170
|
sortAndFilterComponents(components: any): any;
|
173
171
|
unifyComponents(objValue: any, srcValue: any): any;
|
174
|
-
tokenVariableDescription(): string;
|
175
172
|
logicVariablesTable(additional: any): {
|
176
173
|
type: string;
|
177
174
|
tag: string;
|
@@ -855,7 +855,6 @@ declare class Component extends Element {
|
|
855
855
|
quill: any;
|
856
856
|
get shouldSanitizeValue(): boolean;
|
857
857
|
addAce(element: any, settings: any, onChange: any): any;
|
858
|
-
getDragula(): Promise<any>;
|
859
858
|
get tree(): any;
|
860
859
|
/**
|
861
860
|
* The empty value for this component.
|
@@ -22,15 +22,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
22
|
__setModuleDefault(result, mod);
|
23
23
|
return result;
|
24
24
|
};
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
32
|
-
});
|
33
|
-
};
|
34
25
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
35
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
36
27
|
};
|
@@ -198,7 +189,6 @@ class Component extends Element_1.default {
|
|
198
189
|
properties: {},
|
199
190
|
allowMultipleMasks: false,
|
200
191
|
addons: [],
|
201
|
-
serverOverride: {},
|
202
192
|
}, ...sources);
|
203
193
|
}
|
204
194
|
/**
|
@@ -447,9 +437,6 @@ class Component extends Element_1.default {
|
|
447
437
|
// Allow anyone to hook into the component creation.
|
448
438
|
this.hook('component');
|
449
439
|
if (!this.options.skipInit) {
|
450
|
-
if (typeof this.beforeInit === 'function') {
|
451
|
-
this.beforeInit();
|
452
|
-
}
|
453
440
|
this.init();
|
454
441
|
}
|
455
442
|
}
|
@@ -551,10 +538,7 @@ class Component extends Element_1.default {
|
|
551
538
|
this.addons.push(addon);
|
552
539
|
}
|
553
540
|
else {
|
554
|
-
console.warn(
|
555
|
-
type: this.component.type,
|
556
|
-
label: name.label
|
557
|
-
}));
|
541
|
+
console.warn(`Addon ${name.label} does not support component of type ${this.component.type}.`);
|
558
542
|
}
|
559
543
|
}
|
560
544
|
return addon;
|
@@ -606,7 +590,7 @@ class Component extends Element_1.default {
|
|
606
590
|
return this.paths.dataPath;
|
607
591
|
}
|
608
592
|
set path(path) {
|
609
|
-
throw new Error(
|
593
|
+
throw new Error('Should not be setting the path of a component.');
|
610
594
|
}
|
611
595
|
set parentVisible(value) {
|
612
596
|
this._parentVisible = value;
|
@@ -698,7 +682,7 @@ class Component extends Element_1.default {
|
|
698
682
|
return this.options.attachMode === 'builder';
|
699
683
|
}
|
700
684
|
get calculatedPath() {
|
701
|
-
console.error(
|
685
|
+
console.error('component.calculatedPath was deprecated, use component.path instead.');
|
702
686
|
return this.path;
|
703
687
|
}
|
704
688
|
get labelPosition() {
|
@@ -864,7 +848,7 @@ class Component extends Element_1.default {
|
|
864
848
|
const name = names[names.length - 1];
|
865
849
|
const templatesByName = Templates_1.default.defaultTemplates[name];
|
866
850
|
if (!templatesByName) {
|
867
|
-
return { template:
|
851
|
+
return { template: `Unknown template: ${name}` };
|
868
852
|
}
|
869
853
|
const templateByMode = this.checkTemplateMode(templatesByName, modes);
|
870
854
|
if (templateByMode) {
|
@@ -921,7 +905,9 @@ class Component extends Element_1.default {
|
|
921
905
|
data.disabled = this.disabled;
|
922
906
|
data.builder = this.builderMode;
|
923
907
|
data.render = (...args) => {
|
924
|
-
console.warn(
|
908
|
+
console.warn(`Form.io 'render' template function is deprecated.
|
909
|
+
If you need to render template (template A) inside of another template (template B),
|
910
|
+
pass pre-compiled template A (use this.renderTemplate('template_A_name') as template context variable for template B`);
|
925
911
|
return this.renderTemplate(...args);
|
926
912
|
};
|
927
913
|
data.label = data.labelInfo || this.labelInfo;
|
@@ -1124,7 +1110,7 @@ class Component extends Element_1.default {
|
|
1124
1110
|
modalLabel = { className: 'field-required' };
|
1125
1111
|
}
|
1126
1112
|
return this.renderModalPreview({
|
1127
|
-
previewText: this.getValueAsString(dataValue, { modalPreview: true }) || this.t('
|
1113
|
+
previewText: this.getValueAsString(dataValue, { modalPreview: true }) || this.t('Click to set value'),
|
1128
1114
|
messages: '',
|
1129
1115
|
labelInfo: modalLabel,
|
1130
1116
|
});
|
@@ -1149,7 +1135,7 @@ class Component extends Element_1.default {
|
|
1149
1135
|
* @param {boolean} topLevel - If this is the topmost component that is being rendered.
|
1150
1136
|
* @returns {string} - The rendered HTML string of a component.
|
1151
1137
|
*/
|
1152
|
-
render(children =
|
1138
|
+
render(children = `Unknown component: ${this.component.type}`, topLevel = false) {
|
1153
1139
|
const isVisible = this.visible;
|
1154
1140
|
this.rendered = true;
|
1155
1141
|
if (!this.builderMode && !this.previewMode && this.component.modalEdit) {
|
@@ -2441,15 +2427,6 @@ class Component extends Element_1.default {
|
|
2441
2427
|
return editor;
|
2442
2428
|
});
|
2443
2429
|
}
|
2444
|
-
getDragula() {
|
2445
|
-
return __awaiter(this, void 0, void 0, function* () {
|
2446
|
-
return new Promise((resolve) => {
|
2447
|
-
return Formio_1.Formio.requireLibrary('dragula', 'dragula', `${Formio_1.Formio.cdn.dragula}/dragula.js`, true, (ready) => {
|
2448
|
-
return ready.then(resolve);
|
2449
|
-
});
|
2450
|
-
});
|
2451
|
-
});
|
2452
|
-
}
|
2453
2430
|
get tree() {
|
2454
2431
|
return this.component.tree || false;
|
2455
2432
|
}
|
@@ -2579,7 +2556,7 @@ class Component extends Element_1.default {
|
|
2579
2556
|
}
|
2580
2557
|
return value;
|
2581
2558
|
};
|
2582
|
-
if (
|
2559
|
+
if (this.defaultMask) {
|
2583
2560
|
if (Array.isArray(defaultValue)) {
|
2584
2561
|
defaultValue = defaultValue.map(checkMask);
|
2585
2562
|
}
|
@@ -3358,7 +3335,7 @@ class Component extends Element_1.default {
|
|
3358
3335
|
}
|
3359
3336
|
// Maintain reverse compatibility.
|
3360
3337
|
whenReady() {
|
3361
|
-
console.warn(
|
3338
|
+
console.warn('The whenReady() method has been deprecated. Please use the dataReady property instead.');
|
3362
3339
|
return this.dataReady;
|
3363
3340
|
}
|
3364
3341
|
get dataReady() {
|
@@ -3493,10 +3470,6 @@ class Component extends Element_1.default {
|
|
3493
3470
|
const disabled = this.shouldDisabled;
|
3494
3471
|
// Change states which won't be recalculated during redrawing
|
3495
3472
|
if (this.visible !== visible) {
|
3496
|
-
// If the logic is triggered by an event and the action sets the hidden state then the original
|
3497
|
-
// component definition must be changed so that the components hidden state does not get flipped back by
|
3498
|
-
// the fieldLogic function
|
3499
|
-
this.originalComponent.hidden = !visible;
|
3500
3473
|
this.visible = visible;
|
3501
3474
|
}
|
3502
3475
|
if (this.disabled !== disabled) {
|
@@ -50,6 +50,6 @@ exports.default = [
|
|
50
50
|
},
|
51
51
|
utils_1.default.javaScriptValue('Advanced Conditions', 'customConditional', 'conditional.json', 110, '<p>You must assign the <strong>show</strong> variable a boolean result.</p>' +
|
52
52
|
'<p><strong>Note: Advanced Conditional logic will override the results of the Simple Conditional logic.</strong></p>' +
|
53
|
-
'<h5>Example</h5><pre>show = !!data.showMe;</pre>', '<p><a href="https://help.form.io/userguide/form-building/logic-and-conditions" target="_blank" rel="noopener noreferrer">Click here for an example</a></p>'
|
53
|
+
'<h5>Example</h5><pre>show = !!data.showMe;</pre>', '<p><a href="https://help.form.io/userguide/form-building/logic-and-conditions" target="_blank" rel="noopener noreferrer">Click here for an example</a></p>')
|
54
54
|
];
|
55
55
|
/* eslint-enable quotes, max-len */
|
@@ -87,9 +87,6 @@ declare const _default: ({
|
|
87
87
|
valueProperty?: undefined;
|
88
88
|
data?: undefined;
|
89
89
|
conditional?: undefined;
|
90
|
-
as?: undefined;
|
91
|
-
editor?: undefined;
|
92
|
-
description?: undefined;
|
93
90
|
} | {
|
94
91
|
type: string;
|
95
92
|
label: string;
|
@@ -106,9 +103,6 @@ declare const _default: ({
|
|
106
103
|
valueProperty?: undefined;
|
107
104
|
data?: undefined;
|
108
105
|
conditional?: undefined;
|
109
|
-
as?: undefined;
|
110
|
-
editor?: undefined;
|
111
|
-
description?: undefined;
|
112
106
|
} | {
|
113
107
|
weight: number;
|
114
108
|
type: string;
|
@@ -131,9 +125,6 @@ declare const _default: ({
|
|
131
125
|
valueProperty?: undefined;
|
132
126
|
data?: undefined;
|
133
127
|
conditional?: undefined;
|
134
|
-
as?: undefined;
|
135
|
-
editor?: undefined;
|
136
|
-
description?: undefined;
|
137
128
|
} | {
|
138
129
|
weight: number;
|
139
130
|
type: string;
|
@@ -182,9 +173,6 @@ declare const _default: ({
|
|
182
173
|
valueProperty?: undefined;
|
183
174
|
data?: undefined;
|
184
175
|
conditional?: undefined;
|
185
|
-
as?: undefined;
|
186
|
-
editor?: undefined;
|
187
|
-
description?: undefined;
|
188
176
|
} | {
|
189
177
|
type: string;
|
190
178
|
input: boolean;
|
@@ -212,9 +200,6 @@ declare const _default: ({
|
|
212
200
|
defaultValue?: undefined;
|
213
201
|
values?: undefined;
|
214
202
|
logic?: undefined;
|
215
|
-
as?: undefined;
|
216
|
-
editor?: undefined;
|
217
|
-
description?: undefined;
|
218
203
|
} | {
|
219
204
|
weight: number;
|
220
205
|
type: string;
|
@@ -231,27 +216,5 @@ declare const _default: ({
|
|
231
216
|
valueProperty?: undefined;
|
232
217
|
data?: undefined;
|
233
218
|
conditional?: undefined;
|
234
|
-
as?: undefined;
|
235
|
-
editor?: undefined;
|
236
|
-
description?: undefined;
|
237
|
-
} | {
|
238
|
-
type: string;
|
239
|
-
as: string;
|
240
|
-
editor: string;
|
241
|
-
weight: number;
|
242
|
-
input: boolean;
|
243
|
-
key: string;
|
244
|
-
label: string;
|
245
|
-
tooltip: string;
|
246
|
-
defaultValue: {};
|
247
|
-
description: string;
|
248
|
-
placeholder?: undefined;
|
249
|
-
inline?: undefined;
|
250
|
-
values?: undefined;
|
251
|
-
logic?: undefined;
|
252
|
-
dataSrc?: undefined;
|
253
|
-
valueProperty?: undefined;
|
254
|
-
data?: undefined;
|
255
|
-
conditional?: undefined;
|
256
219
|
})[];
|
257
220
|
export default _default;
|
@@ -140,7 +140,7 @@ exports.default = [
|
|
140
140
|
input: true
|
141
141
|
},
|
142
142
|
utils_1.default.javaScriptValue('Custom Default Value', 'customDefaultValue', 'customDefaultValue', 1000, '<p><h4>Example:</h4><pre>value = data.firstName + " " + data.lastName;</pre></p>', '<p><h4>Example:</h4><pre>{"cat": [{"var": "data.firstName"}, " ", {"var": "data.lastName"}]}</pre>'),
|
143
|
-
utils_1.default.javaScriptValue('Calculated Value', 'calculateValue', 'calculateValue', 1100, '<p><h4>Example:</h4><pre>value = data.a + data.b + data.c;</pre></p>', '<p><h4>Example:</h4><pre>{"+": [{"var": "data.a"}, {"var": "data.b"}, {"var": "data.c"}]}</pre><p><a href="https://help.form.io/userguide/form-building/logic-and-conditions#calculated-values" target="_blank" rel="noopener noreferrer">Click here for an example</a></p>',
|
143
|
+
utils_1.default.javaScriptValue('Calculated Value', 'calculateValue', 'calculateValue', 1100, '<p><h4>Example:</h4><pre>value = data.a + data.b + data.c;</pre></p>', '<p><h4>Example:</h4><pre>{"+": [{"var": "data.a"}, {"var": "data.b"}, {"var": "data.c"}]}</pre><p><a href="https://help.form.io/userguide/form-building/logic-and-conditions#calculated-values" target="_blank" rel="noopener noreferrer">Click here for an example</a></p>', '<tr><th>token</th><td>The decoded JWT token for the authenticated user.</td></tr>'),
|
144
144
|
{
|
145
145
|
type: 'checkbox',
|
146
146
|
input: true,
|
@@ -157,16 +157,5 @@ exports.default = [
|
|
157
157
|
label: 'Allow Manual Override of Calculated Value',
|
158
158
|
tooltip: 'When checked, this will allow the user to manually override the calculated value.'
|
159
159
|
},
|
160
|
-
{
|
161
|
-
type: 'textarea',
|
162
|
-
as: 'json',
|
163
|
-
editor: 'ace',
|
164
|
-
weight: 1400,
|
165
|
-
input: true,
|
166
|
-
key: 'serverOverride',
|
167
|
-
label: 'Server Override',
|
168
|
-
tooltip: 'A JSON object containing the component settings that should be overriden when the form submission is processed on the server side.',
|
169
|
-
defaultValue: {},
|
170
|
-
description: '<b>Example</b>: { "clearOnHide": true }',
|
171
|
-
}
|
172
160
|
];
|
161
|
+
/* eslint-enable max-len */
|
@@ -2,7 +2,6 @@ export default EditFormUtils;
|
|
2
2
|
declare namespace EditFormUtils {
|
3
3
|
function sortAndFilterComponents(components: any): any;
|
4
4
|
function unifyComponents(objValue: any, srcValue: any): any;
|
5
|
-
function tokenVariableDescription(): string;
|
6
5
|
function logicVariablesTable(additional: any): {
|
7
6
|
type: string;
|
8
7
|
tag: string;
|
@@ -37,9 +37,6 @@ const EditFormUtils = {
|
|
37
37
|
}
|
38
38
|
return lodash_1.default.isEqual(objValue, srcValue);
|
39
39
|
},
|
40
|
-
tokenVariableDescription() {
|
41
|
-
return '<tr><th>token</th><td>The decoded JWT token for the authenticated user.</td></tr>';
|
42
|
-
},
|
43
40
|
logicVariablesTable(additional) {
|
44
41
|
additional = additional || '';
|
45
42
|
return {
|
@@ -234,33 +234,11 @@ class Input extends Multivalue_1.default {
|
|
234
234
|
this.addFocusBlurEvents(element);
|
235
235
|
if (this.options.submitOnEnter) {
|
236
236
|
this.addEventListener(element, 'keypress', (event) => {
|
237
|
-
var _a;
|
238
237
|
const key = event.keyCode || event.which;
|
239
238
|
if (key === 13) {
|
240
239
|
event.preventDefault();
|
241
240
|
event.stopPropagation();
|
242
|
-
|
243
|
-
if ((_a = this.root) === null || _a === void 0 ? void 0 : _a.everyComponent) {
|
244
|
-
this.root.everyComponent((component) => {
|
245
|
-
if ((component === null || component === void 0 ? void 0 : component.component.type) === 'button' &&
|
246
|
-
(component === null || component === void 0 ? void 0 : component.component.action) === 'submit') {
|
247
|
-
submitButton = component;
|
248
|
-
return false;
|
249
|
-
}
|
250
|
-
});
|
251
|
-
}
|
252
|
-
const options = {};
|
253
|
-
if (submitButton) {
|
254
|
-
options.instance = submitButton;
|
255
|
-
options.component = submitButton.component;
|
256
|
-
options.noValidate = this.component.state === 'draft';
|
257
|
-
options.state = this.component.state || 'submitted';
|
258
|
-
submitButton.loading = true;
|
259
|
-
this.emit('submitButton', options);
|
260
|
-
}
|
261
|
-
else {
|
262
|
-
this.emit('submitButton', options);
|
263
|
-
}
|
241
|
+
this.emit('submitButton');
|
264
242
|
}
|
265
243
|
});
|
266
244
|
}
|
@@ -138,12 +138,12 @@ class ListComponent extends Field_1.default {
|
|
138
138
|
component: this.component,
|
139
139
|
message: err.toString(),
|
140
140
|
});
|
141
|
-
console.warn(
|
141
|
+
console.warn(`Unable to load resources for ${this.key}`);
|
142
142
|
}
|
143
143
|
/* eslint-disable max-statements */
|
144
144
|
updateItems(searchInput, forceUpdate) {
|
145
145
|
if (!this.component.data) {
|
146
|
-
console.warn(
|
146
|
+
console.warn(`Select component ${this.key} does not have data configuration.`);
|
147
147
|
this.itemsLoadedResolve();
|
148
148
|
return;
|
149
149
|
}
|
@@ -175,7 +175,7 @@ class ListComponent extends Field_1.default {
|
|
175
175
|
this.loadItems(resourceUrl, searchInput, this.requestHeaders);
|
176
176
|
}
|
177
177
|
catch (err) {
|
178
|
-
console.warn(
|
178
|
+
console.warn(`Unable to load resources for ${this.key}`);
|
179
179
|
}
|
180
180
|
}
|
181
181
|
else {
|
@@ -219,7 +219,7 @@ class ListComponent extends Field_1.default {
|
|
219
219
|
return;
|
220
220
|
}
|
221
221
|
if (!window.indexedDB) {
|
222
|
-
window.alert(
|
222
|
+
window.alert("Your browser doesn't support current version of indexedDB");
|
223
223
|
}
|
224
224
|
if (this.component.indexeddb && this.component.indexeddb.database && this.component.indexeddb.table) {
|
225
225
|
const request = window.indexedDB.open(this.component.indexeddb.database);
|
@@ -51,7 +51,7 @@ export default class Multivalue extends Field {
|
|
51
51
|
attachMultiMask(index: number): boolean;
|
52
52
|
/**
|
53
53
|
* @param {any} input - The input element on which the mask is to be applied.
|
54
|
-
* @param {string} mask - The mask pattern to apply to the input element. Exit early
|
54
|
+
* @param {string} mask - The mask pattern to apply to the input element. Exit early if no mask.
|
55
55
|
*/
|
56
56
|
updateMask(input: any, mask: string): void;
|
57
57
|
/**
|
@@ -66,7 +66,7 @@ class Multivalue extends Field_1.default {
|
|
66
66
|
return value;
|
67
67
|
}
|
68
68
|
get addAnother() {
|
69
|
-
return this.t(this.component.addAnother || '
|
69
|
+
return this.t(this.component.addAnother || 'Add Another');
|
70
70
|
}
|
71
71
|
/**
|
72
72
|
* @returns {Field} - The created field.
|
@@ -185,7 +185,7 @@ class Multivalue extends Field_1.default {
|
|
185
185
|
this.saveCaretPosition(element, index);
|
186
186
|
}
|
187
187
|
catch (err) {
|
188
|
-
console.warn(
|
188
|
+
console.warn('An error occurred while trying to save caret position', err);
|
189
189
|
}
|
190
190
|
// If a mask is present, delay the update to allow mask to update first.
|
191
191
|
if (element.mask) {
|
@@ -264,17 +264,10 @@ class Multivalue extends Field_1.default {
|
|
264
264
|
}
|
265
265
|
/**
|
266
266
|
* @param {any} input - The input element on which the mask is to be applied.
|
267
|
-
* @param {string} mask - The mask pattern to apply to the input element. Exit early
|
267
|
+
* @param {string} mask - The mask pattern to apply to the input element. Exit early if no mask.
|
268
268
|
*/
|
269
269
|
updateMask(input, mask) {
|
270
270
|
if (!mask) {
|
271
|
-
if (input.mask) {
|
272
|
-
input.mask.destroy();
|
273
|
-
}
|
274
|
-
if (!this.component.placeholder) {
|
275
|
-
input.removeAttribute('placeholder');
|
276
|
-
}
|
277
|
-
input.value = '';
|
278
271
|
return;
|
279
272
|
}
|
280
273
|
this.setInputMask(input, mask, !this.component.placeholder);
|
@@ -11,19 +11,6 @@ const Components_1 = __importDefault(require("../../Components"));
|
|
11
11
|
*/
|
12
12
|
function default_1(...extend) {
|
13
13
|
return Components_1.default.baseEditForm([
|
14
|
-
{
|
15
|
-
key: 'display',
|
16
|
-
components: [
|
17
|
-
{
|
18
|
-
key: 'labelWidth',
|
19
|
-
ignore: true
|
20
|
-
},
|
21
|
-
{
|
22
|
-
key: 'labelMargin',
|
23
|
-
ignore: true
|
24
|
-
}
|
25
|
-
]
|
26
|
-
},
|
27
14
|
{
|
28
15
|
key: 'data',
|
29
16
|
ignore: true
|
@@ -13,8 +13,6 @@ export default class NestedArrayComponent extends NestedDataComponent {
|
|
13
13
|
processRow(method: any, data: any, opts: any, row: any, components: any, silentCheck: any): any;
|
14
14
|
hasAddButton(): any;
|
15
15
|
everyComponent(fn: any, rowIndex: any, options?: {}): void;
|
16
|
-
_getEmailTableHeader(options: any): string;
|
17
|
-
_getEmailTableBody(options: any): string;
|
18
16
|
getComponents(rowIndex: any): any;
|
19
17
|
removeSubmissionMetadataRow(index: any): void;
|
20
18
|
}
|