Skip to content

Commit b45ef04

Browse files
dombeszcamertron
andauthoredSep 10, 2024··
Emit an input event primer-text-field#clearContents. (#3062)
Co-authored-by: Cameron Dutro <camertron@gmail.com>
1 parent c8dfea4 commit b45ef04

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed
 

‎.changeset/quiet-vans-unite.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@primer/view-components': minor
3+
---
4+
5+
Trigger an input event when the primer-text-field clear button is pressed.

‎lib/primer/forms/primer_text_field.ts

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export class PrimerTextFieldElement extends HTMLElement {
5757
clearContents() {
5858
this.inputElement.value = ''
5959
this.inputElement.focus()
60+
this.inputElement.dispatchEvent(new Event('input', { bubbles: true, cancelable: false }))
6061
}
6162

6263
clearError(): void {

‎test/system/alpha/text_field_test.rb

+12
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,20 @@ def test_clear_button
1212
find("input[type=text]").fill_in(with: "foobar")
1313
assert_equal find("input[type=text]").value, "foobar"
1414

15+
evaluate_multiline_script(<<~JS)
16+
window.inputTriggered = false
17+
18+
document.querySelector('input[type=text]').addEventListener('input', (_event) => {
19+
window.inputTriggered = true
20+
})
21+
JS
22+
23+
refute page.evaluate_script("window.inputTriggered")
24+
1525
find("button").click
1626
assert_equal find("input[type=text]").value, ""
27+
28+
assert page.evaluate_script("window.inputTriggered")
1729
end
1830

1931
def test_auto_check_error

0 commit comments

Comments
 (0)
Please sign in to comment.