Responsive admin improvements for the dashboard, new/write screens and links screens, see #18198

git-svn-id: http://svn.automattic.com/wordpress/trunk@18736 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
azaozz
2011-09-21 06:16:24 +00:00
parent 0fd3915e9f
commit ffca93b1f2
11 changed files with 112 additions and 106 deletions

View File

@@ -2,30 +2,36 @@ var postboxes;
(function($) {
postboxes = {
add_postbox_toggles : function(page,args) {
this.init(page,args);
add_postbox_toggles : function(page, args) {
this.init(page, args);
$('.postbox h3, .postbox .handlediv').click( function() {
var p = $(this).parent('.postbox'), id = p.attr('id');
if ( 'dashboard_browser_nag' == id )
return;
p.toggleClass('closed');
postboxes.save_state(page);
if ( id ) {
if ( !p.hasClass('closed') && $.isFunction(postboxes.pbshow) )
postboxes.pbshow(id);
else if ( p.hasClass('closed') && $.isFunction(postboxes.pbhide) )
postboxes.pbhide(id);
}
} );
});
$('.postbox h3 a').click( function(e) {
e.stopPropagation();
} );
});
$('.postbox a.dismiss').click( function(e) {
var hide_id = $(this).parents('.postbox').attr('id') + '-hide';
$( '#' + hide_id ).prop('checked', false).triggerHandler('click');
return false;
} );
});
$('.hide-postbox-tog').click( function() {
var box = $(this).val();
@@ -39,39 +45,38 @@ var postboxes;
postboxes.pbhide( box );
}
postboxes.save_state(page);
} );
});
$('.columns-prefs input[type="radio"]').click(function(){
var num = $(this).val(), ps = $('#poststuff'), wrap = $('.wrap').first();
var num = $(this).val(), ps = $('#poststuff');
if ( num == 'auto' ) {
setUserSetting('responsive', '1');
$(document.body).addClass('responsive');
$(window).bind('resize.responsive', function(){ postboxes.auto_columns(); });
if ( ps.length )
wrap.removeClass('columns-1').removeClass('columns-2');
$('.wrap').removeClass('columns-1').removeClass('columns-2');
postboxes.auto_columns();
} else {
$(window).unbind('resize.responsive');
num = parseInt(num, 10);
deleteUserSetting('responsive');
$(document.body).removeClass('responsive');
if ( ps.length ) { // write pages
if ( num == 2 ) {
wrap.removeClass('columns-1').addClass('columns-2');
$('.wrap').removeClass('columns-1').addClass('columns-2');
ps.addClass('has-right-sidebar');
if ( !$('#side-info-column #side-sortables').length )
$('#side-info-column').append( $('#side-sortables') );
} else if ( num == 1 ) {
wrap.removeClass('columns-2').addClass('columns-1');
$('.wrap').removeClass('columns-2').addClass('columns-1');
ps.removeClass('has-right-sidebar');
$('#normal-sortables').before( $('#side-sortables') );
if ( !$('#post-body-content #side-sortables').length )
$('#normal-sortables').before( $('#side-sortables') );
}
} else { // dashboard
@@ -141,49 +146,42 @@ var postboxes;
},
auto_columns : function() { // responsive admin
var pb, dw;
var poststuff = $('#poststuff'), width;
if ( !$(document.body).hasClass('responsive') )
return;
if ( poststuff.length ) { // post-new, post, links, etc.
width = $('#post-body').width();
if ( adminpage == 'post-php' ) {
pb = $('#post-body').width();
if ( width < 800 ) {
poststuff.removeClass('has-right-sidebar');
if ( pb < 800 ) {
$('#poststuff').removeClass('has-right-sidebar');
$('#normal-sortables').before( $('#side-sortables') );
if ( !$('#post-body-content #side-sortables').length )
$('#normal-sortables').before( $('#side-sortables') );
} else {
poststuff.addClass('has-right-sidebar');
if ( !$('#side-info-column #side-sortables').length )
$('#side-info-column').append( $('#side-sortables') );
if ( width < 1150 )
$(document.body).removeClass('wide-window');
else
$(document.body).addClass('wide-window');
}
if ( pb >= 800 && pb < 1150 ) {
$('#poststuff').addClass('has-right-sidebar');
$('#side-info-column').append( $('#side-sortables') );
$(document.body).removeClass('wide-window');
}
} else if ( $('#dashboard-widgets-wrap').length ) { // dashboard
width = $(window).width();
if ( pb >= 1150 ) {
$(document.body).addClass('wide-window');
}
} else if ( adminpage == 'index-php' ) {
dw = $('#dashboard-widgets-wrap').width();
if ( dw < 700 ) {
if ( width < 950 ) {
this._dash_columns(1)
}
if ( dw >= 700 && dw < 1100 ) {
} else if ( width < 1300 ) {
this._dash_columns(2)
}
if ( dw >= 1100 && dw < 1500 ) {
} else if ( width < 1700 ) {
this._dash_columns(3)
}
if ( dw >= 1500 ) {
} else {
this._dash_columns(4)
}
}
},
_dash_columns : function(n) {
@@ -240,12 +238,7 @@ var postboxes;
};
$(document).ready(function(){
if ( $('#wp_auto_columns').prop('checked') ) {
setUserSetting('responsive', '1');
$(document.body).addClass('responsive');
}
if ( $(document.body).hasClass('responsive') ) {
if ( !$('#wp_auto_columns').length || $('#wp_auto_columns').prop('checked') ) {
$(window).bind('resize.responsive', function(){ postboxes.auto_columns(); });
postboxes.auto_columns();
}