X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=server%2Forg.argeo.slc.ria%2Fsrc%2Fargeo-ria-lib%2Fslc%2Fclass%2Forg%2Fargeo%2Fslc%2Fria%2FFlowsSelectorView.js;h=755fc1d0eca7472f315714dcff097013c4eaf2d1;hb=1973d521367cdfe1d467da2bb8a539284996bcf6;hp=4d3494f50ebc69bba5285d8a9e3c825cfc15d92e;hpb=512ff8bd89ece231de1497cb4cfa3b11b275318b;p=gpl%2Fargeo-slc.git diff --git a/server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/FlowsSelectorView.js b/server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/FlowsSelectorView.js index 4d3494f50..755fc1d0e 100644 --- a/server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/FlowsSelectorView.js +++ b/server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/FlowsSelectorView.js @@ -29,6 +29,10 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { instanceLabel : { init : "" }, + executeAfterAdd : { + init : false, + check : "Boolean" + }, /** * Commands definition, see * {@link org.argeo.ria.event.CommandsManager#definitions} @@ -37,7 +41,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { init : { "addtobatch" : { label : "Add to batch", - icon : "org.argeo.slc.ria/list-add.png", + icon : "org/argeo/slc/ria/list-add.png", shortcut : null, enabled : true, menu : null, @@ -65,6 +69,11 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { return; } } + if(this.getExecuteAfterAdd() && batchView.getCommands()){ + batchView.setForceClearPreference(true); + batchView.getCommands()["submitform"].command.execute(); + } + this.setExecuteAfterAdd(false); }, selectionChange : function(viewId, selection) { if (viewId != "form:tree") @@ -124,19 +133,20 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { }, "reloadfull" : { label : "Reload Agents", - icon : "org.argeo.slc.ria/view-refresh.png", + icon : "org/argeo/slc/ria/view-refresh.png", shortcut : "control+h", enabled : true, menu : "Launcher", toolbar : "list", callback : function(e) { - this.rootNode.reload(); + this.rootNode.setState("loading"); + this.rootNode.load(); }, command : null }, "reloadtree" : { label : "Reload Node", - icon : "org.argeo.slc.ria/view-refresh.png", + icon : "org/argeo/slc/ria/view-refresh.png", shortcut : null, enabled : false, menu : null, @@ -226,7 +236,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { } var req = org.argeo.slc.ria.SlcApi.getListAgentsService("agents"); var agents = {}; - if(folder.getState() == "loaded" && folder.getUserData("agentsMap")){ + if(folder.getUserData("agentsMap")){ // Diff loading, just add new nodes. agents = folder.getUserData("agentsMap"); var newAgents = {}; @@ -254,10 +264,10 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { agentFolder.setUserData("agentUuid", uuid); if(preferredHosts && preferredHosts instanceof Array && qx.lang.Array.contains(preferredHosts, host)){ folder.addAtBegin(agentFolder); - agentFolder.setIcon("org.argeo.slc.ria/computer_bookmarked.png"); + agentFolder.setIcon("org/argeo/slc/ria/computer_bookmarked.png"); }else{ folder.add(agentFolder); - agentFolder.setIcon("org.argeo.slc.ria/computer.png"); + agentFolder.setIcon("org/argeo/slc/ria/computer.png"); } } if(newAgents){ @@ -274,7 +284,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { } folder.setUserData("agentsMap", agents); folder.setLoaded(true); - folder.getTree().fireEvent("changeSelection"); + folder.getTree().fireDataEvent("changeSelection", folder.getTree().getSelection()); }); req.addListener("failed", function(response) { folder.setLoaded(true); @@ -322,7 +332,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { name : key, version : module.getVersion() }); - versionFolder.setIcon("org.argeo.slc.ria/archive.png"); + versionFolder.setIcon("org/argeo/slc/ria/archive.png"); versionFolder.setUserData("agentUuid", agentId); var sep = (module.getDescription()!=""?" - ":""); org.argeo.slc.ria.FlowsSelectorView.attachToolTip(versionFolder, key + ' (' + module.getVersion() + ')'+sep+module.getDescription()); @@ -332,7 +342,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { } } folder.setLoaded(true); - folder.getTree().fireEvent("changeSelection"); + folder.getTree().fireDataEvent("changeSelection", folder.getTree().getSelection()); }); req.addListener("failed", function(response) { folder.setLoaded(true); @@ -365,12 +375,24 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { } var execFlows = executionModule.getExecutionFlows(); for (var key in execFlows) { - var file = new qx.ui.tree.TreeFile(key); + var path = execFlows[key].getPath(); + var name = execFlows[key].getName(); + var nodeLabel = key; + var sep = "\/"; + if(name && name.indexOf(sep)>-1 && !path){ + // Use given name to build the path. + // split dirname and basename + var parts = name.split(sep); + var basename = parts.pop(); + var dirname = parts.join("/"); + path = dirname; + nodeLabel = basename; + } + var file = new qx.ui.tree.TreeFile(nodeLabel); if(execFlows[key].getDescription() != ""){ org.argeo.slc.ria.FlowsSelectorView.attachToolTip(file, execFlows[key].getDescription()); } - file.setIcon("org.argeo.slc.ria/system.png"); - var path = execFlows[key].getPath(); + file.setIcon("org/argeo/slc/ria/system.png"); file.setUserData("executionModule", executionModule); file.setUserData("executionFlow", execFlows[key]); file.setUserData("agentUuid", agentUuid); @@ -380,7 +402,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { folder.appendDragData(file); } folder.setLoaded(true); - folder.getTree().fireEvent("changeSelection"); + folder.getTree().fireDataEvent("changeSelection", folder.getTree().getSelection()); }); req.addListener("failed", function(response) { folder.setLoaded(true); @@ -530,10 +552,10 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { } if(qx.lang.Array.contains(prefArray, hostName)){ qx.lang.Array.remove(prefArray, hostName); - agentNode.setIcon("org.argeo.slc.ria/computer.png"); + agentNode.setIcon("org/argeo/slc/ria/computer.png"); }else{ prefArray.push(hostName); - agentNode.setIcon("org.argeo.slc.ria/computer_bookmarked.png"); + agentNode.setIcon("org/argeo/slc/ria/computer_bookmarked.png"); var parent = agentNode.getParent(); parent.remove(agentNode); parent.addAtBegin(agentNode); @@ -565,7 +587,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { "Loading Agents", dragData); this.tree.setRoot(this.rootNode); this.tree.setHideRoot(true); - this.rootNode.setPersistentTreeID("org.argeo.slc.ria.FlowsSelector") + this.rootNode.setPersistentTreeID("org/argeo/slc/ria.FlowsSelector") this.rootNode.setOpen(true); this.tree.setContextMenu(org.argeo.ria.event.CommandsManager .getInstance().createMenuFromIds(["addtobatch", @@ -581,6 +603,15 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", { } }, this); + this.tree.addListener("dblclick", function(e){ + var sel = this.tree.getSortedSelection(); + if(sel && sel.length!=1) return; + var origin = sel[0]; + if(origin.classname == "qx.ui.tree.TreeFile"){ + this.setExecuteAfterAdd(true); + this.getCommands()["addtobatch"].command.execute(); + } + }, this); this.add(this.tree); },