Changeset 31353 in spip-zone


Ignore:
Timestamp:
Sep 5, 2009, 2:58:55 PM (10 years ago)
Author:
marcimat@…
Message:

Grands changements dans porte plume (tester si tout continue de fonctionner !)

  • mise en fichier externe de la fonction de chargement de porte plume ce

qui permet de la prendre en charge par le compacteur

  • permettre des insertions de barrs d'outils avec des classes javascript posés sur

les textarea : inserer_barre_forum, inserer_barre_edition, inserer_previsualisation

  • permettre de ne pas déposer la barre dans l'espace public avec la constante PORTE_PLUME_PUBLIC, définie à true par défaut (javascript et css présents dans le public)
  • donner une API pour créer des barres d'outils sur des textarea sélectionnés en javascript :

.barre_outils($nom) et .barre_previsualisation().

Exemple issu du core de porte plume :

$('.formulaire_spip textarea.inserer_barre_forum').barre_outils('forum');
$('.formulaire_spip textarea.inserer_barre_edition').barre_outils('edition');
$('.formulaire_spip textarea.inserer_previsualisation').barre_previsualisation();
Location:
_core_/plugins/porte_plume
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/porte_plume/javascript/jquery.previsu_spip.js

    r26937 r31353  
    1818                        // init and build previsu buttons
    1919                        function init() {
     20                                $$.addClass("pp_previsualisation");
    2021                                tabs = $('<div class="markItUpTabs"></div>').prependTo($$.parent());
    2122                                $(tabs).append(
  • _core_/plugins/porte_plume/plugin.xml

    r30848 r31353  
    33        <auteur>Matthieu Marcillaud</auteur>
    44        <licence>GNU/GPL</licence>
    5         <version>1.3.2</version>
     5        <version>1.5</version>
    66        <description>
    77        "Porte plume" est une barre d'outil g&eacute;niale pour SPIP qui
     
    2121       
    2222        <pipeline>
    23                 <nom>insert_head</nom>
     23                <nom>insert_head_public</nom>
    2424                <inclure>porte_plume_pipelines.php</inclure>
    2525        </pipeline>
    2626        <pipeline>
    2727                <nom>header_prive</nom>
    28                 <action>insert_head</action>
     28                <action>insert_head_prive</action>
    2929                <inclure>porte_plume_pipelines.php</inclure>
    3030        </pipeline>
  • _core_/plugins/porte_plume/porte_plume.js.html

    r25507 r31353  
    11#CACHE{7*24*3600}
    22#HTTP_HEADER{Content-Type: text/javascript; charset=#CHARSET}
    3 
    43[(#VAL|porte_plume_creer_json_markitup)]
  • _core_/plugins/porte_plume/porte_plume_pipelines.php

    r29974 r31353  
    55 * Auteur Matthieu Marcillaud
    66 */
     7define('PORTE_PLUME_PUBLIC', true);
    78
    8 function porte_plume_insert_head($flux){
    9         $lang = $GLOBALS['spip_lang'];
    10        
     9function porte_plume_insert_head_public($flux){
     10        if (PORTE_PLUME_PUBLIC) {
     11                $flux = porte_plume_inserer_head($flux, $GLOBALS['spip_lang']);
     12        }
     13        return $flux;
     14}
     15
     16function porte_plume_insert_head_prive($flux){
     17        $flux = porte_plume_inserer_head($flux, $GLOBALS['spip_lang']);
     18        return $flux;
     19}
     20
     21function porte_plume_inserer_head($flux, $lang){
    1122        $js = find_in_path('javascript/jquery.markitup_pour_spip.js');
    1223        $js_previsu = find_in_path('javascript/jquery.previsu_spip.js');
    1324        $js_settings = parametre_url(generer_url_public('porte_plume.js'), 'lang', $lang);
     25        $js_start = parametre_url(generer_url_public('porte_plume_start.js'), 'lang', $lang);
    1426        $css = find_in_path('css/barre_outils.css');
    1527        $css_icones = generer_url_public('barre_outils_icones.css');
    1628
    17         $flux .= "<link rel='stylesheet' type='text/css' media='all' href='$css' />\n"
    18                 . "<link rel='stylesheet' type='text/css' media='all' href='$css_icones' />\n"
    19                 . "<script type='text/javascript' src='$js'></script>\n"
    20                 . "<script type='text/javascript' src='$js_previsu'></script>\n"
    21                 . "<script type='text/javascript' src='$js_settings'></script>\n";
    22                
    23         $preview = url_absolue(generer_url_public('porte_plume_preview'));
    24         $tEditer = _T('barre_outils:editer');
    25         $tVoir = _T('barre_outils:voir');
    26         $flux .= <<<EOF
    27                 <script type="text/javascript">
    28 <!--
    29 jQuery(document).ready(function()       {
    30         // ajoute les barres d'outils markitup
    31         function barrebouilles(){
    32                 // si c'est un appel de previsu markitup, faut pas relancer
    33                 // on attrappe donc uniquement les textarea qui n'ont pas deja la classe markItUpEditor
    34                 jQuery('.formulaire_forum textarea[name=texte]:not(.markItUpEditor)').markItUp(barre_outils_forum,{lang:'$lang'});
    35                 jQuery('textarea.textarea_forum:not(.markItUpEditor)').markItUp(barre_outils_forum,{lang:'$lang'});
    36                 jQuery('.formulaire_spip textarea[name=texte]:not(.markItUpEditor)')
    37                         .markItUp(barre_outils_edition,{lang:'$lang'})
    38                         .previsu_spip({
    39                                 previewParserPath:'$preview',
    40                                 textEditer:'$tEditer',
    41                                 textVoir:'$tVoir'});
    42         }
    43         barrebouilles();
    44         onAjaxLoad(barrebouilles);
    45 
    46 });
    47 -->             
    48                 </script>
    49 EOF;
     29        $flux
     30                .= "<link rel='stylesheet' type='text/css' media='all' href='$css' />\n"
     31                .  "<link rel='stylesheet' type='text/css' media='all' href='$css_icones' />\n"
     32                .  "<script type='text/javascript' src='$js'></script>\n"
     33                .  "<script type='text/javascript' src='$js_previsu'></script>\n"
     34                .  "<script type='text/javascript' src='$js_settings'></script>\n"
     35                .  "<script type='text/javascript' src='$js_start'></script>\n";
    5036
    5137        return $flux;
Note: See TracChangeset for help on using the changeset viewer.