]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/wire/demos/TableContainer.js
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dojox / wire / demos / TableContainer.js
diff --git a/static/dojo-release-1.1.1/dojox/wire/demos/TableContainer.js b/static/dojo-release-1.1.1/dojox/wire/demos/TableContainer.js
new file mode 100644 (file)
index 0000000..fd4ad73
--- /dev/null
@@ -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);
+       }
+});
+
+}