From aa9198763972af43cdc40d24c5b6b3201b86b5e9 Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Wed, 1 Jun 2011 16:29:10 +0000 Subject: [PATCH] Widgets RTL fixes, props yoavf, fixes #16082 git-svn-id: https://develop.svn.wordpress.org/trunk@18095 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-admin/css/widgets-rtl.css | 2 +- wp-admin/css/widgets-rtl.dev.css | 49 ++++++++++++++++++++++++++------ wp-admin/js/widgets.dev.js | 13 +++++---- wp-admin/js/widgets.js | 2 +- wp-includes/script-loader.php | 4 +-- 5 files changed, 52 insertions(+), 18 deletions(-) diff --git a/wp-admin/css/widgets-rtl.css b/wp-admin/css/widgets-rtl.css index 417995c663..1f8b2a58f2 100644 --- a/wp-admin/css/widgets-rtl.css +++ b/wp-admin/css/widgets-rtl.css @@ -1 +1 @@ -#widget-list .widget,#wp_inactive_widgets .widget{float:right;}ul#widget-list li.widget-list-item div.widget-description{margin:0 200px 0 0;padding:0 4em 0 0;}.widget-control-save,.widget-control-remove{margin-right:0;margin-left:8px;float:right;} \ No newline at end of file +div.widget-liquid-left{float:right;clear:right;margin-right:0;margin-left:-325px;}div#widgets-left{margin-right:5px;margin-left:325px;}div.widget-liquid-right{float:left;clear:left;}#wp_inactive_widgets .widget{float:right;}div.sidebar-name h3{font-family:Tahoma,Arial,sans-serif;}#widget-list .widget{float:right;}#wp_inactive_widgets .widget-placeholder{float:right;}.widget-top .widget-title-action{float:left;}.widget-control-edit{padding:0 0 0 8px;}.sidebar-name-arrow{float:left;} \ No newline at end of file diff --git a/wp-admin/css/widgets-rtl.dev.css b/wp-admin/css/widgets-rtl.dev.css index d2ccce59aa..672f669741 100644 --- a/wp-admin/css/widgets-rtl.dev.css +++ b/wp-admin/css/widgets-rtl.dev.css @@ -1,14 +1,47 @@ -#widget-list .widget, +/* 2 column liquid layout */ +div.widget-liquid-left { + float: right; + clear: right; + margin-right: 0; + margin-left: -325px; +} + +div#widgets-left { + margin-right: 5px; + margin-left: 325px; +} + +div.widget-liquid-right { + float: left; + clear: left; +} + #wp_inactive_widgets .widget { float: right; } -ul#widget-list li.widget-list-item div.widget-description { - margin: 0 200px 0 0; - padding: 0 4em 0 0; + +div.sidebar-name h3 { + font-family: Tahoma, Arial, sans-serif; } -.widget-control-save, -.widget-control-remove { - margin-right: 0; - margin-left: 8px; + +#widget-list .widget { float: right; } + +#wp_inactive_widgets .widget-placeholder { + float: right; +} + +.widget-top .widget-title-action { + float: left; +} + +.widget-control-edit { + padding: 0 0 0 8px; +} + + +.sidebar-name-arrow { + float: left; +} + diff --git a/wp-admin/js/widgets.dev.js b/wp-admin/js/widgets.dev.js index 0bd6f0db34..457e50b003 100644 --- a/wp-admin/js/widgets.dev.js +++ b/wp-admin/js/widgets.dev.js @@ -4,7 +4,8 @@ var wpWidgets; wpWidgets = { init : function() { - var rem, sidebars = $('div.widgets-sortables'); + var rem, sidebars = $('div.widgets-sortables'), isRTL = !! ( 'undefined' != typeof isRtl && isRtl ), + margin = ( isRtl ? 'marginRight' : 'marginLeft' ); $('#widgets-right').children('.widgets-holder-wrap').children('.sidebar-name').click(function(){ var c = $(this).siblings('.widgets-sortables'), p = $(this).parent(); @@ -34,14 +35,14 @@ wpWidgets = { if ( w > 250 && inside.closest('div.widgets-sortables').length ) { css['width'] = w + 30 + 'px'; if ( inside.closest('div.widget-liquid-right').length ) - css['marginLeft'] = 235 - w + 'px'; + css[margin] = 235 - w + 'px'; widget.css(css); } wpWidgets.fixLabels(widget); inside.slideDown('fast'); } else { inside.slideUp('fast', function() { - widget.css({'width':'','marginLeft':''}); + widget.css({'width':'', margin:''}); }); } return false; @@ -97,7 +98,7 @@ wpWidgets = { start: function(e,ui) { wpWidgets.fixWebkit(1); ui.item.children('.widget-inside').hide(); - ui.item.css({'marginLeft':'','width':''}); + ui.item.css({margin:'', 'width':''}); }, stop: function(e,ui) { if ( ui.item.hasClass('ui-draggable') && ui.item.data('draggable') ) @@ -114,7 +115,7 @@ wpWidgets = { id = ui.item.attr('id'), sb = $(this).attr('id'); - ui.item.css({'marginLeft':'','width':''}); + ui.item.css({margin:'', 'width':''}); wpWidgets.fixWebkit(); if ( add ) { if ( 'multi' == add ) { @@ -271,7 +272,7 @@ wpWidgets = { close : function(widget) { widget.children('.widget-inside').slideUp('fast', function(){ - widget.css({'width':'','marginLeft':''}); + widget.css({'width':'', margin:''}); }); } }; diff --git a/wp-admin/js/widgets.js b/wp-admin/js/widgets.js index 5165627545..a0e1ee075c 100644 --- a/wp-admin/js/widgets.js +++ b/wp-admin/js/widgets.js @@ -1 +1 @@ -var wpWidgets;(function(a){wpWidgets={init:function(){var c,b=a("div.widgets-sortables");a("#widgets-right").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){var e=a(this).siblings(".widgets-sortables"),d=a(this).parent();if(!d.hasClass("closed")){e.sortable("disable");d.addClass("closed")}else{d.removeClass("closed");e.sortable("enable").sortable("refresh")}});a("#widgets-left").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){a(this).siblings(".widget-holder").parent().toggleClass("closed")});b.not("#wp_inactive_widgets").each(function(){var e=50,d=a(this).children(".widget").length;e=e+parseInt(d*48,10);a(this).css("minHeight",e+"px")});a("a.widget-action").live("click",function(){var f={},g=a(this).closest("div.widget"),d=g.children(".widget-inside"),e=parseInt(g.find("input.widget-width").val(),10);if(d.is(":hidden")){if(e>250&&d.closest("div.widgets-sortables").length){f.width=e+30+"px";if(d.closest("div.widget-liquid-right").length){f.marginLeft=235-e+"px"}g.css(f)}wpWidgets.fixLabels(g);d.slideDown("fast")}else{d.slideUp("fast",function(){g.css({width:"",marginLeft:""})})}return false});a("input.widget-control-save").live("click",function(){wpWidgets.save(a(this).closest("div.widget"),0,1,0);return false});a("a.widget-control-remove").live("click",function(){wpWidgets.save(a(this).closest("div.widget"),1,1,0);return false});a("a.widget-control-close").live("click",function(){wpWidgets.close(a(this).closest("div.widget"));return false});b.children(".widget").each(function(){wpWidgets.appendTitle(this);if(a("p.widget-error",this).length){a("a.widget-action",this).click()}});a("#widget-list").children(".widget").draggable({connectToSortable:"div.widgets-sortables",handle:"> .widget-top > .widget-title",distance:2,helper:"clone",zIndex:5,containment:"document",start:function(f,d){wpWidgets.fixWebkit(1);d.helper.find("div.widget-description").hide()},stop:function(f,d){if(c){a(c).hide()}c="";wpWidgets.fixWebkit()}});b.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(f,d){wpWidgets.fixWebkit(1);d.item.children(".widget-inside").hide();d.item.css({marginLeft:"",width:""})},stop:function(g,d){if(d.item.hasClass("ui-draggable")&&d.item.data("draggable")){d.item.draggable("destroy")}if(d.item.hasClass("deleting")){wpWidgets.save(d.item,1,0,1);d.item.remove();return}var f=d.item.find("input.add_new").val(),j=d.item.find("input.multi_number").val(),i=d.item.attr("id"),h=a(this).attr("id");d.item.css({marginLeft:"",width:""});wpWidgets.fixWebkit();if(f){if("multi"==f){d.item.html(d.item.html().replace(/<[^<>]+>/g,function(e){return e.replace(/__i__|%i%/g,j)}));d.item.attr("id",i.replace(/__i__|%i%/g,j));j++;a("div#"+i).find("input.multi_number").val(j)}else{if("single"==f){d.item.attr("id","new-"+i);c="div#"+i}}wpWidgets.save(d.item,0,0,1);d.item.find("input.add_new").val("");d.item.find("a.widget-action").click();return}wpWidgets.saveOrder(h)},receive:function(f,d){if(!a(this).is(":visible")){a(this).sortable("cancel")}}}).sortable("option","connectWith","div.widgets-sortables").parent().filter(".closed").children(".widgets-sortables").sortable("disable");a("#available-widgets").droppable({tolerance:"pointer",accept:function(d){return a(d).parent().attr("id")!="widget-list"},drop:function(f,d){d.draggable.addClass("deleting");a("#removing-widget").hide().children("span").html("")},over:function(f,d){d.draggable.addClass("deleting");a("div.widget-placeholder").hide();if(d.draggable.hasClass("ui-sortable-helper")){a("#removing-widget").show().children("span").html(d.draggable.find("div.widget-title").children("h4").html())}},out:function(f,d){d.draggable.removeClass("deleting");a("div.widget-placeholder").show();a("#removing-widget").hide().children("span").html("")}})},saveOrder:function(c){if(c){a("#"+c).closest("div.widgets-holder-wrap").find("img.ajax-feedback").css("visibility","visible")}var b={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};a("div.widgets-sortables").each(function(){b["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b,function(){a("img.ajax-feedback").css("visibility","hidden")});this.resize()},save:function(g,d,e,b){var h=g.closest("div.widgets-sortables").attr("id"),f=g.find("form").serialize(),c;g=a(g);a(".ajax-feedback",g).css("visibility","visible");c={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:h};if(d){c.delete_widget=1}f+="&"+a.param(c);a.post(ajaxurl,f,function(i){var j;if(d){if(!a("input.widget_number",g).val()){j=a("input.widget-id",g).val();a("#available-widgets").find("input.widget-id").each(function(){if(a(this).val()==j){a(this).closest("div.widget").show()}})}if(e){b=0;g.slideUp("fast",function(){a(this).remove();wpWidgets.saveOrder()})}else{g.remove();wpWidgets.resize()}}else{a(".ajax-feedback").css("visibility","hidden");if(i&&i.length>2){a("div.widget-content",g).html(i);wpWidgets.appendTitle(g);wpWidgets.fixLabels(g)}}if(b){wpWidgets.saveOrder()}})},appendTitle:function(b){var c=a('input[id*="-title"]',b);if(c=c.val()){c=c.replace(/<[^<>]+>/g,"").replace(//g,">");a(b).children(".widget-top").children(".widget-title").children().children(".in-widget-title").html(": "+c)}},resize:function(){a("div.widgets-sortables").not("#wp_inactive_widgets").each(function(){var c=50,b=a(this).children(".widget").length;c=c+parseInt(b*48,10);a(this).css("minHeight",c+"px")})},fixWebkit:function(b){b=b?"none":"";a("body").css({WebkitUserSelect:b,KhtmlUserSelect:b})},fixLabels:function(b){b.children(".widget-inside").find("label").each(function(){var c=a(this).attr("for");if(c&&c==a("input",this).attr("id")){a(this).removeAttr("for")}})},close:function(b){b.children(".widget-inside").slideUp("fast",function(){b.css({width:"",marginLeft:""})})}};a(document).ready(function(b){wpWidgets.init()})})(jQuery); \ No newline at end of file +var wpWidgets;(function(a){wpWidgets={init:function(){var e,c=a("div.widgets-sortables"),b=!!("undefined"!=typeof isRtl&&isRtl),d=(isRtl?"marginRight":"marginLeft");a("#widgets-right").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){var g=a(this).siblings(".widgets-sortables"),f=a(this).parent();if(!f.hasClass("closed")){g.sortable("disable");f.addClass("closed")}else{f.removeClass("closed");g.sortable("enable").sortable("refresh")}});a("#widgets-left").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){a(this).siblings(".widget-holder").parent().toggleClass("closed")});c.not("#wp_inactive_widgets").each(function(){var g=50,f=a(this).children(".widget").length;g=g+parseInt(f*48,10);a(this).css("minHeight",g+"px")});a("a.widget-action").live("click",function(){var h={},i=a(this).closest("div.widget"),f=i.children(".widget-inside"),g=parseInt(i.find("input.widget-width").val(),10);if(f.is(":hidden")){if(g>250&&f.closest("div.widgets-sortables").length){h.width=g+30+"px";if(f.closest("div.widget-liquid-right").length){h[d]=235-g+"px"}i.css(h)}wpWidgets.fixLabels(i);f.slideDown("fast")}else{f.slideUp("fast",function(){i.css({width:"",margin:""})})}return false});a("input.widget-control-save").live("click",function(){wpWidgets.save(a(this).closest("div.widget"),0,1,0);return false});a("a.widget-control-remove").live("click",function(){wpWidgets.save(a(this).closest("div.widget"),1,1,0);return false});a("a.widget-control-close").live("click",function(){wpWidgets.close(a(this).closest("div.widget"));return false});c.children(".widget").each(function(){wpWidgets.appendTitle(this);if(a("p.widget-error",this).length){a("a.widget-action",this).click()}});a("#widget-list").children(".widget").draggable({connectToSortable:"div.widgets-sortables",handle:"> .widget-top > .widget-title",distance:2,helper:"clone",zIndex:5,containment:"document",start:function(g,f){wpWidgets.fixWebkit(1);f.helper.find("div.widget-description").hide()},stop:function(g,f){if(e){a(e).hide()}e="";wpWidgets.fixWebkit()}});c.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(g,f){wpWidgets.fixWebkit(1);f.item.children(".widget-inside").hide();f.item.css({margin:"",width:""})},stop:function(h,f){if(f.item.hasClass("ui-draggable")&&f.item.data("draggable")){f.item.draggable("destroy")}if(f.item.hasClass("deleting")){wpWidgets.save(f.item,1,0,1);f.item.remove();return}var g=f.item.find("input.add_new").val(),k=f.item.find("input.multi_number").val(),j=f.item.attr("id"),i=a(this).attr("id");f.item.css({margin:"",width:""});wpWidgets.fixWebkit();if(g){if("multi"==g){f.item.html(f.item.html().replace(/<[^<>]+>/g,function(l){return l.replace(/__i__|%i%/g,k)}));f.item.attr("id",j.replace(/__i__|%i%/g,k));k++;a("div#"+j).find("input.multi_number").val(k)}else{if("single"==g){f.item.attr("id","new-"+j);e="div#"+j}}wpWidgets.save(f.item,0,0,1);f.item.find("input.add_new").val("");f.item.find("a.widget-action").click();return}wpWidgets.saveOrder(i)},receive:function(g,f){if(!a(this).is(":visible")){a(this).sortable("cancel")}}}).sortable("option","connectWith","div.widgets-sortables").parent().filter(".closed").children(".widgets-sortables").sortable("disable");a("#available-widgets").droppable({tolerance:"pointer",accept:function(f){return a(f).parent().attr("id")!="widget-list"},drop:function(g,f){f.draggable.addClass("deleting");a("#removing-widget").hide().children("span").html("")},over:function(g,f){f.draggable.addClass("deleting");a("div.widget-placeholder").hide();if(f.draggable.hasClass("ui-sortable-helper")){a("#removing-widget").show().children("span").html(f.draggable.find("div.widget-title").children("h4").html())}},out:function(g,f){f.draggable.removeClass("deleting");a("div.widget-placeholder").show();a("#removing-widget").hide().children("span").html("")}})},saveOrder:function(c){if(c){a("#"+c).closest("div.widgets-holder-wrap").find("img.ajax-feedback").css("visibility","visible")}var b={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};a("div.widgets-sortables").each(function(){b["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(",")});a.post(ajaxurl,b,function(){a("img.ajax-feedback").css("visibility","hidden")});this.resize()},save:function(g,d,e,b){var h=g.closest("div.widgets-sortables").attr("id"),f=g.find("form").serialize(),c;g=a(g);a(".ajax-feedback",g).css("visibility","visible");c={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:h};if(d){c.delete_widget=1}f+="&"+a.param(c);a.post(ajaxurl,f,function(i){var j;if(d){if(!a("input.widget_number",g).val()){j=a("input.widget-id",g).val();a("#available-widgets").find("input.widget-id").each(function(){if(a(this).val()==j){a(this).closest("div.widget").show()}})}if(e){b=0;g.slideUp("fast",function(){a(this).remove();wpWidgets.saveOrder()})}else{g.remove();wpWidgets.resize()}}else{a(".ajax-feedback").css("visibility","hidden");if(i&&i.length>2){a("div.widget-content",g).html(i);wpWidgets.appendTitle(g);wpWidgets.fixLabels(g)}}if(b){wpWidgets.saveOrder()}})},appendTitle:function(b){var c=a('input[id*="-title"]',b);if(c=c.val()){c=c.replace(/<[^<>]+>/g,"").replace(//g,">");a(b).children(".widget-top").children(".widget-title").children().children(".in-widget-title").html(": "+c)}},resize:function(){a("div.widgets-sortables").not("#wp_inactive_widgets").each(function(){var c=50,b=a(this).children(".widget").length;c=c+parseInt(b*48,10);a(this).css("minHeight",c+"px")})},fixWebkit:function(b){b=b?"none":"";a("body").css({WebkitUserSelect:b,KhtmlUserSelect:b})},fixLabels:function(b){b.children(".widget-inside").find("label").each(function(){var c=a(this).attr("for");if(c&&c==a("input",this).attr("id")){a(this).removeAttr("for")}})},close:function(b){b.children(".widget-inside").slideUp("fast",function(){b.css({width:"",margin:""})})}};a(document).ready(function(b){wpWidgets.init()})})(jQuery); \ No newline at end of file diff --git a/wp-includes/script-loader.php b/wp-includes/script-loader.php index 072acfd757..8f00f8a838 100644 --- a/wp-includes/script-loader.php +++ b/wp-includes/script-loader.php @@ -373,7 +373,7 @@ function wp_default_scripts( &$scripts ) { $scripts->add( 'media-upload', "/wp-admin/js/media-upload$suffix.js", array( 'thickbox' ), '20110425' ); $scripts->add_data( 'media-upload', 'group', 1 ); - $scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ), '20110506' ); + $scripts->add( 'admin-widgets', "/wp-admin/js/widgets$suffix.js", array( 'jquery-ui-sortable', 'jquery-ui-draggable', 'jquery-ui-droppable' ), '20110601' ); $scripts->add_data( 'admin-widgets', 'group', 1 ); $scripts->add( 'word-count', "/wp-admin/js/word-count$suffix.js", array( 'jquery' ), '20110515' ); @@ -500,7 +500,7 @@ function wp_default_styles( &$styles ) { $styles->add( 'ms', "/wp-admin/css/ms$suffix.css", array(), '20110601' ); $styles->add( 'global', "/wp-admin/css/global$suffix.css", array(), '20110511g' ); $styles->add( 'media', "/wp-admin/css/media$suffix.css", array(), '20110519' ); - $styles->add( 'widgets', "/wp-admin/css/widgets$suffix.css", array(), '20110511b' ); + $styles->add( 'widgets', "/wp-admin/css/widgets$suffix.css", array(), '20110601' ); $styles->add( 'dashboard', "/wp-admin/css/dashboard$suffix.css", array(), '20110511c' ); $styles->add( 'install', "/wp-admin/css/install$suffix.css", array(), '20110506' ); // Readme as well $styles->add( 'theme-editor', "/wp-admin/css/theme-editor$suffix.css", array(), '20110506' );