From 961ef9c28da1663d85e05ca10a85d015096a4879 Mon Sep 17 00:00:00 2001
From: Manon Bourgognon <manon.bourgognon@epitech.eu>
Date: Thu, 18 Feb 2021 10:50:52 +0100
Subject: [PATCH 1/2] Add validationMixin documentation

---
 .../Components/Solid-Delete.rst               |  5 +-
 .../Components/Solid-Form.rst                 | 19 +++---
 .../Mixins/validation-mixin.rst               | 66 +++++++++++++++++++
 .../import_documentation/attributes-list.rst  | 23 ++++++-
 4 files changed, 101 insertions(+), 12 deletions(-)
 create mode 100644 source/import_documentation/Mixins/validation-mixin.rst

diff --git a/source/import_documentation/Components/Solid-Delete.rst b/source/import_documentation/Components/Solid-Delete.rst
index 0470de6..91be84d 100644
--- a/source/import_documentation/Components/Solid-Delete.rst
+++ b/source/import_documentation/Components/Solid-Delete.rst
@@ -33,7 +33,10 @@ Attributes
 
 ``confirmation-message``
 ~~~~~~~~~~~~~~~~~~~~~~~~~
-   Add this attribute to create a dialog box linked with the submit button of the solid-form.
+   *Available from version 0.13*
+   **Migrated to the validation mixin page in version 0.16**
+
+   Add this attribute to create a dialog box linked with the button of the solid-delete.
    Its value matches the message displayed in the dialog box.
 
 
diff --git a/source/import_documentation/Components/Solid-Form.rst b/source/import_documentation/Components/Solid-Form.rst
index 7414c91..f74fdf6 100644
--- a/source/import_documentation/Components/Solid-Form.rst
+++ b/source/import_documentation/Components/Solid-Form.rst
@@ -29,7 +29,7 @@ Attributes
    List of the fields used to create the form (by default, all of them are used).
 
 ``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"``
@@ -41,7 +41,7 @@ Attributes
    display their own submit button.
 
 ``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.
@@ -51,13 +51,13 @@ Attributes
    Text of the submit button of the form.
 
 ``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]``
-~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~
    *Available from version 0.13*
 
    List of values of your choice for the field ``[field]``. 
@@ -72,7 +72,7 @@ Attributes
       and "a", "b", "c" will be loaded in value attribute.
 
 ``order-asc-[field]`` or ``order-desc-[field]``
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Name of the field used to order the range list ``[field]``.
 
 ``partial``
@@ -81,12 +81,12 @@ Attributes
    all the fields of the resource to update.
 
 ``min-[field]``
-~~~~~~~~~~~
+~~~~~~~~~~~~~~~
    Add this attribute for the field ``[field]`` to define its minimum value.
    It works only with a ``solid-form-number`` widget.
 
 ``max-[field]``
-~~~~~~~~~~~
+~~~~~~~~~~~~~~~
    Add this attribute for the field ``[field]`` to define its maximum value.
    It works only with a ``solid-form-number`` widget.
 
@@ -98,15 +98,16 @@ Attributes
    It works only with a ``solid-form-text`` widget.
 
 ``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.
 
 ``confirmation-message``
-~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~
    *Available from version 0.13*
+   **Migrated to the validation mixin page in version 0.16**
 
    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.
