Ticket #21718: 21718.2.diff
File 21718.2.diff, 11.4 KB (added by , 12 years ago) |
---|
-
wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js
3 3 */ 4 4 5 5 (function() { 6 var DOM = tinymce.DOM ;6 var DOM = tinymce.DOM, win = window; 7 7 8 8 tinymce.create('tinymce.plugins.WordPress', { 9 9 mceTout : 0, … … 234 234 } 235 235 }); 236 236 237 // resize TinyMCE to match the textarea height when switching Text -> Visual 238 ed.onLoadContent.add( function(ed, o) { 239 var height, tb_height, ifr_height, txt = ed.getElement(), 240 ed_toolbar = DOM.select('#'+ed.id + '_tbl tr.mceFirst'); 241 242 if ( txt && txt.style && txt.style.height ) 243 height = parseInt( txt.style.height, 10 ); 244 else if ( o.initial && win.getUserSetting ) 245 height = win.getUserSetting( ed.id + '_ed_size' ); 246 247 if ( ed_toolbar && ed_toolbar[0] ) 248 tb_height = ed_toolbar[0].clientHeight; 249 250 if ( height && tb_height ) { 251 ifr_height = (height - tb_height) + 12; // compensate for padding in the textarea 252 253 DOM.setStyle( DOM.get(ed.id + '_tbl'), 'height', '' ); 254 DOM.setStyle( DOM.get(ed.id + '_ifr'), 'height', ifr_height + 'px' ); 255 256 if ( win.setUserSetting ) 257 win.setUserSetting( ed.id + '_ed_size', height ); 258 } 259 }); 260 261 // resize the textarea to match TinyMCE's height when switching Visual -> Text 262 ed.onSaveContent.add( function(ed, o) { 263 var height = DOM.get(ed.id+'_tbl').clientHeight; 264 265 if ( height && height > 83 ) { 266 height -= 33; 267 268 DOM.setStyle( ed.getElement(), 'height', height + 'px' ); 269 270 if ( win.setUserSetting ) 271 win.setUserSetting( ed.id + '_ed_size', height ); 272 } 273 }); 274 275 // save on resize 276 ed.onPostRender.add(function() { 277 tinymce.dom.Event.add(DOM.doc, 'mouseup', function(e) { 278 var height = document.getElementById('wp-'+ed.id+'-editor-container').clientHeight; 279 280 height -= 33; 281 282 if ( !win.setUserSetting || height < 50 || height == win.getUserSetting( ed.id + '_ed_size' ) ) 283 return; 284 285 win.setUserSetting( ed.id + '_ed_size', height ); 286 }); 287 }); 288 237 289 /* disable for now 238 290 ed.onBeforeSetContent.add(function(ed, o) { 239 291 o.content = t._setEmbed(o.content); -
wp-includes/css/editor.css
1018 1018 } 1019 1019 1020 1020 /* WP specific */ 1021 .wp-editor-wrap { 1022 position: relative; 1023 } 1024 1021 1025 .wp-editor-area { 1022 1026 font-family: Consolas, Monaco, monospace; 1023 1027 padding: 10px; 1028 margin: 1px 0 0; 1024 1029 line-height: 150%; 1025 1030 border: 0 none; 1026 1031 outline: none; 1032 display: block; 1027 1033 resize: vertical; 1028 1034 -moz-box-sizing: border-box; 1029 1035 -webkit-box-sizing: border-box; -
wp-includes/class-wp-editor.php
32 32 'wpautop' => true, // use wpautop? 33 33 'media_buttons' => true, // show insert/upload button(s) 34 34 'textarea_name' => $editor_id, // set the textarea name to something different, square brackets [] can be used here 35 'textarea_rows' => get_option('default_post_edit_rows', 10), // rows="..."35 'textarea_rows' => 20, 36 36 'tabindex' => '', 37 37 'tabfocus_elements' => ':prev,:next', // the previous and next element ID to move the focus to when pressing the Tab key in TinyMCE 38 38 'editor_css' => '', // intended for extra styles for both visual and Text editors buttons, needs to include the <style> tags, can use "scoped". … … 52 52 if ( self::$this_quicktags ) 53 53 self::$has_quicktags = true; 54 54 55 if ( 'content' === $editor_id ) { 56 // A cookie (set when a user resizes the editor) overrides the height. 57 $cookie = (int) get_user_setting( 'content_ed_size' ); 58 59 // Upgrade an old TinyMCE cookie if it is still around, and the new one isn't. 60 if ( ! $cookie && isset( $_COOKIE['TinyMCE_' . $editor_id . '_size'] ) ) { 61 parse_str( $_COOKIE['TinyMCE_' . $editor_id . '_size'], $cookie ); 62 $cookie = $cookie['ch']; 63 } 64 65 if ( $cookie ) 66 $set['editor_height'] = $cookie; 67 else 68 $set['editor_height'] = 360; // 360px is about 20 textarea rows, the default value. 69 } 70 71 if ( ! empty( $set['editor_height'] ) && $set['editor_height'] < 50 ) 72 $set['editor_height'] = 50; 73 55 74 return $set; 56 75 } 57 76 … … 67 86 $set = self::parse_settings($editor_id, $settings); 68 87 $editor_class = ' class="' . trim( $set['editor_class'] . ' wp-editor-area' ) . '"'; 69 88 $tabindex = $set['tabindex'] ? ' tabindex="' . (int) $set['tabindex'] . '"' : ''; 70 $rows = ' rows="' . (int) $set['textarea_rows'] . '"'; 89 90 if ( ! empty( $set['editor_height'] ) ) 91 $height = ' style="height: ' . $set['editor_height'] . 'px"'; 92 else 93 $height = ' rows="' . $set['textarea_rows'] . '"'; 94 71 95 $switch_class = 'html-active'; 72 96 $toolbar = $buttons = ''; 73 97 … … 116 140 echo "</div>\n"; 117 141 } 118 142 119 $the_editor = apply_filters('the_editor', '<div id="wp-' . $editor_id . '-editor-container" class="wp-editor-container"><textarea' . $editor_class . $ rows. $tabindex . ' cols="40" name="' . $set['textarea_name'] . '" id="' . $editor_id . '">%s</textarea></div>');143 $the_editor = apply_filters('the_editor', '<div id="wp-' . $editor_id . '-editor-container" class="wp-editor-container"><textarea' . $editor_class . $height . $tabindex . ' cols="40" name="' . $set['textarea_name'] . '" id="' . $editor_id . '">%s</textarea></div>'); 120 144 $content = apply_filters('the_editor_content', $content); 121 145 122 146 printf($the_editor, $content); … … 403 427 'body_class' => $body_class 404 428 ); 405 429 430 $mceInit['theme_advanced_resizing_use_cookie'] = 'content' !== $editor_id; 431 406 432 if ( $first_run ) 407 433 $mceInit = array_merge(self::$first_init, $mceInit); 408 434 … … 550 576 else 551 577 echo "<script type='text/javascript' src='{$baseurl}/langs/wp-langs-en.js?$version'></script>\n"; 552 578 } 579 580 $mce = ( self::$has_tinymce && wp_default_editor() == 'tinymce' ) || ! self::$has_quicktags; 553 581 ?> 554 582 555 583 <script type="text/javascript"> 584 var wpActiveEditor; 585 556 586 (function(){ 557 var init, ed, qt, first_init, mce = <?php echo wp_default_editor() == 'tinymce' ? 'true' : 'false'; ?>;587 var init, ed, qt, first_init, DOM, el, i, mce = <?php echo (int) $mce; ?>; 558 588 559 589 if ( typeof(tinymce) == 'object' ) { 590 DOM = tinymce.DOM; 560 591 // mark wp_theme/ui.css as loaded 561 tinymce.DOM.files[tinymce.baseURI.getURI() + '/themes/advanced/skins/wp_theme/ui.css'] = true;592 DOM.files[tinymce.baseURI.getURI() + '/themes/advanced/skins/wp_theme/ui.css'] = true; 562 593 594 DOM.events.add( DOM.select('.wp-editor-wrap'), 'mousedown', function(e){ 595 if ( this.id ) 596 wpActiveEditor = this.id.slice(3, -5); 597 }); 598 563 599 for ( ed in tinyMCEPreInit.mceInit ) { 564 600 if ( first_init ) { 565 601 init = tinyMCEPreInit.mceInit[ed] = tinymce.extend( {}, first_init, tinyMCEPreInit.mceInit[ed] ); … … 570 606 if ( mce ) 571 607 try { tinymce.init(init); } catch(e){} 572 608 } 609 } else { 610 el = document.getElementsByClassName('wp-editor-wrap'); 611 for ( i in el ) { 612 if ( typeof(el[i]) == 'object' ) 613 el[i].onmousedown = function(){ wpActiveEditor = this.id.slice(3, -5); } 614 } 573 615 } 574 616 575 617 if ( typeof(QTags) == 'function' ) { … … 578 620 } 579 621 } 580 622 })(); 581 582 var wpActiveEditor; 583 584 jQuery('.wp-editor-wrap').mousedown(function(e){ 585 wpActiveEditor = this.id.slice(3, -5); 586 }); 587 588 <?php 589 623 <?php 590 624 if ( self::$ext_plugins ) 591 625 echo self::$ext_plugins . "\n"; 592 626 593 627 if ( ! $compressed && $tmce_on ) { 594 ?>595 (function(){var t=tinyMCEPreInit,sl=tinymce.ScriptLoader,ln=t.ref.language,th=t.ref.theme,pl=t.ref.plugins;sl.markDone(t.base+'/langs/'+ln+'.js');sl.markDone(t.base+'/themes/'+th+'/langs/'+ln+'.js');sl.markDone(t.base+'/themes/'+th+'/langs/'+ln+'_dlg.js');sl.markDone(t.base+'/themes/advanced/skins/wp_theme/ui.css');tinymce.each(pl.split(','),function(n){if(n&&n.charAt(0)!='-'){sl.markDone(t.base+'/plugins/'+n+'/langs/'+ln+'.js');sl.markDone(t.base+'/plugins/'+n+'/langs/'+ln+'_dlg.js');}});})();596 <?php628 ?> 629 (function(){var t=tinyMCEPreInit,sl=tinymce.ScriptLoader,ln=t.ref.language,th=t.ref.theme,pl=t.ref.plugins;sl.markDone(t.base+'/langs/'+ln+'.js');sl.markDone(t.base+'/themes/'+th+'/langs/'+ln+'.js');sl.markDone(t.base+'/themes/'+th+'/langs/'+ln+'_dlg.js');sl.markDone(t.base+'/themes/advanced/skins/wp_theme/ui.css');tinymce.each(pl.split(','),function(n){if(n&&n.charAt(0)!='-'){sl.markDone(t.base+'/plugins/'+n+'/langs/'+ln+'.js');sl.markDone(t.base+'/plugins/'+n+'/langs/'+ln+'_dlg.js');}});})(); 630 <?php 597 631 } 598 632 599 633 if ( !is_admin() ) 600 634 echo 'var ajaxurl = "' . admin_url( 'admin-ajax.php', 'relative' ) . '";'; 601 ?>602 </script>603 <?php635 ?> 636 </script> 637 <?php 604 638 605 639 if ( in_array('wplink', self::$plugins, true) || in_array('link', self::$qt_buttons, true) ) 606 640 self::wp_link_dialog(); -
wp-admin/js/editor.js
49 49 if ( ed && ed.isHidden() ) 50 50 return false; 51 51 52 if ( ed ) { 53 txtarea_el.style.height = ed.getContentAreaContainer().offsetHeight + 20 + 'px'; 52 if ( ed ) 54 53 ed.hide(); 55 }56 54 57 55 dom.removeClass(wrap_id, 'tmce-active'); 58 56 dom.addClass(wrap_id, 'html-active'); -
wp-admin/js/post.js
667 667 } 668 668 669 669 wptitlehint(); 670 671 // resizable textarea#content 672 (function() { 673 var textarea = $('textarea#content'), offset = null, el; 674 675 function dragging(e) { 676 textarea.height( Math.max(50, offset + e.pageY) + 'px' ); 677 return false; 678 } 679 680 function endDrag(e) { 681 var height = $('#wp-content-editor-container').height(); 682 683 textarea.focus(); 684 $(document).unbind('mousemove', dragging).unbind('mouseup', endDrag); 685 686 if ( height > 83 ) { 687 height -= 33; // compensate for toolbars, padding... 688 setUserSetting( 'content_ed_size', height ); 689 } 690 } 691 692 el = $('<div id="content-resize-handle"><br></div>'); 693 $('#wp-content-wrap').append(el); 694 el.on('mousedown', function(e) { 695 offset = textarea.height() - e.pageY; 696 textarea.blur(); 697 $(document).mousemove(dragging).mouseup(endDrag); 698 return false; 699 }); 700 })(); 701 670 702 }); -
wp-admin/css/wp-admin.css
3107 3107 background: transparent url(../images/resize.gif) no-repeat scroll right bottom; 3108 3108 width: 12px; 3109 3109 cursor: se-resize; 3110 margin: 0 2px;3110 margin: 0 1px; 3111 3111 position: relative; 3112 3112 top: -2px; 3113 3113 } … … 3116 3116 top: 20px; 3117 3117 } 3118 3118 3119 #content-resize-handle { 3120 background: transparent url(../images/resize.gif) no-repeat scroll right bottom; 3121 width: 12px; 3122 cursor: se-resize; 3123 position: absolute; 3124 right: 2px; 3125 height: 19px; 3126 } 3127 3128 .tmce-active #content-resize-handle { 3129 display: none; 3130 } 3131 3132 .post-php #content { 3133 resize: none; 3134 } 3135 3119 3136 #wp-word-count { 3120 3137 display: block; 3121 3138 padding: 2px 10px; … … 4309 4326 box-shadow: none; 4310 4327 } 4311 4328 4329 .comment-php .wp-editor-area { 4330 height: 200px; 4331 } 4332 4312 4333 .comment-ays { 4313 4334 margin-bottom: 0; 4314 4335 border-style: solid;