diff --git a/wp-admin/js/widgets.js b/wp-admin/js/widgets.js index 0273f2eafb..77ad791cb5 100644 --- a/wp-admin/js/widgets.js +++ b/wp-admin/js/widgets.js @@ -28,7 +28,9 @@ wpWidgets = { }); $(document.body).bind('click.widgets-toggle', function(e){ - var target = $(e.target), css = { 'z-index': 100 }, widget, inside, w; + var target = $(e.target), + css = { 'z-index': 100 }, + widget, inside, targetWidth, widgetWidth, margin; if ( target.parents('.widget-top').length && ! target.parents('#available-widgets').length ) { widget = target.closest('div.widget'); @@ -68,8 +70,9 @@ wpWidgets = { sidebars.children('.widget').each(function() { wpWidgets.appendTitle(this); - if ( $('p.widget-error', this).length ) + if ( $('p.widget-error', this).length ) { $('a.widget-action', this).click(); + } }); $('#widget-list').children('.widget').draggable({ @@ -84,8 +87,9 @@ wpWidgets = { the_id = this.id; }, stop: function() { - if ( rem ) + if ( rem ) { $(rem).hide(); + } rem = ''; } @@ -102,8 +106,9 @@ wpWidgets = { ui.item.children('.widget-inside').hide(); }, stop: function(e,ui) { - if ( ui.item.hasClass('ui-draggable') && ui.item.data('draggable') ) + if ( ui.item.hasClass('ui-draggable') && ui.item.data('draggable') ) { ui.item.draggable('destroy'); + } if ( ui.item.hasClass('deleting') ) { wpWidgets.save( ui.item, 1, 0, 1 ); // delete widget @@ -139,8 +144,9 @@ wpWidgets = { receive: function(e, ui) { var sender = $(ui.sender); - if ( !$(this).is(':visible') || this.id.indexOf('orphaned_widgets') > -1 ) + if ( ! $(this).is(':visible') || this.id.indexOf('orphaned_widgets') > -1 ) { sender.sortable('cancel'); + } if ( sender.attr('id').indexOf('orphaned_widgets') > -1 && !sender.children('.widget').length ) { sender.parents('.orphan-sidebar').slideUp(400, function(){ $(this).remove(); }); @@ -161,9 +167,10 @@ wpWidgets = { ui.draggable.addClass('deleting'); $('div.widget-placeholder').hide(); - if ( ui.draggable.hasClass('ui-sortable-helper') ) + if ( ui.draggable.hasClass('ui-sortable-helper') ) { $('#removing-widget').show().children('span') .html( ui.draggable.find('div.widget-title').children('h4').html() ); + } }, out: function(e,ui) { ui.draggable.removeClass('deleting'); @@ -206,7 +213,7 @@ wpWidgets = { selectSidebar.find( 'li' ).on( 'focusin.widgets-chooser', function() { selectSidebar.find('.widgets-chooser-selected').removeClass( 'widgets-chooser-selected' ); $(this).addClass( 'widgets-chooser-selected' ); - } ) + } ); } }); @@ -236,8 +243,9 @@ wpWidgets = { }, saveOrder : function(sb) { - if ( sb ) + if ( sb ) { $('#' + sb).closest('div.widgets-holder-wrap').find('.spinner').css('display', 'inline-block'); + } var a = { action: 'widgets-order', @@ -246,8 +254,9 @@ wpWidgets = { }; $('div.widgets-sortables').each( function() { - if ( $(this).sortable ) + if ( $(this).sortable ) { a['sidebars[' + $(this).attr('id') + ']'] = $(this).sortable('toArray').join(','); + } }); $.post( ajaxurl, a, function() { @@ -266,8 +275,9 @@ wpWidgets = { sidebar: sb }; - if ( del ) + if ( del ) { a.delete_widget = 1; + } data += '&' + $.param(a); @@ -275,11 +285,12 @@ wpWidgets = { var id; if ( del ) { - if ( !$('input.widget_number', widget).val() ) { + if ( ! $('input.widget_number', widget).val() ) { id = $('input.widget-id', widget).val(); $('#available-widgets').find('input.widget-id').each(function(){ - if ( $(this).val() === id ) + if ( $(this).val() === id ) { $(this).closest('div.widget').show(); + } }); } @@ -299,16 +310,18 @@ wpWidgets = { wpWidgets.appendTitle(widget); } } - if ( order ) + if ( order ) { wpWidgets.saveOrder(); + } }); }, appendTitle : function(widget) { var title = $('input[id*="-title"]', widget).val() || ''; - if ( title ) + if ( title ) { title = ': ' + title.replace(/<[^<>]+>/g, '').replace(//g, '>'); + } $(widget).children('.widget-top').children('.widget-title').children() .children('.in-widget-title').html(title); diff --git a/wp-admin/js/widgets.min.js b/wp-admin/js/widgets.min.js index ca22098864..a50507922c 100644 --- a/wp-admin/js/widgets.min.js +++ b/wp-admin/js/widgets.min.js @@ -1 +1 @@ -var wpWidgets;!function(a){wpWidgets={init:function(){var b,c,d=this,e=a("#widgets-chooser"),f=e.find(".widgets-chooser-sidebars"),g=a("div.widgets-sortables"),h=!("undefined"==typeof isRtl||!isRtl);a("#widgets-right .sidebar-name").click(function(){var b=a(this),c=b.closest(".widgets-holder-wrap");c.hasClass("closed")?(c.removeClass("closed"),b.siblings(".widgets-sortables").sortable("refresh")):c.addClass("closed")}),a("#widgets-left").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){a(this).parent().toggleClass("closed")}),a(document.body).bind("click.widgets-toggle",function(b){var c,d,e=a(b.target),f={"z-index":100};e.parents(".widget-top").length&&!e.parents("#available-widgets").length?(c=e.closest("div.widget"),d=c.children(".widget-inside"),targetWidth=parseInt(c.find("input.widget-width").val(),10),widgetWidth=c.width(),d.is(":hidden")?(targetWidth>250&&targetWidth+30>widgetWidth&&c.closest("div.widgets-sortables").length&&(margin=c.closest("div.widget-liquid-right").length?h?"margin-right":"margin-left":h?"margin-left":"margin-right",f[margin]=widgetWidth-(targetWidth+30)+"px",c.css(f)),d.slideDown("fast")):d.slideUp("fast",function(){c.attr("style","")}),b.preventDefault()):e.hasClass("widget-control-save")?(wpWidgets.save(e.closest("div.widget"),0,1,0),b.preventDefault()):e.hasClass("widget-control-remove")?(wpWidgets.save(e.closest("div.widget"),1,1,0),b.preventDefault()):e.hasClass("widget-control-close")&&(wpWidgets.close(e.closest("div.widget")),b.preventDefault())}),g.children(".widget").each(function(){wpWidgets.appendTitle(this),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:100,containment:"document",start:function(a,b){b.helper.find("div.widget-description").hide(),c=this.id},stop:function(){b&&a(b).hide(),b=""}}),g.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(a,b){b.item.children(".widget-inside").hide()},stop:function(d,e){if(e.item.hasClass("ui-draggable")&&e.item.data("draggable")&&e.item.draggable("destroy"),e.item.hasClass("deleting"))return wpWidgets.save(e.item,1,0,1),e.item.remove(),void 0;var f=e.item.find("input.add_new").val(),g=e.item.find("input.multi_number").val(),h=c,i=a(this).attr("id");return e.item.attr("style",""),c="",f?("multi"===f?(e.item.html(e.item.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,g)})),e.item.attr("id",h.replace("__i__",g)),g++,a("div#"+h).find("input.multi_number").val(g)):"single"===f&&(e.item.attr("id","new-"+h),b="div#"+h),wpWidgets.save(e.item,0,0,1),e.item.find("input.add_new").val(""),e.item.find("a.widget-action").click(),void 0):(wpWidgets.saveOrder(i),void 0)},receive:function(b,c){var d=a(c.sender);(!a(this).is(":visible")||this.id.indexOf("orphaned_widgets")>-1)&&d.sortable("cancel"),d.attr("id").indexOf("orphaned_widgets")>-1&&!d.children(".widget").length&&d.parents(".orphan-sidebar").slideUp(400,function(){a(this).remove()})}}).sortable("option","connectWith","div.widgets-sortables"),a("#available-widgets").droppable({tolerance:"pointer",accept:function(b){return"widget-list"!==a(b).parent().attr("id")},drop:function(b,c){c.draggable.addClass("deleting"),a("#removing-widget").hide().children("span").html("")},over:function(b,c){c.draggable.addClass("deleting"),a("div.widget-placeholder").hide(),c.draggable.hasClass("ui-sortable-helper")&&a("#removing-widget").show().children("span").html(c.draggable.find("div.widget-title").children("h4").html())},out:function(b,c){c.draggable.removeClass("deleting"),a("div.widget-placeholder").show(),a("#removing-widget").hide().children("span").html("")}}),a("#widgets-right .widgets-holder-wrap").each(function(b,c){var d=a(c),e=d.find(".sidebar-name h3").text(),g=d.find(".widgets-sortables").attr("id"),h=a('
  • ').text(a.trim(e));0===b&&h.addClass("widgets-chooser-selected"),f.append(h),h.data("sidebarId",g)}),a("#available-widgets .widget .widget-title").on("click.widgets-chooser",function(){var b=a(this).closest(".widget");b.hasClass("widget-in-question")||a("#widgets-left").hasClass("chooser")?d.closeChooser():(d.clearWidgetSelection(),a("#widgets-left").addClass("chooser"),b.addClass("widget-in-question"),b.find(".widget-description").after(e),e.slideDown(300,function(){f.find(".widgets-chooser-selected").focus()}),f.find("li").on("focusin.widgets-chooser",function(){f.find(".widgets-chooser-selected").removeClass("widgets-chooser-selected"),a(this).addClass("widgets-chooser-selected")}))}),e.on("click.widgets-chooser",function(b){var c=a(b.target);c.hasClass("button-primary")?(d.addWidget(e),d.closeChooser()):c.hasClass("button-secondary")&&d.closeChooser()}).on("keyup.widgets-chooser",function(b){b.which===a.ui.keyCode.ENTER?a(b.target).hasClass("button-secondary")?d.closeChooser():(d.addWidget(e),d.closeChooser()):b.which===a.ui.keyCode.ESCAPE&&d.closeChooser()})},saveOrder:function(b){b&&a("#"+b).closest("div.widgets-holder-wrap").find(".spinner").css("display","inline-block");var c={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};a("div.widgets-sortables").each(function(){a(this).sortable&&(c["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(","))}),a.post(ajaxurl,c,function(){a(".spinner").hide()})},save:function(b,c,d,e){var f,g=b.closest("div.widgets-sortables").attr("id"),h=b.find("form").serialize();b=a(b),a(".spinner",b).show(),f={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:g},c&&(f.delete_widget=1),h+="&"+a.param(f),a.post(ajaxurl,h,function(f){var g;c?(a("input.widget_number",b).val()||(g=a("input.widget-id",b).val(),a("#available-widgets").find("input.widget-id").each(function(){a(this).val()===g&&a(this).closest("div.widget").show()})),d?(e=0,b.slideUp("fast",function(){a(this).remove(),wpWidgets.saveOrder()})):b.remove()):(a(".spinner").hide(),f&&f.length>2&&(a("div.widget-content",b).html(f),wpWidgets.appendTitle(b))),e&&wpWidgets.saveOrder()})},appendTitle:function(b){var c=a('input[id*="-title"]',b).val()||"";c&&(c=": "+c.replace(/<[^<>]+>/g,"").replace(//g,">")),a(b).children(".widget-top").children(".widget-title").children().children(".in-widget-title").html(c)},close:function(a){a.children(".widget-inside").slideUp("fast",function(){a.attr("style","")})},addWidget:function(b){var c,d,e,f,g=b.find(".widgets-chooser-selected").data("sidebarId"),h=a("#"+g);a("#wpbody-content").append(b),c=a("#available-widgets").find(".widget-in-question").clone(),d=c.attr("id"),e=c.find("input.add_new").val(),f=c.find("input.multi_number").val(),"multi"===e?(c.html(c.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,f)})),c.attr("id",d.replace("__i__",f)),f++,a("#"+d).find("input.multi_number").val(f)):"single"===e&&(c.attr("id","new-"+d),a("#"+d).hide()),h.closest(".widgets-holder-wrap").removeClass("closed"),h.sortable("refresh"),c.prependTo(h),wpWidgets.save(c,0,0,1),c.find("input.add_new").val(""),a("html, body").animate({scrollTop:h.offset().top-130},200),window.setTimeout(function(){c.find(".widget-title").trigger("click")},250)},closeChooser:function(){var b=this;a("#widgets-chooser").slideUp(200,function(){a("#wpbody-content").append(this),b.clearWidgetSelection()})},clearWidgetSelection:function(){a("#widgets-left").removeClass("chooser"),a(".widget-in-question").removeClass("widget-in-question")}},a(document).ready(function(){wpWidgets.init()})}(jQuery); \ No newline at end of file +var wpWidgets;!function(a){wpWidgets={init:function(){var b,c,d=this,e=a("#widgets-chooser"),f=e.find(".widgets-chooser-sidebars"),g=a("div.widgets-sortables"),h=!("undefined"==typeof isRtl||!isRtl);a("#widgets-right .sidebar-name").click(function(){var b=a(this),c=b.closest(".widgets-holder-wrap");c.hasClass("closed")?(c.removeClass("closed"),b.siblings(".widgets-sortables").sortable("refresh")):c.addClass("closed")}),a("#widgets-left").children(".widgets-holder-wrap").children(".sidebar-name").click(function(){a(this).parent().toggleClass("closed")}),a(document.body).bind("click.widgets-toggle",function(b){var c,d,e,f,g,i=a(b.target),j={"z-index":100};i.parents(".widget-top").length&&!i.parents("#available-widgets").length?(c=i.closest("div.widget"),d=c.children(".widget-inside"),e=parseInt(c.find("input.widget-width").val(),10),f=c.width(),d.is(":hidden")?(e>250&&e+30>f&&c.closest("div.widgets-sortables").length&&(g=c.closest("div.widget-liquid-right").length?h?"margin-right":"margin-left":h?"margin-left":"margin-right",j[g]=f-(e+30)+"px",c.css(j)),d.slideDown("fast")):d.slideUp("fast",function(){c.attr("style","")}),b.preventDefault()):i.hasClass("widget-control-save")?(wpWidgets.save(i.closest("div.widget"),0,1,0),b.preventDefault()):i.hasClass("widget-control-remove")?(wpWidgets.save(i.closest("div.widget"),1,1,0),b.preventDefault()):i.hasClass("widget-control-close")&&(wpWidgets.close(i.closest("div.widget")),b.preventDefault())}),g.children(".widget").each(function(){wpWidgets.appendTitle(this),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:100,containment:"document",start:function(a,b){b.helper.find("div.widget-description").hide(),c=this.id},stop:function(){b&&a(b).hide(),b=""}}),g.sortable({placeholder:"widget-placeholder",items:"> .widget",handle:"> .widget-top > .widget-title",cursor:"move",distance:2,containment:"document",start:function(a,b){b.item.children(".widget-inside").hide()},stop:function(d,e){if(e.item.hasClass("ui-draggable")&&e.item.data("draggable")&&e.item.draggable("destroy"),e.item.hasClass("deleting"))return wpWidgets.save(e.item,1,0,1),e.item.remove(),void 0;var f=e.item.find("input.add_new").val(),g=e.item.find("input.multi_number").val(),h=c,i=a(this).attr("id");return e.item.attr("style",""),c="",f?("multi"===f?(e.item.html(e.item.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,g)})),e.item.attr("id",h.replace("__i__",g)),g++,a("div#"+h).find("input.multi_number").val(g)):"single"===f&&(e.item.attr("id","new-"+h),b="div#"+h),wpWidgets.save(e.item,0,0,1),e.item.find("input.add_new").val(""),e.item.find("a.widget-action").click(),void 0):(wpWidgets.saveOrder(i),void 0)},receive:function(b,c){var d=a(c.sender);(!a(this).is(":visible")||this.id.indexOf("orphaned_widgets")>-1)&&d.sortable("cancel"),d.attr("id").indexOf("orphaned_widgets")>-1&&!d.children(".widget").length&&d.parents(".orphan-sidebar").slideUp(400,function(){a(this).remove()})}}).sortable("option","connectWith","div.widgets-sortables"),a("#available-widgets").droppable({tolerance:"pointer",accept:function(b){return"widget-list"!==a(b).parent().attr("id")},drop:function(b,c){c.draggable.addClass("deleting"),a("#removing-widget").hide().children("span").html("")},over:function(b,c){c.draggable.addClass("deleting"),a("div.widget-placeholder").hide(),c.draggable.hasClass("ui-sortable-helper")&&a("#removing-widget").show().children("span").html(c.draggable.find("div.widget-title").children("h4").html())},out:function(b,c){c.draggable.removeClass("deleting"),a("div.widget-placeholder").show(),a("#removing-widget").hide().children("span").html("")}}),a("#widgets-right .widgets-holder-wrap").each(function(b,c){var d=a(c),e=d.find(".sidebar-name h3").text(),g=d.find(".widgets-sortables").attr("id"),h=a('
  • ').text(a.trim(e));0===b&&h.addClass("widgets-chooser-selected"),f.append(h),h.data("sidebarId",g)}),a("#available-widgets .widget .widget-title").on("click.widgets-chooser",function(){var b=a(this).closest(".widget");b.hasClass("widget-in-question")||a("#widgets-left").hasClass("chooser")?d.closeChooser():(d.clearWidgetSelection(),a("#widgets-left").addClass("chooser"),b.addClass("widget-in-question"),b.find(".widget-description").after(e),e.slideDown(300,function(){f.find(".widgets-chooser-selected").focus()}),f.find("li").on("focusin.widgets-chooser",function(){f.find(".widgets-chooser-selected").removeClass("widgets-chooser-selected"),a(this).addClass("widgets-chooser-selected")}))}),e.on("click.widgets-chooser",function(b){var c=a(b.target);c.hasClass("button-primary")?(d.addWidget(e),d.closeChooser()):c.hasClass("button-secondary")&&d.closeChooser()}).on("keyup.widgets-chooser",function(b){b.which===a.ui.keyCode.ENTER?a(b.target).hasClass("button-secondary")?d.closeChooser():(d.addWidget(e),d.closeChooser()):b.which===a.ui.keyCode.ESCAPE&&d.closeChooser()})},saveOrder:function(b){b&&a("#"+b).closest("div.widgets-holder-wrap").find(".spinner").css("display","inline-block");var c={action:"widgets-order",savewidgets:a("#_wpnonce_widgets").val(),sidebars:[]};a("div.widgets-sortables").each(function(){a(this).sortable&&(c["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(","))}),a.post(ajaxurl,c,function(){a(".spinner").hide()})},save:function(b,c,d,e){var f,g=b.closest("div.widgets-sortables").attr("id"),h=b.find("form").serialize();b=a(b),a(".spinner",b).show(),f={action:"save-widget",savewidgets:a("#_wpnonce_widgets").val(),sidebar:g},c&&(f.delete_widget=1),h+="&"+a.param(f),a.post(ajaxurl,h,function(f){var g;c?(a("input.widget_number",b).val()||(g=a("input.widget-id",b).val(),a("#available-widgets").find("input.widget-id").each(function(){a(this).val()===g&&a(this).closest("div.widget").show()})),d?(e=0,b.slideUp("fast",function(){a(this).remove(),wpWidgets.saveOrder()})):b.remove()):(a(".spinner").hide(),f&&f.length>2&&(a("div.widget-content",b).html(f),wpWidgets.appendTitle(b))),e&&wpWidgets.saveOrder()})},appendTitle:function(b){var c=a('input[id*="-title"]',b).val()||"";c&&(c=": "+c.replace(/<[^<>]+>/g,"").replace(//g,">")),a(b).children(".widget-top").children(".widget-title").children().children(".in-widget-title").html(c)},close:function(a){a.children(".widget-inside").slideUp("fast",function(){a.attr("style","")})},addWidget:function(b){var c,d,e,f,g=b.find(".widgets-chooser-selected").data("sidebarId"),h=a("#"+g);a("#wpbody-content").append(b),c=a("#available-widgets").find(".widget-in-question").clone(),d=c.attr("id"),e=c.find("input.add_new").val(),f=c.find("input.multi_number").val(),"multi"===e?(c.html(c.html().replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,f)})),c.attr("id",d.replace("__i__",f)),f++,a("#"+d).find("input.multi_number").val(f)):"single"===e&&(c.attr("id","new-"+d),a("#"+d).hide()),h.closest(".widgets-holder-wrap").removeClass("closed"),h.sortable("refresh"),c.prependTo(h),wpWidgets.save(c,0,0,1),c.find("input.add_new").val(""),a("html, body").animate({scrollTop:h.offset().top-130},200),window.setTimeout(function(){c.find(".widget-title").trigger("click")},250)},closeChooser:function(){var b=this;a("#widgets-chooser").slideUp(200,function(){a("#wpbody-content").append(this),b.clearWidgetSelection()})},clearWidgetSelection:function(){a("#widgets-left").removeClass("chooser"),a(".widget-in-question").removeClass("widget-in-question")}},a(document).ready(function(){wpWidgets.init()})}(jQuery); \ No newline at end of file