From dc7d0f327ccf4b7dd524466953d995fd539ef797 Mon Sep 17 00:00:00 2001 From: Charles du Jeu Date: Mon, 8 Dec 2008 23:57:26 +0000 Subject: [PATCH] Wire the last service that allow filtering by collection id git-svn-id: https://svn.argeo.org/slc/trunk@1972 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../source/class/org/argeo/slc/web/Applet.js | 4 +- .../class/org/argeo/slc/web/TestList.js | 52 +++++++++++-------- .../class/org/argeo/slc/web/XmlRenderer.js | 8 +-- 3 files changed, 37 insertions(+), 27 deletions(-) diff --git a/org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/Applet.js b/org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/Applet.js index 8c1943343..1ff9c71e3 100644 --- a/org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/Applet.js +++ b/org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/Applet.js @@ -66,9 +66,9 @@ qx.Class.define("org.argeo.slc.web.Applet", this.data = xmlNode; if(!xmlNode) return; // Load XML or Whatever - //var testType = qx.dom.Node.getText(qx.xml.Element.selectSingleNode(this.data, "param[@name='testType']")); var service; - var testId = qx.dom.Node.getText(org.argeo.ria.util.Element.selectSingleNode(this.data, "param[@name='uuid']")); + var NSMap = {slc:"http://argeo.org/projects/slc/schemas"}; + var testId = qx.dom.Node.getText(org.argeo.ria.util.Element.selectSingleNode(this.data, "slc:uuid")); this.info("Opening test "+testId); this.getView().setViewTitle("Test "+testId); service = "../resultViewXml.xslt?uuid="+testId; diff --git a/org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/TestList.js b/org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/TestList.js index e0506afa9..3b5d22d26 100644 --- a/org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/TestList.js +++ b/org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/TestList.js @@ -87,10 +87,7 @@ qx.Class.define("org.argeo.slc.web.TestList", if(viewId != "list") return; this.setEnabled(false); if(xmlNodes == null || !xmlNodes.length) return; - var applet = org.argeo.ria.util.Element.selectSingleNode(xmlNodes[0],'report[@type="applet"]'); - if(applet != null && qx.dom.Node.getText(applet) != ""){ - this.setEnabled(true); - } + this.setEnabled(true); }, command : null }, @@ -105,10 +102,7 @@ qx.Class.define("org.argeo.slc.web.TestList", command : null, submenu : {}, submenuCallback : function(commandId){ - var viewsManager = org.argeo.ria.components.ViewsManager.getInstance(); - var xmlNodes = viewsManager.getViewPaneSelection("list").getNodes(); - // Single selection - var uuid = qx.xml.Element.getSingleNodeText(xmlNodes[0], 'param[@name="uuid"]'); + var uuid = this.extractTestUuid(); var urls = { xsl : "resultView.xslt", xml : "resultViewXml.xslt", @@ -122,12 +116,21 @@ qx.Class.define("org.argeo.slc.web.TestList", var win = window.open(url); } }, + init : function(command){ + this.setMenu([ + {'label':"Xsl", 'icon':'resource/slc/mime-xsl.png', 'commandId':'xsl'}, + {'label':"Xml", 'icon':'resource/slc/mime-xml.png', 'commandId':'xml'}, + {'label':"Excel", 'icon':'resource/slc/mime-xls.png', 'commandId':'xls'}, + {'label':"Pdf", 'icon':'resource/slc/mime-pdf.png', 'commandId':'pdf'} + ]); + }, selectionChange : function(viewId, xmlNodes){ if(viewId!="list")return; this.clearMenus(); this.setEnabled(false); - if(xmlNodes == null) return; - + if(xmlNodes == null || !xmlNodes.length) return; + this.setEnabled(true); + /* var reports = qx.xml.Element.selectNodes(xmlNodes[0],'report[@type="download"]'); if(reports == null || !reports.length)return; var submenus = []; @@ -142,6 +145,7 @@ qx.Class.define("org.argeo.slc.web.TestList", } this.setMenu(submenus); this.setEnabled(true); + */ } }, "deletetest" : { @@ -152,9 +156,6 @@ qx.Class.define("org.argeo.slc.web.TestList", menu : "Selection", toolbar : "selection", callback : function(e){ - var viewsManager = org.argeo.ria.components.ViewsManager.getInstance(); - var xmlNodes = viewsManager.getViewPaneSelection("list").getNodes(); - var uuid = qx.xml.Element.getSingleNodeText(xmlNodes[0], 'param[@name="uuid"]'); var serviceManager = org.argeo.ria.remote.RequestManager.getInstance(); var request = serviceManager.getRequest( "/org.argeo.slc.webapp/removeResultFromCollection.service", @@ -162,7 +163,7 @@ qx.Class.define("org.argeo.slc.web.TestList", "application/xml" ); request.setParameter("collectionId", this.getCollectionId()); - request.setParameter("resultUuid", uuid); + request.setParameter("resultUuid", this.extractTestUuid()); request.addListener("completed", function(response){ this.loadCollections(); this.loadList(); @@ -266,6 +267,7 @@ qx.Class.define("org.argeo.slc.web.TestList", select.setSelected(item); } } + this.setCollectionId(select.getSelected().getValue()); select.addListener("changeValue", this.collectionSelectorListener, this); }, this); @@ -296,7 +298,7 @@ qx.Class.define("org.argeo.slc.web.TestList", }, loadList : function(){ - var url = "/org.argeo.slc.webapp/resultList.ui"; + var url = "/org.argeo.slc.webapp/listResultAttributes.service"; var model = this.table.getTableModel(); model.removeRows(0, model.getRowCount()); var serviceManager = org.argeo.ria.remote.RequestManager.getInstance(); @@ -304,15 +306,16 @@ qx.Class.define("org.argeo.slc.web.TestList", var request = serviceManager.getRequest( url, "GET", - "application/xml", - "test_cases", + "application/xml", + null, [commandManager.getCommandById("loadtestlist"), this.getView()] ); - request.setParameter("collectionId", this.getCollectionId()); + request.setParameter("id", this.getCollectionId()); + var NSMap = {slc:"http://argeo.org/projects/slc/schemas"}; request.addListener("completed", function(response){ var xml = response.getContent(); this.info("Successfully loaded XML"); - var nodes = qx.xml.Element.selectNodes(xml, "//data"); + var nodes = org.argeo.ria.util.Element.selectNodes(xml, "//slc:result-attributes", NSMap); for(var i=0; i