Browse Source

On se rend moins dépendant du vieux Chosen ; un plugin Select2 arrive, d’une part, et d’autre part, le plugin fonctionne aussi sans, même si c’est moins joli !

svn/root/tags/v2.1.0
marcimat@rezo.net 4 years ago
parent
commit
68315807a4
  1. 2
      formulaires/inc-editer_liens_roles.html
  2. 5
      paquet.xml
  3. 19
      roles_pipelines.php

2
formulaires/inc-editer_liens_roles.html

@ -1,6 +1,6 @@
#SET{exclus,#ENV{id}|roles_presents_sur_id{#ENV{objet_source},#ENV{objet},#ENV{id_objet},#ENV{_objet_lien}}}
<B_roles>
<select class="selection_roles chosen" name="qualifier_lien\[#ENV{cle}\]\[#ENV{_roles/colonne}\]\[\]" title="<:roles:selectionner_roles|attribut_html:>"
<select class="selection_roles chosen select2" name="qualifier_lien\[#ENV{cle}\]\[#ENV{_roles/colonne}\]\[\]" title="<:roles:selectionner_roles|attribut_html:>"
multiple="multiple" data-placeholder="<:roles:choisir_role|attribut_html:>">
<BOUCLE_roles(DATA){source table,#ENV{_roles/roles/choix}}{valeur !IN #GET{exclus}}>
<option value="#VALEUR"[ (#VALEUR|in_any{#ENV{definir_roles/#ENV{cle}}})selected='selected']>

5
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="roles"
categorie="outil"
version="2.0.0"
version="2.1.0"
etat="test"
compatibilite="[3.1.0;3.2.*]"
logo="prive/themes/spip/images/roles-64.png"
@ -20,5 +20,6 @@
<pipeline nom="header_prive_css" inclure="roles_pipelines.php" />
<pipeline nom="insert_head_css" inclure="roles_pipelines.php" />
<necessite nom="chosen" compatibilite="[1.5.1;]" />
<utilise nom="chosen" compatibilite="[1.5.1;]" />
<utilise nom="select2" compatibilite="[1.0.0;]" />
</paquet>

19
roles_pipelines.php

@ -18,9 +18,13 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* Liste complétée des js chargés
**/
function roles_jquery_plugins($flux) {
$config = lire_config('chosen/active', false);
if (test_espace_prive() || $config =='oui') {
$config = false;
if (test_plugin_actif('select2')) {
$config = lire_config('select2/active', false);
} elseif (test_plugin_actif('chosen')) {
$config = lire_config('chosen/active', false);
}
if (test_espace_prive() || ($config === 'oui')) {
$flux[] = 'javascript/bootstrap-dropdown.js';
}
return $flux;
@ -49,8 +53,13 @@ function roles_header_prive_css($flux) {
**/
function roles_insert_head_css($flux) {
$config = lire_config('chosen', array());
if (isset($config['active']) and $config['active']=='oui') {
$config = false;
if (test_plugin_actif('select2')) {
$config = lire_config('select2/active', false);
} elseif (test_plugin_actif('chosen')) {
$config = lire_config('chosen/active', false);
}
if ($config === 'oui') {
$css = sinon(find_in_path('css/roles-dropdown_public.css'), find_in_path('css/roles-dropdown.css'));
$flux .= '<link rel="stylesheet" href="'.direction_css($css).'" type="text/css" media="all" />' . "\n";
}

Loading…
Cancel
Save