UNPKG

node-red-contrib-tak-registration

Version:

A Node-RED node to register to TAK and to help wrap files as datapackages to send to TAK

52 lines (50 loc) 1.36 kB
import Node from './Node' import GraphComponent from './GraphComponent' export default class Edge extends GraphComponent { constructor () { super() this._dirEdge = null if (arguments.length === 0) {} else if (arguments.length === 2) { const de0 = arguments[0] const de1 = arguments[1] this.setDirectedEdges(de0, de1) } } isRemoved () { return this._dirEdge === null } setDirectedEdges (de0, de1) { this._dirEdge = [de0, de1] de0.setEdge(this) de1.setEdge(this) de0.setSym(de1) de1.setSym(de0) de0.getFromNode().addOutEdge(de0) de1.getFromNode().addOutEdge(de1) } getDirEdge () { if (Number.isInteger(arguments[0])) { const i = arguments[0] return this._dirEdge[i] } else if (arguments[0] instanceof Node) { const fromNode = arguments[0] if (this._dirEdge[0].getFromNode() === fromNode) return this._dirEdge[0] if (this._dirEdge[1].getFromNode() === fromNode) return this._dirEdge[1] return null } } remove () { this._dirEdge = null } getOppositeNode (node) { if (this._dirEdge[0].getFromNode() === node) return this._dirEdge[0].getToNode() if (this._dirEdge[1].getFromNode() === node) return this._dirEdge[1].getToNode() return null } interfaces_ () { return [] } getClass () { return Edge } }