Ce widget sert à créer un tableau d’enregistrement à partir d’un dataset

Edit me

Hérite de WidgetBase.

Fonction

Rendu

Utilisation

<table id="table_variables_resume_table" dataset="variables" mode="r">
  <columns>
    <column field="position" mode="r"/>
    <column field="name" mode="r"/>
    <column field="type" mode="r"/>
    <column field="label" mode="r"/>
    <column field="varset" mode="r"/>
  </columns>
</table>
<paginator dataset="variables" />

Personnaliser le rendu d’une ou plusieurs colonne(s)

Depuis la version 19w48, il est possible de prendre la main sur le rendu d’une ou plusieurs colonne(s) via une surcharge légère dans l’application.

Pour ce faire :

1 - Surcharger le WidgetTable dans l’application avec un WidgetTableCustom vide (le nom du widget n’est pas important).

2 - Dans EpiCraft, ajouter un WidgetTable surchargé par votre WidgetTableCustom et placer un attribut action sur la/les colonne(s) concernée(s) dans le tableau avec une valeur différente de “edit”, “view” et “delete”. Chaque colonne ayant un rendu différent doit avoir un attribut action avec une valeur différente.

3 - Créer des méthodes de rendu pour la/les colonne(s) concernée(s). Ces méthodes doivent respecter la règle de nommage et la signature suivantes : “_create[mon_action]TD(oTr, oColumn, sId)” :

  • action doit être remplacé par la valeur attribuée à l’attribut action de la/des colonne(s) cible(s)),
  • oTr : DOM object faisant référence à la ligne courante du tableau
  • oColumn : objet contenant les attributs la colonne ainsi que sa position (oCloumn.iPos = 1 pour la première colonne, 2 pour la deuxième, etc.)
  • sId : identifiant unique à attribuer à la cellule <td/>

Exemple :

<table id="liste_travail" dataset="liste_travail" mode="r">
  <columns>
    <column field="num_dnsm" mode="r" title="N° dnsm" class="col-sm-1" action="dnsm" />
    <column field="identite" mode="r" title="Nom" class="col-sm-1"/>
    <column field="affectation" mode="r" title="Affectation" class="col-sm-1"/>
    <column field="statut" mode="r" title="Statut" class="col-sm-1"/>
    <column field="id_data_patient" mode="r" title="Todo" action="to_do" class="no-sort col-sm-4"/>
    <column field="id_data_patient" mode="r" title="Actions" action="actions" class="no-sort col-sm-4"/>
  </columns>
  <options>
    <option output="html" option_name="widget" value="WidgetTableCustom" />
    <option output="html" option_name="escape_html" value="false" />
  </options>
</table>
<paginator dataset="liste_travail" />
YUI.add("widgettablecustom", function (Y) {

    /**
    * Layout
    *
    * @module layout
    * @submodule widget
    */

    /**
    * WidgetTableCustom
    *
    * @class WidgetTableCustom
    * @extends WidgetTable
    * @constructor
    */
    function WidgetTableCustom() {
        WidgetTableCustom.superclass.constructor.apply(this, arguments);
    }

    WidgetTableCustom.NAME = 'WidgetTableCustom';
    WidgetTableCustom.VERSION = '>=2.26';
    WidgetTableCustom.NO_OPTION = false;
    WidgetTableCustom.DEPRECATED = false;
    WidgetTableCustom.DESCRIPTION = 'This widget displays a working list with status, todos and actions to undertake.';

    WidgetTableCustom.ATTRS = {
        // [...]
    };

    Y.WidgetTableCustom = Y.extend(WidgetTableCustom, Y.WidgetTable,
        {
            /**
            * Construction logic executed during object instantiation.
            *
            * @method initializer
            * @protected
            */
            initializer: function () {
                WidgetTableCustom.superclass.initializer.apply(this, arguments);
            },

            /**
            * @param {object} oTr - DOM element - Current row
            * @param {object} oColumn - Attributes of current column
            * @param {string} sId - Unique id to be assigned to the current cell
            * @private
            */
            _createDnsmTD: function (oTr, oColumn, sId) {
                // render logic
            },

            /**
            * @param {object} oTr - DOM element - Current row
            * @param {object} oColumn - Attributes of current column
            * @param {string} sId - Unique id to be assigned to the current cell
            * @private
            */
            _createToDoTD: function (oTr, oColumn, sId) {
                // render logic
            },

            /**
            * @param {object} oTr - DOM element - Current row
            * @param {object} oColumn - Attributes of current column
            * @param {string} sId - Unique id to be assigned to the current cell
            * @private
            */
            _createActionsTD: function (oTr, oColumn, sId) {
                // render logic
            },
            
        }, '0.0.1', {
            requires: ['widgettable']
        })
});
illustration of widgettable with customized columns
Exemple de rendu personnalisé

