- ZnetDK
- Téléchargements
- Installation
- Premiers pas
- Aller plus loin
- Doc de référence
- Forum de discussion
- Roadmap
- Prestations
- Me contacter
Les composants graphiques de ZnetDK proviennent principalement de la librairie de Widgets PrimeUI, développés à partir de la Widget Factory
jQuery UI.
Ces Widgets ont la particularité de pouvoir être surchargés en vue de réécrire certaines de leurs méthodes ou pour étendre leurs fonctionnalités.
Dans le but principal de simplifier l'utilisation des composants PrimeUI dans vos développements avec ZnetDK, certains d'entre-eux ont été revus et enrichis et des nouveaux ont été créés.
Cette page décrit les nouvelles options et méthodes ajoutées aux composants ZnetDK dérivés de PrimeUI ou créés directement à partir de l'API jQuery UI :
- ActionBar : barre de boutons d'actions simplifiant la réalisation de vues de type CRUD.
- Datatable : affichage d'un tableau de données pouvant être chargé à partir d'un contrôleur.
- Form : formulaire destiné à faciliter la validation de données localement et depuis le serveur web.
- Modal : boîte de dialogue modale.
- Inputdate : champ de saisie d'une date avec affichage d'un calendrier.
- Inputhtml : champ texte formaté en HTML.
- Listbox : liste de choix pouvant être chargée à partir d'un contrôleur.
- Dropdown : liste déroulante pouvant être chargée à partir d'un contrôleur.
- Tree : arbre de sélection de données dont les noeuds peuvent être chargés à partir d'un contrôleur.
- RadioButtonGroup : Groupe de boutons radio qui simplifie la déclaration de boutons radio.
- AutoComplete : champ avec autocompletion dont les suggestions sont fournies par un contrôleur applicatif.
- Inputfile : champ de sélection de fichier pour téléchargement à destination d'un contrôleur applicatif.
- Multiupload : Sélection multiple de fichiers pour téléchargement à destination d'un contrôleur applicatif.
- Picklist : Sélection multiple d'éléments par transfert entre deux listes.
ActionBar
Le composant graphique zdkactionbar
ajoute une barre d'actions constituée de boutons d'ajout, de modification et de suppression directement cablés aux composants Datatable
, Modal
, Form
et à vos contrôleurs applicatifs développés en PHP.
La barre d'actions peut également afficher :
Un bouton d'actualisation des données du tableau associé Datatable
,
Une liste de choix du nombre de lignes par page du tableau avec pagination associé.
Un champ de recherche par mot-clé avec AutoCompletion
pour filtrer les lignes du tableau associé.
Instanciation automatique
L'ajout de la classe de style zdk-action-bar
à une DIV
HTML suffit à instancier automatiquement le composant zdkactionbar
après le chargement de la vue.
Exemple d'appel :
<div class="zdk-action-bar"> <button class="zdk-bt-refresh"></button> <button class="zdk-bt-add">New</button> <button class="zdk-bt-edit">Edit</button> <button class="zdk-bt-remove">Remove</button> </div>
Attributs HTML5
Les attributs présentés dans le tableau ci-dessous permettent d'initialiser les caractéristiques principales de la barre d'action zdkactionbar
en langage HTML sans avoir recours au langage Javascript.
Attribut HTML5 | Description |
---|---|
data-zdk-datatable |
Indique l'identifiant HTML du tableau Datatable à relier à la barre d'action. Ainsi, la barre d'action peut interroger le tableau et connaître la ligne qui est sélectionnée au clic du bouton Supprimer(classe de style zdk-bt-remove ) ou Modifier(classe de style zdk-bt-edit ). D'autre part, la barre d'action peut rafraîchir le contenu du tableau au clic du bouton Rafraîchir(classe de style zdk-bt-refresh ).
Applicable uniquement à l'élément |
Exemple d'appel : <div class="zdk-action-bar" data-zdk-datatable="mydatatableid"> <!-- Here are declared the buttons and others elements of the action bar --> </div> |
Attribut HTML5 | Description |
---|---|
data-zdk-dialog |
Indique l'identifiant HTML de la fenêtre modale Modal à relier à la barre d'action. Ainsi, la barre d'action peut ouvrir la fenêtre modale au clic du bouton Ajouter(classe de style zdk-bt-add ) ou Modifier(classe de style zdk-bt-edit ).Le formulaire contenu dans la fenêtre modale (classe de style zdk-form ) est en conséquence automatiquement :- Vidé au clic du bouton Ajouter, - Initialisé au clic du bouton Modifier, à partir des données de la ligne sélectionnée dans le Datatable. Applicable uniquement à l'élément |
Exemple d'appel : <div class="zdk-action-bar" data-zdk-dialog="mydialogid"> <!-- Here are declared the buttons and others elements of the action bar --> </div> |
Attribut HTML5 | Description |
---|---|
data-zdk-noselection |
Indique un message d'alerte à afficher au clic du bouton Modifierou Supprimeralors qu'aucune ligne n'a été préalablement sélectionnée dans le Datatable associé à la barre d'action. Applicable uniquement aux éléments |
Exemple d'appel : <div class="zdk-action-bar" data-zdk-datatable="mydatatableid" data-zdk-dialog="mydialogid"> <button class="zdk-bt-edit" data-zdk-noselection="Select the row to edit!">Edit</button> <button class="zdk-bt-remove" data-zdk-noselection="Select the row to remove!">Remove</button> </div> |
Attribut HTML5 | Description |
---|---|
data-zdk-confirm |
Affiche le message de confirmation indiqué au clic du bouton Supprimer Le message comprend une question suivie du libellé des boutons "Oui" et "Non". Le caractère deux pointssépare chacun d'eux. Applicable uniquement à l'élément |
Exemple d'appel : <div class="zdk-action-bar" data-zdk-datatable="mydatatableid"> <button class="zdk-bt-remove" data-zdk-confirm="Do you want to remove the row?:Yes:No">Remove</button> </div> |
Attribut HTML5 | Description |
---|---|
data-zdk-action |
Précise l'action de contrôleur ZnetDK à invoquer pour : - Supprimer la ligne sélectionnée dans le Datatable, - Obtenir les suggestions du champ de recherche avec AutoCompletion. Applicable uniquement aux éléments |
Exemple d'appel : <div class="zdk-action-bar" data-zdk-datatable="mydatatableid"> <button class="zdk-bt-remove" data-zdk-action="mycontroller:remove">Remove</button> <div class="zdk-filter-rows"> <input title="keyword..." data-zdk-action="mycontroller:suggestions"> <button class="zdk-bt-clear"></button> <button class="zdk-bt-search"></button> </div> </div> |
Attribut HTML5 | Description |
---|---|
data-zdk-novalue |
Indique le message à afficher lorsque l'utilisateur clique sur le bouton de recherche alors qu'aucune valeur n'a été saisie dans le champs de recherche.
Applicable uniquement à l'élément |
Exemple d'appel : <div class="zdk-action-bar" data-zdk-datatable="mydatatableid"> <div class="zdk-filter-rows"> <input title="keyword..." data-zdk-action="mycontroller:suggestions"> <button class="zdk-bt-clear"></button> <button class="zdk-bt-search" data-zdk-novalue="Please, enter a keyword!"> </button> </div> </div> |
Attribut HTML5 | Description |
---|---|
data-zdk-delay |
Précise le délai d'attente en millisecondes avant l'affichage de suggestions pour le champ de recherche de la barre d'action.
Applicable uniquement à l'élément |
Exemple d'appel : <div class="zdk-action-bar" data-zdk-datatable="mydatatableid"> <div class="zdk-filter-rows"> <input title="keyword..." data-zdk-action="mycontroller:suggestions" data-zdk-delay="400"> <button class="zdk-bt-clear"></button> <button class="zdk-bt-search"> </button> </div> </div> |
Classes de style applicables
La barre d'action zdkactionbar
s'appuie sur des classes de style complémentaires pour étendre ses fonctionnalités comme décrit ci-dessous :
Classe de style | Description |
---|---|
zdk-bt-add |
S'applique à un élément HTML BUTTON pour instancier le bouton Nouveau de la barre d'actions. |
zdk-bt-edit |
S'applique à un élément HTML BUTTON pour instancier le bouton Modifier de la barre d'actions. |
zdk-bt-refresh |
S'applique à un élément HTML BUTTON pour instancier le bouton Rafraîchir de la barre d'actions. |
zdk-bt-remove |
S'applique à un élément HTML BUTTON pour instancier le bouton Supprimer de la barre d'actions. |
zdk-bt-clear |
S'applique à un élément HTML BUTTON pour instancier le bouton d'Effacement du champ de recherche de la barre d'actions. |
zdk-bt-search |
S'applique à un élément HTML BUTTON pour instancier le bouton de Recherche par mot-clé de la barre d'actions. |
Classe de style | Description |
---|---|
zdk-select-rows |
Cette classe de style appliquée à une liste déroulante HTML de type SELECT déclarée à l'intérieur de la barre d'action, permet à l'utilisateur de choisir le nombre de lignes à afficher dans le tableau dont l'identifiant a été renseigné pour l'attribut data-zdk-datatable.
Depuis la version 1.4 de ZnetDK, le nombre de lignes sélectionnées est mémorisé en local sur l'ordinateur depuis lequel s'exécute l'application (stockage local HTML5). Lors des accès suivants à la vue contenant la barre d'action (après fermeture par exemple du navigateur), le dernier nombre de lignes qui a été mémorisé est restauré et le tableau de données est affiché en tenant compte de ce nombre de lignes. |
Exemple d'appel : <div class="zdk-action-bar" data-zdk-datatable="mydatatableid"> <select class="zdk-select-rows" title="Rows"> <option value="10">10</option> <option value="20">20</option> <option value="100">All</option> </select> </div> |
Classe de style | Description |
---|---|
zdk-filter-rows |
Cette classe ajoutée à une élément HTML de type DIV déclaré à l'intérieur de la barre d'action, ajoute un champ avec autocompletion (widget PrimeUI AutoComplete), pour la saisie du critère de filtre des lignes du tableau dont l'identifiant a été renseigné pour l'attribut data-zdk-datatable.
L'attribut HTML5 La classe de style La classe de style |
Exemple d'appel : <div class="zdk-action-bar" data-zdk-datatable="mydatatableid"> <div class="zdk-filter-rows"> <input title="search criteria..." data-zdk-action="mycontroller:myaction"> <button class="zdk-bt-clear"></button> <button class="zdk-bt-search" data-zdk-novalue="Value required!"></button> </div> </div> |
Classe de style | Description |
---|---|
zdk-row-id |
Cette classe, ajoutée à une élément HTML de type INPUT au sein d'un formulaire de saisie Form , permet à ZnetDK de connaître au clic du bouton Supprimerde la barre d'action, le nom de l'identifiant technique de la ligne à supprimer. En effet, si cette classe n'est pas renseignée, ZnetDK considère par défaut, que l'identifiant technique de la ligne à supprimer se nomme Or, si l'identifiant technique se nomme autrement comme par exemple |
Exemple d'appel : <!-- Action bar --> <div class="zdk-action-bar" data-zdk-datatable="mydatatable" data-zdk-dialog="mydialog"> <button class="zdk-bt-remove" data-zdk-action="mycontroller:remove">Remove</button> </div> <!-- Datatable --> <div id="mydatatable" class="zdk-datatable" title="Products" data-zdk-action="mycontroller:data"> <!-- ... --> <!-- ... --> </div> <!-- Form dialog --> <div id="mydialog" class="zdk-modal" title="Product"> <form class='zdk-form' data-zdk-action="mycontroller:save" data-zdk-datatable="mydatatable"> <label>Part number</label> <input name="part_number" required> <label>Product name</label> <input name="name" required> <label>Price</label> <input name="price" required> <input class="zdk-row-id" name="product_id" type="hidden"> <button class="zdk-bt-save zdk-close-dialog" type="submit">Save</button> <button class="zdk-bt-cancel zdk-close-dialog" type="button">Cancel</button> </form> </div> |
Evénements
Les événements déclenchés par le composant Actionbar
sont les suivants :
Evénement | Description |
---|---|
rowremoved |
Evènement déclenché après suppression réussie d'un enregistrement dans le tableau de données associé. |
Exemple d'appel : $("#myactionbar").zdkactionbar({ rowremoved: function() { alert('Rowremoved event catched! The datatable row is not removed.'); } }); |
Evénement | Description |
---|---|
search |
Evènement déclenché lorqu'un mot-clé est recherché depuis la barre d'action, par le clic du bouton de recherche ou lorsque la touche <Entrée> est pressée. L'interception de cet évènement peut être utile pour surcharger le comportement standard de recherche. |
Exemple d'appel : $("#myactionbar").zdkactionbar({ search: function() { alert('Search event catched! The datatable is not filtered.'); return false; } }); |
Evénement | Description |
---|---|
whenadd |
Evènement déclenché avant l'affichage du formulaire d'ajout. L'interception de cet évènement est utile pour rafraîchir par exemple le contenu d'un composant Dropdown ou ListBox. |
Exemple d'appel : $("#myactionbar").zdkactionbar({ whenadd: function() { alert('The Add form is not yet displayed!'); } }); |
Evénement | Description |
---|---|
whenedit |
Evènement déclenché avant l'affichage du formulaire de modification. L'interception de cet évènement est utile pour rafraîchir par exemple le contenu d'un composant Dropdown ou ListBox. |
Exemple d'appel : $("#myactionbar").zdkactionbar({ whenedit: function() { alert('The Edit form is not yet displayed!'); } }); |
Evénement | Description |
---|---|
whenremove |
Evènement déclenché avant l'affichage du message de confirmation de suppression et avant l'appel de l'action de contrôleur en charge de la suppression. L'interception de cet évènement est utile pour personnaliser le message de confirmation de suppression en fonction du contexte. |
Exemple d'appel : $("#myactionbar").zdkactionbar({ whenremove: function() { $(this).zdkactionbar('option','getRemoveConfirm', function(toCallback, rowID, identifierName, dialogTitle) { var $this = this, identifier = {}; identifier[identifierName] = rowID; znetdk.request({ control:'mycontroller', action:'confirmation', data:identifier, callback: function(response) { znetdk.getUserConfirmation({ title: dialogTitle, message: response.question, yesLabel: response.yes_label, noLabel: response.no_label, callback: function (confirmation) { if (confirmation) { toCallback.call($this,rowID,identifierName); } } }); } }); }); } }); |
Datatable
Le composant graphique zdkdatatable
, dérivé du widget PrimeUI Datatable, peut être directement branché à tout contrôleur applicatif développé côté serveur avec ZnetDK.
Il simplifie d'autre part l'actualisation, le filtrage et la pagination de ses lignes.
L'application de styles CSS aux colonnes du tableau est facilité par l'ajout aux cellules d'entête (élément HTML <th>
) et de corps (élément HTML <td>
) du tableau, de la classe CSS zdk-col-[name]
où [name] est le nom de la colonne du tableau (propriété name
de la définition de colonnes).
Instanciation automatique
L'ajout de la classe de style zdk-datatable
à une DIV
HTML suffit à instancier le composant zdkdatatable
après chargement de la vue.
Exemple d'appel :
<div class="zdk-datatable"></div>
Attributs HTML5
Les attributs présentés ci-dessous permettent d'initialiser les caractéristiques principales du tableau zdkdatatable
en langage HTML sans avoir recours au langage Javascript.
Attribut HTML5 | Description |
---|---|
data-zdk-action |
Indique le nom du contrôleur et de l'action PHP à invoquer pour obtenir les données à charger dans le tableau. |
Exemple d'appel : <div class="zdk-datatable" data-zdk-action="mycontroller:myaction"> </div> |
Attribut HTML5 | Description |
---|---|
data-zdk-cols-resize |
Les colonnes du tableau sont redimensionnables lorsque cet attribut est déclaré avec la valeur "true" .Après redimensionnement, la nouvelle largeur de colonne est mémorisée par le navigateur internet ( localStorage ) et réappliquée lors des affichages suivants du tableau. |
Exemple d'appel : <div class="zdk-datatable" data-zdk-cols-resize="true"> </div> |
Attribut HTML5 | Description |
---|---|
data-zdk-columns |
Fournit la définition des colonnes du tableau au format JSON, en reprenant les mêmes propriétés que celles renseignées sous forme de tableau pour l'option columns du widget PrimeUI Datatable.
Depuis la version 1.3 de ZnetDK, la propriété Depuis la version 1.6 de ZnetDK, la propriété Depuis la version 2.5 de ZnetDK, la propriété |
Exemple d'appel : <div class="zdk-datatable" data-zdk-columns='[ {"field":"id", "headerText": "Numéro"} {"field":"nom", "headerText": "Nom", "icon": "fa-vcard", "fieldValueTriggered": "id"}, {"field":"adresse", "headerText": "Adresse", "tooltip": true}, {"field":"code_postal", "headerText": "Code postal"}, {"field":"ville", "headerText": "Ville"}]'> </div> |
Attribut HTML5 | Description |
---|---|
data-zdk-multiselect |
La sélection muli-lignes est activée lorsque cet attribut est déclaré avec la valeur "true" . |
Exemple d'appel : <div class="zdk-datatable" data-zdk-multiselect="true"> </div> |
Attribut HTML5 | Description |
---|---|
data-zdk-paginator |
Active la pagination des lignes du tableau et précise :
Ces deux nombres sont séparés par un caractère Exemple 1 : Exemple 2 : |
Exemple d'appel : <div class="zdk-datatable" data-zdk-paginator="10:3"> </div> |
Attribut HTML5 | Description |
---|---|
data-zdk-resetsortlabel |
Ajoute le bouton Tri par défaut en entête de tableau pour restaurer le tri des lignes par défaut après le clic d'une colonne acceptant le tri par colonne. La valeur a renseigner pour ce paramètre est l'intitulé du bouton de réinitialisation du tri. La constante PHP LC_BTN_RESET_SORT peut être utilisée pour initialiser l'intitulé du bouton à Tri par défaut. |
Exemple d'appel : <div class="zdk-datatable" data-zdk-resetsortlabel="<?php echo LC_BTN_RESET_SORT; ?>"> </div> |
Options
Les options du composant zdkdatatable
présentées ci-dessous s'ajoutent à celles du composant Datatable d'origine.
Option | Description |
---|---|
controller |
Nom du contrôleur applicatif ZnetDK qui alimente en données le tableau. |
action |
Nom de l'action du contrôleur applicatif ZnetDK qui fournit les données au tableau au format JSON. |
totalInCaption |
Lorsque cette option est renseignée à true , le titre du tableau indiqué pour l'option caption est préfixé du nombre total de lignes qu'il contient. |
filterCriteria |
Indique le ou les critères à transmettre à l'action de contrôleur pour filtrer le lignes affichées dans le tableau.
Cette valeur est transmise dans le paramètre POST nommé search_criteria .Ce critère de filtre peut également être défini à l'appel de la méthode filterRows. |
keepSelectionOnId |
Lorsque ce paramètre est renseigné, la ligne sélectionnée avant actualisation du contenu du tableau
est conservée. La valeur attendue pour ce paramètre est le nom de la colonne (attribut de colonne name ) correspondant à l'identifiant de ligne.
Habituellement sa valeur est 'id' .
|
resizableColumns |
Les colonnes du tableau peuvent être redimensionnées à la souris quand ce paramétre est renseigné avec la valeur true .Après redimensionnement, la nouvelle largeur de colonne est mémorisée par le navigateur internet ( localStorage ) et réappliquée lors des affichages suivants du tableau.
|
resetSortLabel |
Active l'affichage du bouton de restauration du tri par défaut en indiquant l'intitulé du bouton. |
Méthodes
Les méthodes du composant zdkdatatable
présentées ci-dessous s'ajoutent à celles du composant Datatable d'origine.
Méthode | Paramètres | Description |
---|---|---|
empty |
aucun | Supprime toutes les lignes du tableau. |
Exemple d'appel : $('#mytable').zdkdatatable('empty'); |
||
filterRows |
filter [string ] |
Limite l'affichage des lignes du tableau à celles contenant la valeur de filtre indiquée en paramètre. La valeur du filtre est transmise dans la requête AJAX adressée au contrôleur dans le paramètre POST Le contrôleur applicatif retourne alors en réponse les seules lignes de données qui contiennent la valeur de filtrage. |
Exemple d'appel : var filterValue = 'mon texte'; $('#mytable').zdkdatatable('filterRows',filterValue); |
||
getRowData |
row [jQuery ] |
Retourne les données de la ligne de tableau indiquée en paramètre sous forme d'objet jQuery. Les données correspondent à un objet JavaScript dont les propriétés correspondent à celles transmises par l'action de contrôleur appelée pour charger les lignes du tableau. |
Exemple d'appel : var selectedrow = $('#mytable').zdkdatatable('getSelection'), rowData = $('#mytable').zdkdatatable('getRowData', selectedrow[0]); alert(rowData.customer_name); |
||
refresh |
aucun | Force l'actualisation des lignes du tableau par un nouvel appel AJAX au contrôleur applicatif en charge de fournir les données. |
Exemple d'appel : $('#mytable').zdkdatatable('refresh'); |
||
selectRowByValue |
columnField [string ]value [string ] |
Sélectionne la ligne du tableau dont la valeur value spécifiée est présente dans la colonne columnField .columnField est le nom de la colonne tel qu'indiqué pour la propriété columns.field à la définition des colonnes du tableau (voir attribut data-zdk-columns). |
Exemple d'appel : $('#mytable').zdkdatatable('selectRowByValue', 'CustomerNbr', 'C434452'); |
Evénements
Les événements déclenchés par le composant zdkdatatable
sont les suivants :
Evénement | Description |
---|---|
dataloaded |
Evènement déclenché après chargement des lignes du tableau à partir des données renvoyées par une action de contrôleur PHP. |
Exemple d'appel : $("#mydatatable").zdkdatatable({ dataloaded: function() { alert('Rows loaded successfully from the PHP controller action.'); } }); |
Paramètres POST
Les paramètres POST transmis au contrôleur applicatif sont synthétisés dans le tableau ci-dessous :
Paramètre POST | Description |
---|---|
first |
Numéro d'ordre de la première ligne à retourner par le contrôleur applicatif dans le cas où la pagination des données a été activée pour le composant (option paginator ).
Par exemple, pour une pagination de 10 lignes par page, le paramètre first reçoit la valeur 0 pour la première page, 10 pour la seconde et 20 pour la troisième.
|
rows |
Nombre de lignes que le contrôleur applicatif doit retourner dans le cas où la pagination des données a été activée pour le composant (option paginator ). |
search_criteria |
Valeur du critère de filtrage des lignes du tableau. |
sortfield |
Identifiant de la colonne (option columns.field ) pour laquelle les lignes du tableau sont à trier. |
sortorder |
Ordre de tri des données de la colonne du paramètre POST sortfield : valeur 1pour un tri des données dans l'ordre croissant, valeur -1pour un tri décroissant. |
Ces paramètres POST peuvent être lus dans le contrôleur applicatif développé en ZnetDK à l'aide de l'objet PHP \Request comme illustré dans l'exemple ci-dessous :
Exemple de contrôleur applicatif ZnetDK :
<?php namespace app\controller; class MyController extends \AppController { static protected function action_myaction() { $request = new \Request(); $first = $request->first; $rowsNumber = $request->rows; $sortfield = $request->sortfield; $sortorder = $request->sortorder; $searchCriteria = $request->search_criteria; /* Get rows from the database table */ //... /* Return rows in JSON format */ //... } }
Réponse JSON
En réponse à la requête AJAX adressée au contrôleur applicatif (voir options controller
et action
), les données qu'il doit retourner pour affichage dans le tableau doivent respecter le format JSON suivant :
Propriété JSON | Description |
---|---|
total |
Nombre total de lignes. Ce nombre de lignes est supérieur au nombre de lignes retournées dans la propriété JSON rows si la pagination a été activée pour le tableau (option paginator ). |
rows |
Tableau d'objets où chaque objet correspond à une ligne de données. Les propriétés de l'objet sont nommées à l'identique des identifiants de colonne du tableau (option columns.field ) et sont affectées de la valeur de cellule du tableau.
Les propriétés qui ne correspondent à aucune colonne du tableau sont mémorisées dans la ligne du tableau et peuvent être lues par appel de la méthode getSelection du composant original PrimeUI Datatable. |
success |
Indicateur de réussite d'interrogation des données côté serveur.
La valeur true indique que les données ont été retournées par le contrôleur avec succès.
La valeur false en revanche indique qu'une erreur est survenue dans le contrôleur pour constituer les données du tableau demandées. |
msg |
Message d'erreur à afficher dans le navigateur à l'aide du composant PrimeUI Growl lorsque la propriété JSON success est valorisée à false . |
summary |
Titre d'entête du message d'erreur à afficher dans le navigateur à l'aide du composant PrimeUI Growl lorsque la propriété JSON success est valorisée à false . |
Exemple de réponse JSON : {"total":4, "rows":[ {"product_id":"4","product_name":"Air cooling", "product_description":"Air filter for Jaguar vehicles"}, {"product_id":"2","product_name":"Oil filter", "product_description":"Oil filter for petrol engines"}, {"product_id":"7","product_name":"Spark plug", "product_description":"Spark plug NGK"}, {"product_id":"1","product_name":"Radiator fan", "product_description":"Fan for vehicles without air conditioning"} ], "success":true} |
Ci-dessous un exemple de contrôleur applicatif PHP développé en ZnetDK dont l'action myaction
retourne des éléments à charger au format JSON dans une liste de choix zdklistbox
.
Exemple de contrôleur applicatif ZnetDK :
<?php namespace app\controller; class MyController extends \AppController { static protected function action_myaction() { $rows = array(); $rows[] = array('product_id' => 4, 'product_name' => 'Air cooling', 'product_description' => 'Air filter for Jaguar vehicles'); $rows[] = array('product_id' => 2, 'product_name' => 'Oil filter' 'product_description' => 'Oil filter for petrol engines'); $rows[] = array('product_id' => 7, 'product_name' => 'Spark plug', 'product_description' => 'Spark plug NGK'); $rows[] = array('product_id' => 1, 'product_name' => 'Radiator fan', 'product_description' => 'Fan for vehicles without air conditioning'); // JSON Response $response = new \Response(); $response->rows = $rows; $response->success = TRUE; return $response; } }
Form
Le composant graphique zdkform
instancie automatiquement les principaux composants graphiques de saisie PrimeUI et ZnetDK qu'il contient,
à savoir les champs de texte Inputtext, Inputtextarea et Inputhtml, les champs de saisie de date Inputdate et d'heure (attribut HTML5 type='time'
), les boutons radio RadioButton, les cases à cocher Checkbox, les listes de choix Listbox, les champs AutoComplete, les champs InputFile,
les composants Multiupload, les composants Picklist et les boutons d'action Button.
D'autre part, il complète les mécanismes de validation des données de formulaire offerts par le navigateur internet en fonction de son niveau de compatibilité avec les standards HTML5. Il facilite la personnalisation des messages d'erreur et uniformise leur affichage en cas de saisie incorrecte des données du formulaire.
Il facilite de plus l'initialisation et l'effacement des données de formulaire à travers ses méthodes init, loadData et Reset.
Enfin, il peut être directement branché (attribut data-zdk-action
) au contrôleur applicatif développé spécifiquement en PHP, pour vérification et enregistrement de ses données une fois que le navigateur a appliqué un premier niveau de validation.
Les données du formulaire sont alors envoyées à l'action de contrôleur PHP via une requête AJAX, dans les paramètres POST nommés selon l'attribut HTML name
des champs de saisie.
Si le bouton de type submit
est déclaré avec les attributs name
et value
, alors la valeur du bouton est également transmise dans la requête AJAX destinée au contrôleur PHP.
Instanciation automatique
L'ajout de la classe de style zdk-form
à un élément FORM
HTML suffit à instancier le composant zdkform
après le chargement de la vue ZnetDK.
Exemple d'appel :
<form class="zdk-form"> <!-- Here are declared the Form elements --> </form>
Le composant zdk-form
a son tour instancie automatiquement les composants graphiques PrimeUI et ZnetDK à partir de la définition HTML des éléments qu'il contient, en invoquant la méthode znetdk.initCommonWidgets() de l'API ZnetDK.
Attributs HTML5
Les attributs présentés ci-après permettent d'initialiser les caractéristiques principales du formulaire zdkform
en langage HTML sans avoir recours au langage Javascript.
Attribut HTML5 | Description |
---|---|
data-zdk-action |
Indique le nom du contrôleur et de l'action PHP auxquels sont adressées pour validation et enregistrement, les données saisies dans le formulaire au clic du bouton de type submit .Cet attribut permet d'initialiser directement en HTML les options controller et action du formulaire zdform . |
Exemple d'appel : <form class="zdk-form" data-zdk-action="mycontroller:myaction"> <!-- Here are declared the Form elements --> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-allvalues |
Indique quand sa valeur est 'true' que toutes les données du formulaire zdform doivent être transmises à l'action de contrôleur distant PHP, y compris pour les composants graphiques sans valeur renseignée. |
Exemple d'appel : <form class="zdk-form" data-zdk-action="mycontroller:myaction" data-zdk-allvalues="true"> <!-- Here are declared the Form elements --> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-datatable |
Indique l'identifiant HTML du tableau zdkdatatable pour actualiser son contenu après validation réussie du formulaire (clic du bouton de type submit ).La ligne initialement sélectionnée dans le tableau reste sélectionnée après son actualisation quand les données de ligne disposent de la propriété id .Dans le cas où l'identifiant des lignes du tableau se nomme autrement que id (par exemple client_id ), l'ajout de la classe CSS zdk-row-id à l'élément INPUT correspondant dans le formulaire permet de conserver la sélection de la ligne dans le tableau après actualisation.
|
Exemple d'appel : <form class="zdk-form" data-zdk-datatable="mydatableid"> <!-- Here are declared the Form elements --> <input class="zdk-row-id" type="hidden" name="client_id"> </form> |
Attribut HTML5 | Description |
---|---|
data-zdkerrmsg-required |
Définit le message d'erreur commun à tous les éléments de saisie HTML déclarés dans le formulaire et pour lesquels une valeur doit être obligatoirement renseignée (attribut required précisé pour l'élément HTML). |
Exemple d'appel : <form class="zdk-form" data-zdkerrmsg-required="Please, fill in this field!"> <!-- Here are declared the Form elements --> </form> |
Attribut HTML5 | Description |
---|---|
novalidate |
Indique que les données saisies dans le formulaire ne doivent pas être validées au clic du bouton de type submit . |
Exemple d'appel : <form class="zdk-form" novalidate=""> <!-- Here are declared the Form elements --> </form> |
Classes de style applicables
Les classes de style décrites ci-dessous étendent les fonctionnalités du composant zdk-form
:
Classe de style | Description |
---|---|
zdk-form-notrim |
Cette classe de style s'applique à un champ de saisie de type <INPUT> ou <TEXTAREA> déclaré à l'intérieur d'un formulaire ZnetDK.Elle indique que la méthode JavaScript trim() ne doit pas être appliquée à la valeur saisie à la validation du formulaire ni même à l'appel de la méthode getFormData .Cette classe permet par exemple de préserver les sauts de ligne en début et fin de chaîne texte saisie dans un <TEXTAREA> .
Classe de style disponible à partir de la version 2.6 de ZnetDK. |
Exemple de définition : <form class="zdk-form"> <label>My label</label> <textarea class="zdk-form-notrim" name="my_field"></textarea> </form> |
Classe de style | Description |
---|---|
zdk-required |
Le composant préfixe automatiquement d'une astérisque rouge *le libellé de l'élément HTML LABEL lorsque l'attribut required ou data-required (voir composant Inputhtml) est renseigné pour son champ de saisie associé.
Néanmoins, il est possible de forcer l'affichage de l'astérisque rouge en appliquant directement la classe zdk-required à un libellé de formulaire s'il l'on souhaite valider la saisie uniquement par le serveur web. |
Exemple de définition : <form class="zdk-form"> <label class="zdk-required">My label</label> <input name="my_field" type="text"> </form> |
Options
Les options du composant zdkform
sont les suivantes :
Option | Description |
---|---|
controller |
Nom du contrôleur applicatif ZnetDK auquel sont soumises les données du formulaire. Le contrôleur peut également être indiqué à l'aide de l'attribut HTML5 data-zdk-action . |
action |
Nom de l'action du contrôleur applicatif ZnetDK en charge du traitement des données du formulaire. Le nom de l'action peut également être indiqué à l'aide de l'attribut HTML5 data-zdk-action . |
requiredErroMessage |
Message d'erreur affiché dans le formulaire pour tous les éléments HTML de saisie disposant de l'attribut HTML5 required et pour lesquels aucune valeur n'a été renseignée ou sélectionnée à la validation du formulaire.
Le message d'erreur défini pour l'attribut data-zdkerrmsg-required de tout élément HTML du formulaire est prioritaire par rapport à celui de l'option requiredErroMessage . |
Méthodes
Les méthodes du composant zdkform
sont les suivantes :
Méthode | Paramètres | Description |
---|---|---|
init |
values [Object ] |
Initialise les éléments du formulaires à partir de l'objet Javascript values passé en paramètre.Les données du formulaire sont préalablement réinitialisée par un appel de la méthode |
Exemple d'appel : var personne = { nom:"Paul", prenom:"Defrance", age:26 }; $('#myform').zdkform('init',personne); |
Méthode | Paramètres | Description |
---|---|---|
isFormModified |
aucun | Retourne true si les données du formulaire ont été modifiées, autrement retourne false . |
Exemple d'appel : $('#my_close_button').click(function(event) { event.preventDefault(); var dataModified = $("#myform").zdkform('isFormModified'); if (dataModified) { znetdk.getUserConfirmation({ title: "Form modified...", message: 'Do you really want to quit without saving?', yesLabel: 'Yes', noLabel: 'No', callback: function (confirmation) { if (confirmation) { $('#myDialog').zdkmodal('hide'); } } }); } }); |
Méthode | Paramètres | Description |
---|---|---|
getFormData |
getEmptyInputs [Boolean ] |
Retourne les données saisies dans le formulaire sous la forme d'un tableau d'objets. Chaque objet comprend les propriétés suivantes :
Le paramètre |
Exemple d'appel : var formData = $('#myform').zdkform('getFormData'), message = "Form data:\n"; for (i = 0; i < formData.length; i++) { message += "° " + formData[i].name + " = " + formData[i].value + "\n"; } alert(message); |
Méthode | Paramètres | Description |
---|---|---|
getInputValues |
inputName [String ] |
Retourne la ou les valeurs du champ de saisie du formulaire identifié par l'attribut HTML name ou data-name sous la forme d'un tableau de valeurs. |
Exemple d'appel : var inputValue = $('#myform').zdkform('getInputValues', 'my_input'); alert(inputValue[0]); |
Méthode | Paramètres | Description |
---|---|---|
loadData |
controller [string ]action [string ]idName [string ]idValue [string ] |
Charge les données du formulaire à partir des données fournies par un contrôleur applicatif ZnetDK. Le nom du contrôleur et de l'action à adresser côté serveur sont renseignés dans les paramètres Le paramètre |
Exemple d'appel : $('#myform').zdkform('loadData','clientctrl','client','id','78'); |
Méthode | Paramètres | Description |
---|---|---|
reset |
aucun | Vide et réinitialise les éléments HTML du formulaire. Les champs de formulaire sont vidés (y compris les éléments Cette méthode est automatiquement appelée si l'évènement |
Exemple d'appel : $('#myform').zdkform('reset'); |
Méthode | Paramètres | Description |
---|---|---|
setFormModified |
isModified [booléen ] |
Force l'état des données de formulaire à modifié ou non modifié. Lorsque le paramètre |
Exemple d'appel : $('#myform').zdkform('setFormModified',true); |
Méthode | Paramètres | Description |
---|---|---|
setReadOnly |
readOnly [booléen ] |
Active ou désactive la modification au clavier des données de formulaire. Lorsque le paramètre readOnly est renseigné à la valeur true , les données du formulaire ne peuvent plus être modifiées. |
Exemple d'appel : $('#myform').zdkform('setReadOnly',true); |
Méthode | Paramètres | Description |
---|---|---|
setValues |
values [Object ] |
Initialise le formulaire à partir des données passées en paramètre. Le paramètre values est un objet dont chaque propriété correspond à la valeur de l'attribut HTML name d'un élément du formulaire à initialiser.Cette méthode est similaire à la méthode zdkform.init() excepté que les données existantes du formulaire ne sont pas réinitialisées, permettant ainsi de compléter le formulaire de nouvelles données.
|
Exemple d'appel : var personne = { nom:"Paul", prenom:"Defrance", age:26 }; $('#myform').zdkform('setValues',personne); |
Méthode | Paramètres | Description |
---|---|---|
showCustomError |
message [string ]fieldInError [string ] |
Affiche un message d'erreur personnalisé. Le paramètre message contient l'intitulé du message d'erreur à afficher.Le paramètre fieldInError indique le nom du composant graphique (attribut HTML name ou data-name ) dans le formulaire sur lequel placer le focus de saisie.
|
Exemple d'appel : $('#myform').zdkform('showCustomError','Erreur détectée !', 'my_input'); |
Evénements
Les événements déclenchés par le composant zdkform
sont les suivants :
Evénement | Description |
---|---|
complete |
L'évènement complete est déclenché après validation réussie des données du formulaire.Dans le cas où le formulaire est branché à un contrôleur d'application (voir les options La réponse renvoyée au format JSON par l'action invoquée du contrôleur peut être lue depuis la fonction déclenchée en réponse de l'évènement (voir exemple ci-dessous). |
Exemple d'appel : $("#myform").zdkform({ complete: function (context, response) { alert("Form validated successfully.", " The value returned is: ", response.myValue); } }); |
Evénement | Description |
---|---|
failed |
L'évènement failed est déclenché après que l'appel au contrôleur d'application ait échoué (voir la méthode ZnetDK Request::setFailedMessage() ).
Cet évènement n'est en revanche pas déclenché si aucun contrôleur d'application n'est renseigné pour le formulaire (voir les options |
Exemple d'appel : $("#myform").zdkform({ failed: function () { alert("The execution of the remote action has failed!"); } }); |
Evénement | Description |
---|---|
ready |
L'évènement ready est déclenché une fois que tous les composants graphiques contenus dans le formulaire ont été instanciés.
Cet événement peut être intercepté pour définir des gestionnaires d'événements spécifiques aux composants graphiques. |
Exemple d'appel : $("#myform").zdkform({ ready: function () { alert("The widgets in the form are now instantiated!"); } }); |
Evénement | Description |
---|---|
resetdone |
L'évènement resetdone est déclenché une fois que tous les composants graphiques contenus dans le formulaire ont été réinitialisés.
Cet événement peut être intercepté pour définir des gestionnaires d'événements spécifiques aux composants graphiques. |
Exemple d'appel : $("#myform").zdkform({ resetdone: function () { alert("The widgets in the form are now reset!"); } }); |
Evénement | Description |
---|---|
beforesubmit |
L'évènement beforesubmit est déclenché avant que ne soit validé le formulaire.
Cet événement peut être intercepté pour compléter les données du formulaire avant qu'elles ne soient validées et transmises en AJAX au contrôleur distant. |
Exemple d'appel : $("#myform").zdkform({ beforesubmit: function () { alert("The form data are not yet validated and submitted!"); } }); |
Messages d'erreur personnalisés
Le tableau ci-dessous dresse la liste des attributs d'éléments HTML du formulaire destinés à personnaliser le message d'erreur affiché si les contraintes de saisie ne sont pas respectées.
Attribut HTML | Description |
---|---|
data-zdkerrmsg-required |
Message d'erreur affiché si l'élément HTML dispose de l'attribut required et qu'aucune valeur n'est renseignée ou sélectionnée. |
data-zdkerrmsg-min |
Message d'erreur affiché si le champ HTML <input> dispose de l'attribut min et que la valeur saisie est inférieure à la valeur minimale spécifiée. |
data-zdkerrmsg-max |
Message d'erreur affiché si le champ HTML <input> dispose de l'attribut max et que la valeur saisie est supérieure à la valeur maximale spécifiée. |
data-zdkerrmsg-pattern |
Message d'erreur affiché si le champ HTML <input> dispose de l'attribut pattern et que la valeur saisie ne se conforme à l'expression régulière spécifiée. |
data-zdkerrmsg-type |
Message d'erreur affiché si le champ HTML <input> dispose de l'attribut type et que la valeur saisie ne correspond au type spécifié. |
data-zdkerrmsg-date |
Message d'erreur affiché si le champ HTML <input> dispose de l'attribut date et que la valeur saisie ne correspond pas à un format de date valide. |
data-zdkerrmsg-step |
Message d'erreur affiché si le champ HTML <input> dispose de l'attribut step et que la valeur saisie n'est pas conforme au pas défini. |
Modal
La boîte de dialogue zdkmodal
est une version dérivée du composant graphique PrimeUI Dialog configurée par défaut pour un affichage modal, sans redimensionnement possible et sans possibilité d'être réduite ou maximisée.
La boîte de dialogue modale lorsqu'elle contient un formulaire zdkform
, peut être refermée automatiquement lorsque les données du formulaire sont validées avec succès ou au clic du bouton d'annulation du formulaire.
Instanciation automatique
Cette boîte de dialogue est automatiquement instanciée par le contrôleur local ZnetDK dans toute vue contenant un élément HTML de type DIV
défini avec la classe de styles zdk-modal
.
Attributs HTML5
Attribut HTML5 | Description |
---|---|
data-zdk-width |
Fixe la largeur de la boîte de dialogue modale. |
Exemple d'appel : <div class="zdk-modal" title="mytitle" data-zdk-width="360px"> <!-- Content of the dialog... --> </div> |
Attribut HTML5 | Description |
---|---|
data-zdk-confirm |
Affiche un message de confirmation de fermeture de la fenêtre Modale lorqu'elle contient un formulaire Form dont les données ont été modifiées. |
Exemple d'appel : <div class="zdk-modal" title="mytitle" data-zdk-confirm="Do you want to quit?:Yes:No"> <!-- Content of the dialog... --> </div> |
Attribut HTML5 | Description |
---|---|
data-icon |
Affiche l'icône Fontawesome spécifiée à la gauche du titre de la fenêtre. |
Exemple d'appel : <div class="zdk-modal" title="mytitle" data-icon="fa-home"> <!-- Content of the dialog... --> </div> |
Classes de style applicables
La boîte de dialogue zdkmodal
s'appuie sur des classes de style complémentaires pour étendre ses fonctionnalités comme décrit ci-dessous :
Classe de style | Description |
---|---|
zdk-modal-maximizable |
Ajoute à la barre de titre le bouton de maximization de la taille de la fenêtre Quand la boîte de dialogue est définie comme pouvant être maximizée, son état maximizé ou non est mémorisé dans les paramètres locaux du navigateur internet (local storage) et une barre de défilement est affichée si son contenu dépasse la hauteur maximale d'affichage. |
Exemple de définition : <div class="zdk-modal zdk-modal-maximizable" title="mytitle"> <!-- Content of the dialog... --> </div> |
Fermeture automatique
La boîte de dialogue zdkmodal
s'appuie sur la classe de style zdk-close-dialog
appliquée aux éléments de type BUTTON
qu'elle contient dans sa définition HTML, pour se refermer automatiquement au clic du bouton d'enregistrement des données saisies (bouton de type submit
et de classe zdk-bt-save
ou zdk-bt-yes
) ou au clic du bouton d'annulation (classe zdk-bt-cancel
ou zdk-bt-no
).
Exemple d'appel : <div class="zdk-modal" title="mytitle"> <form class='zdk-form' data-zdk-action="mycontroller:myaction"> <label>My label</label> <input name="myfield" maxlength="10" required> <button class="zdk-bt-save zdk-close-dialog" type="submit">Save</button> <button class="zdk-bt-cancel zdk-close-dialog" type="button">Cancel</button> </form> </div> |
Inputdate
Le composant graphique zdkinputdate
est un champ de saisie de date affichant également un calendrier pour assister l'utilisateur dans la sélection d'une date.
Il est constitué à la fois d'un champ de saisie PrimeUI Inputtext et du calendrier jQuery UI Datepicker.
Le calendrier n'est affiché que lorsque le champ de saisie de la date reçoit le focus.
La langue d'affichage du calendrier est la même que celle également affichée pour l'application (voir rubrique Gestion multilingue).
Instanciation automatique
La déclaration d'un élément HTML <input/>
de type date
à l'intérieur d'un formulaire zdkform suffit à instancier le composant InputDate.
Exemple d'appel :
<form class='zdk-form'> <label>My input date</label> <input type="date" name="my_date"> </form>
Options
Option | Description |
---|---|
regional |
Indique le code pays au format ISO 639-1 de la langue d'affichage de la date dans le composant graphique. Ce code pays peut être obtenu par un appel à la méthode JavaScript znetdk.getCurrentLanguage(). |
Exemple d'appel : $("input[name=my_date]").zdkinputdate({regional: znetdk.getCurrentLanguage()}); |
Méthodes
Méthode | Paramètres | Description |
---|---|---|
setCurrentDate |
difference [string ] |
Initialise le champ de saisie à la date courante si aucune valeur n'est spécifié en paramètre de la méthode.
En option, lorsque le paramètre difference est renseigné, la date initialisée est la date courante à laquelle est appliquée la différence de période spécifiée (par exemple "+15d", "+2m", "+1y"). |
Exemple d'appel : $("input[name=my_date]").zdkinputdate('setCurrentDate'); |
Méthode | Paramètres | Description |
---|---|---|
setW3CDate |
W3CstringDate [string ] |
Initialise le champ de saisie à partir de la valeur W3CstringDate renseignée en paramètre de la méthode au format W3C ('YYYY-MM-DD').La date du jour au format W3C peut être obtenue en PHP en appelant la méthode \General::getCurrentW3CDate(). |
Exemple d'appel : $("input[name=my_date]").zdkinputdate('setW3CDate','2015-06-29'); |
Méthode | Paramètres | Description |
---|---|---|
getW3CDate |
aucun | Renvoie la date actuellement contenue dans le champ de saisie de date au format W3C ('YYYY-MM-DD'). |
Exemple d'appel : var myW3Cdate = $("input[name=my_date]").zdkinputdate('getW3CDate'); |
Méthode | Paramètres | Description |
---|---|---|
checkDate |
aucun | Contrôle la validité du format de date saisie dans le champ. Retourne true si la date est valide autrement retourne la valeur false . |
Exemple d'appel : var isDateValid = $("input[name=my_date]").zdkinputdate('checkDate'); if (!isDateValid) { alert("The date you've typed in is invalid!"); } |
Inputhtml
Le composant graphique zdkinputhtml
est un champ de saisie multiligne qui supporte le formatage du texte en souligné, gras ou italique.
Il s'appuie sur la fonctionnalité HTML5 permettant de rendre le contenu d'une DIV
"éditable" (attribut contenteditable
).
Utilisez les raccourcis clavier suivants pour formater le texte :
Ctrl + B
pour le style Gras,
Ctrl + I
pour le style Italique
Ctrl + U
pour le style Souligné.
Instanciation automatique
Le champ de saisie formaté est instancié automatiquement à partir de la définition HTML d'une DIV
lorsqu'elle est déclarée à l'intérieur d'un formulaire zdkform avec la classe de style zdk-inputhtml
.
Exemple de définition :
<form class="zdk-form"> <div class="zdk-inputhtml" data-name="myhtmlinput"></div> </form>
Attributs HTML5
Attribut HTML5 | Description |
---|---|
data-name |
Indique le nom attribué au champ de saisie pour charger ou transmettre son contenu par l'intermédiaire du formulaire zdkform.
A l'appel de la méthode de formulaire init, si l'objet JavaScript passé en paramètre contient une propriété de même nom que celui indiqué pour l'attribut |
Attribut HTML5 | Description |
---|---|
data-required |
Indique que la saisie d'un texte est obligatoire pour pouvoir valider le formulaire zdkform dans lequel il a été déclaré. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-inputhtml" data-name="myhtmlinput" data-required="true"></div> </form> |
Attribut HTML5 | Description |
---|---|
data-disabled |
Désactive par défaut la saisie de texte dans le composant. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-inputhtml" data-name="myhtmlinput" data-disabled="true"></div> </form> |
Méthodes
Méthode | Paramètres | Description |
---|---|---|
setValue |
value [string ] |
Initialise le contenu du champ de saisie à partir de la chaîne texte renseignée dans la variable value . |
Exemple d'appel : $("#myinput").zdkinputhtml('setValue', 'My <b>formated</b> text...'); |
Méthode | Paramètres | Description |
---|---|---|
getValue |
aucun | Retourne le texte renseigné dans le champ de saisie formaté. |
Exemple d'appel : var text = $("#myinput").zdkinputhtml('getValue'); |
Méthode | Paramètres | Description |
---|---|---|
empty |
aucun | Vide le contenu du champ de saisie formaté. |
Exemple d'appel : $("#myinput").zdkinputhtml('empty'); |
Méthode | Paramètres | Description |
---|---|---|
isEmpty |
aucun | Retourne true si le champ de saisie est vide, autrement retourne false . |
Exemple d'appel : var isTextEmpty = $("#myinput").zdkinputhtml('isEmpty'); |
Méthode | Paramètres | Description |
---|---|---|
disable |
aucun | Désactive la modification du texte. |
Exemple d'appel : $("#myinput").zdkinputhtml('disable'); |
Méthode | Paramètres | Description |
---|---|---|
enable |
aucun | Active la modification du texte quand le composant a été désactivé. |
Exemple d'appel : $("#myinput").zdkinputhtml('enable'); |
Listbox
Le composant graphique zdklistbox
affiche une liste de choix de valeurs à sélection multiple.
Il est basé sur le composant graphique PrimeUI Listbox et présente comme fonctionnalité complémentaire, celle de pouvoir être initialisé et rafraîchi à partir d'un contrôleur applicatif PHP développé avec ZnetDK.
Pour sélectionner plusieurs choix, la propriété multiple
doit être précisée pour l'élément HTML <SELECT/>
et la touche Ctrl
du clavier doit être maintenue enfoncée.
Instanciation automatique
La liste de choix est instanciée automatiquement à partir de sa définition HTML lorsqu'elle est déclarée à l'intérieur d'un formulaire zdkform avec la classe de style zdk-listbox
.
Exemple d'appel :
<form class="zdk-form"> <select class="zdk-listbox" multiple></select> </form>
Attributs HTML5
Le contrôleur et l'action à invoquer pour charger le contenu de la liste de choix peuvent être directement déclarés en langage HTML sans avoir recours au langage Javascript.
Attribut HTML5 | Description |
---|---|
data-zdk-action |
Indique le nom du contrôleur et de l'action PHP à invoquer pour obtenir les données à charger dans la liste de choix. |
Exemple d'appel : <form class="zdk-form"> <select class="zdk-listbox" data-zdk-action="mycontroller:myaction" multiple> </select> </form> |
Options
Les options présentées ci-dessous s'ajoutent à celles disponibles en standard pour le composant PrimeUI Listbox.
Option | Description |
---|---|
controller |
Nom du contrôleur applicatif ZnetDK qui alimente en données la liste de choix. |
action |
Nom de l'action du contrôleur applicatif ZnetDK qui fournit les données à la liste de choix au format JSON. |
Exemple d'appel : $("#mylistbox").zdklistbox({ controller:'mycontroller', action:'myaction' }); |
Méthodes
Les méthodes de la liste de choix présentées ci-dessous s'ajoutent à celles du composant Listbox d'origine.
Méthode | Paramètres | Description |
---|---|---|
refresh |
keepSelection [boolean ] |
Force l'actualisation du contenu de la liste de choix par un nouvel appel AJAX au contrôleur applicatif en charge de fournir les données.
Le paramètre optionnel |
Exemple d'appel : $("#mylistbox").zdklistbox('refresh'); |
Méthode | Paramètres | Description |
---|---|---|
getSelectedItemValues |
aucun | Retourne sous la forme d'un tableau JavaScript, les valeurs des éléments sélectionnés dans la liste de choix.
Les valeurs retournées sont celles contenues dans l'attribut |
Exemple d'appel : var selectedValues = new Array(); selectedValues = $("#mylistbox").zdklistbox('getSelectedItemValues'); |
Méthode | Paramètres | Description |
---|---|---|
resetSelection |
aucun | Réinitialise la sélection de la liste de choix.
Si des options disposent de la propriété HTML |
Exemple d'appel : $("#mylistbox").zdklistbox('resetSelection'); |
Méthode | Paramètres | Description |
---|---|---|
selectItemsByValues |
selectedItemValues [Array ] |
Sélectionne les éléments de la liste de choix à partir du tableau de valeurs selectItemsByValues passé en paramètre de la méthode.
Les valeurs attendues dans le tableau passé en paramètre sont celles contenues dans l'attribut |
Exemple d'appel : var selectedValues = new Array(4,7,12); $("#mylistbox").zdklistbox('selectItemsByValues',selectedValues); |
Evènements
Les événements déclenchés par le composant Listbox
sont ceux décrits pour le composant PrimeUI Listbox, auxquels a été ajouté l'évènement ci-dessous :
Evénement | Description |
---|---|
dataloaded |
Evènement déclenché une fois que les éléments de la liste ont été chargés par un appel à une action de contrôleur PHP (voir les options controller et action et l'attribut HTML5 data-zdk-action). |
Exemple d'appel : $("#mylistbox").zdklistbox({ dataloaded: function() { alert('Data loaded!'); } }); |
Réponse JSON
Lorsque les options controller
et action
sont renseignées pour la liste de choix zdklistbox
, son contenu est alors chargé à partir des données au format JSON renvoyées par le contrôleur applicatif PHP développé spécifiquement pour ce besoin.
Le format de la réponse JSON renvoyée par le contrôleur doit respecter le format suivant :
Propriété JSON | Description |
---|---|
rows |
Tableau d'objets où chaque objet correspond à un élément de la liste de choix à afficher. Les propriétés de chaque objet du tableau sont :
|
success |
Indicateur de réussite d'interrogation des données côté serveur par le contrôleur applicatif.
La valeur true indique que les données ont été retournées par le contrôleur avec succès.
La valeur false en revanche indique qu'une erreur est survenue dans le contrôleur pour constituer les données demandées par la liste de choix. |
summary |
Titre d'entête du message d'erreur à afficher à l'utilisateur lorsque la propriété JSON success est retournée avec la valeur false . |
msg |
Message d'erreur à afficher à l'utilisateur lorsque la propriété JSON success est retournée avec la valeur false . |
Exemple de réponse JSON : {"rows":[ {"label":"Accounting","value":"4"}, {"label":"Authorizations","value":"2"}, {"label":"Marketing","value":"7"}, {"label":"Read only","value":"10"} ], "success":true} |
Ci-dessous un exemple de contrôleur applicatif PHP développé en ZnetDK dont l'action myaction
retourne des éléments à charger au format JSON dans une liste de choix zdklistbox
.
Exemple de contrôleur applicatif ZnetDK :
<?php namespace app\controller; class MyController extends \AppController { static protected function action_myaction() { $items = array(); $items[] = array('label' => 'Accounting', 'value' => 4); $items[] = array('label' => 'Authorizations', 'value' => 2); $items[] = array('label' => 'Marketing', 'value' => 7); $items[] = array('label' => 'Read only', 'value' => 10); // JSON Response $response = new \Response(); $response->rows = $items; $response->success = TRUE; return $response; } }
Dropdown
Le composant graphique zdkdropdown
affiche une liste déroulante de choix d'une seule valeur.
Il est basé sur le composant graphique PrimeUI Dropdown et présente comme fonctionnalité complémentaire, celle de pouvoir être initialisé et rafraîchi à partir d'un contrôleur applicatif PHP développé avec ZnetDK.
Instanciation automatique
La liste déroulante est instanciée automatiquement à partir de sa définition HTML lorsqu'elle est déclarée à l'intérieur d'un formulaire zdkform avec la classe de style zdk-dropdown
.
Exemple d'appel :
<form class="zdk-form"> <select class="zdk-dropdown"> <option value="">Select a value</option> <option value="1">Choice 1</option> <option value="2">Choice 2</option> <option value="3">Choice 3</option> </select> </form>
Attributs HTML5
Le contrôleur et l'action à invoquer pour charger le contenu de la liste déroulante peuvent être directement déclarés en langage HTML sans avoir recours au langage Javascript.
Attribut HTML5 | Description |
---|---|
data-zdk-action |
Indique le nom du contrôleur et de l'action PHP à invoquer pour obtenir les données à charger dans la liste déroulante. |
Exemple de déclaration : <form class="zdk-form"> <select class="zdk-dropdown" data-zdk-action="mycontroller:myaction"></select> </form> |
De même, le choix par défaut d'invitation à la sélection d'une valeur peut également être indiqué directement en HTML.
Attribut HTML5 | Description |
---|---|
data-zdk-noselection |
Indique le nom de l'option à ajouter en début de liste déroulante pour inviter l'utilisateur à sélectionner une valeur.
Cet attribut initialise l'option noSelectionOption. La valeur |
Exemple de déclaration : <form class="zdk-form"> <select class="zdk-dropdown" data-zdk-noselection="Select a value..."></select> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-value |
Indique la valeur à sélectionner par défaut dans la liste déroulante lorsque son contenu est chargé à partir d'une action de contrôleur.
Cet attribut initialise l'option defaultSelectedValue. |
Exemple de déclaration : <form class="zdk-form"> <select class="zdk-dropdown" data-zdk-value="fr" data-zdk-action="mycontroller:data"> </select> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-loadoncreate |
Quand renseigné à la valeur 'no ', le contenu de la liste déroulante n'est pas chargé à partir de l'action de contrôleur distante lorsque le composant est instancié.A la place, son contenu est chargé pour la première fois à l'appel des méthodes refresh ou selectValue. |
Exemple de déclaration : <form class="zdk-form"> <select class="zdk-dropdown" data-zdk-loadoncreate="no" data-zdk-action="mycontroller:data"> </select> </form> |
Options
Les options présentées ci-dessous s'ajoutent à celles disponibles en standard pour le composant PrimeUI Dropdown.
Option | Description |
---|---|
controller |
Nom du contrôleur applicatif ZnetDK qui alimente en données la liste déroulante. |
action |
Nom de l'action du contrôleur applicatif ZnetDK qui fournit les données à la liste déroulante au format JSON. |
Exemple d'appel : $("#mydropdown").zdkdropdown({ controller:'mycontroller', action:'myaction' }); |
Option | Description |
---|---|
noSelectionOption |
Nom de l'option à ajouter en début de liste déroulante pour inviter l'utilisateur à sélectionner une valeur. |
Exemple d'appel : $("#mydropdown").zdkdropdown({ noSelectionOption:'Select a value...' }); |
Option | Description |
---|---|
defaultSelectedValue |
Définit la valeur par défaut à sélectionner dans la liste déroulante quand son contenu est chargé à partir d'une action de contrôleur. |
Exemple d'appel : $("#mydropdown").zdkdropdown({ defaultSelectedValue:'fr' }); |
Option | Description |
---|---|
loadOnCreate |
Quand renseigné à la valeur 'no ', le contenu de la liste déroulante n'est pas chargé à partir de l'action de contrôleur distante lorsque le composant est instancié.A la place, son contenu est chargé pour la première fois à l'appel des méthodes refresh ou selectValue. |
Exemple d'appel : $("#mydropdown").zdkdropdown({ loadOnCreate:'no' }); |
Méthodes
Les méthodes de la liste déroulante présentées ci-dessous s'ajoutent à celles du composant Dropdown d'origine.
Méthode | Paramètres | Description |
---|---|---|
refresh |
keepSelection [boolean ] |
Force l'actualisation du contenu de la liste déroulante par un nouvel appel AJAX au contrôleur applicatif en charge de fournir les données.
Le paramètre optionnel |
Exemple d'appel : $("#mydropdown").zdkdropdown('refresh'); |
Méthode | Paramètres | Description |
---|---|---|
resetSelection |
aucun | Réinitialise la sélection de la liste déroulante.
Si une des options dispose de la propriété HTML |
Exemple d'appel : $("#mydropdown").zdkdropdown('resetSelection'); |
Méthode | Paramètres | Description |
---|---|---|
getDataOfSelectedValue |
aucun | Retoune les données de l'élément courant sélectionné dans la liste déroulante.
Les données sont retournées sous la forme d'un objet JavaScript. Autrement retourne la valeur |
Exemple d'appel : var selectedData = $("#mydropdown").zdkdropdown('getDataOfSelectedValue'); if (selectedData) { alert(selectedData.city); } |
Evènements
Les événements déclenchés par le composant Dropdown
sont ceux décrits pour le composant PrimeUI Dropdown, auxquels a été ajouté l'évènement ci-dessous :
Evénement | Description |
---|---|
dataloaded |
Evènement déclenché une fois que les éléments de la liste déroulante ont été chargés par un appel à une action de contrôleur PHP (voir les options controller et action et l'attribut HTML5 data-zdk-action). |
Exemple d'appel : $("#mydropdown").zdkdropdown({ dataloaded: function() { alert('Data loaded!'); } }); |
Réponse JSON
Lorsque les options controller
et action
sont renseignées pour la liste de choix zdkdropdown
, son contenu est alors chargé à partir des données au format JSON renvoyées par le contrôleur applicatif PHP développé spécifiquement pour ce besoin.
Le format de la réponse JSON renvoyée par le contrôleur doit respecter le format suivant :
Propriété JSON | Description |
---|---|
rows |
Tableau d'objets où chaque objet correspond à un élément de la liste déroulante à afficher. Les propriétés de chaque objet du tableau sont :
|
success |
Indicateur de réussite d'interrogation des données côté serveur par le contrôleur applicatif.
La valeur true indique que les données ont été retournées par le contrôleur avec succès.
La valeur false en revanche indique qu'une erreur est survenue dans le contrôleur pour constituer les données demandées par la liste déroulante. |
summary |
Titre d'entête du message d'erreur à afficher à l'utilisateur lorsque la propriété JSON success est retournée avec la valeur false . |
msg |
Message d'erreur à afficher à l'utilisateur lorsque la propriété JSON success est retournée avec la valeur false . |
Exemple de réponse JSON : {"rows":[ {"label":"Option 1","value":"1"}, {"label":"Option 2","value":"2"}, {"label":"Option 3","value":"3"}, {"label":"Option 4","value":"4"} ], "success":true} |
Ci-dessous un exemple de contrôleur applicatif PHP développé en ZnetDK dont l'action myaction
retourne des éléments à charger au format JSON dans une liste déroulante zdkdropdown
.
Exemple de contrôleur applicatif ZnetDK :
<?php namespace app\controller; class MyController extends \AppController { static protected function action_myaction() { $items = array(); $items[] = array('label' => 'Option 1', 'value' => 1); $items[] = array('label' => 'Option 2', 'value' => 2); $items[] = array('label' => 'Option 3', 'value' => 3); $items[] = array('label' => 'Option 4', 'value' => 4); // JSON Response $response = new \Response(); $response->rows = $items; $response->success = TRUE; return $response; } }
Tree
Le composant graphique zdktree
affiche une liste hiérarchique de noeuds d'arbre avec sélection multiple.
Il est basé sur le composant graphique PrimeUI Tree et présente comme fonctionnalité complémentaire, celle de pouvoir être initialisé à partir d'un contrôleur applicatif PHP développé avec ZnetDK.
Pour sélectionner plusieurs noeuds de l'arbre, la touche Ctrl
du clavier doit être maintenue enfoncée.
Attributs HTML5
Attribut HTML5 | Description |
---|---|
data-name |
Indique le nom du paramètre POST dans lequel sont communiqués les identifiants de noeux sélectionnés dans l'arbre.
Si la déclaration HTML de l'arbre est effectuée à l'intérieur d'un formulaire zdkform, alors l'attribut Le nom renseigné pour l'attibut |
Exemple d'appel : <div id="mytree" data-name="node_ids[]"></div> |
Options
Les options présentées ci-dessous s'ajoutent à celles disponibles en standard pour le composant PrimeUI Tree.
Option | Description |
---|---|
controller |
Nom du contrôleur applicatif ZnetDK qui alimente en données l'arbre. |
action |
Nom de l'action du contrôleur applicatif ZnetDK qui fournit les données à l'arbre au format JSON. |
Exemple d'appel : $("#mytree").zdktree({ controller:'mycontroller', action:'myaction' }); |
|
autoSelectFamily |
Indicateur booléen permettant d'activer la sélection d'une famille complète de noeuds de l'arbre au clic de souris d'un noeud.
Par défaut, le clic d'un noeud de l'arbre ne sélectionne que le noeud cliqué. |
Exemple d'appel : $("#mytree").zdktree({ autoSelectFamily:true }); |
Méthodes
Les méthodes de l'arbre présentées ci-dessous s'ajoutent à celles du composant Tree d'origine.
Méthode | Paramètres | Description |
---|---|---|
getSelection |
aucun | Retourne dans un tableau les noeuds d'arbre sélectionnés. Chaque noeud d'arbre est un objet JavaScript constitué des propriétés suivantes :
|
Exemple d'appel : var selectedNodes = new Array(); selectedNodes = $("#mytree").zdktree('getSelection'); /* Si l'attribut data-name de l'arbre vaut 'node_ids[]' et que les identifiants de noeux sélectionnés sont 7 et 12, le tableau retourné par la méthode est : [{name: 'node_ids[]',value: 7},{name: 'node_ids[]',value: 12}] */ |
Méthode | Paramètres | Description |
---|---|---|
selectNodes |
treeNodes [Array ] |
Sélectionne les noeuds de l'arbre à partir du tableau d'identifiants de noeud passé en paramètre. |
Exemple d'appel : var selectedNodes = new Array(4,7,12); $("#mytree").zdktree('selectNodes',selectedNodes); |
Evènements
Les événements déclenchés par le composant Tree
sont ceux décrits pour le composant PrimeUI Tree, auxquels a été ajouté l'évènement ci-dessous :
Evénement | Description |
---|---|
dataloaded |
Evènement déclenché une fois que les noeuds de l'arbre ont été chargés par un appel à une action de contrôleur PHP (voir les options controller et action). |
Exemple d'appel : $("#mytree").zdktree({ dataloaded: function() { alert('Data loaded!'); } }); |
Réponse JSON
Lorsque les options controller
et action
sont renseignées pour l'arbre zdktree
, son contenu est alors chargé à partir des données au format JSON renvoyées par le contrôleur applicatif PHP développé spécifiquement pour ce besoin.
Le format de la réponse JSON renvoyée par le contrôleur doit respecter le format suivant :
Propriété JSON | Description |
---|---|
treenodes |
Tableau multidimensionnel d'objets où chaque objet correspond à un noeud de l'arbre à afficher. Les propriétés de chaque objet du tableau sont :
|
success |
Indicateur de réussite d'interrogation des données côté serveur par le contrôleur applicatif.
La valeur true indique que les données ont été retournées par le contrôleur avec succès.
La valeur false en revanche indique qu'une erreur est survenue dans le contrôleur pour constituer les données demandées par l'arbre. |
summary |
Titre d'entête du message d'erreur à afficher à l'utilisateur lorsque la propriété JSON success est retournée avec la valeur false . |
msg |
Message d'erreur à afficher à l'utilisateur lorsque la propriété JSON success est retournée avec la valeur false . |
Exemple de réponse JSON : { "success":true, "treenodes":[ {"label":"Home","data":"home","children":[]}, {"label":"Customize","data":"custom","children":[ {"label":"Themes","data":"themes","children":[]}, {"label":"Example","data":"example","children":[]} ]}, {"label":"Authorizations","data":"authoriz","children":[ {"label":"Users","data":"users","children":[]}, {"label":"Profiles","data":"profiles","children":[]} ]} ] } |
Ci-dessous un exemple de contrôleur applicatif PHP développé en ZnetDK dont l'action myaction
retourne les noeuds à charger au format JSON dans l'arbre zdktree
.
Exemple de contrôleur applicatif ZnetDK :
<?php namespace app\controller; class MyController extends \AppController { static protected function action_myaction() { $nodes = array(); $nodes[] = array('label' => 'Home', 'data' => 'home', 'children' => array()); $nodes[] = array('label' => 'Customize', 'data' => 'custom', 'children' => array( array('label' => 'Themes', 'data' => 'themes', 'children' => array()), array('label' => 'Example', 'data' => 'example', 'children' => array()) )); $nodes[] = array('label' => 'Authorizations', 'data' => 'authoriz', 'children' => array( array('label' => 'Users', 'data' => 'users', 'children' => array()), array('label' => 'Profiles', 'data' => 'profiles', 'children' => array()) )); // JSON Response $response = new \Response(); $response->treenodes = $nodes; $response->success = TRUE; return $response; } }
RadioButtonGroup
Le composant graphique zdkradiobuttongroup
simplifie la déclaration et le positionnement graphique des boutons radio Radiobutton.
Les boutons radio peuvent être alignés horizontalement ou verticalement, sur une ou plusieurs lignes ou colonnes, à partir d'une déclaration HTML minimale.
Instanciation automatique
Le groupe de boutons radio est instancié automatiquement après chargement de la vue, à partir d'un élement HTML <DIV>
dont la classe de style est définie à la valeur zdk-radiobuttongroup
, à condition qu'il soit déclaré à l'intérieur d'un formulaire zdkform
.
Exemple d'appel :
<form class="zdk-form"> <div class="zdk-radiobuttongroup" data-name="myradiogroup"> <input type="radio" value="1"/> <label>Option 1</label> <input type="radio" value="2"/> <label>Option 2</label> </div> </form>
Attributs HTML5
Attribut HTML5 | Description |
---|---|
data-name |
Indique le nom du groupe de boutons radio à partir duquel peut être interrogée la valeur du bouton radio sélectionné (attribut HTML value de l'élément INPUT ).
Lorsque le formulaire |
Positionnement des boutons radio
Les boutons radio déclarés dans un groupe zdkradiobuttongroup
sont alignés par défaut horizontalement et sur une seule ligne.
Pour un alignement vertical des boutons radio sur une seule colonne, chaque couple d'éléments HTML INPUT
et LABEL
doit être séparé d'un élément <br>
.
<form class="zdk-form"> <div class="zdk-radiobuttongroup" data-name="myradiogroup"> <input type="radio" value="1"/> <label>Option 1</label> <br> <input type="radio" value="2"/> <label>Option 2</label> <br> <input type="radio" value="3"/> <label>Option 3</label> </div> </form>
Pour un alignement des boutons radios par exemple sur 2 colonnes, le principe est le même et consiste à insérer l'élément <br>
après chaque insertion de deux boutons radio.
<form class="zdk-form"> <div class="zdk-radiobuttongroup" data-name="myradiogroup"> <input type="radio" value="1"/> <label>Option 1</label> <input type="radio" value="2"/> <label>Option 2</label> <br> <input type="radio" value="3"/> <label>Option 3</label> <input type="radio" value="4"/> <label>Option 4</label> <br> <input type="radio" value="5"/> <label>Option 5</label> <input type="radio" value="6"/> <label>Option 6</label> </div> </form>
Méthodes
Méthode | Paramètres | Description |
---|---|---|
resetSelection |
aucun | Réinitialise la sélection des boutons radio du groupe.
Si un des boutons radio dispose de la propriété HTML |
Exemple d'appel : $("#myrbgroup").zdkradiobuttongroup('resetSelection'); |
AutoComplete
Le composant graphique zdkautocomplete
, dérivé du widget PrimeUI AutoComplete, peut être directement branché à un contrôleur applicatif ZnetDK développé côté serveur, en vue de fournir les suggestions en rapport avec le début de texte saisi dans le composant.
Instanciation automatique
L'ajout de la classe de style zdk-autocomplete
à un élément HTML INPUT
de type text
permet d'instancier le composant zdkautocomplete
lorsqu'il est déclaré dans un formulaire zdkform.
Exemple d'appel :
<form class="zdk-form"> <input type="text" class="zdk-autocomplete"> </form>
Attributs HTML5
Les attributs ci-après permettent d'indiquer directement en HTML5 les options qui s'appliquent au composant, sans avoir recours au langage Javascript.
Attribut HTML5 | Description |
---|---|
data-zdk-action |
Indique le nom du contrôleur et de l'action PHP à invoquer pour obtenir les suggestions à proposer à l'utilisateur au fur et à mesure de la saisie de caractères. |
Exemple d'appel : <form class="zdk-form"> <input type="text" class="zdk-autocomplete" data-zdk-action="mycontroller:myaction"> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-autowidth |
Ajuste automatiquement la largeur du paneau d'affichage des suggestions à son contenu. La valeur attendue est le texte 'true' |
Exemple d'appel : <form class="zdk-form"> <input type="text" class="zdk-autocomplete" data-zdk-action="mycontroller:myaction" data-zdk-autowidth="true"> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-delay |
Indique le délai d'attente en millisecondes avant l'affichage des suggestions. |
Exemple d'appel : <form class="zdk-form"> <input type="text" class="zdk-autocomplete" data-zdk-action="mycontroller:myaction" data-zdk-delay="400"> </form> |
Options
Les options présentées ci-dessous s'ajoutent à celles disponibles en standard pour le composant PrimeUI AutoComplete.
Option | Description |
---|---|
controller |
Nom du contrôleur applicatif ZnetDK qui fournit les suggestions. |
action |
Nom de l'action du contrôleur applicatif ZnetDK qui fournit les suggestions. |
Exemple d'appel : $("#myautocomplete").zdkautocomplete({ controller:'mycontroller', action:'myaction' }); |
|
autoWidth |
Ajuste automatiquement le paneau d'affichage des suggestions quand sa valeur est renseignée à true . |
Exemple d'appel : $("#myautocomplete").zdkautocomplete({ controller:'mycontroller', action:'myaction', autoWidth: true }); |
|
criteria |
Limite les suggestions proposées au(x) critère(s) renseigné(s). Le ou les critères sont transmis à l'action de contrôleur PHP via le paramètre POST criteria .
|
Exemple d'appel : $("#myautocomplete").zdkautocomplete({ controller:'mycontroller', action:'myaction', criteria: JSON.stringify({criterium1: '18', criterium2: 'ABC'}) }); |
Méthodes
Les méthodes du composant Autocomplete
présentées ci-dessous s'ajoutent à celles du composant PrimeUI Autocomplete d'origine.
Méthode | Paramètres | Description |
---|---|---|
enable |
aucun | Active le composant Autocomplete s'il a été précédemment désactivé. |
Exemple d'appel : $('#myautocomplete').zdkautocomplete('enable'); |
||
disable |
aucun | Désactive le composant Autocomplete si son état courant est activé.Une fois désactivé, toute entrée clavier est ignorée. |
Exemple d'appel : $('#myautocomplete').zdkautocomplete('disable'); |
||
suspend |
isSuspended [booléen] |
Désactive le mécanisme d'autocompletion du composant Autocomplete .
Une fois l'autocompletion suspendue (paramètre isSuspended à true ), plus aucune requête AJAX n'est envoyée au serveur web pendant la saisie. |
Exemple d'appel : $('#myautocomplete').zdkautocomplete('suspend',true); |
||
setCriteria |
criteria [string] |
Transmet à l'action de contrôleur un ou plusieurs critères sous la forme d'une chaîne texte.
Pour transmettre plusieurs critères contenu dans un objet JavaScript, passer l'objet au format texte après l'avoir transfomé par un appel à la function JSON.stringify() . L'action de contrôleur destinataire reçoit la ou les valeurs dans le paramètre POST nommé criteria . L'objet JavaScript au format texte peut alors être transformé en tableau PHP par un appel à la fonction json_decode() . |
Exemple d'appel : $('#myautocomplete').zdkautocomplete('setCriteria','blue'); |
Paramètre POST
Le paramètre POST transmis au contrôleur applicatif pour obtenir les suggestions est présenté dans le tableau ci-dessous :
Paramètre POST | Description |
---|---|
query |
Texte saisi dans le composant graphique et pour lequel des suggestions sont attendues. |
Ce paramètre POST peut être lu dans le contrôleur applicatif développé en ZnetDK à l'aide de l'objet PHP \Request comme illustré dans l'exemple ci-dessous :
Exemple de contrôleur applicatif ZnetDK :
<?php namespace app\controller; class MyController extends \AppController { static protected function action_myaction() { $request = new \Request(); $keyword = $request->query; /* Construct the list of suggestions */ //... /* Return suggestions in JSON format */ //... } }
Réponse JSON
La réponse retournée au format JSON par le contrôleur applicatif doit retourner un tableau d'objets disposant des propriétés label
et value
comme cela est illustré dans l'exemple ci-dessous.
Exemple de réponse JSON :
[{"value":"be","label":"Belarusian"}, {"value":"bn","label":"Bengali"}, {"value":"bo","label":"Tibetan"}, {"value":"nd","label":"Ndebele, North; North Ndebele"}, {"value":"nr","label":"Ndebele, South; South Ndebele"}, {"value":"uz","label":"Uzbek"}]
InputFile
Le composant graphique zdkinputfile
permet de sélectionner un fichier en local depuis le navigateur internet et de le télécharger sur le serveur web.
Il intègre en option l'affichage d'une miniature de l'image sélectionnée.
Le fichier sélectionné peut être facilement retiré à l'aide d'un bouton affiché à cet effet.
Le libellé, l'icône et l'infobulle du bouton de sélection de fichier sont personnalisables.
L'intitulé affiché quand aucun fichier n'est sélectionné est personnalisable.
Instanciation automatique
Pour instancier automatiquement un composant zdkinputfile
, ajoutez un élément HTML INPUT
de type file
à l'intérieur d'un formulaire zdkform.
Exemple de définition :
<form class="zdk-form"> <input type="file" name="myinputfile"> </form>
Attributs HTML5
Les attributs ci-après permettent d'indiquer directement en HTML5 les options qui s'appliquent au composant, sans avoir recours au langage Javascript.
Attribut HTML5 | Description |
---|---|
data-zdk-action |
Indique le nom du contrôleur et de l'action PHP auxquels adresser le fichier sélectionné pour téléchargement. |
Exemple de définition : <form class="zdk-form"> <input type="file" data-zdk-action="mycontroller:myaction"> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-selbuttonlabel |
Indique l'intitulé du bouton de sélection de fichier. |
Exemple de définition : <form class="zdk-form"> <input type="file" data-zdk-selbuttonlabel="Choose..."> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-nofilelabel |
Indique l'intitulé à afficher lorsqu'aucun fichier n'est sélectionné. |
Exemple de définition : <form class="zdk-form"> <input type="file" data-zdk-nofilelabel="No file selected!"> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-icon |
Définit l'icône à afficher sur le bouton de sélection d'un fichier. |
Exemple de définition : <form class="zdk-form"> <input type="file" data-zdk-icon="ui-icon-folder-open"> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-photoreductpercent |
Définit le pourcentage de réduction à appliquer à la photo sélectionnée.
Disponible à partir de la version 2.9 de ZnetDK. |
Exemple de définition : <form class="zdk-form"> <input type="file" data-zdk-photoreductpercent="50"> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-minphotosizetoreduct |
Définit le nombre minimum de pixels de la largeur ou hauteur de la photo sélectionnée pour que la réduction soit effectuée.
Disponible à partir de la version 2.9 de ZnetDK. |
Exemple de définition : <form class="zdk-form"> <input type="file" data-zdk-minphotosizetoreduct="1200"> </form> |
Attribut HTML | Description |
---|---|
title |
Définit le texte à afficher dans l'infobulle affichée au survol du bouton de sélection d'un fichier. |
Exemple de définition : <form class="zdk-form"> <input type="file" title="Select a file..."> </form> |
Classes de style applicables
Le composant zdkinputfile
s'appuie sur des classes de style complémentaires pour étendre ses fonctionnalités comme décrit ci-dessous :
Classe de style | Description |
---|---|
zdk-nosubmit |
Désactive le téléchargement du fichier sélectionné à la validation du formulaire. Ainsi, fichier sélectionné est téléchargé sous le contrôle d'un script JavaScript par appel de la méthode upload. |
Exemple de définition : <form class="zdk-form"> <input type="file" class="zdk-nosubmit"> </form> |
Classe de style | Description |
---|---|
zdk-nothumbnail |
Masque la vignette de l'image affichée une fois son fichier sélectionné. Par défaut, la vignette de l'image sélectionnée est affiché si cette classe n'est pas définie. |
Exemple de définition : <form class="zdk-form"> <input type="file" class="zdk-nothumbnail"> </form> |
Classe de style | Description |
---|---|
zdk-autoupload |
Quand cette classe est renseignée, le téléchargement du fichier est déclenché automatiquement quand un fichier est sélectionné. |
Exemple de définition : <form class="zdk-form"> <input type="file" class="zdk-autoupload"> </form> |
Options
Option | Description |
---|---|
controller |
Nom du contrôleur applicatif ZnetDK auquel doit être envoyé le fichier sélectionné. |
action |
Nom de l'action du contrôleur applicatif ZnetDK prenant en charge le fichier téléchargé. |
Exemple d'appel : $("#myinputfile").zdkinputfile({ controller:'mycontroller', action:'myaction' }); |
Option | Description |
---|---|
showThumbnail |
Indique si la miniature du fichier sélectionné doit être affichée ou non. Par défaut, cette option est initialisée à true et la miniature est affichée. |
Exemple d'appel : $("#myinputfile").zdkinputfile({ showThumbnail:false /* No thumbnail displayed */ }); |
Option | Description |
---|---|
selectButtonLabel |
Indique l'intitulé du bouton de sélection de fichier. |
Exemple d'appel : $("#myinputfile").zdkinputfile({ selectButtonLabel:'Choose...' }); |
Option | Description |
---|---|
selectButtonIcon |
Indique l'icône à afficher sur le bouton de sélection de fichier. |
Exemple d'appel : $("#myinputfile").zdkinputfile({ selectButtonIcon:'ui-icon-image' }); |
Option | Description |
---|---|
noFileLabel |
Indique l'intitulé à afficher lorsqu'aucun fichier n'est sélectionné. |
Exemple d'appel : $("#myinputfile").zdkinputfile({ noFileLabel:'no file selected!' }); |
Option | Description |
---|---|
photoReductionPercent |
Indique le pourcentage de réduction si le fichier sélectionné est une photo.
Disponible à partir de la version 2.9 de ZnetDK. |
Exemple d'appel : $("#myinputfile").zdkinputfile({ photoReductionPercent: 50 }); |
Option | Description |
---|---|
minPhotoSizeForReduction |
Indique la largeur ou hauteur minimale en pixels de la photo sélectionnée pour que la réduction soit effectuée.
Disponible à partir de la version 2.9 de ZnetDK. |
Exemple d'appel : $("#myinputfile").zdkinputfile({ minPhotoSizeForReduction: 1200 }); |
Méthodes
Méthode | Paramètres | Description |
---|---|---|
getFileName |
aucun | Retourne le nom du fichier sélectionné. |
Exemple d'appel : var fileName = $("#myinputfile").zdkinputfile('getFileName'); |
Méthode | Paramètres | Description |
---|---|---|
getFileSize |
aucun | Retourne la taille en octets du fichier sélectionné. |
Exemple d'appel : var fileSize = $("#myinputfile").zdkinputfile('getFileSize'); |
Méthode | Paramètres | Description |
---|---|---|
getFileType |
aucun | Retourne le type de fichier sélectionné. |
Exemple d'appel : var fileType = $("#myinputfile").zdkinputfile('getFileType'); |
Méthode | Paramètres | Description |
---|---|---|
isFileSelected |
aucun | Evalue si un fichier a été sélectionné ou non. Retourne true si un fichier a été selectionné, false autrement. |
Exemple d'appel : if ($("#myinputfile").zdkinputfile('isFileSelected')) { alert('A file has been choosen.'); } else { alert('No file selected!'); } |
Méthode | Paramètres | Description |
---|---|---|
upload |
callback [function ] |
Télécharge le fichier sélectionné sur le serveur web et invoque l'action de contrôleur spécifiée (voir options controller et action du composant) pour sa prise en charge.
En option, la fonction |
Exemple d'appel : $("#myinputfile").zdkinputfile('upload', function(response) { if (response.success) { alert('Upload has succeeded.'); } else { alert('Upload has failed!'); } }); |
Méthode | Paramètres | Description |
---|---|---|
reset |
aucun | Réinitialise le composant zdkinputfile en retirant tout fichier sélectionné. |
Exemple d'appel : $("#myinputfile").zdkinputfile('reset'); |
Méthode | Paramètres | Description |
---|---|---|
setFocus |
aucun | Donne le focus au bouton de sélection de fichier du composant. |
Exemple d'appel : $("#myinputfile").zdkinputfile('setFocus'); |
Méthode | Paramètres | Description |
---|---|---|
setUploadedFile |
fileInfos [Object ] |
Initialise l'affichage du composant à partir des données transmises en paramètre dans l'objet JavaScript fileInfos constitué des attributs suivants :
|
Exemple d'appel : $("#myinputfile").zdkinputfile('setUploadedFile', { url: '/znetdk/?control=zdkedocctrl&action=download&id=28', mimeType: 'image/png', fileName: 'mypicture.png' }); |
Evénements
Les événements déclenchés par le composant Inputfile
sont les suivants :
Evénement | Description |
---|---|
reset |
Evènement déclenché lorque la sélection courante d'un fichier est supprimée par le clic du bouton de suppression de la sélection. |
Exemple d'appel : $("#myinputfile").zdkinputfile({ reset: function() { alert('Reset event catched!'); } }); |
Multiupload
Le composant graphique zdkmultiupload
permet de sélectionner plusieurs fichiers en local depuis le navigateur internet et de les télécharger sur le serveur web.
Les fichiers sélectionnés sont affichés en ligne.
Un clic sur la croix rouge située à droite du nom de fichier permet de retirer le fichier de la sélection.
Instanciation automatique
Pour instancier automatiquement un composant zdkmultiupload
, ajoutez un élément HTML DIV
à l'intérieur d'un formulaire zdkform avec la classe de style zdk-multiupload
.
Exemple de définition :
<form class="zdk-form"> <div class="zdk-multiupload"></div> </form>
Attributs HTML5
Les attributs ci-après permettent d'indiquer directement en HTML5 les options qui s'appliquent au composant, sans avoir recours au langage Javascript.
Attribut HTML5 | Description |
---|---|
data-zdk-action |
Indique le nom du contrôleur et de l'action PHP auxquels adresser les fichiers sélectionnés pour téléchargement. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-multiupload" data-zdk-action="mycontroller:myaction"></div> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-selbuttonlabel |
Indique le libellé du bouton de sélection de fichiers. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-multiupload" data-zdk-selbuttonlabel="Attach..."></div> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-icon |
Indique le nom de l'icône jQueryUI ou FontAwesome à afficher sur le bouton de sélection de fichiers. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-multiupload" data-zdk-icon="fa-paperclip"></div> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-accept |
Indique le type MIME des fichiers pouvant être sélectionnés. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-multiupload" data-zdk-accept=".pdf"></div> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-photoreductpercent |
Définit le pourcentage de réduction à appliquer à la photo sélectionnée.
Disponible à partir de la version 2.9 de ZnetDK. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-multiupload" data-zdk-photoreductpercent="50"></div> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-minphotosizetoreduct |
Définit le nombre minimum de pixels de la largeur ou hauteur de la photo sélectionnée pour que la réduction soit effectuée.
Disponible à partir de la version 2.9 de ZnetDK. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-multiupload" data-zdk-minphotosizetoreduct="1200"></div> </form> |
Attribut HTML5 | Description |
---|---|
data-required |
Indique que la sélection d'au moins un fichier est obligatoire. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-multiupload" data-required="true"></div> </form> |
Attribut HTML5 | Description |
---|---|
data-name |
Indique le nom de la variable POST à travers laquelle les fichiers sélectionnés sont envoyés au contrôleur PHP. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-multiupload" data-name="my_files"></div> </form> |
Attribut HTML5 | Description |
---|---|
title |
Indique l'intitulé à afficher sous la forme d'une info-bulle au survol du bouton de sélection de fichiers. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-multiupload" title="Attach a new file"></div> </form> |
Options
Dans le cas d'une instanciation manuelle du composant graphique, ses caractéristiques peuvent être définies à travers les options ci-dessous.
Option | Description |
---|---|
controller |
Nom du contrôleur applicatif ZnetDK vers lequel doivent être envoyés les fichiers sélectionnés. |
action |
Nom de l'action du contrôleur applicatif ZnetDK prenant en charge les fichiers téléchargés. |
Exemple d'appel : $("#mywidget").zdkmultiupload({ controller:'mycontroller', action:'myaction' }); |
Option | Description |
---|---|
selectButtonLabel |
Indique le libellé du bouton de sélection de fichiers. |
Exemple d'appel : $("#mywidget").zdkmultiupload({ selectButtonLabel:'Attach...' }); |
Option | Description |
---|---|
selectButtonIcon |
Indique le nom de l'icône jQueryUI ou FontAwesome à afficher sur le bouton de sélection de fichiers. |
Exemple d'appel : $("#mywidget").zdkmultiupload({ selectButtonIcon:'fa-paperclip' }); |
Option | Description |
---|---|
selectButtonTooltip |
Indique l'intitulé à afficher sous la forme d'une info-bulle au survol du bouton de sélection de fichiers. |
Exemple d'appel : $("#mywidget").zdkmultiupload({ selectButtonTooltip:'Attach a new file' }); |
Option | Description |
---|---|
inputNameAttribute |
Indique le nom de la variable POST à travers laquelle les fichiers sélectionnés sont envoyés au contrôleur PHP. |
Exemple d'appel : $("#mywidget").zdkmultiupload({ inputNameAttribute:'my_files' }); |
Option | Description |
---|---|
acceptedFiles |
Indique le type MIME des fichiers pouvant être sélectionnés. |
Exemple d'appel : $("#mywidget").zdkmultiupload({ acceptedFiles: '.pdf' }); |
Option | Description |
---|---|
photoReductionPercent |
Indique le pourcentage de réduction si le fichier sélectionné est une photo. |
Exemple d'appel : $("#mywidget").zdkmultiupload({ photoReductionPercent: 50 }); |
Option | Description |
---|---|
minPhotoSizeForReduction |
Indique la largeur ou hauteur minimale en pixels de la photo sélectionnée pour que la réduction soit effectuée. |
Exemple d'appel : $("#mywidget").zdkmultiupload({ minPhotoSizeForReduction: 1200 }); |
Méthodes
Méthode | Paramètres | Description |
---|---|---|
disable |
aucun | Désactive le composant. |
Exemple d'appel : $("#mywidget").zdkmultiupload('disable'); |
Méthode | Paramètres | Description |
---|---|---|
enable |
aucun | Active le composant. |
Exemple d'appel : $("#mywidget").zdkmultiupload('enable'); |
Méthode | Paramètres | Description |
---|---|---|
setUploadedFiles |
files [array] |
Initialise la liste des fichiers sélectionnés à partir du tableau d'objets files .Chaque objet contient à minima la propriété filename correspondant au nom de fichier à afficher.En option, la propriété url permet de visualiser le fichier en indiquant son url d'accès. |
Exemple d'appel : var files = [ {filename:'file_1.doc', url:'http://www.myapp/fileid/18'}, {filename:'file_2.doc', url:'http://www.myapp/fileid/87'} ]; $("#mywidget").zdkmultiupload('setUploadedFiles', files); |
Picklist
Le composant graphique zdkpicklist
permet de sélectionner de multiples valeurs par leur transfert de la liste de gauche vers la droite tout en choisissant un ordre particulier de sélection.
Il est basé sur le composant graphique PrimeUI Picklist et présente comme fonctionnalité complémentaire, celle de pouvoir être initialisé et rafraîchi à partir d'un contrôleur applicatif PHP développé avec ZnetDK.
Instanciation automatique
Pour instancier automatiquement un composant zdkpicklist
, ajoutez un élément HTML DIV
à l'intérieur d'un formulaire zdkform avec la classe de style zdk-picklist
.
Exemple de définition :
<form class="zdk-form"> <div class="zdk-picklist" data-name="my_picklist"> <select title="Source header..."></select> <select title="Target header..."></select> </div> </form>
Attributs HTML5
Les attributs ci-après permettent d'indiquer directement en HTML5 les options qui s'appliquent au composant, sans avoir recours au langage Javascript.
Attribut HTML5 | Description |
---|---|
data-name |
Indique le nom du paramètre POST dans lequel sont communiqués les valeurs placées dans la liste cible de droite.
Si la déclaration HTML du composant est effectuée à l'intérieur d'un formulaire zdkform, alors l'attribut Le nom renseigné pour l'attibut |
Exemple de définition : <form class="zdk-form"> <div class="zdk-picklist" data-name="my_picklist"> <select></select> <select></select> </div> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-action |
Indique le nom du contrôleur et de l'action PHP à interroger pour charger les listes source et cible. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-picklist" data-name="my_picklist" data-zdk-action="mycontroller:myaction"> <select></select> <select></select> </div> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-autoload |
Désactive le chargement des listes source et cible à l'instanciation du composant quand une action de contrôleur a été renseignée. La valeur attendue est false pour désactiver le chargement.Cette désactivation est souhaitable quand le composant est déclaré dans un formulaire ZnetDK car le chargement est réalisé à chaque réinitialisation (opération reset du formulaire). |
Exemple de définition : <form class="zdk-form"> <div class="zdk-picklist" data-name="my_picklist" data-zdk-action="mycontroller:myaction" data-zdk-autoload="false"> <select></select> <select></select> </div> </form> |
Attribut HTML5 | Description |
---|---|
data-zdk-filter |
Active la fonction de filtre du contenu des listes source et cible en renseignant la valeur texte "true" .Cette attribut équivaut à renseigner pour le composant PrimeUI Picklist de base, les options filter à la valeur true et filterMatchMode à la valeur contains . |
Exemple de définition : <form class="zdk-form"> <div class="zdk-picklist" data-name="my_picklist" data-zdk-action="mycontroller:myaction" data-zdk-filter="true"> <select></select> <select></select> </div> </form> |
Attribut HTML5 | Description |
---|---|
title |
Initialise le titre des listes source et cible. Cet attribut s'applique aux 2 éléments <select> déclarés sous l'élément <div> du composant Picklist.L'application de cet attribut HTML équivaut à renseigner les options sourceCaption et targetCaption du composant PrimeUI Picklist de base. |
Exemple de définition : <form class="zdk-form"> <div class="zdk-picklist" data-name="my_picklist"> <select title="Source header..."></select> <select title="Target header..."></select> </div> </form> |
Options
Dans le cas d'une instanciation manuelle du composant graphique, les options présentées ci-dessous s'ajoutent à celles du composant Picklist d'origine.
Option | Description |
---|---|
controller |
Nom du contrôleur applicatif ZnetDK à partir duquel sont chargées les listes source et cible. |
action |
Nom de l'action du contrôleur applicatif ZnetDK qui fournit les données des listes source et cible. |
Exemple d'appel : $("#mywidget").zdkpicklist({ controller:'mycontroller', action:'myaction' }); |
Option | Description |
---|---|
criteria |
Définit un ou plusieurs critères de sélection des valeurs à charger dans les listes source et cible. Ces critères sont transmis à l'action de contrôleur PHP distante via les paramètres POST de noms correspondant aux propriétés de l'objet JavaScript renseigné pour l'option. |
Exemple d'appel : $("#mywidget").zdkpicklist({ controller:'mycontroller', action:'myaction' criteria: {criterium1: 18, criterium2: 'ABC'} }); |
Méthodes
Méthode | Paramètres | Description |
---|---|---|
getSelection |
aucun | Retourne la liste des valeurs sélectionnées dans la liste cible de droite. Ces valeurs sont retournées sous la forme d'un tableau d'objets dont les propriétés sont name et value . |
Exemple d'appel : var selection = $("#mywidget").zdkpicklist('getSelection'); alert(selection[0].value); |
Méthode | Paramètres | Description |
---|---|---|
refresh |
criteria [mixed] |
Recharge le contenu des listes source et cible avec possibilité d'appliquer des critères de sélection des données en renseignant le paramètre optionnel criteria . |
Exemple d'appel : $("#mywidget").zdkpicklist('refresh', {criterium1: 18, criterium2: 'ABC'}); |
Méthode | Paramètres | Description |
---|---|---|
reset |
aucun | Force le rechargement des listes source et cible par appel de l'action de contrôleur définie pour le composant. Cette méthode est appelée en particulier par le formulaire ZnetDK zdkform à chaque réinitialisation du formulaire (méthode reset ). |
Exemple d'appel : $("#mywidget").zdkpicklist('reset'); |
Evènements
Les événements déclenchés par le composant Picklist
sont ceux décrits pour le composant PrimeUI Picklist, auxquels a été ajouté l'évènement ci-dessous :
Evénement | Description |
---|---|
dataloaded |
Evènement déclenché une fois que le contenu des listes source et cible a été chargé par l'appel d'une action de contrôleur PHP (voir les options controller et action et l'attribut HTML5 data-zdk-action). |
Exemple d'appel : $("#mywidget").zdkpicklist({ dataloaded: function() { alert('Data loaded!'); } }); |
Réponse JSON
Lorsque les options controller
et action
sont renseignées pour le composant zdkpicklist
, son contenu est alors chargé à partir des données au format JSON renvoyées par le contrôleur applicatif PHP développé spécifiquement pour ce besoin.
La réponse JSON renvoyée par l'action de contrôleur est un tableau d'objets où chaque objet est un élément à charger dans le composant Picklist.
Les propriétés de cet objet sont label
(intitulé affiché dans liste source ou cible), value
(valeur transmise par le formulaire zdkform à sa validation) et isSelected
(valeur booléenne indiquant si l'élément est chargé dans la liste source ou cible).
Les objets dont la propriété isSelected
vaut false
sont chargés dans la liste source de gauche.
Ceux dont la propriété isSelected
vaut true
sont quant à eux chargés dans la liste cible de droite.
Exemple de réponse JSON :
[ {label: "Item 1", value: "1", isSelected: false}, {label: "Item 2", value: "2", isSelected: true}, {label: "Item 3", value: "3", isSelected: false}, {label: "Item 4", value: "4", isSelected: false}, {label: "Item 5", value: "5", isSelected: true} ]
Ci-dessous un exemple de contrôleur applicatif PHP développé en ZnetDK dont l'action myaction
retourne des éléments à charger au format JSON dans un composant zdkpicklist
.
Exemple de contrôleur applicatif ZnetDK :
<?php namespace app\controller; class MyController extends \AppController { static protected function action_myaction() { $items = array(); $items[] = array('label' => 'Item 1', 'value' => 1, 'isSelected' => FALSE); $items[] = array('label' => 'Item 2', 'value' => 2, 'isSelected' => TRUE); $items[] = array('label' => 'Item 3', 'value' => 3, 'isSelected' => FALSE); $items[] = array('label' => 'Item 4', 'value' => 4, 'isSelected' => FALSE); $items[] = array('label' => 'Item 5', 'value' => 5, 'isSelected' => TRUE); // JSON Response $response = new \Response(); $response->setResponse($items); return $response; } }
©réation 2014-2023 | Tous droits réservés | Mentions légales Licence ZnetDK | Projet PMC Logiciels |