]> 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
git-svn-id: https://svn.argeo.org/slc/trunk@2661 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc
[gpl/argeo-slc.git] / server / org.argeo.slc.ria / src / argeo-ria-lib / slc / class / org / argeo / slc / ria / FlowsSelectorView.js
index f30018443f297f0f0e44e6ba038c7bab7f4ba2f1..21c187ec29b84b68825c2d270c04fb7b36c02873 100644 (file)
@@ -36,7 +36,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                        init : {\r
                                "addtobatch" : {\r
                                        label : "Add to batch",\r
-                                       icon : "resource/slc/list-add.png",\r
+                                       icon : "org.argeo.slc.ria/list-add.png",\r
                                        shortcut : null,\r
                                        enabled : true,\r
                                        menu : null,\r
@@ -76,7 +76,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                                                        case "qx.ui.tree.TreeFile" :\r
                                                                this.setEnabled(true);\r
                                                                break;\r
-                                                       case "qx.ui.tree.TreeFolder" :\r
+                                                       case "org.argeo.ria.components.PersistentTreeFolder" :\r
                                                                if (item.getTree().getRoot() == item)\r
                                                                        break;\r
                                                                this.setEnabled(true);\r
@@ -93,7 +93,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                                },\r
                                "reloadtree" : {\r
                                        label : "Reload",\r
-                                       icon : "resource/slc/view-refresh.png",\r
+                                       icon : "org.argeo.slc.ria/view-refresh.png",\r
                                        shortcut : "Control+m",\r
                                        enabled : false,\r
                                        menu : "Launcher",\r
@@ -165,7 +165,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                 * Static loader for the "agent" level (first level)\r
                 * \r
                 * @param folder\r
-                *            {qx.ui.tree.TreeFolder} The root Tree Folder.\r
+                *            {org.argeo.ria.components.PersistentTreeFolder} The root Tree Folder.\r
                 */\r
                agentLoader : function(folder) {\r
 \r
@@ -183,20 +183,19 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                                var modulesLoader = org.argeo.slc.ria.FlowsSelectorView.modulesLoader;\r
                                \r
                                for (var i = 0; i < nodes.length; i++) {\r
-                                       var uuid = org.argeo.ria.util.Element.getSingleNodeText(\r
-                                                       nodes[i], "@uuid");\r
+                                       var uuid = org.argeo.ria.util.Element.getSingleNodeText(nodes[i], "@uuid");\r
+                                       var host = org.argeo.ria.util.Element.getSingleNodeText(nodes[i], "slc:host");\r
                                        if(agents[uuid]){\r
                                                newAgents[uuid] = host;\r
                                                continue;\r
                                        }\r
-                                       var host = org.argeo.ria.util.Element.getSingleNodeText(nodes[i], "slc:host");\r
                                        agents[uuid] = host;\r
                                        if(newAgents) newAgents[uuid] = host;\r
                                        var agentFolder = new org.argeo.ria.components.DynamicTreeFolder(\r
                                                        host + ' (' + uuid + ')', modulesLoader,\r
                                                        "Loading Modules...", folder.getDragData());\r
                                        agentFolder.setUserData("agentUuid", uuid);\r
-                                       agentFolder.setIcon("resource/slc/mime-xsl-22.png");\r
+                                       agentFolder.setIcon("org.argeo.slc.ria/mime-xsl-22.png");\r
                                        folder.add(agentFolder);\r
                                }\r
                                if(newAgents){\r
@@ -227,7 +226,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                 * root folder.\r
                 * \r
                 * @param folder\r
-                *            {qx.ui.tree.TreeFolder} The root folder\r
+                *            {org.argeo.ria.components.PersistentTreeFolder} The root folder\r
                 */\r
                modulesLoader : function(folder) {\r
                        var agentId = folder.getUserData("agentUuid");\r
@@ -252,12 +251,14 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                                                var versionFolder = new org.argeo.ria.components.DynamicTreeFolder(\r
                                                                key + ' (' + mods[key][i] + ')', flowLoader,\r
                                                                "Loading Flows", folder.getDragData());\r
-                                               folder.add(versionFolder);\r
                                                versionFolder.setUserData("moduleData", {\r
                                                                        name : key,\r
                                                                        version : mods[key][i]\r
                                                                });\r
                                                versionFolder.setUserData("agentUuid", agentId);\r
+                                               // Warning, we must add it AFTER setting the user data, \r
+                                               // because of the persistent loading mechanism.\r
+                                               folder.add(versionFolder);\r
                                        }\r
                                }\r
                                folder.setLoaded(true);\r
@@ -274,7 +275,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                 * and create its children.\r
                 * \r
                 * @param folder\r
-                *            {qx.ui.tree.TreeFolder} A Tree folder containing in the\r
+                *            {org.argeo.ria.components.PersistentTreeFolder} A Tree folder containing in the\r
                 *            key "moduleData" of its user data a map containing the\r
                 *            keys {name,version}\r
                 */\r
@@ -345,7 +346,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                                        continue;\r
                                crtPath += "/" + parts[i];                              \r
                                if (!model[crtPath]) {\r
-                                       var virtualFolder = new qx.ui.tree.TreeFolder(parts[i]);\r
+                                       var virtualFolder = new org.argeo.ria.components.PersistentTreeFolder(parts[i]);\r
                                        if (userData && qx.lang.Object.getLength(userData)) {\r
                                                for (var key in userData) {\r
                                                        virtualFolder.setUserData(key, userData[key]);\r
@@ -459,6 +460,7 @@ qx.Class.define("org.argeo.slc.ria.FlowsSelectorView", {
                                        "Tests", this.self(arguments).agentLoader,\r
                                        "Loading Agents", dragData);\r
                        this.tree.setRoot(this.rootNode);\r
+                       this.rootNode.setPersistentTreeID("org.argeo.slc.ria.FlowsSelector")\r
                        this.rootNode.setOpen(true);\r
                        this.tree.setContextMenu(org.argeo.ria.event.CommandsManager\r
                                        .getInstance().createMenuFromIds(["addtobatch",\r