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
344 lines
No EOL
77 KiB
HTML
344 lines
No EOL
77 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="COMM">/**
|
|
<span class='linenumber'> 2</span> * @fileOverview xq.controls provides common UI elements such as dialog.
|
|
<span class='linenumber'> 3</span> */</span><span class="WHIT">
|
|
<span class='linenumber'> 4</span> </span><span class="NAME">xq.controls</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'> 5</span>
|
|
<span class='linenumber'> 6</span>
|
|
<span class='linenumber'> 7</span>
|
|
<span class='linenumber'> 8</span> </span><span class="NAME">xq.controls.FormDialog</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'> 9</span> </span><span class="COMM">/**
|
|
<span class='linenumber'> 10</span> * @constructor
|
|
<span class='linenumber'> 11</span> *
|
|
<span class='linenumber'> 12</span> * @param {String} html HTML string which contains FORM
|
|
<span class='linenumber'> 13</span> * @param {Function} [onLoadHandler] callback function to be called when the form is loaded
|
|
<span class='linenumber'> 14</span> */</span><span class="WHIT">
|
|
<span class='linenumber'> 15</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">xed</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">html</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">onLoadHandler</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">onCloseHandler</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 16</span> </span><span class="NAME">this.xed</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">xed</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 17</span> </span><span class="NAME">this.html</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">html</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 18</span> </span><span class="NAME">this.onLoadHandler</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">onLoadHandler</span><span class="WHIT"> </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="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 19</span> </span><span class="NAME">this.onCloseHandler</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">onCloseHandler</span><span class="WHIT"> </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="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 20</span> </span><span class="NAME">this.form</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'> 21</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 22</span> </span><span class="COMM">/**
|
|
<span class='linenumber'> 23</span> * Show dialog
|
|
<span class='linenumber'> 24</span> *
|
|
<span class='linenumber'> 25</span> * @param {Object} [options] collection of options
|
|
<span class='linenumber'> 26</span> */</span><span class="WHIT">
|
|
<span class='linenumber'> 27</span> </span><span class="NAME">show</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 28</span> </span><span class="NAME">options</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options</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'> 29</span> </span><span class="NAME">options.position</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.position</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="STRN">'centerOfWindow'</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 30</span> </span><span class="NAME">options.mode</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.mode</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="STRN">'modal'</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 31</span> </span><span class="NAME">options.cancelOnEsc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">options.cancelOnEsc</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 32</span>
|
|
<span class='linenumber'> 33</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">self</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 34</span>
|
|
<span class='linenumber'> 35</span> </span><span class="COMM">// create and append container</span><span class="WHIT">
|
|
<span class='linenumber'> 36</span> </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">$</span><span class="PUNC">(</span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="STRN">'DIV'</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 37</span> </span><span class="NAME">container.style.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 38</span> </span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="NAME">container</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 39</span>
|
|
<span class='linenumber'> 40</span> </span><span class="COMM">// initialize form</span><span class="WHIT">
|
|
<span class='linenumber'> 41</span> </span><span class="NAME">container.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.html</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 42</span> </span><span class="NAME">this.form</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">$</span><span class="PUNC">(</span><span class="NAME">container.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'FORM'</span><span class="PUNC">)</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'> 43</span>
|
|
<span class='linenumber'> 44</span> </span><span class="NAME">this.form.onsubmit</span><span class="WHIT"> </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'> 45</span> </span><span class="NAME">self.onCloseHandler</span><span class="PUNC">(</span><span class="NAME">$</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">serialize</span><span class="PUNC">(</span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 46</span> </span><span class="NAME">self.close</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 47</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 48</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 49</span>
|
|
<span class='linenumber'> 50</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">cancelButton</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.form.getElementsByClassName</span><span class="PUNC">(</span><span class="STRN">'cancel'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 51</span> </span><span class="NAME">cancelButton.onclick</span><span class="WHIT"> </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'> 52</span> </span><span class="NAME">self.onCloseHandler</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 53</span> </span><span class="NAME">self.close</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 54</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 55</span>
|
|
<span class='linenumber'> 56</span> </span><span class="COMM">// append dialog</span><span class="WHIT">
|
|
<span class='linenumber'> 57</span> </span><span class="NAME">document.body.appendChild</span><span class="PUNC">(</span><span class="NAME">this.form</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 58</span> </span><span class="NAME">container.parentNode.removeChild</span><span class="PUNC">(</span><span class="NAME">container</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 59</span>
|
|
<span class='linenumber'> 60</span> </span><span class="COMM">// place dialog to center of window</span><span class="WHIT">
|
|
<span class='linenumber'> 61</span> </span><span class="NAME">this.setPosition</span><span class="PUNC">(</span><span class="NAME">options.position</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 62</span>
|
|
<span class='linenumber'> 63</span> </span><span class="COMM">// give focus</span><span class="WHIT">
|
|
<span class='linenumber'> 64</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">elementToFocus</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.form.getElementsByClassName</span><span class="PUNC">(</span><span class="STRN">'initialFocus'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 65</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">elementToFocus.length</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">elementToFocus</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">focus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 66</span>
|
|
<span class='linenumber'> 67</span> </span><span class="COMM">// handle cancelOnEsc option</span><span class="WHIT">
|
|
<span class='linenumber'> 68</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">options.cancelOnEsc</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 69</span> </span><span class="NAME">Event.observe</span><span class="PUNC">(</span><span class="NAME">this.form</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'keydown'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 70</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">e.keyCode</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">27</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 71</span> </span><span class="NAME">this.onCloseHandler</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 72</span> </span><span class="NAME">this.close</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 73</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 74</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 75</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 76</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 77</span>
|
|
<span class='linenumber'> 78</span> </span><span class="NAME">this.onLoadHandler</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 79</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 80</span> </span><span class="NAME">close</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'> 81</span> </span><span class="NAME">this.form.parentNode.removeChild</span><span class="PUNC">(</span><span class="NAME">this.form</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 82</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'> 83</span> </span><span class="NAME">setPosition</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">target</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 84</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">targetElement</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 85</span>
|
|
<span class='linenumber'> 86</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">target</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'centerOfWindow'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 87</span> </span><span class="NAME">targetElement</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.documentElement</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 88</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">target</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'centerOfEditor'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 89</span> </span><span class="NAME">targetElement</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.xed.getDoc</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NAME">xq.Browser.isTrident</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">"body"</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"documentElement"</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 90</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">target</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'nearbyCaret'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'> 91</span> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">"Not implemented yet"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 92</span> </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'> 93</span> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">"Invalid argument: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">target</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 94</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'> 95</span>
|
|
<span class='linenumber'> 96</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">targetWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">targetElement.clientWidth</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 97</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">targetHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">targetElement.clientHeight</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 98</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dialogWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.form.clientWidth</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'> 99</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dialogHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.form.clientHeight</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>100</span>
|
|
<span class='linenumber'>101</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">parseInt</span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">targetWidth</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">dialogWidth</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="REGX">/ 2);
|
|
<span class='linenumber'>102</span> var y = parseInt((targetHeight - dialogHeight) /</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>103</span>
|
|
<span class='linenumber'>104</span> </span><span class="NAME">this.form.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>105</span> </span><span class="NAME">this.form.style.top</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="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>106</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>107</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>108</span>
|
|
<span class='linenumber'>109</span>
|
|
<span class='linenumber'>110</span>
|
|
<span class='linenumber'>111</span> </span><span class="NAME">xq.controls.QuickSearchDialog</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'>112</span> </span><span class="COMM">/**
|
|
<span class='linenumber'>113</span> * @constructor
|
|
<span class='linenumber'>114</span> */</span><span class="WHIT">
|
|
<span class='linenumber'>115</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">xed</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">param</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>116</span> </span><span class="NAME">this.xed</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">xed</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>117</span>
|
|
<span class='linenumber'>118</span> </span><span class="NAME">this.rdom</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">xq.RichDom.createInstance</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>119</span> </span><span class="NAME">this.rdom.setRoot</span><span class="PUNC">(</span><span class="NAME">document.body</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>120</span>
|
|
<span class='linenumber'>121</span> </span><span class="NAME">this.param</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">param</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>122</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.param.renderItem</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.param.renderItem</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">item</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>123</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.rdom.getInnerText</span><span class="PUNC">(</span><span class="NAME">item</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>124</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>125</span>
|
|
<span class='linenumber'>126</span> </span><span class="NAME">this.container</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'>127</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>128</span>
|
|
<span class='linenumber'>129</span> </span><span class="NAME">getQuery</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'>130</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.container</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>131</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this._getInputField</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">value</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>132</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>133</span>
|
|
<span class='linenumber'>134</span> </span><span class="NAME">onSubmit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>135</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.matchCount</span><span class="PUNC">(</span><span class="PUNC">)</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'>136</span> </span><span class="NAME">this.param.onSelect</span><span class="PUNC">(</span><span class="NAME">this.xed</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.list</span><span class="PUNC">[</span><span class="NAME">this._getSelectedIndex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>137</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>138</span>
|
|
<span class='linenumber'>139</span> </span><span class="NAME">this.close</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>140</span> </span><span class="NAME">Event.stop</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>141</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>142</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>143</span>
|
|
<span class='linenumber'>144</span> </span><span class="NAME">onCancel</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>145</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.param.onCancel</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.param.onCancel</span><span class="PUNC">(</span><span class="NAME">this.xed</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>146</span> </span><span class="NAME">this.close</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>147</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>148</span>
|
|
<span class='linenumber'>149</span> </span><span class="NAME">onBlur</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>150</span> </span><span class="COMM">// TODO: Ugly</span><span class="WHIT">
|
|
<span class='linenumber'>151</span> </span><span class="NAME">setTimeout</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">this.onCancel</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">400</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>152</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>153</span>
|
|
<span class='linenumber'>154</span> </span><span class="NAME">onKey</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>155</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">esc</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.Shortcut</span><span class="PUNC">(</span><span class="STRN">"ESC"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>156</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">enter</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.Shortcut</span><span class="PUNC">(</span><span class="STRN">"ENTER"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>157</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">up</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.Shortcut</span><span class="PUNC">(</span><span class="STRN">"UP"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>158</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">down</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.Shortcut</span><span class="PUNC">(</span><span class="STRN">"DOWN"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>159</span>
|
|
<span class='linenumber'>160</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">esc.matches</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>161</span> </span><span class="NAME">this.onCancel</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>162</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">enter.matches</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>163</span> </span><span class="NAME">this.onSubmit</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>164</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">up.matches</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>165</span> </span><span class="NAME">this._moveSelectionUp</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>166</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">down.matches</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>167</span> </span><span class="NAME">this._moveSelectionDown</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>168</span> </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'>169</span> </span><span class="NAME">this.updateList</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>170</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>171</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>172</span>
|
|
<span class='linenumber'>173</span> </span><span class="NAME">onClick</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>174</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">target</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">e.srcElement</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">e.target</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>175</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">target.nodeName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"LI"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>176</span>
|
|
<span class='linenumber'>177</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">index</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._getIndexOfLI</span><span class="PUNC">(</span><span class="NAME">target</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>178</span> </span><span class="NAME">this.param.onSelect</span><span class="PUNC">(</span><span class="NAME">this.xed</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.list</span><span class="PUNC">[</span><span class="NAME">index</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>179</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>180</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>181</span>
|
|
<span class='linenumber'>182</span> </span><span class="NAME">onList</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">list</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>183</span> </span><span class="NAME">this.list</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">list</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>184</span> </span><span class="NAME">this.renderList</span><span class="PUNC">(</span><span class="NAME">list</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>185</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>186</span>
|
|
<span class='linenumber'>187</span> </span><span class="NAME">updateList</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'>188</span> </span><span class="NAME">window.setTimeout</span><span class="PUNC">(</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'>189</span> </span><span class="NAME">this.param.listProvider</span><span class="PUNC">(</span><span class="NAME">this.getQuery</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.xed</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.onList.bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>190</span> </span><span class="PUNC">}</span><span class="PUNC">.</span><span class="NAME">bind</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>191</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>192</span>
|
|
<span class='linenumber'>193</span> </span><span class="NAME">renderList</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">list</span><span class="PUNC">)</span><span class="WHIT">
|
|
<span class='linenumber'>194</span> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>195</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ol</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._getListContainer</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>196</span> </span><span class="NAME">ol.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>197</span>
|
|
<span class='linenumber'>198</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">list.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'>199</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">li</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">'LI'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>200</span> </span><span class="NAME">li.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.param.renderItem</span><span class="PUNC">(</span><span class="NAME">list</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'>201</span> </span><span class="NAME">ol.appendChild</span><span class="PUNC">(</span><span class="NAME">li</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>202</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>203</span>
|
|
<span class='linenumber'>204</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">ol.hasChildNodes</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'>205</span> </span><span class="NAME">ol.firstChild.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"selected"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>206</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>207</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>208</span>
|
|
<span class='linenumber'>209</span> </span><span class="NAME">show</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'>210</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.container</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.container</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._create</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>211</span>
|
|
<span class='linenumber'>212</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dialog</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.rdom.insertNodeAt</span><span class="PUNC">(</span><span class="NAME">this.container</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.rdom.getRoot</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"end"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>213</span> </span><span class="NAME">this.setPosition</span><span class="PUNC">(</span><span class="STRN">'centerOfEditor'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>214</span> </span><span class="NAME">this.updateList</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>215</span> </span><span class="NAME">this.focus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>216</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>217</span>
|
|
<span class='linenumber'>218</span> </span><span class="NAME">close</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'>219</span> </span><span class="NAME">this.rdom.deleteNode</span><span class="PUNC">(</span><span class="NAME">this.container</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>220</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>221</span>
|
|
<span class='linenumber'>222</span> </span><span class="NAME">focus</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'>223</span> </span><span class="NAME">this._getInputField</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">focus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>224</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>225</span>
|
|
<span class='linenumber'>226</span> </span><span class="NAME">setPosition</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">target</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>227</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">targetElement</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>228</span>
|
|
<span class='linenumber'>229</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">target</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'centerOfWindow'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>230</span> </span><span class="NAME">targetElement</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.documentElement</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>231</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">target</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'centerOfEditor'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>232</span> </span><span class="NAME">targetElement</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.xed.getDoc</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">documentElement</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>233</span> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">target</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'nearbyCaret'</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>234</span> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">"Not implemented yet"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>235</span> </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'>236</span> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">"Invalid argument: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">target</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>237</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>238</span>
|
|
<span class='linenumber'>239</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">targetWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">targetElement.clientWidth</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>240</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">targetHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">targetElement.clientHeight</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>241</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dialogWidth</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.container.clientWidth</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>242</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dialogHeight</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.container.clientHeight</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>243</span>
|
|
<span class='linenumber'>244</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">parseInt</span><span class="PUNC">(</span><span class="PUNC">(</span><span class="NAME">targetWidth</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">dialogWidth</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="REGX">/ 2);
|
|
<span class='linenumber'>245</span> var y = parseInt((targetHeight - dialogHeight) /</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>246</span> </span><span class="NAME">this.container.style.left</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>247</span> </span><span class="NAME">this.container.style.top</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="STRN">"px"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>248</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>249</span>
|
|
<span class='linenumber'>250</span> </span><span class="NAME">matchCount</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'>251</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.list</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">this.list.length</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'>252</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>253</span>
|
|
<span class='linenumber'>254</span> </span><span class="NAME">_create</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'>255</span> </span><span class="COMM">// make container</span><span class="WHIT">
|
|
<span class='linenumber'>256</span> </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">this.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'>257</span> </span><span class="NAME">container.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"xqQuickSearch"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>258</span>
|
|
<span class='linenumber'>259</span> </span><span class="COMM">// make title</span><span class="WHIT">
|
|
<span class='linenumber'>260</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.param.title</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>261</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">title</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">"H1"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>262</span> </span><span class="NAME">title.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.param.title</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>263</span> </span><span class="NAME">container.appendChild</span><span class="PUNC">(</span><span class="NAME">title</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>264</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>265</span>
|
|
<span class='linenumber'>266</span> </span><span class="COMM">// make input field</span><span class="WHIT">
|
|
<span class='linenumber'>267</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">inputWrapper</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">"DIV"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>268</span> </span><span class="NAME">inputWrapper.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"input"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>269</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">form</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">"FORM"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>270</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">input</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">"INPUT"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>271</span> </span><span class="NAME">input.type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"text"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>272</span> </span><span class="NAME">input.value</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>273</span> </span><span class="NAME">form.appendChild</span><span class="PUNC">(</span><span class="NAME">input</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>274</span> </span><span class="NAME">inputWrapper.appendChild</span><span class="PUNC">(</span><span class="NAME">form</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>275</span> </span><span class="NAME">container.appendChild</span><span class="PUNC">(</span><span class="NAME">inputWrapper</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>276</span>
|
|
<span class='linenumber'>277</span> </span><span class="COMM">// make list</span><span class="WHIT">
|
|
<span class='linenumber'>278</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">list</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">"OL"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>279</span>
|
|
<span class='linenumber'>280</span> </span><span class="NAME">Event.observe</span><span class="PUNC">(</span><span class="NAME">input</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'blur'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.onBlur.bindAsEventListener</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>281</span> </span><span class="NAME">Event.observe</span><span class="PUNC">(</span><span class="NAME">input</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'keypress'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.onKey.bindAsEventListener</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>282</span> </span><span class="NAME">Event.observe</span><span class="PUNC">(</span><span class="NAME">list</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'click'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.onClick.bindAsEventListener</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>283</span> </span><span class="NAME">Event.observe</span><span class="PUNC">(</span><span class="NAME">form</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'submit'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.onSubmit.bindAsEventListener</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>284</span> </span><span class="NAME">Event.observe</span><span class="PUNC">(</span><span class="NAME">form</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'reset'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.onCancel.bindAsEventListener</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>285</span>
|
|
<span class='linenumber'>286</span> </span><span class="NAME">container.appendChild</span><span class="PUNC">(</span><span class="NAME">list</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>287</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">container</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>288</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>289</span>
|
|
<span class='linenumber'>290</span> </span><span class="NAME">_getInputField</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'>291</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.container.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'INPUT'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>292</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>293</span>
|
|
<span class='linenumber'>294</span> </span><span class="NAME">_getListContainer</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'>295</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.container.getElementsByTagName</span><span class="PUNC">(</span><span class="STRN">'OL'</span><span class="PUNC">)</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>296</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>297</span>
|
|
<span class='linenumber'>298</span> </span><span class="NAME">_getSelectedIndex</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'>299</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ol</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._getListContainer</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>300</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">ol.childNodes.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'>301</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">ol.childNodes</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">className</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'selected'</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'>302</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>303</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>304</span>
|
|
<span class='linenumber'>305</span> </span><span class="NAME">_getIndexOfLI</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">li</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
|
<span class='linenumber'>306</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ol</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._getListContainer</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>307</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">ol.childNodes.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'>308</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">ol.childNodes</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">li</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'>309</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>310</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>311</span>
|
|
<span class='linenumber'>312</span> </span><span class="NAME">_moveSelectionUp</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'>313</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">count</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.matchCount</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>314</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">count</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="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>315</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">index</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._getSelectedIndex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>316</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ol</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._getListContainer</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>317</span> </span><span class="NAME">ol.childNodes</span><span class="PUNC">[</span><span class="NAME">index</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>318</span>
|
|
<span class='linenumber'>319</span> </span><span class="NAME">index</span><span class="PUNC">--</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>320</span> </span><span class="KEYW">if</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">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">index</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">count</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'>321</span>
|
|
<span class='linenumber'>322</span> </span><span class="NAME">ol.childNodes</span><span class="PUNC">[</span><span class="NAME">index</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"selected"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>323</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
|
<span class='linenumber'>324</span>
|
|
<span class='linenumber'>325</span> </span><span class="NAME">_moveSelectionDown</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'>326</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">count</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.matchCount</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>327</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">count</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="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>328</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">index</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._getSelectedIndex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>329</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ol</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._getListContainer</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>330</span> </span><span class="NAME">ol.childNodes</span><span class="PUNC">[</span><span class="NAME">index</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>331</span>
|
|
<span class='linenumber'>332</span> </span><span class="NAME">index</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>333</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">index</span><span class="WHIT"> </span><span class="PUNC">>=</span><span class="WHIT"> </span><span class="NAME">count</span><span class="PUNC">)</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="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>334</span>
|
|
<span class='linenumber'>335</span> </span><span class="NAME">ol.childNodes</span><span class="PUNC">[</span><span class="NAME">index</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"selected"</span><span class="PUNC">;</span><span class="WHIT">
|
|
<span class='linenumber'>336</span> </span><span class="PUNC">}</span><span class="WHIT">
|
|
<span class='linenumber'>337</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span></pre></body></html> |