[SPIP Zone] JqueryUI

Bonjour,

Je viens de passer un site en 3.1.1 depuis une 3.0.22 et j'ai des effects "bounce" et "scale" qui ne fonctionnent plus sur un site. J'ai vu sur Contrib qu'il y avait une syntaxe depuis la 3 pour activer les "modules" de JqueryUI (syntaxe que j'utilisais) mais aussi d'après RealET que cette syntaxe avait changé pour la 3.1.1 ...

J'avais ça qui fonctionnait pour la 3.0:

$GLOBALS['spip_pipeline']['jqueryui_plugins'] .= "|insert_jqueryui";
function insert_jqueryui($jqueryui_plugins) {
     $jqueryui_plugins[] = "jquery.ui.core" ;
     $jqueryui_plugins[] = "jquery.effects.core" ;
     $jqueryui_plugins[] = "jquery.effects.scale" ;
     $jqueryui_plugins[] = "jquery.effects.bounce" ;
     return $jqueryui_plugins ;
}

Il y a un endroit ou cette syntaxe est décrite pour la 3.1 ?

--
Pierre

Le 28/06/2016 à 11:27, Zapilou a écrit :

Bonjour,

Je viens de passer un site en 3.1.1 depuis une 3.0.22 et j'ai des
effects "bounce" et "scale" qui ne fonctionnent plus sur un site. J'ai
vu sur Contrib qu'il y avait une syntaxe depuis la 3 pour activer les
"modules" de JqueryUI (syntaxe que j'utilisais) mais aussi d'après
RealET que cette syntaxe avait changé pour la 3.1.1 ...

J'avais ça qui fonctionnait pour la 3.0:

$GLOBALS['spip_pipeline']['jqueryui_plugins'] .= "|insert_jqueryui";
function insert_jqueryui($jqueryui_plugins) {
    $jqueryui_plugins = "jquery.ui.core" ;
    $jqueryui_plugins = "jquery.effects.core" ;
    $jqueryui_plugins = "jquery.effects.scale" ;
    $jqueryui_plugins = "jquery.effects.bounce" ;
    return $jqueryui_plugins ;
}

Il y a un endroit ou cette syntaxe est décrite pour la 3.1 ?

Bah, c'est la même non ? Normalement le plugin devrait être rétro-compatible. Mais sinon, jquery.effects. est devenu jquery.ui.effect-
donc jquery.effects.scale => jquery.ui.effect-scale

Il n'y a pas d'exemple sur la zone avec des .effect, mais voici quelques exemples sans.

/**
  * Ajoute les plugins jquery ui nécessaires dans l'espace privé
  *
  * @pipeline jqueryui_plugins
  * @param string $plugins
  * @return string
**/
function centre_image_jqueryui_plugins($plugins) {
  if (test_espace_prive()) {
    $plugins = "jquery.ui.core";
    $plugins = "jquery.ui.draggable";
  }
  return $plugins;
}

/**
  * Pipeline jqueryui_plugins pour demander au plugin l'insertion des scripts pour .sortable()
  *
  * @param array $plugins
  * @return array
  */
function selections_editoriales_jqueryui_plugins($plugins) {
  // On envoie que si on est dans l'espace prive
     if(test_espace_prive()) {
    $plugins = "jquery.ui.core";
    $plugins = "jquery.ui.widget";
    $plugins = "jquery.ui.mouse";
    $plugins = "jquery.ui.sortable";
    $plugins = "jquery.ui.droppable";
    $plugins = "jquery.ui.draggable";
     }

  return $plugins;
}

Bonjour,

Apparemment c'est pas retro-compatible. RealET suggère (qui marche pour lui):

$jqueryui_plugins = "jquery.ui.i18n/datepicker-fr";

Moi j'ai essayé:

     $jqueryui_plugins = "jquery.ui.core" ;
     $jqueryui_plugins = "jquery.ui.effect-core" ;
     $jqueryui_plugins = "jquery.ui.effect-scale" ;
     $jqueryui_plugins = "jquery.ui.effect-bounce" ;

     $jqueryui_plugins = "jquery.ui.core" ;
     $jqueryui_plugins = "jquery.ui.effect" ;
     $jqueryui_plugins = "jquery.ui.effect-scale" ;
     $jqueryui_plugins = "jquery.ui.effect-bounce" ;

     $jqueryui_plugins = "jquery.ui.core" ;
     $jqueryui_plugins = "jquery.ui.effect/core" ;
     $jqueryui_plugins = "jquery.ui.effect/scale" ;
     $jqueryui_plugins = "jquery.ui.effect/bounce" ;

et toutes les autres combinaisons possibles, rien ne marche comme avant. Cette syntaxe vient de jqueryUI ou c'est propre à Spip ?

Le 28/06/2016 à 12:37, Matthieu Marcillaud a écrit :

Le 28/06/2016 à 11:27, Zapilou a écrit :

Bonjour,

Je viens de passer un site en 3.1.1 depuis une 3.0.22 et j'ai des
effects "bounce" et "scale" qui ne fonctionnent plus sur un site. J'ai
vu sur Contrib qu'il y avait une syntaxe depuis la 3 pour activer les
"modules" de JqueryUI (syntaxe que j'utilisais) mais aussi d'après
RealET que cette syntaxe avait changé pour la 3.1.1 ...

J'avais ça qui fonctionnait pour la 3.0:

$GLOBALS['spip_pipeline']['jqueryui_plugins'] .= "|insert_jqueryui";
function insert_jqueryui($jqueryui_plugins) {
    $jqueryui_plugins = "jquery.ui.core" ;
    $jqueryui_plugins = "jquery.effects.core" ;
    $jqueryui_plugins = "jquery.effects.scale" ;
    $jqueryui_plugins = "jquery.effects.bounce" ;
    return $jqueryui_plugins ;
}

Il y a un endroit ou cette syntaxe est décrite pour la 3.1 ?

Bah, c'est la même non ? Normalement le plugin devrait être
rétro-compatible. Mais sinon, jquery.effects. est devenu jquery.ui.effect-
donc jquery.effects.scale => jquery.ui.effect-scale

Il n'y a pas d'exemple sur la zone avec des .effect, mais voici quelques
exemples sans.

/**
* Ajoute les plugins jquery ui nécessaires dans l'espace privé
*
* @pipeline jqueryui_plugins
* @param string $plugins
* @return string
**/
function centre_image_jqueryui_plugins($plugins) {
    if (test_espace_prive()) {
        $plugins = "jquery.ui.core";
        $plugins = "jquery.ui.draggable";
    }
    return $plugins;
}

/**
* Pipeline jqueryui_plugins pour demander au plugin l'insertion des
scripts pour .sortable()
*
* @param array $plugins
* @return array
*/
function selections_editoriales_jqueryui_plugins($plugins) {
    // On envoie que si on est dans l'espace prive
    if(test_espace_prive()) {
        $plugins = "jquery.ui.core";
        $plugins = "jquery.ui.widget";
        $plugins = "jquery.ui.mouse";
        $plugins = "jquery.ui.sortable";
        $plugins = "jquery.ui.droppable";
        $plugins = "jquery.ui.draggable";
    }

    return $plugins;
}

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

--
Pierre

Hop,

Le 28/06/2016 11:27, Zapilou a écrit :

Bonjour,

Je viens de passer un site en 3.1.1 depuis une 3.0.22 et j'ai des
effects "bounce" et "scale" qui ne fonctionnent plus sur un site. J'ai
vu sur Contrib qu'il y avait une syntaxe depuis la 3 pour activer les
"modules" de JqueryUI (syntaxe que j'utilisais) mais aussi d'après
RealET que cette syntaxe avait changé pour la 3.1.1 ...

J'avais ça qui fonctionnait pour la 3.0:

$GLOBALS['spip_pipeline']['jqueryui_plugins'] .= "|insert_jqueryui";
function insert_jqueryui($jqueryui_plugins) {
     $jqueryui_plugins = "jquery.ui.core" ;
     $jqueryui_plugins = "jquery.effects.core" ;
     $jqueryui_plugins = "jquery.effects.scale" ;
     $jqueryui_plugins = "jquery.effects.bounce" ;
     return $jqueryui_plugins ;
}

Merci pour le signalement, voici qui devrait corriger le bug :

Par contre, il n'est pas nécessaire d'appeler jquery.effects.core quand on appelle un autre script effects, le plugin s'occupe de gérer les dépendances tout seul :wink:

Hésite pas à nous signaler si le commit fixe bien le bug de ton côté.

++
b_b

Bonjour,

Le 28/06/2016 à 14:03, Bruno Bergot a écrit :

Hop,

Le 28/06/2016 11:27, Zapilou a écrit :

Bonjour,

Je viens de passer un site en 3.1.1 depuis une 3.0.22 et j'ai des
effects "bounce" et "scale" qui ne fonctionnent plus sur un site. J'ai
vu sur Contrib qu'il y avait une syntaxe depuis la 3 pour activer les
"modules" de JqueryUI (syntaxe que j'utilisais) mais aussi d'après
RealET que cette syntaxe avait changé pour la 3.1.1 ...

J'avais ça qui fonctionnait pour la 3.0:

$GLOBALS['spip_pipeline']['jqueryui_plugins'] .= "|insert_jqueryui";
function insert_jqueryui($jqueryui_plugins) {
     $jqueryui_plugins = "jquery.ui.core" ;
     $jqueryui_plugins = "jquery.effects.core" ;
     $jqueryui_plugins = "jquery.effects.scale" ;
     $jqueryui_plugins = "jquery.effects.bounce" ;
     return $jqueryui_plugins ;
}

Merci pour le signalement, voici qui devrait corriger le bug :

Connexion · GitLab
Connexion · GitLab

Par contre, il n'est pas nécessaire d'appeler jquery.effects.core quand
on appelle un autre script effects, le plugin s'occupe de gérer les
dépendances tout seul :wink:

Merci mais pour l'instant ça n'a pas l'air de complètement marcher. J'ai ça dans mes_options:

$GLOBALS['spip_pipeline']['jqueryui_plugins'] .= "|insert_jqueryui";
function insert_jqueryui($jqueryui_plugins) {
      $jqueryui_plugins = "jquery.ui.core" ;
      $jqueryui_plugins = "jquery.effects.scale" ;
      $jqueryui_plugins = "jquery.effects.bounce" ;
      return $jqueryui_plugins ;
}

Compris pour le core effects, dois-je appeler le core ui ?

Et dans le js:

$('div#local').show("scale", { scale: 'content', percent: 100, origin: [350,620] }, 1300);

Comme avant en 3.0. Je dis pas complètement car ailleurs j'ai un effet bounce, et il marche, comprends pas.

Il y a 2 changeset, j'en ai reporté un dans plugins-dist/jquery_ui/jqueryui_pipelines.php mais je ne suis pas sûr pour le second ... c'est juste une histoire de branche, de version, moi j'en ai qu'un à faire ?

Hésite pas à nous signaler si le commit fixe bien le bug de ton côté.

++
b_b

--
Pierre