Avant d'utiliser une fenêtre modale, vous devez manuellement ajouter le code source HTML de celle-ci.
Exemple avec Bootstrap:
<div id="main_modal" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
</div>
</div>
</div>import * as modalManager from '@ecommit/crud-bundle/js/modal/modal-manager';
modalManager.openModal({
//Options
element: '#main_modal'
});Options disponibles :
| Option | Description | Requis | Valeur par défaut |
|---|---|---|---|
| element | Modal (élement du DOM) | Oui | |
| onOpen | Callback(s) lancé(s) avant l'ouverture de la modale | Non | |
| onClose | Callback(s) lancé(s) avant la fermeture de la modale | Non |
Ouverture de la fenêtre modale lors d'un clic sur un élément du DOM.
L'élément du DOM doit avoir comme l'attribut HTML data-ec-crud-toggle="modal".
Toutes les options de la fonction openModal peuvent être utilisées en les passant par les attributs data-. Pour cela:
- Préfixer chaque option par
data-ec-crud-modal- - Les options d'origine (en JavaScript) de
openModalsont en camelCase. Pour leur écriture par des attributs HTML, remplacer chaque nouveau mot en majuscule par un tiret. Exemple: L'équivalent de l'optiononOpenestdata-ec-crud-modal-on-openen attribut HTML.
Exemple :
<a href="#" data-ec-crud-toggle="modal" data-ec-crud-modal-element="#main_modal">Go !</a>import * as modalManager from '@ecommit/crud-bundle/js/modal/modal-manager';
modalManager.openRemoteModal({
//Options
url: '/goodRequest',
element: '#main_modal',
elementContent: '#main_modal .modal-content'
});Options disponibles :
| Option | Description | Requis | Valeur par défaut |
|---|---|---|---|
| url | Url de l'action Ajax | Oui | |
| element | Modal (élement du DOM) | Oui | |
| elementContent | Element du DOM à mettre à jour | Oui | |
| onOpen | Callback(s) lancé(s) avant l'ouverture de la modale | Non | |
| onClose | Callback(s) lancé(s) avant la fermeture de la modale | Non | |
| method | Méthode HTTP | Non | POST |
| ajaxOptions | Options Ajax (voir sendRequest) | Non | { } |
Ouverture de la fenêtre modale lors d'un clic sur un bouton ou un lien.
Le bouton ou le lien doit avoir l'attribut HTML data-ec-crud-toggle="remote-modal".
Toutes les options de la fonction openRemoteModal peuvent être utilisées en les passant par les attributs data-. Pour cela:
- Préfixer chaque option par
data-ec-crud-modal- - Les options d'origine (en JavaScript) de
openRemoteModalsont en camelCase. Pour leur écriture par des attributs HTML, remplacer chaque nouveau mot en majuscule par un tiret. Exemple: L'équivalent de l'optiononOpenestdata-ec-crud-modal-on-openen attribut HTML.
Exemple avec un bouton :
<button data-ec-crud-toggle="remote-modal" data-ec-crud-modal-element="#main_modal" data-ec-crud-modal-element-content="#main_modal .modal-content" data-ec-crud-modal-url="/goodRequest">Go !</button>Exemple avec un lien :
<a href="/goodRequest" data-ec-crud-toggle="remote-modal" data-ec-crud-modal-element="#main_modal" data-ec-crud-modal-element-content="#main_modal .modal-content">Go !</a>Avec un lien, l'URL utilisée pour la requête Ajax est:
- La valeur de l'attribut
data-ec-crud-modal-url(si présent) - Ou la valeur de
href
import * as modalManager from '@ecommit/crud-bundle/js/modal/modal-manager';
modalManager.closeModal('#main_modal');