[SPIP Zone] appel de la mediabox en spip 31

Bonjour à tous,

En spip 3.0

jQuery(".modif_evenement").mediabox({
      onShow:function(){
              jQuery(".ui-datepicker-trigger").trigger("click");
      }
});
Fonctionne bien : à l'ouverture de la mediabox, mon datepicker se deplie.

En spip 3.1
l'appel à onShow lance la mediabox (vide) au chargement de la page et
non au clique sur mon lien <a class="modif_evenement" ...>

Y a t'il eu des modifs sur la mediabox au passage en 3.1 ?

Bonnes fêtes à tous

--
A bientôt,
tofulm

Le 21/12/2015 10:25, tofulm a écrit :

Bonjour à tous,

En spip 3.0

jQuery(".modif_evenement").mediabox({
       onShow:function(){
               jQuery(".ui-datepicker-trigger").trigger("click");
       }
});
Fonctionne bien : à l'ouverture de la mediabox, mon datepicker se deplie.

En spip 3.1
l'appel à onShow lance la mediabox (vide) au chargement de la page et
non au clique sur mon lien <a class="modif_evenement" ...>

Y a t'il eu des modifs sur la mediabox au passage en 3.1 ?

Oui, le script a été mis à jour.
On l'appelle mediabox dans SPIP (historiquement peut être) mais en fait c'est une colorbox
http://www.jacklmoore.com/colorbox/

On est passés de la en 1.3.20.1 (spip 3.0) à la 1.6.3 (spip 3.1).

Du coup, il faut peut être revoir la doc de l'API et les Event Hooks.

--
nicod_

nicod_ a écrit :

Le 21/12/2015 10:25, tofulm a écrit :

jQuery(".modif_evenement").mediabox({
onShow:function(){
jQuery(".ui-datepicker-trigger").trigger("click");
}
});
Fonctionne bien : à l'ouverture de la mediabox, mon datepicker se
deplie.

En spip 3.1
l'appel à onShow lance la mediabox (vide) au chargement de la page et
non au clique sur mon lien <a class="modif_evenement" ...>

Y a t'il eu des modifs sur la mediabox au passage en 3.1 ?

Oui, le script a été mis à jour.
On l'appelle mediabox dans SPIP (historiquement peut être) mais en fait
c'est une colorbox
Colorbox - a jQuery lightbox

On est passés de la en 1.3.20.1 (spip 3.0) à la 1.6.3 (spip 3.1).

Je reviens la dessus justement : l'api mediabox n'est pas historique, c'est au contraire une surcouche visant à permettre un changement futur de la librairie sous-jacente (colorbox) sans casser les sites et les JS qui l'utilise.

La bonne pratique est donc d'utiliser uniquement l'API définie dans

et non pas directement l'API de colorbox

Du coup, il faut peut être revoir la doc de l'API et les Event Hooks.

Oui il y a peut être eu un bug ou un renommage à corriger dans le plugin mediabox

Cédric

Bonjour,
merci pour vos pistes

la ligne coupable est :

http://zone.spip.org/trac/spip-zone/browser/core/plugins/mediabox/javascript/spip.mediabox.js#L89

Si on appelle la mediabox manuellement :

jQuery(".modif_evenement").mediabox({
...
})

on se retrouve dans des situations ou this.lengh = 0 donc avec
return $.colorbox($.extend(cbox_options,options));

Dans ce cas, la mediabox se lance au chargement de la page au lieu
d'attendre le click sur le lien.

Si on revient à la version de spip 3.0 :

return this.colorbox($.extend(cbox_options,options)); sans le test
this.lengh => plus de problèmes

NB : finalement ce n'est pas lié à onShow

--
A bientôt,
tofulm