From 19cb214e5179914da0c9fe2442eecab19c996de3 Mon Sep 17 00:00:00 2001 From: Charles du Jeu Date: Mon, 8 Dec 2008 22:34:25 +0000 Subject: [PATCH] Various implementations git-svn-id: https://svn.argeo.org/slc/trunk@1971 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../class/org/argeo/slc/web/Perspective.js | 1 + .../class/org/argeo/slc/web/TestList.js | 82 ++++++++++++++++--- 2 files changed, 71 insertions(+), 12 deletions(-) diff --git a/org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/Perspective.js b/org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/Perspective.js index 93b097dc6..6671b5fe6 100644 --- a/org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/Perspective.js +++ b/org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/Perspective.js @@ -36,6 +36,7 @@ qx.Class.define("org.argeo.slc.web.Perspective", view.load(); //var command = org.argeo.ria.event.CommandsManager.getInstance().executeCommand("loadtestlist"); view.loadCollections(); // We know it is a TestList! + view.loadList(); } } 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 231aad6f9..e0506afa9 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 @@ -152,7 +152,23 @@ qx.Class.define("org.argeo.slc.web.TestList", menu : "Selection", toolbar : "selection", callback : function(e){ - // Call service to delete + 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", + "GET", + "application/xml" + ); + request.setParameter("collectionId", this.getCollectionId()); + request.setParameter("resultUuid", uuid); + request.addListener("completed", function(response){ + this.loadCollections(); + this.loadList(); + this.info("Test was successfully deleted"); + }, this); + request.send(); }, selectionChange : function(viewId, xmlNodes){ if(viewId != "list") return; @@ -236,14 +252,11 @@ qx.Class.define("org.argeo.slc.web.TestList", this.getView().setViewTitle(""); this.add(this.table, {flex:1}); - select.addListener("changeValue", function(dataEvent){ - this.debug(dataEvent.getData()); - this.setCollectionId(dataEvent.getData()); - this.loadList(); - }, this); + select.addListener("changeValue", this.collectionSelectorListener, this); org.argeo.ria.remote.RequestManager.getInstance().addListener("reload", function(event){ if(event.getDataType()!="collection") return; + select.removeListener("changeValue", this.collectionSelectorListener, this); var collectionList = event.getContent(); select.removeAll(); for(key in collectionList){ @@ -253,13 +266,33 @@ qx.Class.define("org.argeo.slc.web.TestList", select.setSelected(item); } } + select.addListener("changeValue", this.collectionSelectorListener, this); }, this); }, loadCollections : function(){ - this.setCollectionList({"Charles":"Collection 'Charles'","My Collection":"Collection 'My Collection'"}); - org.argeo.ria.remote.RequestManager.getInstance().fireReloadEvent("collection", this.getCollectionList()); + var url = "/org.argeo.slc.webapp/listCollectionRefs.service"; + var serviceManager = org.argeo.ria.remote.RequestManager.getInstance(); + var request = serviceManager.getRequest( + url, + "GET", + "application/xml" + ); + var NSMap = {slc:"http://argeo.org/projects/slc/schemas"}; + request.addListener("completed", function(response){ + var xml = response.getContent(); + var collections = {}; + var nodes = org.argeo.ria.util.Element.selectNodes(xml, "//slc:ref", NSMap); + for(var i=0;i