WordPress.org

Make WordPress Core

Ticket #26029: 26029.2.diff

File 26029.2.diff, 26.1 KB (added by dougwollison, 6 years ago)

Revised declaration of globals.

  • src/wp-admin/js/wp-fullscreen.js

     
     1/* global ajaxurl, deleteUserSetting, setUserSetting, switchEditors, tinymce, tinymcePreInit, wp_fullscreen_settings, wpActiveEditor, wpLink */
     2
    13/**
    24 * PubSub
    35 *
     
    1113};
    1214
    1315PubSub.prototype.subscribe = function( topic, callback ) {
    14         if ( ! this.topics[ topic ] )
     16        if ( ! this.topics[ topic ] ) {
    1517                this.topics[ topic ] = [];
     18        }
    1619
    1720        this.topics[ topic ].push( callback );
    1821        return callback;
     
    2225        var i, l,
    2326                topics = this.topics[ topic ];
    2427
    25         if ( ! topics )
     28        if ( ! topics ) {
    2629                return callback || [];
     30        }
    2731
    2832        // Clear matching callbacks
    2933        if ( callback ) {
    3034                for ( i = 0, l = topics.length; i < l; i++ ) {
    31                         if ( callback == topics[i] )
     35                        if ( callback === topics[i] ) {
    3236                                topics.splice( i, 1 );
     37                        }
    3338                }
    3439                return callback;
    3540
     
    4449        var i, l, broken,
    4550                topics = this.topics[ topic ];
    4651
    47         if ( ! topics )
     52        if ( ! topics ) {
    4853                return;
     54        }
    4955
    5056        args = args || [];
    5157
     
    6268 * Access the API globally using the fullscreen variable.
    6369 */
    6470
    65 (function($){
    66         var api, ps, bounder, s;
     71(function( $ ) {
     72        var api, ps, bounder, set_title_hint, s, timer, block;
    6773
    6874        // Initialize the fullscreen/api object
    6975        fullscreen = api = {};
     
    7480        block = false;
    7581
    7682        s = api.settings = { // Settings
    77                 visible : false,
    78                 mode : 'tinymce',
    79                 editor_id : 'content',
    80                 title_id : '',
    81                 timer : 0,
    82                 toolbar_shown : false
    83         }
     83                visible:      false,
     84                mode:          'tinymce',
     85                editor_id:    'content',
     86                title_id:      '',
     87                timer:        0,
     88                toolbar_shown: false
     89        };
    8490
    8591        /**
    8692         * Bounder
     
    8995         * Used to throttle events.
    9096         */
    9197        bounder = api.bounder = function( start, stop, delay, e ) {
    92                 var y, top;
     98                var y, top, timed;
    9399
    94100                delay = delay || 1250;
    95101
     
    97103                        y = e.pageY || e.clientY || e.offsetY;
    98104                        top = $(document).scrollTop();
    99105
    100                         if ( !e.isDefaultPrevented ) // test if e ic jQuery normalized
     106                        if ( ! e.isDefaultPrevented ) {// test if e ic jQuery normalized
    101107                                y = 135 + y;
     108                        }
    102109
    103                         if ( y - top > 120 )
     110                        if ( y - top > 120 ) {
    104111                                return;
     112                        }
    105113                }
    106114
    107                 if ( block )
     115                if ( block ) {
    108116                        return;
     117                }
    109118
    110119                block = true;
    111120
    112                 setTimeout( function() {
     121                setTimeout(function() {
    113122                        block = false;
    114123                }, 400 );
    115124
    116                 if ( s.timer )
     125                if ( s.timer ) {
    117126                        clearTimeout( s.timer );
    118                 else
     127                } else {
    119128                        ps.publish( start );
     129                }
    120130
    121                 function timed() {
     131                timed = function() {
    122132                        ps.publish( stop );
    123133                        s.timer = 0;
    124                 }
     134                };
    125135
    126136                s.timer = setTimeout( timed, delay );
    127137        };
    128138
    129139        /**
     140         * set_title_hint()
     141         *
     142         * Toggles the title's label's visibility
     143         */
     144        set_title_hint = function( title ) {
     145                if ( ! title.val().length ) {
     146                        title.siblings( 'label' ).css( 'visibility', '' );
     147                } else {
     148                        title.siblings( 'label' ).css( 'visibility', 'hidden' );
     149                }
     150        };
     151
     152        /**
    130153         * on()
    131154         *
    132155         * Turns fullscreen on.
     
    134157         * @param string mode Optional. Switch to the given mode before opening.
    135158         */
    136159        api.on = function() {
    137                 if ( s.visible )
     160                if ( s.visible ) {
    138161                        return;
     162                }
    139163
    140164                // Settings can be added or changed by defining "wp_fullscreen_settings" JS object.
    141                 if ( typeof(wp_fullscreen_settings) == 'object' )
     165                if ( typeof wp_fullscreen_settings === 'object' ) {
    142166                        $.extend( s, wp_fullscreen_settings );
     167                }
    143168
    144169                s.editor_id = wpActiveEditor || 'content';
    145170
    146                 if ( $('input#title').length && s.editor_id == 'content' )
     171                if ( $( 'input#title' ).length && s.editor_id === 'content' ) {
    147172                        s.title_id = 'title';
    148                 else if ( $('input#' + s.editor_id + '-title').length ) // the title input field should have [editor_id]-title HTML ID to be auto detected
     173                } else if ( $( 'input#' + s.editor_id + '-title' ).length ) { // the title input field should have [editor_id]-title HTML ID to be auto detected
    149174                        s.title_id = s.editor_id + '-title';
    150                 else
    151                         $('#wp-fullscreen-title, #wp-fullscreen-title-prompt-text').hide();
     175                } else {
     176                        $( '#wp-fullscreen-title, #wp-fullscreen-title-prompt-text' ).hide();
     177                }
    152178
    153                 s.mode = $('#' + s.editor_id).is(':hidden') ? 'tinymce' : 'html';
    154                 s.qt_canvas = $('#' + s.editor_id).get(0);
     179                s.mode = $( '#' + s.editor_id ).is( ':hidden' ) ? 'tinymce' : 'html';
     180                s.qt_canvas = $( '#' + s.editor_id ).get(0);
    155181
    156                 if ( ! s.element )
     182                if ( ! s.element ) {
    157183                        api.ui.init();
     184                }
    158185
    159                 s.is_mce_on = s.has_tinymce && typeof( tinyMCE.get(s.editor_id) ) != 'undefined';
     186                s.is_mce_on = s.has_tinymce && typeof tinymce.get( s.editor_id ) !== 'undefined';
    160187
    161188                api.ui.fade( 'show', 'showing', 'shown' );
    162189        };
     
    167194         * Turns fullscreen off.
    168195         */
    169196        api.off = function() {
    170                 if ( ! s.visible )
     197                if ( ! s.visible ) {
    171198                        return;
     199                }
    172200
    173201                api.ui.fade( 'hide', 'hiding', 'hidden' );
    174202        };
     
    186214        api.switchmode = function( to ) {
    187215                var from = s.mode;
    188216
    189                 if ( ! to || ! s.visible || ! s.has_tinymce )
     217                if ( ! to || ! s.visible || ! s.has_tinymce ) {
    190218                        return from;
     219                }
    191220
    192221                // Don't switch if the mode is the same.
    193                 if ( from == to )
     222                if ( from === to ) {
    194223                        return from;
     224                }
    195225
    196226                ps.publish( 'switchMode', [ from, to ] );
    197227                s.mode = to;
     
    205235         */
    206236
    207237        api.save = function() {
    208                 var hidden = $('#hiddenaction'), old = hidden.val(), spinner = $('#wp-fullscreen-save .spinner'),
    209                         message = $('#wp-fullscreen-save span');
     238                var hidden = $( '#hiddenaction' ), old = hidden.val(), spinner = $( '#wp-fullscreen-save .spinner' ),
     239                        message = $( '#wp-fullscreen-save span' );
    210240
    211241                spinner.show();
    212242                api.savecontent();
    213243
    214                 hidden.val('wp-fullscreen-save-post');
     244                hidden.val( 'wp-fullscreen-save-post' );
    215245
    216                 $.post( ajaxurl, $('form#post').serialize(), function(r){
     246                $.post( ajaxurl, $( 'form#post' ).serialize(), function( r ) {
    217247                        spinner.hide();
    218248                        message.show();
    219249
    220                         setTimeout( function(){
    221                                 message.fadeOut(1000);
     250                        setTimeout(function(){
     251                                message.fadeOut( 1000 );
    222252                        }, 3000 );
    223253
    224                         if ( r.last_edited )
     254                        if ( r.last_edited ) {
    225255                                $('#wp-fullscreen-save input').attr( 'title',  r.last_edited );
     256                        }
    226257
    227258                }, 'json');
    228259
    229                 hidden.val(old);
    230         }
     260                hidden.val( old );
     261        };
    231262
    232263        api.savecontent = function() {
    233264                var ed, content;
    234265
    235                 if ( s.title_id )
    236                         $('#' + s.title_id).val( $('#wp-fullscreen-title').val() );
     266                if ( s.title_id ) {
     267                        $( '#' + s.title_id ).val( $( '#wp-fullscreen-title' ).val() );
     268                }
    237269
    238                 if ( s.mode === 'tinymce' && (ed = tinyMCE.get('wp_mce_fullscreen')) ) {
     270                if ( s.mode === 'tinymce' && ( ed = tinymce.get( 'wp_mce_fullscreen' ) ) ) {
    239271                        content = ed.save();
    240272                } else {
    241                         content = $('#wp_mce_fullscreen').val();
     273                        content = $( '#wp_mce_fullscreen' ).val();
    242274                }
    243275
    244                 $('#' + s.editor_id).val( content );
    245                 $(document).triggerHandler('wpcountwords', [ content ]);
    246         }
     276                $( '#' + s.editor_id ).val( content );
     277                $( document ).triggerHandler( 'wpcountwords', [ content ] );
     278        };
    247279
    248         set_title_hint = function( title ) {
    249                 if ( ! title.val().length )
    250                         title.siblings('label').css( 'visibility', '' );
    251                 else
    252                         title.siblings('label').css( 'visibility', 'hidden' );
    253         }
     280        api.dfw_width = function( n ) {
     281                var el = $( '#wp-fullscreen-wrap' ), w = el.width();
    254282
    255         api.dfw_width = function(n) {
    256                 var el = $('#wp-fullscreen-wrap'), w = el.width();
    257 
    258                 if ( !n ) { // reset to theme width
    259                         el.width( $('#wp-fullscreen-central-toolbar').width() );
    260                         deleteUserSetting('dfw_width');
     283                if ( ! n ) { // reset to theme width
     284                        el.width( $( '#wp-fullscreen-central-toolbar' ).width() );
     285                        deleteUserSetting( 'dfw_width' );
    261286                        return;
    262287                }
    263288
    264289                w = n + w;
    265290
    266                 if ( w < 200 || w > 1200 ) // sanity check
     291                if ( w < 200 || w > 1200 ) { // sanity check
    267292                        return;
     293                }
    268294
    269295                el.width( w );
    270                 setUserSetting('dfw_width', w);
    271         }
     296                setUserSetting( 'dfw_width', w );
     297        };
    272298
    273299        ps.subscribe( 'showToolbar', function() {
    274                 s.toolbars.removeClass('fade-1000').addClass('fade-300');
    275                 api.fade.In( s.toolbars, 300, function(){ ps.publish('toolbarShown'); }, true );
    276                 $('#wp-fullscreen-body').addClass('wp-fullscreen-focus');
     300                s.toolbars.removeClass( 'fade-1000' ).addClass( 'fade-300' );
     301                api.fade.In( s.toolbars, 300, function() {
     302                        ps.publish( 'toolbarShown' );
     303                }, true );
     304                $( '#wp-fullscreen-body' ).addClass( 'wp-fullscreen-focus' );
    277305                s.toolbar_shown = true;
    278306        });
    279307
    280308        ps.subscribe( 'hideToolbar', function() {
    281                 s.toolbars.removeClass('fade-300').addClass('fade-1000');
    282                 api.fade.Out( s.toolbars, 1000, function(){ ps.publish('toolbarHidden'); }, true );
    283                 $('#wp-fullscreen-body').removeClass('wp-fullscreen-focus');
     309                s.toolbars.removeClass( 'fade-300' ).addClass( 'fade-1000' );
     310                api.fade.Out( s.toolbars, 1000, function() {
     311                        ps.publish('toolbarHidden');
     312                }, true );
     313                $( '#wp-fullscreen-body' ).removeClass( 'wp-fullscreen-focus' );
    284314        });
    285315
    286316        ps.subscribe( 'toolbarShown', function() {
    287                 s.toolbars.removeClass('fade-300');
     317                s.toolbars.removeClass( 'fade-300' );
    288318        });
    289319
    290320        ps.subscribe( 'toolbarHidden', function() {
    291                 s.toolbars.removeClass('fade-1000');
     321                s.toolbars.removeClass( 'fade-1000' );
    292322                s.toolbar_shown = false;
    293323        });
    294324
     
    296326                var title;
    297327
    298328                if ( s.title_id ) {
    299                         title = $('#wp-fullscreen-title').val( $('#' + s.title_id).val() );
     329                        title = $( '#wp-fullscreen-title' ).val( $( '#' + s.title_id ).val() );
    300330                        set_title_hint( title );
    301331                }
    302332
    303                 $('#wp-fullscreen-save input').attr( 'title',  $('#last-edit').text() );
     333                $( '#wp-fullscreen-save input' ).attr( 'title',  $( '#last-edit' ).text() );
    304334
    305335                s.textarea_obj.value = s.qt_canvas.value;
    306336
    307                 if ( s.has_tinymce && s.mode === 'tinymce' )
    308                         tinyMCE.execCommand('wpFullScreenInit');
     337                if ( s.has_tinymce && s.mode === 'tinymce' ) {
     338                        tinymce.execCommand( 'wpFullScreenInit' );
     339                }
    309340
    310                 s.orig_y = $(window).scrollTop();
     341                s.orig_y = $( window ).scrollTop();
    311342        });
    312343
    313344        ps.subscribe( 'showing', function() { // This event occurs while the DFW overlay blocks the UI.
    314345                $( document.body ).addClass( 'fullscreen-active' );
    315346                api.refresh_buttons();
    316347
    317                 $( document ).bind( 'mousemove.fullscreen', function(e) { bounder( 'showToolbar', 'hideToolbar', 2000, e ); } );
     348                $( document ).bind( 'mousemove.fullscreen', function( e ) {
     349                        bounder( 'showToolbar', 'hideToolbar', 2000, e );
     350                });
    318351                bounder( 'showToolbar', 'hideToolbar', 2000 );
    319352
    320353                api.bind_resize();
    321354                setTimeout( api.resize_textarea, 200 );
    322355
    323356                // scroll to top so the user is not disoriented
    324                 scrollTo(0, 0);
     357                scrollTo( 0, 0 );
    325358
    326359                // needed it for IE7 and compat mode
    327                 $('#wpadminbar').hide();
     360                $( '#wpadminbar' ).hide();
    328361        });
    329362
    330363        ps.subscribe( 'shown', function() { // This event occurs after the DFW overlay is shown
     
    335368                // init the standard TinyMCE instance if missing
    336369                if ( s.has_tinymce && ! s.is_mce_on ) {
    337370
    338                         interim_init = function(mce, ed) {
    339                                 var el = ed.getElement(), old_val = el.value, settings = tinyMCEPreInit.mceInit[s.editor_id];
     371                        interim_init = function( mce, ed ) {
     372                                var el = ed.getElement(), old_val = el.value, settings = tinymcePreInit.mceInit[ s.editor_id ];
    340373
    341                                 if ( settings && settings.wpautop && typeof(switchEditors) != 'undefined' )
     374                                if ( settings && settings.wpautop && typeof switchEditors !== 'undefined' ) {
    342375                                        el.value = switchEditors.wpautop( el.value );
     376                                }
    343377
    344                                 ed.onInit.add(function(ed) {
     378                                ed.onInit.add(function( ed ) {
    345379                                        ed.hide();
    346380                                        ed.getElement().value = old_val;
    347                                         tinymce.onAddEditor.remove(interim_init);
     381                                        tinymce.onAddEditor.remove( interim_init );
    348382                                });
    349383                        };
    350384
    351                         tinymce.onAddEditor.add(interim_init);
    352                         tinyMCE.init(tinyMCEPreInit.mceInit[s.editor_id]);
     385                        tinymce.onAddEditor.add( interim_init );
     386                        tinymce.init( tinymcePreInit.mceInit[ s.editor_id ] );
    353387
    354388                        s.is_mce_on = true;
    355389                }
     
    358392        });
    359393
    360394        ps.subscribe( 'hide', function() { // This event occurs before the overlay blocks DFW.
    361                 var htmled_is_hidden = $('#' + s.editor_id).is(':hidden');
     395                var htmled_is_hidden = $( '#' + s.editor_id ).is( ':hidden' );
    362396                // Make sure the correct editor is displaying.
    363                 if ( s.has_tinymce && s.mode === 'tinymce' && !htmled_is_hidden ) {
    364                         switchEditors.go(s.editor_id, 'tmce');
     397                if ( s.has_tinymce && s.mode === 'tinymce' && ! htmled_is_hidden ) {
     398                        switchEditors.go( s.editor_id, 'tmce' );
    365399                } else if ( s.mode === 'html' && htmled_is_hidden ) {
    366                         switchEditors.go(s.editor_id, 'html');
     400                        switchEditors.go( s.editor_id, 'html' );
    367401                }
    368402
    369403                // Save content must be after switchEditors or content will be overwritten. See #17229.
    370404                api.savecontent();
    371405
    372406                $( document ).unbind( '.fullscreen' );
    373                 $(s.textarea_obj).unbind('.grow');
     407                $( s.textarea_obj ).unbind( '.grow' );
    374408
    375                 if ( s.has_tinymce && s.mode === 'tinymce' )
    376                         tinyMCE.execCommand('wpFullScreenSave');
     409                if ( s.has_tinymce && s.mode === 'tinymce' ) {
     410                        tinymce.execCommand( 'wpFullScreenSave' );
     411                }
    377412
    378                 if ( s.title_id )
    379                         set_title_hint( $('#' + s.title_id) );
     413                if ( s.title_id ) {
     414                        set_title_hint( $( '#' + s.title_id ) );
     415                }
    380416
    381417                s.qt_canvas.value = s.textarea_obj.value;
    382418        });
    383419
    384420        ps.subscribe( 'hiding', function() { // This event occurs while the overlay blocks the DFW UI.
    385 
    386421                $( document.body ).removeClass( 'fullscreen-active' );
    387                 scrollTo(0, s.orig_y);
    388                 $('#wpadminbar').show();
     422                scrollTo( 0, s.orig_y );
     423                $( '#wpadminbar' ).show();
    389424        });
    390425
    391426        ps.subscribe( 'hidden', function() { // This event occurs after DFW is removed.
    392427                s.visible = false;
    393                 $('#wp_mce_fullscreen, #wp-fullscreen-title').removeAttr('style');
     428                $( '#wp_mce_fullscreen, #wp-fullscreen-title' ).removeAttr( 'style' );
    394429
    395                 if ( s.has_tinymce && s.is_mce_on )
    396                         tinyMCE.execCommand('wpFullScreenClose');
     430                if ( s.has_tinymce && s.is_mce_on ) {
     431                        tinymce.execCommand( 'wpFullScreenClose' );
     432                }
    397433
    398434                s.textarea_obj.value = '';
    399                 api.oldheight = 0;
    400                 wpActiveEditor = s.editor_id;
     435                api.oldheight        = 0;
     436                wpActiveEditor       = s.editor_id;
    401437        });
    402438
    403439        ps.subscribe( 'switchMode', function( from, to ) {
    404440                var ed;
    405441
    406                 if ( !s.has_tinymce || !s.is_mce_on )
     442                if ( ! s.has_tinymce || ! s.is_mce_on ) {
    407443                        return;
     444                }
    408445
    409                 ed = tinyMCE.get('wp_mce_fullscreen');
     446                ed = tinymce.get( 'wp_mce_fullscreen' );
    410447
    411448                if ( from === 'html' && to === 'tinymce' ) {
    412449
    413                         if ( tinyMCE.get(s.editor_id).getParam('wpautop') && typeof(switchEditors) != 'undefined' )
     450                        if ( tinymce.get( s.editor_id ).getParam( 'wpautop' ) && typeof switchEditors !== 'undefined' ) {
    414451                                s.textarea_obj.value = switchEditors.wpautop( s.textarea_obj.value );
     452                        }
    415453
    416                         if ( 'undefined' == typeof(ed) )
    417                                 tinyMCE.execCommand('wpFullScreenInit');
    418                         else
     454                        if ( 'undefined' === typeof ed ) {
     455                                tinymce.execCommand( 'wpFullScreenInit' );
     456                        } else {
    419457                                ed.show();
    420 
     458                        }
    421459                } else if ( from === 'tinymce' && to === 'html' ) {
    422                         if ( ed )
     460                        if ( ed ) {
    423461                                ed.hide();
     462                        }
    424463                }
    425464        });
    426465
    427466        ps.subscribe( 'switchedMode', function( from, to ) {
    428                 api.refresh_buttons(true);
     467                api.refresh_buttons( true );
    429468
    430                 if ( to === 'html' )
     469                if ( to === 'html' ) {
    431470                        setTimeout( api.resize_textarea, 200 );
     471                }
    432472        });
    433473
    434474        /**
    435475         * Buttons
    436476         */
    437477        api.b = function() {
    438                 if ( s.has_tinymce && 'tinymce' === s.mode )
    439                         tinyMCE.execCommand('Bold');
    440         }
     478                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     479                        tinymce.execCommand( 'Bold' );
     480                }
     481        };
    441482
    442483        api.i = function() {
    443                 if ( s.has_tinymce && 'tinymce' === s.mode )
    444                         tinyMCE.execCommand('Italic');
    445         }
     484                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     485                        tinymce.execCommand( 'Italic' );
     486                }
     487        };
    446488
    447489        api.ul = function() {
    448                 if ( s.has_tinymce && 'tinymce' === s.mode )
    449                         tinyMCE.execCommand('InsertUnorderedList');
    450         }
     490                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     491                        tinymce.execCommand('InsertUnorderedList');
     492                }
     493        };
    451494
    452495        api.ol = function() {
    453                 if ( s.has_tinymce && 'tinymce' === s.mode )
    454                         tinyMCE.execCommand('InsertOrderedList');
    455         }
     496                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     497                        tinymce.execCommand('InsertOrderedList');
     498                }
     499        };
    456500
    457501        api.link = function() {
    458                 if ( s.has_tinymce && 'tinymce' === s.mode )
    459                         tinyMCE.execCommand('WP_Link');
    460                 else
     502                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     503                        tinymce.execCommand( 'WP_Link' );
     504                } else {
    461505                        wpLink.open();
    462         }
     506                }
     507        };
    463508
    464509        api.unlink = function() {
    465                 if ( s.has_tinymce && 'tinymce' === s.mode )
    466                         tinyMCE.execCommand('unlink');
    467         }
     510                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     511                        tinymce.execCommand( 'unlink' );
     512                }
     513        };
    468514
    469515        api.atd = function() {
    470                 if ( s.has_tinymce && 'tinymce' === s.mode )
    471                         tinyMCE.execCommand('mceWritingImprovementTool');
    472         }
     516                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     517                        tinymce.execCommand( 'mceWritingImprovementTool' );
     518                }
     519        };
    473520
    474521        api.help = function() {
    475                 if ( s.has_tinymce && 'tinymce' === s.mode )
    476                         tinyMCE.execCommand('WP_Help');
    477         }
     522                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     523                        tinymce.execCommand( 'WP_Help' );
     524                }
     525        };
    478526
    479527        api.blockquote = function() {
    480                 if ( s.has_tinymce && 'tinymce' === s.mode )
    481                         tinyMCE.execCommand('mceBlockQuote');
    482         }
     528                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     529                        tinymce.execCommand( 'mceBlockQuote' );
     530                }
     531        };
    483532
    484533        api.medialib = function() {
    485                 if ( typeof wp !== 'undefined' && wp.media && wp.media.editor )
    486                         wp.media.editor.open(s.editor_id);
    487         }
     534                if ( typeof wp !== 'undefined' && wp.media && wp.media.editor ) {
     535                        wp.media.editor.open( s.editor_id );
     536                }
     537        };
    488538
    489539        api.refresh_buttons = function( fade ) {
    490540                fade = fade || false;
    491541
    492542                if ( s.mode === 'html' ) {
    493                         $('#wp-fullscreen-mode-bar').removeClass('wp-tmce-mode').addClass('wp-html-mode');
     543                        $( '#wp-fullscreen-mode-bar' ).removeClass( 'wp-tmce-mode' ).addClass( 'wp-html-mode' );
    494544
    495                         if ( fade )
    496                                 $('#wp-fullscreen-button-bar').fadeOut( 150, function(){
    497                                         $(this).addClass('wp-html-mode').fadeIn( 150 );
     545                        if ( fade ) {
     546                                $( '#wp-fullscreen-button-bar' ).fadeOut( 150, function() {
     547                                        $( this ).addClass( 'wp-html-mode' ).fadeIn( 150 );
    498548                                });
    499                         else
    500                                 $('#wp-fullscreen-button-bar').addClass('wp-html-mode');
    501 
     549                        } else {
     550                                $( '#wp-fullscreen-button-bar' ).addClass( 'wp-html-mode' );
     551                        }
    502552                } else if ( s.mode === 'tinymce' ) {
    503                         $('#wp-fullscreen-mode-bar').removeClass('wp-html-mode').addClass('wp-tmce-mode');
     553                        $( '#wp-fullscreen-mode-bar' ).removeClass( 'wp-html-mode' ).addClass( 'wp-tmce-mode' );
    504554
    505                         if ( fade )
    506                                 $('#wp-fullscreen-button-bar').fadeOut( 150, function(){
    507                                         $(this).removeClass('wp-html-mode').fadeIn( 150 );
     555                        if ( fade ) {
     556                                $( '#wp-fullscreen-button-bar' ).fadeOut( 150, function() {
     557                                        $(this).removeClass( 'wp-html-mode' ).fadeIn( 150 );
    508558                                });
    509                         else
    510                                 $('#wp-fullscreen-button-bar').removeClass('wp-html-mode');
     559                        } else {
     560                                $( '#wp-fullscreen-button-bar' ).removeClass( 'wp-html-mode' );
     561                        }
    511562                }
    512         }
     563        };
    513564
    514565        /**
    515566         * UI Elements
     
    518569         */
    519570        api.ui = {
    520571                init: function() {
    521                         var topbar = $('#fullscreen-topbar'), txtarea = $('#wp_mce_fullscreen'), last = 0;
     572                        var topbar = $( '#fullscreen-topbar' ), txtarea = $( '#wp_mce_fullscreen' ), last = 0;
    522573
    523                         s.toolbars = topbar.add( $('#wp-fullscreen-status') );
    524                         s.element = $('#fullscreen-fader');
     574                        s.toolbars     = topbar.add( $( '#wp-fullscreen-status' ) );
     575                        s.element      = $( '#fullscreen-fader' );
    525576                        s.textarea_obj = txtarea[0];
    526                         s.has_tinymce = typeof(tinymce) != 'undefined';
     577                        s.has_tinymce  = typeof tinymce !== 'undefined';
    527578
    528                         if ( !s.has_tinymce )
    529                                 $('#wp-fullscreen-mode-bar').hide();
     579                        if ( ! s.has_tinymce ) {
     580                                $( '#wp-fullscreen-mode-bar' ).hide();
     581                        }
    530582
    531                         if ( wptitlehint && $('#wp-fullscreen-title').length )
    532                                 wptitlehint('wp-fullscreen-title');
     583                        if ( wptitlehint && $( '#wp-fullscreen-title' ).length ) {
     584                                wptitlehint( 'wp-fullscreen-title' );
     585                        }
    533586
    534                         $(document).keyup(function(e){
     587                        $( document ).keyup(function( e ) {
    535588                                var c = e.keyCode || e.charCode, a, data;
    536589
    537                                 if ( !fullscreen.settings.visible )
     590                                if ( ! fullscreen.settings.visible ) {
    538591                                        return true;
     592                                }
    539593
    540                                 if ( navigator.platform && navigator.platform.indexOf('Mac') != -1 )
     594                                if ( navigator.platform && navigator.platform.indexOf( 'Mac' ) !== -1 ) {
    541595                                        a = e.ctrlKey; // Ctrl key for Mac
    542                                 else
     596                                } else {
    543597                                        a = e.altKey; // Alt key for Win & Linux
     598                                }
    544599
    545                                 if ( 27 == c ) { // Esc
     600                                if ( 27 === c ) { // Esc
    546601                                        data = {
    547                                                 event: e,
    548                                                 what: 'dfw',
    549                                                 cb: fullscreen.off,
    550                                                 condition: function(){
    551                                                         if ( $('#TB_window').is(':visible') || $('.wp-dialog').is(':visible') )
     602                                                event:     e,
     603                                                what:      'dfw',
     604                                                cb:        fullscreen.off,
     605                                                condition: function() {
     606                                                        if ( $( '#TB_window' ).is( ':visible' ) || $( '.wp-dialog' ).is( ':visible' ) ) {
    552607                                                                return false;
     608                                                        }
    553609                                                        return true;
    554610                                                }
    555611                                        };
    556612
    557                                         if ( ! jQuery(document).triggerHandler( 'wp_CloseOnEscape', [data] ) )
     613                                        if ( ! jQuery( document ).triggerHandler( 'wp_CloseOnEscape', [ data ] ) ) {
    558614                                                fullscreen.off();
     615                                        }
    559616                                }
    560617
    561                                 if ( a && (61 == c || 107 == c || 187 == c) ) // +
    562                                         api.dfw_width(25);
     618                                if ( a && ( 61 === c || 107 === c || 187 === c ) ) { // +
     619                                        api.dfw_width( 25 );
     620                                }
    563621
    564                                 if ( a && (45 == c || 109 == c || 189 == c) ) // -
    565                                         api.dfw_width(-25);
     622                                if ( a && ( 45 === c || 109 === c || 189 === c ) ) { // -
     623                                        api.dfw_width( -25 );
     624                                }
    566625
    567                                 if ( a && 48 == c ) // 0
    568                                         api.dfw_width(0);
     626                                if ( a && 48 === c ) { // 0
     627                                        api.dfw_width( 0 );
     628                                }
    569629
    570630                                return false;
    571631                        });
    572632
    573633                        // word count in Text mode
    574                         if ( typeof(wpWordCount) != 'undefined' ) {
     634                        if ( typeof wpWordCount !== 'undefined' ) {
    575635
    576                                 txtarea.keyup( function(e) {
     636                                txtarea.keyup(function( e ) {
    577637                                        var k = e.keyCode || e.charCode;
    578638
    579                                         if ( k == last )
     639                                        if ( k === last ) {
    580640                                                return true;
     641                                        }
    581642
    582                                         if ( 13 == k || 8 == last || 46 == last )
    583                                                 $(document).triggerHandler('wpcountwords', [ txtarea.val() ]);
     643                                        if ( 13 === k || 8 === last || 46 === last ) {
     644                                                $( document ).triggerHandler( 'wpcountwords', [ txtarea.val() ] );
     645                                        }
    584646
    585647                                        last = k;
    586648                                        return true;
    587649                                });
    588650                        }
    589651
    590                         topbar.mouseenter(function(e){
    591                                 s.toolbars.addClass('fullscreen-make-sticky');
     652                        topbar.mouseenter(function() {
     653                                s.toolbars.addClass( 'fullscreen-make-sticky' );
    592654                                $( document ).unbind( '.fullscreen' );
    593655                                clearTimeout( s.timer );
    594656                                s.timer = 0;
    595                         }).mouseleave(function(e){
    596                                 s.toolbars.removeClass('fullscreen-make-sticky');
     657                        }).mouseleave(function() {
     658                                s.toolbars.removeClass( 'fullscreen-make-sticky' );
    597659
    598                                 if ( s.visible )
    599                                         $( document ).bind( 'mousemove.fullscreen', function(e) { bounder( 'showToolbar', 'hideToolbar', 2000, e ); } );
     660                                if ( s.visible ) {
     661                                        $( document ).bind( 'mousemove.fullscreen', function( e ) {
     662                                                bounder( 'showToolbar', 'hideToolbar', 2000, e );
     663                                        });
     664                                }
    600665                        });
    601666                },
    602667
    603668                fade: function( before, during, after ) {
    604                         if ( ! s.element )
     669                        if ( ! s.element ) {
    605670                                api.ui.init();
     671                        }
    606672
    607673                        // If any callback bound to before returns false, bail.
    608                         if ( before && ! ps.publish( before ) )
     674                        if ( before && ! ps.publish( before ) ) {
    609675                                return;
     676                        }
    610677
    611678                        api.fade.In( s.element, 600, function() {
    612                                 if ( during )
     679                                if ( during ) {
    613680                                        ps.publish( during );
     681                                }
    614682
    615683                                api.fade.Out( s.element, 600, function() {
    616                                         if ( after )
     684                                        if ( after ) {
    617685                                                ps.publish( after );
    618                                 })
     686                                        }
     687                                });
    619688                        });
    620689                }
    621690        };
     
    633702                        stop = stop || false;
    634703
    635704                        if ( api.fade.transitions ) {
    636                                 if ( element.is(':visible') ) {
     705                                if ( element.is( ':visible' ) ) {
    637706                                        element.addClass( 'fade-trigger' );
    638707                                        return element;
    639708                                }
     
    642711                                element.first().one( this.transitionend, function() {
    643712                                        callback();
    644713                                });
    645                                 setTimeout( function() { element.addClass( 'fade-trigger' ); }, this.sensitivity );
     714                                setTimeout(function() {
     715                                        element.addClass( 'fade-trigger' );
     716                                }, this.sensitivity );
    646717                        } else {
    647                                 if ( stop )
     718                                if ( stop ) {
    648719                                        element.stop();
     720                                }
    649721
    650722                                element.css( 'opacity', 1 );
    651723                                element.first().fadeIn( speed, callback );
    652724
    653                                 if ( element.length > 1 )
    654                                         element.not(':first').fadeIn( speed );
     725                                if ( element.length > 1 ) {
     726                                        element.not( ':first' ).fadeIn( speed );
     727                                }
    655728                        }
    656729
    657730                        return element;
     
    663736                        speed = speed || 400;
    664737                        stop = stop || false;
    665738
    666                         if ( ! element.is(':visible') )
     739                        if ( ! element.is( ':visible' ) ) {
    667740                                return element;
     741                        }
    668742
    669743                        if ( api.fade.transitions ) {
    670744                                element.first().one( api.fade.transitionend, function() {
    671                                         if ( element.hasClass('fade-trigger') )
     745                                        if ( element.hasClass( 'fade-trigger' ) ) {
    672746                                                return;
     747                                        }
    673748
    674749                                        element.hide();
    675750                                        callback();
    676751                                });
    677                                 setTimeout( function() { element.removeClass( 'fade-trigger' ); }, this.sensitivity );
     752                                setTimeout(function() {
     753                                        element.removeClass( 'fade-trigger' );
     754                                }, this.sensitivity );
    678755                        } else {
    679                                 if ( stop )
     756                                if ( stop ) {
    680757                                        element.stop();
     758                                }
    681759
    682760                                element.first().fadeOut( speed, callback );
    683761
    684                                 if ( element.length > 1 )
    685                                         element.not(':first').fadeOut( speed );
     762                                if ( element.length > 1 ) {
     763                                        element.not( ':first' ).fadeOut( speed );
     764                                }
    686765                        }
    687766
    688767                        return element;
     
    691770                transitions: (function() { // Check if the browser supports CSS 3.0 transitions
    692771                        var s = document.documentElement.style;
    693772
    694                         return ( typeof ( s.WebkitTransition ) == 'string' ||
    695                                 typeof ( s.MozTransition ) == 'string' ||
    696                                 typeof ( s.OTransition ) == 'string' ||
    697                                 typeof ( s.transition ) == 'string' );
     773                        return ( typeof s.WebkitTransition === 'string' ||
     774                                typeof s.MozTransition === 'string' ||
     775                                typeof s.OTransition === 'string' ||
     776                                typeof s.transition === 'string' );
    698777                })()
    699778        };
    700779
     
    705784         */
    706785
    707786        api.bind_resize = function() {
    708                 $(s.textarea_obj).bind('keypress.grow click.grow paste.grow', function(){
     787                $( s.textarea_obj ).bind( 'keypress.grow click.grow paste.grow', function() {
    709788                        setTimeout( api.resize_textarea, 200 );
    710789                });
    711         }
     790        };
    712791
    713792        api.oldheight = 0;
    714793        api.resize_textarea = function() {
     
    716795
    717796                newheight = txt.scrollHeight > 300 ? txt.scrollHeight : 300;
    718797
    719                 if ( newheight != api.oldheight ) {
     798                if ( newheight !== api.oldheight ) {
    720799                        txt.style.height = newheight + 'px';
    721800                        api.oldheight = newheight;
    722801                }
    723802        };
    724803
    725 })(jQuery);
     804})( jQuery );
     805 No newline at end of file