diff --git a/source/import_documentation/Mixins/validation-mixin.rst b/source/import_documentation/Mixins/validation-mixin.rst
new file mode 100644
index 0000000..e14d13b
--- /dev/null
+++ b/source/import_documentation/Mixins/validation-mixin.rst
@@ -0,0 +1,66 @@
+.. _validation-mixin:
+validation-mixin
+================
+*Available from version 0.16*
+
+The validation mixin creates a modal dialog before deleting or submitting data.
+
+Used by:
+--------
+
+    * :ref:`solid-delete <solid-delete>`
+    * :ref:`solid-form <solid-form>`
+
+Attributes
+----------
+
+``confirmation-type``
+~~~~~~~~~~~~~~~~~~~~~
+    It is a prerequisite and can take two options : 
+
+        - ``confirm``: to access to a basic modal dialog.
+        - ``dialog``: to get a ``<dialog>`` more customizable.
+
+``confirmation-message``
+~~~~~~~~~~~~~~~~~~~~~~~~
+    Message displayed in the modal dialog (``confirm`` or ``dialog`` type).
+    The message by default is "Please, confirm your choice".
+
+
+**The attributes below only concern ``dialog`` type.**
+
+``confirmation-submit-text``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    Text displayed on the submit button ("Ok" by default).
+
+``confirmation-cancel-text``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    Text displayed on the cancel button ("Cancel" by default).
+
+``confirmation-submit-class``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    Submit button class name (undefined by default).
+
+``confirmation-cancel-class``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    Cancel button class name (undefined by default).
+
+
+    Some examples of the use of validation mixin attributes :
+
+    .. code:: html
+
+        <solid-delete
+            data-src="http://server/user/"
+            confirmation-type="confirm"
+            confirmation-message="Thank you to confirm the data deletion."
+        ></solid-delete>
+
+        <solid-form
+            data-src="../data/list/events.jsonld"
+            confirmation-type="dialog"
+            confirmation-message="Are you sure you want to create this event ?"
+            confirmation-submit-text="Yes, I am"
+            confirmation-submit-class="submit-button"
+            confirmation-cancel-class="cancel-button"
+        ></solid-form>
\ No newline at end of file
diff --git a/source/import_documentation/attributes-list.rst b/source/import_documentation/attributes-list.rst
index 5da3c35..369b60e 100644
--- a/source/import_documentation/attributes-list.rst
+++ b/source/import_documentation/attributes-list.rst
@@ -30,10 +30,29 @@ List of attributes (core framework)
 ~~~~~~~~~~~~~~
    * :ref:`solid-map <solid-map>`
 
+``confirmation-cancel-text``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   * :ref:`validation-mixin <validation-mixin>`
+
+``confirmation-cancel-class``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   * :ref:`validation-mixin <validation-mixin>`
+
 ``confirmation-message``
 ~~~~~~~~~~~~~~~~~~~~~~~~
-   * :ref:`solid-form <solid-form>`
-   * :ref:`solid-delete <solid-delete>`
+   * :ref:`validation-mixin <validation-mixin>`
+
+``confirmation-type``
+~~~~~~~~~~~~~~~~~~~~~
+   * :ref:`validation-mixin <validation-mixin>`
+
+``confirmation-submit-class``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   * :ref:`validation-mixin <validation-mixin>`
+
+``confirmation-submit-text``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+   * :ref:`validation-mixin <validation-mixin>`
 
 ``counter-template``
 ~~~~~~~~~~~~~~~~~~~~
-- 
GitLab


From cb496cf389a4f3ae676b8c78d82dd0f1246eee13 Mon Sep 17 00:00:00 2001
From: Manon Bourgognon <manon.bourgognon@epitech.eu>
Date: Fri, 19 Feb 2021 10:50:04 +0100
Subject: [PATCH 2/2] Add validationMixin ref in solid-delete, s-form

---
 source/import_documentation/Components/Solid-Delete.rst | 1 +
 source/import_documentation/Components/Solid-Form.rst   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/source/import_documentation/Components/Solid-Delete.rst b/source/import_documentation/Components/Solid-Delete.rst
index 91be84d..44c8733 100644
--- a/source/import_documentation/Components/Solid-Delete.rst
+++ b/source/import_documentation/Components/Solid-Delete.rst
@@ -16,6 +16,7 @@ Mixins
 This component uses the following mixin:
 
    * :ref:`next-mixin <next-mixin>`
+   * :ref:`validation-mixin <validation-mixin>`
 
 Please check their documentation to know more about its capabilities.
 
diff --git a/source/import_documentation/Components/Solid-Form.rst b/source/import_documentation/Components/Solid-Form.rst
index f74fdf6..da988a6 100644
--- a/source/import_documentation/Components/Solid-Form.rst
+++ b/source/import_documentation/Components/Solid-Form.rst
@@ -17,6 +17,7 @@ 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.
-- 
GitLab