pour les action / mediabox / modalbox, si on ajoute data-confirm="mon
texte", au clique sur le lien, on ajoute un confirm js
This commit is contained in:
parent
e1a82baddb
commit
25f0d4d42c
3 changed files with 67 additions and 20 deletions
|
@ -19,7 +19,6 @@ Choisir entre la version minifiée de vuejs (sans le debug) ou la version de dev
|
||||||
>
|
>
|
||||||
> * pour les champs date, pour avoir l'ordre de la col, il faut le format : dd/mm/yyyy ou dd/mm/yy
|
> * pour les champs date, pour avoir l'ordre de la col, il faut le format : dd/mm/yyyy ou dd/mm/yy
|
||||||
3. Pour utliser **les actions** :
|
3. Pour utliser **les actions** :
|
||||||
1. dans `json_gamutable.json.html`
|
|
||||||
```html
|
```html
|
||||||
[(#SET{statut,
|
[(#SET{statut,
|
||||||
#SET{args,#ID_SOUSCRIPTION|concat{-}|concat{#STATUT}}
|
#SET{args,#ID_SOUSCRIPTION|concat{-}|concat{#STATUT}}
|
||||||
|
@ -34,9 +33,10 @@ Choisir entre la version minifiée de vuejs (sans le debug) ou la version de dev
|
||||||
})]
|
})]
|
||||||
"statut" : [(#GET{statut}|json_encode)],
|
"statut" : [(#GET{statut}|json_encode)],
|
||||||
```
|
```
|
||||||
> il faut ajouter data-id="" si on veut recharger que cette ligne
|
> * il faut ajouter data-confirm="Confirmez vous ..." si on veut ajouter un popin de confirmation
|
||||||
|
> * il faut ajouter data-id="" si on veut recharger que cette ligne
|
||||||
|
|
||||||
4. Pour utiliser **les crayons**, il faut utiliser le pipeline `crayons_vue_affichage_final`
|
1. Pour utiliser **les crayons**, il faut utiliser le pipeline `crayons_vue_affichage_final`
|
||||||
```php
|
```php
|
||||||
/**
|
/**
|
||||||
* injection du reload de vuejs pour les crayons de l'objet souscription
|
* injection du reload de vuejs pour les crayons de l'objet souscription
|
||||||
|
@ -55,7 +55,7 @@ function prefixPlugin_crayons_vue_affichage_final($flux){
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
> **Attention** Pour les crayons, l'invalidation du cache ne se fait que pour les objets publiés
|
> **Attention** Pour les crayons, l'invalidation du cache ne se fait que pour les objets publiés
|
||||||
5. Pour utiliser une **mediabox** ou **modalbox**,
|
2. Pour utiliser une **mediabox** ou **modalbox**,
|
||||||
1. Dans le json : ajouter un lien avec la classe mediabox ou modalbox (cf ex de json)
|
1. Dans le json : ajouter un lien avec la classe mediabox ou modalbox (cf ex de json)
|
||||||
```html
|
```html
|
||||||
"modif" : [(#VAL{<a class="modalbox" href="[(#URL_PAGE{souscrire}|parametre_url{id_souscription,#ID_SOUSCRIPTION}|parametre_url{redirect,gamutable})]"><i class="fa fa-pencil"></i></a>}|json_encode)],
|
"modif" : [(#VAL{<a class="modalbox" href="[(#URL_PAGE{souscrire}|parametre_url{id_souscription,#ID_SOUSCRIPTION}|parametre_url{redirect,gamutable})]"><i class="fa fa-pencil"></i></a>}|json_encode)],
|
||||||
|
@ -77,6 +77,7 @@ function prefixPlugin_crayons_vue_affichage_final($flux){
|
||||||
</script>
|
</script>
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
> * il faut ajouter data-confirm="Confirmez vous ..." si on veut ajouter un popin de confirmation
|
||||||
|
|
||||||
## Attention
|
## Attention
|
||||||
> les Crayons utilise l'api modifier_objet de SPIP qui invalide le cache que si objet est publie,
|
> les Crayons utilise l'api modifier_objet de SPIP qui invalide le cache que si objet est publie,
|
||||||
|
|
|
@ -1,7 +1,15 @@
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
|
// pour les #URL_ACTION_AUTEUR
|
||||||
|
// il faut ajouter une class : url_action
|
||||||
$('#app').on('click', '.url_action', function (e) {
|
$('#app').on('click', '.url_action', function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
let confirmation = $(this).data('confirm');
|
||||||
|
if (confirmation) {
|
||||||
|
if (!confirm(confirmation)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
let url = $(this).attr('href');
|
let url = $(this).attr('href');
|
||||||
let id = $(this).data('id');
|
let id = $(this).data('id');
|
||||||
console.time('Chargement de VueJs APRES Ajax');
|
console.time('Chargement de VueJs APRES Ajax');
|
||||||
|
@ -17,15 +25,27 @@ jQuery(function () {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// lancement d'une modalbox
|
||||||
$('#app').on('click', '.modalbox', function (e) {
|
$('#app').on('click', '.modalbox', function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
if (confirmation) {
|
||||||
|
if (!confirm(confirmation)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
let url = $(this).attr('href');
|
let url = $(this).attr('href');
|
||||||
url += '&var_zajax=content';
|
url += '&var_zajax=content';
|
||||||
$.modalbox(url);
|
$.modalbox(url);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// lancement d'une médiabox
|
||||||
$('#app').on('click', '.mediabox', function (e) {
|
$('#app').on('click', '.mediabox', function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
if (confirmation) {
|
||||||
|
if (!confirm(confirmation)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
let href = $(this).attr('href');
|
let href = $(this).attr('href');
|
||||||
$.fn.mediabox({ href });
|
$.fn.mediabox({ href });
|
||||||
});
|
});
|
||||||
|
|
|
@ -17,9 +17,19 @@ function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) ||
|
||||||
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
||||||
|
|
||||||
jQuery(function () {
|
jQuery(function () {
|
||||||
|
// pour les #URL_ACTION_AUTEUR
|
||||||
|
// il faut ajouter une class : url_action
|
||||||
$('#app').on('click', '.url_action', function (e) {
|
$('#app').on('click', '.url_action', function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
var confirmation = $(this).data('confirm');
|
||||||
|
|
||||||
|
if (confirmation) {
|
||||||
|
if (!confirm(confirmation)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var url = $(this).attr('href');
|
var url = $(this).attr('href');
|
||||||
var id = $(this).data('id');
|
var id = $(this).data('id');
|
||||||
console.time('Chargement de VueJs APRES Ajax');
|
console.time('Chargement de VueJs APRES Ajax');
|
||||||
|
@ -33,15 +43,31 @@ jQuery(function () {
|
||||||
app.rechargerJson();
|
app.rechargerJson();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
}); // lancement d'une modalbox
|
||||||
|
|
||||||
$('#app').on('click', '.modalbox', function (e) {
|
$('#app').on('click', '.modalbox', function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
|
if (confirmation) {
|
||||||
|
if (!confirm(confirmation)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var url = $(this).attr('href');
|
var url = $(this).attr('href');
|
||||||
url += '&var_zajax=content';
|
url += '&var_zajax=content';
|
||||||
$.modalbox(url);
|
$.modalbox(url);
|
||||||
});
|
}); // lancement d'une médiabox
|
||||||
|
|
||||||
$('#app').on('click', '.mediabox', function (e) {
|
$('#app').on('click', '.mediabox', function (e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
|
if (confirmation) {
|
||||||
|
if (!confirm(confirmation)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var href = $(this).attr('href');
|
var href = $(this).attr('href');
|
||||||
$.fn.mediabox({
|
$.fn.mediabox({
|
||||||
href: href
|
href: href
|
||||||
|
|
Loading…
Add table
Reference in a new issue