@formio/js 5.0.0-rc.26 → 5.0.0-rc.28
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/fonts/bootstrap-icons.woff +0 -0
- package/dist/fonts/bootstrap-icons.woff2 +0 -0
- 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.js +710 -689
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +2 -2
- package/dist/formio.full.css +100 -3
- package/dist/formio.full.js +715 -727
- package/dist/formio.full.min.css +2 -2
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +2 -2
- package/dist/formio.js +659 -264
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +2 -2
- package/dist/formio.utils.js +29 -8
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +2 -2
- package/lib/cjs/Embed.d.ts +2 -1
- package/lib/cjs/Embed.js +20 -7
- package/lib/cjs/PDF.js +2 -2
- package/lib/cjs/Webform.d.ts +3 -5
- package/lib/cjs/Webform.js +59 -81
- package/lib/cjs/WebformBuilder.d.ts +1 -1
- package/lib/cjs/WebformBuilder.js +27 -10
- package/lib/cjs/Wizard.d.ts +2 -0
- package/lib/cjs/Wizard.js +37 -26
- package/lib/cjs/WizardBuilder.d.ts +1 -0
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +1 -2
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +11 -12
- package/lib/cjs/addons/index.d.ts +1 -0
- package/lib/cjs/addons/index.js +5 -1
- package/lib/cjs/components/Components.d.ts +7 -0
- package/lib/cjs/components/Components.js +30 -0
- package/lib/cjs/components/_classes/component/Component.d.ts +57 -27
- package/lib/cjs/components/_classes/component/Component.js +193 -119
- package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.d.ts +8 -0
- package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +31 -1
- package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +28 -11
- package/lib/cjs/components/_classes/nested/NestedComponent.js +88 -57
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +4 -3
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +17 -4
- package/lib/cjs/components/builder.js +0 -2
- package/lib/cjs/components/button/Button.js +2 -1
- package/lib/cjs/components/columns/Columns.d.ts +1 -0
- package/lib/cjs/components/columns/Columns.js +2 -3
- package/lib/cjs/components/columns/editForm/Columns.edit.display.d.ts +30 -1
- package/lib/cjs/components/columns/editForm/Columns.edit.display.js +23 -1
- package/lib/cjs/components/container/Container.d.ts +1 -0
- package/lib/cjs/components/container/Container.js +2 -6
- package/lib/cjs/components/content/Content.d.ts +1 -0
- package/lib/cjs/components/content/Content.js +1 -0
- package/lib/cjs/components/datagrid/DataGrid.d.ts +0 -8
- package/lib/cjs/components/datagrid/DataGrid.js +9 -26
- package/lib/cjs/components/datamap/DataMap.js +2 -1
- package/lib/cjs/components/datetime/DateTime.js +0 -2
- package/lib/cjs/components/day/Day.js +2 -3
- package/lib/cjs/components/editgrid/EditGrid.d.ts +8 -4
- package/lib/cjs/components/editgrid/EditGrid.js +96 -73
- package/lib/cjs/components/email/Email.js +0 -1
- package/lib/cjs/components/file/File.js +1 -1
- package/lib/cjs/components/file/fixtures/comp3.d.ts +29 -0
- package/lib/cjs/components/file/fixtures/comp3.js +31 -0
- package/lib/cjs/components/form/Form.d.ts +2 -6
- package/lib/cjs/components/form/Form.js +43 -14
- package/lib/cjs/components/index.d.ts +0 -2
- package/lib/cjs/components/index.js +0 -2
- package/lib/cjs/components/number/Number.d.ts +1 -2
- package/lib/cjs/components/number/Number.js +5 -6
- package/lib/cjs/components/panel/Panel.d.ts +0 -1
- package/lib/cjs/components/panel/Panel.js +2 -9
- package/lib/cjs/components/panel/editForm/Panel.edit.display.d.ts +6 -38
- package/lib/cjs/components/panel/editForm/Panel.edit.display.js +3 -16
- package/lib/cjs/components/phonenumber/PhoneNumber.js +17 -0
- package/lib/cjs/components/radio/Radio.js +0 -2
- package/lib/cjs/components/recaptcha/ReCaptcha.d.ts +1 -1
- package/lib/cjs/components/recaptcha/ReCaptcha.js +2 -2
- package/lib/cjs/components/select/Select.js +3 -2
- package/lib/cjs/components/selectboxes/SelectBoxes.d.ts +1 -2
- package/lib/cjs/components/selectboxes/SelectBoxes.js +7 -6
- package/lib/cjs/components/table/editForm/Table.edit.display.d.ts +31 -2
- package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -0
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.d.ts +30 -2
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +22 -0
- package/lib/cjs/components/textfield/TextField.js +20 -6
- package/lib/cjs/components/time/Time.js +0 -6
- package/lib/cjs/components/url/Url.js +0 -1
- package/lib/cjs/components/well/editForm/Well.edit.display.d.ts +25 -2
- package/lib/cjs/components/well/editForm/Well.edit.display.js +18 -0
- package/lib/cjs/formio.embed.js +5 -3
- package/lib/cjs/formio.form.d.ts +1 -7
- package/lib/cjs/formio.form.js +2 -38
- package/lib/cjs/index.d.ts +2 -1
- package/lib/cjs/index.js +2 -1
- package/lib/cjs/providers/Providers.d.ts +0 -4
- package/lib/cjs/providers/storage/azure.d.ts +0 -2
- package/lib/cjs/providers/storage/azure.js +1 -6
- package/lib/cjs/providers/storage/googleDrive.d.ts +0 -1
- package/lib/cjs/providers/storage/googleDrive.js +0 -4
- package/lib/cjs/providers/storage/s3.d.ts +0 -1
- package/lib/cjs/providers/storage/s3.js +0 -4
- package/lib/cjs/translations/en.d.ts +5 -0
- package/lib/cjs/translations/en.js +5 -0
- package/lib/cjs/utils/formUtils.js +1 -0
- package/lib/cjs/utils/utils.d.ts +2 -1
- package/lib/cjs/utils/utils.js +27 -9
- package/lib/mjs/Embed.d.ts +2 -1
- package/lib/mjs/Embed.js +20 -7
- package/lib/mjs/PDF.js +2 -2
- package/lib/mjs/Webform.d.ts +3 -5
- package/lib/mjs/Webform.js +58 -82
- package/lib/mjs/WebformBuilder.d.ts +1 -1
- package/lib/mjs/WebformBuilder.js +28 -7
- package/lib/mjs/Wizard.d.ts +2 -0
- package/lib/mjs/Wizard.js +36 -27
- package/lib/mjs/WizardBuilder.d.ts +1 -0
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.d.ts +1 -2
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +11 -12
- package/lib/mjs/addons/index.d.ts +1 -0
- package/lib/mjs/addons/index.js +5 -1
- package/lib/mjs/components/Components.d.ts +7 -0
- package/lib/mjs/components/Components.js +29 -0
- package/lib/mjs/components/_classes/component/Component.d.ts +57 -27
- package/lib/mjs/components/_classes/component/Component.js +191 -118
- package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.d.ts +8 -0
- package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +31 -1
- package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +28 -11
- package/lib/mjs/components/_classes/nested/NestedComponent.js +88 -57
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +4 -3
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +18 -5
- package/lib/mjs/components/builder.js +0 -2
- package/lib/mjs/components/button/Button.js +2 -1
- package/lib/mjs/components/columns/Columns.d.ts +1 -0
- package/lib/mjs/components/columns/Columns.js +2 -3
- package/lib/mjs/components/columns/editForm/Columns.edit.display.d.ts +30 -1
- package/lib/mjs/components/columns/editForm/Columns.edit.display.js +23 -1
- package/lib/mjs/components/container/Container.d.ts +1 -0
- package/lib/mjs/components/container/Container.js +2 -6
- package/lib/mjs/components/content/Content.d.ts +1 -0
- package/lib/mjs/components/content/Content.js +1 -0
- package/lib/mjs/components/datagrid/DataGrid.d.ts +0 -8
- package/lib/mjs/components/datagrid/DataGrid.js +9 -26
- package/lib/mjs/components/datamap/DataMap.js +2 -1
- package/lib/mjs/components/datetime/DateTime.js +0 -2
- package/lib/mjs/components/day/Day.js +2 -3
- package/lib/mjs/components/editgrid/EditGrid.d.ts +8 -4
- package/lib/mjs/components/editgrid/EditGrid.js +97 -76
- package/lib/mjs/components/email/Email.js +0 -1
- package/lib/mjs/components/file/File.js +1 -1
- package/lib/mjs/components/file/fixtures/comp3.d.ts +29 -0
- package/lib/mjs/components/file/fixtures/comp3.js +29 -0
- package/lib/mjs/components/form/Form.d.ts +2 -6
- package/lib/mjs/components/form/Form.js +45 -14
- package/lib/mjs/components/index.d.ts +0 -2
- package/lib/mjs/components/index.js +0 -2
- package/lib/mjs/components/number/Number.d.ts +1 -2
- package/lib/mjs/components/number/Number.js +4 -5
- package/lib/mjs/components/panel/Panel.d.ts +0 -1
- package/lib/mjs/components/panel/Panel.js +3 -9
- package/lib/mjs/components/panel/editForm/Panel.edit.display.d.ts +6 -38
- package/lib/mjs/components/panel/editForm/Panel.edit.display.js +3 -16
- package/lib/mjs/components/phonenumber/PhoneNumber.js +17 -0
- package/lib/mjs/components/radio/Radio.js +0 -2
- package/lib/mjs/components/recaptcha/ReCaptcha.d.ts +1 -1
- package/lib/mjs/components/recaptcha/ReCaptcha.js +2 -2
- package/lib/mjs/components/select/Select.js +3 -2
- package/lib/mjs/components/selectboxes/SelectBoxes.d.ts +1 -2
- package/lib/mjs/components/selectboxes/SelectBoxes.js +7 -6
- package/lib/mjs/components/table/editForm/Table.edit.display.d.ts +31 -2
- package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -0
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.d.ts +30 -2
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +22 -0
- package/lib/mjs/components/textfield/TextField.js +20 -6
- package/lib/mjs/components/time/Time.js +0 -6
- package/lib/mjs/components/url/Url.js +0 -1
- package/lib/mjs/components/well/editForm/Well.edit.display.d.ts +25 -2
- package/lib/mjs/components/well/editForm/Well.edit.display.js +18 -0
- package/lib/mjs/formio.embed.js +5 -3
- package/lib/mjs/formio.form.d.ts +1 -7
- package/lib/mjs/formio.form.js +2 -32
- package/lib/mjs/index.d.ts +2 -1
- package/lib/mjs/index.js +1 -1
- package/lib/mjs/providers/Providers.d.ts +0 -4
- package/lib/mjs/providers/storage/azure.d.ts +0 -2
- package/lib/mjs/providers/storage/azure.js +1 -6
- package/lib/mjs/providers/storage/googleDrive.d.ts +0 -1
- package/lib/mjs/providers/storage/googleDrive.js +0 -4
- package/lib/mjs/providers/storage/s3.d.ts +0 -1
- package/lib/mjs/providers/storage/s3.js +0 -4
- package/lib/mjs/translations/en.d.ts +5 -0
- package/lib/mjs/translations/en.js +5 -0
- package/lib/mjs/utils/formUtils.js +1 -0
- package/lib/mjs/utils/utils.d.ts +2 -1
- package/lib/mjs/utils/utils.js +24 -7
- package/package.json +6 -6
- package/lib/cjs/components/tree/Node.d.ts +0 -55
- package/lib/cjs/components/tree/Node.js +0 -185
- package/lib/cjs/components/tree/Tree.d.ts +0 -48
- package/lib/cjs/components/tree/Tree.form.d.ts +0 -3
- package/lib/cjs/components/tree/Tree.form.js +0 -21
- package/lib/cjs/components/tree/Tree.js +0 -383
- package/lib/cjs/components/tree/editForm/Tree.edit.data.d.ts +0 -5
- package/lib/cjs/components/tree/editForm/Tree.edit.data.js +0 -9
- package/lib/cjs/components/tree/editForm/Tree.edit.display.d.ts +0 -9
- package/lib/cjs/components/tree/editForm/Tree.edit.display.js +0 -12
- package/lib/cjs/components/tree/fixtures/comp1.d.ts +0 -23
- package/lib/cjs/components/tree/fixtures/comp1.js +0 -24
- package/lib/cjs/components/tree/fixtures/comp2.d.ts +0 -116
- package/lib/cjs/components/tree/fixtures/comp2.js +0 -82
- package/lib/cjs/components/tree/fixtures/comp3.d.ts +0 -24
- package/lib/cjs/components/tree/fixtures/comp3.js +0 -25
- package/lib/cjs/components/tree/fixtures/comp4.d.ts +0 -42
- package/lib/cjs/components/tree/fixtures/comp4.js +0 -47
- package/lib/cjs/components/tree/fixtures/index.d.ts +0 -5
- package/lib/cjs/components/tree/fixtures/index.js +0 -14
- package/lib/cjs/validator/Rules.d.ts +0 -53
- package/lib/cjs/validator/Rules.js +0 -22
- package/lib/cjs/validator/Validator.d.ts +0 -228
- package/lib/cjs/validator/Validator.js +0 -1113
- package/lib/cjs/validator/conjunctions/index.d.ts +0 -7
- package/lib/cjs/validator/conjunctions/index.js +0 -18
- package/lib/cjs/validator/operators/index.d.ts +0 -7
- package/lib/cjs/validator/operators/index.js +0 -18
- package/lib/cjs/validator/quickRules/index.d.ts +0 -7
- package/lib/cjs/validator/quickRules/index.js +0 -18
- package/lib/cjs/validator/rules/Custom.d.ts +0 -5
- package/lib/cjs/validator/rules/Custom.js +0 -30
- package/lib/cjs/validator/rules/Date.d.ts +0 -5
- package/lib/cjs/validator/rules/Date.js +0 -25
- package/lib/cjs/validator/rules/Day.d.ts +0 -5
- package/lib/cjs/validator/rules/Day.js +0 -58
- package/lib/cjs/validator/rules/Email.d.ts +0 -5
- package/lib/cjs/validator/rules/Email.js +0 -24
- package/lib/cjs/validator/rules/JSON.d.ts +0 -5
- package/lib/cjs/validator/rules/JSON.js +0 -29
- package/lib/cjs/validator/rules/Mask.d.ts +0 -5
- package/lib/cjs/validator/rules/Mask.js +0 -32
- package/lib/cjs/validator/rules/Max.d.ts +0 -5
- package/lib/cjs/validator/rules/Max.js +0 -21
- package/lib/cjs/validator/rules/MaxDate.d.ts +0 -5
- package/lib/cjs/validator/rules/MaxDate.js +0 -34
- package/lib/cjs/validator/rules/MaxLength.d.ts +0 -5
- package/lib/cjs/validator/rules/MaxLength.js +0 -20
- package/lib/cjs/validator/rules/MaxWords.d.ts +0 -5
- package/lib/cjs/validator/rules/MaxWords.js +0 -20
- package/lib/cjs/validator/rules/MaxYear.d.ts +0 -5
- package/lib/cjs/validator/rules/MaxYear.js +0 -22
- package/lib/cjs/validator/rules/Min.d.ts +0 -5
- package/lib/cjs/validator/rules/Min.js +0 -21
- package/lib/cjs/validator/rules/MinDate.d.ts +0 -5
- package/lib/cjs/validator/rules/MinDate.js +0 -30
- package/lib/cjs/validator/rules/MinLength.d.ts +0 -5
- package/lib/cjs/validator/rules/MinLength.js +0 -20
- package/lib/cjs/validator/rules/MinWords.d.ts +0 -5
- package/lib/cjs/validator/rules/MinWords.js +0 -20
- package/lib/cjs/validator/rules/MinYear.d.ts +0 -5
- package/lib/cjs/validator/rules/MinYear.js +0 -22
- package/lib/cjs/validator/rules/Pattern.d.ts +0 -5
- package/lib/cjs/validator/rules/Pattern.js +0 -20
- package/lib/cjs/validator/rules/Required.d.ts +0 -5
- package/lib/cjs/validator/rules/Required.js +0 -17
- package/lib/cjs/validator/rules/Rule.d.ts +0 -7
- package/lib/cjs/validator/rules/Rule.js +0 -12
- package/lib/cjs/validator/rules/Select.d.ts +0 -5
- package/lib/cjs/validator/rules/Select.js +0 -95
- package/lib/cjs/validator/rules/Time.d.ts +0 -5
- package/lib/cjs/validator/rules/Time.js +0 -19
- package/lib/cjs/validator/rules/Unique.d.ts +0 -5
- package/lib/cjs/validator/rules/Unique.js +0 -69
- package/lib/cjs/validator/rules/Url.d.ts +0 -5
- package/lib/cjs/validator/rules/Url.js +0 -23
- package/lib/cjs/validator/rules/index.d.ts +0 -47
- package/lib/cjs/validator/rules/index.js +0 -51
- package/lib/cjs/validator/transformers/index.d.ts +0 -7
- package/lib/cjs/validator/transformers/index.js +0 -18
- package/lib/cjs/validator/valueSources/index.d.ts +0 -7
- package/lib/cjs/validator/valueSources/index.js +0 -18
- package/lib/mjs/components/tree/Node.d.ts +0 -55
- package/lib/mjs/components/tree/Node.js +0 -179
- package/lib/mjs/components/tree/Tree.d.ts +0 -48
- package/lib/mjs/components/tree/Tree.form.d.ts +0 -3
- package/lib/mjs/components/tree/Tree.form.js +0 -15
- package/lib/mjs/components/tree/Tree.js +0 -384
- package/lib/mjs/components/tree/editForm/Tree.edit.data.d.ts +0 -5
- package/lib/mjs/components/tree/editForm/Tree.edit.data.js +0 -7
- package/lib/mjs/components/tree/editForm/Tree.edit.display.d.ts +0 -9
- package/lib/mjs/components/tree/editForm/Tree.edit.display.js +0 -10
- package/lib/mjs/components/tree/fixtures/comp1.d.ts +0 -23
- package/lib/mjs/components/tree/fixtures/comp1.js +0 -22
- package/lib/mjs/components/tree/fixtures/comp2.d.ts +0 -116
- package/lib/mjs/components/tree/fixtures/comp2.js +0 -80
- package/lib/mjs/components/tree/fixtures/comp3.d.ts +0 -24
- package/lib/mjs/components/tree/fixtures/comp3.js +0 -23
- package/lib/mjs/components/tree/fixtures/comp4.d.ts +0 -42
- package/lib/mjs/components/tree/fixtures/comp4.js +0 -45
- package/lib/mjs/components/tree/fixtures/index.d.ts +0 -5
- package/lib/mjs/components/tree/fixtures/index.js +0 -5
- package/lib/mjs/validator/Rules.d.ts +0 -53
- package/lib/mjs/validator/Rules.js +0 -17
- package/lib/mjs/validator/Validator.d.ts +0 -228
- package/lib/mjs/validator/Validator.js +0 -1103
- package/lib/mjs/validator/conjunctions/index.d.ts +0 -7
- package/lib/mjs/validator/conjunctions/index.js +0 -16
- package/lib/mjs/validator/operators/index.d.ts +0 -7
- package/lib/mjs/validator/operators/index.js +0 -16
- package/lib/mjs/validator/quickRules/index.d.ts +0 -7
- package/lib/mjs/validator/quickRules/index.js +0 -16
- package/lib/mjs/validator/rules/Custom.d.ts +0 -5
- package/lib/mjs/validator/rules/Custom.js +0 -21
- package/lib/mjs/validator/rules/Date.d.ts +0 -5
- package/lib/mjs/validator/rules/Date.js +0 -16
- package/lib/mjs/validator/rules/Day.d.ts +0 -5
- package/lib/mjs/validator/rules/Day.js +0 -49
- package/lib/mjs/validator/rules/Email.d.ts +0 -5
- package/lib/mjs/validator/rules/Email.js +0 -15
- package/lib/mjs/validator/rules/JSON.d.ts +0 -5
- package/lib/mjs/validator/rules/JSON.js +0 -20
- package/lib/mjs/validator/rules/Mask.d.ts +0 -5
- package/lib/mjs/validator/rules/Mask.js +0 -23
- package/lib/mjs/validator/rules/Max.d.ts +0 -5
- package/lib/mjs/validator/rules/Max.js +0 -12
- package/lib/mjs/validator/rules/MaxDate.d.ts +0 -5
- package/lib/mjs/validator/rules/MaxDate.js +0 -25
- package/lib/mjs/validator/rules/MaxLength.d.ts +0 -5
- package/lib/mjs/validator/rules/MaxLength.js +0 -11
- package/lib/mjs/validator/rules/MaxWords.d.ts +0 -5
- package/lib/mjs/validator/rules/MaxWords.js +0 -11
- package/lib/mjs/validator/rules/MaxYear.d.ts +0 -5
- package/lib/mjs/validator/rules/MaxYear.js +0 -13
- package/lib/mjs/validator/rules/Min.d.ts +0 -5
- package/lib/mjs/validator/rules/Min.js +0 -12
- package/lib/mjs/validator/rules/MinDate.d.ts +0 -5
- package/lib/mjs/validator/rules/MinDate.js +0 -21
- package/lib/mjs/validator/rules/MinLength.d.ts +0 -5
- package/lib/mjs/validator/rules/MinLength.js +0 -11
- package/lib/mjs/validator/rules/MinWords.d.ts +0 -5
- package/lib/mjs/validator/rules/MinWords.js +0 -11
- package/lib/mjs/validator/rules/MinYear.d.ts +0 -5
- package/lib/mjs/validator/rules/MinYear.js +0 -13
- package/lib/mjs/validator/rules/Pattern.d.ts +0 -5
- package/lib/mjs/validator/rules/Pattern.js +0 -11
- package/lib/mjs/validator/rules/Required.d.ts +0 -5
- package/lib/mjs/validator/rules/Required.js +0 -8
- package/lib/mjs/validator/rules/Rule.d.ts +0 -7
- package/lib/mjs/validator/rules/Rule.js +0 -9
- package/lib/mjs/validator/rules/Select.d.ts +0 -5
- package/lib/mjs/validator/rules/Select.js +0 -86
- package/lib/mjs/validator/rules/Time.d.ts +0 -5
- package/lib/mjs/validator/rules/Time.js +0 -10
- package/lib/mjs/validator/rules/Unique.d.ts +0 -5
- package/lib/mjs/validator/rules/Unique.js +0 -60
- package/lib/mjs/validator/rules/Url.d.ts +0 -5
- package/lib/mjs/validator/rules/Url.js +0 -14
- package/lib/mjs/validator/rules/index.d.ts +0 -47
- package/lib/mjs/validator/rules/index.js +0 -46
- package/lib/mjs/validator/transformers/index.d.ts +0 -7
- package/lib/mjs/validator/transformers/index.js +0 -16
- package/lib/mjs/validator/valueSources/index.d.ts +0 -7
- package/lib/mjs/validator/valueSources/index.js +0 -16
@@ -10,9 +10,9 @@
|
|
10
10
|
* MIT licensed
|
11
11
|
*/
|
12
12
|
|
13
|
-
/*! @license DOMPurify 3.0.
|
13
|
+
/*! @license DOMPurify 3.0.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.6/LICENSE */
|
14
14
|
|
15
|
-
/*! formiojs v5.0.0-rc.
|
15
|
+
/*! formiojs v5.0.0-rc.28 | https://unpkg.com/formiojs@5.0.0-rc.28/LICENSE.txt */
|
16
16
|
|
17
17
|
/**
|
18
18
|
* @license
|
package/lib/cjs/Embed.d.ts
CHANGED
@@ -5,6 +5,7 @@ export class Formio {
|
|
5
5
|
static config: {};
|
6
6
|
static cdn: null;
|
7
7
|
static proxy: boolean;
|
8
|
+
static version: string;
|
8
9
|
static setBaseUrl(url: any): Promise<void>;
|
9
10
|
static setProjectUrl(url: any): Promise<void>;
|
10
11
|
static debug(...args: any[]): void;
|
@@ -15,7 +16,7 @@ export class Formio {
|
|
15
16
|
static addStyles(wrapper: any, href: any): Promise<void>;
|
16
17
|
static submitDone(instance: any, submission: any): Promise<void>;
|
17
18
|
static formioScript(script: any, builder: any): any;
|
18
|
-
static init(element: any, builder?: boolean): Promise<any>;
|
19
|
+
static init(element: any, options?: {}, builder?: boolean): Promise<any>;
|
19
20
|
static createForm(element: any, form: any, options: any): Promise<any>;
|
20
21
|
static builder(element: any, form: any, options: any): Promise<any>;
|
21
22
|
}
|
package/lib/cjs/Embed.js
CHANGED
@@ -136,10 +136,14 @@ class Formio {
|
|
136
136
|
}
|
137
137
|
// Return the full script if the builder is being used.
|
138
138
|
static formioScript(script, builder) {
|
139
|
-
|
139
|
+
if (Formio.fullAdded || builder) {
|
140
|
+
Formio.fullAdded = true;
|
141
|
+
return script.replace('formio.form', 'formio.full');
|
142
|
+
}
|
143
|
+
return script;
|
140
144
|
}
|
141
145
|
// eslint-disable-next-line max-statements
|
142
|
-
static init(element, builder = false) {
|
146
|
+
static init(element, options = {}, builder = false) {
|
143
147
|
return __awaiter(this, void 0, void 0, function* () {
|
144
148
|
Formio.cdn = new CDN_js_1.default(Formio.config.cdn);
|
145
149
|
Formio.config.libs = Formio.config.libs || {
|
@@ -157,10 +161,17 @@ class Formio {
|
|
157
161
|
};
|
158
162
|
const id = Formio.config.id || `formio-${Math.random().toString(36).substring(7)}`;
|
159
163
|
// Create a new wrapper and add the element inside of a new wrapper.
|
160
|
-
|
164
|
+
let wrapper = Formio.createElement('div', {
|
161
165
|
'id': `"${id}-wrapper"`
|
162
166
|
});
|
163
167
|
element.parentNode.insertBefore(wrapper, element);
|
168
|
+
// If we include the libraries, then we will attempt to run this in shadow dom.
|
169
|
+
if (Formio.config.includeLibs && (typeof wrapper.attachShadow === 'function') && !Formio.config.premium) {
|
170
|
+
wrapper = wrapper.attachShadow({
|
171
|
+
mode: 'open'
|
172
|
+
});
|
173
|
+
options.shadowRoot = wrapper;
|
174
|
+
}
|
164
175
|
element.parentNode.removeChild(element);
|
165
176
|
wrapper.appendChild(element);
|
166
177
|
// Load the renderer styles.
|
@@ -180,7 +191,8 @@ class Formio {
|
|
180
191
|
}
|
181
192
|
}]
|
182
193
|
}]));
|
183
|
-
|
194
|
+
const renderer = Formio.config.debug ? 'formio.form' : 'formio.form.min';
|
195
|
+
Formio.FormioClass = yield Formio.addScript(wrapper, Formio.formioScript(Formio.config.script || `${Formio.cdn.js}/${renderer}.js`, builder), 'Formio');
|
184
196
|
Formio.FormioClass.setBaseUrl(Formio.baseUrl || Formio.config.base);
|
185
197
|
Formio.FormioClass.setProjectUrl(Formio.projectUrl || Formio.config.project);
|
186
198
|
Formio.FormioClass.language = Formio.language;
|
@@ -222,7 +234,7 @@ class Formio {
|
|
222
234
|
Formio.debug('Using premium');
|
223
235
|
Formio.FormioClass.use(yield Formio.addScript(wrapper, Formio.config.premium.js, 'premium'));
|
224
236
|
}
|
225
|
-
yield Formio.addStyles(wrapper, Formio.formioScript(Formio.config.style || `${Formio.cdn.js}
|
237
|
+
yield Formio.addStyles(wrapper, Formio.formioScript(Formio.config.style || `${Formio.cdn.js}/${renderer}.css`, builder));
|
226
238
|
if (Formio.config.before) {
|
227
239
|
yield Formio.config.before(Formio.FormioClass, element, Formio.config);
|
228
240
|
}
|
@@ -232,7 +244,7 @@ class Formio {
|
|
232
244
|
}
|
233
245
|
static createForm(element, form, options) {
|
234
246
|
return __awaiter(this, void 0, void 0, function* () {
|
235
|
-
const wrapper = yield Formio.init(element);
|
247
|
+
const wrapper = yield Formio.init(element, options);
|
236
248
|
return Formio.FormioClass.createForm(element, form, Object.assign(Object.assign({}, options), { noLoader: true })).then((instance) => {
|
237
249
|
Formio.debug('Form created', instance);
|
238
250
|
// Remove the loader.
|
@@ -257,7 +269,7 @@ class Formio {
|
|
257
269
|
}
|
258
270
|
static builder(element, form, options) {
|
259
271
|
return __awaiter(this, void 0, void 0, function* () {
|
260
|
-
const wrapper = yield Formio.init(element, true);
|
272
|
+
const wrapper = yield Formio.init(element, options, true);
|
261
273
|
return Formio.FormioClass.builder(element, form, options).then((instance) => {
|
262
274
|
Formio.debug('Builder created', instance);
|
263
275
|
Formio.debug('Removing loader');
|
@@ -276,6 +288,7 @@ class Formio {
|
|
276
288
|
Formio.config = {};
|
277
289
|
Formio.cdn = null;
|
278
290
|
Formio.proxy = true;
|
291
|
+
Formio.version = 'FORMIO_VERSION';
|
279
292
|
exports.Formio = Formio;
|
280
293
|
class Form {
|
281
294
|
constructor(element, form, options) {
|
package/lib/cjs/PDF.js
CHANGED
@@ -241,7 +241,7 @@ class PDF extends Webform_1.default {
|
|
241
241
|
const helpBlock = document.getElementById('submit-error');
|
242
242
|
const submitError = this.t('submitError');
|
243
243
|
const isSubmitErrorShown = ((_a = this.refs.buttonMessage) === null || _a === void 0 ? void 0 : _a.textContent.trim()) === submitError;
|
244
|
-
if (!helpBlock &&
|
244
|
+
if (!helpBlock && error.length && !isSubmitErrorShown) {
|
245
245
|
const p = this.ce('p', { class: 'help-block' });
|
246
246
|
this.setContent(p, submitError);
|
247
247
|
p.addEventListener('click', () => {
|
@@ -251,7 +251,7 @@ class PDF extends Webform_1.default {
|
|
251
251
|
this.appendTo(p, div);
|
252
252
|
this.appendTo(div, this.element);
|
253
253
|
}
|
254
|
-
if (!
|
254
|
+
if (!error.length && helpBlock) {
|
255
255
|
helpBlock.remove();
|
256
256
|
}
|
257
257
|
super.showErrors(error, triggerEvent);
|
package/lib/cjs/Webform.d.ts
CHANGED
@@ -20,7 +20,6 @@ declare class Webform extends NestedDataComponent {
|
|
20
20
|
draftEnabled: boolean;
|
21
21
|
savingDraft: boolean;
|
22
22
|
triggerSaveDraft: any;
|
23
|
-
customErrors: any[];
|
24
23
|
set nosubmit(arg: any);
|
25
24
|
get nosubmit(): any;
|
26
25
|
/**
|
@@ -327,7 +326,7 @@ declare class Webform extends NestedDataComponent {
|
|
327
326
|
* @param {Object} error - An optional additional error to display along with the component errors.
|
328
327
|
* @returns {*}
|
329
328
|
*/
|
330
|
-
showErrors(
|
329
|
+
showErrors(errors: any, triggerEvent: any, onChange: any): any;
|
331
330
|
/**
|
332
331
|
* Called when the submission has completed, or if the submission needs to be sent to an external library.
|
333
332
|
*
|
@@ -342,7 +341,7 @@ declare class Webform extends NestedDataComponent {
|
|
342
341
|
*
|
343
342
|
* @param {Object} error - The error that occured.
|
344
343
|
*/
|
345
|
-
onSubmissionError(error: Object):
|
344
|
+
onSubmissionError(error: Object): false | undefined;
|
346
345
|
/**
|
347
346
|
* Trigger the change event for this form.
|
348
347
|
*
|
@@ -350,7 +349,6 @@ declare class Webform extends NestedDataComponent {
|
|
350
349
|
* @param flags
|
351
350
|
*/
|
352
351
|
onChange(flags: any, changed: any, modified: any, changes: any): void;
|
353
|
-
checkData(data: any, flags?: {}): any;
|
354
352
|
/**
|
355
353
|
* Send a delete request to the server.
|
356
354
|
*/
|
@@ -388,7 +386,7 @@ declare class Webform extends NestedDataComponent {
|
|
388
386
|
*
|
389
387
|
* @returns {Promise} - A promise when the form is done submitting.
|
390
388
|
*/
|
391
|
-
submit(before: boolean, options
|
389
|
+
submit(before: boolean, options?: {}): Promise<any>;
|
392
390
|
submitUrl(URL: any, headers: any): void;
|
393
391
|
triggerRecaptcha(): void;
|
394
392
|
_nosubmit: any;
|
package/lib/cjs/Webform.js
CHANGED
@@ -115,7 +115,6 @@ class Webform extends NestedDataComponent_1.default {
|
|
115
115
|
else {
|
116
116
|
this.triggerSaveDraft = this.saveDraft.bind(this);
|
117
117
|
}
|
118
|
-
this.customErrors = [];
|
119
118
|
/**
|
120
119
|
* Determines if this form should submit the API on submit.
|
121
120
|
* @type {boolean}
|
@@ -779,9 +778,9 @@ class Webform extends NestedDataComponent_1.default {
|
|
779
778
|
this.component.input = false;
|
780
779
|
this.addComponents();
|
781
780
|
this.on('submitButton', options => {
|
782
|
-
this.submit(false, options).catch(e => e !== false && console.log(e));
|
781
|
+
this.submit(false, options).catch(e => e !== false && e !== undefined && console.log(e));
|
783
782
|
}, true);
|
784
|
-
this.on('checkValidity', (data) => this.
|
783
|
+
this.on('checkValidity', (data) => this.validate(data, { dirty: true, process: 'change' }), true);
|
785
784
|
this.on('requestUrl', (args) => (this.submitUrl(args.url, args.headers)), true);
|
786
785
|
this.on('resetForm', () => this.resetValue(), true);
|
787
786
|
this.on('deleteSubmission', () => this.deleteSubmission(), true);
|
@@ -975,21 +974,14 @@ class Webform extends NestedDataComponent_1.default {
|
|
975
974
|
* @returns {*}
|
976
975
|
*/
|
977
976
|
/* eslint-disable no-unused-vars */
|
978
|
-
showErrors(
|
979
|
-
|
980
|
-
|
981
|
-
if (error) {
|
982
|
-
if (Array.isArray(error)) {
|
983
|
-
errors = errors.concat(error);
|
984
|
-
}
|
985
|
-
else {
|
986
|
-
errors.push(error);
|
987
|
-
}
|
977
|
+
showErrors(errors, triggerEvent, onChange) {
|
978
|
+
if (!errors) {
|
979
|
+
return;
|
988
980
|
}
|
989
|
-
|
990
|
-
|
981
|
+
this.loading = false;
|
982
|
+
if (!Array.isArray(errors)) {
|
983
|
+
errors = [errors];
|
991
984
|
}
|
992
|
-
errors = errors.concat(this.customErrors);
|
993
985
|
errors = errors.concat(this.serverErrors || []);
|
994
986
|
if (!errors.length) {
|
995
987
|
this.setAlert(false);
|
@@ -1005,7 +997,7 @@ class Webform extends NestedDataComponent_1.default {
|
|
1005
997
|
components.push(err.path);
|
1006
998
|
}
|
1007
999
|
components.forEach((path) => {
|
1008
|
-
const originalPath =
|
1000
|
+
const originalPath = (0, utils_1.getStringFromComponentPath)(path);
|
1009
1001
|
const component = this.getComponent(path, lodash_1.default.identity, originalPath);
|
1010
1002
|
if (err.fromServer) {
|
1011
1003
|
if (component.serverErrors) {
|
@@ -1020,42 +1012,32 @@ class Webform extends NestedDataComponent_1.default {
|
|
1020
1012
|
});
|
1021
1013
|
});
|
1022
1014
|
const displayedErrors = [];
|
1023
|
-
errors.
|
1024
|
-
|
1025
|
-
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1015
|
+
if (errors.length) {
|
1016
|
+
errors = lodash_1.default.uniqBy(errors, error => error.message);
|
1017
|
+
const createListItem = (message, index) => {
|
1018
|
+
var _a, _b, _c;
|
1019
|
+
const err = errors[index];
|
1020
|
+
const messageFromIndex = !lodash_1.default.isUndefined(index) && errors && errors[index];
|
1021
|
+
const keyOrPath = ((messageFromIndex === null || messageFromIndex === void 0 ? void 0 : messageFromIndex.formattedKeyOrPath) || (messageFromIndex === null || messageFromIndex === void 0 ? void 0 : messageFromIndex.path) || ((_a = messageFromIndex === null || messageFromIndex === void 0 ? void 0 : messageFromIndex.context) === null || _a === void 0 ? void 0 : _a.path)) || (((_b = err.context) === null || _b === void 0 ? void 0 : _b.component) && ((_c = err.context) === null || _c === void 0 ? void 0 : _c.component.key)) || (err.component && err.component.key) || err.fromServer && err.path;
|
1022
|
+
const formattedKeyOrPath = keyOrPath ? (0, utils_1.getStringFromComponentPath)(keyOrPath) : '';
|
1023
|
+
if (typeof err !== 'string' && !err.formattedKeyOrPath) {
|
1024
|
+
err.formattedKeyOrPath = formattedKeyOrPath;
|
1025
|
+
}
|
1026
|
+
return {
|
1027
|
+
message: (0, utils_1.unescapeHTML)(message),
|
1028
|
+
keyOrPath: formattedKeyOrPath
|
1037
1029
|
};
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
|
1043
|
-
|
1044
|
-
|
1045
|
-
label: this.t(component.label),
|
1046
|
-
message: this.t(message),
|
1047
|
-
});
|
1048
|
-
displayedErrors.push(createListItem(text, index));
|
1030
|
+
};
|
1031
|
+
errors.forEach(({ message, context, fromServer, component }, index) => {
|
1032
|
+
const text = !(component === null || component === void 0 ? void 0 : component.label) || (context === null || context === void 0 ? void 0 : context.hasLabel) || fromServer
|
1033
|
+
? this.t('alertMessage', { message: this.t(message) })
|
1034
|
+
: this.t('alertMessageWithLabel', {
|
1035
|
+
label: this.t(component === null || component === void 0 ? void 0 : component.label),
|
1036
|
+
message: this.t(message),
|
1049
1037
|
});
|
1050
|
-
|
1051
|
-
|
1052
|
-
|
1053
|
-
? this.t('alertMessage', { message: this.t(err.message || '') })
|
1054
|
-
: this.t('alertMessage', { message: this.t(err) });
|
1055
|
-
displayedErrors.push(createListItem(message));
|
1056
|
-
}
|
1057
|
-
}
|
1058
|
-
});
|
1038
|
+
displayedErrors.push(createListItem(text, index));
|
1039
|
+
});
|
1040
|
+
}
|
1059
1041
|
const errorsList = this.renderTemplate('errorsList', { errors: displayedErrors });
|
1060
1042
|
this.root.setAlert('danger', errorsList);
|
1061
1043
|
if (triggerEvent) {
|
@@ -1118,17 +1100,10 @@ class Webform extends NestedDataComponent_1.default {
|
|
1118
1100
|
this.emit('change', { isValid: true }, { silent: true });
|
1119
1101
|
return false;
|
1120
1102
|
}
|
1121
|
-
|
1122
|
-
if (this.submitted) {
|
1123
|
-
errors = this.showErrors();
|
1124
|
-
}
|
1125
|
-
else {
|
1126
|
-
errors = this.showErrors(error, true);
|
1127
|
-
}
|
1103
|
+
this.showErrors(error, true);
|
1128
1104
|
if (this.root && this.root.alert) {
|
1129
1105
|
this.scrollIntoView(this.root.alert);
|
1130
1106
|
}
|
1131
|
-
return errors;
|
1132
1107
|
}
|
1133
1108
|
/**
|
1134
1109
|
* Trigger the change event for this form.
|
@@ -1139,10 +1114,6 @@ class Webform extends NestedDataComponent_1.default {
|
|
1139
1114
|
onChange(flags, changed, modified, changes) {
|
1140
1115
|
flags = flags || {};
|
1141
1116
|
let isChangeEventEmitted = false;
|
1142
|
-
// For any change events, clear any custom errors for that component.
|
1143
|
-
if (changed && changed.component) {
|
1144
|
-
this.customErrors = this.customErrors.filter(err => err.component && err.component !== changed.component.key);
|
1145
|
-
}
|
1146
1117
|
super.onChange(flags, true);
|
1147
1118
|
const value = lodash_1.default.clone(this.submission);
|
1148
1119
|
flags.changed = value.changed = changed;
|
@@ -1150,10 +1121,13 @@ class Webform extends NestedDataComponent_1.default {
|
|
1150
1121
|
if (modified && this.pristine) {
|
1151
1122
|
this.pristine = false;
|
1152
1123
|
}
|
1153
|
-
|
1124
|
+
this.checkData(value.data, flags);
|
1125
|
+
const shouldValidate = !flags.noValidate || flags.fromIFrame || (flags.fromSubmission && this.rootPristine && this.pristine && flags.changed);
|
1126
|
+
const errors = shouldValidate ? this.validate(value.data, Object.assign(Object.assign({}, flags), { process: 'change' })) : [];
|
1127
|
+
value.isValid = errors.length === 0;
|
1154
1128
|
this.loading = false;
|
1155
1129
|
if (this.submitted) {
|
1156
|
-
this.showErrors();
|
1130
|
+
this.showErrors(errors);
|
1157
1131
|
}
|
1158
1132
|
// See if we need to save the draft of the form.
|
1159
1133
|
if (modified && this.options.saveDraft) {
|
@@ -1169,13 +1143,6 @@ class Webform extends NestedDataComponent_1.default {
|
|
1169
1143
|
this.initialized = true;
|
1170
1144
|
}
|
1171
1145
|
}
|
1172
|
-
checkData(data, flags = {}) {
|
1173
|
-
const valid = super.checkData(data, flags);
|
1174
|
-
if ((lodash_1.default.isEmpty(flags) || flags.noValidate) && this.submitted) {
|
1175
|
-
this.showErrors();
|
1176
|
-
}
|
1177
|
-
return valid;
|
1178
|
-
}
|
1179
1146
|
/**
|
1180
1147
|
* Send a delete request to the server.
|
1181
1148
|
*/
|
@@ -1228,18 +1195,31 @@ class Webform extends NestedDataComponent_1.default {
|
|
1228
1195
|
}
|
1229
1196
|
const submission = (0, utils_1.fastCloneDeep)(this.submission || {});
|
1230
1197
|
this.setMetadata(submission);
|
1231
|
-
submission.state = options.state || 'submitted';
|
1198
|
+
submission.state = options.state || submission.state || 'submitted';
|
1232
1199
|
const isDraft = (submission.state === 'draft');
|
1233
1200
|
this.hook('beforeSubmit', Object.assign(Object.assign({}, submission), { component: options.component }), (err, data) => {
|
1201
|
+
var _a;
|
1234
1202
|
if (err) {
|
1235
1203
|
return reject(err);
|
1236
1204
|
}
|
1237
1205
|
submission._vnote = data && data._vnote ? data._vnote : '';
|
1238
|
-
|
1239
|
-
|
1206
|
+
try {
|
1207
|
+
if (!isDraft && !options.noValidate) {
|
1208
|
+
if (!submission.data) {
|
1209
|
+
return reject('Invalid Submission');
|
1210
|
+
}
|
1211
|
+
const errors = this.validate(submission.data, {
|
1212
|
+
dirty: true,
|
1213
|
+
silentCheck: false,
|
1214
|
+
process: 'submit'
|
1215
|
+
});
|
1216
|
+
if (errors.length || ((_a = options.beforeSubmitResults) === null || _a === void 0 ? void 0 : _a.some((result) => result.status === 'rejected'))) {
|
1217
|
+
return reject(errors);
|
1218
|
+
}
|
1219
|
+
}
|
1240
1220
|
}
|
1241
|
-
|
1242
|
-
|
1221
|
+
catch (err) {
|
1222
|
+
console.error(err);
|
1243
1223
|
}
|
1244
1224
|
this.everyComponent((comp) => {
|
1245
1225
|
if (submission._vnote && comp.type === 'form' && comp.component.reference) {
|
@@ -1260,9 +1240,7 @@ class Webform extends NestedDataComponent_1.default {
|
|
1260
1240
|
}
|
1261
1241
|
// Ensure err is an array.
|
1262
1242
|
err = Array.isArray(err) ? err : [err];
|
1263
|
-
|
1264
|
-
this.customErrors = err;
|
1265
|
-
return reject();
|
1243
|
+
return reject(err);
|
1266
1244
|
}
|
1267
1245
|
this.loading = true;
|
1268
1246
|
// Use the form action to submit the form if available.
|
@@ -1358,7 +1336,7 @@ class Webform extends NestedDataComponent_1.default {
|
|
1358
1336
|
*
|
1359
1337
|
* @returns {Promise} - A promise when the form is done submitting.
|
1360
1338
|
*/
|
1361
|
-
submit(before, options) {
|
1339
|
+
submit(before, options = {}) {
|
1362
1340
|
this.submissionInProcess = true;
|
1363
1341
|
if (!before) {
|
1364
1342
|
return this.beforeSubmit(options).then(() => this.executeSubmit(options));
|
@@ -73,7 +73,7 @@ export default class WebformBuilder extends Component {
|
|
73
73
|
setForm(form: any): any;
|
74
74
|
keyboardActionsEnabled: any;
|
75
75
|
populateRecaptchaSettings(form: any): void;
|
76
|
-
removeComponent(component: any, parent: any, original: any): boolean | undefined;
|
76
|
+
removeComponent(component: any, parent: any, original: any, componentInstance: any): boolean | undefined;
|
77
77
|
replaceDoubleQuotes(data: any, fieldsToRemoveDoubleQuotes?: any[]): any;
|
78
78
|
updateComponent(component: any, changed: any): void;
|
79
79
|
findRepeatablePaths(): any[];
|
@@ -361,7 +361,7 @@ class WebformBuilder extends Component_1.default {
|
|
361
361
|
}
|
362
362
|
if (component.refs.removeComponent) {
|
363
363
|
this.attachTooltip(component.refs.removeComponent, this.t('Remove'));
|
364
|
-
component.addEventListener(component.refs.removeComponent, 'click', () => this.removeComponent(component.schema, parent, component.component));
|
364
|
+
component.addEventListener(component.refs.removeComponent, 'click', () => this.removeComponent(component.schema, parent, component.component, component));
|
365
365
|
}
|
366
366
|
return element;
|
367
367
|
}
|
@@ -735,6 +735,10 @@ class WebformBuilder extends Component_1.default {
|
|
735
735
|
}
|
736
736
|
}
|
737
737
|
if (info) {
|
738
|
+
//if this is a custom component that was already assigned a key, don't stomp on it
|
739
|
+
if (!Components_1.default.components.hasOwnProperty(info.type) && info.key) {
|
740
|
+
return info;
|
741
|
+
}
|
738
742
|
info.key = this.generateKey(info);
|
739
743
|
}
|
740
744
|
return info;
|
@@ -940,7 +944,7 @@ class WebformBuilder extends Component_1.default {
|
|
940
944
|
}
|
941
945
|
}
|
942
946
|
}
|
943
|
-
removeComponent(component, parent, original) {
|
947
|
+
removeComponent(component, parent, original, componentInstance) {
|
944
948
|
if (!parent) {
|
945
949
|
return;
|
946
950
|
}
|
@@ -966,6 +970,9 @@ class WebformBuilder extends Component_1.default {
|
|
966
970
|
else if (parent.formioComponent && parent.formioComponent.removeChildComponent) {
|
967
971
|
parent.formioComponent.removeChildComponent(component);
|
968
972
|
}
|
973
|
+
if (component.input && componentInstance && componentInstance.parent) {
|
974
|
+
lodash_1.default.unset(componentInstance._data, componentInstance.key);
|
975
|
+
}
|
969
976
|
const rebuild = parent.formioComponent.rebuild() || Promise.resolve();
|
970
977
|
rebuild.then(() => {
|
971
978
|
this.emit('removeComponent', component, parent.formioComponent.schema, path, index);
|
@@ -1094,13 +1101,14 @@ class WebformBuilder extends Component_1.default {
|
|
1094
1101
|
const repeatablePaths = this.findRepeatablePaths();
|
1095
1102
|
let hasInvalidComponents = false;
|
1096
1103
|
this.webform.everyComponent((comp) => {
|
1097
|
-
var _a
|
1104
|
+
var _a;
|
1098
1105
|
const path = comp.path;
|
1106
|
+
const errors = comp.visibleErrors || [];
|
1099
1107
|
if (repeatablePaths.includes(path)) {
|
1100
1108
|
comp.setCustomValidity(`API Key is not unique: ${comp.key}`);
|
1101
1109
|
hasInvalidComponents = true;
|
1102
1110
|
}
|
1103
|
-
else if (
|
1111
|
+
else if (errors.length && ((_a = errors[0].message) === null || _a === void 0 ? void 0 : _a.startsWith('API Key is not unique'))) {
|
1104
1112
|
comp.setCustomValidity('');
|
1105
1113
|
}
|
1106
1114
|
});
|
@@ -1193,9 +1201,12 @@ class WebformBuilder extends Component_1.default {
|
|
1193
1201
|
saveButtons.forEach((saveButton) => {
|
1194
1202
|
this.editForm.addEventListener(saveButton, 'click', (event) => {
|
1195
1203
|
event.preventDefault();
|
1196
|
-
|
1204
|
+
const errors = this.editForm.validate(this.editForm.data, {
|
1205
|
+
dirty: true
|
1206
|
+
});
|
1207
|
+
if (errors.length) {
|
1197
1208
|
this.editForm.setPristine(false);
|
1198
|
-
this.editForm.showErrors();
|
1209
|
+
this.editForm.showErrors(errors);
|
1199
1210
|
return false;
|
1200
1211
|
}
|
1201
1212
|
this.saved = true;
|
@@ -1221,7 +1232,7 @@ class WebformBuilder extends Component_1.default {
|
|
1221
1232
|
});
|
1222
1233
|
}
|
1223
1234
|
editComponent(component, parent, isNew, isJsonEdit, original, flags = {}) {
|
1224
|
-
var _a;
|
1235
|
+
var _a, _b;
|
1225
1236
|
if (!component.key) {
|
1226
1237
|
return;
|
1227
1238
|
}
|
@@ -1248,7 +1259,7 @@ class WebformBuilder extends Component_1.default {
|
|
1248
1259
|
editFormOptions.editComponent = component;
|
1249
1260
|
editFormOptions.flags = flags;
|
1250
1261
|
this.hook('editComponentParentInstance', editFormOptions, parent);
|
1251
|
-
this.editForm = new Webform_1.default(Object.assign(Object.assign(Object.assign({}, lodash_1.default.omit(this.options, ['hooks', 'builder', 'events', 'attachMode', 'skipInit'])), { language: this.options.language }), editFormOptions));
|
1262
|
+
this.editForm = new Webform_1.default(Object.assign(Object.assign(Object.assign(Object.assign({}, lodash_1.default.omit(this.options, ['hooks', 'builder', 'events', 'attachMode', 'skipInit'])), { language: this.options.language }), editFormOptions), { evalContext: Object.assign(Object.assign({}, ((editFormOptions === null || editFormOptions === void 0 ? void 0 : editFormOptions.evalContext) || ((_a = this.options) === null || _a === void 0 ? void 0 : _a.evalContext) || {})), { buildingForm: this.form }) }));
|
1252
1263
|
this.hook('editFormProperties', parent);
|
1253
1264
|
this.editForm.form = (isJsonEdit && !isCustom) ? {
|
1254
1265
|
components: [
|
@@ -1296,7 +1307,7 @@ class WebformBuilder extends Component_1.default {
|
|
1296
1307
|
]));
|
1297
1308
|
this.hook('previewFormSettitngs', schema, isJsonEdit);
|
1298
1309
|
}
|
1299
|
-
this.showPreview = (
|
1310
|
+
this.showPreview = (_b = ComponentClass.builderInfo.showPreview) !== null && _b !== void 0 ? _b : true;
|
1300
1311
|
this.componentEdit = this.ce('div', { 'class': 'component-edit-container' });
|
1301
1312
|
this.setContent(this.componentEdit, this.renderTemplate('builderEditForm', {
|
1302
1313
|
componentInfo: ComponentClass.builderInfo,
|
@@ -1353,8 +1364,14 @@ class WebformBuilder extends Component_1.default {
|
|
1353
1364
|
}
|
1354
1365
|
}
|
1355
1366
|
}
|
1367
|
+
// If the edit form has any nested form inside, we get a partial data (nested form's data) in the
|
1368
|
+
// event.data property
|
1369
|
+
let editFormData;
|
1370
|
+
if (event.changed.instance && event.changed.instance.root && event.changed.instance.root.id !== this.editForm.id) {
|
1371
|
+
editFormData = this.editForm.data;
|
1372
|
+
}
|
1356
1373
|
// Update the component.
|
1357
|
-
this.updateComponent(event.data.componentJson || event.data, event.changed);
|
1374
|
+
this.updateComponent(event.data.componentJson || editFormData || event.data, event.changed);
|
1358
1375
|
}
|
1359
1376
|
});
|
1360
1377
|
this.attachEditComponentControls(component, parent, isNew, original, ComponentClass);
|
package/lib/cjs/Wizard.d.ts
CHANGED
@@ -70,6 +70,7 @@ declare class Wizard extends Webform {
|
|
70
70
|
beforePage(next: any): Promise<any>;
|
71
71
|
emitNextPage(): void;
|
72
72
|
nextPage(): Promise<void>;
|
73
|
+
validateCurrentPage(flags?: {}): any;
|
73
74
|
emitPrevPage(): void;
|
74
75
|
prevPage(): Promise<void>;
|
75
76
|
cancel(noconfirm: any): Promise<void> | Promise<number>;
|
@@ -84,6 +85,7 @@ declare class Wizard extends Webform {
|
|
84
85
|
hasButton(name: any, nextPage?: number | null): any;
|
85
86
|
pageId(page: any): any;
|
86
87
|
onChange(flags: any, changed: any, modified: any, changes: any): void;
|
88
|
+
checkValidity(data: any, dirty: any, row: any, currentPageOnly: any, childErrors?: any[]): any;
|
87
89
|
focusOnComponent(key: any): any;
|
88
90
|
}
|
89
91
|
declare namespace Wizard {
|