1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
import { Inventory } from '/imports/api/inventories/inventories';
//import * as R from 'ramda';
export let InventoryTreeNodeBehavior = {
subscribeGetChildrenFn: function (instance, parent) {
instance.subscribe('inventory.children',
parent.id, parent.type, parent.name, parent.environment);
},
subscribeGetFirstChildFn: function (instance, parent) {
instance.subscribe('inventory.first-child',
parent.id, parent.type, parent.name, parent.environment);
},
getChildrenFn: function (parent) {
let query = {
$or: [{
parent_id: parent.id,
parent_type: parent.type,
environment: parent.environment,
show_in_tree: true
}]
};
/*
if (R.equals('host_ref', parent.type)) {
let realParent = Inventory.findOne({
name: parent.name,
environment: parent.environment,
type: 'host'
});
if (! R.isNil(realParent)) {
query = R.merge(query, {
$or: R.append({
environment: parent.environment,
parent_id: realParent.id
}, query.$or)
});
}
}
*/
return Inventory.find(query);
},
hasChildrenFn: function (parent) {
let query = {
$or: [
{
parent_id: parent._id
}
]
};
return Inventory.find(query).count() > 0;
}
};
|