1 | dojo.provide("dojox.wire.demos.TableContainer"); |
---|
2 | |
---|
3 | dojo.require("dojo.parser"); |
---|
4 | dojo.require("dijit._Widget"); |
---|
5 | dojo.require("dijit._Templated"); |
---|
6 | |
---|
7 | dojo.declare("dojox.wire.demos.TableContainer", [ dijit._Widget, dijit._Templated, dijit._Container ], { |
---|
8 | // summary: |
---|
9 | // Extremely simple 'widget' that is a table generator with an addRow function that takes an array |
---|
10 | // as the row to add, where each entry is a cell in the row. This demo widget is for use with the |
---|
11 | // wire demos. |
---|
12 | |
---|
13 | templateString: "<table class='tablecontainer'><tbody dojoAttachPoint='tableContainer'></tbody></table>", |
---|
14 | rowCount: 0, |
---|
15 | headers: "", |
---|
16 | addRow: function(array){ |
---|
17 | // summary: |
---|
18 | // Function to add in a new row from the elements in the array map to cells in the row. |
---|
19 | // array: |
---|
20 | // Array of row values to add. |
---|
21 | try{ |
---|
22 | var row = document.createElement("tr"); |
---|
23 | if((this.rowCount%2) === 0){ |
---|
24 | dojo.addClass(row, "alternate"); |
---|
25 | } |
---|
26 | this.rowCount++; |
---|
27 | for(var i in array){ |
---|
28 | var cell = document.createElement("td"); |
---|
29 | var text = document.createTextNode(array[i]); |
---|
30 | cell.appendChild(text); |
---|
31 | row.appendChild(cell); |
---|
32 | |
---|
33 | } |
---|
34 | this.tableContainer.appendChild(row); |
---|
35 | }catch(e){ console.debug(e); } |
---|
36 | }, |
---|
37 | |
---|
38 | clearTable: function(){ |
---|
39 | // summary: |
---|
40 | // Function to clear all the current rows in the table, except for the header. |
---|
41 | |
---|
42 | //Always leave the first row, which is the table header. |
---|
43 | while(this.tableContainer.firstChild.nextSibling){ |
---|
44 | this.tableContainer.removeChild(this.tableContainer.firstChild.nextSibling); |
---|
45 | } |
---|
46 | this.rowCount = 0; |
---|
47 | }, |
---|
48 | |
---|
49 | postCreate: function(){ |
---|
50 | // summary: |
---|
51 | // Widget lifecycle function to handle generation of the header elements in the table. |
---|
52 | var headers = this.headers.split(","); |
---|
53 | var tr = document.createElement("tr"); |
---|
54 | for(i in headers){ |
---|
55 | |
---|
56 | var header = headers[i]; |
---|
57 | var th = document.createElement("th"); |
---|
58 | var text = document.createTextNode(header); |
---|
59 | th.appendChild(text); |
---|
60 | tr.appendChild(th); |
---|
61 | } |
---|
62 | this.tableContainer.appendChild(tr); |
---|
63 | } |
---|
64 | }); |
---|