]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc-web/class/org/argeo/slc/web/XmlRenderer.js
Documentation
[gpl/argeo-slc.git] / org.argeo.slc.webapp / src / main / webapp / argeo-ria-lib / slc-web / 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 var NSMap = {slc:"http://argeo.org/projects/slc/schemas"};
30 switch(cellInfo.col){
31 case 0 :
32 xPath = "slc:uuid";
33 var nameParam = org.argeo.ria.util.Element.selectSingleNode(xmlNode, xPath, NSMap);
34 var value = qx.bom.String.escape(qx.dom.Node.getText(nameParam) || "Not Found");
35 break;
36 case 1 :
37 xPath = "slc:close-date";
38 var nameParam = org.argeo.ria.util.Element.selectSingleNode(xmlNode, xPath, NSMap);
39 var value = qx.bom.String.escape(qx.dom.Node.getText(nameParam) || "NOT CLOSED");
40 if(value == "NOT CLOSED") return value;
41 var splits = value.split(".");
42 value = splits[0].replace("T", " ");
43 var dateFormat = new qx.util.format.DateFormat("yyyy-MM-dd HH:mm:ss");
44 try {
45 var date = dateFormat.parse(value);
46 var dateFormat2 = new qx.util.format.DateFormat("MMM d, yy HH:mm:ss");
47 return dateFormat2.format(date);
48 }catch(e){}
49 break;
50 default :
51 return "";
52 break;
53 }
54
55 return value;
56 },
57
58 // overridden
59 /**
60 * Overrides parent method
61 * @param cellInfo {Map} Current cell data
62 * @return {String}
63 */
64 _getCellClass : function(cellInfo) {
65 return this.base(arguments, cellInfo);
66 }
67
68 }
69 });