2020-03-12 05:46:28 +08:00
|
|
|
import * as html from "./html.js";
|
|
|
|
|
2020-03-16 06:14:55 +08:00
|
|
|
|
|
|
|
export default class Item extends HTMLElement {
|
2020-03-12 05:46:28 +08:00
|
|
|
constructor() {
|
|
|
|
super();
|
|
|
|
this.addEventListener("click", _ => this.onClick());
|
|
|
|
}
|
|
|
|
|
2020-03-13 06:03:26 +08:00
|
|
|
addButton(icon, cb) {
|
|
|
|
html.button({icon}, "", this).addEventListener("click", e => {
|
|
|
|
e.stopPropagation(); // do not select
|
|
|
|
cb();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2020-03-12 05:46:28 +08:00
|
|
|
onClick() { this.parentNode.selection.toggle(this); }
|
|
|
|
|
|
|
|
_buildTitle(title) {
|
|
|
|
return html.node("span", {className:"title"}, title, this);
|
|
|
|
}
|
|
|
|
}
|