UNPKG

tapspace

Version:

A zoomable user interface lib for web apps

40 lines (34 loc) 863 B
const getSiblingTracks = require('./tracks/getSiblingTracks') module.exports = function (id) { // Get existing siblings of the node with the given ID. // // Parameters: // id // // Return: // array of SpaceElement // if (!this.isNodeAlive(id)) { // Node does not exist, thus it has no siblings. return [] } const originNode = this.nodes[id] const originTrack = { id: id, basis: originNode.getBasis() // TODO change basis onto viewport? } const siblingTracks = getSiblingTracks( this.tracker, this.backtracker, originTrack ) // Find which siblings are already rendered. const existingSiblingNodes = [] siblingTracks.forEach(track => { const siblingNode = this.nodes[track.id] if (siblingNode) { existingSiblingNodes.push(siblingNode) } }) return existingSiblingNodes }