| 1 |
jQuery( function ( $ ) { |
| 2 |
function twitterWidgetTypeChanged( widgetTypeSelector ) { |
| 3 |
var selectedType = $( widgetTypeSelector ).val(); |
| 4 |
$( widgetTypeSelector ) |
| 5 |
.closest( '.jetpack-twitter-timeline-widget-type-container' ) |
| 6 |
.next( '.jetpack-twitter-timeline-widget-id-container' ) |
| 7 |
.find( 'label' ) |
| 8 |
.css( 'display', function () { |
| 9 |
var labelType = $( this ).data( 'widget-type' ); |
| 10 |
if ( selectedType === labelType ) { |
| 11 |
return ''; |
| 12 |
} |
| 13 |
return 'none'; |
| 14 |
} ); |
| 15 |
} |
| 16 |
|
| 17 |
function twitterWidgetTweetDisplayChanged( event ) { |
| 18 |
var $tweetDisplaySelector = $( event.target ); |
| 19 |
var selectedTweetDisplay = $tweetDisplaySelector.val(); |
| 20 |
var $form = $tweetDisplaySelector.closest( 'form' ); |
| 21 |
var $heightContainer = $form.find( '.jetpack-twitter-timeline-widget-height-container' ); |
| 22 |
var $tweetLimitContainer = $form.find( |
| 23 |
'.jetpack-twitter-timeline-widget-tweet-limit-container' |
| 24 |
); |
| 25 |
var $scrollbarInput = $form.find( 'input[id*=chrome-noscrollbar]' ); |
| 26 |
switch ( selectedTweetDisplay ) { |
| 27 |
case 'fixed': |
| 28 |
$heightContainer.hide(); |
| 29 |
$tweetLimitContainer.show(); |
| 30 |
$scrollbarInput.prop( 'disabled', true ); |
| 31 |
break; |
| 32 |
case 'dynamic': |
| 33 |
$tweetLimitContainer.hide(); |
| 34 |
$heightContainer.show(); |
| 35 |
$scrollbarInput.prop( 'disabled', false ); |
| 36 |
break; |
| 37 |
} |
| 38 |
} |
| 39 |
|
| 40 |
// We could either be in wp-admin/widgets.php or the Customizer. |
| 41 |
var $container = $( '#customize-controls' ); |
| 42 |
if ( ! $container.length ) { |
| 43 |
$container = $( '#wpbody' ); |
| 44 |
} |
| 45 |
|
| 46 |
// Observe widget settings for 'change' events of the 'type' property for |
| 47 |
// current and future Twitter timeline widgets. |
| 48 |
$container.on( 'change', '.jetpack-twitter-timeline-widget-type', function () { |
| 49 |
twitterWidgetTypeChanged( this ); |
| 50 |
} ); |
| 51 |
|
| 52 |
// Set the labels for currently existing widgets (including the "template" |
| 53 |
// version that is copied when a new widget is added). |
| 54 |
$container.find( '.jetpack-twitter-timeline-widget-type' ).each( function () { |
| 55 |
twitterWidgetTypeChanged( this ); |
| 56 |
} ); |
| 57 |
|
| 58 |
// Observe widget settings for 'change' events of the 'tweet-display' property for |
| 59 |
// current and future Twitter timeline widgets. |
| 60 |
$container.on( |
| 61 |
'change', |
| 62 |
'.jetpack-twitter-timeline-widget-tweet-display-radio', |
| 63 |
twitterWidgetTweetDisplayChanged |
| 64 |
); |
| 65 |
} ); |
| 66 |
|