summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/modules/widget-visibility/widget-conditions/widget-conditions.js')
-rw-r--r--plugins/jetpack/modules/widget-visibility/widget-conditions/widget-conditions.js37
1 files changed, 33 insertions, 4 deletions
diff --git a/plugins/jetpack/modules/widget-visibility/widget-conditions/widget-conditions.js b/plugins/jetpack/modules/widget-visibility/widget-conditions/widget-conditions.js
index 709085ae..e6749e4b 100644
--- a/plugins/jetpack/modules/widget-visibility/widget-conditions/widget-conditions.js
+++ b/plugins/jetpack/modules/widget-visibility/widget-conditions/widget-conditions.js
@@ -14,7 +14,7 @@ jQuery( function( $ ) {
if ( $( 'body' ).hasClass( 'wp-customizer' ) ) {
// set the inside widget 2 top this way we can see the widget settings
$widget.find('.widget-inside').css( 'top', 0 );
-
+
return;
}
@@ -36,7 +36,7 @@ jQuery( function( $ ) {
} else {
$widget.css( 'position', 'relative' ).css( 'left', '-' + extra + 'px' ).css( 'width', '400px' );
}
-
+
}
}
else if ( $widget.data( 'original-style' ) ) {
@@ -66,10 +66,13 @@ jQuery( function( $ ) {
widgets_shell.on( 'click.widgetconditions', 'a.add-condition', function( e ) {
e.preventDefault();
+
var $condition = $( this ).closest( 'div.condition' ),
$conditionClone = $condition.clone().insertAfter( $condition );
+
$conditionClone.find( 'select.conditions-rule-major' ).val( '' );
$conditionClone.find( 'select.conditions-rule-minor' ).html( '' ).attr( 'disabled' );
+ $conditionClone.find( 'span.conditions-rule-has-children' ).hide().html( '' );
} );
widgets_shell.on( 'click.widgetconditions', 'a.display-options', function ( e ) {
@@ -120,10 +123,15 @@ jQuery( function( $ ) {
} );
$( document ).on( 'change.widgetconditions', 'select.conditions-rule-major', function() {
- var $conditionsRuleMajor = $ ( this );
- var $conditionsRuleMinor = $conditionsRuleMajor.siblings( 'select.conditions-rule-minor:first' );
+ var $conditionsRuleMajor = $ ( this ),
+ $conditionsRuleMinor = $conditionsRuleMajor.siblings( 'select.conditions-rule-minor:first' ),
+ $conditionsRuleHasChildren = $conditionsRuleMajor.siblings( 'span.conditions-rule-has-children' );
if ( $conditionsRuleMajor.val() ) {
+ if ( $conditionsRuleMajor.val() !== 'page' ){
+ $conditionsRuleHasChildren.hide().html( '' );
+ }
+
$conditionsRuleMinor.html( '' ).append( $( '<option/>' ).text( $conditionsRuleMinor.data( 'loading-text' ) ) );
var data = {
@@ -136,6 +144,27 @@ jQuery( function( $ ) {
} );
} else {
$conditionsRuleMajor.siblings( 'select.conditions-rule-minor' ).attr( 'disabled', 'disabled' ).html( '' );
+ $conditionsRuleHasChildren.hide().html( '' );
+ }
+ } );
+
+ $( document ).on( 'change.widgetconditions', 'select.conditions-rule-minor', function() {
+ var $conditionsRuleMinor = $ ( this ),
+ $conditionsRuleMajor = $conditionsRuleMinor.siblings( 'select.conditions-rule-major' ),
+ $conditionsRuleHasChildren = $conditionsRuleMinor.siblings( 'span.conditions-rule-has-children' );
+
+ if ( $conditionsRuleMajor.val() === 'page' ) {
+ var data = {
+ action: 'widget_conditions_has_children',
+ major: $conditionsRuleMajor.val(),
+ minor: $conditionsRuleMinor.val()
+ };
+
+ jQuery.post( ajaxurl, data, function( html ) {
+ $conditionsRuleHasChildren.html( html ).show();
+ } );
+ } else {
+ $conditionsRuleHasChildren.hide().html( '' );
}
} );
} );