porte_plume_start.js.html 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #CACHE{7*24*3600}
  2. #HTTP_HEADER{Content-Type: text/javascript; charset=#CHARSET}
  3. [(#REM) chargement des definitions des barres d'outils
  4. <script>]
  5. [(#VAL|porte_plume_creer_json_markitup)]
  6. ;(function($){
  7. // 2 fonctions pour appeler le porte plume reutilisables pour d'autres plugins
  8. // on envoie dedans la selection jquery qui doit etre effectuee
  9. // ce qui evite des appels direct a markitup, aucazou on change de lib un jour
  10. $.fn.barre_outils = function(nom, settings) {
  11. options = {
  12. lang:'[(#ENV{lang})]'
  13. };
  14. $.extend(options, settings);
  15. return $(this)
  16. .not('.markItUpEditor, .no_barre')
  17. .markItUp(eval('barre_outils_' + nom), {lang:options.lang})
  18. .parent().find('.markItUpButton a').attr('tabindex', -1) // ne pas tabuler les boutons
  19. .end();
  20. };
  21. $.fn.barre_previsualisation = function(settings) {
  22. options = {
  23. previewParserPath:"index.php?action=porte_plume_previsu", // ici une url relative pour prive/public
  24. textEditer:"<:barreoutils:editer:>",
  25. textVoir:"<:barreoutils:voir:>"
  26. };
  27. $.extend(options, settings);
  28. return $(this)
  29. .not('.pp_previsualisation, .no_previsualisation')
  30. .previsu_spip(options)
  31. .parent().find('.markItUpTabs a').attr('tabindex', -1) // ne pas tabuler les onglets
  32. .end();
  33. };
  34. $(window).load(function(){
  35. // ajoute les barres d'outils markitup
  36. function barrebouilles(){
  37. // fonction generique appliquee aux classes CSS :
  38. // inserer_barre_forum, inserer_barre_edition, inserer_previsualisation
  39. $('.formulaire_spip textarea.inserer_barre_forum').barre_outils('forum');
  40. $('.formulaire_spip textarea.inserer_barre_edition').barre_outils('edition');
  41. $('.formulaire_spip textarea.inserer_previsualisation').barre_previsualisation();
  42. // fonction specifique aux formulaires de SPIP :
  43. // barre de forum
  44. $('textarea.textarea_forum').barre_outils('forum');
  45. [(#CONFIG{forums_afficher_barre}|=={non}|non)
  46. $('.formulaire_forum textarea[(#VAL{91}|chr)]name=texte[(#VAL{93}|chr)]').barre_outils('forum');]
  47. // barre d'edition et onglets de previsualisation
  48. $('.formulaire_spip[(#CONFIG{forums_afficher_barre}|=={non}|?{':not(#formulaire_forum)',''})] textarea[name=texte]')
  49. .barre_outils('edition').end()
  50. .barre_previsualisation();
  51. }
  52. barrebouilles();
  53. onAjaxLoad(barrebouilles);
  54. });
  55. })(jQuery);