@formio/js 5.2.3 → 5.2.4-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/formio.builder.css +161 -50
- 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 +158 -49
- package/dist/formio.form.js +152 -108
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +1 -1
- package/dist/formio.full.css +161 -50
- package/dist/formio.full.js +401 -227
- package/dist/formio.full.min.css +1 -1
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +1 -1
- package/dist/formio.js +51 -18
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +47 -14
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/CDN.js +12 -12
- package/lib/cjs/Element.d.ts +3 -2
- package/lib/cjs/Element.js +27 -21
- package/lib/cjs/Embed.js +74 -40
- package/lib/cjs/EventEmitter.js +1 -1
- package/lib/cjs/Form.d.ts +371 -341
- package/lib/cjs/Form.js +153 -39
- package/lib/cjs/FormBuilder.d.ts +3 -3
- package/lib/cjs/FormBuilder.js +2 -3
- package/lib/cjs/Formio.js +26 -23
- package/lib/cjs/InlineEmbed.js +23 -17
- package/lib/cjs/PDF.d.ts +1 -0
- package/lib/cjs/PDF.js +18 -15
- package/lib/cjs/PDFBuilder.js +51 -36
- package/lib/cjs/Webform.d.ts +8 -366
- package/lib/cjs/Webform.js +176 -235
- package/lib/cjs/WebformBuilder.js +217 -144
- package/lib/cjs/Wizard.js +92 -62
- package/lib/cjs/WizardBuilder.js +27 -19
- package/lib/cjs/addons/FormioAddon.js +1 -1
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
- package/lib/cjs/addons/index.js +3 -3
- package/lib/cjs/components/Components.js +0 -4
- package/lib/cjs/components/_classes/component/Component.form.js +11 -11
- package/lib/cjs/components/_classes/component/Component.js +298 -179
- package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
- package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
- package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
- package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
- package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
- package/lib/cjs/components/_classes/component/editForm/utils.js +12 -16
- package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
- package/lib/cjs/components/_classes/field/Field.js +7 -1
- package/lib/cjs/components/_classes/input/Input.js +30 -26
- package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/cjs/components/_classes/list/ListComponent.js +27 -18
- package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +32 -13
- package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/cjs/components/_classes/nested/NestedComponent.js +36 -32
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +19 -14
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
- package/lib/cjs/components/address/Address.js +52 -45
- package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.provider.js +53 -11
- package/lib/cjs/components/alert/Alert.js +21 -15
- package/lib/cjs/components/button/Button.form.js +1 -1
- package/lib/cjs/components/button/Button.js +50 -27
- package/lib/cjs/components/button/editForm/Button.edit.display.js +49 -9
- package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/cjs/components/checkbox/Checkbox.js +28 -20
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/cjs/components/columns/Columns.form.js +1 -1
- package/lib/cjs/components/columns/Columns.js +24 -12
- package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/cjs/components/container/Container.form.js +2 -2
- package/lib/cjs/components/container/Container.js +6 -4
- package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/cjs/components/content/Content.form.js +4 -2
- package/lib/cjs/components/content/Content.js +10 -8
- package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/cjs/components/currency/Currency.form.js +3 -3
- package/lib/cjs/components/currency/Currency.js +19 -10
- package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/cjs/components/datagrid/DataGrid.js +89 -38
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/cjs/components/datamap/DataMap.form.js +2 -2
- package/lib/cjs/components/datamap/DataMap.js +44 -31
- package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/cjs/components/datetime/DateTime.form.js +5 -5
- package/lib/cjs/components/datetime/DateTime.js +30 -15
- package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
- package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
- package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/cjs/components/day/Day.form.js +5 -5
- package/lib/cjs/components/day/Day.js +146 -56
- package/lib/cjs/components/day/editForm/Day.edit.day.js +13 -9
- package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.month.js +12 -8
- package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/cjs/components/editgrid/EditGrid.js +137 -89
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/cjs/components/email/Email.js +4 -4
- package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/cjs/components/fieldset/Fieldset.js +2 -2
- package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/cjs/components/file/File.form.js +4 -4
- package/lib/cjs/components/file/File.js +126 -80
- package/lib/cjs/components/file/editForm/File.edit.display.js +9 -5
- package/lib/cjs/components/file/editForm/File.edit.file.d.ts +37 -16
- package/lib/cjs/components/file/editForm/File.edit.file.js +169 -72
- package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/cjs/components/form/Form.form.js +3 -3
- package/lib/cjs/components/form/Form.js +67 -51
- package/lib/cjs/components/form/editForm/Form.edit.data.js +1 -3
- package/lib/cjs/components/form/editForm/Form.edit.display.js +6 -7
- package/lib/cjs/components/form/editForm/Form.edit.form.js +11 -9
- package/lib/cjs/components/hidden/Hidden.form.js +4 -4
- package/lib/cjs/components/hidden/Hidden.js +2 -2
- package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/cjs/components/html/HTML.js +23 -17
- package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/cjs/components/number/Number.form.js +3 -3
- package/lib/cjs/components/number/Number.js +27 -11
- package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/cjs/components/panel/Panel.form.js +1 -1
- package/lib/cjs/components/panel/Panel.js +2 -2
- package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +5 -7
- package/lib/cjs/components/panel/editForm/Panel.edit.display.js +55 -29
- package/lib/cjs/components/password/Password.form.js +3 -3
- package/lib/cjs/components/password/Password.js +5 -2
- package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/cjs/components/radio/Radio.form.js +3 -3
- package/lib/cjs/components/radio/Radio.js +55 -26
- package/lib/cjs/components/radio/editForm/Radio.edit.data.js +23 -9
- package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/cjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/cjs/components/select/Select.form.js +3 -3
- package/lib/cjs/components/select/Select.js +235 -129
- package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/cjs/components/select/editForm/Select.edit.data.js +191 -57
- package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/cjs/components/selectboxes/SelectBoxes.js +31 -15
- package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/cjs/components/signature/Signature.form.js +3 -3
- package/lib/cjs/components/signature/Signature.js +25 -15
- package/lib/cjs/components/signature/editForm/Signature.edit.display.js +19 -10
- package/lib/cjs/components/survey/Survey.form.js +3 -3
- package/lib/cjs/components/survey/Survey.js +30 -17
- package/lib/cjs/components/survey/editForm/Survey.edit.data.js +23 -11
- package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/cjs/components/table/Table.form.js +1 -1
- package/lib/cjs/components/table/Table.js +7 -5
- package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/cjs/components/tabs/Tabs.form.js +1 -1
- package/lib/cjs/components/tabs/Tabs.js +26 -8
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
- package/lib/cjs/components/tags/Tags.form.js +1 -1
- package/lib/cjs/components/tags/Tags.js +28 -12
- package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/cjs/components/textarea/TextArea.form.js +2 -2
- package/lib/cjs/components/textarea/TextArea.js +63 -45
- package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
- package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/cjs/components/textfield/TextField.form.js +3 -3
- package/lib/cjs/components/textfield/TextField.js +32 -21
- package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +15 -13
- package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +31 -21
- package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/cjs/components/time/Time.js +17 -10
- package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/cjs/components/unknown/Unknown.form.js +5 -5
- package/lib/cjs/components/unknown/Unknown.js +2 -2
- package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/cjs/components/url/Url.form.js +3 -3
- package/lib/cjs/components/url/Url.js +2 -2
- package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/cjs/components/well/Well.form.js +1 -1
- package/lib/cjs/components/well/Well.js +2 -2
- package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/cjs/formio.form.d.ts +2 -1
- package/lib/cjs/formio.form.js +38 -12
- package/lib/cjs/i18n.d.ts +4 -0
- package/lib/cjs/i18n.js +7 -3
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/providers/address/AddressProvider.js +8 -5
- package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/cjs/providers/address/GoogleAddressProvider.js +24 -13
- package/lib/cjs/providers/processor/fileProcessor.js +3 -1
- package/lib/cjs/providers/storage/azure.js +5 -2
- package/lib/cjs/providers/storage/dropbox.js +4 -5
- package/lib/cjs/providers/storage/googleDrive.js +3 -4
- package/lib/cjs/providers/storage/index.js +1 -1
- package/lib/cjs/providers/storage/indexeddb.js +16 -6
- package/lib/cjs/providers/storage/s3.js +17 -6
- package/lib/cjs/providers/storage/uploadAdapter.js +17 -11
- package/lib/cjs/providers/storage/url.js +13 -11
- package/lib/cjs/providers/storage/xhr.js +17 -9
- package/lib/cjs/templates/index.js +1 -1
- package/lib/cjs/translations/de.d.ts +80 -0
- package/lib/cjs/translations/de.js +81 -0
- package/lib/cjs/translations/en.d.ts +0 -2
- package/lib/cjs/translations/en.js +7 -9
- package/lib/cjs/utils/ChoicesWrapper.js +2 -2
- package/lib/cjs/utils/builder.js +31 -7
- package/lib/cjs/utils/calendarUtils.js +7 -5
- package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +12 -4
- package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +3 -1
- package/lib/cjs/utils/conditionOperators/IsEqualTo.js +10 -6
- package/lib/cjs/utils/conditionOperators/index.js +1 -1
- package/lib/cjs/utils/formUtils.js +1 -1
- package/lib/cjs/utils/i18n.js +7 -1
- package/lib/cjs/utils/index.d.ts +2 -1
- package/lib/cjs/utils/index.js +2 -2
- package/lib/cjs/utils/utils.d.ts +10 -1
- package/lib/cjs/utils/utils.js +175 -92
- package/lib/cjs/widgets/CalendarWidget.js +66 -49
- package/lib/cjs/widgets/InputWidget.js +6 -4
- package/lib/cjs/widgets/index.js +1 -1
- package/lib/mjs/CDN.js +12 -12
- package/lib/mjs/Element.d.ts +3 -2
- package/lib/mjs/Element.js +27 -21
- package/lib/mjs/Embed.js +76 -42
- package/lib/mjs/EventEmitter.js +1 -1
- package/lib/mjs/Form.d.ts +371 -341
- package/lib/mjs/Form.js +142 -126
- package/lib/mjs/FormBuilder.d.ts +3 -3
- package/lib/mjs/FormBuilder.js +2 -3
- package/lib/mjs/Formio.js +26 -23
- package/lib/mjs/InlineEmbed.js +23 -17
- package/lib/mjs/PDF.d.ts +1 -0
- package/lib/mjs/PDF.js +18 -15
- package/lib/mjs/PDFBuilder.js +51 -36
- package/lib/mjs/Webform.d.ts +8 -366
- package/lib/mjs/Webform.js +183 -250
- package/lib/mjs/WebformBuilder.js +220 -147
- package/lib/mjs/Wizard.js +93 -63
- package/lib/mjs/WizardBuilder.js +27 -19
- package/lib/mjs/addons/FormioAddon.js +1 -1
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
- package/lib/mjs/addons/index.js +3 -3
- package/lib/mjs/components/Components.js +0 -4
- package/lib/mjs/components/_classes/component/Component.form.js +11 -11
- package/lib/mjs/components/_classes/component/Component.js +303 -184
- package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
- package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
- package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
- package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
- package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
- package/lib/mjs/components/_classes/component/editForm/utils.js +12 -16
- package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
- package/lib/mjs/components/_classes/field/Field.js +8 -2
- package/lib/mjs/components/_classes/input/Input.js +27 -23
- package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/mjs/components/_classes/list/ListComponent.js +27 -18
- package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +32 -13
- package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/mjs/components/_classes/nested/NestedComponent.js +32 -28
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +20 -15
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
- package/lib/mjs/components/address/Address.js +57 -46
- package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.provider.js +53 -11
- package/lib/mjs/components/alert/Alert.js +22 -16
- package/lib/mjs/components/button/Button.form.js +1 -1
- package/lib/mjs/components/button/Button.js +51 -28
- package/lib/mjs/components/button/editForm/Button.edit.display.js +49 -9
- package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/mjs/components/checkbox/Checkbox.js +29 -21
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/mjs/components/columns/Columns.form.js +1 -1
- package/lib/mjs/components/columns/Columns.js +24 -12
- package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/mjs/components/container/Container.form.js +2 -2
- package/lib/mjs/components/container/Container.js +6 -4
- package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/mjs/components/content/Content.form.js +4 -2
- package/lib/mjs/components/content/Content.js +10 -8
- package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/mjs/components/currency/Currency.form.js +3 -3
- package/lib/mjs/components/currency/Currency.js +19 -10
- package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/mjs/components/datagrid/DataGrid.js +90 -39
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/mjs/components/datamap/DataMap.form.js +2 -2
- package/lib/mjs/components/datamap/DataMap.js +44 -31
- package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/mjs/components/datetime/DateTime.form.js +5 -5
- package/lib/mjs/components/datetime/DateTime.js +31 -16
- package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
- package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
- package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/mjs/components/day/Day.form.js +5 -5
- package/lib/mjs/components/day/Day.js +147 -57
- package/lib/mjs/components/day/editForm/Day.edit.day.js +13 -9
- package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.month.js +12 -8
- package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/mjs/components/editgrid/EditGrid.js +138 -90
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/mjs/components/email/Email.js +4 -4
- package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/mjs/components/fieldset/Fieldset.js +2 -2
- package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/mjs/components/file/File.form.js +4 -4
- package/lib/mjs/components/file/File.js +131 -84
- package/lib/mjs/components/file/editForm/File.edit.display.js +9 -5
- package/lib/mjs/components/file/editForm/File.edit.file.d.ts +37 -16
- package/lib/mjs/components/file/editForm/File.edit.file.js +169 -72
- package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/mjs/components/form/Form.form.js +3 -3
- package/lib/mjs/components/form/Form.js +67 -51
- package/lib/mjs/components/form/editForm/Form.edit.data.js +1 -3
- package/lib/mjs/components/form/editForm/Form.edit.display.js +6 -7
- package/lib/mjs/components/form/editForm/Form.edit.form.js +10 -8
- package/lib/mjs/components/hidden/Hidden.form.js +4 -4
- package/lib/mjs/components/hidden/Hidden.js +2 -2
- package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/mjs/components/html/HTML.js +23 -17
- package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/mjs/components/number/Number.form.js +3 -3
- package/lib/mjs/components/number/Number.js +28 -12
- package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/mjs/components/panel/Panel.form.js +1 -1
- package/lib/mjs/components/panel/Panel.js +2 -2
- package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +6 -8
- package/lib/mjs/components/panel/editForm/Panel.edit.display.js +55 -29
- package/lib/mjs/components/password/Password.form.js +3 -3
- package/lib/mjs/components/password/Password.js +5 -2
- package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/mjs/components/radio/Radio.form.js +3 -3
- package/lib/mjs/components/radio/Radio.js +56 -27
- package/lib/mjs/components/radio/editForm/Radio.edit.data.js +23 -9
- package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/mjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/mjs/components/select/Select.form.js +3 -3
- package/lib/mjs/components/select/Select.js +240 -134
- package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/mjs/components/select/editForm/Select.edit.data.js +191 -57
- package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/mjs/components/selectboxes/SelectBoxes.js +32 -16
- package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/mjs/components/signature/Signature.form.js +3 -3
- package/lib/mjs/components/signature/Signature.js +25 -15
- package/lib/mjs/components/signature/editForm/Signature.edit.display.js +19 -10
- package/lib/mjs/components/survey/Survey.form.js +3 -3
- package/lib/mjs/components/survey/Survey.js +30 -17
- package/lib/mjs/components/survey/editForm/Survey.edit.data.js +23 -11
- package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/mjs/components/table/Table.form.js +1 -1
- package/lib/mjs/components/table/Table.js +7 -5
- package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/mjs/components/tabs/Tabs.form.js +1 -1
- package/lib/mjs/components/tabs/Tabs.js +26 -8
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
- package/lib/mjs/components/tags/Tags.form.js +1 -1
- package/lib/mjs/components/tags/Tags.js +28 -12
- package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/mjs/components/textarea/TextArea.form.js +2 -2
- package/lib/mjs/components/textarea/TextArea.js +75 -51
- package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
- package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/mjs/components/textfield/TextField.form.js +3 -3
- package/lib/mjs/components/textfield/TextField.js +34 -23
- package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +15 -13
- package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +31 -21
- package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/mjs/components/time/Time.js +17 -10
- package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/mjs/components/unknown/Unknown.form.js +5 -5
- package/lib/mjs/components/unknown/Unknown.js +2 -2
- package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/mjs/components/url/Url.form.js +3 -3
- package/lib/mjs/components/url/Url.js +2 -2
- package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/mjs/components/well/Well.form.js +1 -1
- package/lib/mjs/components/well/Well.js +2 -2
- package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/mjs/formio.form.d.ts +2 -1
- package/lib/mjs/formio.form.js +10 -8
- package/lib/mjs/i18n.d.ts +4 -0
- package/lib/mjs/i18n.js +7 -3
- package/lib/mjs/package.json +1 -1
- package/lib/mjs/providers/address/AddressProvider.js +8 -5
- package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/mjs/providers/address/GoogleAddressProvider.js +24 -13
- package/lib/mjs/providers/processor/fileProcessor.js +3 -1
- package/lib/mjs/providers/storage/azure.js +5 -2
- package/lib/mjs/providers/storage/dropbox.js +4 -5
- package/lib/mjs/providers/storage/googleDrive.js +3 -4
- package/lib/mjs/providers/storage/index.js +1 -1
- package/lib/mjs/providers/storage/indexeddb.js +16 -6
- package/lib/mjs/providers/storage/s3.js +19 -8
- package/lib/mjs/providers/storage/uploadAdapter.js +17 -11
- package/lib/mjs/providers/storage/url.js +13 -11
- package/lib/mjs/providers/storage/xhr.js +17 -9
- package/lib/mjs/templates/index.js +1 -1
- package/lib/mjs/translations/de.d.ts +80 -0
- package/lib/mjs/translations/de.js +79 -0
- package/lib/mjs/translations/en.d.ts +0 -2
- package/lib/mjs/translations/en.js +7 -9
- package/lib/mjs/utils/ChoicesWrapper.js +2 -2
- package/lib/mjs/utils/builder.js +31 -7
- package/lib/mjs/utils/calendarUtils.js +7 -5
- package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +16 -5
- package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +3 -1
- package/lib/mjs/utils/conditionOperators/IsEqualTo.js +10 -6
- package/lib/mjs/utils/conditionOperators/index.js +1 -1
- package/lib/mjs/utils/formUtils.js +2 -2
- package/lib/mjs/utils/i18n.js +7 -1
- package/lib/mjs/utils/index.d.ts +2 -1
- package/lib/mjs/utils/index.js +3 -3
- package/lib/mjs/utils/utils.d.ts +10 -1
- package/lib/mjs/utils/utils.js +178 -91
- package/lib/mjs/widgets/CalendarWidget.js +67 -50
- package/lib/mjs/widgets/InputWidget.js +6 -4
- package/lib/mjs/widgets/index.js +1 -1
- package/package.json +3 -3
- package/lib/cjs/pdf.image.d.ts +0 -2
- package/lib/cjs/pdf.image.js +0 -94
- package/lib/cjs/utils/jsonlogic/operators.d.ts +0 -1
- package/lib/cjs/utils/jsonlogic/operators.js +0 -265
- package/lib/mjs/pdf.image.d.ts +0 -2
- package/lib/mjs/pdf.image.js +0 -94
- package/lib/mjs/utils/jsonlogic/operators.d.ts +0 -1
- package/lib/mjs/utils/jsonlogic/operators.js +0 -262
package/lib/cjs/Form.js
CHANGED
|
@@ -3,12 +3,112 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FormOptions = void 0;
|
|
6
7
|
const Element_1 = __importDefault(require("./Element"));
|
|
7
8
|
const Formio_1 = require("./Formio");
|
|
8
9
|
const displays_1 = __importDefault(require("./displays"));
|
|
9
10
|
const templates_1 = __importDefault(require("./templates"));
|
|
10
11
|
const utils_1 = __importDefault(require("./utils"));
|
|
12
|
+
/**
|
|
13
|
+
* Represents a JSON value.
|
|
14
|
+
* @typedef {(string | number | boolean | null | JSONArray | JSONObject)} JSON
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Represents a JSON array.
|
|
18
|
+
* @typedef {Array<JSON>} JSONArray
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Represents a JSON object.
|
|
22
|
+
* @typedef {{[key: string]: JSON}} JSONObject
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* @typedef {object} FormioHooks
|
|
26
|
+
* @property {Function} [beforeSubmit] - Called before a submission is made.
|
|
27
|
+
* @property {Function} [beforeCancel] - Called before a cancel is made.
|
|
28
|
+
* @property {Function} [beforeNext] - Called before the next page is navigated to.
|
|
29
|
+
* @property {Function} [beforePrev] - Called before the previous page is navigated to.
|
|
30
|
+
* @property {Function} [attachComponent] - Called when a component is attached.
|
|
31
|
+
* @property {Function} [setDataValue] - Called when a data value is set.
|
|
32
|
+
* @property {Function} [addComponents] - Called when components are added.
|
|
33
|
+
* @property {Function} [addComponent] - Called when a component is added.
|
|
34
|
+
* @property {Function} [customValidation] - Called when a custom validation is made.
|
|
35
|
+
* @property {Function} [attachWebform] - Called when a webform is attached.
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* @typedef {object} SanitizeConfig
|
|
39
|
+
* @property {string[]} [addAttr] - The html attributes to allow with sanitization.
|
|
40
|
+
* @property {string[]} [addTags] - The html tags to allow with sanitization.
|
|
41
|
+
* @property {string[]} [allowedAttrs] - The html attributes to allow with sanitization.
|
|
42
|
+
* @property {string[]} [allowedTags] - The html tags to allow with sanitization.
|
|
43
|
+
* @property {string[]} [allowedUriRegex] - The regex for allowed URIs.
|
|
44
|
+
* @property {string[]} [addUriSafeAttr] - The URI attributes to allow with sanitization.
|
|
45
|
+
*/
|
|
46
|
+
/**
|
|
47
|
+
* @typedef {object} ButtonSettings
|
|
48
|
+
* @property {boolean} [showPrevious] - Show the previous button in wizard forms.
|
|
49
|
+
* @property {boolean} [showNext] - Show the next button in wizard forms.
|
|
50
|
+
* @property {boolean} [showCancel] - Show the cancel button in wizard forms.
|
|
51
|
+
* @property {boolean} [showSubmit] - Show the submit button in wizard forms.
|
|
52
|
+
*/
|
|
53
|
+
/**
|
|
54
|
+
* @typedef {object} FormOptions
|
|
55
|
+
* @property {boolean} [saveDraft] - Enable the save draft feature.
|
|
56
|
+
* @property {number} [saveDraftThrottle] - The throttle for the save draft feature.
|
|
57
|
+
* @property {boolean} [readOnly] - Set this form to readOnly.
|
|
58
|
+
* @property {boolean} [noAlerts] - Disable the alerts dialog.
|
|
59
|
+
* @property {{[key: string]: string}} [i18n] - The translation file for this rendering.
|
|
60
|
+
* @property {string} [template] - Custom logic for creation of elements.
|
|
61
|
+
* @property {boolean} [noDefaults] - Exclude default values from the settings.
|
|
62
|
+
* @property {any} [fileService] - The file service for this form.
|
|
63
|
+
* @property {EventEmitter} [events] - The EventEmitter for this form.
|
|
64
|
+
* @property {string} [language] - The language to render this form in.
|
|
65
|
+
* @property {{[key: string]: string}} [i18next] - The i18next configuration for this form.
|
|
66
|
+
* @property {boolean} [viewAsHtml] - View the form as raw HTML.
|
|
67
|
+
* @property {'form' | 'html' | 'flat' | 'builder' | 'pdf'} [renderMode] - The render mode for this form.
|
|
68
|
+
* @property {boolean} [highlightErrors] - Highlight any errors on the form.
|
|
69
|
+
* @property {string} [componentErrorClass] - The error class for components.
|
|
70
|
+
* @property {any} [templates] - The templates for this form.
|
|
71
|
+
* @property {string} [iconset] - The iconset for this form.
|
|
72
|
+
* @property {import('@formio/core').Component[]} [components] - The components for this form.
|
|
73
|
+
* @property {{[key: string]: boolean}} [disabled] - Disabled components for this form.
|
|
74
|
+
* @property {boolean} [showHiddenFields] - Show hidden fields.
|
|
75
|
+
* @property {{[key: string]: boolean}} [hide] - Hidden components for this form.
|
|
76
|
+
* @property {{[key: string]: boolean}} [show] - Components to show for this form.
|
|
77
|
+
* @property {Formio} [formio] - The Formio instance for this form.
|
|
78
|
+
* @property {string} [decimalSeparator] - The decimal separator for this form.
|
|
79
|
+
* @property {string} [thousandsSeparator] - The thousands separator for this form.
|
|
80
|
+
* @property {FormioHooks} [hooks] - The hooks for this form.
|
|
81
|
+
* @property {boolean} [alwaysDirty] - Always be dirty.
|
|
82
|
+
* @property {boolean} [skipDraftRestore] - Skip restoring a draft.
|
|
83
|
+
* @property {'form' | 'wizard' | 'pdf'} [display] - The display for this form.
|
|
84
|
+
* @property {string} [cdnUrl] - The CDN url for this form.
|
|
85
|
+
* @property {boolean} [flatten] - Flatten the form.
|
|
86
|
+
* @property {boolean} [sanitize] - Sanitize the form.
|
|
87
|
+
* @property {SanitizeConfig} [sanitizeConfig] - The sanitize configuration for this form.
|
|
88
|
+
* @property {ButtonSettings} [buttonSettings] - The button settings for this form.
|
|
89
|
+
* @property {object} [breadcrumbSettings] - The breadcrumb settings for this form.
|
|
90
|
+
* @property {boolean} [allowPrevious] - Allow the previous button (for Wizard forms).
|
|
91
|
+
* @property {string[]} [wizardButtonOrder] - The order of the buttons (for Wizard forms).
|
|
92
|
+
* @property {boolean} [showCheckboxBackground] - Show the checkbox background.
|
|
93
|
+
* @property {number} [zoom] - The zoom for PDF forms.
|
|
94
|
+
* @property {boolean} [building] - Whether the form is in builder mode.
|
|
95
|
+
* @property {boolean} [inputsOnly] - Whether to render inputs only (for PDF forms).
|
|
96
|
+
*/
|
|
97
|
+
/**
|
|
98
|
+
* Form class for rendering webforms, pdfs, and wizards.
|
|
99
|
+
* @property {FormOptions} options - The options for this Form instance.
|
|
100
|
+
*/
|
|
11
101
|
class Form extends Element_1.default {
|
|
102
|
+
/**
|
|
103
|
+
* Creates an easy to use interface for embedding webforms, pdfs, and wizards into your application.
|
|
104
|
+
* @param {object} elementOrForm - The DOM element you wish to render this form within, or the form definition.
|
|
105
|
+
* @param {object | string | FormOptions} formOrOptions - A Form JSON schema, the URL of a hosted form, or the form options.
|
|
106
|
+
* @param {FormOptions} [options] - The options to create a new form instance.
|
|
107
|
+
* @example
|
|
108
|
+
* import Form from '@formio/js/Form';
|
|
109
|
+
* const form = new Form(document.getElementById('formio'), 'https://examples.form.io/example');
|
|
110
|
+
* form.build();
|
|
111
|
+
*/
|
|
12
112
|
constructor(elementOrForm, formOrOptions, options = {}) {
|
|
13
113
|
let element, form, formOptions;
|
|
14
114
|
if (elementOrForm instanceof HTMLElement) {
|
|
@@ -58,7 +158,7 @@ class Form extends Element_1.default {
|
|
|
58
158
|
element.setAttribute(attr, attrs[attr]);
|
|
59
159
|
}
|
|
60
160
|
}
|
|
61
|
-
(children || []).forEach(child => {
|
|
161
|
+
(children || []).forEach((child) => {
|
|
62
162
|
element.appendChild(this.createElement(child.tag, child.attrs, child.children));
|
|
63
163
|
});
|
|
64
164
|
return element;
|
|
@@ -72,19 +172,23 @@ class Form extends Element_1.default {
|
|
|
72
172
|
return;
|
|
73
173
|
}
|
|
74
174
|
this.loader = this.createElement('div', {
|
|
75
|
-
|
|
76
|
-
}, [
|
|
175
|
+
class: 'formio-loader',
|
|
176
|
+
}, [
|
|
177
|
+
{
|
|
77
178
|
tag: 'div',
|
|
78
179
|
attrs: {
|
|
79
|
-
class: 'loader-wrapper'
|
|
180
|
+
class: 'loader-wrapper',
|
|
80
181
|
},
|
|
81
|
-
children: [
|
|
182
|
+
children: [
|
|
183
|
+
{
|
|
82
184
|
tag: 'div',
|
|
83
185
|
attrs: {
|
|
84
|
-
class: 'loader text-center'
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
186
|
+
class: 'loader text-center',
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
],
|
|
190
|
+
},
|
|
191
|
+
]);
|
|
88
192
|
this.element.appendChild(this.loader);
|
|
89
193
|
}
|
|
90
194
|
else if (this.loader) {
|
|
@@ -108,7 +212,6 @@ class Form extends Element_1.default {
|
|
|
108
212
|
return new displays_1.default.displays[display](this.element, this.options);
|
|
109
213
|
}
|
|
110
214
|
else {
|
|
111
|
-
// eslint-disable-next-line new-cap
|
|
112
215
|
return new displays_1.default.displays['webform'](this.element, this.options);
|
|
113
216
|
}
|
|
114
217
|
}
|
|
@@ -124,21 +227,21 @@ class Form extends Element_1.default {
|
|
|
124
227
|
return {
|
|
125
228
|
components: [
|
|
126
229
|
{
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
230
|
+
label: 'HTML',
|
|
231
|
+
tag: 'div',
|
|
232
|
+
className: 'error error-message alert alert-danger ui red message',
|
|
233
|
+
attrs: [
|
|
131
234
|
{
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
235
|
+
attr: 'role',
|
|
236
|
+
value: 'alert',
|
|
237
|
+
},
|
|
135
238
|
],
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
]
|
|
239
|
+
key: 'errorMessage',
|
|
240
|
+
type: 'htmlelement',
|
|
241
|
+
input: false,
|
|
242
|
+
content: typeof err === 'string' ? err : err.message,
|
|
243
|
+
},
|
|
244
|
+
],
|
|
142
245
|
};
|
|
143
246
|
}
|
|
144
247
|
/**
|
|
@@ -157,7 +260,7 @@ class Form extends Element_1.default {
|
|
|
157
260
|
const projectUrl = url.substring(0, index - 1);
|
|
158
261
|
const urlParts = Formio_1.Formio.getUrlParts(projectUrl);
|
|
159
262
|
// project url doesn't include subdirectories path
|
|
160
|
-
if (!urlParts || urlParts.filter(part => !!part).length < 4) {
|
|
263
|
+
if (!urlParts || urlParts.filter((part) => !!part).length < 4) {
|
|
161
264
|
return options;
|
|
162
265
|
}
|
|
163
266
|
const baseUrl = `${urlParts[1]}${urlParts[2]}`;
|
|
@@ -172,7 +275,7 @@ class Form extends Element_1.default {
|
|
|
172
275
|
}
|
|
173
276
|
/**
|
|
174
277
|
* Sets the form to the JSON schema of a form.
|
|
175
|
-
* @param {import('@formio/core').Form} formParam - The form JSON to set this form to.
|
|
278
|
+
* @param {import('@formio/core').Form | string} formParam - The form JSON to set this form to.
|
|
176
279
|
* @returns {Promise<Webform|Wizard|PDF>} - The webform instance that was created.
|
|
177
280
|
*/
|
|
178
281
|
setForm(formParam) {
|
|
@@ -187,9 +290,10 @@ class Form extends Element_1.default {
|
|
|
187
290
|
error = err;
|
|
188
291
|
})
|
|
189
292
|
.then((submission) => {
|
|
190
|
-
return formio
|
|
293
|
+
return (formio
|
|
294
|
+
.loadForm()
|
|
191
295
|
// If the form returned an error, show it instead of the form.
|
|
192
|
-
.catch(err => {
|
|
296
|
+
.catch((err) => {
|
|
193
297
|
error = err;
|
|
194
298
|
})
|
|
195
299
|
.then((form) => {
|
|
@@ -199,8 +303,14 @@ class Form extends Element_1.default {
|
|
|
199
303
|
}
|
|
200
304
|
this.loading = false;
|
|
201
305
|
this.instance = this.instance || this.create(form.display);
|
|
202
|
-
|
|
203
|
-
this.instance.setUrl
|
|
306
|
+
// If we're in builder mode, instance.setUrl is not a function, so just manually set the URL.
|
|
307
|
+
if (this.instance.setUrl) {
|
|
308
|
+
const options = this.getFormInitOptions(formParam, form);
|
|
309
|
+
this.instance.setUrl(formParam, options);
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
this.instance.url = formParam;
|
|
313
|
+
}
|
|
204
314
|
this.instance.nosubmit = false;
|
|
205
315
|
this._form = this.instance.form = form;
|
|
206
316
|
if (submission) {
|
|
@@ -210,7 +320,7 @@ class Form extends Element_1.default {
|
|
|
210
320
|
throw error;
|
|
211
321
|
}
|
|
212
322
|
return this.instance;
|
|
213
|
-
});
|
|
323
|
+
}));
|
|
214
324
|
});
|
|
215
325
|
}
|
|
216
326
|
else {
|
|
@@ -246,13 +356,15 @@ class Form extends Element_1.default {
|
|
|
246
356
|
* @returns {Promise<Webform|Wizard|PDF>} - The form instance that was created after changing the display.
|
|
247
357
|
*/
|
|
248
358
|
setDisplay(display) {
|
|
249
|
-
if (
|
|
359
|
+
if (this.display === display && this.instance) {
|
|
250
360
|
return Promise.resolve(this.instance);
|
|
251
361
|
}
|
|
252
362
|
this.form.display = display;
|
|
253
363
|
this.instance.destroy();
|
|
254
364
|
this.instance = this.create(display);
|
|
255
|
-
return this.setForm(this.form)
|
|
365
|
+
return this.setForm(this.form).then(() => {
|
|
366
|
+
this.instance.emit('setDisplay', this.form.display);
|
|
367
|
+
});
|
|
256
368
|
}
|
|
257
369
|
empty() {
|
|
258
370
|
if (this.element) {
|
|
@@ -314,10 +426,11 @@ class Form extends Element_1.default {
|
|
|
314
426
|
return Promise.reject('No DOM element for form.');
|
|
315
427
|
}
|
|
316
428
|
// Add temporary loader.
|
|
317
|
-
const template =
|
|
429
|
+
const template = this.options && this.options.template ? this.options.template : 'bootstrap';
|
|
318
430
|
const loader = templates_1.default[template].loader || templates_1.default.bootstrap.loader;
|
|
319
431
|
this.setContent(this.element, loader.form);
|
|
320
|
-
return this.render()
|
|
432
|
+
return this.render()
|
|
433
|
+
.then((html) => {
|
|
321
434
|
this.setContent(this.element, html);
|
|
322
435
|
return this.attach(this.element).then(() => this.instance);
|
|
323
436
|
})
|
|
@@ -330,8 +443,7 @@ class Form extends Element_1.default {
|
|
|
330
443
|
if (!this.instance) {
|
|
331
444
|
return Promise.reject('Form not ready. Use form.ready promise');
|
|
332
445
|
}
|
|
333
|
-
return Promise.resolve(this.instance.render())
|
|
334
|
-
.then((param) => {
|
|
446
|
+
return Promise.resolve(this.instance.render()).then((param) => {
|
|
335
447
|
this.emit('render', param);
|
|
336
448
|
return param;
|
|
337
449
|
});
|
|
@@ -344,8 +456,7 @@ class Form extends Element_1.default {
|
|
|
344
456
|
delete this.element.component;
|
|
345
457
|
}
|
|
346
458
|
this.element = element;
|
|
347
|
-
return this.instance.attach(this.element)
|
|
348
|
-
.then((param) => {
|
|
459
|
+
return this.instance.attach(this.element).then((param) => {
|
|
349
460
|
this.emit('attach', param);
|
|
350
461
|
return param;
|
|
351
462
|
});
|
|
@@ -370,6 +481,9 @@ Formio_1.Formio.embedForm = (embed) => Form.embed(embed);
|
|
|
370
481
|
* Formio.createForm(document.getElementById('formio'), 'https://examples.form.io/example');
|
|
371
482
|
*/
|
|
372
483
|
Formio_1.Formio.createForm = (elementOrForm, formOrOptions, options) => {
|
|
373
|
-
return
|
|
484
|
+
return new Form(elementOrForm, formOrOptions, options).ready;
|
|
374
485
|
};
|
|
375
486
|
Formio_1.Formio.Form = Form;
|
|
487
|
+
// Export a dummy for TypeScript type resolution
|
|
488
|
+
const FormOptions = undefined;
|
|
489
|
+
exports.FormOptions = FormOptions;
|
package/lib/cjs/FormBuilder.d.ts
CHANGED
|
@@ -44,7 +44,7 @@ export default class FormBuilder extends Form {
|
|
|
44
44
|
/**
|
|
45
45
|
* - The options to apply to the Edit Form (the form that shows inside the modal when you edit a component).
|
|
46
46
|
*/
|
|
47
|
-
editForm?:
|
|
47
|
+
editForm?: import("./Form").FormOptions | undefined;
|
|
48
48
|
/**
|
|
49
49
|
* - The language to load into the form builder.
|
|
50
50
|
*/
|
|
@@ -105,7 +105,7 @@ export default class FormBuilder extends Form {
|
|
|
105
105
|
/**
|
|
106
106
|
* - The options to apply to the Edit Form (the form that shows inside the modal when you edit a component).
|
|
107
107
|
*/
|
|
108
|
-
editForm?:
|
|
108
|
+
editForm?: import("./Form").FormOptions | undefined;
|
|
109
109
|
/**
|
|
110
110
|
* - The language to load into the form builder.
|
|
111
111
|
*/
|
|
@@ -160,7 +160,7 @@ export default class FormBuilder extends Form {
|
|
|
160
160
|
/**
|
|
161
161
|
* - The options to apply to the Edit Form (the form that shows inside the modal when you edit a component).
|
|
162
162
|
*/
|
|
163
|
-
editForm?:
|
|
163
|
+
editForm?: import("./Form").FormOptions | undefined;
|
|
164
164
|
/**
|
|
165
165
|
* - The language to load into the form builder.
|
|
166
166
|
*/
|
package/lib/cjs/FormBuilder.js
CHANGED
|
@@ -17,14 +17,13 @@ class FormBuilder extends Form_1.default {
|
|
|
17
17
|
constructor(element, form, options) {
|
|
18
18
|
form = form || {};
|
|
19
19
|
options = options || {};
|
|
20
|
-
super(element, form, Object.assign(options, FormBuilder.options,
|
|
20
|
+
super(element, form, Object.assign(options, FormBuilder.options, Formio_1.Formio.options && Formio_1.Formio.options.builder ? Formio_1.Formio.options.builder : {}));
|
|
21
21
|
}
|
|
22
22
|
create(display) {
|
|
23
23
|
if (builders_1.default.builders[display]) {
|
|
24
24
|
return new builders_1.default.builders[display](this.element, this.options);
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
|
-
// eslint-disable-next-line new-cap
|
|
28
27
|
return new builders_1.default.builders['webform'](this.element, this.options);
|
|
29
28
|
}
|
|
30
29
|
}
|
|
@@ -56,6 +55,6 @@ exports.default = FormBuilder;
|
|
|
56
55
|
* @returns {Promise} - When the form is instance is ready.
|
|
57
56
|
*/
|
|
58
57
|
Formio_1.Formio.builder = (element, form, options) => {
|
|
59
|
-
return
|
|
58
|
+
return new FormBuilder(element, form, options).ready;
|
|
60
59
|
};
|
|
61
60
|
Formio_1.Formio.FormBuilder = FormBuilder;
|
package/lib/cjs/Formio.js
CHANGED
|
@@ -11,8 +11,10 @@ const CDN_1 = __importDefault(require("./CDN"));
|
|
|
11
11
|
const providers_1 = __importDefault(require("./providers"));
|
|
12
12
|
sdk_1.Formio.cdn = new CDN_1.default();
|
|
13
13
|
sdk_1.Formio.Providers = providers_1.default;
|
|
14
|
-
sdk_1.Formio.version = '5.
|
|
15
|
-
CDN_1.default.defaultCDN = sdk_1.Formio.version.includes('rc')
|
|
14
|
+
sdk_1.Formio.version = '5.3.0-rc.0';
|
|
15
|
+
CDN_1.default.defaultCDN = sdk_1.Formio.version.includes('rc')
|
|
16
|
+
? 'https://cdn.test-form.io'
|
|
17
|
+
: 'https://cdn.form.io';
|
|
16
18
|
const isNil = (val) => val === null || val === undefined;
|
|
17
19
|
sdk_1.Formio.prototype.uploadFile = function (storage, file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, uploadStartCallback, abortCallback, multipartOptions) {
|
|
18
20
|
const requestArgs = {
|
|
@@ -20,13 +22,11 @@ sdk_1.Formio.prototype.uploadFile = function (storage, file, fileName, dir, prog
|
|
|
20
22
|
method: 'upload',
|
|
21
23
|
file: file,
|
|
22
24
|
fileName: fileName,
|
|
23
|
-
dir: dir
|
|
25
|
+
dir: dir,
|
|
24
26
|
};
|
|
25
27
|
fileKey = fileKey || 'file';
|
|
26
|
-
const request = sdk_1.Formio.pluginWait('preRequest', requestArgs)
|
|
27
|
-
.then(() => {
|
|
28
|
-
return sdk_1.Formio.pluginGet('fileRequest', requestArgs)
|
|
29
|
-
.then((result) => {
|
|
28
|
+
const request = sdk_1.Formio.pluginWait('preRequest', requestArgs).then(() => {
|
|
29
|
+
return sdk_1.Formio.pluginGet('fileRequest', requestArgs).then((result) => {
|
|
30
30
|
if (storage && isNil(result)) {
|
|
31
31
|
const Provider = providers_1.default.getProvider('storage', storage);
|
|
32
32
|
if (Provider) {
|
|
@@ -37,7 +37,7 @@ sdk_1.Formio.prototype.uploadFile = function (storage, file, fileName, dir, prog
|
|
|
37
37
|
return provider.uploadFile(file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, abortCallback, multipartOptions);
|
|
38
38
|
}
|
|
39
39
|
else {
|
|
40
|
-
throw
|
|
40
|
+
throw 'Storage provider not found';
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
return result || { url: '' };
|
|
@@ -48,12 +48,10 @@ sdk_1.Formio.prototype.uploadFile = function (storage, file, fileName, dir, prog
|
|
|
48
48
|
sdk_1.Formio.prototype.downloadFile = function (file, options) {
|
|
49
49
|
const requestArgs = {
|
|
50
50
|
method: 'download',
|
|
51
|
-
file: file
|
|
51
|
+
file: file,
|
|
52
52
|
};
|
|
53
|
-
const request = sdk_1.Formio.pluginWait('preRequest', requestArgs)
|
|
54
|
-
.then(() => {
|
|
55
|
-
return sdk_1.Formio.pluginGet('fileRequest', requestArgs)
|
|
56
|
-
.then((result) => {
|
|
53
|
+
const request = sdk_1.Formio.pluginWait('preRequest', requestArgs).then(() => {
|
|
54
|
+
return sdk_1.Formio.pluginGet('fileRequest', requestArgs).then((result) => {
|
|
57
55
|
if (file.storage && isNil(result)) {
|
|
58
56
|
const Provider = providers_1.default.getProvider('storage', file.storage);
|
|
59
57
|
if (Provider) {
|
|
@@ -61,7 +59,7 @@ sdk_1.Formio.prototype.downloadFile = function (file, options) {
|
|
|
61
59
|
return provider.downloadFile(file, options);
|
|
62
60
|
}
|
|
63
61
|
else {
|
|
64
|
-
throw
|
|
62
|
+
throw 'Storage provider not found';
|
|
65
63
|
}
|
|
66
64
|
}
|
|
67
65
|
return result || { url: '' };
|
|
@@ -72,12 +70,10 @@ sdk_1.Formio.prototype.downloadFile = function (file, options) {
|
|
|
72
70
|
sdk_1.Formio.prototype.deleteFile = function (file, options) {
|
|
73
71
|
const requestArgs = {
|
|
74
72
|
method: 'delete',
|
|
75
|
-
file: file
|
|
73
|
+
file: file,
|
|
76
74
|
};
|
|
77
|
-
const request = sdk_1.Formio.pluginWait('preRequest', requestArgs)
|
|
78
|
-
.then(() => {
|
|
79
|
-
return sdk_1.Formio.pluginGet('fileRequest', requestArgs)
|
|
80
|
-
.then((result) => {
|
|
75
|
+
const request = sdk_1.Formio.pluginWait('preRequest', requestArgs).then(() => {
|
|
76
|
+
return sdk_1.Formio.pluginGet('fileRequest', requestArgs).then((result) => {
|
|
81
77
|
if (file.storage && isNil(result)) {
|
|
82
78
|
const Provider = providers_1.default.getProvider('storage', file.storage);
|
|
83
79
|
if (Provider) {
|
|
@@ -85,7 +81,7 @@ sdk_1.Formio.prototype.deleteFile = function (file, options) {
|
|
|
85
81
|
return provider.deleteFile(file, options);
|
|
86
82
|
}
|
|
87
83
|
else {
|
|
88
|
-
throw
|
|
84
|
+
throw 'Storage provider not found';
|
|
89
85
|
}
|
|
90
86
|
}
|
|
91
87
|
return result || { url: '' };
|
|
@@ -94,7 +90,14 @@ sdk_1.Formio.prototype.deleteFile = function (file, options) {
|
|
|
94
90
|
return sdk_1.Formio.pluginAlter('wrapFileRequestPromise', request, requestArgs);
|
|
95
91
|
};
|
|
96
92
|
// Esnure we proxy the following methods to the FormioEmbed class.
|
|
97
|
-
[
|
|
93
|
+
[
|
|
94
|
+
'setBaseUrl',
|
|
95
|
+
'setApiUrl',
|
|
96
|
+
'setAppUrl',
|
|
97
|
+
'setProjectUrl',
|
|
98
|
+
'setPathType',
|
|
99
|
+
'setLicense',
|
|
100
|
+
].forEach((fn) => {
|
|
98
101
|
const baseFn = sdk_1.Formio[fn];
|
|
99
102
|
sdk_1.Formio[fn] = function (arg) {
|
|
100
103
|
const retVal = Embed_1.Formio[fn](arg, true);
|
|
@@ -119,8 +122,8 @@ sdk_1.Formio.addToGlobal = (global) => {
|
|
|
119
122
|
global.Formio = sdk_1.Formio;
|
|
120
123
|
}
|
|
121
124
|
};
|
|
122
|
-
if (typeof
|
|
123
|
-
sdk_1.Formio.addToGlobal(
|
|
125
|
+
if (typeof globalThis !== 'undefined') {
|
|
126
|
+
sdk_1.Formio.addToGlobal(globalThis);
|
|
124
127
|
}
|
|
125
128
|
if (typeof window !== 'undefined') {
|
|
126
129
|
sdk_1.Formio.addToGlobal(window);
|
package/lib/cjs/InlineEmbed.js
CHANGED
|
@@ -14,7 +14,7 @@ function embed(config = {}) {
|
|
|
14
14
|
let i = scripts.length;
|
|
15
15
|
const scriptName = config.scriptName || 'formio.embed.';
|
|
16
16
|
while (i--) {
|
|
17
|
-
if (scripts[i].src &&
|
|
17
|
+
if (scripts[i].src && scripts[i].src.indexOf(scriptName) !== -1) {
|
|
18
18
|
thisScript = scripts[i];
|
|
19
19
|
break;
|
|
20
20
|
}
|
|
@@ -22,13 +22,19 @@ function embed(config = {}) {
|
|
|
22
22
|
if (thisScript) {
|
|
23
23
|
const query = {};
|
|
24
24
|
const queryString = thisScript.src.replace(/^[^?]+\??/, '');
|
|
25
|
-
queryString
|
|
25
|
+
queryString
|
|
26
|
+
.replace(/\?/g, '&')
|
|
27
|
+
.split('&')
|
|
28
|
+
.forEach((item) => {
|
|
26
29
|
query[item.split('=')[0]] = item.split('=')[1] && decodeURIComponent(item.split('=')[1]);
|
|
27
30
|
});
|
|
28
31
|
let scriptSrc = thisScript.src.replace(/^([^?]+).*/, '$1').split('/');
|
|
29
32
|
scriptSrc.pop();
|
|
30
33
|
let cdnSrc = '';
|
|
31
|
-
if ([
|
|
34
|
+
if ([
|
|
35
|
+
'js',
|
|
36
|
+
'offline',
|
|
37
|
+
].includes(scriptSrc[scriptSrc.length - 1])) {
|
|
32
38
|
scriptSrc.pop();
|
|
33
39
|
scriptSrc = cdnSrc = scriptSrc.join('/');
|
|
34
40
|
scriptSrc += '/js';
|
|
@@ -36,42 +42,42 @@ function embed(config = {}) {
|
|
|
36
42
|
else {
|
|
37
43
|
scriptSrc = scriptSrc.join('/');
|
|
38
44
|
}
|
|
39
|
-
const debug =
|
|
45
|
+
const debug = query.debug === 'true' || query.debug === '1';
|
|
40
46
|
const renderer = debug ? 'formio.form' : 'formio.form.min';
|
|
41
47
|
Embed_1.Formio.config = Object.assign({
|
|
42
|
-
script: query.script ||
|
|
43
|
-
style: query.styles ||
|
|
48
|
+
script: query.script || `${scriptSrc}/${renderer}.js`,
|
|
49
|
+
style: query.styles || `${scriptSrc}/${renderer}.css`,
|
|
44
50
|
cdn: query.cdn || cdnSrc,
|
|
45
|
-
class:
|
|
51
|
+
class: query.class || 'formio-form-wrapper',
|
|
46
52
|
src: query.src,
|
|
47
53
|
form: null,
|
|
48
54
|
submission: null,
|
|
49
55
|
project: query.project,
|
|
50
56
|
base: query.base || 'https://api.form.io',
|
|
51
57
|
submit: query.submit,
|
|
52
|
-
includeLibs:
|
|
53
|
-
noshadow:
|
|
58
|
+
includeLibs: query.libs === 'true' || query.libs === '1',
|
|
59
|
+
noshadow: query.shadow === 'false' || query.shadow === '0',
|
|
54
60
|
template: query.template || 'bootstrap',
|
|
55
61
|
debug: debug,
|
|
56
62
|
config: {},
|
|
57
|
-
redirect:
|
|
58
|
-
embedCSS:
|
|
63
|
+
redirect: query.return || query.redirect,
|
|
64
|
+
embedCSS: `${scriptSrc}/formio.embed.css`,
|
|
59
65
|
success: query.success || 'Thank you for your submission!',
|
|
60
66
|
before: null,
|
|
61
|
-
after: null
|
|
67
|
+
after: null,
|
|
62
68
|
}, config);
|
|
63
69
|
if (Embed_1.Formio.config.alter) {
|
|
64
70
|
Embed_1.Formio.config.alter(Embed_1.Formio.config);
|
|
65
71
|
}
|
|
66
|
-
const form =
|
|
72
|
+
const form = Embed_1.Formio.config.form || Embed_1.Formio.config.src;
|
|
67
73
|
if (form) {
|
|
68
74
|
Embed_1.Formio.debug('Embedding Configuration', config);
|
|
69
75
|
// The id for this embedded form.
|
|
70
76
|
Embed_1.Formio.config.id = `formio-${Math.random().toString(36).substring(7)}`;
|
|
71
77
|
Embed_1.Formio.debug('Creating form element');
|
|
72
78
|
const element = Embed_1.Formio.createElement('div', {
|
|
73
|
-
|
|
74
|
-
class: Embed_1.Formio.config.class
|
|
79
|
+
id: Embed_1.Formio.config.id,
|
|
80
|
+
class: Embed_1.Formio.config.class,
|
|
75
81
|
});
|
|
76
82
|
// insertAfter doesn't exist, but effect is identical.
|
|
77
83
|
thisScript.parentNode.insertBefore(element, thisScript.parentNode.firstElementChild.nextSibling);
|
|
@@ -87,7 +93,7 @@ function embed(config = {}) {
|
|
|
87
93
|
if (Embed_1.Formio.config.submit) {
|
|
88
94
|
Embed_1.Formio.debug(`Sending submission to ${Embed_1.Formio.config.submit}`);
|
|
89
95
|
const headers = {
|
|
90
|
-
'content-type': 'application/json'
|
|
96
|
+
'content-type': 'application/json',
|
|
91
97
|
};
|
|
92
98
|
const token = Embed_1.Formio.FormioClass.getToken();
|
|
93
99
|
if (token) {
|
|
@@ -99,7 +105,7 @@ function embed(config = {}) {
|
|
|
99
105
|
method: 'POST',
|
|
100
106
|
mode: 'cors',
|
|
101
107
|
})
|
|
102
|
-
.then(resp => resp.json())
|
|
108
|
+
.then((resp) => resp.json())
|
|
103
109
|
.then((submission) => {
|
|
104
110
|
Embed_1.Formio.submitDone(instance, submission);
|
|
105
111
|
});
|