summaryrefslogtreecommitdiffstatshomepage
path: root/includes/js/dojox/wire/demos/TableContainer.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dojox/wire/demos/TableContainer.js')
-rw-r--r--includes/js/dojox/wire/demos/TableContainer.js68
1 files changed, 68 insertions, 0 deletions
diff --git a/includes/js/dojox/wire/demos/TableContainer.js b/includes/js/dojox/wire/demos/TableContainer.js
new file mode 100644
index 0000000..fd4ad73
--- /dev/null
+++ b/includes/js/dojox/wire/demos/TableContainer.js
@@ -0,0 +1,68 @@
+if(!dojo._hasResource["dojox.wire.demos.TableContainer"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.demos.TableContainer"] = true;
+dojo.provide("dojox.wire.demos.TableContainer");
+
+dojo.require("dojo.parser");
+dojo.require("dijit._Widget");
+dojo.require("dijit._Templated");
+
+dojo.declare("dojox.wire.demos.TableContainer", [ dijit._Widget, dijit._Templated, dijit._Container ], {
+ // summary:
+ // Extremely simple 'widget' that is a table generator with an addRow function that takes an array
+ // as the row to add, where each entry is a cell in the row. This demo widget is for use with the
+ // wire demos.
+
+ templateString: "<table class='tablecontainer'><tbody dojoAttachPoint='tableContainer'></tbody></table>",
+ rowCount: 0,
+ headers: "",
+ addRow: function(array){
+ // summary:
+ // Function to add in a new row from the elements in the array map to cells in the row.
+ // array:
+ // Array of row values to add.
+ try{
+ var row = document.createElement("tr");
+ if((this.rowCount%2) === 0){
+ dojo.addClass(row, "alternate");
+ }
+ this.rowCount++;
+ for(var i in array){
+ var cell = document.createElement("td");
+ var text = document.createTextNode(array[i]);
+ cell.appendChild(text);
+ row.appendChild(cell);
+
+ }
+ this.tableContainer.appendChild(row);
+ }catch(e){ console.debug(e); }
+ },
+
+ clearTable: function(){
+ // summary:
+ // Function to clear all the current rows in the table, except for the header.
+
+ //Always leave the first row, which is the table header.
+ while(this.tableContainer.firstChild.nextSibling){
+ this.tableContainer.removeChild(this.tableContainer.firstChild.nextSibling);
+ }
+ this.rowCount = 0;
+ },
+
+ postCreate: function(){
+ // summary:
+ // Widget lifecycle function to handle generation of the header elements in the table.
+ var headers = this.headers.split(",");
+ var tr = document.createElement("tr");
+ for(i in headers){
+
+ var header = headers[i];
+ var th = document.createElement("th");
+ var text = document.createTextNode(header);
+ th.appendChild(text);
+ tr.appendChild(th);
+ }
+ this.tableContainer.appendChild(tr);
+ }
+});
+
+}