This repository has been archived on 2024-10-24. You can view files and clone it, but cannot push or open issues or pull requests.
fradrive-old/frontend/src/utils/form/enter-is-tab.js
2021-05-27 15:40:35 +02:00

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');
}
}