42 lines
1007 B
JavaScript
42 lines
1007 B
JavaScript
import { Utility } from '../../core/utility';
|
|
|
|
const ENTER_IS_TAB_INITIALIZED_CLASS = 'enter-as-tab--initialized';
|
|
const FORM_GROUP_INPUT_ID = 'hident29';
|
|
|
|
@Utility({
|
|
selector: '[uw-enter-as-tab]',
|
|
})
|
|
|
|
export class EnterIsTab {
|
|
_element;
|
|
|
|
constructor(element) {
|
|
|
|
if(!element) {
|
|
throw new Error('EnterIsTab Utility cannot be setup without a field element');
|
|
}
|
|
|
|
this._element = element;
|
|
|
|
if (this._element.classList.contains(ENTER_IS_TAB_INITIALIZED_CLASS)) {
|
|
return false;
|
|
}
|
|
|
|
this._element.classList.add(ENTER_IS_TAB_INITIALIZED_CLASS);
|
|
}
|
|
|
|
|
|
start() {
|
|
this._element.addEventListener('keypress', (e) => {
|
|
if(e.key === 'Enter') {
|
|
e.preventDefault();
|
|
let messageArea = document.getElementById(FORM_GROUP_INPUT_ID);
|
|
messageArea.focus();
|
|
}
|
|
});
|
|
}
|
|
|
|
destroy() {
|
|
console.log('TBD: Destroy EnterIsTab');
|
|
}
|
|
} |