Attributs

data_set

Indique le nom du dataset dont les données seront affichées dans le tableau

  • Version : >=2.15

  • Valeurs possibles : String

<... data_set="{data_set_value}" .../>

Options

enable_deletion

Rend possible la suppression d’une ligne du tableau

  • Version : >=2.15

  • Valeurs possibles : Boolean

<option output="html" option_name="enable_deletion" value="false" />

edit_url_label

Permet de remplacer le libellé de l’action “Editer”

  • Version : >=2.15

  • Valeurs possibles : String

<option output="html" option_name="edit_url_label" value="{edit_url_label_value}" />

custom_u_r_l

Custom_url_# : Il faut remplacer # par un integer. Permet d’ajouter des actions supplémentaires. S’utilise avec l’option custom_url_label_#

  • Version : >=2.15

  • Valeurs possibles : String

<option output="html" option_name="custom_u_r_l" value="{custom_u_r_l_value}" />

custom_u_r_l_label

Custom_url_label_# : S’utilise avec l’option custom_url_label_#. Label de l’URL custom

  • Version : >=2.15

  • Valeurs possibles : String

<option output="html" option_name="custom_u_r_l_label" value="{custom_u_r_l_label_value}" />

custom_u_r_l_show

Ajouter une condition d’affichage à l’action (/! pas de gestion de DataSetChangeEvent ou ValueChangeEvent )

  • Version : >=2.15

  • Valeurs possibles : String

<option output="html" option_name="custom_u_r_l_show" value="{custom_u_r_l_show_value}" />

custom_u_r_l_mode

Ajouter un mode d’affichage à l’action (“frame” ou non)

  • Version : >=2.15

  • Valeurs possibles : frame,window

  • Valeur par défaut : frame

<option output="html" option_name="custom_u_r_l_mode" value="frame" />

text_in_modal

Affiche une modale

  • Version : >=2.15

  • Valeurs possibles : Boolean

<option output="html" option_name="text_in_modal" value="{text_in_modal_value}" />

edit_url

Détermine l’adresse où rediriger pour éditer une ligne du tableau

  • Version : >=2.15

  • Valeurs possibles : String

<option output="html" option_name="edit_url" value="{edit_url_value}" />

begin

Début de la pagination

  • Version : >=2.15

  • Valeurs possibles : Integer

<option output="html" option_name="begin" value="0" />

range

Interval de la pagination

  • Version : >=2.15

  • Valeurs possibles : Integer

<option output="html" option_name="range" value="{range_value}" />

save_before_edit

Indique au système de sauvegarder le formulaire courant avant de rediriger vers la nouvelle frame

  • Version : >=2.15

  • Valeurs possibles : Boolean

<option output="html" option_name="save_before_edit" value="false" />

escape_html

Indique s’il faut échapper le code HTML des valeurs affichées dans le tableau

  • Version : >=2.15

  • Valeurs possibles : Boolean

  • Valeur par défaut : true

<option output="html" option_name="escape_html" value="true" />

bool_as_glyphicon

Pour les types boolean, des glyphicons sont affichées (✔ pour 1, ✘ pour 0, rien pour NULL)

  • Version : >=2.15

  • Valeurs possibles : Boolean

<option output="html" option_name="bool_as_glyphicon" value="false" />

Options groupées