Issue #3181634 by Wongjn: States API: Empty/Filled state with number <input> does not update when using spinner
parent
54dda45bc8
commit
8542a65d49
|
@ -526,6 +526,10 @@
|
||||||
// the state.
|
// the state.
|
||||||
return this.val() === '';
|
return this.val() === '';
|
||||||
},
|
},
|
||||||
|
// Listen to 'change' for number native "spinner" widgets.
|
||||||
|
change() {
|
||||||
|
return this.val() === '';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
checked: {
|
checked: {
|
||||||
|
|
|
@ -106,6 +106,10 @@ class JavascriptStatesForm extends FormBase {
|
||||||
'#empty_value' => '_none',
|
'#empty_value' => '_none',
|
||||||
'#empty_option' => '- None -',
|
'#empty_option' => '- None -',
|
||||||
];
|
];
|
||||||
|
$form['number_trigger'] = [
|
||||||
|
'#type' => 'number',
|
||||||
|
'#title' => 'Number trigger',
|
||||||
|
];
|
||||||
|
|
||||||
// Tested fields.
|
// Tested fields.
|
||||||
// Checkbox trigger.
|
// Checkbox trigger.
|
||||||
|
@ -374,6 +378,17 @@ class JavascriptStatesForm extends FormBase {
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// Number triggers.
|
||||||
|
$form['item_visible_when_number_trigger_filled_by_spinner'] = [
|
||||||
|
'#type' => 'item',
|
||||||
|
'#title' => 'Item visible when number trigger filled by spinner widget',
|
||||||
|
'#states' => [
|
||||||
|
'visible' => [
|
||||||
|
':input[name="number_trigger"]' => ['filled' => TRUE],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
$form['select'] = [
|
$form['select'] = [
|
||||||
'#type' => 'select',
|
'#type' => 'select',
|
||||||
'#title' => 'select 1',
|
'#title' => 'select 1',
|
||||||
|
|
|
@ -21,4 +21,25 @@ module.exports = {
|
||||||
.waitForElementNotVisible('input[name="textfield"]', 1000)
|
.waitForElementNotVisible('input[name="textfield"]', 1000)
|
||||||
.assert.noDeprecationErrors();
|
.assert.noDeprecationErrors();
|
||||||
},
|
},
|
||||||
|
'Test number trigger with spinner widget': (browser) => {
|
||||||
|
browser
|
||||||
|
.drupalRelativeURL('/form-test/javascript-states-form')
|
||||||
|
.waitForElementVisible('body', 1000)
|
||||||
|
.waitForElementNotVisible(
|
||||||
|
'#edit-item-visible-when-number-trigger-filled-by-spinner',
|
||||||
|
1000,
|
||||||
|
)
|
||||||
|
.execute(() => {
|
||||||
|
// Emulate usage of the spinner browser widget on number inputs
|
||||||
|
// on modern browsers.
|
||||||
|
const numberTrigger = document.getElementById('edit-number-trigger');
|
||||||
|
numberTrigger.value = 1;
|
||||||
|
numberTrigger.dispatchEvent(new Event('change'));
|
||||||
|
});
|
||||||
|
|
||||||
|
browser.waitForElementVisible(
|
||||||
|
'#edit-item-visible-when-number-trigger-filled-by-spinner',
|
||||||
|
1000,
|
||||||
|
);
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue