mdui.mutation() pour l'initialiser)Spécifications Material Design : Composants - Expansion Panel
<div class="mdui-panel" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">
<div class="mdui-panel-item-title">Trip name</div>
<div class="mdui-panel-item-summary">Carribean cruise</div>
<i class="mdui-panel-item-arrow mdui-icon material-icons">keyboard_arrow_down</i>
</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<div class="mdui-panel-item-actions">
<button class="mdui-btn mdui-ripple" mdui-panel-item-close>cancel</button>
<button class="mdui-btn mdui-ripple">save</button>
</div>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">
<div class="mdui-panel-item-title">Location</div>
<i class="mdui-panel-item-arrow mdui-icon material-icons">keyboard_arrow_down</i>
</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<div class="mdui-panel-item-actions">
<button class="mdui-btn mdui-ripple" mdui-panel-item-close>cancel</button>
<button class="mdui-btn mdui-ripple">save</button>
</div>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">
<div class="mdui-panel-item-title">Start and end dates</div>
<div class="mdui-panel-item-summary">Start date: Feb 29, 2016</div>
<div class="mdui-panel-item-summary">End date: Not set</div>
<i class="mdui-panel-item-arrow mdui-icon material-icons">keyboard_arrow_down</i>
</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<div class="mdui-panel-item-actions">
<button class="mdui-btn mdui-ripple" mdui-panel-item-close>cancel</button>
<button class="mdui-btn mdui-ripple">save</button>
</div>
</div>
</div>
</div>Certains éléments de l’exemple précédent ne sont pas obligatoires ; l’exemple ci-dessous ne contient que les éléments HTML nécessaires.
<div class="mdui-panel" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Third</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
</div>
</div>
</div>Ajoutez la classe .mdui-panel-item-open à l’élément <div class="mdui-panel-item"></div> pour le rendre ouvert par défaut.
<div class="mdui-panel" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
</div>
</div>
<div class="mdui-panel-item mdui-panel-item-open">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Third</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
</div>
</div>
</div>Ajoutez la classe .mdui-panel-gapless à l’élément <div class="mdui-panel"></div> pour supprimer l’espace entre l’Expansion Panel ouvert et les autres Expansion Panels.
<div class="mdui-panel mdui-panel-gapless" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Third</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
</div>
</div>
</div>Ajoutez la classe .mdui-panel-popout à l’élément <div class="mdui-panel"></div> pour donner à l’Expansion Panel ouvert un effet de "pop-out".
<div class="mdui-panel mdui-panel-popout" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Third</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
</div>
</div>
</div><div class="mdui-panel" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<!-- Premier Expansion Panel imbriqué -->
<div class="mdui-panel" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<!-- Deuxième Expansion Panel imbriqué -->
<div class="mdui-panel" mdui-panel>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
</div>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
</div>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Third</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
</div>
</div>
</div>Avec cette approche, il n’est pas nécessaire d’écrire de code JavaScript. Il suffit d’ajouter l’attribut mdui-panel="options" à l’élément <div class="mdui-panel"></div> pour activer le plugin.
Si le composant est généré dynamiquement, vous devez appeler mdui.mutation() pour l’initialiser.
<div class="mdui-panel" mdui-panel="{accordion: true}">
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">First</div>
<div class="mdui-panel-item-body">
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
<p>First content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Second</div>
<div class="mdui-panel-item-body">
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
<p>Second content</p>
</div>
</div>
<div class="mdui-panel-item">
<div class="mdui-panel-item-header">Third</div>
<div class="mdui-panel-item-body">
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
<p>Third content</p>
</div>
</div>
</div>Vous pouvez ajouter certains attributs aux éléments contenus dans le Expansion Panel pour lier des événements. Ces attributs peuvent également être utilisés lorsque vous appelez le composant via JavaScript.
| Attribut | Description |
|---|---|
mdui-panel-item-close | Un clic sur cet élément déclenchera l’événement close.mdui.panel et fermera l’élément de Expansion Panel dans lequel il se trouve. |
Instancier le composant :
// selector est un sélecteur CSS de l’élément .mdui-panel ou un élément DOM
// options sont les paramètres du plugin, voir la liste des paramètres ci-dessous
var inst = new mdui.Panel(selector, options);| Nom | Type | Défaut | Description |
|---|---|---|---|
accordion | boolean | false | Activer ou non l’effet accordéon.
|
| Nom de méthode | Description |
|---|---|
open(item) | Ouvrir un élément de Expansion Panel.
|
close(item) | Fermer un élément de Expansion Panel.
|
toggle(item) | Basculer l’état d’un élément de Expansion Panel.
|
openAll() | Ouvrir tous les éléments de Expansion Panel. Cette méthode n’est valide que si accordion vaut false. |
closeAll() | Fermer tous les éléments de Expansion Panel. |
| Nom de l'événement | Description | Cible | Paramètres |
|---|---|---|---|
open.mdui.panel | L’événement est déclenché au début de l’animation d’ouverture d’un élément de Expansion Panel. | <div class="mdui-panel-item"></div> | event._detail.inst : instance |
opened.mdui.panel | L’événement est déclenché à la fin de l’animation d’ouverture d’un élément de Expansion Panel. | ||
close.mdui.panel | L’événement est déclenché au début de l’animation de fermeture d’un élément de Expansion Panel. | ||
closed.mdui.panel | L’événement est déclenché à la fin de l’animation de fermeture d’un élément de Expansion Panel. |
| Nom de classe | Description |
|---|---|
.mdui-panel | Définir un Expansion Panel. |
.mdui-panel-gapless | Supprimer l’espace entre les Expansion Panels ouverts et les autres Expansion Panels. |
.mdui-panel-popout | Faire apparaître le Expansion Panel ouvert avec un effet de surélévation. |
.mdui-panel-item | Définir un élément de Expansion Panel dans un Expansion Panel. |
.mdui-panel-item-open | Rendre l’élément de Expansion Panel ouvert par défaut. |
.mdui-panel-item-header | Définir l’en-tête d’un élément de Expansion Panel. |
.mdui-panel-item-title | Définir le titre de l’en-tête d’un élément de Expansion Panel. |
.mdui-panel-item-summary | Définir le résumé de l’en-tête d’un élément de Expansion Panel. |
.mdui-panel-item-arrow | Définir l’icône d’ouverture/fermeture de l’élément de Expansion Panel. |
.mdui-panel-item-body | Définir le contenu de l’élément de Expansion Panel. |
.mdui-panel-item-actions | Définir la barre d’actions de l’élément de Expansion Panel. |