.. _solid-form: solid-form ========== Receives the URL of a ressource via its ``data-src`` attribute, and displays a form to edit the resource. If given the URL of a container of ressources, and displays a creation form to add a resource to the container. .. code:: html <solid-form data-src="http://localhost:8000/todos/"></solid-form> Mixins ------ This component uses the following mixins: * :ref:`next-mixin <next-mixin>` * :ref:`store-mixin <store-mixin>` * :ref:`widget-mixin <widget-mixin>` Please check their documentation to know more about their capabilities. Attributes ---------- ``fields`` ~~~~~~~~~~ List of the fields used to create the form (by default, all of them are used). ``label-xyz`` ~~~~~~~~~~~~~ When displaying a form, the default labels are the fields names of the model. If you want something fancier, you can set this attribute. i.e. ``label-username="Your name"`` ``naked`` ~~~~~~~~~ When the attribute is set, the submit button will be removed. It’s particularly useful to prevent the nested forms to display their own submit button. ``upload-url-xyz`` ~~~~~~~~~~~~~~~~~~ URL to upload file for field ``xyz``, it automatically set ``widget-xyz`` to ``solid-form-file`` if net defined. It’s particularly useful with a dropdown field. ``submit-button`` ~~~~~~~~~~~~~~~~~ Text of the submit button of the form. ``range-xyz`` ~~~~~~~~~~~~~ URL of a container which list the accepted values for the field ``xyz``. It’s particularly useful with a dropdown field. ``enum-xyz`` ~~~~~~~~~~~~~ List of values of your choice for the field ``xyz``. They have to be filled manually and must be separated by commas. It’s particularly useful with a dropdown or radio field. Two formats are possible: * ``enum-xyz="value 1, value 2, value 3"`` : each value will be displayed and loaded in value attribute * ``enum-xyz="value1 = a, value2 = b, value3 = c"``: each value will be displayed and "a", "b", "c" will be loaded in value attribute. ``order-asc-xyz`` or ``order-desc-xyz`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Name of the field used to order the range list ``xyz``. ``partial`` ~~~~~~~~~~~ Add this attribute when the form does not include all the fields of the resource to update. ``min-xyz`` ~~~~~~~~~~~ Add this attribute for the field ``xyz`` to define its minimum value. It works only with a ``solid-form-number`` widget. ``max-xyz`` ~~~~~~~~~~~ Add this attribute for the field ``xyz`` to define its maximum value. It works only with a ``solid-form-number`` widget. ``pattern-xyz`` ~~~~~~~~~~~~~~~ Add this attribute for the field ``xyz`` to define a regular expression to check the input's value. It works only with a ``solid-form-text`` widget. ``title-xyz`` ~~~~~~~~~~~~~~ Add this attribute for the field ``xyz`` to precise extra information about an element. It works only with a ``solid-form-text`` widget. ``confirmation-message`` ~~~~~~~~~~~~~~~~~~~~~~~~~ Add this attribute to create a dialog box linked with the submit button of the solid-form. Its value matches the message displayed in the dialog box. Widgets ------- By default, the widget used is ``<solid-form-label-text>``. Cf the `Widget <https://docs.startinblox.com/import_documentation/Widgets/Reference.html>`__ page for more info. Events ------- ``formChange`` ~~~~~~~~~~~~~~ Triggered when the form values change ``save`` ~~~~~~~~~~~~~~ Triggered when the response of the submit has been received (successfull or not)