Skip to content

Commit e413fe0

Browse files
authored
Feature/submit on enter (#281)
1 parent 26dcdde commit e413fe0

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

packages/uui-form/lib/uui-form.element.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export class UUIFormElement extends LitElement {
1717
if (this._formElement) {
1818
this._formElement.removeEventListener('submit', this._onSubmit);
1919
this._formElement.removeEventListener('reset', this._onReset);
20+
this._formElement.removeEventListener('keypress', this._onKeypress);
2021
}
2122

2223
const formElements = (event.target as HTMLSlotElement)
@@ -28,6 +29,10 @@ export class UUIFormElement extends LitElement {
2829
this._formElement.setAttribute('novalidate', '');
2930
this._formElement.addEventListener('submit', this._onSubmit);
3031
this._formElement.addEventListener('reset', this._onReset);
32+
this._formElement.addEventListener(
33+
'keypress',
34+
this._onKeypress.bind(this)
35+
);
3136
}
3237
}
3338

@@ -53,6 +58,14 @@ export class UUIFormElement extends LitElement {
5358
(event.target as HTMLFormElement).removeAttribute('submit-invalid');
5459
}
5560

61+
private _onKeypress(event: KeyboardEvent) {
62+
if (event.key === 'Enter') {
63+
if (this._formElement) {
64+
this._formElement.dispatchEvent(new SubmitEvent('submit'));
65+
}
66+
}
67+
}
68+
5669
render() {
5770
return html`<slot @slotchange=${this._onSlotChanged}></slot>`;
5871
}

0 commit comments

Comments
 (0)