\r
model.init("myCanvas");\r
model.draw();\r
-\r
-function getPressedKey(e) {\r
- var keyCode=` ${e.code}`;\r
- \r
- if(keyCode == " Delete"){\r
- console.log("Delete lett nyomva");\r
- }\r
- console.log("keydown: ", keyCode);\r
-}\r
- \r
- document.addEventListener("keydown", getPressedKey);\r
\r
function setFlowchartData(data) {\r
var arrays= JSON.parse(data);\r
model.addLink(new model.link(i+1, i+2, 1, 0, "", "straight"));\r
}\r
}\r
- model.addLink(new model.link(i, i+1, 1, 0, "", "straight"));\r
model.draw();\r
\r
for (let i = 0; i < params.length; i++) {\r
function getFlowchartData(){\r
console.log("getFlowchartData");\r
zk.Widget.$('$flowchartDataListener').fire('onFlowchartDataChanged', { model }, {toServer : true});\r
+}\r
+\r
+function deleteSelectedElement(){\r
+ //if a node is selected for deletion\r
+ if(mouse.selLink == null && mouse.selNode != null){\r
+ let linksRefreshNeeded= true;\r
+ if(mouse.selNode == model.nodes.length-2){\r
+ linksRefreshNeeded= false; \r
+ }\r
+ \r
+ if(model.nodes.length == 3 && mouse.selNode == 1){\r
+ //delete all the links\r
+ model.links= [];\r
+ } else if (model.nodes.length > 3){\r
+ for(let index= 0; index < model.links.length; index++){\r
+ if(model.links[index].to == mouse.selNode || model.links[index].from == mouse.selNode){\r
+ model.links.splice(index, 1);\r
+ index= -1;\r
+ }\r
+ }\r
+ }\r
+ //update the links to and from parameters, since node indices have also chaged, \r
+ //if the selected node is not the last one\r
+ if(linksRefreshNeeded){\r
+ for(let i= 0; i < model.links.length; i++){\r
+ if(model.links[i].to != 1){\r
+ model.links[i].to--;\r
+ }\r
+ if(model.links[i].from != 0){\r
+ model.links[i].from--;\r
+ }\r
+ }\r
+ }\r
+ \r
+ //delete the node\r
+ model.nodes.splice(mouse.selNode, 1);\r
+ mouse.selNode= null; \r
+ }\r
+ \r
+ //if the selected element for deletion is a link\r
+ if(mouse.selLink != null && mouse.selNode == null){\r
+ model.links.splice(mouse.selLink, 1);\r
+ mouse.selLink= null;\r
+ }\r
+\r
+ model.draw();\r
}
\ No newline at end of file
\r
@GlobalCommand\r
public void selectedJobChanged(@BindingParam("selectedJob") BasicDBObject selectedJob) {\r
- logger.info("selectedJobChanged");\r
setSelectedJob(selectedJob);\r
\r
if (selectedTabID.equals("tab2")) {\r
logger.info("converted document: {}", XMLUtils.getStringFromDocument(document));\r
}\r
\r
+ @Command\r
+ public void onDeletePressed(@ContextParam(ContextType.TRIGGER_EVENT) Event event) {\r
+ Clients.evalJavaScript("deleteSelectedElement();");\r
+ }\r
+\r
private JobTemplate JSONObjectToJobtemplate(JSONObject data) {\r
JobTemplate template = new JobTemplate();\r
DeclarationSequence ds = new DeclarationSequence();\r
\r
@GlobalCommand\r
public void selectedTabChanged(@BindingParam("evt") SelectEvent<Tab, Event> event) {\r
- logger.info("selectedTabChanged");\r
setSelectedTabID(event.getReference().getId());\r
\r
if (selectedTabID.equals("tab2")) {\r
}\r
\r
private void initializeCanvas() {\r
- String js = "mouse.selNode= null;\r\n model.clear();\r\n model.clean();\r\n model.draw();";\r
+ String js = "mouse.selNode= null;\r\n mouse.selLink= null;\r\n model.clear();\r\n model.clean();\r\n model.draw();";\r
Clients.evalJavaScript(js);\r
}\r
\r