WordPress.org

Make WordPress Core

Ticket #26029: 26029.diff

File 26029.diff, 26.3 KB (added by dougwollison, 6 years ago)

Initial changes: spacing, braces, equals, keys fixed and globals declared.

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

     
     1/* global ajaxurl:false */
     2/* global deleteUserSetting:false */
     3/* global setUserSetting:false */
     4/* global switchEditors:false */
     5/* global tinymce:false */
     6/* global tinymcePreInit:false */
     7/* global wp_fullscreen_settings:false */
     8/* global wpActiveEditor:true */
     9/* global wpLink:false */
     10
    111/**
    212 * PubSub
    313 *
     
    1121};
    1222
    1323PubSub.prototype.subscribe = function( topic, callback ) {
    14         if ( ! this.topics[ topic ] )
     24        if ( ! this.topics[ topic ] ) {
    1525                this.topics[ topic ] = [];
     26        }
    1627
    1728        this.topics[ topic ].push( callback );
    1829        return callback;
     
    2233        var i, l,
    2334                topics = this.topics[ topic ];
    2435
    25         if ( ! topics )
     36        if ( ! topics ) {
    2637                return callback || [];
     38        }
    2739
    2840        // Clear matching callbacks
    2941        if ( callback ) {
    3042                for ( i = 0, l = topics.length; i < l; i++ ) {
    31                         if ( callback == topics[i] )
     43                        if ( callback === topics[i] ) {
    3244                                topics.splice( i, 1 );
     45                        }
    3346                }
    3447                return callback;
    3548
     
    4457        var i, l, broken,
    4558                topics = this.topics[ topic ];
    4659
    47         if ( ! topics )
     60        if ( ! topics ) {
    4861                return;
     62        }
    4963
    5064        args = args || [];
    5165
     
    6276 * Access the API globally using the fullscreen variable.
    6377 */
    6478
    65 (function($){
    66         var api, ps, bounder, s;
     79(function( $ ) {
     80        var api, ps, bounder, set_title_hint, s, timer, block;
    6781
    6882        // Initialize the fullscreen/api object
    6983        fullscreen = api = {};
     
    7488        block = false;
    7589
    7690        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         }
     91                visible:      false,
     92                mode:          'tinymce',
     93                editor_id:    'content',
     94                title_id:      '',
     95                timer:        0,
     96                toolbar_shown: false
     97        };
    8498
    8599        /**
    86100         * Bounder
     
    89103         * Used to throttle events.
    90104         */
    91105        bounder = api.bounder = function( start, stop, delay, e ) {
    92                 var y, top;
     106                var y, top, timed;
    93107
    94108                delay = delay || 1250;
    95109
     
    97111                        y = e.pageY || e.clientY || e.offsetY;
    98112                        top = $(document).scrollTop();
    99113
    100                         if ( !e.isDefaultPrevented ) // test if e ic jQuery normalized
     114                        if ( ! e.isDefaultPrevented ) {// test if e ic jQuery normalized
    101115                                y = 135 + y;
     116                        }
    102117
    103                         if ( y - top > 120 )
     118                        if ( y - top > 120 ) {
    104119                                return;
     120                        }
    105121                }
    106122
    107                 if ( block )
     123                if ( block ) {
    108124                        return;
     125                }
    109126
    110127                block = true;
    111128
    112                 setTimeout( function() {
     129                setTimeout(function() {
    113130                        block = false;
    114131                }, 400 );
    115132
    116                 if ( s.timer )
     133                if ( s.timer ) {
    117134                        clearTimeout( s.timer );
    118                 else
     135                } else {
    119136                        ps.publish( start );
     137                }
    120138
    121                 function timed() {
     139                timed = function() {
    122140                        ps.publish( stop );
    123141                        s.timer = 0;
    124                 }
     142                };
    125143
    126144                s.timer = setTimeout( timed, delay );
    127145        };
    128146
    129147        /**
     148         * set_title_hint()
     149         *
     150         * Toggles the title's label's visibility
     151         */
     152        set_title_hint = function( title ) {
     153                if ( ! title.val().length ) {
     154                        title.siblings( 'label' ).css( 'visibility', '' );
     155                } else {
     156                        title.siblings( 'label' ).css( 'visibility', 'hidden' );
     157                }
     158        };
     159
     160        /**
    130161         * on()
    131162         *
    132163         * Turns fullscreen on.
     
    134165         * @param string mode Optional. Switch to the given mode before opening.
    135166         */
    136167        api.on = function() {
    137                 if ( s.visible )
     168                if ( s.visible ) {
    138169                        return;
     170                }
    139171
    140172                // Settings can be added or changed by defining "wp_fullscreen_settings" JS object.
    141                 if ( typeof(wp_fullscreen_settings) == 'object' )
     173                if ( typeof wp_fullscreen_settings === 'object' ) {
    142174                        $.extend( s, wp_fullscreen_settings );
     175                }
    143176
    144177                s.editor_id = wpActiveEditor || 'content';
    145178
    146                 if ( $('input#title').length && s.editor_id == 'content' )
     179                if ( $( 'input#title' ).length && s.editor_id === 'content' ) {
    147180                        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
     181                } else if ( $( 'input#' + s.editor_id + '-title' ).length ) { // the title input field should have [editor_id]-title HTML ID to be auto detected
    149182                        s.title_id = s.editor_id + '-title';
    150                 else
    151                         $('#wp-fullscreen-title, #wp-fullscreen-title-prompt-text').hide();
     183                } else {
     184                        $( '#wp-fullscreen-title, #wp-fullscreen-title-prompt-text' ).hide();
     185                }
    152186
    153                 s.mode = $('#' + s.editor_id).is(':hidden') ? 'tinymce' : 'html';
    154                 s.qt_canvas = $('#' + s.editor_id).get(0);
     187                s.mode = $( '#' + s.editor_id ).is( ':hidden' ) ? 'tinymce' : 'html';
     188                s.qt_canvas = $( '#' + s.editor_id ).get(0);
    155189
    156                 if ( ! s.element )
     190                if ( ! s.element ) {
    157191                        api.ui.init();
     192                }
    158193
    159                 s.is_mce_on = s.has_tinymce && typeof( tinyMCE.get(s.editor_id) ) != 'undefined';
     194                s.is_mce_on = s.has_tinymce && typeof tinymce.get( s.editor_id ) !== 'undefined';
    160195
    161196                api.ui.fade( 'show', 'showing', 'shown' );
    162197        };
     
    167202         * Turns fullscreen off.
    168203         */
    169204        api.off = function() {
    170                 if ( ! s.visible )
     205                if ( ! s.visible ) {
    171206                        return;
     207                }
    172208
    173209                api.ui.fade( 'hide', 'hiding', 'hidden' );
    174210        };
     
    186222        api.switchmode = function( to ) {
    187223                var from = s.mode;
    188224
    189                 if ( ! to || ! s.visible || ! s.has_tinymce )
     225                if ( ! to || ! s.visible || ! s.has_tinymce ) {
    190226                        return from;
     227                }
    191228
    192229                // Don't switch if the mode is the same.
    193                 if ( from == to )
     230                if ( from === to ) {
    194231                        return from;
     232                }
    195233
    196234                ps.publish( 'switchMode', [ from, to ] );
    197235                s.mode = to;
     
    205243         */
    206244
    207245        api.save = function() {
    208                 var hidden = $('#hiddenaction'), old = hidden.val(), spinner = $('#wp-fullscreen-save .spinner'),
    209                         message = $('#wp-fullscreen-save span');
     246                var hidden = $( '#hiddenaction' ), old = hidden.val(), spinner = $( '#wp-fullscreen-save .spinner' ),
     247                        message = $( '#wp-fullscreen-save span' );
    210248
    211249                spinner.show();
    212250                api.savecontent();
    213251
    214                 hidden.val('wp-fullscreen-save-post');
     252                hidden.val( 'wp-fullscreen-save-post' );
    215253
    216                 $.post( ajaxurl, $('form#post').serialize(), function(r){
     254                $.post( ajaxurl, $( 'form#post' ).serialize(), function( r ) {
    217255                        spinner.hide();
    218256                        message.show();
    219257
    220                         setTimeout( function(){
    221                                 message.fadeOut(1000);
     258                        setTimeout(function(){
     259                                message.fadeOut( 1000 );
    222260                        }, 3000 );
    223261
    224                         if ( r.last_edited )
     262                        if ( r.last_edited ) {
    225263                                $('#wp-fullscreen-save input').attr( 'title',  r.last_edited );
     264                        }
    226265
    227266                }, 'json');
    228267
    229                 hidden.val(old);
    230         }
     268                hidden.val( old );
     269        };
    231270
    232271        api.savecontent = function() {
    233272                var ed, content;
    234273
    235                 if ( s.title_id )
    236                         $('#' + s.title_id).val( $('#wp-fullscreen-title').val() );
     274                if ( s.title_id ) {
     275                        $( '#' + s.title_id ).val( $( '#wp-fullscreen-title' ).val() );
     276                }
    237277
    238                 if ( s.mode === 'tinymce' && (ed = tinyMCE.get('wp_mce_fullscreen')) ) {
     278                if ( s.mode === 'tinymce' && ( ed = tinymce.get( 'wp_mce_fullscreen' ) ) ) {
    239279                        content = ed.save();
    240280                } else {
    241                         content = $('#wp_mce_fullscreen').val();
     281                        content = $( '#wp_mce_fullscreen' ).val();
    242282                }
    243283
    244                 $('#' + s.editor_id).val( content );
    245                 $(document).triggerHandler('wpcountwords', [ content ]);
    246         }
     284                $( '#' + s.editor_id ).val( content );
     285                $( document ).triggerHandler( 'wpcountwords', [ content ] );
     286        };
    247287
    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         }
     288        api.dfw_width = function( n ) {
     289                var el = $( '#wp-fullscreen-wrap' ), w = el.width();
    254290
    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');
     291                if ( ! n ) { // reset to theme width
     292                        el.width( $( '#wp-fullscreen-central-toolbar' ).width() );
     293                        deleteUserSetting( 'dfw_width' );
    261294                        return;
    262295                }
    263296
    264297                w = n + w;
    265298
    266                 if ( w < 200 || w > 1200 ) // sanity check
     299                if ( w < 200 || w > 1200 ) { // sanity check
    267300                        return;
     301                }
    268302
    269303                el.width( w );
    270                 setUserSetting('dfw_width', w);
    271         }
     304                setUserSetting( 'dfw_width', w );
     305        };
    272306
    273307        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');
     308                s.toolbars.removeClass( 'fade-1000' ).addClass( 'fade-300' );
     309                api.fade.In( s.toolbars, 300, function() {
     310                        ps.publish( 'toolbarShown' );
     311                }, true );
     312                $( '#wp-fullscreen-body' ).addClass( 'wp-fullscreen-focus' );
    277313                s.toolbar_shown = true;
    278314        });
    279315
    280316        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');
     317                s.toolbars.removeClass( 'fade-300' ).addClass( 'fade-1000' );
     318                api.fade.Out( s.toolbars, 1000, function() {
     319                        ps.publish('toolbarHidden');
     320                }, true );
     321                $( '#wp-fullscreen-body' ).removeClass( 'wp-fullscreen-focus' );
    284322        });
    285323
    286324        ps.subscribe( 'toolbarShown', function() {
    287                 s.toolbars.removeClass('fade-300');
     325                s.toolbars.removeClass( 'fade-300' );
    288326        });
    289327
    290328        ps.subscribe( 'toolbarHidden', function() {
    291                 s.toolbars.removeClass('fade-1000');
     329                s.toolbars.removeClass( 'fade-1000' );
    292330                s.toolbar_shown = false;
    293331        });
    294332
     
    296334                var title;
    297335
    298336                if ( s.title_id ) {
    299                         title = $('#wp-fullscreen-title').val( $('#' + s.title_id).val() );
     337                        title = $( '#wp-fullscreen-title' ).val( $( '#' + s.title_id ).val() );
    300338                        set_title_hint( title );
    301339                }
    302340
    303                 $('#wp-fullscreen-save input').attr( 'title',  $('#last-edit').text() );
     341                $( '#wp-fullscreen-save input' ).attr( 'title',  $( '#last-edit' ).text() );
    304342
    305343                s.textarea_obj.value = s.qt_canvas.value;
    306344
    307                 if ( s.has_tinymce && s.mode === 'tinymce' )
    308                         tinyMCE.execCommand('wpFullScreenInit');
     345                if ( s.has_tinymce && s.mode === 'tinymce' ) {
     346                        tinymce.execCommand( 'wpFullScreenInit' );
     347                }
    309348
    310                 s.orig_y = $(window).scrollTop();
     349                s.orig_y = $( window ).scrollTop();
    311350        });
    312351
    313352        ps.subscribe( 'showing', function() { // This event occurs while the DFW overlay blocks the UI.
    314353                $( document.body ).addClass( 'fullscreen-active' );
    315354                api.refresh_buttons();
    316355
    317                 $( document ).bind( 'mousemove.fullscreen', function(e) { bounder( 'showToolbar', 'hideToolbar', 2000, e ); } );
     356                $( document ).bind( 'mousemove.fullscreen', function( e ) {
     357                        bounder( 'showToolbar', 'hideToolbar', 2000, e );
     358                });
    318359                bounder( 'showToolbar', 'hideToolbar', 2000 );
    319360
    320361                api.bind_resize();
    321362                setTimeout( api.resize_textarea, 200 );
    322363
    323364                // scroll to top so the user is not disoriented
    324                 scrollTo(0, 0);
     365                scrollTo( 0, 0 );
    325366
    326367                // needed it for IE7 and compat mode
    327                 $('#wpadminbar').hide();
     368                $( '#wpadminbar' ).hide();
    328369        });
    329370
    330371        ps.subscribe( 'shown', function() { // This event occurs after the DFW overlay is shown
     
    335376                // init the standard TinyMCE instance if missing
    336377                if ( s.has_tinymce && ! s.is_mce_on ) {
    337378
    338                         interim_init = function(mce, ed) {
    339                                 var el = ed.getElement(), old_val = el.value, settings = tinyMCEPreInit.mceInit[s.editor_id];
     379                        interim_init = function( mce, ed ) {
     380                                var el = ed.getElement(), old_val = el.value, settings = tinymcePreInit.mceInit[ s.editor_id ];
    340381
    341                                 if ( settings && settings.wpautop && typeof(switchEditors) != 'undefined' )
     382                                if ( settings && settings.wpautop && typeof switchEditors !== 'undefined' ) {
    342383                                        el.value = switchEditors.wpautop( el.value );
     384                                }
    343385
    344                                 ed.onInit.add(function(ed) {
     386                                ed.onInit.add(function( ed ) {
    345387                                        ed.hide();
    346388                                        ed.getElement().value = old_val;
    347                                         tinymce.onAddEditor.remove(interim_init);
     389                                        tinymce.onAddEditor.remove( interim_init );
    348390                                });
    349391                        };
    350392
    351                         tinymce.onAddEditor.add(interim_init);
    352                         tinyMCE.init(tinyMCEPreInit.mceInit[s.editor_id]);
     393                        tinymce.onAddEditor.add( interim_init );
     394                        tinymce.init( tinymcePreInit.mceInit[ s.editor_id ] );
    353395
    354396                        s.is_mce_on = true;
    355397                }
     
    358400        });
    359401
    360402        ps.subscribe( 'hide', function() { // This event occurs before the overlay blocks DFW.
    361                 var htmled_is_hidden = $('#' + s.editor_id).is(':hidden');
     403                var htmled_is_hidden = $( '#' + s.editor_id ).is( ':hidden' );
    362404                // 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');
     405                if ( s.has_tinymce && s.mode === 'tinymce' && ! htmled_is_hidden ) {
     406                        switchEditors.go( s.editor_id, 'tmce' );
    365407                } else if ( s.mode === 'html' && htmled_is_hidden ) {
    366                         switchEditors.go(s.editor_id, 'html');
     408                        switchEditors.go( s.editor_id, 'html' );
    367409                }
    368410
    369411                // Save content must be after switchEditors or content will be overwritten. See #17229.
    370412                api.savecontent();
    371413
    372414                $( document ).unbind( '.fullscreen' );
    373                 $(s.textarea_obj).unbind('.grow');
     415                $( s.textarea_obj ).unbind( '.grow' );
    374416
    375                 if ( s.has_tinymce && s.mode === 'tinymce' )
    376                         tinyMCE.execCommand('wpFullScreenSave');
     417                if ( s.has_tinymce && s.mode === 'tinymce' ) {
     418                        tinymce.execCommand( 'wpFullScreenSave' );
     419                }
    377420
    378                 if ( s.title_id )
    379                         set_title_hint( $('#' + s.title_id) );
     421                if ( s.title_id ) {
     422                        set_title_hint( $( '#' + s.title_id ) );
     423                }
    380424
    381425                s.qt_canvas.value = s.textarea_obj.value;
    382426        });
    383427
    384428        ps.subscribe( 'hiding', function() { // This event occurs while the overlay blocks the DFW UI.
    385 
    386429                $( document.body ).removeClass( 'fullscreen-active' );
    387                 scrollTo(0, s.orig_y);
    388                 $('#wpadminbar').show();
     430                scrollTo( 0, s.orig_y );
     431                $( '#wpadminbar' ).show();
    389432        });
    390433
    391434        ps.subscribe( 'hidden', function() { // This event occurs after DFW is removed.
    392435                s.visible = false;
    393                 $('#wp_mce_fullscreen, #wp-fullscreen-title').removeAttr('style');
     436                $( '#wp_mce_fullscreen, #wp-fullscreen-title' ).removeAttr( 'style' );
    394437
    395                 if ( s.has_tinymce && s.is_mce_on )
    396                         tinyMCE.execCommand('wpFullScreenClose');
     438                if ( s.has_tinymce && s.is_mce_on ) {
     439                        tinymce.execCommand( 'wpFullScreenClose' );
     440                }
    397441
    398442                s.textarea_obj.value = '';
    399                 api.oldheight = 0;
    400                 wpActiveEditor = s.editor_id;
     443                api.oldheight        = 0;
     444                wpActiveEditor       = s.editor_id;
    401445        });
    402446
    403447        ps.subscribe( 'switchMode', function( from, to ) {
    404448                var ed;
    405449
    406                 if ( !s.has_tinymce || !s.is_mce_on )
     450                if ( ! s.has_tinymce || ! s.is_mce_on ) {
    407451                        return;
     452                }
    408453
    409                 ed = tinyMCE.get('wp_mce_fullscreen');
     454                ed = tinymce.get( 'wp_mce_fullscreen' );
    410455
    411456                if ( from === 'html' && to === 'tinymce' ) {
    412457
    413                         if ( tinyMCE.get(s.editor_id).getParam('wpautop') && typeof(switchEditors) != 'undefined' )
     458                        if ( tinymce.get( s.editor_id ).getParam( 'wpautop' ) && typeof switchEditors !== 'undefined' ) {
    414459                                s.textarea_obj.value = switchEditors.wpautop( s.textarea_obj.value );
     460                        }
    415461
    416                         if ( 'undefined' == typeof(ed) )
    417                                 tinyMCE.execCommand('wpFullScreenInit');
    418                         else
     462                        if ( 'undefined' === typeof ed ) {
     463                                tinymce.execCommand( 'wpFullScreenInit' );
     464                        } else {
    419465                                ed.show();
    420 
     466                        }
    421467                } else if ( from === 'tinymce' && to === 'html' ) {
    422                         if ( ed )
     468                        if ( ed ) {
    423469                                ed.hide();
     470                        }
    424471                }
    425472        });
    426473
    427474        ps.subscribe( 'switchedMode', function( from, to ) {
    428                 api.refresh_buttons(true);
     475                api.refresh_buttons( true );
    429476
    430                 if ( to === 'html' )
     477                if ( to === 'html' ) {
    431478                        setTimeout( api.resize_textarea, 200 );
     479                }
    432480        });
    433481
    434482        /**
    435483         * Buttons
    436484         */
    437485        api.b = function() {
    438                 if ( s.has_tinymce && 'tinymce' === s.mode )
    439                         tinyMCE.execCommand('Bold');
    440         }
     486                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     487                        tinymce.execCommand( 'Bold' );
     488                }
     489        };
    441490
    442491        api.i = function() {
    443                 if ( s.has_tinymce && 'tinymce' === s.mode )
    444                         tinyMCE.execCommand('Italic');
    445         }
     492                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     493                        tinymce.execCommand( 'Italic' );
     494                }
     495        };
    446496
    447497        api.ul = function() {
    448                 if ( s.has_tinymce && 'tinymce' === s.mode )
    449                         tinyMCE.execCommand('InsertUnorderedList');
    450         }
     498                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     499                        tinymce.execCommand('InsertUnorderedList');
     500                }
     501        };
    451502
    452503        api.ol = function() {
    453                 if ( s.has_tinymce && 'tinymce' === s.mode )
    454                         tinyMCE.execCommand('InsertOrderedList');
    455         }
     504                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     505                        tinymce.execCommand('InsertOrderedList');
     506                }
     507        };
    456508
    457509        api.link = function() {
    458                 if ( s.has_tinymce && 'tinymce' === s.mode )
    459                         tinyMCE.execCommand('WP_Link');
    460                 else
     510                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     511                        tinymce.execCommand( 'WP_Link' );
     512                } else {
    461513                        wpLink.open();
    462         }
     514                }
     515        };
    463516
    464517        api.unlink = function() {
    465                 if ( s.has_tinymce && 'tinymce' === s.mode )
    466                         tinyMCE.execCommand('unlink');
    467         }
     518                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     519                        tinymce.execCommand( 'unlink' );
     520                }
     521        };
    468522
    469523        api.atd = function() {
    470                 if ( s.has_tinymce && 'tinymce' === s.mode )
    471                         tinyMCE.execCommand('mceWritingImprovementTool');
    472         }
     524                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     525                        tinymce.execCommand( 'mceWritingImprovementTool' );
     526                }
     527        };
    473528
    474529        api.help = function() {
    475                 if ( s.has_tinymce && 'tinymce' === s.mode )
    476                         tinyMCE.execCommand('WP_Help');
    477         }
     530                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     531                        tinymce.execCommand( 'WP_Help' );
     532                }
     533        };
    478534
    479535        api.blockquote = function() {
    480                 if ( s.has_tinymce && 'tinymce' === s.mode )
    481                         tinyMCE.execCommand('mceBlockQuote');
    482         }
     536                if ( s.has_tinymce && 'tinymce' === s.mode ) {
     537                        tinymce.execCommand( 'mceBlockQuote' );
     538                }
     539        };
    483540
    484541        api.medialib = function() {
    485                 if ( typeof wp !== 'undefined' && wp.media && wp.media.editor )
    486                         wp.media.editor.open(s.editor_id);
    487         }
     542                if ( typeof wp !== 'undefined' && wp.media && wp.media.editor ) {
     543                        wp.media.editor.open( s.editor_id );
     544                }
     545        };
    488546
    489547        api.refresh_buttons = function( fade ) {
    490548                fade = fade || false;
    491549
    492550                if ( s.mode === 'html' ) {
    493                         $('#wp-fullscreen-mode-bar').removeClass('wp-tmce-mode').addClass('wp-html-mode');
     551                        $( '#wp-fullscreen-mode-bar' ).removeClass( 'wp-tmce-mode' ).addClass( 'wp-html-mode' );
    494552
    495                         if ( fade )
    496                                 $('#wp-fullscreen-button-bar').fadeOut( 150, function(){
    497                                         $(this).addClass('wp-html-mode').fadeIn( 150 );
     553                        if ( fade ) {
     554                                $( '#wp-fullscreen-button-bar' ).fadeOut( 150, function() {
     555                                        $( this ).addClass( 'wp-html-mode' ).fadeIn( 150 );
    498556                                });
    499                         else
    500                                 $('#wp-fullscreen-button-bar').addClass('wp-html-mode');
    501 
     557                        } else {
     558                                $( '#wp-fullscreen-button-bar' ).addClass( 'wp-html-mode' );
     559                        }
    502560                } else if ( s.mode === 'tinymce' ) {
    503                         $('#wp-fullscreen-mode-bar').removeClass('wp-html-mode').addClass('wp-tmce-mode');
     561                        $( '#wp-fullscreen-mode-bar' ).removeClass( 'wp-html-mode' ).addClass( 'wp-tmce-mode' );
    504562
    505                         if ( fade )
    506                                 $('#wp-fullscreen-button-bar').fadeOut( 150, function(){
    507                                         $(this).removeClass('wp-html-mode').fadeIn( 150 );
     563                        if ( fade ) {
     564                                $( '#wp-fullscreen-button-bar' ).fadeOut( 150, function() {
     565                                        $(this).removeClass( 'wp-html-mode' ).fadeIn( 150 );
    508566                                });
    509                         else
    510                                 $('#wp-fullscreen-button-bar').removeClass('wp-html-mode');
     567                        } else {
     568                                $( '#wp-fullscreen-button-bar' ).removeClass( 'wp-html-mode' );
     569                        }
    511570                }
    512         }
     571        };
    513572
    514573        /**
    515574         * UI Elements
     
    518577         */
    519578        api.ui = {
    520579                init: function() {
    521                         var topbar = $('#fullscreen-topbar'), txtarea = $('#wp_mce_fullscreen'), last = 0;
     580                        var topbar = $( '#fullscreen-topbar' ), txtarea = $( '#wp_mce_fullscreen' ), last = 0;
    522581
    523                         s.toolbars = topbar.add( $('#wp-fullscreen-status') );
    524                         s.element = $('#fullscreen-fader');
     582                        s.toolbars     = topbar.add( $( '#wp-fullscreen-status' ) );
     583                        s.element      = $( '#fullscreen-fader' );
    525584                        s.textarea_obj = txtarea[0];
    526                         s.has_tinymce = typeof(tinymce) != 'undefined';
     585                        s.has_tinymce  = typeof tinymce !== 'undefined';
    527586
    528                         if ( !s.has_tinymce )
    529                                 $('#wp-fullscreen-mode-bar').hide();
     587                        if ( ! s.has_tinymce ) {
     588                                $( '#wp-fullscreen-mode-bar' ).hide();
     589                        }
    530590
    531                         if ( wptitlehint && $('#wp-fullscreen-title').length )
    532                                 wptitlehint('wp-fullscreen-title');
     591                        if ( wptitlehint && $( '#wp-fullscreen-title' ).length ) {
     592                                wptitlehint( 'wp-fullscreen-title' );
     593                        }
    533594
    534                         $(document).keyup(function(e){
     595                        $( document ).keyup(function( e ) {
    535596                                var c = e.keyCode || e.charCode, a, data;
    536597
    537                                 if ( !fullscreen.settings.visible )
     598                                if ( ! fullscreen.settings.visible ) {
    538599                                        return true;
     600                                }
    539601
    540                                 if ( navigator.platform && navigator.platform.indexOf('Mac') != -1 )
     602                                if ( navigator.platform && navigator.platform.indexOf( 'Mac' ) !== -1 ) {
    541603                                        a = e.ctrlKey; // Ctrl key for Mac
    542                                 else
     604                                } else {
    543605                                        a = e.altKey; // Alt key for Win & Linux
     606                                }
    544607
    545                                 if ( 27 == c ) { // Esc
     608                                if ( 27 === c ) { // Esc
    546609                                        data = {
    547                                                 event: e,
    548                                                 what: 'dfw',
    549                                                 cb: fullscreen.off,
    550                                                 condition: function(){
    551                                                         if ( $('#TB_window').is(':visible') || $('.wp-dialog').is(':visible') )
     610                                                event:     e,
     611                                                what:      'dfw',
     612                                                cb:        fullscreen.off,
     613                                                condition: function() {
     614                                                        if ( $( '#TB_window' ).is( ':visible' ) || $( '.wp-dialog' ).is( ':visible' ) ) {
    552615                                                                return false;
     616                                                        }
    553617                                                        return true;
    554618                                                }
    555619                                        };
    556620
    557                                         if ( ! jQuery(document).triggerHandler( 'wp_CloseOnEscape', [data] ) )
     621                                        if ( ! jQuery( document ).triggerHandler( 'wp_CloseOnEscape', [ data ] ) ) {
    558622                                                fullscreen.off();
     623                                        }
    559624                                }
    560625
    561                                 if ( a && (61 == c || 107 == c || 187 == c) ) // +
    562                                         api.dfw_width(25);
     626                                if ( a && ( 61 === c || 107 === c || 187 === c ) ) { // +
     627                                        api.dfw_width( 25 );
     628                                }
    563629
    564                                 if ( a && (45 == c || 109 == c || 189 == c) ) // -
    565                                         api.dfw_width(-25);
     630                                if ( a && ( 45 === c || 109 === c || 189 === c ) ) { // -
     631                                        api.dfw_width( -25 );
     632                                }
    566633
    567                                 if ( a && 48 == c ) // 0
    568                                         api.dfw_width(0);
     634                                if ( a && 48 === c ) { // 0
     635                                        api.dfw_width( 0 );
     636                                }
    569637
    570638                                return false;
    571639                        });
    572640
    573641                        // word count in Text mode
    574                         if ( typeof(wpWordCount) != 'undefined' ) {
     642                        if ( typeof wpWordCount !== 'undefined' ) {
    575643
    576                                 txtarea.keyup( function(e) {
     644                                txtarea.keyup(function( e ) {
    577645                                        var k = e.keyCode || e.charCode;
    578646
    579                                         if ( k == last )
     647                                        if ( k === last ) {
    580648                                                return true;
     649                                        }
    581650
    582                                         if ( 13 == k || 8 == last || 46 == last )
    583                                                 $(document).triggerHandler('wpcountwords', [ txtarea.val() ]);
     651                                        if ( 13 === k || 8 === last || 46 === last ) {
     652                                                $( document ).triggerHandler( 'wpcountwords', [ txtarea.val() ] );
     653                                        }
    584654
    585655                                        last = k;
    586656                                        return true;
    587657                                });
    588658                        }
    589659
    590                         topbar.mouseenter(function(e){
    591                                 s.toolbars.addClass('fullscreen-make-sticky');
     660                        topbar.mouseenter(function() {
     661                                s.toolbars.addClass( 'fullscreen-make-sticky' );
    592662                                $( document ).unbind( '.fullscreen' );
    593663                                clearTimeout( s.timer );
    594664                                s.timer = 0;
    595                         }).mouseleave(function(e){
    596                                 s.toolbars.removeClass('fullscreen-make-sticky');
     665                        }).mouseleave(function() {
     666                                s.toolbars.removeClass( 'fullscreen-make-sticky' );
    597667
    598                                 if ( s.visible )
    599                                         $( document ).bind( 'mousemove.fullscreen', function(e) { bounder( 'showToolbar', 'hideToolbar', 2000, e ); } );
     668                                if ( s.visible ) {
     669                                        $( document ).bind( 'mousemove.fullscreen', function( e ) {
     670                                                bounder( 'showToolbar', 'hideToolbar', 2000, e );
     671                                        });
     672                                }
    600673                        });
    601674                },
    602675
    603676                fade: function( before, during, after ) {
    604                         if ( ! s.element )
     677                        if ( ! s.element ) {
    605678                                api.ui.init();
     679                        }
    606680
    607681                        // If any callback bound to before returns false, bail.
    608                         if ( before && ! ps.publish( before ) )
     682                        if ( before && ! ps.publish( before ) ) {
    609683                                return;
     684                        }
    610685
    611686                        api.fade.In( s.element, 600, function() {
    612                                 if ( during )
     687                                if ( during ) {
    613688                                        ps.publish( during );
     689                                }
    614690
    615691                                api.fade.Out( s.element, 600, function() {
    616                                         if ( after )
     692                                        if ( after ) {
    617693                                                ps.publish( after );
    618                                 })
     694                                        }
     695                                });
    619696                        });
    620697                }
    621698        };
     
    633710                        stop = stop || false;
    634711
    635712                        if ( api.fade.transitions ) {
    636                                 if ( element.is(':visible') ) {
     713                                if ( element.is( ':visible' ) ) {
    637714                                        element.addClass( 'fade-trigger' );
    638715                                        return element;
    639716                                }
     
    642719                                element.first().one( this.transitionend, function() {
    643720                                        callback();
    644721                                });
    645                                 setTimeout( function() { element.addClass( 'fade-trigger' ); }, this.sensitivity );
     722                                setTimeout(function() {
     723                                        element.addClass( 'fade-trigger' );
     724                                }, this.sensitivity );
    646725                        } else {
    647                                 if ( stop )
     726                                if ( stop ) {
    648727                                        element.stop();
     728                                }
    649729
    650730                                element.css( 'opacity', 1 );
    651731                                element.first().fadeIn( speed, callback );
    652732
    653                                 if ( element.length > 1 )
    654                                         element.not(':first').fadeIn( speed );
     733                                if ( element.length > 1 ) {
     734                                        element.not( ':first' ).fadeIn( speed );
     735                                }
    655736                        }
    656737
    657738                        return element;
     
    663744                        speed = speed || 400;
    664745                        stop = stop || false;
    665746
    666                         if ( ! element.is(':visible') )
     747                        if ( ! element.is( ':visible' ) ) {
    667748                                return element;
     749                        }
    668750
    669751                        if ( api.fade.transitions ) {
    670752                                element.first().one( api.fade.transitionend, function() {
    671                                         if ( element.hasClass('fade-trigger') )
     753                                        if ( element.hasClass( 'fade-trigger' ) ) {
    672754                                                return;
     755                                        }
    673756
    674757                                        element.hide();
    675758                                        callback();
    676759                                });
    677                                 setTimeout( function() { element.removeClass( 'fade-trigger' ); }, this.sensitivity );
     760                                setTimeout(function() {
     761                                        element.removeClass( 'fade-trigger' );
     762                                }, this.sensitivity );
    678763                        } else {
    679                                 if ( stop )
     764                                if ( stop ) {
    680765                                        element.stop();
     766                                }
    681767
    682768                                element.first().fadeOut( speed, callback );
    683769
    684                                 if ( element.length > 1 )
    685                                         element.not(':first').fadeOut( speed );
     770                                if ( element.length > 1 ) {
     771                                        element.not( ':first' ).fadeOut( speed );
     772                                }
    686773                        }
    687774
    688775                        return element;
     
    691778                transitions: (function() { // Check if the browser supports CSS 3.0 transitions
    692779                        var s = document.documentElement.style;
    693780
    694                         return ( typeof ( s.WebkitTransition ) == 'string' ||
    695                                 typeof ( s.MozTransition ) == 'string' ||
    696                                 typeof ( s.OTransition ) == 'string' ||
    697                                 typeof ( s.transition ) == 'string' );
     781                        return ( typeof s.WebkitTransition === 'string' ||
     782                                typeof s.MozTransition === 'string' ||
     783                                typeof s.OTransition === 'string' ||
     784                                typeof s.transition === 'string' );
    698785                })()
    699786        };
    700787
     
    705792         */
    706793
    707794        api.bind_resize = function() {
    708                 $(s.textarea_obj).bind('keypress.grow click.grow paste.grow', function(){
     795                $( s.textarea_obj ).bind( 'keypress.grow click.grow paste.grow', function() {
    709796                        setTimeout( api.resize_textarea, 200 );
    710797                });
    711         }
     798        };
    712799
    713800        api.oldheight = 0;
    714801        api.resize_textarea = function() {
     
    716803
    717804                newheight = txt.scrollHeight > 300 ? txt.scrollHeight : 300;
    718805
    719                 if ( newheight != api.oldheight ) {
     806                if ( newheight !== api.oldheight ) {
    720807                        txt.style.height = newheight + 'px';
    721808                        api.oldheight = newheight;
    722809                }
    723810        };
    724811
    725 })(jQuery);
     812})( jQuery );
     813 No newline at end of file