Changeset 91595 in spip-zone


Ignore:
Timestamp:
Sep 2, 2015, 10:58:54 PM (4 years ago)
Author:
marcimat@…
Message:

On fait en sorte que les icones (d'objet) aient une curseur "move" et qu'un clic dessus ne renvoie pas sur la fiche de l'objet.
De la sorte, on peut sélectionner plusieurs articles, pour les déplacer (control + clic pour ajouter un élément à la sélection).

+ Faire en sorte de ne pas recharger tout '#contenu' mais juste un nouveau '#plan' (ainsi on pourra ajouter des messages dans contenu sans qu'ils s'effacent aussitôt un déplacement effectué).
+ Ne pas appeler 3 fois de suite le rechargement du cadre #plan si l'on déplace 3 items. On met un timing de 500ms avant de recharger.

Location:
_plugins_/plan/trunk
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/plan/trunk/css/plan_prive.css.html

    r91584 r91595  
    4343        background:url([(#VAL{rubrique}|objet_icone{16}|extraire_attribut{src})]) center left no-repeat;
    4444}
     45.plan .jstree .puce_objet { margin-right:2px; }
     46.plan .jstree.drag .item .jstree-icon {
     47        cursor: move;
     48}
    4549<BOUCLE_icone_objets(DATA){source table, #REM|plan_lister_objets_rubrique}>
    4650.plan .jstree-icon.[(#VALEUR|objet_type)] {
  • _plugins_/plan/trunk/lang/plan_fr.php

    r91551 r91595  
    1111        // P
    1212        'plan_titre' => 'Plan du site dans l’espace privé',
    13 
    1413);
  • _plugins_/plan/trunk/prive/javascript/spiptree.js

    r91533 r91595  
    7777        });
    7878
     79        if (options.drag) {
     80                $mytree.addClass('drag');
     81        }
     82
    7983        // un clic d'une feuille amène sur son lien
    8084        // mais… éviter que le plugin 'state' clique automatiquement lorsqu'il restaure
     
    8589                        var node = data.instance.get_node(data.node, true);
    8690                        if (node) {
    87                                 location.href = node.children('a').attr('href');
     91                                var lien = node.children('a').attr('href');
     92                                if (lien && !(options.drag && $(data.event.target).hasClass('jstree-icon'))) {
     93                                        location.href = lien;
     94                                }
    8895                        }
    8996                });
    9097        });
    9198
     99        var recharge_contenu = false;
    92100        // lorsqu'on déplace un nœud
    93101        $mytree.on("move_node.jstree", function(event, data) {
     
    146154                }).done(function(response) {
    147155                        // console.log('done', response);
    148                         ajaxReload('contenu');
     156                        if (recharge_contenu) {
     157                                clearTimeout(recharge_contenu);
     158                        }
     159                        recharge_contenu = setTimeout(function () {
     160                                ajaxReload('plan');
     161                        }, 500);
    149162                });
    150163
  • _plugins_/plan/trunk/prive/squelettes/contenu/plan.html

    r91588 r91595  
    22(function($){
    33$(document).ready(function(){
    4         $('body.plan #contenu #racine').spiptree({
    5                 drag: [(#AUTORISER{configurer}|?{true,false})],
    6                 statut: "#ENV{statut}",
    7                 urls: {
    8                         plan: "[(#VAL{plan}|generer_url_action{"", 1})]",
    9                         deplacer: "[(#VAL{deplacer_objets}|generer_url_action{"", 1})]"
    10                 },
    11                 default: {
    12                         icon: "rubrique"
    13                 },
    14                 objets: [
    15                         <BOUCLE_objets(DATA){source table,#REM|plan_lister_objets_rubrique}{", "}>
    16                         {
    17                                 icon: "[(#VALEUR|objet_type)]",
    18                                 type: "[(#VALEUR|objet_type)]"
    19                         }
    20                         </BOUCLE_objets>
    21                 ]
    22         });
    234        $('body.plan #contenu #mytree_actions .pliage').html(
    245                "<a href=\"#\" onClick=\"jQuery('#racine').jstree('open_all'); return false;\"><:lien_tout_deplier:></a> | " +
     
    6344
    6445#BOITE_OUVRIR{'', simple}
    65 <div id="racine">
    66 <INCLURE{fond=prive/squelettes/inclure/plan-rubriques, id_parent=0, statut=#GET{statut}, objet=#GET{objet}, lister}>
    67 </div>
     46<INCLURE{fond=prive/squelettes/inclure/plan, statut=#GET{statut}, objet=#GET{objet}, lister, ajax=plan}>
    6847#BOITE_FERMER
Note: See TracChangeset for help on using the changeset viewer.