Dotclear


Ignore:
Timestamp:
05/25/11 17:50:34 (14 years ago)
Author:
Tomtom33 <tbouron@…>
Branch:
wysiwyg
Message:

Improvements of dcToolBarManager object:

  • Added events manager
  • Improved JS scripts loading
File:
1 edited

Legend:

Unmodified
Added
Removed
  • inc/admin/lib.dc.page.php

    r311 r317  
    550550     { 
    551551          $params_wiki = array( 
    552                'init' => array( 
     552               'onInit' => array( 
    553553                    "jsToolBar.prototype.dialog_url = 'popup.php';", 
    554554                    "jsToolBar.prototype.base_url = '".html::escapeJS($GLOBALS['core']->blog->host)."';", 
     
    582582                    "jsToolBar.prototype.elements.post_link.title = '".html::escapeJS(__('Link to an entry'))."';" 
    583583               ), 
    584                'load' => array( 
     584               'onDraw' => array( 
    585585                    "$.data(elm,'toolbar',new jsToolBar(document.getElementById($(elm).attr('id'))));", 
    586                     "$(elm).data('toolbar').context = $(elm).data('context');" 
    587                ), 
    588                'draw' => array( 
     586                    "$(elm).data('toolbar').context = $(elm).data('context');", 
    589587                    "$(elm).data('toolbar').switchMode('wiki');" 
    590588               ), 
    591                'destroy' => array( 
     589               'onDestroy' => array( 
    592590                    "$(elm).data('toolbar').remove();" 
    593591               ) 
    594592          ); 
    595593          if (!$GLOBALS['core']->auth->check('media,media_admin',$GLOBALS['core']->blog->id)) { 
    596                $params_wiki['init'][] = "jsToolBar.prototype.elements.img_select.disabled = true;"; 
     594               $params_wiki['onInit'][] = "jsToolBar.prototype.elements.img_select.disabled = true;"; 
    597595          } 
    598596           
    599597          $params_xhtml = array( 
    600                'preinit' => array( 
    601                     "if (!window.tinyMCE) {", 
    602                     "window.tinyMCEPreInit = {base : 'js/tiny_mce', suffix : '', query : ''};", 
    603                     "}" 
     598               'onPreInit' => array( 
     599                    "window.tinyMCEPreInit = {base : 'js/tiny_mce', suffix : '', query : ''};" 
    604600               ), 
    605                'init' => array( 
    606                     "tinyMCE.dom.Event.domLoaded = true;", 
    607                     "tinyMCE.settings = {};", 
    608                     "tinyMCE.settings.mode = 'textareas';", 
    609                     "tinyMCE.settings.relative_urls = false;", 
    610                     "tinyMCE.settings.theme = '".html::escapeJS('advanced')."';", 
    611                     "tinyMCE.settings.plugins = '".html::escapeJS('fullscreen,paste,searchreplace')."'; ", 
    612                     "tinyMCE.settings.theme_advanced_buttons1 = '".html::escapeJS('justifyleft,justifycenter,justifyright,separator,bold,italic,underline,strikethrough,sub,sup,separator,blockquote,bullist,numlist,outdent,indent,separator,undo,redo,separator,visualaid,separator,fullscreen,separator,code')."';", 
    613                     "tinyMCE.settings.theme_advanced_buttons2 = '".html::escapeJS('formatselect,removeformat,cleanup,seperator,cut,copy,paste,pastetext,pasteword,search,replace')."';", 
    614                     "tinyMCE.settings.theme_advanced_buttons3 = '".html::escapeJS('link,unlink,hr,charmap')."';", 
    615                     "tinyMCE.settings.theme_advanced_toolbar_location = '".html::escapeJS('top')."';", 
    616                     "tinyMCE.settings.theme_advanced_toolbar_align = '".html::escapeJS('left')."';", 
    617                     "tinyMCE.settings.theme_advanced_statusbar_location = '".html::escapeJS('bottom')."';", 
    618                     "tinyMCE.settings.theme_advanced_resizing = true;", 
    619                     "tinyMCE.settings.theme_advanced_resize_horizontal = false;", 
    620                     "tinyMCE.settings.entity_encoding = '".html::escapeJS('raw')."';", 
    621                     "tinyMCE.settings.add_unload_trigger = false;", 
    622                     "tinyMCE.settings.remove_linebreaks = false;", 
    623                     "tinyMCE.settings.paste_auto_cleanup_on_paste = true;" 
     601               'onInit' => array( 
     602                    "tinymce.dom.Event.domLoaded = true;", 
     603                    "tinymce.settings = {};", 
     604                    "tinymce.settings.mode = 'textareas';", 
     605                    "tinymce.settings.relative_urls = false;", 
     606                    "tinymce.settings.theme = '".html::escapeJS('advanced')."';", 
     607                    "tinymce.settings.plugins = '".html::escapeJS('fullscreen,paste,searchreplace')."'; ", 
     608                    "tinymce.settings.theme_advanced_buttons1 = '".html::escapeJS('justifyleft,justifycenter,justifyright,separator,bold,italic,underline,strikethrough,sub,sup,separator,blockquote,bullist,numlist,outdent,indent,separator,undo,redo,separator,visualaid,separator,fullscreen,separator,code')."';", 
     609                    "tinymce.settings.theme_advanced_buttons2 = '".html::escapeJS('formatselect,removeformat,cleanup,seperator,cut,copy,paste,pastetext,pasteword,search,replace')."';", 
     610                    "tinymce.settings.theme_advanced_buttons3 = '".html::escapeJS('link,unlink,hr,charmap')."';", 
     611                    "tinymce.settings.theme_advanced_toolbar_location = '".html::escapeJS('top')."';", 
     612                    "tinymce.settings.theme_advanced_toolbar_align = '".html::escapeJS('left')."';", 
     613                    "tinymce.settings.theme_advanced_statusbar_location = '".html::escapeJS('bottom')."';", 
     614                    "tinymce.settings.theme_advanced_resizing = true;", 
     615                    "tinymce.settings.theme_advanced_resize_horizontal = false;", 
     616                    "tinymce.settings.entity_encoding = '".html::escapeJS('raw')."';", 
     617                    "tinymce.settings.add_unload_trigger = false;", 
     618                    "tinymce.settings.remove_linebreaks = false;", 
     619                    "tinymce.settings.paste_auto_cleanup_on_paste = true;" 
    624620               ), 
    625                'load' => array( 
    626                     "$.data(elm,'toolbar',new tinyMCE.Editor($(elm).attr('id'),tinyMCE.settings));" 
    627                ), 
    628                'draw' => array( 
     621               'onDraw' => array( 
     622                    "$.data(elm,'toolbar',new tinymce.Editor($(elm).attr('id'),tinyMCE.settings));", 
    629623                    "$(elm).data('toolbar').render();" 
    630624               ), 
    631                'destroy' => array( 
     625               'onDestroy' => array( 
    632626                    "$(elm).data('toolbar').remove();" 
    633627               ) 
     
    641635          "dcToolBarManager.msg.toolbar_does_not_exists = '".html::escapeJS(__('Toolbar [%s] does not exists'))."';\n". 
    642636          "dcToolBarManager.setToolBar({\n". 
    643                "id: 'xhtml',\n". 
    644                "js_urls: ['js/tiny_mce/tiny_mce.js'],\n". 
    645                "css_urls: [],\n". 
    646                "preinit: function() {".implode(' ',$params_xhtml['preinit'])."},\n". 
    647                "init: function() {".implode(' ',$params_xhtml['init'])."},\n". 
    648                "load: function(elm) {".implode(' ',$params_xhtml['load'])."},\n". 
    649                "draw: function(elm) {".implode(' ',$params_xhtml['draw'])."},\n". 
    650                "destroy: function(elm) {".implode(' ',$params_xhtml['destroy'])."}\n". 
     637               "id: 'tinymce',\n". 
     638               "mode: 'xhtml',\n". 
     639               "js: ['js/tiny_mce/tiny_mce.js'],\n". 
     640               "css: [],\n". 
     641               "onPreInit: function() {".implode(' ',$params_xhtml['onPreInit'])."},\n". 
     642               "onInit: function() {".implode(' ',$params_xhtml['onInit'])."},\n". 
     643               "onDraw: function(elm) {".implode(' ',$params_xhtml['onDraw'])."},\n". 
     644               "onDestroy: function(elm) {".implode(' ',$params_xhtml['onDestroy'])."}\n". 
    651645          "});\n". 
    652646          "dcToolBarManager.setToolBar({\n". 
    653                "id: 'wiki',\n". 
    654                "js_urls: ['js/jsToolBar/jsToolBar.js','js/jsToolBar/jsToolBar.dotclear.js'],\n". 
    655                "css_urls: ['style/jsToolBar/jsToolBar.css'],\n". 
    656                "init: function() {".implode("\n",$params_wiki['init'])."},\n". 
    657                "load: function(elm) {".implode(' ',$params_wiki['load'])."},\n". 
    658                "draw: function(elm) {".implode(' ',$params_wiki['draw'])."},\n". 
    659                "destroy: function(elm) {".implode(' ',$params_wiki['destroy'])."}\n". 
     647               "id: 'jstoolbar',\n". 
     648               "mode: 'wiki',\n". 
     649               "js: ['js/jsToolBar/jsToolBar.js','js/jsToolBar/jsToolBar.dotclear.js'],\n". 
     650               "css: ['style/jsToolBar/jsToolBar.css'],\n". 
     651               "onInit: function() {".implode("\n",$params_wiki['onInit'])."},\n". 
     652               "onDraw: function(elm) {".implode(' ',$params_wiki['onDraw'])."},\n". 
     653               "onDestroy: function(elm) {".implode(' ',$params_wiki['onDestroy'])."}\n". 
    660654          "});\n". 
    661655          "\n//]]>\n". 
Note: See TracChangeset for help on using the changeset viewer.

Sites map