WordPress.org

Make WordPress Core

Ticket #10021: 10021.2.diff

File 10021.2.diff, 17.7 KB (added by Denis-de-Bernardy, 9 years ago)

not finished yet...

  • wp-admin/js/common.dev.js

     
    44adminMenu = {
    55
    66        init : function() {
    7                 $('#adminmenu div.wp-menu-toggle').each( function() {
    8                         if ( $(this).siblings('.wp-submenu').length )
    9                                 $(this).click(function(){ adminMenu.toggle( $(this).siblings('.wp-submenu') ); });
     7                $('#adminmenu').find('div.wp-menu-toggle').each( function() {
     8                        if ( $(this).siblings('div.wp-submenu').length )
     9                                $(this).click(function(){ adminMenu.toggle( $(this).siblings('div.wp-submenu') ); });
    1010                        else
    1111                                $(this).hide();
    1212                });
    13 
     13                logScript("$('#adminmenu div.wp-menu-toggle').each");
     14               
    1415                this.favorites();
    15 
     16                logScript("this.favorites();");
     17               
    1618                $('a.separator').click(function(){
    1719                        if ( $('body').hasClass('folded') ) {
    1820                                adminMenu.fold(1);
     
    2325                        }
    2426                        return false;
    2527                });
    26 
     28                logScript("$('a.separator').click");
     29               
    2730                if ( $('body').hasClass('folded') ) {
    2831                        this.fold();
    2932                }
     33                logScript("$('body').hasClass('folded')");
     34               
    3035                this.restoreMenuState();
     36                logScript("this.restoreMenuState();");
    3137        },
    3238
    3339        restoreMenuState : function() {
    34                 $('#adminmenu li.wp-has-submenu').each(function(i, e) {
     40                $('#adminmenu').find('li.wp-has-submenu').each(function(i, e) {
    3541                        var v = getUserSetting( 'm'+i );
    3642                        if ( $(e).hasClass('wp-has-current-submenu') ) return true; // leave the current parent open
    3743
     
    4450
    4551                el['slideToggle'](150, function(){el.css('display','');}).parent().toggleClass( 'wp-menu-open' );
    4652
    47                 $('#adminmenu li.wp-has-submenu').each(function(i, e) {
     53                $('#adminmenu').find('li.wp-has-submenu').each(function(i, e) {
    4854                        var v = $(e).hasClass('wp-menu-open') ? 'o' : 'c';
    4955                        setUserSetting( 'm'+i, v );
    5056                });
     
    5561        fold : function(off) {
    5662                if (off) {
    5763                        $('body').removeClass('folded');
    58                         $('#adminmenu li.wp-has-submenu').unbind();
     64                        $('#adminmenu').find('li.wp-has-submenu').unbind();
    5965                } else {
    6066                        $('body').addClass('folded');
    61                         $('#adminmenu li.wp-has-submenu').hoverIntent({
     67                        $('#adminmenu').find('li.wp-has-submenu').hoverIntent({
    6268                                over: function(e){
    6369                                        var m, b, h, o, f;
    64                                         m = $(this).find('.wp-submenu');
     70                                        m = $(this).find('div.wp-submenu');
    6571                                        b = m.parent().offset().top + m.height() + 1; // Bottom offset of the menu
    6672                                        h = $('#wpwrap').height(); // Height of the entire page
    6773                                        o = 60 + b - h;
     
    7682                                        }
    7783                                        m.addClass('sub-open');
    7884                                },
    79                                 out: function(){ $(this).find('.wp-submenu').removeClass('sub-open').css({'marginTop':''}); },
     85                                out: function(){ $(this).find('div.wp-submenu').removeClass('sub-open').css({'marginTop':''}); },
    8086                                timeout: 220,
    8187                                sensitivity: 8,
    8288                                interval: 100
     
    9399        }
    94100};
    95101
    96 $(document).ready(function(){adminMenu.init();});
     102$(document).ready(function(){logScript('adminMenu.init()');adminMenu.init();logScript('end adminMenu.init()');});
    97103
    98104// show/hide/save table columns
    99105columns = {
    100106        init : function() {
    101                 $('.hide-column-tog').click( function() {
     107                $('input.hide-column-tog').click( function() {
    102108                        var column = $(this).val(), show = $(this).attr('checked');
    103109                        if ( show ) {
    104110                                $('.column-' + column).show();
     
    120126        }
    121127}
    122128
    123 $(document).ready(function(){columns.init();});
     129$(document).ready(function(){logScript('columns.init()');columns.init();logScript('end columns.init()');});
    124130
    125131})(jQuery);
    126132
     
    140146        }
    141147};
    142148
    143 jQuery(document).ready( function($) {
     149jQuery(document).ready( function($) {logScript('commons.ready()');
    144150        var lastClicked = false, checks, first, last, checked;
    145151
    146152        // pulse
    147153        $('.fade').animate( { backgroundColor: '#ffffe0' }, 300).animate( { backgroundColor: '#fffbcc' }, 300).animate( { backgroundColor: '#ffffe0' }, 300).animate( { backgroundColor: '#fffbcc' }, 300);
     154        logScript("$('.fade').animate");
    148155
    149156        // Move .updated and .error alert boxes
    150         $('div.wrap h2 ~ div.updated, div.wrap h2 ~ div.error').addClass('below-h2');
    151         $('div.updated, div.error').not('.below-h2').insertAfter('div.wrap h2:first');
     157        $('div.wrap').find('h2 ~ div.updated, div.wrap h2 ~ div.error').addClass('below-h2');
     158        logScript("$('div.wrap h2 ~ div.updated, div.wrap h2 ~ div.error').addClass('below-h2');");
     159       
     160        $('div.updated, div.error').not('.below-h2').insertAfter($('div.wrap').find('h2:first'));
     161        logScript("$('div.updated, div.error').not('.below-h2').insertAfter('div.wrap h2:first');");
    152162
    153163        // show warnings
    154164        $('#doaction, #doaction2').click(function(){
     
    156166                        return showNotice.warn();
    157167                }
    158168        });
     169        logScript("$('#doaction, #doaction2').click");
    159170
    160171        // screen settings tab
    161172        $('#show-settings-link').click(function () {
     
    174185                });
    175186                return false;
    176187        });
     188        logScript("$('#show-settings-link').click");
    177189
    178190        // help tab
    179191        $('#contextual-help-link').click(function () {
     
    192204                });
    193205                return false;
    194206        });
     207        logScript("$('#contextual-help-link').click");
     208       
    195209        $('#contextual-help-link-wrap, #screen-options-link-wrap').show();
     210        logScript("$('#contextual-help-link-wrap, #screen-options-link-wrap').show();");
    196211
    197212        // check all checkboxes
    198         $( 'table:visible tbody .check-column :checkbox' ).click( function(e) {
     213        $('table:visible').children('tbody').children().children('.check-column').find('input:checkbox').click( function(e) {
    199214                if ( 'undefined' == e.shiftKey ) { return true; }
    200215                if ( e.shiftKey ) {
    201216                        if ( !lastClicked ) { return true; }
    202                         checks = $( lastClicked ).parents( 'form:first' ).find( ':checkbox' );
     217                        checks = $( lastClicked ).parents( 'form:first' ).find( 'input:checkbox' );
    203218                        first = checks.index( lastClicked );
    204219                        last = checks.index( this );
    205220                        checked = $(this).attr('checked');
     
    215230                lastClicked = this;
    216231                return true;
    217232        } );
    218         $( 'thead :checkbox, tfoot :checkbox' ).click( function(e) {
     233        logScript("$( 'table:visible tbody .check-column :checkbox' ).click");
     234       
     235        $('thead, tfoot').find('input:checkbox').click( function(e) {
    219236                var c = $(this).attr('checked'), kbtoggle = 'undefined' == typeof toggleWithKeyboard ? false : toggleWithKeyboard, toggle = e.shiftKey || kbtoggle;
    220237
    221238
    222                 $(this).parents( 'form:first' ).find( 'table tbody:visible' ).find( '.check-column :checkbox' ).attr( 'checked', function() {
     239                $(this).parents( 'form:first' ).find( 'table' ).children( 'tbody:visible' ).children().children('.check-column').find( 'input:checkbox' ).attr( 'checked', function() {
    223240                        if ( $(this).parents('tr').is(':hidden') )
    224241                                return '';
    225242                        if ( toggle )
     
    228245                                return 'checked';
    229246                        return '';
    230247                });
    231                 $(this).parents( 'form:first' ).find( 'table thead:visible, table tfoot:visible').find( '.check-column :checkbox' ).attr( 'checked', function() {
     248                $(this).parents( 'form:first' ).find('table').children( 'thead:visible,  tfoot:visible').children().children('.check-column').find( 'input:checkbox' ).attr( 'checked', function() {
    232249                        if ( toggle )
    233250                                return '';
    234251                        else if (c)
     
    236253                        return '';
    237254                });
    238255        });
     256        logScript("$( 'thead :checkbox, tfoot :checkbox' ).click");
     257       
    239258        $('#default-password-nag-no').click( function() {
    240259                setUserSetting('default_password_nag', 'hide');
    241260                $('div.default-password-nag').hide();
    242261                return false;
    243262        });
     263        logScript("$('#default-password-nag-no').click");
    244264       
    245        
     265        logScript('end commons.ready()');
    246266});
    247267
    248 jQuery(document).ready( function($){
    249         var turboNag = $('.turbo-nag');
     268jQuery(document).ready( function($){logScript('turbo.ready()');
     269        var turboNag = $('span.turbo-nag');
    250270
    251271        if ( !turboNag.length || ('undefined' != typeof(google) && google.gears) )
    252272                return;
     
    263283        }
    264284
    265285        turboNag.show();
    266 
     286        logScript('end turbo.ready()');
    267287});
  • wp-admin/js/utils.dev.js

     
    164164
    165165        return wpCookies.getHash('wp-settings-' + userSettings.uid) || {};
    166166}
     167
     168
     169function logScript(stop) {
     170        if ( !window.d )
     171                window.d = new Date();
     172        var d = new Date();
     173        jQuery('body').append('<div>' + ( d.getTime() - window.d.getTime() ) + 'ms -- ' + stop + '</div>');
     174        window.d = d;
     175}
     176 No newline at end of file
  • wp-admin/js/widgets.dev.js

     
    99                if ( $('body').hasClass('widgets_access') ) {
    1010                        return;
    1111                }
    12 
    13                 $('#widgets-right div.sidebar-name').click(function(){
    14             var c = $(this).siblings('.widgets-sortables');
     12                logScript("$('body').hasClass('widgets_access')");
     13               
     14                var sortableSidebars = $('div.widgets-sortables');
     15               
     16                $('#widgets-right').find('div.sidebar-name').click(function(){
     17            var c = $(this).siblings('div.widgets-sortables');
    1518                        if ( c.is(':visible') ) {
    1619                                c.sortable('disable');
    1720                                $(this).parent().addClass('closed');
     
    2023                                c.sortable('enable').sortable('refresh');
    2124                        }
    2225        });
     26                logScript("$('#widgets-right div.sidebar-name').click");
    2327
    24         $('#widgets-left div.sidebar-name').click(function(){
    25                         if ( $(this).siblings('.widget-holder').is(':visible') ) {
     28        $('#widgets-left').find('div.sidebar-name').click(function(){
     29                        if ( $(this).siblings('div.widget-holder').is(':visible') ) {
    2630                                $(this).parent().addClass('closed');
    2731                        } else {
    2832                                $(this).parent().removeClass('closed');
    2933                        }
    3034        });
     35                logScript("$('#widgets-left div.sidebar-name').click");
    3136
    32                 $('#widgets-right .widget, #wp_inactive_widgets .widget').each(function(){
     37                $('#widgets-right, #wp_inactive_widgets').find('div.widget-holder').children('div.widget').each(function(){
    3338                        wpWidgets.appendTitle(this);
    3439                });
     40                logScript("$('#widgets-right .widget, #wp_inactive_widgets .widget').each");
    3541
    3642                this.addEvents();
    37         $('.widget-error').parents('.widget').find('a.widget-action').click();
     43                logScript("this.addEvents();");
     44               
     45        $('.widget-error').parents('div.widget').find('a.widget-action').click();
     46                logScript("$('.widget-error').parents('.widget').find('a.widget-action').click();");
    3847
    3948                $('#available-widgets').droppable({
    4049                        tolerance: 'pointer',
     
    5059                                $('.widget-placeholder').hide();
    5160
    5261                                if ( ui.draggable.hasClass('ui-sortable-helper') )
    53                                         $('#removing-widget').show().children('span').html( ui.draggable.find('.widget-title h4').html() );
     62                                        $('#removing-widget').show().children('span').html( ui.draggable.find('div.widget-title').children('h4').html() );
    5463                        },
    5564                        out: function(e,ui) {
    5665                                ui.draggable.removeClass('deleting');
     
    5867                                $('#removing-widget').hide().children('span').html('');
    5968                        }
    6069                });
     70                logScript("$('#available-widgets').droppable");
    6171
    62                 $('#widget-list .widget').draggable({
    63                         connectToSortable: '.widgets-sortables',
    64                         handle: '.widget-title',
     72                $('#widget-list').find('div.widget').draggable({
     73                        connectToSortable: sortableSidebars,
     74                        handle: 'div.widget-title',
    6575                        distance: 2,
    6676                        helper: 'clone',
    6777                        zIndex: 5,
    6878                        containment: 'document',
    6979                        start: function(e,ui) {
    7080                                wpWidgets.fixWebkit(1);
    71                                 ui.helper.find('.widget-description').hide();
     81                                ui.helper.find('div.widget-description').hide();
    7282                        },
    7383                        stop: function(e,ui) {
    7484                                if ( rem )
     
    7787                                wpWidgets.fixWebkit();
    7888                        }
    7989                });
    80 
    81         $('.widgets-sortables').sortable({
     90                logScript("$('#widget-list .widget').draggable");
     91               
     92                $('div.widgets-sortables').sortable({
    8293                        placeholder: 'widget-placeholder',
    83                         connectWith: '.widgets-sortables',
    84                         items: '.widget',
    85                         handle: '.widget-title',
     94                        connectWith: sortableSidebars,
     95                        items: 'div.widget',
     96                        handle: 'div.widget-title',
    8697                        cursor: 'move',
    8798                        distance: 2,
    8899                        containment: 'document',
    89100                        start: function(e,ui) {
    90101                                wpWidgets.fixWebkit(1);
    91                                 ui.item.find('.widget-inside').hide();
     102                                ui.item.find('div.widget-inside').hide();
    92103                                ui.item.css({'marginLeft':'','width':''});
    93104                        },
    94105                        stop: function(e,ui) {
     
    128139                                        $(this).sortable('cancel');
    129140                        }
    130141                }).not(':visible').sortable('disable');
     142                logScript("$('.widgets-sortables').sortable");
     143               
    131144                wpWidgets.resize();
     145                logScript("wpWidgets.resize();");
     146               
    132147                wpWidgets.fixLabels();
     148                logScript("wpWidgets.fixLabels();");
    133149        },
    134150
    135151        saveOrder : function(sb) {
    136152                if ( sb )
    137                         $('#' + sb).parents('.widgets-holder-wrap').find('.ajax-feedback').css('visibility', 'visible');
     153                        $('#' + sb).parents('div.widgets-holder-wrap').find('img.ajax-feedback').css('visibility', 'visible');
    138154
    139155                var a = {
    140156                        action: 'widgets-order',
     
    142158                        sidebars: []
    143159                };
    144160
    145                 $('.widgets-sortables').each( function() {
     161                $('div.widgets-sortables').each( function() {
    146162                        a['sidebars[' + $(this).attr('id') + ']'] = $(this).sortable('toArray').join(',');
    147163                });
    148164
    149165                $.post( ajaxurl, a, function() {
    150                         $('.ajax-feedback').css('visibility', 'hidden');
     166                        $('img.ajax-feedback').css('visibility', 'hidden');
    151167                });
    152168                this.resize();
    153169        },
    154170
    155171        save : function(widget, del, animate, order) {
    156                 var sb = widget.parents('.widgets-sortables').attr('id'), data = widget.find('form').serialize(), a;
     172                var sb = widget.parents('div.widgets-sortables:first').attr('id'), data = widget.find('form').serialize(), a;
    157173                widget = $(widget);
    158174                widget.find('.ajax-feedback').css('visibility', 'visible');
    159175
     
    172188                        var id;
    173189
    174190                        if ( del ) {
    175                                 if ( !$('.widget_number', widget).val() ) {
    176                                         id = $('.widget-id', widget).val();
    177                                         $('#available-widgets .widget-id').each(function(){
     191                                if ( !$('input.widget_number', widget).val() ) {
     192                                        id = $('input.widget-id', widget).val();
     193                                        $('#available-widgets').find('input.widget-id').each(function(){
    178194                                                if ( $(this).val() == id )
    179                                                         $(this).parents('.widget').show();
     195                                                        $(this).parents('div.widget:first').show();
    180196                                        });
    181197                                }
    182198
     
    193209                        } else {
    194210                                $('.ajax-feedback').css('visibility', 'hidden');
    195211                                if ( r && r.length > 2 ) {
    196                                         $('.widget-content', widget).html(r);
     212                                        $('div.widget-content', widget).html(r);
    197213                                        wpWidgets.appendTitle(widget);
    198214                                        wpWidgets.fixLabels(widget);
    199215                                }
     
    209225                        if ( this.id.indexOf('title') != -1 ) {
    210226                                title = $(this).val().replace(/<[^<>]+>/g, '').replace(/</g, '&lt;').replace(/>/g, '&gt;');
    211227                                if ( title )
    212                                         $('.widget-title .in-widget-title', widget).html(': ' + title);
     228                                        $('div.widget-title', widget).find('span.in-widget-title').html(': ' + title);
    213229                                return false;
    214230                        }
    215231                });
    216232        },
    217233
    218234        resize : function() {
    219                 $('.widgets-sortables').not('#wp_inactive_widgets').each(function(){
    220                         var h = 50, H = $('.widget', this).length;
     235                $('div.widgets-sortables').not('#wp_inactive_widgets').each(function(){
     236                        var h = 50, H = $('div.widget', this).length;
    221237                        h = h + parseInt(H * 48, 10);
    222238                        $(this).css( 'minHeight', h + 'px' );
    223239                });
     
    234250    fixLabels : function(sc) {
    235251                sc = sc || document;
    236252
    237                 $('.widget-inside label', sc).each(function(){
     253                $('textarea', sc).parents('label').each(function(){
    238254                        var f = $(this).attr('for');
    239255
    240256                        if ( f && f == $('input', this).attr('id') )
     
    243259        },
    244260   
    245261    close : function(widget) {
    246                 widget.find('.widget-inside').slideUp('fast', function(){
     262                widget.find('div.widget-inside').slideUp('fast', function(){
    247263                        widget.css({'width':'','marginLeft':''});
    248264                });
    249265        },
    250266
    251267    addEvents : function(sc) {
    252                 sc = sc || document;
    253                 $('a.widget-action', sc).click(function(){
    254             var w = parseInt( $(this).parents('.widget').find('.widget-width').val(), 10 ), css = {}, inside = $(this).parents('.widget-top').siblings('.widget-inside');
     268                var a, c;
     269                if ( sc ) {
     270                        a = $(sc).find('div.widget-title-action:first');
     271                        c = $(sc).find('div.widget-control-actions:first');
     272                } else {
     273                        a = $('div.widget-title-action');
     274                        c = $('div.widget-control-actions');
     275                }
     276               
     277                a.children('a.widget-action').click(function(){
     278            var w = parseInt( $(this).parents('div.widget:first').find('input.widget-width:first').val(), 10 ), css = {}, inside = $(this).parents('div.widget-top:first').siblings('div.widget-inside:first');
    255279                        if ( inside.is(':hidden') ) {
    256                                 if ( w > 250 && inside.parents('.widgets-sortables').length ) {
     280                                if ( w > 250 && inside.parents('div.widgets-sortables:first').length ) {
    257281                                        css['width'] = w + 30 + 'px';
    258                                         if ( inside.parents('.widget-liquid-right').length )
     282                                        if ( inside.parents('div.widget-liquid-right:first').length )
    259283                                                css['marginLeft'] = 235 - w + 'px';
    260                                         inside.parents('.widget').css(css);
     284                                        inside.parents('div.widget').css(css);
    261285                                }
    262286                                inside.slideDown('fast');
    263287                        } else {
    264                                 inside.slideUp('fast', function(){ inside.parents('.widget').css({'width':'','marginLeft':''}); });
     288                                inside.slideUp('fast', function(){ inside.parents('div.widget:first').css({'width':'','marginLeft':''}); });
    265289                        }
    266290            return false;
    267291        });
    268         $('.widget-control-save', sc).click(function(){
    269                         wpWidgets.save( $(this).parents('.widget'), 0, 1, 0 );
     292        c.children('input.widget-control-save').click(function(){
     293                        wpWidgets.save( $(this).parents('div.widget:first'), 0, 1, 0 );
    270294                        return false;
    271295                });
    272                 $('.widget-control-remove', sc).click(function(){
    273                         wpWidgets.save( $(this).parents('.widget'), 1, 1, 0 );
     296                c.children('a.widget-control-remove').click(function(){
     297                        wpWidgets.save( $(this).parents('div.widget:first'), 1, 1, 0 );
    274298                        return false;
    275299                });
    276                 $('.widget-control-close', sc).click(function(){
    277                         wpWidgets.close( $(this).parents('.widget') );
     300                c.children('a.widget-control-close').click(function(){
     301                        wpWidgets.close( $(this).parents('div.widget:first') );
    278302                        return false;
    279303                });
    280304        }
    281305};
    282 $(document).ready(function(){wpWidgets.init();});
     306$(document).ready(function(){logScript('widgets.init()');wpWidgets.init();logScript('end widgets.init()');});
    283307
    284308})(jQuery);