4 qx
.Class
.define("org.argeo.slc.web.TestList",
6 extend
: qx
.ui
.table
.Table
,
7 implement
: [org
.argeo
.ria
.components
.IView
],
9 construct : function(){
10 var model
= new qx
.ui
.table
.model
.Simple();
11 model
.setColumns(["Test Case", "Date"]);
12 this.base(arguments
, model
, {
13 tableColumnModel: function(obj
){
14 return new qx
.ui
.table
.columnmodel
.Resize(obj
)
32 icon
: "resource/slc/view-refresh.png",
33 shortcut
: "Control+l",
37 callback : function(e
){
44 icon
: "resource/slc/document-open.png",
45 shortcut
: "Control+o",
49 callback : function(e
){
50 var viewsManager
= org
.argeo
.ria
.components
.ViewsManager
.getInstance();
51 var classObj
= org
.argeo
.slc
.web
.Applet
;
52 var iView
= viewsManager
.initIViewClass(classObj
, "applet");
53 var xmlNodes
= viewsManager
.getViewPaneSelection("list").getNodes();
54 iView
.load(xmlNodes
[0]);
56 selectionChange : function(viewId
, xmlNodes
){
57 if(viewId
!= "list") return;
58 this.setEnabled(false);
59 if(xmlNodes
== null || !xmlNodes
.length
) return;
60 var applet
= org
.argeo
.ria
.util
.Element
.selectSingleNode(xmlNodes
[0],'report[@type="applet"]');
61 if(applet
!= null && qx
.dom
.Node
.getText(applet
) != ""){
62 this.setEnabled(true);
68 label
: "Download as...",
69 icon
: "resource/slc/go-down.png",
74 callback : function(e
){ },
77 submenuCallback : function(commandId
){
78 var viewsManager
= org
.argeo
.ria
.components
.ViewsManager
.getInstance();
79 var xmlNodes
= viewsManager
.getViewPaneSelection("list").getNodes();
81 var uuid
= qx
.xml
.Element
.getSingleNodeText(xmlNodes
[0], 'param[@name="uuid"]');
83 xsl
: "resultView.xslt",
84 xml
: "resultViewXml.xslt",
85 xls
: "resultView.xls",
86 pdf
: "resultView.pdf"
88 var url
= "../"+urls
[commandId
]+"?uuid="+uuid
;
89 if(commandId
== "xls" || commandId
== "pdf"){
90 document
.location
.href
= url
;
92 var win
= window
.open(url
);
95 selectionChange : function(viewId
, xmlNodes
){
96 if(viewId
!="list")return;
98 this.setEnabled(false);
99 if(xmlNodes
== null) return;
101 var reports
= qx
.xml
.Element
.selectNodes(xmlNodes
[0],'report[@type="download"]');
102 if(reports
== null || !reports
.length
)return;
104 for(var i
=0; i
<reports
.length
;i
++){
105 var report
= reports
[i
];
106 var commandId
= qx
.dom
.Node
.getText(org
.argeo
.ria
.util
.Element
.selectSingleNode(report
, "@commandid"));
107 this.addSubMenuButton(
108 qx
.dom
.Node
.getText(report
),
109 "resource/slc/mime-"+commandId
+".png",
113 this.setEnabled(true);
114 this.fireDataEvent("changeMenu", this.getMenu());
119 icon
: "resource/slc/edit-delete.png",
120 shortcut
: "Control+d",
124 callback : function(e
){
125 // Call service to delete
129 "copytocollection" : {
130 label
: "Copy to...",
131 icon
: "resource/slc/edit-copy.png",
132 shortcut
: "Control+c",
136 callback : function(e
){
137 // Call service to copy
146 init : function(viewPane
){
147 this.setView(viewPane
);
149 load : function(data
){
151 statusBarVisible
: false,
152 showCellFocusIndicator
:false,
153 columnVisibilityButtonVisible
:false,
154 contextMenu
: org
.argeo
.ria
.event
.CommandsManager
.getInstance().createMenuFromIds(["opentest", "deletetest", "copytocollection"]),
155 decorator
: new qx
.ui
.decoration
.Background("#fff")
157 var viewPane
= this.getView();
158 this.addListener("dblclick", function(e
){
159 org
.argeo
.ria
.event
.CommandsManager
.getInstance().executeCommand("opentest");
161 var columnModel
= this.getTableColumnModel();
162 columnModel
.getBehavior().setWidth(0, "60%");
163 columnModel
.setDataCellRenderer(0, new org
.argeo
.ria
.components
.XmlRenderer());
164 columnModel
.setDataCellRenderer(1, new org
.argeo
.ria
.components
.XmlRenderer());
166 this.getSelectionManager().getSelectionModel().addListener("changeSelection", function(e
){
167 var viewSelection
= viewPane
.getViewSelection();
168 viewSelection
.clear();
169 var selectionModel
= this.getSelectionManager().getSelectionModel();
170 if(!selectionModel
.getSelectedCount()){
173 var ranges
= this.getSelectionManager().getSelectionModel().getSelectedRanges();
174 var xmlNode
= this.getModel().getRowData(ranges
[0].minIndex
);
175 viewSelection
.addNode(xmlNode
);
176 viewPane
.setViewSelection(viewSelection
);
180 loadList : function(){
181 var url
= "/org.argeo.slc.webapp/resultList.ui";
182 var model
= this.getModel();
183 model
.removeRows(0, model
.getRowCount());
184 var serviceManager
= org
.argeo
.ria
.remote
.RequestManager
.getInstance();
185 var commandManager
= org
.argeo
.ria
.event
.CommandsManager
.getInstance();
186 var request
= serviceManager
.getRequest(
191 [commandManager
.getCommandById("loadtestlist"), this.getView()]
193 request
.addListener("completed", function(response
){
194 xml
= response
.getContent();
195 qx
.log
.Logger
.info("Successfully loaded XML");
196 //var resManager = org.argeo.ria.event.ResourcesManager.getInstance().fireReloadEvent("test_cases", xml);
197 var nodes
= qx
.xml
.Element
.selectNodes(xml
, "//data");
198 for(var i
=0; i
<nodes
.length
;i
++){
199 var rowData
= nodes
[i
];
200 model
.addRows([rowData
]);
206 addScroll : function(){