WordPress.org

Make WordPress Core

Ticket #15650: common.dev.js.2.patch

File common.dev.js.2.patch, 13.6 KB (added by GamajoTech, 7 years ago)
  • wp-admin\jscommon.dev.js

     
    22(function($){
    33// sidebar admin menu
    44adminMenu = {
     5        $wpHasSubmenu : $('#adminmenu').find( 'li.wp-has-submenu' ),
    56        init : function() {
    6                 var menu = $('#adminmenu');
     7                var menu = $('#adminmenu'),
     8                        body = $('body');
    79
    8                 $('.wp-menu-toggle', menu).each( function() {
    9                         var t = $(this), sub = t.siblings('.wp-submenu');
     10                menu.find( '.wp-menu-toggle' ).each( function() {
     11                        var $this = $(this), sub = $this.siblings( '.wp-submenu' );
    1012                        if ( sub.length )
    11                                 t.click(function(){ adminMenu.toggle( sub ); });
     13                                $this.click(function(){ adminMenu.toggle( sub ); });
    1214                        else
    13                                 t.hide();
     15                                $this.hide();
    1416                });
    1517
    1618                this.favorites();
    1719
    18                 $('.separator', menu).click(function(){
    19                         if ( $('body').hasClass('folded') ) {
     20                menu.find('.separator').click(function(){
     21                        if ( body.hasClass( 'folded' ) ) {
    2022                                adminMenu.fold(1);
    2123                                deleteUserSetting( 'mfold' );
    2224                        } else {
     
    2628                        return false;
    2729                });
    2830
    29                 if ( $('body').hasClass('folded') )
     31                if ( body.hasClass('folded') )
    3032                        this.fold();
    3133
    3234                this.restoreMenuState();
    3335        },
    3436
    3537        restoreMenuState : function() {
    36                 $('li.wp-has-submenu', '#adminmenu').each(function(i, e) {
    37                         var v = getUserSetting( 'm'+i );
    38                         if ( $(e).hasClass('wp-has-current-submenu') )
     38                this.$wpHasSubmenu.each(function(index, element) {
     39                        var value = getUserSetting( 'm' + index );
     40                        if ( $(element).hasClass('wp-has-current-submenu') )
    3941                                return true; // leave the current parent open
    4042
    41                         if ( 'o' == v )
    42                                 $(e).addClass('wp-menu-open');
    43                         else if ( 'c' == v )
    44                                 $(e).removeClass('wp-menu-open');
     43                        if ( 'o' == value )
     44                                $(element).addClass('wp-menu-open');
     45                        else if ( 'c' == value )
     46                                $(element).removeClass('wp-menu-open');
    4547                });
    4648        },
    4749
    48         toggle : function(el) {                 
    49                 el.slideToggle(150, function() {
    50                         var id = el.parent().toggleClass( 'wp-menu-open' ).attr('id');                 
     50        toggle : function(element) {                   
     51                element.slideToggle(150, function() {
     52                        var id = element.parent().toggleClass( 'wp-menu-open' ).attr('id');                     
    5153                        if ( id ) {
    52                                 $('li.wp-has-submenu', '#adminmenu').each(function(i, e) {
    53                                         if ( id == e.id ) {
    54                                                 var v = $(e).hasClass('wp-menu-open') ? 'o' : 'c';                                             
    55                                                 setUserSetting( 'm'+i, v );
     54                                this.$wpHasSubmenu.each(function(index, element) {
     55                                        if ( id == element.id ) {
     56                                                var value = $(element).hasClass('wp-menu-open') ? 'o' : 'c';                                           
     57                                                setUserSetting( 'm' + index, value );
    5658                                        }
    5759                                });
    5860                        }
     
    6466        fold : function(off) {
    6567                if (off) {
    6668                        $('body').removeClass('folded');
    67                         $('#adminmenu li.wp-has-submenu').unbind();
     69                        this.$wpHasSubmenu.unbind();
    6870                } else {
    6971                        $('body').addClass('folded');
    70                         $('#adminmenu li.wp-has-submenu').hoverIntent({
    71                                 over: function(e){
    72                                         var m, b, h, o, f;
    73                                         m = $(this).find('.wp-submenu');
    74                                         b = $(this).offset().top + m.height() + 1; // Bottom offset of the menu
    75                                         h = $('#wpwrap').height(); // Height of the entire page
    76                                         o = 60 + b - h;
    77                                         f = $(window).height() + $(window).scrollTop() - 15; // The fold
    78                                         if ( f < (b - o) ) {
    79                                                 o = b - f;
     72                        this.$wpHasSubmenu.hoverIntent({
     73                                over: function(){
     74                                        var menu, bottom, height, offset, fold;
     75                                        menu  = $(this).find('.wp-submenu');
     76                                        bottom = $(this).offset().top + menu.height() + 1; // Bottom offset of the menu
     77                                        height = $('#wpwrap').height(); // Height of the entire page
     78                                        offset = 60 + bottom - height;
     79                                        fold = $(window).height() + $(window).scrollTop() - 15; // The fold
     80                                        if ( fold < (bottom - offset) ) {
     81                                                offset = bottom - fold;
    8082                                        }
    81                                         if ( o > 1 ) {
    82                                                 m.css({'marginTop':'-'+o+'px'});
    83                                         } else if ( m.css('marginTop') ) {
    84                                                 m.css({'marginTop':''});
     83                                        if ( offset > 1 ) {
     84                                                menu.css({ 'marginTop': '-' + offset + 'px' });
     85                                        } else if ( menu.css('marginTop') ) {
     86                                                menu.css({'marginTop': ''});
    8587                                        }
    86                                         m.addClass('sub-open');
     88                                        menu.addClass('sub-open');
    8789                                },
    88                                 out: function(){ $(this).find('.wp-submenu').removeClass('sub-open').css({'marginTop':''}); },
     90                                out: function(){
     91                                        $(this).find('.wp-submenu').removeClass('sub-open').css({'marginTop': ''});
     92                                },
    8993                                timeout: 220,
    9094                                sensitivity: 8,
    9195                                interval: 100
     
    9599        },
    96100
    97101        favorites : function() {
    98                 $('#favorite-inside').width( $('#favorite-actions').width() - 4 );
    99                 $('#favorite-toggle, #favorite-inside').bind('mouseenter', function() {
    100                         $('#favorite-inside').removeClass('slideUp').addClass('slideDown');
     102      var favoriteFirst = $('#favorite-first'),
     103          favoriteInside = $('#favorite-inside');
     104         
     105                favoriteInside.width( $('#favorite-actions').width() - 4 );
     106                $('#favorite-toggle').add(favoriteInside).bind('mouseenter', function() {
     107                        favoriteInside.removeClass('slideUp').addClass('slideDown');
    101108                        setTimeout(function() {
    102                                 if ( $('#favorite-inside').hasClass('slideDown') ) {
    103                                         $('#favorite-inside').slideDown(100);
    104                                         $('#favorite-first').addClass('slide-down');
     109                                if ( favoriteInside.hasClass('slideDown') ) {
     110                                        favoriteInside.slideDown(100);
     111                                        favoriteFirst.addClass('slide-down');
    105112                                }
    106113                        }, 200);
    107114                }).bind('mouseleave', function() {
    108                         $('#favorite-inside').removeClass('slideDown').addClass('slideUp');
     115                        favoriteInside.removeClass('slideDown').addClass('slideUp');
    109116                        setTimeout(function() {
    110                                 if ( $('#favorite-inside').hasClass('slideUp') ) {
    111                                         $('#favorite-inside').slideUp(100, function() {
    112                                                 $('#favorite-first').removeClass('slide-down');
     117                                if ( favoriteInside.hasClass('slideUp') ) {
     118                                        favoriteInside.slideUp(100, function() {
     119                                                favoriteFirst.removeClass('slide-down');
    113120                                        });
    114121                                }
    115122                        }, 300);
     
    124131        init : function() {
    125132                var that = this;
    126133                $('.hide-column-tog', '#adv-settings').click( function() {
    127                         var $t = $(this), column = $t.val();
    128                         if ( $t.attr('checked') )
     134                        var $this = $(this), column = $this.val();
     135                        if ( $this.attr('checked') )
    129136                                that.checked(column);
    130137                        else
    131138                                that.unchecked(column);
     
    168175        },
    169176
    170177        colSpanChange : function(diff) {
    171                 var $t = $('table').find('.colspanchange'), n;
    172                 if ( !$t.length )
     178                var $table = $('table').find('.colspanchange'), number;
     179                if ( !$table.length )
    173180                        return;
    174                 n = parseInt( $t.attr('colspan'), 10 ) + diff;
    175                 $t.attr('colspan', n.toString());
     181                number = parseInt( $table.attr('colspan'), 10 ) + diff;
     182                $table.attr('colspan', number.toString());
    176183        }
    177184}
    178185
    179186$(document).ready(function(){columns.init();});
    180187
    181188validateForm = function( form ) {
    182         return !$( form ).find('.form-required').filter( function() { return $('input:visible', this).val() == ''; } ).addClass( 'form-invalid' ).find('input:visible').change( function() { $(this).closest('.form-invalid').removeClass( 'form-invalid' ); } ).size();
     189        return !$( form )
     190                        .find('.form-required')
     191                        .filter( function() {
     192                                return $(this).find( 'input:visible' ).val() == '';
     193                        } )
     194                        .addClass( 'form-invalid' )
     195                        .find( 'input:visible' )
     196                        .change( function() {
     197                                $(this).closest( '.form-invalid' ).removeClass( 'form-invalid' );
     198                        } )
     199                        .size();
    183200}
    184201
    185202})(jQuery);
     
    201218};
    202219
    203220jQuery(document).ready( function($) {
    204         var lastClicked = false, checks, first, last, checked, bgx = ( isRtl ? 'left' : 'right' );
     221        var checked,
     222                checks,
     223                first,
     224                last,
     225                bgx                   = ( isRtl ? 'left' : 'right' ),
     226                lastClicked           = false,
     227                helpLink              = $('#contextual-help-link'),
     228                helpLinkWrap          = $('#contextual-help-link-wrap'),
     229                helpWrap              = $('#contextual-help-wrap'),
     230                screenOptionsLinkWrap = $('#screen-options-link-wrap'),
     231                screenOptionsWrap     = $('#screen-options-wrap'),
     232                showSettingsLink      = $('#show-settings-link');
    205233
    206234        // Move .updated and .error alert boxes. Don't move boxes designed to be inline.
    207235        $('div.wrap h2:first').nextAll('div.updated, div.error').addClass('below-h2');
    208236        $('div.updated, div.error').not('.below-h2, .inline').insertAfter( $('div.wrap h2:first') );
    209237
    210238        // screen settings tab
    211         $('#show-settings-link').click(function () {
    212                 if ( ! $('#screen-options-wrap').hasClass('screen-options-open') )
    213                         $('#contextual-help-link-wrap').css('visibility', 'hidden');
     239        showSettingsLink.click(function () {
     240                if ( ! screenOptionsWrap.hasClass('screen-options-open') )
     241                        helpLinkWrap.css('visibility', 'hidden');
    214242
    215                 $('#screen-options-wrap').slideToggle('fast', function(){
     243                screenOptionsWrap.slideToggle('fast', function(){
    216244                        if ( $(this).hasClass('screen-options-open') ) {
    217                                 $('#show-settings-link').css({'backgroundPosition':'top '+bgx});
    218                                 $('#contextual-help-link-wrap').css('visibility', '');
     245                                showSettingsLink.css({'backgroundPosition': 'top ' + bgx});
     246                                helpLinkWrap.css('visibility', '');
    219247                                $(this).removeClass('screen-options-open');
    220248                        } else {
    221                                 $('#show-settings-link').css({'backgroundPosition':'bottom '+bgx});
     249                                showSettingsLink.css({'backgroundPosition': 'bottom ' + bgx});
    222250                                $(this).addClass('screen-options-open');
    223251                        }
    224252                });
     
    226254        });
    227255
    228256        // help tab
    229         $('#contextual-help-link').click(function () {
    230                 if ( ! $('#contextual-help-wrap').hasClass('contextual-help-open') )
    231                         $('#screen-options-link-wrap').css('visibility', 'hidden');
     257        helpLink.click(function () {
     258                if ( ! helpWrap.hasClass('contextual-help-open') )
     259                        screenOptionsLinkWrap.css('visibility', 'hidden');
    232260
    233                 $('#contextual-help-wrap').slideToggle('fast', function() {
     261                helpWrap.slideToggle('fast', function() {
    234262                        if ( $(this).hasClass('contextual-help-open') ) {
    235                                 $('#contextual-help-link').css({'backgroundPosition':'top '+bgx});
    236                                 $('#screen-options-link-wrap').css('visibility', '');
     263                                helpLink.css({'backgroundPosition': 'top ' + bgx});
     264                                screenOptionsLinkWrap.css('visibility', '');
    237265                                $(this).removeClass('contextual-help-open');
    238266                        } else {
    239                                 $('#contextual-help-link').css({'backgroundPosition':'bottom '+bgx});
     267                                helpLink.css({'backgroundPosition': 'bottom ' + bgx});
    240268                                $(this).addClass('contextual-help-open');
    241269                        }
    242270                });
     
    244272        });
    245273
    246274        // check all checkboxes
    247         $('tbody').children().children('.check-column').find(':checkbox').click( function(e) {
    248                 if ( 'undefined' == e.shiftKey ) { return true; }
    249                 if ( e.shiftKey ) {
    250                         if ( !lastClicked ) { return true; }
     275        $('tbody').children().children('.check-column').find(':checkbox').click( function(event) {             
     276                if ( 'undefined' == event.shiftKey ) { return true; }
     277                if ( event.shiftKey ) {
     278                        if ( ! lastClicked ) { return true; }
    251279                        checks = $( lastClicked ).closest( 'form' ).find( ':checkbox' );
    252280                        first = checks.index( lastClicked );
    253281                        last = checks.index( this );
     
    265293                return true;
    266294        });
    267295
    268         $('thead, tfoot').find('.check-column :checkbox').click( function(e) {
    269                 var c = $(this).attr('checked'),
     296        $('thead, tfoot').find('.check-column :checkbox').click( function(event) {
     297                var checked = $(this).attr('checked'),
    270298                        kbtoggle = 'undefined' == typeof toggleWithKeyboard ? false : toggleWithKeyboard,
    271                         toggle = e.shiftKey || kbtoggle;
     299                        toggle   = event.shiftKey || kbtoggle;
    272300
    273301                $(this).closest( 'table' ).children( 'tbody' ).filter(':visible')
    274302                .children().children('.check-column').find(':checkbox')
     
    277305                                return '';
    278306                        if ( toggle )
    279307                                return $(this).attr( 'checked' ) ? '' : 'checked';
    280                         else if (c)
     308                        else if (checked)
    281309                                return 'checked';
    282310                        return '';
    283311                });
     
    287315                .attr('checked', function() {
    288316                        if ( toggle )
    289317                                return '';
    290                         else if (c)
     318                        else if (checked)
    291319                                return 'checked';
    292320                        return '';
    293321                });
     
    300328        });
    301329
    302330        // tab in textareas
    303         $('#newcontent').keydown(function(e) {
    304                 if ( e.keyCode != 9 )
     331        $('#newcontent').keydown(function(event) {
     332                if ( 9 != event.keyCode )
    305333                        return true;
    306334
    307                 var el = e.target, selStart = el.selectionStart, selEnd = el.selectionEnd, val = el.value, scroll, sel;
     335                var scrollTop,
     336                        selection,
     337                        element        = event.target,
     338                        selectionEnd   = element.selectionEnd,
     339                        selectionStart = element.selectionStart,
     340                        value          = element.value;
    308341
    309342                try {
    310343                        this.lastKey = 9; // not a standard DOM property, lastKey is to help stop Opera tab event.  See blur handler below.
    311344                } catch(err) {}
    312345
    313346                if ( document.selection ) {
    314                         el.focus();
    315                         sel = document.selection.createRange();
    316                         sel.text = '\t';
    317                 } else if ( selStart >= 0 ) {
    318                         scroll = this.scrollTop;
    319                         el.value = val.substring(0, selStart).concat('\t', val.substring(selEnd) );
    320                         el.selectionStart = el.selectionEnd = selStart + 1;
    321                         this.scrollTop = scroll;
     347                        element.focus();
     348                        selection = document.selection.createRange();
     349                        selection.text = '\t';
     350                } else if ( selectionStart >= 0 ) {
     351                        scrollTop = this.scrollTop;
     352                        element.value = value.substring(0, selectionStart).concat('\t', value.substring(selectionEnd) );
     353                        element.selectionStart = element.selectionEnd = selectionStart + 1;
     354                        this.scrollTop = scrollTop;
    322355                }
    323356
    324                 if ( e.stopPropagation )
    325                         e.stopPropagation();
    326                 if ( e.preventDefault )
    327                         e.preventDefault();
    328         });
    329 
    330         $('#newcontent').blur(function(e) {
     357                if ( event.stopPropagation )
     358                        event.stopPropagation();
     359                if ( event.preventDefault )
     360                        event.preventDefault();
     361        }).blur(function() {
     362 No newline at end of file
    331363                if ( this.lastKey && 9 == this.lastKey )
    332364                        this.focus();
    333365        });