]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/FlowsSelectorView.js
Check if the flow name contains slashes and if not path is set, and use the name...
[gpl/argeo-slc.git] / server / org.argeo.slc.ria / src / argeo-ria-lib / slc / class / org / argeo / slc / ria / FlowsSelectorView.js
index 4d3494f50ebc69bba5285d8a9e3c825cfc15d92e..d15b71a1d265a3310c0cdbb57f97580d422f182c 100644 (file)
@@ -29,6 +29,10 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                instanceLabel : {\r
                        init : ""\r
                },\r
+               executeAfterAdd : {\r
+                       init : false,\r
+                       check : "Boolean"\r
+               },\r
                /**\r
                 * Commands definition, see\r
                 * {@link org.argeo.ria.event.CommandsManager#definitions}\r
@@ -65,6 +69,11 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                                                                return;\r
                                                        }\r
                                                }\r
+                                               if(this.getExecuteAfterAdd() && batchView.getCommands()){\r
+                                                       batchView.setForceClearPreference(true);\r
+                                                       batchView.getCommands()["submitform"].command.execute();\r
+                                               }\r
+                                               this.setExecuteAfterAdd(false);\r
                                        },\r
                                        selectionChange : function(viewId, selection) {\r
                                                if (viewId != "form:tree")\r
@@ -365,12 +374,24 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                                }\r
                                var execFlows = executionModule.getExecutionFlows();\r
                                for (var key in execFlows) {\r
-                                       var file = new qx.ui.tree.TreeFile(key);\r
+                                       var path = execFlows[key].getPath();\r
+                                       var name = execFlows[key].getName();\r
+                                       var nodeLabel = key;\r
+                                       var sep = "\/";\r
+                                       if(name && name.indexOf(sep)>-1 && !path){\r
+                                               // Use given name to build the path.\r
+                                               // split dirname and basename\r
+                                               var parts = name.split(sep);\r
+                                               var basename = parts.pop();\r
+                                               var dirname = parts.join("/");\r
+                                               path = dirname;\r
+                                               nodeLabel = basename;\r
+                                       }\r
+                                       var file = new qx.ui.tree.TreeFile(nodeLabel);\r
                                        if(execFlows[key].getDescription() != ""){\r
                                                org.argeo.slc.ria.FlowsSelectorView.attachToolTip(file, execFlows[key].getDescription());\r
                                        }\r
                                        file.setIcon("org.argeo.slc.ria/system.png");\r
-                                       var path = execFlows[key].getPath();\r
                                        file.setUserData("executionModule",     executionModule);\r
                                        file.setUserData("executionFlow", execFlows[key]);\r
                                        file.setUserData("agentUuid", agentUuid);\r
@@ -581,6 +602,15 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                                }\r
                        }, this);\r
 \r
+                       this.tree.addListener("dblclick", function(e){\r
+                               var sel = this.tree.getSortedSelection();\r
+                               if(sel && sel.length!=1)  return;\r
+                               var origin = sel[0];\r
+                               if(origin.classname == "qx.ui.tree.TreeFile"){\r
+                                       this.setExecuteAfterAdd(true);\r
+                                       this.getCommands()["addtobatch"].command.execute();\r
+                               }\r
+                       }, this);\r
 \r
                        this.add(this.tree);\r
                },\r