Update framework
This commit is contained in:
32
framework/ui/menu/items/checkbox-item.js
Normal file
32
framework/ui/menu/items/checkbox-item.js
Normal file
@@ -0,0 +1,32 @@
|
||||
import { BaseItem } from './base-item';
|
||||
export class CheckboxItem extends BaseItem {
|
||||
constructor(id, title) {
|
||||
super(id, title);
|
||||
}
|
||||
getDOMNode() {
|
||||
this.container = document.createElement('div');
|
||||
this.label = document.createElement('label');
|
||||
this.label.setAttribute('for', `chkbx_${this.id}`);
|
||||
this.label.textContent = this.title;
|
||||
this.checkboxElement = document.createElement('input');
|
||||
this.checkboxElement.setAttribute('type', 'checkbox');
|
||||
this.checkboxElement.setAttribute('id', `chkbx_${this.id}`);
|
||||
this.checkboxElement.addEventListener('focus', this.onFocus.bind(this));
|
||||
this.checkboxElement.addEventListener('change', this.onChange.bind(this));
|
||||
this.container.appendChild(this.label);
|
||||
this.container.appendChild(this.checkboxElement);
|
||||
return this.container;
|
||||
}
|
||||
getContents() {
|
||||
return this.checkboxElement.checked;
|
||||
}
|
||||
onChange(event) {
|
||||
this.emit('update', {
|
||||
type: 'checkbox',
|
||||
value: this.checkboxElement.checked
|
||||
});
|
||||
}
|
||||
focus() {
|
||||
this.checkboxElement.focus();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user