]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/TestList.js
forgotten instruction
[gpl/argeo-slc.git] / org.argeo.slc.webapp / src / main / webapp / source / class / org / argeo / slc / web / TestList.js
index 231aad6f90b34cebd30fcd11ae068dc682ccc0b3..71d61322e02e0a775219076b25d134df5a73030c 100644 (file)
@@ -87,10 +87,7 @@ qx.Class.define("org.argeo.slc.web.TestList",
                                        if(viewId != "list") return;\r
                                        this.setEnabled(false);\r
                                        if(xmlNodes == null || !xmlNodes.length) return;\r
-                                       var applet = org.argeo.ria.util.Element.selectSingleNode(xmlNodes[0],'report[@type="applet"]'); \r
-                                       if(applet != null && qx.dom.Node.getText(applet) != ""){\r
-                                               this.setEnabled(true);                                                  \r
-                                       }                                       \r
+                                       this.setEnabled(true);\r
                                },\r
                                command         : null\r
                        },\r
@@ -105,10 +102,7 @@ qx.Class.define("org.argeo.slc.web.TestList",
                                command         : null,\r
                                submenu         : {},\r
                                submenuCallback : function(commandId){\r
-                                       var viewsManager = org.argeo.ria.components.ViewsManager.getInstance();\r
-                                       var xmlNodes = viewsManager.getViewPaneSelection("list").getNodes();\r
-                                       // Single selection\r
-                                       var uuid = qx.xml.Element.getSingleNodeText(xmlNodes[0], 'param[@name="uuid"]');\r
+                                       var uuid = this.extractTestUuid();\r
                                        var urls = {\r
                                                xsl : "resultView.xslt",\r
                                                xml : "resultViewXml.xslt",\r
@@ -122,12 +116,21 @@ qx.Class.define("org.argeo.slc.web.TestList",
                                                var win = window.open(url);\r
                                        }\r
                                },\r
+                               init : function(command){\r
+                                       this.setMenu([\r
+                                               {'label':"Xsl", 'icon':'resource/slc/mime-xsl.png', 'commandId':'xsl'},\r
+                                               {'label':"Xml", 'icon':'resource/slc/mime-xml.png', 'commandId':'xml'},\r
+                                               {'label':"Excel", 'icon':'resource/slc/mime-xls.png', 'commandId':'xls'},\r
+                                               {'label':"Pdf", 'icon':'resource/slc/mime-pdf.png', 'commandId':'pdf'}\r
+                                       ]);\r
+                               },\r
                                selectionChange : function(viewId, xmlNodes){\r
                                        if(viewId!="list")return;\r
-                                       this.clearMenus();\r
+                                       //this.clearMenus();\r
                                        this.setEnabled(false);\r
-                                       if(xmlNodes == null) return;\r
-                                       \r
+                                       if(xmlNodes == null || !xmlNodes.length) return;\r
+                                       this.setEnabled(true);\r
+                                       /*\r
                                        var reports = qx.xml.Element.selectNodes(xmlNodes[0],'report[@type="download"]');\r
                                        if(reports == null || !reports.length)return;\r
                                        var submenus = [];\r
@@ -142,6 +145,7 @@ qx.Class.define("org.argeo.slc.web.TestList",
                                        }\r
                                        this.setMenu(submenus);\r
                                        this.setEnabled(true);\r
+                                       */\r
                                }\r
                        },\r
                        "deletetest" : {\r
@@ -152,7 +156,20 @@ qx.Class.define("org.argeo.slc.web.TestList",
                                menu            : "Selection",\r
                                toolbar         : "selection",\r
                                callback        : function(e){\r
-                                       // Call service to delete\r
+                                       var serviceManager = org.argeo.ria.remote.RequestManager.getInstance();\r
+                                       var request = serviceManager.getRequest(\r
+                                               "/org.argeo.slc.webapp/removeResultFromCollection.service",\r
+                                               "GET",\r
+                                               "application/xml"\r
+                                       );\r
+                                       request.setParameter("collectionId", this.getCollectionId());\r
+                                       request.setParameter("resultUuid", this.extractTestUuid());\r
+                                       request.addListener("completed", function(response){\r
+                                               this.loadCollections();\r
+                                               this.loadList();\r
+                                               this.info("Test was successfully deleted");\r
+                                       }, this);\r
+                                       request.send();\r
                                },\r
                                selectionChange : function(viewId, xmlNodes){\r
                                        if(viewId != "list") return;\r
@@ -236,14 +253,11 @@ qx.Class.define("org.argeo.slc.web.TestList",
          this.getView().setViewTitle("");\r
          this.add(this.table, {flex:1});\r
 \r
-         select.addListener("changeValue", function(dataEvent){\r
-               this.debug(dataEvent.getData());\r
-               this.setCollectionId(dataEvent.getData());\r
-               this.loadList();\r
-         }, this);\r
+         select.addListener("changeValue", this.collectionSelectorListener, this);\r
 \r
          org.argeo.ria.remote.RequestManager.getInstance().addListener("reload", function(event){\r
                 if(event.getDataType()!="collection") return;\r
+                select.removeListener("changeValue", this.collectionSelectorListener, this);\r
                 var collectionList = event.getContent();\r
                 select.removeAll();\r
                 for(key in collectionList){\r
@@ -253,17 +267,38 @@ qx.Class.define("org.argeo.slc.web.TestList",
                                select.setSelected(item);\r
                        }\r
                 }\r
+                this.setCollectionId(select.getSelected().getValue());\r
+                select.addListener("changeValue", this.collectionSelectorListener, this);\r
          }, this);\r
                  \r
        },\r
        \r
        loadCollections : function(){\r
-               this.setCollectionList({"Charles":"Collection 'Charles'","My Collection":"Collection 'My Collection'"});\r
-               org.argeo.ria.remote.RequestManager.getInstance().fireReloadEvent("collection", this.getCollectionList());\r
+               var url = "/org.argeo.slc.webapp/listCollectionRefs.service";\r
+               var serviceManager = org.argeo.ria.remote.RequestManager.getInstance();\r
+               var request = serviceManager.getRequest(\r
+                       url,\r
+                       "GET",\r
+                       "application/xml"\r
+               );\r
+               var NSMap = {slc:"http://argeo.org/projects/slc/schemas"};\r
+               request.addListener("completed", function(response){\r
+                       var xml = response.getContent();\r
+                       var collections = {};\r
+                       var nodes = org.argeo.ria.util.Element.selectNodes(xml, "//slc:ref", NSMap);\r
+                       for(var i=0;i<nodes.length;i++){\r
+                               var collId = qx.xml.Element.getSingleNodeText(nodes[i], ".");\r
+                               collections[collId] = collId;\r
+                       }\r
+                       this.setCollectionList(collections);\r
+                       org.argeo.ria.remote.RequestManager.getInstance().fireReloadEvent("collection", this.getCollectionList());\r
+               }, this);\r
+               request.setAsynchronous(false);\r
+               request.send();\r
        },\r
        \r
        loadList : function(){\r
-               var url = "/org.argeo.slc.webapp/resultList.ui";\r
+               var url = "/org.argeo.slc.webapp/listResultAttributes.service";\r
                var model = this.table.getTableModel();\r
                model.removeRows(0, model.getRowCount());\r
                var serviceManager = org.argeo.ria.remote.RequestManager.getInstance();\r
@@ -271,15 +306,16 @@ qx.Class.define("org.argeo.slc.web.TestList",
                var request = serviceManager.getRequest(\r
                        url, \r
                        "GET", \r
-                       "application/xml",\r
-                       "test_cases",\r
+                       "application/xml",      \r
+                       null,\r
                        [commandManager.getCommandById("loadtestlist"), this.getView()]\r
                );       \r
-               request.setParameter("collectionId", this.getCollectionId());\r
+               request.setParameter("id", this.getCollectionId());\r
+               var NSMap = {slc:"http://argeo.org/projects/slc/schemas"};\r
                request.addListener("completed", function(response){\r
-                       xml = response.getContent();\r
-                       qx.log.Logger.info("Successfully loaded XML");\r
-                       var nodes = qx.xml.Element.selectNodes(xml, "//data");\r
+                       var xml = response.getContent();\r
+                       this.info("Successfully loaded XML");\r
+                       var nodes = org.argeo.ria.util.Element.selectNodes(xml, "//slc:result-attributes", NSMap);\r
                        for(var i=0; i<nodes.length;i++){\r
                                var rowData = nodes[i];\r
                                model.addRows([rowData]);\r
@@ -327,9 +363,39 @@ qx.Class.define("org.argeo.slc.web.TestList",
                                }\r
                        }, this);\r
                        modal.attachAndShow();\r
-               }else{                  \r
-                       this.debug("Copying "+selectionType+" to collection " + collectionId);\r
+                       return;\r
                }\r
+\r
+               var serviceManager = org.argeo.ria.remote.RequestManager.getInstance();\r
+               var request = serviceManager.getRequest(\r
+                       "/org.argeo.slc.webapp/addResultToCollection.service", \r
+                       "GET", \r
+                       "application/xml"\r
+               );\r
+\r
+               if(selectionType == "current_collection"){\r
+                       this.error("Not implemented yet!");                     \r
+               }else if(selectionType == "current_selection"){\r
+                       // get selection ID\r
+                       request.setParameter("collectionId", collectionId);\r
+                       request.setParameter("resultUuid", this.extractTestUuid());\r
+               }\r
+               request.addListener("completed", function(response){\r
+                       this.loadCollections();\r
+               }, this);\r
+               request.send();         \r
+       },\r
+       \r
+       extractTestUuid: function(){\r
+               var NSMap = {slc:"http://argeo.org/projects/slc/schemas"};\r
+               var xmlNodes = this.getView().getViewSelection().getNodes();\r
+               var uuid = qx.dom.Node.getText(org.argeo.ria.util.Element.selectSingleNode(xmlNodes[0], "slc:uuid"));\r
+               return uuid;\r
+       },\r
+       \r
+       collectionSelectorListener : function(event){\r
+               this.setCollectionId(event.getData());\r
+               this.loadList();                \r
        },\r
        \r
        addScroll : function(){\r