Newer
Older
import Tool from "./tool";
import { state } from "../editor";
import { CONTEXT } from "../state";
import { CollectMenu, COLLECTION_KEY } from "./menus/collectmenu";
import CollectIcon from "../../images/tools/collect.png";
export default class CollectTool extends Tool {
super("Collect", CollectIcon, key, new CollectMenu());
}
onNodeClick(node) {
if (state.itemsContext !== CONTEXT.node) {
state.clearSelectedItems();
state.itemsContext = CONTEXT.node;
}
if (state.selectedItems.has(node)) {
state.removeSelectedItem(node);
} else {
state.addSelectedItem(node);
}
this.menu.value(COLLECTION_KEY, state.selectedItems);
}
onLinkClick(link) {
if (state.itemsContext !== CONTEXT.link) {
state.clearSelectedItems();
state.itemsContext = CONTEXT.link;
}
if (state.selectedItems.has(link)) {
state.removeSelectedItem(link);
} else {
state.addSelectedItem(link);
}
this.menu.value(COLLECTION_KEY, state.selectedItems);
}
onMenuChange(key, value) {
if (key === COLLECTION_KEY && value === undefined) {
state.clearSelectedItems();
this.menu.value(COLLECTION_KEY, []);
}