Changeset 110102 in spip-zone


Ignore:
Timestamp:
May 4, 2018, 5:08:02 PM (22 months ago)
Author:
eric@…
Message:

Simplification de la boucle d'affichage des noisettes d'un bloc.
Retour de la liste des types de noisette dans la navigation avec scroll (mais y a un souci quand même).
La liste des blocs passe dans le contenu de la page en onglets de second niveau. A voir.

Location:
_plugins_/noizetier/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/noizetier/trunk/bloc_compiler.html

    r110066 r110102  
    1 #SET{type, #OBJET|?{'', #ENV{type, #ENV{type-page, #ENV{page}}}}}
    2 #SET{composition, #OBJET|?{'', #ENV{composition}}}
    3 <BOUCLE_noisettes(NOISETTES){plugin=noizetier}{objet?}{id_objet?}{type=#GET{type}}{composition=#GET{composition}}{bloc=#ENV{bloc}}{par rang_noisette}>
     1<BOUCLE_noisettes(NOISETTES)
     2        {plugin=noizetier}
     3        {id_conteneur=#ENV{id_conteneur}}
     4        {par rang_noisette}>
    45        <BOUCLE_si_conteneur(CONDITION) {si #EST_CONTENEUR|=={oui}}>
    56                #SET{conteneur, #ARRAY{type_noisette, #TYPE_NOISETTE, id_noisette, #ID_NOISETTE}}
     
    89                        [<(#GET{balise}) class="noisette noisette_#TYPE_NOISETTE[ (#PARAMETRES|unserialize|table_valeur{conteneur_css})]">]
    910                <BOUCLE_compilation_conteneur(NOISETTES)
     11                        {plugin=noizetier}
    1012                        {id_conteneur=#CONTENEUR_IDENTIFIER{noizetier, #GET{conteneur}, #ENV{stockage}}}
    1113                        {par rang_noisette}>
  • _plugins_/noizetier/trunk/formulaires/ajouter_noisette.html

    r110077 r110102  
    88                parametre : url d'action ]
    99                #ACTION_FORMULAIRE{#ENV{action}}
    10                 <input type="hidden" name="id_conteneur" value="#ENV{id_conteneur}" />
     10                <input type="hidden" name="conteneur_id" value="#ENV{id_conteneur}" />
    1111                <h3 class="titrem"><:noizetier:noisettes_disponibles:></h3>
    12                 [(#ENV{noisette/id_noisette}|>{0}|?{
    13                         #SET{exclusion, conteneur!='non'},
    14                         #SET{exclusion, ''}
     12                [(#ENV{id_noisette}|>{0}|?{
     13                        #SET{critere, conteneur!='oui'},
     14                        #SET{critere, ''}
    1515                })]
    1616                <INCLURE{fond=formulaires/inclure/inc-liste_types_noisette,
     
    1818                        objet,
    1919                        id_objet,
    20                         where=#GET{exclusion},
     20                        where=#GET{critere},
    2121                        input_radio=on} />
    2222
  • _plugins_/noizetier/trunk/formulaires/ajouter_noisette.php

    r110076 r110102  
    5959
    6060        // Récupération de l'identifiant du conteneur dans lequel ajouter les noisettes.
    61         $id_conteneur = _request('id_conteneur');
     61        $id_conteneur = _request('conteneur_id');
    6262
    6363        // Décomposition du conteneur en tableau associatif.
  • _plugins_/noizetier/trunk/noizetier_pipelines.php

    r109994 r110102  
    6868                                        $contexte['bloc'] = $bloc;
    6969
     70                                        include_spip('inc/conteneur');
    7071                                        if ($par_objet) {
    7172                                                $contexte['objet'] = $objet;
    7273                                                $contexte['id_objet'] = $id_objet;
     74                                                $contexte['id_conteneur'] = noizetier_conteneur_composer($contexte, $bloc);
     75                                        } else {
     76                                                $page = !empty($contexte['type-page']) ? $contexte['type-page'] : $contexte['page'];
     77                                                $page .= !empty($contexte['composition']) ? '-' . $contexte['composition'] : '';
     78                                                $contexte['id_conteneur'] = noizetier_conteneur_composer($page, $bloc);
    7379                                        }
    7480
  • _plugins_/noizetier/trunk/prive/squelettes/contenu/noizetier_page.html

    r110076 r110102  
    3232        #BOITE_FERMER
    3333
     34        [(#REM) <!-- Liste des blocs configurables pour la page en cours --> ]
    3435        #SET{blocs, #ENV{page, #OBJET}|noizetier_page_lister_blocs}
    3536        #SET{bloc_affiche, #ENV{bloc}|sinon{#GET{blocs}|reset}}
     37        <INCLURE{fond=prive/squelettes/inclure/inc-nav_blocs,
     38                blocs=#GET{blocs},
     39                bloc_affiche=#GET{bloc_affiche},
     40                env} />
     41
     42        [(#REM) <!-- Liste configurable des noisettes du bloc affiché --> ]
    3643        <div class="ajax">
    3744                #FORMULAIRE_LISTER_NOISETTES_BLOC{#ENV{page, #ARRAY{objet,#OBJET,id_objet,#ID_OBJET}}, #GET{bloc_affiche}}
    3845        </div>
    39 
    40         [(#REM) <!-- Liste des types de noisette disponibles --> ]
    41         <h3><:noizetier:noisettes_disponibles:></h3>
    42         <p><:noizetier:explication_glisser_deposer:></p>
    43         <INCLURE{fond=formulaires/inclure/inc-liste_types_noisette,
    44                 page,
    45                 objet,
    46                 id_objet,
    47                 input_radio=''} />
    48         <script type="text/javascript">/*<!\[CDATA\[*/
    49                 jQuery('.noisettes_disponibles').show();
    50                 jQuery('ul.liste-noisettes-disponibles li.noisette').draggable({
    51                         connectToSortable: 'ul.liste-noisettes-bloc',
    52                         helper: 'clone',
    53                         revert: 'invalid',
    54                         cursor: 'move',
    55                         opacity: 0.5
    56                 });
    57         /*\]\]>*/</script>
    5846
    5947        [(#CONST{_AJAX}|oui)
  • _plugins_/noizetier/trunk/prive/squelettes/inclure/inc-nav_blocs.html

    r104888 r110102  
    11[(#REM) <!-- Navigation dans les blocs configurables de la page --> ]
    2 
    3 [(#ENV{page}|?{
    4         #SET{blocs, #ENV{page}|noizetier_page_lister_blocs},
    5         #SET{blocs, #NOIZETIER_OBJET_INFOS{#ENV{objet}, #ENV{id_objet}, blocs}}
    6 })]
    7 [(#ENV{bloc}|et{#ENV{bloc}|in_array{#GET{blocs}}}|?{
    8         #SET{bloc_affiche, #ENV{bloc}},
    9         #SET{bloc_affiche, #GET{blocs}|reset}
    10 })]
    112[(#SET{blocs_decompte, [(#ENV{page}|?{#ENV{page}, #ENV{objet}-#ENV{id_objet}}|noizetier_bloc_compter_noisettes)]})]
    12 [(#ENV{page}|?{
    13         #SET{url_base, #URL_ECRIRE{#ENV{exec}}|parametre_url{page, #ENV{page}}},
    14         #SET{url_base, #URL_ECRIRE{#ENV{exec}}|parametre_url{objet, #ENV{objet}}|parametre_url{id_objet, #ENV{id_objet}}}
    15 })]
    16 
    173<B_blocs>
    18 <br class="clear" />
    19 [<h3>(#VAL{noizetier:menu_blocs}|_T)</h3>]
    20 <ul class="liste-items sous_navigation">
    21 <BOUCLE_blocs(DATA){source table, #GET{blocs}}>
    22         #SET{nb_noisettes, #GET{blocs_decompte/#VALEUR}|sinon{0}}
    23         [<li class="item">
    24                 (#GET{url_base}
    25                         |parametre_url{bloc, #VALEUR}
    26                         |lien_ou_expose{
    27                                 #NOIZETIER_BLOC_INFOS{#VALEUR, nom}&nbsp;\(#GET{nb_noisettes}\),
    28                                 #VALEUR|=={#GET{bloc_affiche}}})
    29         </li>]
     4<div class="onglets_simple second clearfix">
     5        <ul class="blocs">
     6<BOUCLE_blocs(DATA){source table, #ENV{blocs}}>
     7                #SET{nb_noisettes, #GET{blocs_decompte/#VALEUR}|sinon{0}}
     8                [<li>
     9                        (#SELF
     10                                |parametre_url{bloc, #VALEUR}
     11                                |lien_ou_expose{
     12                                        #NOIZETIER_BLOC_INFOS{#VALEUR, nom}&nbsp;\(#GET{nb_noisettes}\),
     13                                        #VALEUR|=={#ENV{bloc_affiche}}})
     14                </li>]
    3015</BOUCLE_blocs>
    31 </ul>
     16        </ul>
     17</div>
    3218</B_blocs>
  • _plugins_/noizetier/trunk/prive/squelettes/navigation/noizetier_page.html

    r104958 r110102  
    3232        <//B_si_page>
    3333
    34         [(#REM) <!-- Liste des blocs configurables pour la page en cours --> ]
    35         <INCLURE{fond=prive/squelettes/inclure/inc-nav_blocs, env} />
     34        [(#REM) <!-- Liste des types de noisette disponibles --> ]
     35        [(#BOITE_OUVRIR{<:noizetier:noisettes_disponibles:>,'info noisettes_disponibles none'})]
     36                <p><:noizetier:explication_glisser_deposer:></p>
     37                <INCLURE{fond=formulaires/inclure/inc-liste_types_noisette,
     38                        page,
     39                        objet,
     40                        id_objet,
     41                        input_radio=''} />
     42        #BOITE_FERMER
     43        <br class="clear">
     44        <script type="text/javascript">/*<!\[CDATA\[*/
     45                jQuery('.noisettes_disponibles').show();
     46                jQuery('ul.liste-noisettes-disponibles li.noisette').draggable({
     47                        connectToSortable: 'ul.liste-noisettes-bloc',
     48                        containment: "ul.liste-noisettes-bloc",
     49                        helper: 'clone',
     50                        revert: 'invalid',
     51                        cursor: 'move',
     52                        opacity: 0.5
     53                });
     54                // Position fixe lors du scroll
     55                noisettes_dispos_sticky = function(){
     56                        var container = $(".noisettes_disponibles");
     57                        var limite = container.offset().top;
     58                        var largeur = container.width()+'px';
     59                        $(window).scroll(function() {
     60                                if($(this).scrollTop() > limite)
     61                                        container.addClass('is-stuck').css({'width': largeur});
     62                                if($(this).scrollTop() < limite)
     63                                        container.removeClass('is-stuck').css({'width': 'auto'});
     64                        });
     65                }
     66                noisettes_dispos_sticky();
     67        /*\]\]>*/</script>
    3668</BOUCLE_page_navigation>
    3769        [(#ENV{exec}|=={noisette_edit}|oui)<INCLURE{fond=prive/squelettes/navigation/noisette_edit,env}>]
  • _plugins_/noizetier/trunk/prive/style_prive_plugin_noizetier.html

    r110066 r110102  
    4949
    5050/* -- Liste des noisettes disponibles */
     51.noisettes_disponibles.is-stuck {
     52        position: fixed;
     53        top: 0;
     54        max-height: calc(100vh - 2.0775em); /* prendre en compte l'offset */
     55        overflow-y: auto;
     56}
    5157ul.liste-noisettes-disponibles li.noisette {padding-left: 30px; position:relative; min-height: 28px;}
    5258ul.liste-noisettes-disponibles li.noisette .icone {
Note: See TracChangeset for help on using the changeset viewer.