Changeset 112573 in spip-zone


Ignore:
Timestamp:
Nov 30, 2018, 1:46:56 AM (2 weeks ago)
Author:
tcharlss@…
Message:

Changement de fusil d'épaule pour l'imbrication maximale : par défaut il n'y en a plus, et si on veut en poser il n'y a plus de limite arbitraire, on peut mettre n'importe quel nombre. Il est également possible de définir le nombre via une constante _NOIZETIER_PROFONDEUR_MAX qui est prise en priorité. On en tient compte dans le script de glisser-déposer, avec une indication visuelle des endroits où on peut ajouter des noisettes (ce fut une belle prise de tête).

Location:
_plugins_/noizetier/trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/noizetier/trunk/formulaires/ajouter_noisette.html

    r110613 r112573  
    1212
    1313                <div class="editer-groupe">
    14                         [(#ENV{id_noisette}|>{0}|et{#ENV{profondeur}|>={#CONFIG{noizetier/profondeur_max}}}|?{
     14                        #SET{profondeur_max,#VAL{_NOIZETIER_PROFONDEUR_MAX}|defined|?{#EVAL{_NOIZETIER_PROFONDEUR_MAX},#CONFIG{noizetier/profondeur_max}}}
     15                        [(#ENV{id_noisette}|>{0}|et{#ENV{profondeur}|>={#GET{profondeur_max}}}|?{
    1516                                #SET{critere_conteneur, conteneur!='oui'},
    1617                                #SET{critere_conteneur, ''}
  • _plugins_/noizetier/trunk/formulaires/configurer_noizetier.html

    r110219 r112573  
    99                <div class="editer-groupe">
    1010                        [(#SAISIE{case, balise_noisette,
     11                                label=<:noizetier:configurer_balise_noisette_label:>,
    1112                                label_case=<:noizetier:label_noizetier_balise:>,
    1213                                explication=<:noizetier:explication_noizetier_balise:>,
     
    1415
    1516                        [(#SAISIE{case, ajax_noisette,
     17                                label=<:noizetier:configurer_ajax_noisette_label:>,
    1618                                label_case=<:noizetier:label_noizetier_ajax:>,
    1719                                explication=<:noizetier:explication_noizetier_ajax:>,
    1820                        })]
    19                 </div>
    2021
    21                 <div class="editer-groupe">
    22                         [(#SAISIE{radio, profondeur_max,
    23                                 explication=<:noizetier:explication_noizetier_profondeur_max:>,
    24                                 datas=#ARRAY{0, <:noizetier:option_profondeur_max_1:>, 1, <:noizetier:option_profondeur_max_2:>},
     22                        [(#REM) Imbrication : on prend en priorité la valeur définie par constante ]
     23                        #SET{constant,#VAL{_NOIZETIER_PROFONDEUR_MAX}|defined|?{#EVAL{_NOIZETIER_PROFONDEUR_MAX}}}
     24                        [(#SAISIE{input, profondeur_max,
     25                                label=<:noizetier:configurer_profondeur_max_label:>,
     26                                explication=<:noizetier:explication_noizetier_profondeur_max:>[(#GET{constant}|oui)<br><:noizetier:explication_noizetier_cfg_constant:>],
     27                                readonly=#GET{constant}|?{oui},
     28                                disable=#GET{constant}|?{oui},
     29                                valeur_forcee=#GET{constant},
     30                                defaut=#GET{constant},
    2531                        })]
    26                 </div>
    2732
    28                 [(#REM) Il faut exclure les types d'objet qui n'ont pas de page explicitement détectable par le noiZetier pour
     33                        [(#REM) Il faut exclure les types d'objet qui n'ont pas de page explicitement détectable par le noiZetier pour
    2934                        ne proposer que les types d'objet potentiellement utilisables ]
    30                 <div class="editer-groupe">
    31                 [(#SAISIE{choisir_objets, objets_noisettes,
    32                         label=<:noizetier:configurer_objets_noisettes_label:>,
    33                         explication=<:noizetier:configurer_objets_noisettes_explication:>,
    34                         exclus=#ENV{_objets_exclus}})]
     35                        [(#SAISIE{choisir_objets, objets_noisettes,
     36                                label=<:noizetier:configurer_objets_noisettes_label:>,
     37                                explication=<:noizetier:configurer_objets_noisettes_explication:>,
     38                                exclus=#ENV{_objets_exclus}})]
    3539                </div>
    3640
  • _plugins_/noizetier/trunk/formulaires/inclure/inc-input_type_noisette.html

    r112547 r112573  
    1313                class="item noisette"
    1414                data-type_noisette="[(#ENV{type_noisette}|attribut_html)]"
     15                data-est_conteneur="[(#ENV{conteneur}|attribut_html)]"
    1516        >
    1617                <div class="resume">
  • _plugins_/noizetier/trunk/formulaires/inclure/inc-liste_types_noisette.html

    r112538 r112573  
    2626                        <INCLURE{fond=formulaires/inclure/inc-input_type_noisette,
    2727                                type_noisette,
     28                                conteneur,
    2829                                nom=#NOM,
    2930                                icon,
     
    4445                        <INCLURE{fond=formulaires/inclure/inc-input_type_noisette,
    4546                                type_noisette,
     47                                conteneur,
    4648                                nom=#NOM,
    4749                                icon,
     
    6163                        <INCLURE{fond=formulaires/inclure/inc-input_type_noisette,
    6264                                type_noisette,
     65                                conteneur,
    6366                                nom=#NOM,
    6467                                icon,
  • _plugins_/noizetier/trunk/formulaires/inclure/inc-resume_noisette.html

    r112547 r112573  
     1[(#REM)
     2
     3        Résumé d'une noisette : nom, aperçu du contenu et boutons d'édition
     4
     5        Paramètres :
     6                **obligatoires
     7                *conseillé
     8
     9                - **id_noisette
     10                - **profondeur : profondeur du conteneur
     11                - **nb_noisettes : nombre total de noisettes du conteneur
     12                - url_page : URL vers la page appelante
     13                - url_add : URL vers la page d'ajout
     14                - bloc : nom du bloc Z
     15]
    116<BOUCLE_noisette(NOISETTES){id_noisette}>
    217<div[ class="(#ENV{classe})"]>
     
    5974                        [(#EST_CONTENEUR|=={oui}|et{#GET{type_noisette_disponible}}|oui)
    6075                                #SET{conteneur, #CONTENEUR_IDENTIFIER{noizetier, #ARRAY{type_noisette, #TYPE_NOISETTE, id_noisette, #ID_NOISETTE}}
    61                                 [<li class="groupe">
    62                                         <a href="(#ENV{url_add}
    63                                                 |parametre_url{type_noisette, #TYPE_NOISETTE}
    64                                                 |parametre_url{id_noisette, #ID_NOISETTE}
    65                                                 |parametre_url{profondeur, #ENV{profondeur}})">
    66                                                 <:noizetier:formulaire_ajouter_noisette_conteneur:>
    67                                         </a>
    68                                 </li>]
     76                                [(#REM) Bouton d'ajout de noisette à un conteneur si profondeur ok ]
     77                                #SET{profondeur_max,#VAL{_NOIZETIER_PROFONDEUR_MAX}|defined|?{#EVAL{_NOIZETIER_PROFONDEUR_MAX},#CONFIG{noizetier/profondeur_max}}}
     78                                #SET{profondeur_ok,#GET{profondeur_max}|non|ou{#ENV{profondeur}|<={#GET{profondeur_max}}}}
     79                                [(#GET{profondeur_ok}|oui)
     80                                        [<li class="groupe">
     81                                                <a href="(#ENV{url_add}
     82                                                        |parametre_url{type_noisette, #TYPE_NOISETTE}
     83                                                        |parametre_url{id_noisette, #ID_NOISETTE}
     84                                                        |parametre_url{profondeur, #ENV{profondeur}})">
     85                                                        <:noizetier:formulaire_ajouter_noisette_conteneur:>
     86                                                </a>
     87                                        </li>]
     88                                ]
    6989                                [<li>
    7090                                        <a href="(#URL_ACTION_AUTEUR{vider_conteneur, [(#GET{conteneur})], #ENV{url_page}#bloc-#ENV{bloc}})">
  • _plugins_/noizetier/trunk/formulaires/lister_noisettes_bloc.html

    r112547 r112573  
    44#SET{self, #GET{self}|parametre_url{page, #ENV{page}}}
    55#SET{self, #GET{self}|parametre_url{bloc, #ENV{bloc}}}
     6#SET{profondeur_max, #VAL{_NOIZETIER_PROFONDEUR_MAX}|defined|?{#EVAL{_NOIZETIER_PROFONDEUR_MAX},#CONFIG{noizetier/profondeur_max}}}
     7[(#ENV{page}|?{
     8        #SET{url_add, #URL_ECRIRE{noisette_add, page=#ENV{page}&bloc=#ENV{bloc}}},
     9        #SET{url_add, #URL_ECRIRE{noisette_add, objet=#ENV{objet}&id_objet=#ENV{id_objet}&bloc=#ENV{bloc}}}
     10})]
     11#SET{infos_bloc, #NOIZETIER_BLOC_INFOS{#ENV{bloc}}}
    612<form method="post" action="#ENV{action}">
    713        [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ]
     
    1218        [#BOITE_OUVRIR{'','success'}(#ENV*{message_ok})#BOITE_FERMER]
    1319
    14         [(#ENV{page}|?{
    15                 #SET{url_add, #URL_ECRIRE{noisette_add, page=#ENV{page}&bloc=#ENV{bloc}}},
    16                 #SET{url_add, #URL_ECRIRE{noisette_add, objet=#ENV{objet}&id_objet=#ENV{id_objet}&bloc=#ENV{bloc}}}
    17         })]
    18 
    19         #SET{infos_bloc, #NOIZETIER_BLOC_INFOS{#ENV{bloc}}}
    2020        <a name="bloc-#ENV{bloc}"></a>
    2121        [(#BOITE_OUVRIR{#GET{infos_bloc/nom}, simple, titrem})]
     
    2424                <ul
    2525                        class="editer-groupe liste-items liste-noisettes liste-noisettes-bloc"
    26                         [data-id_conteneur="(#ENV{id_conteneur}|attribut_html)"]
     26                        data-conteneur="[(#ENV{id_conteneur}|attribut_html)]"
     27                        data-profondeur_max="[(#GET{profondeur_max})]"
    2728                >
    28                 <BOUCLE_noisettes(NOISETTES){plugin=noizetier}{id_conteneur?}{par rang_noisette}>
     29                <BOUCLE_noisettes(NOISETTES)
     30                        {plugin = noizetier}
     31                        {id_conteneur?}
     32                        {par rang_noisette}
     33                >
    2934                        #SET{profondeur, 0}
    30                         #SET{conteneur, #CONTENEUR_IDENTIFIER{noizetier, #ARRAY{type_noisette, #TYPE_NOISETTE, id_noisette, #ID_NOISETTE}}}
     35                        #SET{id_conteneur, #CONTENEUR_IDENTIFIER{noizetier, #ARRAY{type_noisette, #TYPE_NOISETTE, id_noisette, #ID_NOISETTE}}}
    3136                        <li
    32                                 class="editer item noisette"
     37                                class="editer item noisette[ (#EST_CONTENEUR|=={oui}|oui)noisette_conteneur]"
    3338                                id="noisette-#ID_NOISETTE"
    3439                                data-id_noisette="#ID_NOISETTE"
    35                                 [data-rang="(#RANG_NOISETTE)"]
    36                                 [data-est_conteneur="(#EST_CONTENEUR|attribut_html)"]
    37                                 [data-conteneur="(#GET{conteneur}|attribut_html)"]
    38                                 [data-profondeur="(#GET{profondeur})"]
     40                                data-rang="#RANG_NOISETTE"
     41                                data-profondeur="[(#GET{profondeur})]"
     42                                data-est_conteneur="[(#EST_CONTENEUR|attribut_html)]"
     43                                [(#EST_CONTENEUR|=={oui}|oui)data-conteneur="[(#GET{id_conteneur}|attribut_html)]"]
    3944                        >
    4045                                <INCLURE{fond=formulaires/inclure/inc-resume_noisette,
     
    5257                                <B_noisettes_enfants>
    5358                                <ul class="liste-noisettes-conteneur">
    54                                 <BOUCLE_noisettes_enfants(NOISETTES){plugin=noizetier}{id_conteneur=#GET{conteneur}}{par rang_noisette}>
     59                                <BOUCLE_noisettes_enfants(NOISETTES)
     60                                        {plugin = noizetier}
     61                                        {id_conteneur = #GET{id_conteneur}}
     62                                        {par rang_noisette}
     63                                >
    5564                                        #SET{profondeur, #GET{profondeur}|plus{1}}
    56                                         #SET{conteneur, #CONTENEUR_IDENTIFIER{noizetier, #ARRAY{type_noisette, #TYPE_NOISETTE, id_noisette, #ID_NOISETTE}}}
     65                                        #SET{id_conteneur, #CONTENEUR_IDENTIFIER{noizetier, #ARRAY{type_noisette, #TYPE_NOISETTE, id_noisette, #ID_NOISETTE}}}
    5766                                        <li
    58                                                 class="editer item noisette"
     67                                                class="editer item noisette[ (#EST_CONTENEUR|=={oui}|oui)noisette_conteneur]"
    5968                                                id="noisette-#ID_NOISETTE"
    6069                                                data-id_noisette="#ID_NOISETTE"
    61                                                 [data-rang="(#RANG_NOISETTE)"]
    62                                                 [data-est_conteneur="(#EST_CONTENEUR|attribut_html)"]
    63                                                 [data-conteneur="(#GET{conteneur}|attribut_html)"]
    64                                                 [data-profondeur="(#GET{profondeur})"]
     70                                                data-rang="#RANG_NOISETTE"
     71                                                data-profondeur="[(#GET{profondeur})]"
     72                                                data-est_conteneur="[(#EST_CONTENEUR|attribut_html)]"
     73                                                [(#EST_CONTENEUR|=={oui}|oui)data-conteneur="[(#GET{id_conteneur}|attribut_html)]"]
    6574                                        >
    6675                                                <INCLURE{fond=formulaires/inclure/inc-resume_noisette,
     
    103112                <ul
    104113                        class="editer-groupe liste-items liste-noisettes liste-noisettes-bloc aucun"
    105                         [data-id_conteneur="(#ENV{id_conteneur}|attribut_html)"]
     114                        data-conteneur="[(#ENV{id_conteneur}|attribut_html)]"
     115                        data-profondeur_max="[(#GET{profondeur_max})]"
    106116                >
    107117                        <li class="editer item">
  • _plugins_/noizetier/trunk/lang/noizetier_fr.php

    r112561 r112573  
    2828        'configurer_objets_noisettes_explication' => 'Sur ces types de contenus, il sera permis de personnaliser les noisettes <strong>contenu par contenu</strong>.',
    2929        'configurer_objets_noisettes_label' => 'Autoriser la personnalisation par contenu sur :',
     30        'configurer_profondeur_max_label' => 'Profondeur d\'imbrication',
     31        'configurer_ajax_noisette_label' => 'Inclusion AJAX',
     32        'configurer_balise_noisette_label' => 'Balise englobante',
    3033        'configurer_titre' => 'Configuration du noiZetier',
    3134        'copie_de' => 'Copie de @source@',
     
    6871        'explication_noizetier_ajax' => 'Le mode par défaut d’inclusion AJAX peut être modifié unitairement pour chaque noisette (fichier YAML).',
    6972        'explication_noizetier_balise' => 'Le mode par défaut d’inclusion dans une balise englobante peut être modifié unitairement pour chaque noisette (paramètrage).',
    70         'explication_noizetier_profondeur_max' => 'Vous pouvez imbriquer des noisettes de type conteneur. Choisissez le nombre de niveaux d’imbrication souhaité.',
     73        'explication_noizetier_profondeur_max' => 'Les noisettes peuvent s\'imbriquer au moyen des noisettes de type conteneur. Vous pouvez définir un nombre maximal de niveaux d’imbrication.',
     74        'explication_noizetier_cfg_constant' => 'Cette valeur est actuellement définie via une constante, elle ne peut pas être changée ici.',
    7175        'explication_objet' => 'Contenu de type « @type@ »',
    7276        'explication_page' => 'Page autonome non liée à un type de contenu',
     
    205209        'option_noizetier_balise_non' => 'sans balise',
    206210        'option_noizetier_balise_oui' => 'avec balise',
    207         'option_profondeur_max_1' => '1 niveau',
    208         'option_profondeur_max_2' => '2 niveaux',
    209211        'oui' => 'Oui',
    210212
  • _plugins_/noizetier/trunk/noizetier_administrations.php

    r110401 r112573  
    3131                'balise_noisette' => 'on',
    3232                'ajax_noisette' => 'on',
    33                 'profondeur_max' => 1,
     33                'profondeur_max' => '',
    3434        );
    3535
  • _plugins_/noizetier/trunk/paquet.xml

    r112569 r112573  
    22        prefix="noizetier"
    33        categorie="maintenance"
    4         version="3.0.26"
     4        version="3.0.27"
    55        etat="dev"
    66        compatibilite="[3.0.0;3.2.*]"
  • _plugins_/noizetier/trunk/prive/squelettes/navigation/noizetier_page.html

    r112569 r112573  
    4242
    4343        <script type="text/javascript">/*<!\[CDATA\[*/
     44
    4445                jQuery('.noisettes_disponibles').show();
    45                 // Édition dans une popup
     46
     47                /**
     48                 * Éditer les noisettes dans des modales
     49                 */
    4650                jQuery('.liste-noisettes a.bouton-modifier').click(function(){
    4751                        var noisette = jQuery(this).parents('.noisette').eq(0);
     
    5256                        return false;
    5357                });
    54                 // Rend les noisettes réordonnables
    55                 jQuery('.liste-noisettes-bloc')
    56                 .sortable({
     58
     59                /**
     60                 * Réordonner les noisettes par glisser-déposer
     61                 */
     62                jQuery('.liste-noisettes-bloc').sortable({
    5763                        items: '.noisette',
    58                         containment: '.liste-noisettes-bloc',
     64                        //containment: '.liste-noisettes-bloc',
    5965                        revert: true,
    6066                        opacity: 0.66,
    6167                        placeholder: 'ui-state-highlight',
    6268                        forcePlaceholderSize: 1,
    63                         // Event : début de l'ordonnancement fini, DOM pas encore changé
    64                         // Noter le conteneur d'origine
     69
     70                        // Event : début du tri
     71                        // Noter le conteneur d'origine et les conteneurs où on ne peut pas relâcher les noisettes
    6572                        start: function( event, ui ) {
    66                                 var liste = $(this);
    67                                 var noisette = ui.item;
    68                                 liste.addClass('receptacle');
    69                                 if (noisette.parents('.noisette[data-conteneur]').length) {
    70                                         id_conteneur = noisette.parents('.noisette[data-conteneur]').data('conteneur');
    71                                 } else {
    72                                         id_conteneur = liste.data('id_conteneur');
     73                                //console.log('start');
     74                                var liste          = $(this);
     75                                var noisette       = ui.item;
     76                                var est_conteneur  = noisette.data('est_conteneur');
     77                                var profondeur_max = liste.data('profondeur_max');
     78
     79                                liste.addClass('sorting');
     80
     81                                // Noter le conteneur d'origine
     82                                id_conteneur = noisette.parents('[data-conteneur]').data('conteneur');
     83                                noisette.data('id_conteneur_origine', id_conteneur);
     84
     85                                // Noter les conteneurs où on ne peut pas relâcher la noisette
     86                                // On teste en fonction de la profondeur
     87                                // Si la noisette est elle-même un conteneur, un niveau de moins
     88                                if ($.isNumeric(profondeur_max)) {
     89                                        /*if (est_conteneur == 'oui') {
     90                                                profondeur_max =- 1;
     91                                        }*/
     92                                        liste.find('[data-conteneur]').each( function(i) {
     93                                                        var profondeur = $(this).data('profondeur') - 1;
     94                                                        // profondeur +1 pour les noisettes conteneur
     95                                                        if (est_conteneur == 'oui') {
     96                                                                profondeur += 1;
     97                                                        }
     98                                                        if (profondeur >= profondeur_max) {
     99                                                                $(this).data('receive', false).addClass('recevoir_non');
     100                                                        }
     101                                        });
    73102                                }
    74                                 noisette.data('id_conteneur_origine', id_conteneur);
    75103                        },
    76                         // Event : stop
    77                         stop: function( event, ui ) {
    78                                 var liste = $(this);
    79                                 var noisette = ui.item;
    80                                 liste.removeClass('receptacle');
    81                         },
    82                         // Event : ordonnancement fini, DOM modifié
     104
     105                        // Event : si le DOM est modifié
    83106                        // Changer le rang d'une noisette, ou bien en créer une nouvelle
    84107                        update: function( event, ui ) {
    85                                 var liste = $(this);
    86                                 var noisette = ui.item;
    87                                 var id_noisette = noisette.data('id_noisette');
    88                                 var id_conteneur;
    89 
    90                                 // Conteneur où on a relaché la noisette (noisette ou racine)
    91                                 if (noisette.parents('.noisette[data-conteneur]').length) {
    92                                         id_conteneur_destination = noisette.parents('.noisette[data-conteneur]').data('conteneur');
    93                                 } else {
    94                                         id_conteneur_destination = liste.data('id_conteneur');
    95                                 }
     108                                //console.log('update');
     109                                var liste            = $(this);
     110                                var noisette         = ui.item;
     111                                var id_noisette      = noisette.data('id_noisette');
     112                                var profondeur_max   = liste.data('profondeur_max');
     113                                var id_conteneur_origine = noisette.data('id_conteneur_origine');
     114                                var ajouter          = noisette.data('ajouter');
     115
     116                                // Trouver le conteneur où on a relaché la noisette
     117                                var id_conteneur_destination = noisette.parents('[data-conteneur]').data('conteneur');
    96118
    97119                                // Trouver le nouveau rang
     
    105127                                }
    106128
    107                                 // Actions
    108                                 // On ajoute la noisette si c'est un clone issu de .draggable()
    109                                 if (
    110                                         noisette.hasClass('clone')
    111                                         && typeof(id_conteneur != 'undefined')
    112                                 ) {
     129                                // ACTIONS
     130
     131                                // 1) Annuler si on a pas le droit de relacher à cette profondeur.
     132                                // Nb : on ne peut pas annuler dans les events en amont car on a pas encore les infos sur l'endroit où est relâché l'item.
     133                                var annuler = (noisette.parents('[data-conteneur]').data('receive') === false);
     134                                if (annuler) {
     135                                        //console.log('noisette: annuler');
     136                                        noisette.animateRemove(function(){liste.ajaxReload()});
     137
     138                                // 2) Ajouter la noisette si c'est un clone issu de .draggable()
     139                                } else if (!annuler && ajouter === true) {
     140                                        //console.log('noisette: ajouter');
    113141                                        var type_noisette = noisette.data('type_noisette');
    114142                                        var params = {
     
    126154                                                cache: false,
    127155                                        }).done(function(data) {
    128                                                 noisette.endLoading(true).removeClass('clone');
     156                                                noisette.endLoading(true);
    129157                                                if (data.success.length) {
    130158                                                        var id_noisette = data.success;
     
    141169                                        });
    142170
    143                                 // Sinon on la déplace
    144                                 } else {
     171                                // 3) Déplacer la noisette
     172                                } else if (!annuler) {
     173                                        //console.log('noisette : deplacer');
    145174                                        var id_conteneur_origine = noisette.data('id_conteneur_origine');
    146175                                        var params = {
     
    150179                                                _id_conteneur_destination: id_conteneur_destination,
    151180                                        };
    152                                         console.log(params);
     181                                        //console.log(params);
    153182                                        var action = '[(#VAL{deplacer_noisette_ajax}|generer_url_action{"",1})]';
    154183                                        $.ajax({
     
    167196                                                }
    168197                                        });
    169                                 }
     198                                }       
     199                        },
     200
     201                        // Event : fin du tri
     202                        // Faire le ménage
     203                        stop: function( event, ui ) {
     204                                //console.log('stop');
     205                                var liste = $(this);
     206                                liste
     207                                        .removeClass('sorting')
     208                                        .find('[data-conteneur]').each( function(i) {
     209                                        $(this).data('receive', null).removeClass('recevoir_non');
     210                                });
    170211                        }
    171212                });
    172                 // Rend les noisettes déplaçables par drag and drop
    173                 // La traitement se fait dans .sortable()
     213
     214                /**
     215                 * Ajouter des noisettes par glisser-déposer
     216                 * La traitement se fait dans .sortable()
     217                 */
    174218                jQuery('.liste-noisettes-disponibles .noisette').draggable({
    175219                        connectToSortable: '.liste-noisettes-bloc',
    176220                        containment: '.liste-noisettes-bloc',
    177                         helper: 'clone', // Doit correspondre à ce qu'il y a dans .sortable()
     221                        helper: 'clone', // Super important
    178222                        cursor: 'move',
    179223                        opacity: 0.66,
    180                         start: function( event, ui ) {
    181                                 var liste = $(this);
    182                                 liste.addClass('receptacle');
    183                         },
     224                        // Event : fin
     225                        // On tag la noisette pour la repérer dans .sortable()
    184226                        stop: function( event, ui ) {
    185                                 var liste = $(this);
    186                                 var noisette = ui.helper;
    187                                 noisette.addClass('clone');
    188                                 liste.removeClass('receptacle');
     227                                ui.helper.data('ajouter', true);
    189228                        }
    190229                });
    191                 // Position fixe lors du scroll
     230
     231                /**
     232                 * Liste des noisettes disponibles en sticky
     233                 */
    192234                noisettes_dispos_sticky = function(){
    193235                        var container = $(".noisettes_disponibles");
  • _plugins_/noizetier/trunk/prive/style_prive_plugin_noizetier.html

    r112547 r112573  
    7171.liste-noisettes-bloc .noisette {
    7272        overflow: visible;
    73 }
    74 .liste-noisettes-bloc .noisette.ui-draggable {
    75         width: auto !important;
    76 }
     73        padding: 0;
     74}
     75.liste-noisettes-bloc .noisette:hover {
     76        background: transparent;
     77}
     78.liste-noisettes-bloc .noisette__content {
     79        display: flex;
     80        padding: 0.5em 0;
     81        transition: background 0.2s;
     82}
     83.liste-noisettes-bloc .noisette__content:hover {
     84        background-color: [#(#GET{claire}|couleur_eclaircir|couleur_eclaircir)];
     85}
     86/* noisettes enfantes */
    7787.liste-noisettes-conteneur {
    7888        padding-left: 32px;
    79         margin-top: 0.6925em;
    80 }
    81 .liste-noisettes-conteneur.placebo {
    82         margin: 0;
    83 }
    84 .liste-noisettes-conteneur.placebo .noisette {
     89}
     90.liste-noisettes-conteneur .noisette.placebo {
    8591        padding: 0;
    8692        border: none !important;
    87         height: 0.5em; /* Important, permet le drag and drop */
     93        height: 0.25em; /* Permet le drag and drop sur les conteneurs vides */
    8894}
    8995.liste-noisettes-conteneur > .noisette:first-child {
     
    9399        border-bottom: 0;
    94100}
    95 .liste-noisettes-conteneur .noisette:last-child {
    96         padding-bottom: 0;
    97 }
    98 .liste-noisettes-bloc .noisette__content {
     101/* résumés */
     102.liste-noisettes .noisette .resume {
     103        flex: 1 0 auto;
    99104        display: flex;
    100 }
     105        flex-flow: row wrap;
     106        align-items: center;
     107}
     108.liste-noisettes .noisette .resume__icone {
     109        margin-right: 0.5em;
     110}
     111.liste-noisettes .noisette .resume__content {
     112        flex: 1 0 100%;
     113        margin-left: calc(24px + 0.5em);
     114        margin-top: 0.5em;
     115}
     116/* menu edition */
    101117.liste-noisettes-bloc .noisette .edition {
    102118        flex: 0 1 auto;
     
    143159        color: #333;
    144160}
    145 
    146 /* résumés */
    147 .liste-noisettes .noisette .resume {
    148         flex: 1 0 auto;
    149         display: flex;
    150         flex-flow: row wrap;
    151         align-items: center;
    152 }
    153 .liste-noisettes .noisette .resume__icone {
    154         margin-right: 0.5em;
    155 }
    156 .liste-noisettes .noisette .resume__content {
    157         flex: 1 0 100%;
    158         margin-left: calc(24px + 0.5em);
    159         margin-top: 0.5em;
    160 }
     161/* Ajustements et aides visuelles glisser-déposer */
     162.liste-noisettes-bloc .noisette.ui-draggable {
     163        width: auto !important;
     164}
     165.liste-noisettes-bloc.sorting .noisette .noisette__content {
     166        background-color: [#(#GET{claire}|couleur_eclaircir|couleur_eclaircir)];
     167}
     168.liste-noisettes-bloc.sorting .noisette.recevoir_non .noisette__content {
     169        opacity: 0.5;
     170        background-color: transparent;
     171}
     172
     173/*
     174.liste-noisettes-bloc.sorting .noisette.profondeur-max .noisette__content {
     175        background-color: transparent;
     176}
     177.liste-noisettes-bloc.sorting .profondeur-max {
     178        opacity: 0.5;
     179}*/
    161180
    162181/* Styles du formulaire d'édition d'une page (editer_page) */
Note: See TracChangeset for help on using the changeset viewer.