mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-17 18:29:55 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3039 201d5d3c-b55e-5fd7-737f-ddc643e51545
209 lines
No EOL
58 KiB
HTML
209 lines
No EOL
58 KiB
HTML
<html><head><style>
|
|
.KEYW {color: #933;}
|
|
.COMM {color: #bbb; font-style: italic;}
|
|
.NUMB {color: #393;}
|
|
.STRN {color: #393;}
|
|
.REGX {color: #339;}
|
|
.linenumber {border-right: 1px dotted #666; color: #666; font-style: normal;}
|
|
</style></head><body><pre><span class='linenumber'> 1</span> <span class="NAME">xq.RichTable</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Class.create</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 2</span> </span><span class="NAME">initialize</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">rdom</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">table</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 3</span> </span><span class="WHIT"> </span><span class="NAME">this.rdom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rdom</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 4</span> </span><span class="WHIT"> </span><span class="NAME">this.table</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">table</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 5</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 6</span> </span><span class="NAME">insertNewRowAt</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">tr</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">where</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 7</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">row</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.rdom.createElement</span><span class="PUNC">(</span><span class="STRN">"TR"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 8</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cells</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">tr.cells</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 9</span> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">cells.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 10</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cell</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.rdom.createElement</span><span class="PUNC">(</span><span class="NAME">cells</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nodeName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 11</span> </span><span class="NAME">this.rdom.correctEmptyElement</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 12</span> </span><span class="NAME">row.appendChild</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 13</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 14</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.rdom.insertNodeAt</span><span class="PUNC">(</span><span class="NAME">row</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">tr</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">where</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 15</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 16</span> </span><span class="NAME">insertNewCellAt</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">where</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 17</span> </span><span class="COMM">// collect cells;</span><span class="WHIT">
|
|
<span class='linenumber'> 18</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cells</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 19</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getXIndexOf</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 20</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 21</span> </span><span class="KEYW">while</span><span class="PUNC">(</span><span class="KEYW">true</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 22</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cur</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getCellAt</span><span class="PUNC">(</span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 23</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">cur</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 24</span> </span><span class="NAME">cells.push</span><span class="PUNC">(</span><span class="NAME">cur</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 25</span> </span><span class="NAME">y</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 26</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 27</span>
|
|
<span class='linenumber'> 28</span> </span><span class="COMM">// insert new cells</span><span class="WHIT">
|
|
<span class='linenumber'> 29</span> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">cells.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 30</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cell</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.rdom.createElement</span><span class="PUNC">(</span><span class="NAME">cells</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nodeName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 31</span> </span><span class="NAME">this.rdom.correctEmptyElement</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 32</span> </span><span class="NAME">this.rdom.insertNodeAt</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">cells</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">where</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 33</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 34</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 35</span> </span><span class="NAME">deleteRow</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">tr</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 36</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.rdom.removeBlock</span><span class="PUNC">(</span><span class="NAME">tr</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 37</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 38</span> </span><span class="NAME">deleteCell</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 39</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">cell.previousSibling</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">cell.nextSibling</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 40</span> </span><span class="NAME">this.rdom.deleteNode</span><span class="PUNC">(</span><span class="NAME">this.table</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 41</span> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 42</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 43</span>
|
|
<span class='linenumber'> 44</span> </span><span class="COMM">// collect cells;</span><span class="WHIT">
|
|
<span class='linenumber'> 45</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cells</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 46</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getXIndexOf</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 47</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 48</span> </span><span class="KEYW">while</span><span class="PUNC">(</span><span class="KEYW">true</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 49</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cur</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getCellAt</span><span class="PUNC">(</span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 50</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">cur</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 51</span> </span><span class="NAME">cells.push</span><span class="PUNC">(</span><span class="NAME">cur</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 52</span> </span><span class="NAME">y</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 53</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 54</span>
|
|
<span class='linenumber'> 55</span> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">cells.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 56</span> </span><span class="NAME">this.rdom.deleteNode</span><span class="PUNC">(</span><span class="NAME">cells</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 57</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 58</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 59</span> </span><span class="NAME">getPreviousCellOf</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 60</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">cell.previousSibling</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">cell.previousSibling</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 61</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">adjRow</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getPreviousRowOf</span><span class="PUNC">(</span><span class="NAME">cell.parentNode</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 62</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">adjRow</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">adjRow.lastChild</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 63</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 64</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 65</span> </span><span class="WHIT"> </span><span class="NAME">getNextCellOf</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 66</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">cell.nextSibling</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">cell.nextSibling</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 67</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">adjRow</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNextRowOf</span><span class="PUNC">(</span><span class="NAME">cell.parentNode</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 68</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">adjRow</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">adjRow.firstChild</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 69</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 70</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 71</span> </span><span class="WHIT"> </span><span class="NAME">getPreviousRowOf</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">row</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 72</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">row.previousSibling</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">row.previousSibling</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 73</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">rowContainer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">row.parentNode</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 74</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">rowContainer.previousSibling</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">rowContainer.previousSibling.lastChild</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">rowContainer.previousSibling.lastChild</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 75</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 76</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 77</span> </span><span class="WHIT"> </span><span class="NAME">getNextRowOf</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">row</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 78</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">row.nextSibling</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">row.nextSibling</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 79</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">rowContainer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">row.parentNode</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 80</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">rowContainer.nextSibling</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">rowContainer.nextSibling.firstChild</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">rowContainer.nextSibling.firstChild</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 81</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 82</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 83</span> </span><span class="WHIT"> </span><span class="NAME">getAboveCellOf</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 84</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">row</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getPreviousRowOf</span><span class="PUNC">(</span><span class="NAME">cell.parentNode</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 85</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">row</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 86</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'> 87</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getXIndexOf</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 88</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">row.cells</span><span class="PUNC">[</span><span class="NAME">x</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 89</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 90</span> </span><span class="WHIT"> </span><span class="NAME">getBelowCellOf</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 91</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">row</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getNextRowOf</span><span class="PUNC">(</span><span class="NAME">cell.parentNode</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 92</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">row</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 93</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'> 94</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getXIndexOf</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 95</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">row.cells</span><span class="PUNC">[</span><span class="NAME">x</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 96</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 97</span> </span><span class="WHIT"> </span><span class="NAME">getXIndexOf</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 98</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">row</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">cell.parentNode</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 99</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">row.cells.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>100</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">row.cells</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">cell</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>101</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>102</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'>103</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>104</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>105</span> </span><span class="WHIT"> </span><span class="NAME">getYIndexOf</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>106</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>107</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'>108</span> </span><span class="WHIT"> </span><span class="COMM">// find y</span><span class="WHIT">
|
|
<span class='linenumber'>109</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">group</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">row.parentNode</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>110</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="NAME">group.rows.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>111</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">group.rows</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">row</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>112</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>113</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>114</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>115</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>116</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.hasHeadingAtTop</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">group.nodeName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"TBODY"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>117</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'>118</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>119</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>120</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
|
<span class='linenumber'>121</span> * TODO: Not used. Delete or not?
|
|
<span class='linenumber'>122</span> */</span><span class="WHIT">
|
|
<span class='linenumber'>123</span> </span><span class="WHIT"> </span><span class="NAME">getLocationOf</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>124</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getXIndexOf</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>125</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getYIndexOf</span><span class="PUNC">(</span><span class="NAME">cell</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>126</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">x</span><span class="PUNC">:</span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">:</span><span class="NAME">y</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>127</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>128</span> </span><span class="WHIT"> </span><span class="NAME">getCellAt</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">col</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">row</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>129</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">row</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getRowAt</span><span class="PUNC">(</span><span class="NAME">row</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>130</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">row</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">row.cells.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">col</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">row.cells</span><span class="PUNC">[</span><span class="NAME">col</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>131</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>132</span> </span><span class="WHIT"> </span><span class="NAME">getRowAt</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">index</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>133</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.hasHeadingAtTop</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>134</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">index</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">this.table.tHead.rows</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this.table.tBodies</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">rows</span><span class="PUNC">[</span><span class="NAME">index</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>135</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>136</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">rows</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.table.tBodies</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">rows</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>137</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">rows.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">index</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">rows</span><span class="PUNC">[</span><span class="NAME">index</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>138</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>139</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>140</span> </span><span class="WHIT"> </span><span class="NAME">getDom</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>141</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.table</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>142</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>143</span> </span><span class="WHIT"> </span><span class="NAME">hasHeadingAtTop</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>144</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="PUNC">!</span><span class="PUNC">(</span><span class="NAME">this.table.tHead</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">this.table.tHead.rows</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>145</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>146</span> </span><span class="WHIT"> </span><span class="NAME">hasHeadingAtLeft</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>147</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.table.tBodies</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">rows</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">cells</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">nodeName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"TH"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>148</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>149</span> </span><span class="WHIT"> </span><span class="NAME">correctEmptyCells</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>150</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cells</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$A</span><span class="PUNC">(</span><span class="NAME">this.table.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">"TH"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>151</span> </span><span class="WHIT"> </span><span class="NAME">cells.push</span><span class="PUNC">(</span><span class="NAME">$A</span><span class="PUNC">(</span><span class="NAME">this.table.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">"TD"</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>152</span> </span><span class="WHIT"> </span><span class="NAME">cells</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">cells.flatten</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>153</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'>154</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">cells.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>155</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.rdom.isEmptyBlock</span><span class="PUNC">(</span><span class="NAME">cells</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.rdom.correctEmptyElement</span><span class="PUNC">(</span><span class="NAME">cells</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>156</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>157</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>158</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>159</span> </span><span class="WHIT">
|
|
<span class='linenumber'>160</span> </span><span class="NAME">xq.RichTable.create</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">rdom</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">cols</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">rows</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">headerPositions</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>161</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">[</span><span class="STRN">"t"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"tl"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"lt"</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">include</span><span class="PUNC">(</span><span class="NAME">headerPositions</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">headingAtTop</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT">
|
|
<span class='linenumber'>162</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">[</span><span class="STRN">"l"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"tl"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"lt"</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">include</span><span class="PUNC">(</span><span class="NAME">headerPositions</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">headingAtLeft</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT">
|
|
<span class='linenumber'>163</span>
|
|
<span class='linenumber'>164</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sb</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="WHIT">
|
|
<span class='linenumber'>165</span> </span><span class="WHIT"> </span><span class="NAME">sb.push</span><span class="PUNC">(</span><span class="STRN">'<table class="datatable">'</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>166</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'>167</span> </span><span class="WHIT"> </span><span class="COMM">// thead</span><span class="WHIT">
|
|
<span class='linenumber'>168</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">headingAtTop</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>169</span> </span><span class="WHIT"> </span><span class="NAME">sb.push</span><span class="PUNC">(</span><span class="STRN">'<thead><tr>'</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>170</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">cols</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">sb.push</span><span class="PUNC">(</span><span class="STRN">'<th></th>'</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>171</span> </span><span class="WHIT"> </span><span class="NAME">sb.push</span><span class="PUNC">(</span><span class="STRN">'</tr></thead>'</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>172</span> </span><span class="WHIT"> </span><span class="NAME">rows</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT">
|
|
<span class='linenumber'>173</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>174</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'>175</span> </span><span class="WHIT"> </span><span class="COMM">// tbody</span><span class="WHIT">
|
|
<span class='linenumber'>176</span> </span><span class="WHIT"> </span><span class="NAME">sb.push</span><span class="PUNC">(</span><span class="STRN">'<tbody>'</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>177</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">rows</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>178</span> </span><span class="WHIT"> </span><span class="NAME">sb.push</span><span class="PUNC">(</span><span class="STRN">'<tr>'</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>179</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'>180</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">cols</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">j</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>181</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">headingAtLeft</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">j</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>182</span> </span><span class="WHIT"> </span><span class="NAME">sb.push</span><span class="PUNC">(</span><span class="STRN">'<th></th>'</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>183</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>184</span> </span><span class="WHIT"> </span><span class="NAME">sb.push</span><span class="PUNC">(</span><span class="STRN">'<td></td>'</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>185</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>186</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>187</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'>188</span> </span><span class="WHIT"> </span><span class="NAME">sb.push</span><span class="PUNC">(</span><span class="STRN">'</tr>'</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>189</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>190</span> </span><span class="WHIT"> </span><span class="NAME">sb.push</span><span class="PUNC">(</span><span class="STRN">'</tbody>'</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>191</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'>192</span> </span><span class="WHIT"> </span><span class="NAME">sb.push</span><span class="PUNC">(</span><span class="STRN">'</table>'</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>193</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'>194</span> </span><span class="WHIT"> </span><span class="COMM">// create DOM element</span><span class="WHIT">
|
|
<span class='linenumber'>195</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">container</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">rdom.createElement</span><span class="PUNC">(</span><span class="STRN">"div"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>196</span> </span><span class="WHIT"> </span><span class="NAME">container.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sb.join</span><span class="PUNC">(</span><span class="STRN">""</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>197</span> </span><span class="WHIT"> </span><span class="WHIT">
|
|
<span class='linenumber'>198</span> </span><span class="WHIT"> </span><span class="COMM">// correct empty cells and return</span><span class="WHIT">
|
|
<span class='linenumber'>199</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">rtable</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">xq.RichTable</span><span class="PUNC">(</span><span class="NAME">rdom</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">container.firstChild</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>200</span> </span><span class="NAME">rtable.correctEmptyCells</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>201</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">rtable</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>202</span> </span><span class="PUNC">}</span></pre></body></html> |