UNPKG

mj-context-menu

Version:
34 lines 1.24 kB
import { AbstractVariableItem } from './abstract_variable_item.js'; import * as MenuUtil from './menu_util.js'; import { HtmlClasses } from './html_classes.js'; export class Checkbox extends AbstractVariableItem { static fromJson(_factory, { content: content, variable: variable, id: id }, menu) { return new this(menu, content, variable, id); } constructor(menu, content, variable, id) { super(menu, 'checkbox', content, id); this.role = 'menuitemcheckbox'; this.variable = menu.pool.lookup(variable); this.register(); } executeAction() { this.variable.setValue(!this.variable.getValue()); MenuUtil.close(this); } generateSpan() { this.span = document.createElement('span'); this.span.textContent = '\u2713'; this.span.classList.add(HtmlClasses['MENUCHECK']); this.span.setAttribute('aria-hidden', 'true'); } updateAria() { this.html.setAttribute('aria-checked', this.variable.getValue() ? 'true' : 'false'); } updateSpan() { this.span.style.display = this.variable.getValue() ? '' : 'none'; } toJson() { return { type: '' }; } } //# sourceMappingURL=item_checkbox.js.map