Last active
May 17, 2023 18:49
-
-
Save rninne/65cf1c769c3408196bc55c920c04b03f to your computer and use it in GitHub Desktop.
Get BOM Data script (Data broker server script)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[{"id":"L0","isGroup":true,"viewData":{"primaryLabel":"ACME Speedster EV","secondaryLabel":"Component Level 0","image":"/x_snc_my_stock_l_0.ecm_ssev_car_3.jpg","parent":"","compid":"CARSSEV001","groupCount":5}}] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @param {params} params | |
* @param {api} params.api | |
* @param {TransformApiHelpers} params.helpers | |
*/ | |
function evaluateProperty({api, helpers}) { | |
return api.state.Alledges; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function transform(input) { | |
var table = input.bomtable; | |
var product = input.finishedproduct; | |
var query = "", | |
image = "", | |
compid = ""; | |
if (product == "Speedster") { | |
query = "ACME Speedster EV"; | |
image = "/x_snc_my_stock_l_0.ecm_ssev_car_3.jpg"; | |
compid = "CARSSEV001"; | |
} | |
if (product == "SUV") { | |
query = "ACME SUV EV"; | |
image = "/x_snc_my_stock_l_0.ecm_suvev_car.jpg"; | |
compid = "CARSSEV001"; | |
} | |
if (product == "QuadBike") { | |
query = "ACME QuadBike EV"; | |
image = "/x_snc_my_stock_l_0.ecm_quadbike_bike_3.jpg"; | |
compid = "QDBIKE001"; | |
} | |
var main_struct = { | |
"id": "L0", | |
"isGroup": true, | |
"viewData": { | |
"primaryLabel": query, | |
"secondaryLabel": "Component Level 0", | |
"image": image, | |
"parent": "", | |
"compid": compid, | |
"groupCount": 5 | |
} | |
}; | |
var get_bom = new GlideRecord(table); | |
get_bom.addEncodedQuery("finished_product=" + query); | |
get_bom.orderBy('bom_item_no'); | |
get_bom.query(); | |
var all_nodes = []; | |
if (get_bom.getRowCount()) { | |
all_nodes.push(main_struct); | |
var l_zero = 0; | |
var l_one = 0; | |
var l_two = 0; | |
while (get_bom.next()) { | |
var agg = new GlideAggregate(table); | |
agg.addAggregate('COUNT', 'item_id'); | |
agg.addEncodedQuery("finished_product=" + query); | |
agg.query(); | |
var level = ""; | |
var node_level = ""; | |
var child_count = ""; | |
if (get_bom.item_level == "level_0") { | |
l_zero++; | |
level = "0" + l_zero; | |
node_level = "0"; | |
} else if (get_bom.item_level == "level_1") { | |
l_one++; | |
level = "1" + l_one; | |
node_level = "1"; | |
} else if (get_bom.item_level == "level_2") { | |
l_two++; | |
level = "2" + l_two; | |
node_level = "2"; | |
} | |
while (agg.next()) { | |
var itemCount = agg.getAggregate('COUNT', 'item_id'); | |
if (get_bom.component_id.toString() === agg.item_id.toString()) | |
child_count = itemCount; | |
} | |
var req_qua, avl_qua; | |
if ((get_bom.qty_avail_at_tier_1 || get_bom.qty_avail_at_tier_2) > 1) | |
avl_qua = (get_bom.qty_avail_at_tier_1 || get_bom.qty_avail_at_tier_2) + " Units"; | |
else | |
avl_qua = (get_bom.qty_avail_at_tier_1 || get_bom.qty_avail_at_tier_2) + " Unit"; | |
if (get_bom.quantity > 1) | |
req_qua = get_bom.quantity + " Units"; | |
else | |
req_qua = get_bom.quantity + " Unit"; | |
var index = all_nodes.findIndex(item => item.viewData.compid === get_bom.component_id.toString()); | |
var node_struct; | |
node_struct = { | |
"id": "L" + level.toString(), | |
"isGroup": (child_count > 0 ? true : false), | |
"viewData": { | |
"primaryLabel": get_bom.component_description.toString(), | |
"secondaryLabel": "Component Level " + node_level.toString(), | |
"Supplier": get_bom.tier_1_supplier.toString() || get_bom.tier_2_supplier.toString(), | |
"Req_Quantity": req_qua.toString(), | |
"Avl_Quantity": avl_qua.toString(), | |
"image": get_bom.bom_image.toString(), | |
"parent": get_bom.item_id.toString(), | |
"compid": get_bom.component_id.toString(), | |
"groupCount": child_count.toString() | |
} | |
}; | |
all_nodes.push(node_struct); | |
} | |
return all_nodes; | |
} else | |
return 'NA'; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @param {params} params | |
* @param {api} params.api | |
* @param {any} params.event | |
*/ | |
function evaluateEvent({api, event}) { | |
var cur_node=[]; | |
if(event.payload.node.viewData.isexpand == "no") | |
{ | |
return; | |
} | |
else | |
{ | |
switch(event.payload.node.id) | |
{ | |
case "L0": | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
if(api.state.Allnodes[i].id === "L0") | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
} | |
return { | |
propName: "Allnodes", | |
value: cur_node | |
}; | |
break; | |
case "L11": | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
if(api.state.Allnodes[i].viewData.parent != event.payload.node.viewData.compid) | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
case "L13": | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
if(api.state.Allnodes[i].viewData.parent != event.payload.node.viewData.compid) | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
case "L14": | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
if(api.state.Allnodes[i].viewData.parent != event.payload.node.viewData.compid) | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
case "L15": | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
if(api.state.Allnodes[i].viewData.parent != event.payload.node.viewData.compid) | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
case "L16": | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
if(api.state.Allnodes[i].viewData.parent != event.payload.node.viewData.compid) | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
default: | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @param {params} params | |
* @param {api} params.api | |
* @param {any} params.event | |
*/ | |
function evaluateEvent({ api, event }) { | |
var get_menu = []; | |
if (event.payload.node.id) { | |
if (event.payload.node.id == "L0") { var menu = { | |
id: "M1", | |
label: "Finished product - " + event.payload.node.viewData.primaryLabel, }; | |
get_menu.push(menu); } else { | |
var index = api.data.get_bom_data_1.output.filter( (element) => | |
element.viewData.compid === event.payload.node.viewData.compid ); | |
if (index.length == 1) { var menu1 = { | |
id: "M1", | |
label: "Component - " + event.payload.node.viewData.primaryLabel, }; | |
var menu2 = { | |
id: "M2", | |
label: "Req Quantity - " + event.payload.node.viewData.Req_Quantity, | |
}; | |
var menu3 = { | |
id: "M3", | |
label: "Supplier - " + event.payload.node.viewData.Supplier, }; | |
var menu4 = { | |
id: "M4", | |
label: "Avl Quantity - " + event.payload.node.viewData.Avl_Quantity, | |
}; get_menu.push(menu1); get_menu.push(menu2); get_menu.push(menu3); get_menu.push(menu4); | |
} else if (index.length var menu1 = { | |
id: "M1", | |
label: "Component - }; | |
== 2) { | |
" + event.payload.node.viewData.primaryLabel, | |
var menu2 = { | |
id: "M2", | |
label: "Req Quantity - " + event.payload.node.viewData.Req_Quantity, | |
}; | |
var menu3 = { | |
id: "M3", | |
label: "Supplier 1 - " + index[1].viewData.Supplier, }; | |
var menu4 = { id: "M4", label: | |
"Avl Quantity at supplier 1- " + index[1].viewData.Avl_Quantity, }; | |
var menu5 = { | |
id: "M5", | |
label: "Supplier 2 - " + index[0].viewData.Supplier, | |
}; | |
var menu6 = { | |
id: "M6", label: | |
"Avl Quantity at supplier 2- " + index[0].viewData.Avl_Quantity, }; | |
get_menu.push(menu1); get_menu.push(menu2); get_menu.push(menu3); get_menu.push(menu4); get_menu.push(menu5); get_menu.push(menu6); | |
} } | |
return { | |
propName: "Contextmenu", value: get_menu, | |
}; } | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[{"id":"L0","label":"Finished product"},{"id":"L11","label":"V8 Engine"},{"id":"L12","label":"AlloyWheels"},{"id":"L13","label":"Leather Seats"},{"id":"L14","label":"Tinted Windows Glass"}, {"id":"L21","label":"Engine Pistons"},{"id":"L22","label":"Engine Crankshaft"},{"id":"L23","label":"Alloy Wheel Rims"},{"id":"L24","label":"Seat Frames"},{"id":"L25","label":"Leather Seat Upholstery"},{"id":"L26","label":"Glass Panels"}] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @param {params} params | |
* @param {api} params.api | |
* @param {TransformApiHelpers} params.helpers | |
*/ | |
function evaluateProperty({ api, helpers }) { | |
if (api.data.get_bom_data_1.output.toString() === "NA") return; | |
else if ( | |
api.data.get_bom_data_1.output[0].id === "L0" && | |
api.state.Allnodes.length === 0 | |
) { | |
api.state.Allnodes.push(api.data.get_bom_data_1.output[0]); | |
return api.state.Allnodes; | |
} else if ( | |
api.data.get_bom_data_1.output[0].id === "L0" && | |
api.state.Allnodes.length > 0 | |
) { | |
return api.state.Allnodes; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @param {params} params | |
* @param {api} params.api | |
* @param {any} params.event | |
*/ | |
function evaluateEvent({api, event}) { | |
var cur_node=[]; | |
if(event.payload.node.viewData.isexpand == 'yes') | |
{ | |
return; | |
} | |
else | |
{ | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
switch(event.payload.node.id) | |
{ | |
case "L0": | |
for(var i = 0;i<api.data.get_bom_data_1.output.length;i++) | |
{ | |
var index = cur_node.findIndex(item => item.viewData.compid === api.data.get_bom_data_1.output[i].viewData.compid); | |
if(api.data.get_bom_data_1.output[i].id.includes("L1") && index<0) | |
cur_node.push(api.data.get_bom_data_1.output[i]); | |
} | |
return { | |
propName: "Allnodes", | |
//value: [{"id":"L0","isGroup":true,"viewData":{"primaryLabel":"Finished product","secondaryLabel":"Component Level 0","image":"x_snc_my_stock_l_0.ecm_bom_sportscar_car_new.jpg","isexpand":"yes","status":"positive"}},{"id":"L11","isGroup":true,"viewData":{"primaryLabel":"V8 Engine","secondaryLabel":"Component Level 01","image":"/x_snc_my_stock_l_0.ecm_sportscar_v8engine.jpg","status":"positive"}},{"id":"L12","isGroup":true,"viewData":{"primaryLabel":"Alloy Wheels","secondaryLabel":"Component Level 01","image":"/x_snc_my_stock_l_0.ecm_sportscar_allowwheel.png","status":"positive"}},{"id":"L13","isGroup":true,"viewData":{"primaryLabel":"Leather Seats","secondaryLabel":"Component Level 01","image":"/x_snc_my_stock_l_0.ecm_sportscar_leatherseats.png","status":"positive"}},{"id":"L14","isGroup":true,"viewData":{"primaryLabel":"Tinted Windows Glass","secondaryLabel":"Component Level 01","image":"/x_snc_my_stock_l_0.ecm_sportscar_windowglass.png","status":"positive"}}] | |
value:cur_node | |
}; | |
break; | |
case "L11": | |
for(var i = 0;i<api.data.get_bom_data_1.output.length;i++) | |
{ | |
var index = cur_node.findIndex(item => item.viewData.compid === api.data.get_bom_data_1.output[i].viewData.compid); | |
if(api.data.get_bom_data_1.output[i].viewData.parent === event.payload.node.viewData.compid && index<0) | |
cur_node.push(api.data.get_bom_data_1.output[i]); | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
case "L13": | |
for(var i = 0;i<api.data.get_bom_data_1.output.length;i++) | |
{ | |
console.log(api.data.get_bom_data_1.output[i].viewData.parent+" - "+event.payload.node.viewData.compid); | |
var index = cur_node.findIndex(item => item.viewData.compid === api.data.get_bom_data_1.output[i].viewData.compid); | |
if(api.data.get_bom_data_1.output[i].viewData.parent === event.payload.node.viewData.compid && index<0) | |
cur_node.push(api.data.get_bom_data_1.output[i]); | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
case "L14": | |
for(var i = 0;i<api.data.get_bom_data_1.output.length;i++) | |
{ | |
var index = cur_node.findIndex(item => item.viewData.compid === api.data.get_bom_data_1.output[i].viewData.compid); | |
if(api.data.get_bom_data_1.output[i].viewData.parent === event.payload.node.viewData.compid && index<0) | |
cur_node.push(api.data.get_bom_data_1.output[i]); | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
case "L15": | |
for(var i = 0;i<api.data.get_bom_data_1.output.length;i++) | |
{ | |
var index = cur_node.findIndex(item => item.viewData.compid === api.data.get_bom_data_1.output[i].viewData.compid); | |
if(api.data.get_bom_data_1.output[i].viewData.parent === event.payload.node.viewData.compid && index<0) | |
cur_node.push(api.data.get_bom_data_1.output[i]); | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
case "L16": | |
for(var i = 0;i<api.data.get_bom_data_1.output.length;i++) | |
{ | |
var index = cur_node.findIndex(item => item.viewData.compid === api.data.get_bom_data_1.output[i].viewData.compid); | |
if(api.data.get_bom_data_1.output[i].viewData.parent === event.payload.node.viewData.compid && index<0) | |
cur_node.push(api.data.get_bom_data_1.output[i]); | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
default: | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @param {params} params | |
* @param {api} params.api | |
* @param {any} params.event | |
*/ | |
function evaluateEvent({ | |
api, | |
event | |
}) { | |
var cur_edge = []; | |
var cur_node=[]; | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
if(event.payload.node.viewData.isexpand == 'yes') | |
{ | |
return; | |
} | |
else | |
{ | |
var index = api.state.Allnodes.findIndex(item => item.id === event.payload.node.id); | |
api.state.Allnodes[index].viewData.isexpand = "yes"; | |
for (var i = 0; i < api.state.Alledges.length; i++) { | |
cur_edge.push(api.state.Alledges[i]); | |
} | |
switch(event.payload.node.id) | |
{ | |
case "L0": | |
for(var i = 0;i<api.data.get_bom_data_1.output.length;i++) | |
{ | |
var index = cur_node.findIndex(item => item.viewData.compid === api.data.get_bom_data_1.output[i].viewData.compid); | |
if(api.data.get_bom_data_1.output[i].id.includes("L1") && index<0) | |
{ | |
var edge = {}; | |
edge.id = api.data.get_bom_data_1.output[i].id.replace("L","E"); | |
edge.sourceId = event.payload.node.id; | |
edge.targetId = api.data.get_bom_data_1.output[i].id; | |
cur_edge.push(edge); | |
cur_node.push(api.data.get_bom_data_1.output[i]); | |
} | |
} | |
return { | |
propName: "Alledges", | |
//value: [{"id":"E11","sourceId":"L0","targetId":"L11"},{"id":"E12","sourceId":"L0","targetId":"L12"},{"id":"E13","sourceId":"L0","targetId":"L13"},{"id":"E16","sourceId":"L0","targetId":"L16"},{"id":"E15","sourceId":"L0","targetId":"L15"}] | |
value : cur_edge | |
}; | |
break; | |
case "L11": | |
for(var i = 0;i<api.data.get_bom_data_1.output.length;i++) | |
{ | |
var index = cur_node.findIndex(item => item.viewData.compid === api.data.get_bom_data_1.output[i].viewData.compid); | |
if(api.data.get_bom_data_1.output[i].viewData.parent === event.payload.node.viewData.compid && index<0) | |
{ | |
var edge = {}; | |
edge.id = api.data.get_bom_data_1.output[i].id.replace("L","E"); | |
edge.sourceId = event.payload.node.id; | |
edge.targetId = api.data.get_bom_data_1.output[i].id; | |
cur_edge.push(edge); | |
cur_node.push(api.data.get_bom_data_1.output[i]); | |
} | |
} | |
return { | |
propName: "Alledges", | |
value:cur_edge | |
}; | |
break; | |
case "L13": | |
for(var i = 0;i<api.data.get_bom_data_1.output.length;i++) | |
{ | |
var index = cur_node.findIndex(item => item.viewData.compid === api.data.get_bom_data_1.output[i].viewData.compid); | |
if(api.data.get_bom_data_1.output[i].viewData.parent === event.payload.node.viewData.compid && index<0) | |
{ | |
var edge = {}; | |
edge.id = api.data.get_bom_data_1.output[i].id.replace("L","E"); | |
edge.sourceId = event.payload.node.id; | |
edge.targetId = api.data.get_bom_data_1.output[i].id; | |
cur_edge.push(edge); | |
cur_node.push(api.data.get_bom_data_1.output[i]); | |
} | |
} | |
return { | |
propName: "Alledges", | |
value:cur_edge | |
}; | |
break; | |
case "L14": | |
for(var i = 0;i<api.data.get_bom_data_1.output.length;i++) | |
{ | |
var index = cur_node.findIndex(item => item.viewData.compid === api.data.get_bom_data_1.output[i].viewData.compid); | |
if(api.data.get_bom_data_1.output[i].viewData.parent === event.payload.node.viewData.compid && index<0) | |
{ | |
var edge = {}; | |
edge.id = api.data.get_bom_data_1.output[i].id.replace("L","E"); | |
edge.sourceId = event.payload.node.id; | |
edge.targetId = api.data.get_bom_data_1.output[i].id; | |
cur_edge.push(edge); | |
cur_node.push(api.data.get_bom_data_1.output[i]); | |
} | |
} | |
return { | |
propName: "Alledges", | |
value:cur_edge | |
}; | |
break; | |
case "L15": | |
for(var i = 0;i<api.data.get_bom_data_1.output.length;i++) | |
{ | |
var index = cur_node.findIndex(item => item.viewData.compid === api.data.get_bom_data_1.output[i].viewData.compid); | |
if(api.data.get_bom_data_1.output[i].viewData.parent === event.payload.node.viewData.compid && index<0) | |
{ | |
var edge = {}; | |
edge.id = api.data.get_bom_data_1.output[i].id.replace("L","E"); | |
edge.sourceId = event.payload.node.id; | |
edge.targetId = api.data.get_bom_data_1.output[i].id; | |
cur_edge.push(edge); | |
cur_node.push(api.data.get_bom_data_1.output[i]); | |
} | |
} | |
return { | |
propName: "Alledges", | |
value:cur_edge | |
}; | |
break; | |
case "L16": | |
for(var i = 0;i<api.data.get_bom_data_1.output.length;i++) | |
{ | |
var index = cur_node.findIndex(item => item.viewData.compid === api.data.get_bom_data_1.output[i].viewData.compid); | |
if(api.data.get_bom_data_1.output[i].viewData.parent === event.payload.node.viewData.compid && index<0) | |
{ | |
var edge = {}; | |
edge.id = api.data.get_bom_data_1.output[i].id.replace("L","E"); | |
edge.sourceId = event.payload.node.id; | |
edge.targetId = api.data.get_bom_data_1.output[i].id; | |
cur_edge.push(edge); | |
cur_node.push(api.data.get_bom_data_1.output[i]); | |
} | |
} | |
return { | |
propName: "Alledges", | |
value:cur_edge | |
}; | |
break; | |
default: | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @param {params} params | |
* @param {api} params.api | |
* @param {any} params.event | |
*/ | |
function evaluateEvent({ api, event }) { | |
var get_menu = []; | |
if (event.payload.node.id) { | |
if (event.payload.node.id == "L0") { | |
var menu = { | |
id: "M1", | |
label: "Finished product - " + event.payload.node.viewData.primaryLabel, | |
}; | |
get_menu.push(menu); | |
} else { | |
var index = api.data.get_bom_data_1.output.filter( | |
(element) => | |
element.viewData.compid === event.payload.node.viewData.compid | |
); | |
if (index.length == 1) { | |
var menu1 = { | |
id: "M1", | |
label: "Component - " + event.payload.node.viewData.primaryLabel, | |
}; | |
var menu2 = { | |
id: "M2", | |
label: "Req Quantity - " + event.payload.node.viewData.Req_Quantity, | |
}; | |
var menu3 = { | |
id: "M3", | |
label: "Supplier - " + event.payload.node.viewData.Supplier, | |
}; | |
var menu4 = { | |
id: "M4", | |
label: "Avl Quantity - " + event.payload.node.viewData.Avl_Quantity, | |
}; | |
get_menu.push(menu1); | |
get_menu.push(menu2); | |
get_menu.push(menu3); | |
get_menu.push(menu4); | |
} else if (index.length == 2) { | |
var menu1 = { | |
id: "M1", | |
label: "Component - " + event.payload.node.viewData.primaryLabel, | |
}; | |
var menu2 = { | |
id: "M2", | |
label: "Req Quantity - " + event.payload.node.viewData.Req_Quantity, | |
}; | |
var menu3 = { | |
id: "M3", | |
label: "Supplier 1 - " + index[1].viewData.Supplier, | |
}; | |
var menu4 = { | |
id: "M4", | |
label: | |
"Avl Quantity at supplier 1- " + index[1].viewData.Avl_Quantity, | |
}; | |
var menu5 = { | |
id: "M5", | |
label: "Supplier 2 - " + index[0].viewData.Supplier, | |
}; | |
var menu6 = { | |
id: "M6", | |
label: | |
"Avl Quantity at supplier 2- " + index[0].viewData.Avl_Quantity, | |
}; | |
get_menu.push(menu1); | |
get_menu.push(menu2); | |
get_menu.push(menu3); | |
get_menu.push(menu4); | |
get_menu.push(menu5); | |
get_menu.push(menu6); | |
} | |
} | |
return { | |
propName: "Contextmenu", | |
value: get_menu, | |
}; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @param {params} params | |
* @param {api} params.api | |
* @param {any} params.event | |
*/ | |
function evaluateEvent({api, event}) { | |
var cur_node=[]; | |
if(event.payload.node.viewData.isexpand == "no") | |
{ | |
return; | |
} | |
else | |
{ | |
switch(event.payload.node.id) | |
{ | |
case "L0": | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
if(api.state.Allnodes[i].id === "L0") | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
} | |
return { | |
propName: "Allnodes", | |
value: cur_node | |
}; | |
break; | |
case "L11": | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
if(api.state.Allnodes[i].viewData.parent != event.payload.node.viewData.compid) | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
case "L13": | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
if(api.state.Allnodes[i].viewData.parent != event.payload.node.viewData.compid) | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
case "L14": | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
if(api.state.Allnodes[i].viewData.parent != event.payload.node.viewData.compid) | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
case "L15": | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
if(api.state.Allnodes[i].viewData.parent != event.payload.node.viewData.compid) | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
case "L16": | |
for(var i=0;i<api.state.Allnodes.length;i++) | |
{ | |
if(api.state.Allnodes[i].viewData.parent != event.payload.node.viewData.compid) | |
{ | |
cur_node.push(api.state.Allnodes[i]); | |
} | |
} | |
return { | |
propName: "Allnodes", | |
value:cur_node | |
}; | |
break; | |
default: | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @param {params} params | |
* @param {api} params.api | |
* @param {any} params.event | |
*/ | |
function evaluateEvent({ api, event }) { | |
var cur_edge = []; | |
if (event.payload.node.viewData.isexpand == "no") { | |
return; | |
} else { | |
var index = api.state.Allnodes.findIndex( | |
(item) => item.id === event.payload.node.id | |
); | |
api.state.Allnodes[index].viewData.isexpand = "no"; | |
switch (event.payload.node.id) { | |
case "L0": | |
cur_edge = []; | |
return { | |
propName: "Alledges", | |
value: cur_edge, | |
}; | |
break; | |
case "L11": | |
for (var i = 0; i < api.state.Allnodes.length; i++) { | |
if ( | |
api.state.Allnodes[i].viewData.parent != | |
event.payload.node.viewData.compid | |
) { | |
var e_id = api.state.Allnodes[i].id.replace("L", "E"); | |
var index = api.state.Alledges.findIndex( | |
(item) => item.id === e_id | |
); | |
if (index >= 0) cur_edge.push(api.state.Alledges[index]); | |
} | |
} | |
return { | |
propName: "Alledges", | |
value: cur_edge, | |
}; | |
break; | |
case "L13": | |
for (var i = 0; i < api.state.Allnodes.length; i++) { | |
if ( | |
api.state.Allnodes[i].viewData.parent != | |
event.payload.node.viewData.compid | |
) { | |
var e_id = api.state.Allnodes[i].id.replace("L", "E"); | |
var index = api.state.Alledges.findIndex( | |
(item) => item.id === e_id | |
); | |
if (index >= 0) cur_edge.push(api.state.Alledges[index]); | |
} | |
} | |
return { | |
propName: "Alledges", | |
value: cur_edge, | |
}; | |
break; | |
case "L14": | |
for (var i = 0; i < api.state.Allnodes.length; i++) { | |
if ( | |
api.state.Allnodes[i].viewData.parent != | |
event.payload.node.viewData.compid | |
) { | |
var e_id = api.state.Allnodes[i].id.replace("L", "E"); | |
var index = api.state.Alledges.findIndex( | |
(item) => item.id === e_id | |
); | |
if (index >= 0) cur_edge.push(api.state.Alledges[index]); | |
} | |
} | |
return { | |
propName: "Alledges", | |
value: cur_edge, | |
}; | |
break; | |
case "L15": | |
for (var i = 0; i < api.state.Allnodes.length; i++) { | |
if ( | |
api.state.Allnodes[i].viewData.parent != | |
event.payload.node.viewData.compid | |
) { | |
var e_id = api.state.Allnodes[i].id.replace("L", "E"); | |
var index = api.state.Alledges.findIndex( | |
(item) => item.id === e_id | |
); | |
if (index >= 0) cur_edge.push(api.state.Alledges[index]); | |
} | |
} | |
return { | |
propName: "Alledges", | |
value: cur_edge, | |
}; | |
break; | |
case "L16": | |
for (var i = 0; i < api.state.Allnodes.length; i++) { | |
if ( | |
api.state.Allnodes[i].viewData.parent != | |
event.payload.node.viewData.compid | |
) { | |
var e_id = api.state.Allnodes[i].id.replace("L", "E"); | |
var index = api.state.Alledges.findIndex( | |
(item) => item.id === e_id | |
); | |
if (index >= 0) cur_edge.push(api.state.Alledges[index]); | |
} | |
} | |
return { | |
propName: "Alledges", | |
value: cur_edge, | |
}; | |
break; | |
default: | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment