Changeset 110320 in spip-zone


Ignore:
Timestamp:
May 20, 2018, 4:23:03 PM (4 months ago)
Author:
eric@…
Message:

Renommage de certaines fonctions de l'API Pages.
Modification de l'ergonomie de configuration d'une page (noisettes) en basculant les boutons vers un menu plus facilement adaptable. C'est pas top encore mais le but est plus fonctionnel qu'ergonomique. Si des spécialistes UI veulent s'en occuper...

Location:
_plugins_/noizetier/trunk
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/noizetier/trunk/formulaires/editer_page.php

    r110308 r110320  
    275275                                $select = array('rang_noisette', 'type', 'composition', 'bloc', 'type_noisette', 'parametres');
    276276                                $from = 'spip_noisettes';
    277                                 $where = array('type=' . sql_quote($type_page), 'composition=' . sql_quote(noizetier_page_composition($page)));
     277                                $where = array('type=' . sql_quote($type_page), 'composition=' . sql_quote(noizetier_page_extraire_composition($page)));
    278278                                $noisettes_source = sql_allfetsel($select, $from, $where);
    279279                                // Injection des noisettes de la source dans la composition virtuelle en cours de création qui diffère
  • _plugins_/noizetier/trunk/formulaires/inclure/inc-resume_noisette.html

    r110216 r110320  
    2424        </div>
    2525
    26         <div class="edition">
    27         [(#ENV{nb_noisettes}|>{1}|oui)
    28                 [<a href="(#URL_ACTION_AUTEUR{deplacer_noisette, [haut:(#ID_NOISETTE):#ENV{nb_noisettes}], #ENV{url_page}})"
    29                         title="<:noizetier:formulaire_deplacer_haut:>">
    30                         [<img height="24" width="24" src="(#CHEMIN_IMAGE{noisette-up-24.png})" alt="" />]
    31                 </a>]
    32                 [<a href="(#URL_ACTION_AUTEUR{deplacer_noisette, [bas:(#ID_NOISETTE):#ENV{nb_noisettes}], #ENV{url_page}})"
    33                         title="<:noizetier:formulaire_deplacer_bas:>">
    34                         [<img height="24" width="24" src="(#CHEMIN_IMAGE{noisette-down-24.png})" alt="" />]
    35                 </a>]
    36         ]
    37         [(#EST_CONTENEUR|=={oui}|et{#GET{type_noisette_disponible}}|oui)
    38                 #SET{conteneur, #CONTENEUR_IDENTIFIER{noizetier, #ARRAY{type_noisette, #TYPE_NOISETTE, id_noisette, #ID_NOISETTE}}
    39                 [<a href="(#ENV{url_add}
    40                                 |parametre_url{type_noisette, #TYPE_NOISETTE}
    41                                 |parametre_url{id_noisette, #ID_NOISETTE}
    42                                 |parametre_url{profondeur, #ENV{profondeur}})"
    43                         title="<:noizetier:formulaire_ajouter_noisette_conteneur:>">
    44                         [<img height="24" width="24" src="(#CHEMIN_IMAGE{noisette-add-24.png})" alt="" />]
    45                 </a>]
    46                 [<a href="(#URL_ACTION_AUTEUR{vider_conteneur, [(#GET{conteneur})], #ENV{url_page}#bloc-#ENV{bloc}})"
    47                         title="<:noizetier:formulaire_supprimer_noisettes_noisette:>">
    48                         [<img height="24" width="24" src="(#CHEMIN_IMAGE{noizetier-del-24.png})" alt="" />]
    49                 </a>]
    50         ]
    51                 [<a href="(#URL_ACTION_AUTEUR{supprimer_noisette, [(#ID_NOISETTE)], #ENV{url_page}#bloc-#ENV{bloc}})"
    52                         title="<:noizetier:formulaire_supprimer_noisette:>">
    53                         [<img height="24" width="24" src="(#CHEMIN_IMAGE{noisette-del-24.png})" alt="" />]
    54                 </a>]
    55         [(#GET{type_noisette_disponible}|oui)
    56                         [<a href="(#URL_ECRIRE{noisette_edit}
    57                                         |parametre_url{id_noisette, #ID_NOISETTE})" class="visible"
    58                         title="<:noizetier:formulaire_modifier_noisette:>">
    59                         [<img height="24" width="24" src="(#CHEMIN_IMAGE{noisette-edit-24.png})" alt="" />]
    60                 </a>]
    61         ]
    62         </div>
     26        <ul class="edition">
     27                <li>
     28                        <a class="bouton-edition"[ href="#bouton-(#ID_NOISETTE)"] title="<:noizetier:label_menu_ouvrir:>">
     29                                [<img height="24" width="24" src="(#CHEMIN_IMAGE{menu-24.png})" alt="" />]
     30                        </a>
     31                        <ul class="menu-edition">
     32                        [(#GET{type_noisette_disponible}|oui)
     33                                [<li>
     34                                        <a href="(#URL_ECRIRE{noisette_edit}|parametre_url{id_noisette, #ID_NOISETTE})">
     35                                                <:noizetier:formulaire_modifier_noisette:>
     36                                        </a>
     37                                </li>]
     38                        ]
     39                                [<li>
     40                                        <a href="(#URL_ACTION_AUTEUR{supprimer_noisette, [(#ID_NOISETTE)], #ENV{url_page}#bloc-#ENV{bloc}})">
     41                                                <:noizetier:formulaire_supprimer_noisette:>
     42                                        </a>
     43                                </li>]
     44                        [(#ENV{nb_noisettes}|>{1}|oui)
     45                                [<li class="groupe">
     46                                        <a href="(#URL_ACTION_AUTEUR{deplacer_noisette, [haut:(#ID_NOISETTE):#ENV{nb_noisettes}], #ENV{url_page}})">
     47                                                <:noizetier:formulaire_deplacer_haut:>
     48                                        </a>
     49                                </li>]
     50                                [<li>
     51                                        <a href="(#URL_ACTION_AUTEUR{deplacer_noisette, [bas:(#ID_NOISETTE):#ENV{nb_noisettes}], #ENV{url_page}})">
     52                                                <:noizetier:formulaire_deplacer_bas:>
     53                                        </a>
     54                                </li>]
     55                        ]
     56                        [(#EST_CONTENEUR|=={oui}|et{#GET{type_noisette_disponible}}|oui)
     57                                #SET{conteneur, #CONTENEUR_IDENTIFIER{noizetier, #ARRAY{type_noisette, #TYPE_NOISETTE, id_noisette, #ID_NOISETTE}}
     58                                [<li class="groupe">
     59                                        <a href="(#ENV{url_add}
     60                                                |parametre_url{type_noisette, #TYPE_NOISETTE}
     61                                                |parametre_url{id_noisette, #ID_NOISETTE}
     62                                                |parametre_url{profondeur, #ENV{profondeur}})">
     63                                                <:noizetier:formulaire_ajouter_noisette_conteneur:>
     64                                        </a>
     65                                </li>]
     66                                [<li>
     67                                        <a href="(#URL_ACTION_AUTEUR{vider_conteneur, [(#GET{conteneur})], #ENV{url_page}#bloc-#ENV{bloc}})">
     68                                                <:noizetier:formulaire_supprimer_noisettes_noisette:>
     69                                        </a>
     70                                </li>]
     71                        ]
     72                        </ul>
     73                </li>
     74        </ul>
    6375</div>
    6476<input type="hidden" name="ordre[]" value="#ID_NOISETTE" />
    65 <input type="hidden" name="rangs_noisette[]" value="#RANG_NOISETTE" />
    66 <input type="hidden" name="conteneurs_noisette[]" value="#ID_CONTENEUR" />
    6777</BOUCLE_noisette>
  • _plugins_/noizetier/trunk/formulaires/lister_noisettes_bloc.html

    r110216 r110320  
    8383/*<!\[CDATA\[*/
    8484        [(#REM) <!-- Autoriser le tri des noisettes du bloc -->]
    85         jQuery('ul.liste-noisettes-bloc').sortable({
    86                 items: 'li.noisette',
    87                 axis: 'y',
    88                 opacity: 0.5,
    89                 connectWith: 'ul.liste-noisettes-bloc',
    90                 forcePlaceholderSize: true,
    91                 cursor: 'move',
    92                 update: function(event, ui) {
    93                         form = $(this).closest('form');
    94                         form.submit();
     85        // jQuery('ul.liste-noisettes-bloc').sortable({
     86        //      items: 'li.noisette',
     87        //      axis: 'y',
     88        //      opacity: 0.5,
     89        //      connectWith: 'ul.liste-noisettes-bloc',
     90        //      forcePlaceholderSize: true,
     91        //      cursor: 'move',
     92        //      update: function(event, ui) {
     93        //              form = $(this).closest('form');
     94        //              form.submit();
     95        //      }
     96        // });
     97
     98        [(#REM) <!-- Affichage du menu des actions de chaque noisette -->]
     99        $(function() {
     100                function afficherMenu (bouton) {
     101                        $(bouton).parents('ul').children('li').children('ul').addClass('visible');
    95102                }
    96         });
    97103
    98         [(#REM) <!-- Affichage ou effacement des boutons d'actions de chaque page -->]
    99         $(function(){
    100                 $('.item.noisette .edition a:not(.visible)').hide();
    101                 $('.item.noisette')
    102                         .hover(
    103                                 function(){
    104                                         $(this).find('.edition a').show();
    105                                 },
    106                                 function(){
    107                                         $(this).find('.edition a:not(.visible)').hide();
     104                function masquerMenu (bouton) {
     105                        $(bouton).parents('ul').children('li').children('ul').removeClass('visible');
     106                }
     107
     108                function toggleMenu (bouton) {
     109                        $(bouton).parents('ul').children('li').children('ul').toggleClass('visible');
     110                }
     111
     112                $('a.bouton-edition')
     113                        // .focusin(
     114                        //      function() {
     115                        //              afficherMenu(this);
     116                        //      }
     117                        // )
     118                        // .focusout(
     119                        //      function() {
     120                        //              masquerMenu(this);
     121                        //      }
     122                        // )
     123                        // .hover(
     124                        //      function() {
     125                        //              afficherMenu(this);
     126                        //      },
     127                        //      function() {
     128                        //              masquerMenu(this);
     129                        //      }
     130                        // )
     131                        .click(
     132                                function(event) {
     133                                        event.preventDefault();
     134                                        toggleMenu(this);
    108135                                }
    109136                        );
  • _plugins_/noizetier/trunk/inc/noizetier_conteneur.php

    r110223 r110320  
    6666 * @api
    6767 *
    68  * @uses noizetier_page_type()
    69  * @uses noizetier_page_composition()
     68 * @uses noizetier_page_extraire_type()
     69 * @uses noizetier_page_extraire_composition()
    7070 * @uses type_noisette_localiser()
    7171 *
     
    9393                // -- Type et composition
    9494                include_spip('inc/noizetier_page');
    95                 $conteneur['type'] = noizetier_page_type($conteneur['page']);
    96                 $conteneur['composition'] = noizetier_page_composition($conteneur['page']);
     95                $conteneur['type'] = noizetier_page_extraire_type($conteneur['page']);
     96                $conteneur['composition'] = noizetier_page_extraire_composition($conteneur['page']);
    9797        } else {
    9898                if ($elements[1] == 'noisette') {
  • _plugins_/noizetier/trunk/inc/noizetier_page.php

    r110273 r110320  
    2828
    2929        // Choisir le bon répertoire des pages
    30         $options['repertoire_pages'] = noizetier_page_repertoire();
     30        $options['repertoire_pages'] = noizetier_page_initialiser_dossier();
    3131
    3232        // Initialiser le contexte de rechargement
     
    5757                        $page = basename($_squelette, '.html');
    5858                        $dossier = dirname($_chemin);
    59                         $est_composition = noizetier_page_est_composition($page);
     59                        $est_composition = (noizetier_page_extraire_composition($page) == '');
    6060                        // Exclure certaines pages :
    6161                        // -- celles du privé situes dans prive/contenu
     
    249249 *              - soit le mot précédent le tiret dans le cas d'une composition.
    250250 */
    251 function noizetier_page_type($page) {
     251function noizetier_page_extraire_type($page) {
     252
    252253        $type = explode('-', $page, 2);
    253 
    254         return $type[0];
     254        $type = $type[0];
     255
     256        return $type;
    255257}
    256258
     
    267269 *              ou la chaine vide sinon.
    268270 */
    269 function noizetier_page_composition($page) {
     271function noizetier_page_extraire_composition($page) {
     272
    270273        $composition = explode('-', $page, 2);
    271274        $composition = isset($composition[1]) ? $composition[1] : '';
    272275
    273276        return $composition;
    274 }
    275 
    276 /**
    277  * Détermine, à partir de son identifiant, si la page est une composition.
    278  *
    279  * @api
    280  *
    281  * @param string $page
    282  *              L'identifiant de la page.
    283  *
    284  * @return boolean
    285  *      `true` si la page est une composition, `false` sinon.
    286  */
    287 function noizetier_page_est_composition($page) {
    288         $est_composition = false;
    289         if (strpos($page, '-') !== false) {
    290                 $est_composition = true;
    291         }
    292 
    293         return $est_composition;
    294277}
    295278
     
    328311 *              Le répertoire des pages sous la forme dossier/.
    329312 */
    330 function noizetier_page_repertoire() {
     313function noizetier_page_initialiser_dossier() {
    331314
    332315        if (defined('_NOIZETIER_REPERTOIRE_PAGES')) {
     
    367350                $where = array(
    368351                        'plugin=' . sql_quote('noizetier'),
    369                         'type=' . sql_quote(noizetier_page_type($page)),
    370                         'composition=' . sql_quote(noizetier_page_composition($page))
     352                        'type=' . sql_quote(noizetier_page_extraire_type($page)),
     353                        'composition=' . sql_quote(noizetier_page_extraire_composition($page))
    371354                );
    372355                $group = array('bloc');
     
    390373 * @internal
    391374 *
    392  * @uses noizetier_page_repertoire()
     375 * @uses noizetier_page_initialiser_dossier()
    393376 * @uses noizetier_bloc_defaut()
    394377 *
     
    405388        // Choisir le bon répertoire des pages
    406389        if (empty($options['repertoire_pages'])) {
    407                 $options['repertoire_pages'] = noizetier_page_repertoire();
     390                $options['repertoire_pages'] = noizetier_page_initialiser_dossier();
    408391        }
    409392
  • _plugins_/noizetier/trunk/lang/noizetier_fr.php

    r110308 r110320  
    7171        'formulaire_ajouter_noisette' => 'Ajouter une noisette',
    7272        'formulaire_ajouter_noisette_bloc' => 'Ajouter une noisette au bloc',
    73         'formulaire_ajouter_noisette_conteneur' => 'Ajouter une noisette à cette noisette conteneur',
     73        'formulaire_ajouter_noisette_conteneur' => 'Ajouter une noisette au conteneur',
    7474        'formulaire_blocs_exclus' => 'Blocs à exclure',
    7575        'formulaire_composition' => 'Identifiant de composition',
     
    111111        'formulaire_supprimer_noisette' => 'Supprimer cette noisette',
    112112        'formulaire_supprimer_noisettes_bloc' => 'Supprimer les noisettes du bloc',
    113         'formulaire_supprimer_noisettes_noisette' => 'Supprimer les noisettes incluses dans la noisette conteneur',
     113        'formulaire_supprimer_noisettes_noisette' => 'Supprimer les noisettes du conteneur',
    114114        'formulaire_supprimer_noisettes_page' => 'Supprimer toutes les noisettes',
    115115        'formulaire_supprimer_page' => 'Supprimer cette composition',
  • _plugins_/noizetier/trunk/noizetier_fonctions.php

    r110201 r110320  
    189189
    190190                // Détermination du répertoire par défaut
    191                 $repertoire = noizetier_page_repertoire();
     191                $repertoire = noizetier_page_initialiser_dossier();
    192192
    193193                // Récupération du md5 enregistré en base de données
     
    197197
    198198                if ($md5_enregistre) {
    199                         // On recherche d'abord le fichier YAML et sinon le fichier XML pou compatibilité ascendante.
     199                        // On recherche d'abord le fichier YAML et sinon le fichier XML pour la compatibilité ascendante.
    200200                        if (($fichier = find_in_path("${repertoire}${page}.yaml"))
    201201                        or ($fichier = find_in_path("${repertoire}${page}.xml"))) {
     
    215215
    216216                // Acquisition du type et de la composition éventuelle.
    217                 $type = noizetier_page_type($page);
    218                 $composition = noizetier_page_composition($page);
     217                $type = noizetier_page_extraire_type($page);
     218                $composition = noizetier_page_extraire_composition($page);
    219219
    220220                // Les compteurs de types de noisette d'une page sont calculés par une lecture de la table 'spip_types_noisettes'.
  • _plugins_/noizetier/trunk/noizetier_pipelines.php

    r110250 r110320  
    5555                                        // Si une composition est définie et si elle n'est pas déjà dans le fond, on l'ajoute au fond
    5656                                        // sauf s'il s'agit d'une page de type page (les squelettes page.html assurant la redirection)
    57                                         if ($composition != '' and noizetier_page_composition($page) == '' and noizetier_page_type($page) != 'page') {
     57                                        if ($composition != '' and noizetier_page_extraire_composition($page) == '' and noizetier_page_extraire_type($page) != 'page') {
    5858                                                $page .= '-'.$composition;
    5959                                        }
  • _plugins_/noizetier/trunk/prive/style_prive_plugin_noizetier.html

    r110248 r110320  
    6767
    6868/* -- Liste des noisettes incluses dans un bloc */
    69 ul.liste-noisettes-bloc li.noisette {padding-left: 30px; padding-right: 120px; position:relative; min-height: 36px;}
     69ul.liste-noisettes-bloc {overflow: visible;}
     70ul.liste-noisettes-bloc li.noisette {padding-left: 30px; padding-right: 120px; position:relative; min-height: 36px; overflow: visible;}
    7071ul.liste-noisettes-bloc li.noisette .resume .icone {
    7172        position: absolute;
     
    7677        height: 24px;
    7778        overflow: hidden;}
     79ul.liste-noisettes-bloc li.noisette .conteneur-1 {margin-left: 30px;}
     80ul.liste-noisettes-bloc li.noisette .conteneur-1 .icone {left: 30px;}
     81ul.liste-noisettes-bloc li.noisette .conteneur-2 {margin-left: 60px;}
     82ul.liste-noisettes-bloc li.noisette .conteneur-2 .icone {left: 60px;}
    7883ul.liste-noisettes-bloc li.noisette .edition {
    7984        position: absolute;
     
    8287        text-align: right;}
    8388ul.liste-noisettes-bloc li.noisette .edition a {margin-left: 2px; text-decoration: none;}
    84 ul.liste-noisettes-bloc li.noisette .edition a:not(.visible) {display: none;}
    85 ul.liste-noisettes-bloc li.noisette .conteneur-1 {margin-left: 30px;}
    86 ul.liste-noisettes-bloc li.noisette .conteneur-1 .icone {left: 30px;}
    87 ul.liste-noisettes-bloc li.noisette .conteneur-2 {margin-left: 60px;}
    88 ul.liste-noisettes-bloc li.noisette .conteneur-2 .icone {left: 60px;}
     89ul.liste-noisettes-bloc li.noisette .edition ul.menu-edition:not(.visible) {display: none;}
     90ul.liste-noisettes-bloc li.noisette .edition ul.menu-edition.visible {
     91        position: relative;
     92        top: -5px;
     93        left: 295px;
     94        min-width: 250px;
     95        z-index: 5000;
     96        float: left;
     97        text-align: left;
     98        padding: 5px;
     99        /*border: 1px solid #ccc;*/
     100        background-color: white;
     101        box-shadow: 3px 3px 3px #ccc; -moz-box-shadow: 3px 3px 3px #ccc; -webkit-box-shadow: 3px 3px 3px #ccc;
     102        border-radius: 2px; -moz-border-radius: 2px; -webkit-border-radius: 2px;
     103        font-size: 0.90em;
     104}
     105ul.liste-noisettes-bloc li.noisette .edition ul.menu-edition.visible li {padding-top: 2px; padding-bottom: 2px;}
     106ul.liste-noisettes-bloc li.noisette .edition ul.menu-edition.visible li:hover {background-color: #eee; text-decoration: underline;}
     107ul.liste-noisettes-bloc li.noisette .edition ul.menu-edition.visible li.groupe {border-top: 1px solid #ccc;}
     108ul.liste-noisettes-bloc li.noisette .edition ul.menu-edition.visible a {color: #333;}
    89109
    90110/* Styles du formulaire d'édition d'une page (editer_page) */
Note: See TracChangeset for help on using the changeset viewer.