Make WordPress Core

Ticket #31655: 31655.patch

File 31655.patch, 2.5 KB (added by azaozz, 10 years ago)
  • src/wp-admin/js/post.js

     
    204204        var stamp, visibility, $submitButtons, updateVisibility, updateText,
    205205                sticky = '',
    206206                last = 0,
    207                 co = $('#content'),
     207                $textarea = $('#content'),
    208208                $document = $(document),
    209209                $editSlugWrap = $('#edit-slug-box'),
    210210                postId = $('#post_ID').val() || 0,
     
    212212                releaseLock = true,
    213213                $postVisibilitySelect = $('#post-visibility-select'),
    214214                $timestampdiv = $('#timestampdiv'),
    215                 $postStatusSelect = $('#post-status-select');
     215                $postStatusSelect = $('#post-status-select'),
     216                isMac = window.navigator.platform ? window.navigator.platform.indexOf( 'Mac' ) !== -1 : false;
    216217
    217218        postboxes.add_postbox_toggles(pagenow);
    218219
     
    313314
    314315        // This code is meant to allow tabbing from Title to Post content.
    315316        $('#title').on( 'keydown.editor-focus', function( event ) {
    316                 var editor, $textarea;
     317                var editor;
    317318
    318319                if ( event.keyCode === 9 && ! event.ctrlKey && ! event.altKey && ! event.shiftKey ) {
    319320                        editor = typeof tinymce != 'undefined' && tinymce.get('content');
    320                         $textarea = $('#content');
    321321
    322322                        if ( editor && ! editor.isHidden() ) {
    323323                                editor.focus();
     
    790790
    791791        // word count
    792792        if ( typeof(wpWordCount) != 'undefined' ) {
    793                 $document.triggerHandler('wpcountwords', [ co.val() ]);
     793                $document.triggerHandler('wpcountwords', [ $textarea.val() ]);
    794794
    795                 co.keyup( function(e) {
     795                $textarea.keyup( function(e) {
    796796                        var k = e.keyCode || e.charCode;
    797797
    798798                        if ( k == last )
     
    799799                                return true;
    800800
    801801                        if ( 13 == k || 8 == last || 46 == last )
    802                                 $document.triggerHandler('wpcountwords', [ co.val() ]);
     802                                $document.triggerHandler('wpcountwords', [ $textarea.val() ]);
    803803
    804804                        last = k;
    805805                        return true;
     
    835835        // Resize the visual and text editors
    836836        ( function() {
    837837                var editor, offset, mce,
    838                         $textarea = $('textarea#content'),
    839838                        $handle = $('#post-status-info'),
    840839                        $postdivrich = $('#postdivrich');
    841840
     
    923922                        }
    924923                });
    925924        }
     925
     926        // Save on pressing Ctrl/Command + S in the Text editor
     927        $textarea.on( 'keydown.wp-autosave', function( event ) {
     928                if ( event.which === 83 ) {
     929                        if ( event.shiftKey || event.altKey || ( isMac && ( ! event.metaKey || event.ctrlKey ) ) || ( ! isMac && ! event.ctrlKey ) ) {
     930                                return;
     931                        }
     932
     933                        wp.autosave && wp.autosave.server.triggerSave();
     934                        event.preventDefault();
     935                }
     936        });
    926937});