Changeset 91524 in spip-zone for _plugins_/plan


Ignore:
Timestamp:
Aug 28, 2015, 5:14:54 PM (6 years ago)
Author:
marcimat@…
Message:

Ne charger que les listes d'objets de moins de 50 éléments par défaut.
Les autres sont chargées sur demande en ajax (ou si l'on clique 'tout déplier').

Bon…
Ça ne résout pas tout les problèmes, mais ça devrait déjà arranger un peu.

Location:
_plugins_/plan/trunk
Files:
3 added
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/plan/trunk/plan_fonctions.php

    r91521 r91524  
    1212if (!defined('_ECRIRE_INC_VERSION')) return;
    1313
     14/**
     15 * Retourne le nombre d'éléments d'une liste d'objet qui fait qu'on
     16 * n'affiche pas le contenu par défaut, mais seulement en ajax
     17 * après clic…
     18 *
     19 * @return int nombre
     20**/
     21function plan_limiter_listes() {
     22        return defined('_PLAN_LIMITER_LISTES') ? _PLAN_LIMITER_LISTES : 50;
     23}
    1424
    1525/**
  • _plugins_/plan/trunk/prive/squelettes/head/plan.html

    r91521 r91524  
    1010        $(function () {
    1111
    12                 $mytree = $('body.plan #contenu #racine');
     12                var $mytree = $('body.plan #contenu #racine');
     13                var $mytree_source = $mytree.clone();
     14                // $mytree.after($mytree_source);
     15
    1316                $mytree.jstree({
    1417                        "plugins" : [ "types", "search", "state" ],
    1518                        "core" : {
    16                                 /*
    1719                                "data" : function (node, cb) {
    18                                         console.log(node);
    19                                         return true;
    20                                 }*//*,
     20                                        // on est obliger de tout définir comme étant en ajax
     21                                        // donc on charge 1 fois la racine avec ce qu'on connait dans le html déjà connu
     22                                        if (node.id === '#') {
     23                                                cb($mytree_source.html());
     24                                        }
     25
     26                                        // pour ce qu'on ne connait pas, on va faire un appel ajax
     27                                        // sur l'objet et la rubrique (et éventuellement le statut)
     28                                        else {
     29                                                var type = node.data.jstree.type;
     30                                                var id_rubrique = node.parent.split('-')[1];
     31                                                var params = {
     32                                                        "id_rubrique": id_rubrique,
     33                                                        "objet": type
     34                                                };
     35                                                if ("#ENV{statut}") {
     36                                                        params.statut = "#ENV{statut}";
     37                                                }
     38                                                console.log(params);
     39                                                $.ajax({
     40                                                        url: "[(#VAL{plan}|generer_url_action{"", 1})]",
     41                                                        data: params,
     42                                                        dataType: 'html',
     43                                                        cache: false,
     44                                                }).done(function(data) {
     45                                                        cb(data);
     46                                                });
     47                                        }
     48                                }
     49                                /*,
    2150                                "themes" : {
    2251                                        "variant" : "large"
  • _plugins_/plan/trunk/prive/squelettes/inclure/plan2-articles.html

    r91521 r91524  
    1 <B_articles>
     1
     2<BOUCLE_nb_items(ARTICLES)
     3        {id_rubrique} {par titre}
     4        {statut IN #SESSION{statut}|statuts_articles_visibles}
     5        {statut ?}
     6        {lang_select=non}
     7        {pagination 1}>
     8        #SET{total,#GRAND_TOTAL}
     9</BOUCLE_nb_items>
     10
     11[(#ENV{liste}|non)
    212        <ul class="menu-items articles">
    3                 <li class="item" data-jstree='{"type":"article"}'>
    4                         <strong>[(#GRAND_TOTAL|objet_afficher_nb{article})]</strong>
     13                <li class="item[ (#GET{total}|>{#VAL|plan_limiter_listes}|oui)jstree-closed]" data-jstree='{"type":"article"}'>
     14                        <strong>[(#GET{total}|objet_afficher_nb{article})]</strong>
     15]
    516
     17                        <B_qq_items>
    618                        <ul class="menu-items articles">
    7                                 <BOUCLE_articles(ARTICLES)
     19                                <BOUCLE_qq_items(ARTICLES)
    820                                        {id_rubrique} {par titre}
    921                                        {statut IN #SESSION{statut}|statuts_articles_visibles}
    1022                                        {statut ?}
    11                                         {lang_select=non}>
    12                                         <li class="item" data-jstree='{"type":"article"}'>
     23                                        {lang_select=non}
     24                                        {0,#VAL|plan_limiter_listes}
     25                                        {si #GET{total}|<={#VAL|plan_limiter_listes}}
     26                                        >
     27                                        <li id="article-#ID_ARTICLE" class="item" data-jstree='{"type":"article"}'>
    1328                                                <a href="[(#ID_ARTICLE|generer_url_entite{article})]"
    1429                                                        [hreflang="(#ENV{lang}|=={#LANG}|non|?{#LANG})"]
     
    1732                                                </a>
    1833                                        </li>
    19                                 </BOUCLE_articles>
     34                                </BOUCLE_qq_items>
    2035                        </ul>
     36                        </B_qq_items>
     37
     38                        <BOUCLE_tous_items(ARTICLES)
     39                                {id_rubrique} {par titre}
     40                                {statut IN #SESSION{statut}|statuts_articles_visibles}
     41                                {statut ?}
     42                                {lang_select=non}
     43                                {si #GET{total}|>{#VAL|plan_limiter_listes}}
     44                                {si #ENV{liste}}
     45                                >
     46                                <li id="article-#ID_ARTICLE" class="item" data-jstree='{"type":"article"}'>
     47                                        <a href="[(#ID_ARTICLE|generer_url_entite{article})]"
     48                                                [hreflang="(#ENV{lang}|=={#LANG}|non|?{#LANG})"]
     49                                                title="[(#VAL{article}|objet_info{texte_objet}|_T) #ID_ARTICLE]">
     50                                                [(#STATUT|puce_statut{article,#ID_ARTICLE,#ID_RUBRIQUE}) ][(#TITRE|couper{80}|sinon{<:info_sans_titre:>})]
     51                                        </a
     52                                </li>
     53                        </BOUCLE_tous_items>
     54
     55[(#ENV{liste}|non)
    2156                </li>
    2257        </ul>
    23 </B_articles>
     58]
     59</B_nb_items>
  • _plugins_/plan/trunk/prive/squelettes/inclure/plan2-rubriques.html

    r91521 r91524  
    1 
    21<B_rubriques>
    32        <ul class="menu-items rubriques">
    43                <BOUCLE_rubriques(RUBRIQUES) {id_parent}{id_rubrique?} {par num titre,titre}{statut==.*}>
    5                         <li class="item">
    6                                 <strong
     4                        <li id="rubrique-#ID_RUBRIQUE" class="item">
     5                                <a
     6                                        href="[(#ID_RUBRIQUE|generer_url_entite{rubrique})]"
    77                                        [hreflang="(#ENV{lang}|=={#LANG}|non|?{#LANG})"]
    88                                        title="[(#VAL{rubrique}|objet_info{texte_objet}|_T) #ID_RUBRIQUE]">
    9                                                 [(#TITRE|couper{100}|sinon{<:info_sans_titre:>})]
    10                                 </strong>
     9                                                <strong>[(#TITRE|couper{100}|sinon{<:info_sans_titre:>})]</strong>
     10                                </a>
    1111
    1212                                <BOUCLE_objets(DATA){source table,#REM|plan_lister_objets_rubrique}>
  • _plugins_/plan/trunk/prive/squelettes/inclure/plan2-syndic.html

    r91521 r91524  
    1 <B_sites>
     1
     2<BOUCLE_nb_items(SITES)
     3        {id_rubrique} {par nom_site}
     4        {statut==.*}{statut ?}
     5        {pagination 1}>
     6        #SET{total,#GRAND_TOTAL}
     7</BOUCLE_nb_items>
     8
     9[(#ENV{liste}|non)
    210        <ul class="menu-items sites syndic">
    3                 <li class="item" data-jstree='{"type": "site"}'>
    4                         <strong>[(#GRAND_TOTAL|objet_afficher_nb{site})]</strong>
     11                <li class="item[ (#GET{total}|>{#VAL|plan_limiter_listes}|oui)jstree-closed]" data-jstree='{"type":"site"}'>
     12                        <strong>[(#GET{total}|objet_afficher_nb{site})]</strong>
     13]
    514
     15                        <B_qq_items>
    616                        <ul class="menu-items sites syndic">
    7                                 <BOUCLE_sites(SITES) {id_rubrique} {par nom_site}{statut==.*}{statut ?}>
    8                                         <li class="item" data-jstree='{"type": "site"}'>
     17                                <BOUCLE_qq_items(SITES)
     18                                        {id_rubrique} {par nom_site}
     19                                        {statut==.*}{statut ?}
     20                                        {0,#VAL|plan_limiter_listes}
     21                                        {si #GET{total}|<={#VAL|plan_limiter_listes}}
     22                                        >
     23                                        <li id="site-#ID_SYNDIC" class="item" data-jstree='{"type":"site"}'>
    924                                                <a href="[(#ID_SYNDIC|generer_url_entite{site})]"
    1025                                                        title="[(#VAL{site}|objet_info{texte_objet}|_T) #ID_SYNDIC]">
    11                                                         [(#STATUT|puce_statut{site,#ID_SYNDIC,#ID_RUBRIQUE}) ][(#NOM_SITE|couper{80}|sinon{<:info_sans_titre:>})]
     26                                                        [(#STATUT|puce_statut{site,#ID_SYNDIC,#ID_RUBRIQUE}) ][(#TITRE|couper{80}|sinon{<:info_sans_titre:>})]
    1227                                                </a>
    1328                                        </li>
    14                                 </BOUCLE_sites>
     29                                </BOUCLE_qq_items>
    1530                        </ul>
     31                        </B_qq_items>
     32
     33
     34                        <BOUCLE_tous_items(SITES)
     35                                {id_rubrique} {par nom_site}
     36                                {statut==.*}{statut ?}
     37                                {si #GET{total}|>{#VAL|plan_limiter_listes}}
     38                                {si #ENV{liste}}
     39                                >
     40                                <li id="site-#ID_SYNDIC" class="item" data-jstree='{"type":"site"}'>
     41                                        <a href="[(#ID_SYNDIC|generer_url_entite{site})]"
     42                                                title="[(#VAL{site}|objet_info{texte_objet}|_T) #ID_SYNDIC]">
     43                                                [(#STATUT|puce_statut{site,#ID_SYNDIC,#ID_RUBRIQUE}) ][(#TITRE|couper{80}|sinon{<:info_sans_titre:>})]
     44                                        </a>
     45                                </li>
     46                        </BOUCLE_tous_items>
     47
     48[(#ENV{liste}|non)
    1649                </li>
    1750        </ul>
    18 </B_sites>
     51]
     52
     53</B_nb_items>
Note: See TracChangeset for help on using the changeset viewer.