From f827b758bc6fa8963ce23b793d14bf71529ad986 Mon Sep 17 00:00:00 2001 From: Charles du Jeu Date: Thu, 15 Jul 2010 09:23:46 +0000 Subject: [PATCH 1/1] QX 1.1 Migration git-svn-id: https://svn.argeo.org/slc/trunk@3698 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../org/argeo/slc/web/MonitorPerspective.js | 4 +- .../class/org/argeo/slc/web/Perspective.js | 2 +- .../class/org/argeo/slc/web/TestList.js | 1067 +++++++++-------- 3 files changed, 538 insertions(+), 535 deletions(-) diff --git a/server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/MonitorPerspective.js b/server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/MonitorPerspective.js index fd0f4d091..12d90d402 100644 --- a/server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/MonitorPerspective.js +++ b/server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/MonitorPerspective.js @@ -5,7 +5,7 @@ /* ************************************************************************ #require(org.argeo.jcr.ria.JcrBrowser) #require(org.argeo.security.ria.Perspective) -#asset(argeo-ria-lib/slc/resource/org.argeo.slc.ria/*) +#asset(org/argeo/slc/ria/*) ************************************************************************ */ qx.Class.define("org.argeo.slc.web.MonitorPerspective", @@ -20,7 +20,7 @@ qx.Class.define("org.argeo.slc.web.MonitorPerspective", statics : { LABEL : "SLC Administration", - ICON : "org.argeo.slc.ria/utilities-terminal.png" + ICON : "org/argeo/slc/ria/utilities-terminal.png" //ROLES_RESTRICTION : ["ROLE_ADMIN"] }, diff --git a/server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/Perspective.js b/server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/Perspective.js index 40d9761c6..8ee5d7084 100644 --- a/server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/Perspective.js +++ b/server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/Perspective.js @@ -19,7 +19,7 @@ qx.Class.define("org.argeo.slc.web.Perspective", statics : { LABEL : "Test Results", - ICON : "org.argeo.slc.ria/office-chart.png" + ICON : "org/argeo/slc/ria/office-chart.png" }, members : { diff --git a/server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/TestList.js b/server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/TestList.js index e0816ffce..4e71dedb2 100644 --- a/server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/TestList.js +++ b/server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/TestList.js @@ -1,533 +1,536 @@ -/** - * Basic IView implementation for displaying the test results list, by collection. - * - * This component creates a Table object and feed it with the results. It adds a collection chooser to its viewPane header. - * - * It creates the following commands : "loadtestlist", "polllistloading", "opentest", "download", "copytocollection", "deletetest". - */ -qx.Class.define("org.argeo.slc.web.TestList", -{ - extend : qx.ui.container.Composite, - implement : [org.argeo.ria.components.IView], - include : [org.argeo.ria.session.MPrefHolder], - - statics : { - riaPreferences : { - "slc.web.TestList.DefaultAction" : { - label : "Test List : Double Click default action", - type : "list", - list : ["Open","Download Xls"], - defaultValue : "Open" - } - } - }, - - construct : function(){ - this.base(arguments, new qx.ui.layout.VBox()); - var model = new qx.ui.table.model.Simple(); - model.setColumns(["Test Case", "Date"]); - this.table = new qx.ui.table.Table(model, { - tableColumnModel: function(obj){ - return new qx.ui.table.columnmodel.Resize(obj) - } - }); - }, - - properties : - { - /** - * The viewPane containing this applet. - */ - view : { - init : null - }, - viewSelection : { - nullable:false, - check:"org.argeo.ria.components.ViewSelection" - }, - instanceId : {init:""}, - instanceLabel : {init:""}, - /** - * The load list of available collection (Map of ids => labels) - */ - collectionList : { - init : {}, - check : "Map" - }, - /** - * The current collection id selected. - */ - collectionId:{ - init : 'My Collection', - check : "String" - }, - currentOpenInstanceId : { - check : "String", - nullable:true - }, - /** - * The applet commands. - */ - commands : { - init : { - "loadtestlist" : { - label : "Load Collection", - icon : "org.argeo.slc.ria/view-refresh.png", - shortcut : "Control+l", - enabled : true, - menu : "Collection", - toolbar : "collection", - callback : function(e){ - this.loadList(); - }, - command : null - }, - "polllistloading" : { - label : "Auto load", - icon : "org.argeo.slc.ria/document-open-recent.png", - shortcut : "Control+l", - enabled : true, - toggle : true, - menu : "Collection", - toolbar : "collection", - callback : function(event){ - this.pollListLoading(event.getTarget().getUserData("slc.command.toggleState")); - }, - command : null - }, - /* - "copyfullcollection" : { - label : "Copy to...", - icon : "org.argeo.slc.ria/edit-copy.png", - shortcut : null, - enabled : false, - menu : "Collection", - toolbar : "collection", - callback : function(e){ - // Call service to copy - }, - submenu : {}, - submenuCallback : function(commandId){ - this.copySelectionToCollection(commandId, "current_collection"); - }, - init : function(){ - // Call at command creation - org.argeo.ria.remote.RequestManager.getInstance().addListener("reload", function(event){ - if(event.getDataType() == "collection" || event.getDataType() == "test_cases"){ - var testList = org.argeo.ria.components.ViewsManager.getInstance().getViewPaneById("list").getContent(); - testList.collectionListToMenu(this); - } - }, this); - }, - command : null - }, - */ - "opentest" : { - label : "Open", - icon : "org.argeo.slc.ria/media-playback-start.png", - shortcut : "Control+o", - enabled : false, - menu : "Selection", - toolbar : "selection", - callback : function(e){ - var viewsManager = org.argeo.ria.components.ViewsManager.getInstance(); - var classObj = org.argeo.slc.ria.Applet; - var xmlNodes = viewsManager.getViewPaneSelection("list").getNodes(); - var iView = viewsManager.initIViewClass(classObj, "applet", xmlNodes[0]); - this.setCurrentOpenInstanceId(iView.getInstanceId()); - iView.load(xmlNodes[0]); - }, - selectionChange : function(viewId, xmlNodes){ - if(viewId != "list") return; - this.setEnabled(false); - if(xmlNodes == null || !xmlNodes.length) return; - this.setEnabled(true); - }, - command : null - }, - "download" : { - label : "Download as...", - icon : "org.argeo.slc.ria/go-down.png", - shortcut : null, - enabled : false, - menu : "Selection", - toolbar : "selection", - callback : function(e){ }, - command : null, - submenu : [ - {'label':"Xsl", 'icon':'org.argeo.slc.ria/mime-xsl.png', 'commandId':'xsl'}, - {'label':"Xml", 'icon':'org.argeo.slc.ria/mime-xml.png', 'commandId':'xml'}, - {'label':"Excel", 'icon':'org.argeo.slc.ria/mime-xls.png', 'commandId':'xls'}, - {'label':"Pdf", 'icon':'org.argeo.slc.ria/mime-pdf.png', 'commandId':'pdf'} - ], - submenuCallback : function(commandId){ - var uuid = this.extractTestUuid(); - var urls = { - xsl : "resultView.xslt", - xml : "resultViewXml.xslt", - xls : "resultView.xls", - pdf : "resultView.pdf" - }; - var url = "../"+urls[commandId]+"?uuid="+uuid; - if(commandId == "xls" || commandId == "pdf"){ - document.location.href = url; - }else{ - var win = window.open(url); - } - }, - selectionChange : function(viewId, xmlNodes){ - if(viewId!="list")return; - //this.clearMenus(); - this.setEnabled(false); - if(xmlNodes == null || !xmlNodes.length) return; - this.setEnabled(true); - } - }, - "attachments" : { - label : "Attachments", - icon : "org.argeo.slc.ria/document-save-as.png", - shortcut : null, - enabled : false, - menu : "Selection", - toolbar : "selection", - callback : function(e){ }, - command : null, - submenu : [], - submenuCallback : function(commandId){ - var split = commandId.split("__commandseparator__"); - var uuid = split[0]; - var contentType = split[1]; - var name = split[2]; - var url = org.argeo.slc.ria.SlcApi.buildGetAttachmentUrl(uuid, contentType, name); - var win = window.open(url); - }, - selectionChange : function(viewId, xmlNodes){ - if(viewId!="list")return; - this.clearMenus(); - this.setEnabled(false); - if(xmlNodes == null || !xmlNodes.length || xmlNodes.length != 1) return; - // Check slc:simple-attachment tags - var attachs = org.argeo.ria.util.Element.selectNodes(xmlNodes[0], "slc:attachments/slc:simple-attachment"); - if(attachs && attachs.length){ - var submenus = []; - for(var i=0;i test " + testUuid + "?"); - modal.addListener("ok", function(){ - var request = org.argeo.slc.ria.SlcApi.getRemoveResultService(this.getCollectionId(), this.extractTestUuid()); - request.addListener("completed", function(response){ - if(this.getCurrentOpenInstanceId() == "test:"+testUuid){ - var appletView = org.argeo.ria.components.ViewsManager.getInstance().getViewPaneById("applet"); - if(appletView.contentExists(this.getCurrentOpenInstanceId())){ - appletView.closeCurrent(); - } - this.setCurrentOpenInstanceId(null); - } - this.loadCollections(); - this.loadList(); - this.info("Test was successfully deleted"); - }, this); - request.send(); - }, this); - modal.attachAndShow(); - }, - selectionChange : function(viewId, xmlNodes){ - if(viewId != "list") return; - this.setEnabled(false); - if(xmlNodes == null || !xmlNodes.length) return; - this.setEnabled(true); - }, - command : null - } - } - } - }, - - members : { - init : function(viewPane, data){ - this.setView(viewPane); - this.setViewSelection(new org.argeo.ria.components.ViewSelection(viewPane.getViewId())); - }, - load : function(){ - this.table.set({ - statusBarVisible: false, - showCellFocusIndicator:false, - columnVisibilityButtonVisible:false, - contextMenu : org.argeo.ria.event.CommandsManager.getInstance().createMenuFromIds(["opentest", "download", "copytocollection", "deletetest"]), - decorator : new qx.ui.decoration.Background("#fff") - }); - var viewPane = this.getView(); - this.table.addListener("dblclick", function(e){ - var pref = this.getRiaPreferenceValue("slc.web.TestList.DefaultAction"); - if(pref == "Open"){ - org.argeo.ria.event.CommandsManager.getInstance().executeCommand("opentest"); - }else{ - var uuid = this.extractTestUuid(); - var url = "../resultView.xslt?uuid="+uuid; - alert('Should download : '+url); - } - }, this); - var columnModel = this.table.getTableColumnModel(); - columnModel.getBehavior().setWidth(0, "60%"); - var renderer = new org.argeo.slc.web.XmlRenderer(); - columnModel.setDataCellRenderer(0, renderer); - columnModel.setDataCellRenderer(1, renderer); - - this.table.getSelectionManager().getSelectionModel().addListener("changeSelection", function(e){ - var viewSelection = this.getViewSelection(); - viewSelection.clear(); - var selectionModel = this.table.getSelectionManager().getSelectionModel(); - if(!selectionModel.getSelectedCount()){ - return; - } - var ranges = this.table.getSelectionManager().getSelectionModel().getSelectedRanges(); - var xmlNode = this.table.getTableModel().getRowData(ranges[0].minIndex); - viewSelection.addNode(xmlNode); - //viewPane.setViewSelection(viewSelection); - }, this); - - var select = new qx.ui.form.SelectBox(); - this.getView().addHeaderComponent(select); - this.getView().setViewTitle(""); - this.add(this.table, {flex:1}); - - 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){ - var item = new qx.ui.form.ListItem(collectionList[key], "org.argeo.slc.ria/folder.png", key); - select.add(item); - if(key == this.getCollectionId()){ - select.setSelected(item); - } - } - if(qx.lang.Object.getLength(collectionList)){ - this.setCollectionId(select.getSelected().getValue()); - } - select.addListener("changeValue", this.collectionSelectorListener, this); - }, this); - - }, - - /** - * Use SlcApi to load the available collections. - */ - loadCollections : function(){ - var request = org.argeo.slc.ria.SlcApi.getListCollectionsService(); - 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 labels) + */ + collectionList : { + init : {}, + check : "Map" + }, + /** + * The current collection id selected. + */ + collectionId:{ + init : 'My Collection', + check : "String" + }, + currentOpenInstanceId : { + check : "String", + nullable:true + }, + /** + * The applet commands. + */ + commands : { + init : { + "loadtestlist" : { + label : "Load Collection", + icon : "org/argeo/slc/ria/view-refresh.png", + shortcut : "Control+l", + enabled : true, + menu : "Collection", + toolbar : "collection", + callback : function(e){ + this.loadList(); + }, + command : null + }, + "polllistloading" : { + label : "Auto load", + icon : "org/argeo/slc/ria/document-open-recent.png", + shortcut : "Control+l", + enabled : true, + toggle : true, + menu : "Collection", + toolbar : "collection", + callback : function(event){ + this.pollListLoading(event.getTarget().getUserData("slc.command.toggleState")); + }, + command : null + }, + /* + "copyfullcollection" : { + label : "Copy to...", + icon : "org/argeo/slc/ria/edit-copy.png", + shortcut : null, + enabled : false, + menu : "Collection", + toolbar : "collection", + callback : function(e){ + // Call service to copy + }, + submenu : {}, + submenuCallback : function(commandId){ + this.copySelectionToCollection(commandId, "current_collection"); + }, + init : function(){ + // Call at command creation + org.argeo.ria.remote.RequestManager.getInstance().addListener("reload", function(event){ + if(event.getDataType() == "collection" || event.getDataType() == "test_cases"){ + var testList = org.argeo.ria.components.ViewsManager.getInstance().getViewPaneById("list").getContent(); + testList.collectionListToMenu(this); + } + }, this); + }, + command : null + }, + */ + "opentest" : { + label : "Open", + icon : "org/argeo/slc/ria/media-playback-start.png", + shortcut : "Control+o", + enabled : false, + menu : "Selection", + toolbar : "selection", + callback : function(e){ + var viewsManager = org.argeo.ria.components.ViewsManager.getInstance(); + var classObj = org.argeo.slc.ria.Applet; + var xmlNodes = viewsManager.getViewPaneSelection("list").getNodes(); + var iView = viewsManager.initIViewClass(classObj, "applet", xmlNodes[0]); + this.setCurrentOpenInstanceId(iView.getInstanceId()); + iView.load(xmlNodes[0]); + }, + selectionChange : function(viewId, xmlNodes){ + if(viewId != "list") return; + this.setEnabled(false); + if(xmlNodes == null || !xmlNodes.length) return; + this.setEnabled(true); + }, + command : null + }, + "download" : { + label : "Download as...", + icon : "org/argeo/slc/ria/go-down.png", + shortcut : null, + enabled : false, + menu : "Selection", + toolbar : "selection", + callback : function(e){ }, + command : null, + submenu : [ + {'label':"Xsl", 'icon':'org/argeo/slc/ria/mime-xsl.png', 'commandId':'xsl'}, + {'label':"Xml", 'icon':'org/argeo/slc/ria/mime-xml.png', 'commandId':'xml'}, + {'label':"Excel", 'icon':'org/argeo/slc/ria/mime-xls.png', 'commandId':'xls'}, + {'label':"Pdf", 'icon':'org/argeo/slc/ria/mime-pdf.png', 'commandId':'pdf'} + ], + submenuCallback : function(commandId){ + var uuid = this.extractTestUuid(); + var urls = { + xsl : "resultView.xslt", + xml : "resultViewXml.xslt", + xls : "resultView.xls", + pdf : "resultView.pdf" + }; + var url = org.argeo.slc.ria.SlcApi.DEFAULT_CONTEXT + "/"+urls[commandId]+"?uuid="+uuid; + if(commandId == "xls" || commandId == "pdf"){ + document.location.href = url; + }else{ + var win = window.open(url); + } + }, + selectionChange : function(viewId, xmlNodes){ + if(viewId!="list")return; + //this.clearMenus(); + this.setEnabled(false); + if(xmlNodes == null || !xmlNodes.length) return; + this.setEnabled(true); + } + }, + "attachments" : { + label : "Attachments", + icon : "org/argeo/slc/ria/document-save-as.png", + shortcut : null, + enabled : false, + menu : "Selection", + toolbar : "selection", + callback : function(e){ }, + command : null, + submenu : [], + submenuCallback : function(commandId){ + var split = commandId.split("__commandseparator__"); + var uuid = split[0]; + var contentType = split[1]; + var name = split[2]; + var url = org.argeo.slc.ria.SlcApi.buildGetAttachmentUrl(uuid, contentType, name); + var win = window.open(url); + }, + selectionChange : function(viewId, xmlNodes){ + if(viewId!="list")return; + this.clearMenus(); + this.setEnabled(false); + if(xmlNodes == null || !xmlNodes.length || xmlNodes.length != 1) return; + // Check slc:simple-attachment tags + var attachs = org.argeo.ria.util.Element.selectNodes(xmlNodes[0], "slc:attachments/slc:simple-attachment"); + if(attachs && attachs.length){ + var submenus = []; + for(var i=0;i test " + testUuid + "?"); + modal.addListener("ok", function(){ + var request = org.argeo.slc.ria.SlcApi.getRemoveResultService(this.getCollectionId(), this.extractTestUuid()); + request.addListener("completed", function(response){ + if(this.getCurrentOpenInstanceId() == "test:"+testUuid){ + var appletView = org.argeo.ria.components.ViewsManager.getInstance().getViewPaneById("applet"); + if(appletView.contentExists(this.getCurrentOpenInstanceId())){ + appletView.closeCurrent(); + } + this.setCurrentOpenInstanceId(null); + } + this.loadCollections(); + this.loadList(); + this.info("Test was successfully deleted"); + }, this); + request.send(); + }, this); + modal.attachAndShow(); + }, + selectionChange : function(viewId, xmlNodes){ + if(viewId != "list") return; + this.setEnabled(false); + if(xmlNodes == null || !xmlNodes.length) return; + this.setEnabled(true); + }, + command : null + } + } + } + }, + + members : { + init : function(viewPane, data){ + this.setView(viewPane); + this.setViewSelection(new org.argeo.ria.components.ViewSelection(viewPane.getViewId())); + }, + load : function(){ + this.table.set({ + statusBarVisible: false, + showCellFocusIndicator:false, + columnVisibilityButtonVisible:false, + contextMenu : org.argeo.ria.event.CommandsManager.getInstance().createMenuFromIds(["opentest", "download", "copytocollection", "deletetest"]), + decorator : new qx.ui.decoration.Background("#fff") + }); + var viewPane = this.getView(); + this.table.addListener("dblclick", function(e){ + var pref = this.getRiaPreferenceValue("slc.web.TestList.DefaultAction"); + if(pref == "Open"){ + org.argeo.ria.event.CommandsManager.getInstance().executeCommand("opentest"); + }else{ + var uuid = this.extractTestUuid(); + var url = "../resultView.xslt?uuid="+uuid; + alert('Should download : '+url); + } + }, this); + var columnModel = this.table.getTableColumnModel(); + columnModel.getBehavior().setWidth(0, "60%"); + var renderer = new org.argeo.slc.web.XmlRenderer(); + columnModel.setDataCellRenderer(0, renderer); + columnModel.setDataCellRenderer(1, renderer); + + this.table.getSelectionManager().getSelectionModel().addListener("changeSelection", function(e){ + var viewSelection = this.getViewSelection(); + viewSelection.clear(); + var selectionModel = this.table.getSelectionManager().getSelectionModel(); + if(!selectionModel.getSelectedCount()){ + return; + } + var ranges = this.table.getSelectionManager().getSelectionModel().getSelectedRanges(); + var xmlNode = this.table.getTableModel().getRowData(ranges[0].minIndex); + viewSelection.addNode(xmlNode); + //viewPane.setViewSelection(viewSelection); + }, this); + + var select = new qx.ui.form.SelectBox(); + this.getView().addHeaderComponent(select); + this.getView().setViewTitle(""); + this.add(this.table, {flex:1}); + + select.addListener("changeSelection", this.collectionSelectorListener, this); + + org.argeo.ria.remote.RequestManager.getInstance().addListener("reload", function(event){ + if(event.getDataType()!="collection") return; + select.removeListener("changeSelection", this.collectionSelectorListener, this); + var collectionList = event.getContent(); + select.removeAll(); + for(key in collectionList){ + var item = new qx.ui.form.ListItem(collectionList[key], "org/argeo/slc/ria/folder.png", key); + select.add(item); + if(key == this.getCollectionId()){ + select.setSelection([item]); + } + } + if(qx.lang.Object.getLength(collectionList)){ + var selection = select.getSelection(); + var value = selection[0].getModel(); + this.setCollectionId(value); + } + select.addListener("changeSelection", this.collectionSelectorListener, this); + }, this); + + }, + + /** + * Use SlcApi to load the available collections. + */ + loadCollections : function(){ + var request = org.argeo.slc.ria.SlcApi.getListCollectionsService(); + 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