.. _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://server/todos/"></solid-form> Mixins ------ This component uses the following mixins: * :ref:`next-mixin <next-mixin>` * :ref:`store-mixin <store-mixin>` * :ref:`validation-mixin <validation-mixin>` * :ref:`widget-mixin <widget-mixin>` Please check their documentation to know more about their capabilities. Specific attributes ------------------- ``fields`` ~~~~~~~~~~ List of the fields used to create the form (by default, all of them are used). More details on its use below (in **widget-mixin attributes**). .. _label-field-sf: ``label-[field]`` ~~~~~~~~~~~~~~~~~ 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: ``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-field: ``upload-url-[field]`` ~~~~~~~~~~~~~~~~~~~~~~ URL to upload file for field ``[field]``, it automatically set ``widget-[field]`` to ``solid-form-file`` if net defined. It’s particularly useful with a dropdown field. .. _submit-button-sf: ``submit-button`` ~~~~~~~~~~~~~~~~~ Text of the submit button of the form. .. _class-submit-button-sf: ``class-submit-button`` ~~~~~~~~~~~~~~~~~~~~~~~ Define the ``class`` of the ``div`` containing the submit button. .. _range-field-sf: ``range-[field]`` ~~~~~~~~~~~~~~~~~ URL of a container which list the accepted values for the field ``[field]``. It’s particularly useful with a dropdown field. .. _enum-field-sf: ``enum-[field]`` ~~~~~~~~~~~~~~~~ *Available from version 0.13* List of values of your choice for the field ``[field]``. 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-[field]="value 1, value 2, value 3"`` : each value will be displayed and loaded in value attribute * ``enum-[field]="value1 = a, value2 = b, value3 = c"``: each value will be displayed and "a", "b", "c" will be loaded in value attribute. .. _order-asc-field: .. _order-desc-field: ``order-asc-[field]`` or ``order-desc-[field]`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Name of the field used to order the range list ``[field]``. i.e. ``order-asc-users="username"`` .. _partial: ``partial`` ~~~~~~~~~~~ Add this attribute when the form does not include all the fields of the resource to update. .. _required-field: ``required-[field]`` ~~~~~~~~~~~~~~~~~~~~ Add this attribute to make the ``[field]`` required by adding the ``required`` attribute to the input. .. _min-field: ``min-[field]`` ~~~~~~~~~~~~~~~ Add this attribute for the field ``[field]`` to define its minimum value. It works only with ``solid-form-number`` and ``solid-form-time`` widgets. .. _max-field: ``max-[field]`` ~~~~~~~~~~~~~~~ Add this attribute for the field ``[field]`` to define its maximum value. It works only with ``solid-form-number`` and ``solid-form-time`` widgets. .. _pattern-field: ``pattern-[field]`` ~~~~~~~~~~~~~~~ *Available from version 0.13* Add this attribute for the field ``[field]`` to define a regular expression to check the input's value. It works only with a ``solid-form-text`` widget. .. _title-field: ``title-[field]`` ~~~~~~~~~~~~~~~~~ *Available from version 0.13* Add this attribute for the field ``[field]`` to precise extra information about an element. It works only with a ``solid-form-text`` widget. .. _autocomplete-field-sf: ``autocomplete-[field]`` ~~~~~~~~~~~~~~~~~~~~~~~~ *Available from version 0.15* Equal to the value ``off``, it cancels the automatic entry of values in the relevant ``[field]``. It can be added to ``inputs``, ``textarea`` and ``select``. .. _autosave: ``autosave`` ~~~~~~~~~~~~ *Available from version 0.16* If the attribute is defined, each change in an input will trigger a request to update the resource. This attribute works only when editing resources, not creating them. .. _maxlength-field: ``maxlength-[field]`` ~~~~~~~~~~~~~~~~~~~~~ *Available from version 0.16* Add this attribute for the field ``[field]`` to define the maximum number of characters that can be typed. It works only with ``solid-form-text``, ``solid-form-email`` or ``solid-form-password`` and ``solid-form-textarea`` widgets. .. _minlength-field: ``minlength-[field]`` ~~~~~~~~~~~~~~~~~~~~~ *Available from version 0.16* Add this attribute for the field ``[field]`` to define the minimum number of characters that can be typed. It works only with ``solid-form-text``, ``solid-form-email`` or ``solid-form-password`` and ``solid-form-textarea`` widgets. .. _step-field: ``step-[field]`` ~~~~~~~~~~~~~~~~ *Available from version 0.16* Add this attribute for the field ``[field]`` to define the stepping interval number to use as constraint validation. Its based on the ``min-[field]`` value. It works with : - ``solid-form-time`` widget : Its value is given in seconds (default value is 60). - ``solid-form-number`` widget : Its default value is 1. Mixin attributes ----------------- **From next-mixin :** .. include:: ../Mixins/next-mixin.rst :start-line: 21 **From store-mixin :** .. include:: ../Mixins/store-mixin.rst :start-line: 21 :end-before: Events **From validation-mixin :** .. include:: ../Mixins/validation-mixin.rst :start-line: 17 **From widget-mixin :** .. include:: ../Mixins/widget-mixin.rst :start-line: 18 Widgets ------- By default, the widget used is ``<solid-form-label-text>``. Cf the :ref:`Widget <reference>` page for more info. Events ------- ``formChange`` ~~~~~~~~~~~~~~ Triggered when the form values change ``save`` ~~~~~~~~~~~~~~ Triggered when the response of the submit has been received successfully