}, \r
command : null\r
},\r
+ "polllistloading" : {\r
+ label : "Auto load", \r
+ icon : "resource/slc/document-open-recent.png",\r
+ shortcut : "Control+l",\r
+ enabled : true,\r
+ toggle : true,\r
+ menu : "Collection",\r
+ toolbar : "collection",\r
+ callback : function(event){\r
+ this.pollListLoading(event.getTarget().getUserData("slc.command.toggleState"));\r
+ }, \r
+ command : null\r
+ },\r
+ /*\r
"copyfullcollection" : {\r
label : "Copy to...", \r
icon : "resource/slc/edit-copy.png",\r
},\r
command : null\r
},\r
+ */\r
"opentest" : {\r
label : "Open", \r
icon : "resource/slc/media-playback-start.png",\r
toolbar : "selection",\r
callback : function(e){\r
var viewsManager = org.argeo.ria.components.ViewsManager.getInstance();\r
- var classObj = org.argeo.slc.web.Applet;\r
+ var classObj = org.argeo.slc.ria.Applet;\r
var iView = viewsManager.initIViewClass(classObj, "applet");\r
var xmlNodes = viewsManager.getViewPaneSelection("list").getNodes();\r
iView.load(xmlNodes[0]);\r
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
toolbar : "selection",\r
callback : function(e){ },\r
command : null,\r
- submenu : {},\r
+ submenu : [\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
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
},\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
- var reports = qx.xml.Element.selectNodes(xmlNodes[0],'report[@type="download"]');\r
- if(reports == null || !reports.length)return;\r
- var submenus = [];\r
- for(var i=0; i<reports.length;i++){\r
- var report = reports[i];\r
- var commandId = qx.dom.Node.getText(org.argeo.ria.util.Element.selectSingleNode(report, "@commandid"));\r
- submenus.push({\r
- "label":qx.dom.Node.getText(report), \r
- "icon":"resource/slc/mime-"+commandId+".png", \r
- "commandId":commandId\r
- });\r
- }\r
- this.setMenu(submenus);\r
+ if(xmlNodes == null || !xmlNodes.length) return;\r
this.setEnabled(true);\r
}\r
},\r
- "deletetest" : {\r
- label : "Delete", \r
- icon : "resource/slc/edit-delete.png",\r
- shortcut : "Control+d",\r
- enabled : false,\r
- menu : "Selection",\r
- toolbar : "selection",\r
- callback : function(e){\r
- // Call service to delete\r
- },\r
- selectionChange : function(viewId, xmlNodes){\r
- if(viewId != "list") return;\r
- this.setEnabled(false);\r
- if(xmlNodes == null || !xmlNodes.length) return;\r
- this.setEnabled(true); \r
- },\r
- command : null\r
- },\r
"copytocollection" : {\r
label : "Copy to...", \r
icon : "resource/slc/edit-copy.png",\r
this.setEnabled(true); \r
},\r
command : null\r
- } \r
+ },\r
+ "deletetest" : {\r
+ label : "Delete", \r
+ icon : "resource/slc/edit-delete.png",\r
+ shortcut : "Control+d",\r
+ enabled : false,\r
+ menu : "Selection",\r
+ toolbar : "selection",\r
+ callback : function(e){\r
+ \r
+ var request = org.argeo.slc.ria.SlcApi.getRemoveResultService(this.getCollectionId(), 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
+ this.setEnabled(false);\r
+ if(xmlNodes == null || !xmlNodes.length) return;\r
+ this.setEnabled(true); \r
+ },\r
+ command : null\r
+ }\r
}\r
}\r
},\r
statusBarVisible: false,\r
showCellFocusIndicator:false,\r
columnVisibilityButtonVisible:false,\r
- contextMenu : org.argeo.ria.event.CommandsManager.getInstance().createMenuFromIds(["opentest", "deletetest", "copytocollection"]),\r
+ contextMenu : org.argeo.ria.event.CommandsManager.getInstance().createMenuFromIds(["opentest", "download", "copytocollection", "deletetest"]),\r
decorator : new qx.ui.decoration.Background("#fff")\r
});\r
var viewPane = this.getView();\r
}, this);\r
var columnModel = this.table.getTableColumnModel(); \r
columnModel.getBehavior().setWidth(0, "60%");\r
- columnModel.setDataCellRenderer(0, new org.argeo.slc.web.XmlRenderer());\r
- columnModel.setDataCellRenderer(1, new org.argeo.slc.web.XmlRenderer());\r
+ var renderer = new org.argeo.slc.web.XmlRenderer();\r
+ columnModel.setDataCellRenderer(0, renderer);\r
+ columnModel.setDataCellRenderer(1, renderer);\r
\r
this.table.getSelectionManager().getSelectionModel().addListener("changeSelection", function(e){\r
var viewSelection = viewPane.getViewSelection();\r
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
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 request = org.argeo.slc.ria.SlcApi.getListCollectionsService();\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 model = this.table.getTableModel();\r
model.removeRows(0, model.getRowCount());\r
- var serviceManager = org.argeo.ria.remote.RequestManager.getInstance();\r
var commandManager = org.argeo.ria.event.CommandsManager.getInstance();\r
- var request = serviceManager.getRequest(\r
- url, \r
- "GET", \r
- "application/xml",\r
- "test_cases",\r
- [commandManager.getCommandById("loadtestlist"), this.getView()]\r
- ); \r
- request.setParameter("collectionId", this.getCollectionId());\r
+ var request = org.argeo.slc.ria.SlcApi.getListResultsService(this.getCollectionId(), null, [commandManager.getCommandById("loadtestlist"), this.getView()]);\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
- for(var i=0; i<nodes.length;i++){\r
- var rowData = nodes[i];\r
- model.addRows([rowData]);\r
- }\r
+ var xml = response.getContent();\r
+ this.debug("Successfully loaded XML");\r
+ var nodes = org.argeo.ria.util.Element.selectNodes(xml, "//slc:result-attributes", NSMap);\r
+ //model.addRows(nodes);\r
+ \r
+ for(var i=0; i<nodes.length;i++){ \r
+ model.addRows([nodes[i]]);\r
+ } \r
}, request);\r
request.send(); \r
},\r
\r
+ pollListLoading : function(state){\r
+ if(!this.timer){\r
+ this.timer = new qx.event.Timer(5000);\r
+ this.timer.addListener("interval", this.loadList, this);\r
+ }\r
+ if(state){\r
+ this.loadList();\r
+ this.timer.start();\r
+ }else{\r
+ this.timer.stop();\r
+ }\r
+ },\r
+ \r
collectionListToMenu : function(command, checkSelection){\r
command.setEnabled(false);\r
command.clearMenus();\r
"commandId":key\r
});\r
} \r
+ submenus.push({'separator':true});\r
submenus.push({"label":"New...", "icon":"resource/slc/folder-new.png", "commandId":"slc.client.create"});\r
command.setMenu(submenus);\r
if(checkSelection){\r
}\r
}, this);\r
modal.attachAndShow();\r
- }else{ \r
- this.debug("Copying "+selectionType+" to collection " + collectionId);\r
+ return;\r
}\r
+\r
+ if(selectionType == "current_collection"){\r
+ this.error("Not implemented yet!"); \r
+ }else if(selectionType == "current_selection"){\r
+ // get selection ID\r
+ var request = org.argeo.slc.ria.SlcApi.getAddResultService(collectionId,this.extractTestUuid());\r
+ request.addListener("completed", function(response){\r
+ this.info("Result successfully copied to collection!");\r
+ this.loadCollections();\r
+ }, this);\r
+ request.send(); \r
+ }\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