Form Builder Reference Links - novacode-nl/odoo-formio GitHub Wiki
Please consider:
Some Formio settings (fields) don't apply in Odoo, those are still displayed tough.
(these either apply to the Formio Node.js sever, or SAAS platform)
Below some useful topics and links to the Formio Documentation.
On those pages you often see the JSON data, which really helps understanding, but you'll need to rethink/transform when using the GUI Form Builder (component setting fields).
Formio User Guide
https://help.form.io/userguide/form-components
(Useful) Conditional components https://help.form.io/userguide/form-components/#conditional-components
Choices.js Options (eg for select components)
https://github.com/Choices-js/Choices#configuration-options
Especially useful for:
- noChoicesText
- noResultsText
Example:
{
"noChoicesText": "No products in catalogue to choose from",
"noResultsText": "No products found in catalogue"
}
Wizards
https://formio.github.io/formio.js/app/examples/wizard.html
The Odoo Forms (formio) integration supports basic Wizards.
Tabs and Wizards are fairly similar in most of their aspects, except:
Tabs do not have controls and neither they are disabled before the user fills out the previous one e.g. with required input components.
Conditional Wizards
https://formio.github.io/formio.js/app/examples/conditionalwizard.html
Not only can you build multi-page forms, but you can also create conditional wizards where the pages are determined by conditional logic that is executed as the person is filling out the form.
Conditional Forms (components)
https://formio.github.io/formio.js/app/examples/conditions.html
Field Logic
https://formio.github.io/formio.js/app/examples/fieldLogic.html
You can use field logic to dynamically change field component definitions based on many different triggers. For example, you can make a field required based on another field’s value or change another fields value.
Data Grid Panels
https://formio.github.io/formio.js/app/examples/datagrid2.html
Save as draft (button)
It's also possible to setup a "save as draft" button and storage; works with Odoo.
An example is available in the demo data: https://github.com/novacode-nl/odoo-formio/blob/14.0/formio/data/formio_demo_data.xml
External Sources & Conditional Selects
https://formio.github.io/formio.js/app/examples/external.html
The Select component allows you to connect to external data sources as well as perform look ahead searching within that data source.
Calculated Values
https://formio.github.io/formio.js/app/examples/calculated.html
You can use JSON Logic to create complex calculated values based on the values of other fields.