PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.0-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.0-beta
16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 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 7 months ago contact-info 7 months ago eu-cookie-law 7 months ago facebook-likebox 11 years ago flickr 7 months ago gallery 7 months ago goodreads 7 months ago google-translate 1 year ago image-widget 7 months ago instagram 4 months ago internet-defense-league 1 year ago milestone 4 months ago my-community 7 months ago social-icons 4 months ago social-media-icons 7 months ago top-posts 7 months ago wordpress-post-widget 2 weeks ago authors.php 7 months ago blog-stats.php 7 months ago class-jetpack-eu-cookie-law-widget.php 1 month ago class-jetpack-instagram-widget.php 6 months ago contact-info.php 1 month ago customizer-controls.css 7 months ago customizer-utils.js 1 year ago facebook-likebox.php 1 month ago flickr.php 7 months ago gallery.php 1 month ago goodreads.php 1 month ago google-translate.php 1 month ago gravatar-profile.css 7 months ago gravatar-profile.php 1 month ago image-widget.php 7 months ago internet-defense-league.php 7 months ago mailchimp.php 7 months ago milestone.php 7 months ago my-community.php 1 month ago rsslinks-widget.php 2 weeks ago simple-payments.php 7 months ago social-icons.php 1 month ago social-media-icons.php 7 months ago top-posts.php 1 month ago twitter-timeline-admin.js 1 year ago twitter-timeline.php 2 weeks ago upcoming-events.php 7 months ago wordpress-post-widget.php 7 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