composants datatable configuration - yamsuz/damix GitHub Wiki

Le fichier de configuration

Datatable

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"

Structure

Entête

<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/)

Orm

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]

Visualisation

<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
⚠️ **GitHub.com Fallback** ⚠️