composants datatable configuration - yamsuz/damix GitHub Wiki
Le fichier de configuration au format XML doit se trouver dans un dossier nommé par le sélecteur. Les caractères spéciaux "~" et ":" sont remplacés par des "_".
Exemple de sélecteur : [monModule]~[maRessource]:[mafonction] doit se trouver dans le dossier : modules/[monModules]/datatable/[maRessource]_[mafonction]
Le fichier est nommé "default.dts.xml"
<headers>
<header name="title" value="[maLocale]"/>
<header name="key" value="[maclePrimaire]"/>
<header name="module" value="[monModule]"/>
<header name="resource" value="[maressource]"/>
<header name="function" value="[mafonction]"/>
<header name="selection" value="multiple"/>
<header name="classname" value=""/>
<header name="type" value="list"/>
</headers>
- ''title'' : Permet de définir un titre qui pourrait être afficher à l'écran
- ''key'' : Clé unique permettant d'identifier la ligne lors des sélections de l'utilisateur
- ''module'' : Module du sélecteur
- ''resource'' : Ressource du sélecteur
- ''function'' : Fonction du sélection
- ''selection'' : [multiple] permet à l'utilisateur de sélectionner plusieurs ligne, [simple] permet à l'utilisateur de ne sélectionner qu'une seule ligne à la fois
- ''classname'' :
- ''type'' : [list] permet de d'afficher les données sous forme de liste (https://datatables.net/)
Les datatables sont liés aux orm de Damix
<orm selector="video~sormvideoliste:videoliste">
<!-- <ormconditions> -->
<!-- <ormcondition type="groupbegin"/> -->
<!-- <ormcondition type="groupbegin"/> -->
<!-- <ormcondition type="js" table="mouvement" property="idbanquelettrage" operator="eq" datatype="int" value1="idbanquelettrage" name="cond"/> -->
<!-- <ormcondition type="logic" value="or"/> -->
<!-- <ormcondition type="field" table="mouvement" property="idbanquelettrage" operator="isnull" name="cond"/> -->
<!-- <ormcondition type="groupend"/> -->
<!-- <ormcondition type="logic" value="and"/> -->
<!-- <ormcondition type="groupbegin"/> -->
<!-- <ormcondition type="js" table="mouvement" property="dateecriture" operator="gteq" datatype="date" value1="datedebut" name="cond"/> -->
<!-- <ormcondition type="logic" value="and"/> -->
<!-- <ormcondition type="js" table="mouvement" property="dateecriture" operator="lteq" datatype="date" value1="datefin" name="cond"/> -->
<!-- <ormcondition type="groupend"/> -->
<!-- <ormcondition type="groupend"/> -->
<!-- </ormconditions> -->
<ormorders>
<ormorder screen="default" name="dateecriture" way="asc"/>
</ormorders>
</orm>
L'attribut ''selector'' vous permet de définir le sélecteur qui sera utilisé pour l'affichage des données
== Conditions ==
La balise ''ormconditions'' vous permet de définir les filtres des données. Ces filtres passeront avant toutes les actions de l'utilisateur.
== Ordres ==
La balise ''ormorders'' vous permet de définir l'ordre d'affichage des données. Cette ordre passera avant toutes les actions de l'utilisateur
- L'attribut ''screen'' vous permet de définir l'ordre d'affichage en fonction de la visualisation
- L'attribut ''name'' correspond à la propriété qui sera affiché, peut être l'alias
- L'attribut ''way'' correspond au type de tri [asc] ou [desc]
<screen name="screen" default="default">
<list name="default" visible="1">
<settings>
<setting name="autoload" value="1"/>
</settings>
<filters cols="2" rows="1">
<filter ref="{FILM}:titre" order="0" from="orm"/>
<filter ref="{FILM}:sortiesalle" order="1" from="orm"/>
<filter ref="{FILM}:sortiedate" order="2" from="orm"/>
<filter ref="{FILM}:idgenre" order="3" from="orm"/>
<filter ref="{FILM}:interdit" order="3" from="orm"/>
</filters>
<datatable>
<columns>
<column ref="{FILM}:titre" order="1" from="orm" locale="video~lclorm.tormfilm.titre" visible="1"/>
<column ref="{FILM}:sortiedate" order="2" from="orm" locale="video~lclorm.tormfilm.sortiedate" visible="1"/>
<column name="genre2_code" ref="{GENRE}:code" order="3" from="orm" locale="video~lclorm.tormfilm.sortiedate" visible="1"/>
<column ref="{FILM}:sortiesalle" order="4" from="orm" locale="video~lclorm.tormfilm.sortiesalle" visible="1"/>
<column ref="{FILM}:interdit" order="4" from="orm" locale="video~lclorm.tormfilm.interdit" visible="1"/>
<column ref="{FILM}:duree" order="4" from="orm" locale="video~lclorm.tormfilm.duree" visible="1"/>
<column ref="{FILM}:annee" order="4" from="orm" locale="video~lclorm.tormfilm.annee" visible="1"/>
</columns>
</datatable>
</list>
</screen>
L'attribut ''ref'' vous permet de faire référence à un champ de l'orm. Pour cela, devez mettre [lLe sélecteur|composants-orm-selecteur]] du champ de l'orm.
Vous pouvez également surcharger tous les attributs en fonction de la configuration que vous souhaitez.
- Les listes
La balise ''list'' permet de regrouper l'ensemble de la configuration pour la vue d'une liste
- Setting
La balise ''setting'' permet de configurer la vue.
-
autoload : [0 ou 1] permet de charger la liste au chargement de la page
-
Filtres Configuration des filtres associés à la vue
- ref = Fait référence à un champ de l'orm et récupére toute la configuration de celui-ci
- name = Champ utilisé dans la requête (généralement l'alias)
- header = Titre qui sera afficher devant le filtre
- locale = Locale permettant de récupérer le header
- order = ordre d'affichage du filtre
- group =
- datatype = Type du filtre (string, bool, date, select)
- selector = sélecteur de la combo dans le cas d'un select
- operateur = Opérateur utilisé lors de l'exécution de la requete (par défaut : eq). Pour les dates, l'opérateur ''period'' peut être utilisé
- defaultvalue1 = Valeur par défaut pour la première valeur
- defaultvalue2 = Valeur par défaut pour la deuxième valeur
- null
- from = indique que ça provient des données de l'orm ou d'un script
-
Columns Configuration des colonnes
- ref = Fait référence à un champ de l'orm et récupére toute la configuration de celui-ci
- name = Champ utilisé dans la requête
- header = Titre utilisé en entête de colonne
- datatype = Formatage de la donnée
- Order = Ordre de la colonne
- from = indique que ça provient des données de l'orm ou d'un script
- sort = Tri sur la colonne
- locale = Locale permettant de récupérer le header
- Visible = Indique que la colonne est visible ou pas