PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 15.9-a.7
Jetpack – WP Security, Backup, Speed, & Growth v15.9-a.7
15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / modules / widgets / customizer-utils.js
jetpack / modules / widgets Last commit date
authors 6 months ago contact-info 6 months ago eu-cookie-law 6 months ago facebook-likebox 10 years ago flickr 6 months ago gallery 6 months ago goodreads 6 months ago google-translate 1 year ago image-widget 6 months ago instagram 3 months ago internet-defense-league 1 year ago milestone 3 months ago my-community 6 months ago social-icons 3 months ago social-media-icons 6 months ago top-posts 6 months ago wordpress-post-widget 3 days ago authors.php 6 months ago blog-stats.php 6 months ago class-jetpack-eu-cookie-law-widget.php 1 week ago class-jetpack-instagram-widget.php 5 months ago contact-info.php 1 week ago customizer-controls.css 6 months ago customizer-utils.js 1 year ago facebook-likebox.php 1 week ago flickr.php 6 months ago gallery.php 1 week ago goodreads.php 1 week ago google-translate.php 1 week ago gravatar-profile.css 6 months ago gravatar-profile.php 1 week ago image-widget.php 6 months ago internet-defense-league.php 6 months ago mailchimp.php 6 months ago milestone.php 6 months ago my-community.php 1 week ago rsslinks-widget.php 1 week ago simple-payments.php 6 months ago social-icons.php 2 weeks ago social-media-icons.php 6 months ago top-posts.php 1 week ago twitter-timeline-admin.js 1 year ago twitter-timeline.php 1 week ago upcoming-events.php 6 months ago wordpress-post-widget.php 6 months ago
customizer-utils.js
120 lines
1 /* global gapi, FB, twttr, PaypalExpressCheckout */
2
3 /**
4 * Utilities to work with widgets in Customizer.
5 */
6
7 /**
8 * Checks whether this Customizer supports partial widget refresh.
9 * @return {boolean}
10 */
11 wp.customizerHasPartialWidgetRefresh = function () {
12 return (
13 'object' === typeof wp &&
14 'function' === typeof wp.customize &&
15 'object' === typeof wp.customize.selectiveRefresh &&
16 'object' === typeof wp.customize.widgetsPreview &&
17 'function' === typeof wp.customize.widgetsPreview.WidgetPartial
18 );
19 };
20
21 /**
22 * Verifies that the placed widget ID contains the widget name.
23 * @param {object} placement
24 * @param {string} widgetName
25 * @return {*|boolean}
26 */
27 wp.isJetpackWidgetPlaced = function ( placement, widgetName ) {
28 return placement.partial.widgetId && 0 === placement.partial.widgetId.indexOf( widgetName );
29 };
30
31 /**
32 * Bind events for selective refresh in Customizer.
33 */
34 ( function ( $ ) {
35 $( document ).ready( function () {
36 if ( wp && wp.customize && wp.customizerHasPartialWidgetRefresh() ) {
37 // Refresh widget contents when a partial is rendered.
38 wp.customize.selectiveRefresh.bind( 'partial-content-rendered', function ( placement ) {
39 if ( placement.container ) {
40 // Refresh Google+
41 if (
42 wp.isJetpackWidgetPlaced( placement, 'googleplus-badge' ) &&
43 'object' === typeof gapi &&
44 gapi.person &&
45 'function' === typeof gapi.person.go
46 ) {
47 gapi.person.go( placement.container[ 0 ] );
48 }
49
50 // Refresh Facebook XFBML
51 else if (
52 wp.isJetpackWidgetPlaced( placement, 'facebook-likebox' ) &&
53 'object' === typeof FB &&
54 'object' === typeof FB.XFBML &&
55 'function' === typeof FB.XFBML.parse
56 ) {
57 FB.XFBML.parse( placement.container[ 0 ], function () {
58 var $fbContainer = $( placement.container[ 0 ] ).find( '.fb_iframe_widget' ),
59 fbWidth = $fbContainer.data( 'width' ),
60 fbHeight = $fbContainer.data( 'height' );
61 $fbContainer.find( 'span' ).css( { width: fbWidth, height: fbHeight } );
62 setTimeout( function () {
63 $fbContainer
64 .find( 'iframe' )
65 .css( { width: fbWidth, height: fbHeight, position: 'relative' } );
66 }, 1 );
67 } );
68 }
69
70 // Refresh Twitter
71 else if (
72 wp.isJetpackWidgetPlaced( placement, 'twitter_timeline' ) &&
73 'object' === typeof twttr &&
74 'object' === typeof twttr.widgets &&
75 'function' === typeof twttr.widgets.load
76 ) {
77 twttr.widgets.load( placement.container[ 0 ] );
78 } else if ( wp.isJetpackWidgetPlaced( placement, 'eu_cookie_law_widget' ) ) {
79 // Refresh EU Cookie Law
80 if ( $( '#eu-cookie-law' ).hasClass( 'top' ) ) {
81 $( '.widget_eu_cookie_law_widget' ).addClass( 'top' );
82 } else {
83 $( '.widget_eu_cookie_law_widget' ).removeClass( 'top' );
84 }
85 placement.container.fadeIn();
86 } else if ( wp.isJetpackWidgetPlaced( placement, 'jetpack_simple_payments_widget' ) ) {
87 // Refresh Simple Payments Widget
88 try {
89 var buttonId = $( '.jetpack-simple-payments-button', placement.container )
90 .attr( 'id' )
91 .replace( '_button', '' );
92 PaypalExpressCheckout.renderButton( null, null, buttonId, null );
93 } catch {
94 // PaypalExpressCheckout may fail.
95 // For the same usage, see also:
96 // https://github.com/Automattic/jetpack/blob/6c1971e6bed7d3df793392a7a58ffe0afaeeb5fe/modules/simple-payments/simple-payments.php#L111
97 }
98 }
99 }
100 } );
101
102 // Refresh widgets when they're moved.
103 wp.customize.selectiveRefresh.bind( 'partial-content-moved', function ( placement ) {
104 if ( placement.container ) {
105 // Refresh Twitter timeline iframe, since it has to be re-built.
106 if (
107 wp.isJetpackWidgetPlaced( placement, 'twitter_timeline' ) &&
108 placement.container.find( 'iframe.twitter-timeline:not([src]):first' ).length
109 ) {
110 placement.partial.refresh();
111 } else if ( wp.isJetpackWidgetPlaced( placement, 'jetpack_simple_payments_widget' ) ) {
112 // Refresh Simple Payments Widget
113 placement.partial.refresh();
114 }
115 }
116 } );
117 }
118 } );
119 } )( jQuery );
120