WordPress/wp-includes/js/customize-preview-widgets.min.js
Weston Ruter 76fe3244eb Customizer: Re-use public api.preview instance in widgets preview instead of unnecessarily capturing in api.Preview constructor wrapper.
The preview instance is no longer private.

Props joshlevinson, westonruter.
Fixes #30890.
See #30726.

Built from https://develop.svn.wordpress.org/trunk@35783


git-svn-id: http://core.svn.wordpress.org/trunk@35747 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-06 18:39:25 +00:00

1 line
1.5 KiB
JavaScript

!function(a,b){if(a&&a.customize){var c=a.customize;c.WidgetCustomizerPreview={renderedSidebars:{},renderedWidgets:{},registeredSidebars:[],registeredWidgets:{},widgetSelectors:[],preview:null,l10n:{},init:function(){var a=this;this.preview=c.preview,this.buildWidgetSelectors(),this.highlightControls(),this.preview.bind("highlight-widget",a.highlightWidget)},buildWidgetSelectors:function(){var a=this;b.each(this.registeredSidebars,function(c,d){var e,f,g,h=[d.before_widget.replace("%1$s","").replace("%2$s",""),d.before_title,d.after_title,d.after_widget].join("");e=b(h),f=e.prop("tagName"),g=e.prop("className"),g&&(g=g.replace(/^\s+|\s+$/g,""),g&&(f+="."+g.split(/\s+/).join(".")),a.widgetSelectors.push(f))})},highlightWidget:function(a){var c=b(document.body),d=b("#"+a);c.find(".widget-customizer-highlighted-widget").removeClass("widget-customizer-highlighted-widget"),d.addClass("widget-customizer-highlighted-widget"),setTimeout(function(){d.removeClass("widget-customizer-highlighted-widget")},500)},highlightControls:function(){var a=this,c=this.widgetSelectors.join(",");b(c).attr("title",this.l10n.widgetTooltip),b(document).on("mouseenter",c,function(){a.preview.send("highlight-widget-control",b(this).prop("id"))}),b(document).on("click",c,function(c){c.shiftKey&&(c.preventDefault(),a.preview.send("focus-widget-control",b(this).prop("id")))})}},b(function(){var a=window._wpWidgetCustomizerPreviewSettings;a&&(b.extend(c.WidgetCustomizerPreview,a),c.WidgetCustomizerPreview.init())})}}(window.wp,jQuery);