lin3s-front-foundation
Version:
Library that provides a sort of commonly used front-end components in LIN3S projects
42 lines (31 loc) • 934 B
JavaScript
/*
* This file is part of the Front Foundation package.
*
* Copyright (c) 2017-present LIN3S <info@lin3s.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @author Mikel Tuesta <mikeltuesta@gmail.com>
*/
import dispatchNativeEvent from '../../../../dom/dispatchNativeEvent';
class FormRadio {
domNode;
constructor(domNode) {
this.domNode = domNode;
this.radioNode = this.domNode.querySelector('.form-radio__circle');
this.domNode.addEventListener('keydown', this.onKeyDown.bind(this));
this.domNode.addEventListener('focus', () => {
this.domNode.focus();
});
}
onKeyDown(event) {
const keyCode = event.which;
if (keyCode !== 13) {
return;
}
this.radioNode.checked = !this.radioNode.checked;
dispatchNativeEvent(this.radioNode, 'change');
}
}
export default FormRadio;