69 lines
2.2 KiB
JavaScript
69 lines
2.2 KiB
JavaScript
|
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);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
}
|