Ticket #29838: 29838.5.diff
File 29838.5.diff, 13.6 KB (added by , 4 months ago) |
---|
-
src/js/_enqueues/admin/post.js
434 434 $previewField.val(''); 435 435 }); 436 436 437 // This code is meant to allow tabbing from Title to Post content.438 $('#title').on( 'keydown.editor-focus', function( event ) {439 var editor;440 441 if ( event.keyCode === 9 && ! event.ctrlKey && ! event.altKey && ! event.shiftKey ) {442 editor = typeof tinymce != 'undefined' && tinymce.get('content');443 444 if ( editor && ! editor.isHidden() ) {445 editor.focus();446 } else if ( $textarea.length ) {447 $textarea.trigger( 'focus' );448 } else {449 return;450 }451 452 event.preventDefault();453 }454 });455 456 437 // Auto save new posts after a title is typed. 457 438 if ( $( '#auto_draft' ).val() ) { 458 439 $( '#title' ).on( 'blur', function() { -
src/js/_enqueues/wp/editor/base.js
79 79 var editorHeight, toolbarHeight, iframe, 80 80 editor = tinymce.get( id ), 81 81 wrap = $$( '#wp-' + id + '-wrap' ), 82 htmlSwitch = wrap.find( '.switch-tmce' ), 83 tmceSwitch = wrap.find( '.switch-html' ), 82 84 $textarea = $$( '#' + id ), 83 85 textarea = $textarea[0]; 84 86 … … 103 105 104 106 editorHeight = parseInt( textarea.style.height, 10 ) || 0; 105 107 106 var keepSelection = false; 107 if ( editor ) { 108 keepSelection = editor.getParam( 'wp_keep_scroll_position' ); 109 } else { 110 keepSelection = window.tinyMCEPreInit.mceInit[ id ] && 111 window.tinyMCEPreInit.mceInit[ id ].wp_keep_scroll_position; 112 } 108 addHTMLBookmarkInTextAreaContent( $textarea ); 113 109 114 if ( keepSelection ) {115 // Save the selection.116 addHTMLBookmarkInTextAreaContent( $textarea );117 }118 119 110 if ( editor ) { 120 111 editor.show(); 121 112 … … 130 121 } 131 122 } 132 123 133 if ( editor.getParam( 'wp_keep_scroll_position' ) ) { 134 // Restore the selection. 135 focusHTMLBookmarkInVisualEditor( editor ); 136 } 124 focusHTMLBookmarkInVisualEditor( editor ); 137 125 } else { 138 126 tinymce.init( window.tinyMCEPreInit.mceInit[ id ] ); 139 127 } 140 128 141 129 wrap.removeClass( 'html-active' ).addClass( 'tmce-active' ); 130 tmceSwitch.attr( 'aria-pressed', false ); 131 htmlSwitch.attr( 'aria-pressed', true ); 142 132 $textarea.attr( 'aria-hidden', true ); 143 133 window.setUserSetting( 'editor', 'tinymce' ); 144 134 … … 168 158 169 159 var selectionRange = null; 170 160 171 if ( editor.getParam( 'wp_keep_scroll_position' ) ) { 172 selectionRange = findBookmarkedPosition( editor ); 173 } 161 selectionRange = findBookmarkedPosition( editor ); 174 162 175 163 editor.hide(); 176 164 … … 184 172 } 185 173 186 174 wrap.removeClass( 'tmce-active' ).addClass( 'html-active' ); 175 tmceSwitch.attr( 'aria-pressed', true ); 176 htmlSwitch.attr( 'aria-pressed', false ); 187 177 $textarea.attr( 'aria-hidden', false ); 188 178 window.setUserSetting( 'editor', 'html' ); 189 179 } … … 520 510 * Focuses the selection markers in Visual mode. 521 511 * 522 512 * The method checks for existing selection markers inside the editor DOM (Visual mode) 523 * and create a selection between the two nodes using the DOM `createRange` selection API 513 * and create a selection between the two nodes using the DOM `createRange` selection API. 524 514 * 525 515 * If there is only a single node, select only the single node through TinyMCE's selection API 526 516 * … … 545 535 } 546 536 } 547 537 548 if ( editor.getParam( 'wp_keep_scroll_position' ) ) { 549 scrollVisualModeToStartElement( editor, startNode ); 550 } 538 scrollVisualModeToStartElement( editor, startNode ); 551 539 552 540 removeSelectionMarker( startNode ); 553 541 removeSelectionMarker( endNode ); -
src/wp-admin/edit-form-advanced.php
621 621 array( 622 622 '_content_editor_dfw' => $_content_editor_dfw, 623 623 'drag_drop_upload' => true, 624 'tabfocus_elements' => 'content-html,save-post',625 624 'editor_height' => 300, 626 625 'tinymce' => array( 627 626 'resize' => false, 628 627 'wp_autoresize_on' => $_wp_editor_expand, 629 628 'add_unload_trigger' => false, 630 'wp_keep_scroll_position' => ! $is_IE,631 629 ), 632 630 ) 633 631 ); 634 632 ?> 635 <table id="post-status-info" ><tbody><tr>633 <table id="post-status-info" role="presentation"><tbody><tr> 636 634 <td id="wp-word-count" class="hide-if-no-js"> 637 635 <?php 638 636 printf( -
src/wp-includes/class-wp-editor.php
188 188 if ( 'html' !== $default_editor ) { 189 189 $default_editor = 'tinymce'; 190 190 } 191 $tmce_active = ( 'html' === $default_editor ) ? ' aria-pressed="true"' : ''; 192 $html_active = ( 'html' === $default_editor ) ? '' : ' aria-pressed="true"'; 191 193 192 $buttons .= '<button type="button" id="' . $editor_id_attr . '-tmce" class="wp-switch-editor switch-tmce"' .194 $buttons .= '<button type="button" id="' . $editor_id_attr . '-tmce"' . $html_active . ' class="wp-switch-editor switch-tmce"' . 193 195 ' data-wp-editor-id="' . $editor_id_attr . '">' . _x( 'Visual', 'Name for the Visual editor tab' ) . "</button>\n"; 194 $buttons .= '<button type="button" id="' . $editor_id_attr . '-html" class="wp-switch-editor switch-html"' .196 $buttons .= '<button type="button" id="' . $editor_id_attr . '-html"' . $tmce_active . ' class="wp-switch-editor switch-html"' . 195 197 ' data-wp-editor-id="' . $editor_id_attr . '">' . _x( 'Text', 'Name for the Text editor tab (formerly HTML)' ) . "</button>\n"; 196 198 } else { 197 199 $default_editor = 'tinymce'; … … 1113 1115 'end_container_on_empty_block' => true, 1114 1116 'wpeditimage_html5_captions' => true, 1115 1117 'wp_lang_attr' => get_bloginfo( 'language' ), 1116 'wp_keep_scroll_position' => false,1117 1118 'wp_shortcut_labels' => wp_json_encode( $shortcut_labels ), 1118 1119 ); 1119 1120 -
src/wp-includes/css/editor.css
1140 1140 color: #1d2327; 1141 1141 } 1142 1142 1143 .wp-switch-editor:active,1144 .html-active .switch-html:focus,1145 .tmce-active .switch-tmce:focus {1146 box-shadow: none;1147 }1148 1149 1143 .wp-switch-editor:active { 1150 1144 background-color: #f6f7f7; 1151 1145 box-shadow: none;