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