====== DokuWiki Editor verbessern ====== ---- datatemplateentry project ---- template : :sys:tpl:project description : Das Textfeld zum bearbeiten von DokuWiki Seiten maxi- und zentrieren. coordinators : [[:users:skruppy:]] confidants : state_tags : working, finished type_tags : software, DokuWiki, PHP, JavaScript, css ---- ===== JavaScript ===== Das editor JS unter ''lib/scripts/editor.js'' muss wie follgt angepasst werden. /** * Add the edit window size and wrap controls * * Initial values are read from cookie if it exists * * @param selector ctlarea the div to place the controls * @param selector editor the textarea to control */ initSizeCtl: function(ctlarea,editor){ var $ctl = jQuery(ctlarea), $textarea = jQuery(editor); if($ctl.length === 0 || $textarea.length === 0) { return; } this.resetEditorSize(editor); var wrp = DokuCookie.getValue('wrapCtl'); if(wrp){ dw_editor.setWrap($textarea[0], wrp); } // else use default value jQuery.each([ ['larger', function(){dw_editor.incEditorSize(editor,100);}], ['smaller', function(){dw_editor.incEditorSize(editor,-100);}], ['reset', function(){dw_editor.resetEditorSize(editor);}], ['wrap', function(){dw_editor.toggleWrap(editor);}] ], function (_, img) { jQuery(document.createElement('IMG')) .attr('src', DOKU_BASE+'lib/images/' + img[0] + '.gif') .click(img[1]) .appendTo($ctl); }); }, /* Toolbar border : 2 Toolbar height: 20 Toolbar border: 2 Text border: 1 Text padding: 4 (only on top!) Text border: 1 Span: 3 Button margin: 1 Button border: 1 Button padding: 1 Button height: 20 Button padding: 1 Button border: 1 Button margin: 1 ==================== 59 */ resetEditorSize: function(editor) { var $textarea = jQuery(editor); $textarea.css('height', window.innerHeight - 60 + 'px'); window.location.hash = "#tool__bar"; }, /** * This sets the vertical size of the editbox and adjusts the cookie * * @param selector editor the textarea to control * @param int val the relative value to resize in pixel */ incEditorSize: function(editor,val){ var $textarea = jQuery(editor), height = parseInt($textarea.css('height')) + val; $textarea.css('height', height+'px'); }, Hier der vorher/nacher diff der Ă„nderungen. 54c54 < $textarea.css('height', DokuCookie.getValue('sizeCtl') || '300px'); --- > this.resetEditorSize(editor); 62,63c62,64 < ['larger', function(){dw_editor.sizeCtl(editor,100);}], < ['smaller', function(){dw_editor.sizeCtl(editor,-100);}], --- > ['larger', function(){dw_editor.incEditorSize(editor,100);}], > ['smaller', function(){dw_editor.incEditorSize(editor,-100);}], > ['reset', function(){dw_editor.resetEditorSize(editor);}], 71a73,95 > /* > Toolbar border : 2 > Toolbar height: 20 > Toolbar border: 2 > Text border: 1 > Text padding: 4 (only on top!) > Text border: 1 > Span: 3 > Button margin: 1 > Button border: 1 > Button padding: 1 > Button height: 20 > Button padding: 1 > Button border: 1 > Button margin: 1 > ==================== > 59 > */ > resetEditorSize: function(editor) { > var $textarea = jQuery(editor); > $textarea.css('height', window.innerHeight - 60 + 'px'); > window.location.hash = "#tool__bar"; > }, 79c103 < sizeCtl: function(editor,val){ --- > incEditorSize: function(editor,val){ 83d106 < DokuCookie.setValue('sizeCtl',$textarea.css('height')); ===== CSS ===== In ''lib/tpl/*/design.css'' files muss noch die ''width:'' der button box angepasst werden. Alter code Schnipsel: div.dokuwiki div#size__ctl { float:right; width:60px; height:2.7em; } Neuer code Schnipsel: div.dokuwiki div#size__ctl { float:right; width:80px; height:2.7em; } ===== reset.gif ===== Follgend eingebundenes Bild muss noch nach ''lib/images/reset.gif'' kopiert werden. {{:projects:reset.gif|}}