Visualisation d'une page Webjax
Sortable ( )
L'objet Sortable() permet de définir des listes triables d'éléments.
Cet objet s'adapte très bien aux éléments DOM HTML 'ul' et 'li' et 'ol'.
Cela permet de définir des ordres de prioriété dans une liste avec la possibilité de déclencher des requêtes HTTP (ndr : par exemple) lors d'un nouveau tri de la liste (ndr : applications réelles multiples).
!!! :: avant d'étudier ce concept d'objet Sortable() il est bon de se délecter d'abord des précisions sur les objets Draggable et Droppables afin de mieux entrevoir les réelles possibilités de cet objet Sortable .
Cette page présente des exemples d'utilisation de cet objet Sortable() via sa méthode Sortable.create(element,options).
La syntaxe d'appel de cet objet est recopiée ci après :
Le tableau d'options que l'on peut passer à Sortable.create() est recopié ci après :
Propriété
Type
Arguments
ou
Défaut
Détails
tag
String
li
Définit le type de tag ou d'élément (des éléments fils de l'élément précisé en 1er argument), qui seront rendus triables.
Pour les éléments 'ul' et 'ol' le tag ou élément 'li' est défini.
only
String (classe CSS) ou Array (classes CSS)
none
Permet de faire en sorte que les éléments à rendre triable doivent être mis en forme avec la ou les classes CSS précisées.
Si plusieurs classes sont précisées, toutes doivent être présentes pour rendre triable un élément DOM.
overlap
String
vertical
'horizontal' ou 'vertical'.
constraint
String
vertical
Permet de restreindre le mouvement d'objets Draggable.
Vous pouvez consulter la page Draggable(class) pour plus de détails.
Peut valoir 'horizontal' ou 'vertical' ou ''.
containment
Array
Permet d'autoriser le déplacement d'éléments entre éléments Sortables .
La méthode prend pour paramètre un Array d'éléments DOM ou d'ids d'éléments DOM (ndr : identifiants
des containers d'éléments).
format
RegExp
11/01/2007 : mise à jour à faire
handle
none
voir page Draggables(class) pour plus de détails.
Permet de définir un handle les éléments Draggables.
hoverclass
String (classe CSS)
none
Permet de définir une classe CSS de survol (mouseOver) pour les éléments
Droppables .
ghosting
Boolean
false
Permet de créer un clone d'élément DOM.
Le clone est utilisé pour le "drag", "déplacement" ou "glissement" tandis
que l'élément initial est laissé en place pour permettre à l'utilisateur de bien
percevoir son action visuellement.
dropOnEmpty
Boolean
false
Si cette option est passée à 'true', le container Sortable (ndr : 'triable'), sera transformé en
objet Droppables pouvant recevoir des objets Draggables.
scroll
String
11/01/2007 : mise à jour à faire
scrollSensitivity
Number
20
11/01/2007 : mise à jour à faire
scrollSpeed
Number
15
11/01/2007 : mise à jour à faire
tree
Boolean
false
Si cette valeur est passée à true, cela permet de définir la fonctionnalité Sortable ou "triable"
sur tous les éléments précisés dans 'treeTag' (ndr : voir ligne du tableau suivante).
treeTag
String
ul
Type d'éléments containers d'éléments à rendre triable.
Les exemples d'utilisation sont présentés ci après dans la page et sont accessibles via la liste
déroulante ci après :
Exemple simple d'utilisation de Sortable.create ()
Cet exemple vous permet de vous familiariser avec l'utilisation de listes triables
et donc l'utilisation de Sortable.create().
L'exemple est testable ci après :
- liste_0 :: element_0
- liste_0 :: element_1
- liste_0 :: element_2
- liste_0 :: element_3
- liste_1 :: element_0
- liste_1 :: element_1
- liste_1 :: element_2
- liste_1 :: element_3
Le code source de l'exemple est présenté ci après :
Code HTML des éléments 'ul' et 'li :
Le code Javascript définissant les éléments Sortable ou "triables" :
Comme on peut le voir dans cet exemple, on utilise l'option 'containment' pour rendre actif
le déplacement d'éléments de containers Sortable entre eux.
On peut voir lors d'un tel déplacement (ndr : test avec les listes au dessus du code), que la classe
CSS est mise à jour lors du passage dans un nouveau container Sortable.
Exemple paramétrable d'utilisation de Sortable.create()
Cet exemple permet de paramétrer un objet Sortable sur un élément container 'ul' ou 'ol'.
L'exemple est testable ci après :
Element à rendre Sortable :
Sauvegarde position élément (ghosting) :
Contrainte déplacement (constraint) :
!!! :: le bouton ci-dessous vous permet de supprimer un objet Sortable ceci afin de vous permettre de tester à l'infini
l'exemple sur cette page sans rechargement.
Liste pour effectuer la suppression :
- liste_0 :: element_0
- liste_0 :: element_1
- liste_0 :: element_2
- liste_0 :: element_3
- liste_1 :: element_0
- liste_1 :: element_1
- liste_1 :: element_2
- liste_1 :: element_3
Le code source de cet exemple est présenté ci après :
Code HTML des listes et du bouton d'action :
Le code source du bouton d'action permettant de supprimer un objet Sortable est recopié ci après :
Exemple "Puzzle" avec images et Sortable.create()
Cet exemple reprend des images d'une page de démonstration du wiki Scriptaculous original.
Cet exemple permet de mettre en place un jeu type "puzzle" ou il vous faut remettre dans l'ordre
3 images placés délibérement dans un mauvais ordre.
Cet exemple permet de se rendre compte de l'utilisation possible de Sortable sur d'autres éléments
que des éléments de liste HTML.
L'exemple est testable ci après :
Le code HTML des images et du container 'div#puzzle' :
Le code source de l'exemple est recopié ci après :
Le code Javascript permettant de rendre Sortable ou "triable" le container 'div#puzzle'
et ses éléments fils 'img' :
Cet objet s'adapte très bien aux éléments DOM HTML 'ul' et 'li' et 'ol'.
Cela permet de définir des ordres de prioriété dans une liste avec la possibilité de déclencher des requêtes HTTP (ndr : par exemple) lors d'un nouveau tri de la liste (ndr : applications réelles multiples).
!!! :: avant d'étudier ce concept d'objet Sortable() il est bon de se délecter d'abord des précisions sur les objets Draggable et Droppables afin de mieux entrevoir les réelles possibilités de cet objet Sortable .
Cette page présente des exemples d'utilisation de cet objet Sortable() via sa méthode Sortable.create(element,options).
La syntaxe d'appel de cet objet est recopiée ci après :
Le tableau d'options que l'on peut passer à Sortable.create() est recopié ci après :
| Propriété | Type | Arguments ou Défaut |
Détails |
| tag | String | li |
Définit le type de tag ou d'élément (des éléments fils de l'élément précisé en 1er argument), qui seront rendus triables.
Pour les éléments 'ul' et 'ol' le tag ou élément 'li' est défini. |
| only | String (classe CSS) ou Array (classes CSS) | none |
Permet de faire en sorte que les éléments à rendre triable doivent être mis en forme avec la ou les classes CSS précisées.
Si plusieurs classes sont précisées, toutes doivent être présentes pour rendre triable un élément DOM. |
| overlap | String | vertical | 'horizontal' ou 'vertical'. |
| constraint | String | vertical |
Permet de restreindre le mouvement d'objets Draggable.
Vous pouvez consulter la page Draggable(class) pour plus de détails. Peut valoir 'horizontal' ou 'vertical' ou ''. |
| containment | Array |
Permet d'autoriser le déplacement d'éléments entre éléments Sortables .
La méthode prend pour paramètre un Array d'éléments DOM ou d'ids d'éléments DOM (ndr : identifiants des containers d'éléments). |
|
| format | RegExp | 11/01/2007 : mise à jour à faire | |
| handle | none |
voir page Draggables(class) pour plus de détails.
Permet de définir un handle les éléments Draggables. |
|
| hoverclass | String (classe CSS) | none | Permet de définir une classe CSS de survol (mouseOver) pour les éléments Droppables . |
| ghosting | Boolean | false |
Permet de créer un clone d'élément DOM.
Le clone est utilisé pour le "drag", "déplacement" ou "glissement" tandis que l'élément initial est laissé en place pour permettre à l'utilisateur de bien percevoir son action visuellement. |
| dropOnEmpty | Boolean | false |
Si cette option est passée à 'true', le container Sortable (ndr : 'triable'), sera transformé en
objet Droppables pouvant recevoir des objets Draggables.
|
| scroll | String | 11/01/2007 : mise à jour à faire | |
| scrollSensitivity | Number | 20 | 11/01/2007 : mise à jour à faire |
| scrollSpeed | Number | 15 | 11/01/2007 : mise à jour à faire |
| tree | Boolean | false | Si cette valeur est passée à true, cela permet de définir la fonctionnalité Sortable ou "triable" sur tous les éléments précisés dans 'treeTag' (ndr : voir ligne du tableau suivante). |
| treeTag | String | ul | Type d'éléments containers d'éléments à rendre triable. |
Les exemples d'utilisation sont présentés ci après dans la page et sont accessibles via la liste déroulante ci après :
Exemple simple d'utilisation de Sortable.create ()
Cet exemple vous permet de vous familiariser avec l'utilisation de listes triables et donc l'utilisation de Sortable.create().
L'exemple est testable ci après :
- liste_0 :: element_0
- liste_0 :: element_1
- liste_0 :: element_2
- liste_0 :: element_3
- liste_1 :: element_0
- liste_1 :: element_1
- liste_1 :: element_2
- liste_1 :: element_3
Le code source de l'exemple est présenté ci après :
Code HTML des éléments 'ul' et 'li :
Le code Javascript définissant les éléments Sortable ou "triables" :
Comme on peut le voir dans cet exemple, on utilise l'option 'containment' pour rendre actif le déplacement d'éléments de containers Sortable entre eux.
On peut voir lors d'un tel déplacement (ndr : test avec les listes au dessus du code), que la classe CSS est mise à jour lors du passage dans un nouveau container Sortable.
Exemple paramétrable d'utilisation de Sortable.create()
Cet exemple permet de paramétrer un objet Sortable sur un élément container 'ul' ou 'ol'.
L'exemple est testable ci après :
Element à rendre Sortable :
Sauvegarde position élément (ghosting) :
Contrainte déplacement (constraint) :
!!! :: le bouton ci-dessous vous permet de supprimer un objet Sortable ceci afin de vous permettre de tester à l'infini
l'exemple sur cette page sans rechargement.
Liste pour effectuer la suppression :
- liste_0 :: element_0
- liste_0 :: element_1
- liste_0 :: element_2
- liste_0 :: element_3
- liste_1 :: element_0
- liste_1 :: element_1
- liste_1 :: element_2
- liste_1 :: element_3
Le code source de cet exemple est présenté ci après :
Code HTML des listes et du bouton d'action :
Le code source du bouton d'action permettant de supprimer un objet Sortable est recopié ci après :
Exemple "Puzzle" avec images et Sortable.create()
Cet exemple reprend des images d'une page de démonstration du wiki Scriptaculous original.
Cet exemple permet de mettre en place un jeu type "puzzle" ou il vous faut remettre dans l'ordre 3 images placés délibérement dans un mauvais ordre.
Cet exemple permet de se rendre compte de l'utilisation possible de Sortable sur d'autres éléments que des éléments de liste HTML.
L'exemple est testable ci après :
Le code HTML des images et du container 'div#puzzle' :
Le code source de l'exemple est recopié ci après :
Le code Javascript permettant de rendre Sortable ou "triable" le container 'div#puzzle' et ses éléments fils 'img' :

:

