diff options
Diffstat (limited to 'ui/imports/ui/components/accordionTreeNodeChildren/accordionTreeNodeChildren.js')
-rw-r--r-- | ui/imports/ui/components/accordionTreeNodeChildren/accordionTreeNodeChildren.js | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/ui/imports/ui/components/accordionTreeNodeChildren/accordionTreeNodeChildren.js b/ui/imports/ui/components/accordionTreeNodeChildren/accordionTreeNodeChildren.js deleted file mode 100644 index a74059c..0000000 --- a/ui/imports/ui/components/accordionTreeNodeChildren/accordionTreeNodeChildren.js +++ /dev/null @@ -1,125 +0,0 @@ -///////////////////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others / -// / -// All rights reserved. This program and the accompanying materials / -// are made available under the terms of the Apache License, Version 2.0 / -// which accompanies this distribution, and is available at / -// http://www.apache.org/licenses/LICENSE-2.0 / -///////////////////////////////////////////////////////////////////////////////////////// -/* - * Template Component: accordionTreeNodeChildren - */ - -/* eslint no-undef: off */ - -import * as R from 'ramda'; -import { Template } from 'meteor/templating'; -import { ReactiveDict } from 'meteor/reactive-dict'; -import { Inventory } from '/imports/api/inventories/inventories'; - -import './accordionTreeNodeChildren.html'; - -Template.accordionTreeNodeChildren.onCreated(function () { - var instance = this; - this.state = new ReactiveDict(); - this.state.setDefault({ - data: null, - siblingId: null - }); - - instance.autorun(function () { - let data = Template.currentData(); - let node = data.node; - instance.subscribe('inventory.children', - node.id, node.type, node.name, node.environment); - - if (R.equals('host_ref', node.type)) { - instance.subscribe('inventory?name&env&type', - node.name, node.environment, 'host'); - - Inventory.find({ - name: node.name, - environment: node.environment, - type: 'host' - }).forEach((sibling) => { - instance.state.set('siblingId', sibling.id); - }); - } - }); - -}); - -Template.accordionTreeNodeChildren.helpers({ - reactOnNewData: function (node) { - let instance = Template.instance(); - instance.state.set('data', { node: node }); - }, - - children: function () { - let instance = Template.instance(); - let siblingId = instance.state.get('siblingId'); - - return getChildrenQuery(instance.data.node, siblingId); - }, - - createTreeNodeArgs: function( - node, - selectedNode - ) { - - var instance = Template.instance(); - - let firstChild = null; - let restOfChildren = null; - let showOpen = false; - - if ((! R.isNil(selectedNode)) && - selectedNode.length > 0 - ) { - firstChild = selectedNode[0]; - restOfChildren = selectedNode.length > 1 ? - R.slice(1, Infinity, selectedNode) : null; - showOpen = firstChild.id === node.id ? true : false; - } - - return { - node: node, - showOpen: showOpen, - selectedNode: restOfChildren, - onClick: instance.data.onClick - }; - }, - - -}); - -Template.accordionTreeNodeChildren.events({ -}); - -function getChildrenQuery(node, siblingId) { - let query = - { - $or: [ - { - parent_id: node.id, - parent_type: node.type, - environment: node.environment, - show_in_tree: true - } - ] - }; - - - if (R.equals('host_ref', node.type)) { - query = R.merge(query, { - $or: R.append({ - parent_id: siblingId, - show_in_tree: true - }, query.$or) - }); - } - - console.log('getChildrenQuery', R.toString(query)); - - return Inventory.find(query); -} |