]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.webapp/src/main/webapp/source/class/org/argeo/slc/web/XmlRenderer.js
Organize actions / Factorise actions code in class members
[gpl/argeo-slc.git] / org.argeo.slc.webapp / src / main / webapp / source / class / org / argeo / slc / web / XmlRenderer.js
1 /**
2 * Basic helper for SLC XML results to be displayed in a qx.ui.table.
3 * Overrides the html of the standard qx.ui.table.cellrenderer.String
4 *
5 * TODO : put in org.argeo.slc.ria package
6 *
7 */
8 qx.Class.define("org.argeo.slc.web.XmlRenderer",
9 {
10 extend : qx.ui.table.cellrenderer.String,
11
12 /*
13 *****************************************************************************
14 MEMBERS
15 *****************************************************************************
16 */
17
18 members :
19 {
20 /**
21 * Overrides the parent method.
22 * @param cellInfo {Map} The current cell data
23 * @return {String}
24 */
25 _getContentHtml : function(cellInfo) {
26 var xmlNode = cellInfo.rowData;
27 if(!xmlNode) return "";
28 var xPath;
29 switch(cellInfo.col){
30 case 0 :
31 xPath = "param[@name='testName']";
32 var nameParam = org.argeo.ria.util.Element.selectSingleNode(xmlNode, xPath);
33 var value = qx.bom.String.escape(qx.dom.Node.getText(nameParam) || "Not Found");
34 break;
35 case 1 :
36 xPath = 'param[@name="date"]';
37 var nameParam = org.argeo.ria.util.Element.selectSingleNode(xmlNode, xPath);
38 //qx.log.Logger.info(nameParam);
39 var value = qx.bom.String.escape(qx.dom.Node.getText(nameParam) || 0);
40 if(value == "NOT CLOSED") return value;
41 var splits = value.split(".");
42 //qx.log.Logger.info(value);
43 var dateFormat = new qx.util.format.DateFormat("yyyy-MM-dd HH:mm:ss");
44 try {
45 var date = dateFormat.parse(splits[0]);
46 var dateFormat2 = new qx.util.format.DateFormat("MMM d, yy HH:mm:ss");
47 return dateFormat2.format(date);
48 }catch(e){
49 qx.log.Logger.info(e);
50 }
51 break;
52 default :
53 return "";
54 break;
55 }
56
57 return value;
58 },
59
60 // overridden
61 /**
62 * Overrides parent method
63 * @param cellInfo {Map} Current cell data
64 * @return {String}
65 */
66 _getCellClass : function(cellInfo) {
67 return this.base(arguments, cellInfo);
68 }
69
70 }
71 });