Skip to content
Snippets Groups Projects
collecttool.js 896 B
Newer Older
  • Learn to ignore specific revisions
  • Maximilian Giller's avatar
    Maximilian Giller committed
    class CollectTool extends Tool {
        constructor(key) {
    
            super("Collect", "collect", key);
    
    Maximilian Giller's avatar
    Maximilian Giller committed
        }
    
        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);
            }
        }
    
        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);
            }
        }
    
        onKeyUp(key) {
            if (key.keyCode === 17) {
                state.setTool(state.previousTool);
            }
        }
    }