@selenite/graph-editor
Version:
A graph editor for visual programming, based on rete and svelte.
31 lines (30 loc) • 861 B
JavaScript
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++;
}
}