✨ basic ui, some filters
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
import {Inputs, Outputs} from './io.js';
|
||||
import uuidv4 from 'uuid/v4';
|
||||
|
||||
export default class Node {
|
||||
|
||||
constructor(inputNames, outputNames) {
|
||||
this.__in = new Inputs(inputNames);
|
||||
this.__out = new Outputs(outputNames);
|
||||
constructor(name, inputNames, outputNames) {
|
||||
this.name = name;
|
||||
this.id = uuidv4();
|
||||
this.__in = new Inputs(inputNames, this);
|
||||
this.__out = new Outputs(outputNames, this);
|
||||
this.__in.update = (name) => this.__update([name]);
|
||||
}
|
||||
|
||||
@@ -25,5 +28,33 @@ export default class Node {
|
||||
get out() {
|
||||
return this.__out;
|
||||
}
|
||||
|
||||
serialize() {
|
||||
return {
|
||||
id: this.id,
|
||||
name: this.name,
|
||||
options: {
|
||||
in: this.in.serialize(),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
deserialize({id, options}) {
|
||||
this.id = id || uuidv4();
|
||||
}
|
||||
|
||||
reconnect({options}, outputs) {
|
||||
console.log('outputs', outputs)
|
||||
for (let name of Object.keys(options.in)) {
|
||||
const {value, output} = options.in[name];
|
||||
if (value) {
|
||||
this.in[name].value = value;
|
||||
}
|
||||
if (output) {
|
||||
console.log('connecting', this.in[name].id, outputs[output])
|
||||
this.in[name].connect(outputs[output]);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user