UNPKG

@selenite/graph-editor

Version:

A graph editor for visual programming, based on rete and svelte.

31 lines (30 loc) 861 B
import { ButtonControl } from '../socket'; import { Node } from './Node.svelte'; import {} from './Node.svelte'; export class AddPinNode extends Node { static __isAbstract = true; state = { ...this.state, numPins: 0 }; numPinsAdded = 0; constructor(params) { super(params); this.state.numPins = params.numPins || 0; this.updatePins(); this.addControl('addPinBtn', new ButtonControl('+', () => this.addPin())); } updatePins() { for (let i = this.numPinsAdded; i < this.state.numPins; i++) { this.onAddPin(i); this.numPinsAdded++; } } applyState() { this.updatePins(); } onAddPin(index) { throw new Error('Method not implemented.'); } addPin() { this.onAddPin(this.state.numPins); this.state.numPins++; } }