b541a22c9dc183ad0960fbaa7c87ba59b594a3f8
[roojs1] / docs / src / Roo_bootstrap_form_ComboBox.js.html
1 <html><head><title>Roo/bootstrap/form/ComboBox.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
2  * - LGPL
3  * * 
4  */
5
6 /**
7  * @class Roo.bootstrap.form.ComboBox
8  * @extends Roo.bootstrap.form.TriggerField
9  * A combobox control with support for autocomplete, remote-loading, paging and many other features.
10  * @cfg {Boolean} append (true|false) default false
11  * @cfg {Boolean} autoFocus (true|false) auto focus the first item, default true
12  * @cfg {Boolean} tickable ComboBox with tickable selections (true|false), default false
13  * @cfg {Boolean} triggerList trigger show the list or not (true|false) default true
14  * @cfg {Boolean} showToggleBtn show toggle button or not (true|false) default true
15  * @cfg {String} btnPosition set the position of the trigger button (left | right) default right
16  * @cfg {Boolean} animate default true
17  * @cfg {Boolean} emptyResultText only for touch device
18  * @cfg {String} triggerText multiple combobox trigger button text default 'Select'
19  * @cfg {String} emptyTitle default ''
20  * @cfg {Number} width fixed with? experimental
21  * @constructor
22  * Create a new ComboBox.
23  * @param {Object} config Configuration options
24  */
25 </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">){
26     </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
27     </span><span class="jsdoc-var">this.addEvents</span><span class="jsdoc-syntax">({
28         </span><span class="jsdoc-comment">/**
29          * @event expand
30          * Fires when the dropdown list is expanded
31         * @param {Roo.bootstrap.form.ComboBox} combo This combo box
32         */
33         </span><span class="jsdoc-string">'expand' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
34         </span><span class="jsdoc-comment">/**
35          * @event collapse
36          * Fires when the dropdown list is collapsed
37         * @param {Roo.bootstrap.form.ComboBox} combo This combo box
38         */
39         </span><span class="jsdoc-string">'collapse' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
40         </span><span class="jsdoc-comment">/**
41          * @event beforeselect
42          * Fires before a list item is selected. Return false to cancel the selection.
43         * @param {Roo.bootstrap.form.ComboBox} combo This combo box
44         * @param {Roo.data.Record} record The data record returned from the underlying store
45         * @param {Number} index The index of the selected item in the dropdown list
46         */
47         </span><span class="jsdoc-string">'beforeselect' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
48         </span><span class="jsdoc-comment">/**
49          * @event select
50          * Fires when a list item is selected
51         * @param {Roo.bootstrap.form.ComboBox} combo This combo box
52         * @param {Roo.data.Record} record The data record returned from the underlying store (or false on clear)
53         * @param {Number} index The index of the selected item in the dropdown list
54         */
55         </span><span class="jsdoc-string">'select' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
56         </span><span class="jsdoc-comment">/**
57          * @event beforequery
58          * Fires before all queries are processed. Return false to cancel the query or set cancel to true.
59          * The event object passed has these properties:
60         * @param {Roo.bootstrap.form.ComboBox} combo This combo box
61         * @param {String} query The query
62         * @param {Boolean} forceAll true to force &quot;all&quot; query
63         * @param {Boolean} cancel true to cancel the query
64         * @param {Object} e The query event object
65         */
66         </span><span class="jsdoc-string">'beforequery'</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
67          </span><span class="jsdoc-comment">/**
68          * @event add
69          * Fires when the 'add' icon is pressed (add a listener to enable add button)
70         * @param {Roo.bootstrap.form.ComboBox} combo This combo box
71         */
72         </span><span class="jsdoc-string">'add' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
73         </span><span class="jsdoc-comment">/**
74          * @event edit
75          * Fires when the 'edit' icon is pressed (add a listener to enable add button)
76         * @param {Roo.bootstrap.form.ComboBox} combo This combo box
77         * @param {Roo.data.Record|false} record The data record returned from the underlying store (or false on nothing selected)
78         */
79         </span><span class="jsdoc-string">'edit' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
80         </span><span class="jsdoc-comment">/**
81          * @event remove
82          * Fires when the remove value from the combobox array
83         * @param {Roo.bootstrap.form.ComboBox} combo This combo box
84         */
85         </span><span class="jsdoc-string">'remove' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
86         </span><span class="jsdoc-comment">/**
87          * @event afterremove
88          * Fires when the remove value from the combobox array
89         * @param {Roo.bootstrap.form.ComboBox} combo This combo box
90         */
91         </span><span class="jsdoc-string">'afterremove' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
92         </span><span class="jsdoc-comment">/**
93          * @event specialfilter
94          * Fires when specialfilter
95             * @param {Roo.bootstrap.form.ComboBox} combo This combo box
96             */
97         </span><span class="jsdoc-string">'specialfilter' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
98         </span><span class="jsdoc-comment">/**
99          * @event tick
100          * Fires when tick the element
101             * @param {Roo.bootstrap.form.ComboBox} combo This combo box
102             */
103         </span><span class="jsdoc-string">'tick' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
104         </span><span class="jsdoc-comment">/**
105          * @event touchviewdisplay
106          * Fires when touch view require special display (default is using displayField)
107             * @param {Roo.bootstrap.form.ComboBox} combo This combo box
108             * @param {Object} cfg set html .
109             */
110         </span><span class="jsdoc-string">'touchviewdisplay' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
111
112     </span><span class="jsdoc-syntax">});
113
114     </span><span class="jsdoc-var">this.item </span><span class="jsdoc-syntax">= [];
115     </span><span class="jsdoc-var">this.tickItems </span><span class="jsdoc-syntax">= [];
116
117     </span><span class="jsdoc-var">this.selectedIndex </span><span class="jsdoc-syntax">= -1;
118     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mode </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'local'</span><span class="jsdoc-syntax">){
119         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.queryDelay </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">){
120             </span><span class="jsdoc-var">this.queryDelay </span><span class="jsdoc-syntax">= 10;
121         }
122         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.minChars </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">){
123             </span><span class="jsdoc-var">this.minChars </span><span class="jsdoc-syntax">= 0;
124         }
125     }
126 };
127
128 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.form.TriggerField</span><span class="jsdoc-syntax">, {
129
130     </span><span class="jsdoc-comment">/**
131      * @cfg {Boolean} lazyRender True to prevent the ComboBox from rendering until requested (should always be used when
132      * rendering into an Roo.Editor, defaults to false)
133      */
134     /**
135      * @cfg {Boolean/Object} autoCreate A DomHelper element spec, or true for a default element spec (defaults to:
136      * {tag: &quot;input&quot;, type: &quot;text&quot;, size: &quot;24&quot;, autocomplete: &quot;off&quot;})
137      */
138     /**
139      * @cfg {Roo.data.Store} store The data store to which this combo is bound (defaults to undefined)
140      */
141     /**
142      * @cfg {String} title If supplied, a header element is created containing this text and added into the top of
143      * the dropdown list (defaults to undefined, with no header element)
144      */
145
146      /**
147      * @cfg {String/Roo.Template} tpl The template to use to render the output default is  '&lt;a class=&quot;dropdown-item&quot; href=&quot;#&quot;&gt;{' + this.displayField + '}&lt;/a&gt;' 
148      */
149
150      /**
151      * @cfg {Number} listWidth The width in pixels of the dropdown list (defaults to the width of the ComboBox field)
152      */
153     </span><span class="jsdoc-var">listWidth</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">,
154     </span><span class="jsdoc-comment">/**
155      * @cfg {String} displayField The underlying data field name to bind to this CombBox (defaults to undefined if
156      * mode = 'remote' or 'text' if mode = 'local')
157      */
158     </span><span class="jsdoc-var">displayField</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">,
159
160     </span><span class="jsdoc-comment">/**
161      * @cfg {String} valueField The underlying data value name to bind to this CombBox (defaults to undefined if
162      * mode = 'remote' or 'value' if mode = 'local'). 
163      * Note: use of a valueField requires the user make a selection
164      * in order for a value to be mapped.
165      */
166     </span><span class="jsdoc-var">valueField</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">,
167     </span><span class="jsdoc-comment">/**
168      * @cfg {String} modalTitle The title of the dialog that pops up on mobile views.
169      */
170     </span><span class="jsdoc-var">modalTitle </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
171
172     </span><span class="jsdoc-comment">/**
173      * @cfg {String} hiddenName If specified, a hidden form field with this name is dynamically generated to store the
174      * field's data value (defaults to the underlying DOM element's name)
175      */
176     </span><span class="jsdoc-var">hiddenName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">,
177     </span><span class="jsdoc-comment">/**
178      * @cfg {String} listClass CSS class to apply to the dropdown list element (defaults to '')
179      */
180     </span><span class="jsdoc-var">listClass</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
181     </span><span class="jsdoc-comment">/**
182      * @cfg {String} selectedClass CSS class to apply to the selected item in the dropdown list (defaults to 'x-combo-selected')
183      */
184     </span><span class="jsdoc-var">selectedClass</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'active'</span><span class="jsdoc-syntax">,
185
186     </span><span class="jsdoc-comment">/**
187      * @cfg {Boolean/String} shadow True or &quot;sides&quot; for the default effect, &quot;frame&quot; for 4-way shadow, and &quot;drop&quot; for bottom-right
188      */
189     </span><span class="jsdoc-var">shadow</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'sides'</span><span class="jsdoc-syntax">,
190     </span><span class="jsdoc-comment">/**
191      * @cfg {String} listAlign A valid anchor position value. See {@link Roo.Element#alignTo} for details on supported
192      * anchor positions (defaults to 'tl-bl')
193      */
194     </span><span class="jsdoc-var">listAlign</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tl-bl?'</span><span class="jsdoc-syntax">,
195     </span><span class="jsdoc-comment">/**
196      * @cfg {Number} maxHeight The maximum height in pixels of the dropdown list before scrollbars are shown (defaults to 300)
197      */
198     </span><span class="jsdoc-var">maxHeight</span><span class="jsdoc-syntax">: 300,
199     </span><span class="jsdoc-comment">/**
200      * @cfg {String} triggerAction The action to execute when the trigger field is activated.  Use 'all' to run the
201      * query specified by the allQuery config option (defaults to 'query')
202      */
203     </span><span class="jsdoc-var">triggerAction</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'query'</span><span class="jsdoc-syntax">,
204     </span><span class="jsdoc-comment">/**
205      * @cfg {Number} minChars The minimum number of characters the user must type before autocomplete and typeahead activate
206      * (defaults to 4, does not apply if editable = false)
207      */
208     </span><span class="jsdoc-var">minChars </span><span class="jsdoc-syntax">: 4,
209     </span><span class="jsdoc-comment">/**
210      * @cfg {Boolean} typeAhead True to populate and autoselect the remainder of the text being typed after a configurable
211      * delay (typeAheadDelay) if it matches a known value (defaults to false)
212      */
213     </span><span class="jsdoc-var">typeAhead</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
214     </span><span class="jsdoc-comment">/**
215      * @cfg {Number} queryDelay The length of time in milliseconds to delay between the start of typing and sending the
216      * query to filter the dropdown list (defaults to 500 if mode = 'remote' or 10 if mode = 'local')
217      */
218     </span><span class="jsdoc-var">queryDelay</span><span class="jsdoc-syntax">: 500,
219     </span><span class="jsdoc-comment">/**
220      * @cfg {Number} pageSize If greater than 0, a paging toolbar is displayed in the footer of the dropdown list and the
221      * filter queries will execute with page start and limit parameters.  Only applies when mode = 'remote' (defaults to 0)
222      */
223     </span><span class="jsdoc-var">pageSize</span><span class="jsdoc-syntax">: 0,
224     </span><span class="jsdoc-comment">/**
225      * @cfg {Boolean} selectOnFocus True to select any existing text in the field immediately on focus.  Only applies
226      * when editable = true (defaults to false)
227      */
228     </span><span class="jsdoc-var">selectOnFocus</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
229     </span><span class="jsdoc-comment">/**
230      * @cfg {String} queryParam Name of the query as it will be passed on the querystring (defaults to 'query')
231      */
232     </span><span class="jsdoc-var">queryParam</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'query'</span><span class="jsdoc-syntax">,
233     </span><span class="jsdoc-comment">/**
234      * @cfg {String} loadingText The text to display in the dropdown list while data is loading.  Only applies
235      * when mode = 'remote' (defaults to 'Loading...')
236      */
237     </span><span class="jsdoc-var">loadingText</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Loading...'</span><span class="jsdoc-syntax">,
238     </span><span class="jsdoc-comment">/**
239      * @cfg {Boolean} resizable True to add a resize handle to the bottom of the dropdown list (defaults to false)
240      */
241     </span><span class="jsdoc-var">resizable</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
242     </span><span class="jsdoc-comment">/**
243      * @cfg {Number} handleHeight The height in pixels of the dropdown list resize handle if resizable = true (defaults to 8)
244      */
245     </span><span class="jsdoc-var">handleHeight </span><span class="jsdoc-syntax">: 8,
246     </span><span class="jsdoc-comment">/**
247      * @cfg {Boolean} editable False to prevent the user from typing text directly into the field, just like a
248      * traditional select (defaults to true)
249      */
250     </span><span class="jsdoc-var">editable</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
251     </span><span class="jsdoc-comment">/**
252      * @cfg {String} allQuery The text query to send to the server to return all records for the list with no filtering (defaults to '')
253      */
254     </span><span class="jsdoc-var">allQuery</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
255     </span><span class="jsdoc-comment">/**
256      * @cfg {String} mode Set to 'local' if the ComboBox loads local data (defaults to 'remote' which loads from the server)
257      */
258     </span><span class="jsdoc-var">mode</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'remote'</span><span class="jsdoc-syntax">,
259     </span><span class="jsdoc-comment">/**
260      * @cfg {Number} minListWidth The minimum width of the dropdown list in pixels (defaults to 70, will be ignored if
261      * listWidth has a higher value)
262      */
263     </span><span class="jsdoc-var">minListWidth </span><span class="jsdoc-syntax">: 70,
264     </span><span class="jsdoc-comment">/**
265      * @cfg {Boolean} forceSelection True to restrict the selected value to one of the values in the list, false to
266      * allow the user to set arbitrary text into the field (defaults to false)
267      */
268     </span><span class="jsdoc-var">forceSelection</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
269     </span><span class="jsdoc-comment">/**
270      * @cfg {Number} typeAheadDelay The length of time in milliseconds to wait until the typeahead text is displayed
271      * if typeAhead = true (defaults to 250)
272      */
273     </span><span class="jsdoc-var">typeAheadDelay </span><span class="jsdoc-syntax">: 250,
274     </span><span class="jsdoc-comment">/**
275      * @cfg {String} valueNotFoundText When using a name/value combo, if the value passed to setValue is not found in
276      * the store, valueNotFoundText will be displayed as the field text if defined (defaults to undefined)
277      */
278     </span><span class="jsdoc-var">valueNotFoundText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">,
279     </span><span class="jsdoc-comment">/**
280      * @cfg {Boolean} blockFocus Prevents all focus calls, so it can work with things like HTML edtor bar
281      */
282     </span><span class="jsdoc-var">blockFocus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
283
284     </span><span class="jsdoc-comment">/**
285      * @cfg {Boolean} disableClear Disable showing of clear button.
286      */
287     </span><span class="jsdoc-var">disableClear </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
288     </span><span class="jsdoc-comment">/**
289      * @cfg {Boolean} alwaysQuery  Disable caching of results, and always send query
290      */
291     </span><span class="jsdoc-var">alwaysQuery </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
292
293     </span><span class="jsdoc-comment">/**
294      * @cfg {Boolean} multiple  (true|false) ComboBobArray, default false
295      */
296     </span><span class="jsdoc-var">multiple </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
297
298     </span><span class="jsdoc-comment">/**
299      * @cfg {String} invalidClass DEPRICATED - uses BS4 is-valid now
300      */
301     </span><span class="jsdoc-var">invalidClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;has-warning&quot;</span><span class="jsdoc-syntax">,
302
303     </span><span class="jsdoc-comment">/**
304      * @cfg {String} validClass DEPRICATED - uses BS4 is-valid now
305      */
306     </span><span class="jsdoc-var">validClass </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;has-success&quot;</span><span class="jsdoc-syntax">,
307
308     </span><span class="jsdoc-comment">/**
309      * @cfg {Boolean} specialFilter (true|false) special filter default false
310      */
311     </span><span class="jsdoc-var">specialFilter </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
312
313     </span><span class="jsdoc-comment">/**
314      * @cfg {Boolean} mobileTouchView (true|false) show mobile touch view when using a mobile default true
315      */
316     </span><span class="jsdoc-var">mobileTouchView </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
317
318     </span><span class="jsdoc-comment">/**
319      * @cfg {Boolean} useNativeIOS (true|false) render it as classic select for ios, not support dynamic load data (default false)
320      */
321     </span><span class="jsdoc-var">useNativeIOS </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
322
323     </span><span class="jsdoc-comment">/**
324      * @cfg {Boolean} mobile_restrict_height (true|false) restrict height for touch view
325      */
326     </span><span class="jsdoc-var">mobile_restrict_height </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
327
328     </span><span class="jsdoc-var">ios_options </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
329
330     </span><span class="jsdoc-comment">//private
331     </span><span class="jsdoc-var">addicon </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
332     </span><span class="jsdoc-var">editicon</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
333
334     </span><span class="jsdoc-var">page</span><span class="jsdoc-syntax">: 0,
335     </span><span class="jsdoc-var">hasQuery</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
336     </span><span class="jsdoc-var">append</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
337     </span><span class="jsdoc-var">loadNext</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
338     </span><span class="jsdoc-var">autoFocus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
339     </span><span class="jsdoc-var">tickable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
340     </span><span class="jsdoc-var">btnPosition </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'right'</span><span class="jsdoc-syntax">,
341     </span><span class="jsdoc-var">triggerList </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
342     </span><span class="jsdoc-var">showToggleBtn </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
343     </span><span class="jsdoc-var">animate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
344     </span><span class="jsdoc-var">emptyResultText</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Empty'</span><span class="jsdoc-syntax">,
345     </span><span class="jsdoc-var">triggerText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Select'</span><span class="jsdoc-syntax">,
346     </span><span class="jsdoc-var">emptyTitle </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
347     </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
348
349     </span><span class="jsdoc-comment">// element that contains real text value.. (when hidden is used..)
350
351     </span><span class="jsdoc-var">getAutoCreate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
352     {
353         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
354         </span><span class="jsdoc-comment">//render
355         /*
356          * Render classic select for iso
357          */
358
359         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIOS </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.useNativeIOS</span><span class="jsdoc-syntax">){
360             </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getAutoCreateNativeIOS</span><span class="jsdoc-syntax">();
361             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">;
362         }
363
364         </span><span class="jsdoc-comment">/*
365          * Touch Devices
366          */
367
368         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isTouch </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.mobileTouchView</span><span class="jsdoc-syntax">){
369             </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getAutoCreateTouchView</span><span class="jsdoc-syntax">();
370             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">;;
371         }
372
373         </span><span class="jsdoc-comment">/*
374          *  Normal ComboBox
375          */
376         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.tickable</span><span class="jsdoc-syntax">){
377             </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.superclass.getAutoCreate.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
378             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">;
379         }
380
381         </span><span class="jsdoc-comment">/*
382          *  ComboBox with tickable selections
383          */
384
385         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">align </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.labelAlign </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.parentLabelAlign</span><span class="jsdoc-syntax">();
386
387         </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
388             </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'form-group roo-combobox-tickable' </span><span class="jsdoc-comment">//input-group
389         </span><span class="jsdoc-syntax">};
390
391         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">btn_text_select </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
392         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">btn_text_done </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
393         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">btn_text_cancel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
394
395         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.btn_text_show</span><span class="jsdoc-syntax">) {
396             </span><span class="jsdoc-var">btn_text_select </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'Select'</span><span class="jsdoc-syntax">;
397             </span><span class="jsdoc-var">btn_text_done </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'Done'</span><span class="jsdoc-syntax">;
398             </span><span class="jsdoc-var">btn_text_cancel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'Cancel'</span><span class="jsdoc-syntax">;
399         }
400
401         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">buttons </span><span class="jsdoc-syntax">= {
402             </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
403             </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tickable-buttons'</span><span class="jsdoc-syntax">,
404             </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
405                 {
406                     </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">,
407                     </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">,
408                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'btn btn-link btn-edit pull-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.btnPosition</span><span class="jsdoc-syntax">,
409                     </span><span class="jsdoc-comment">//html : this.triggerText
410                     </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">btn_text_select
411                 </span><span class="jsdoc-syntax">},
412                 {
413                     </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">,
414                     </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">,
415                     </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'ok'</span><span class="jsdoc-syntax">,
416                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'btn btn-link btn-ok pull-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.btnPosition</span><span class="jsdoc-syntax">,
417                     </span><span class="jsdoc-comment">//html : 'Done'
418                     </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">btn_text_done
419                 </span><span class="jsdoc-syntax">},
420                 {
421                     </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">,
422                     </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">,
423                     </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'cancel'</span><span class="jsdoc-syntax">,
424                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'btn btn-link btn-cancel pull-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.btnPosition</span><span class="jsdoc-syntax">,
425                     </span><span class="jsdoc-comment">//html : 'Cancel'
426                     </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">btn_text_cancel
427                 </span><span class="jsdoc-syntax">}
428             ]
429         };
430
431         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.editable</span><span class="jsdoc-syntax">){
432             </span><span class="jsdoc-var">buttons.cn.unshift</span><span class="jsdoc-syntax">({
433                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">,
434                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-select2-search-field-input'
435             </span><span class="jsdoc-syntax">});
436         }
437
438         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
439
440         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">buttons.cn</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">){
441             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.size</span><span class="jsdoc-syntax">) {
442                 </span><span class="jsdoc-var">c.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' btn-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">_this.size</span><span class="jsdoc-syntax">;
443             }
444
445             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.disabled</span><span class="jsdoc-syntax">) {
446                 </span><span class="jsdoc-var">c.disabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
447             }
448         });
449
450         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">box </span><span class="jsdoc-syntax">= {
451             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
452             </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'display: contents'</span><span class="jsdoc-syntax">,
453             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
454                 {
455                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">,
456                     </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'hidden'</span><span class="jsdoc-syntax">,
457                     </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'form-hidden-field'
458                 </span><span class="jsdoc-syntax">},
459                 {
460                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'ul'</span><span class="jsdoc-syntax">,
461                     </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-select2-choices'</span><span class="jsdoc-syntax">,
462                     </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">:[
463                         {
464                             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'li'</span><span class="jsdoc-syntax">,
465                             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-select2-search-field'</span><span class="jsdoc-syntax">,
466                             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
467                                 </span><span class="jsdoc-var">buttons
468                             </span><span class="jsdoc-syntax">]
469                         }
470                     ]
471                 }
472             ]
473         };
474
475         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">combobox </span><span class="jsdoc-syntax">= {
476             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-select2-container input-group roo-select2-container-multi'</span><span class="jsdoc-syntax">,
477             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
478
479                 </span><span class="jsdoc-var">box
480 </span><span class="jsdoc-comment">//                {
481 //                    tag: 'ul',
482 //                    cls: 'typeahead typeahead-long dropdown-menu',
483 //                    style: 'display:none; max-height:' + this.maxHeight + 'px;'
484 //                }
485             </span><span class="jsdoc-syntax">]
486         };
487
488         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hasFeedback </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">this.allowBlank</span><span class="jsdoc-syntax">){
489
490             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">feedback </span><span class="jsdoc-syntax">= {
491                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
492                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'glyphicon form-control-feedback'
493             </span><span class="jsdoc-syntax">};
494
495             </span><span class="jsdoc-var">combobox.cn.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">feedback</span><span class="jsdoc-syntax">);
496         }
497
498
499
500         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">indicator </span><span class="jsdoc-syntax">= {
501             </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'i'</span><span class="jsdoc-syntax">,
502             </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-required-indicator ' </span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">this.indicatorpos </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'right'  </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'right' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'left'</span><span class="jsdoc-syntax">) +</span><span class="jsdoc-string">'-indicator text-danger fa fa-lg fa-star'</span><span class="jsdoc-syntax">,
503             </span><span class="jsdoc-var">tooltip </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'This field is required'
504         </span><span class="jsdoc-syntax">};
505         </span><span class="jsdoc-comment">/*
506          * why?
507           if (Roo.bootstrap.version == 4) {
508             indicator = {
509                 tag : 'i',
510                 style : 'display:none'
511             };
512         }*/
513         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">align </span><span class="jsdoc-syntax">===</span><span class="jsdoc-string">'left' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.fieldLabel.length</span><span class="jsdoc-syntax">) {
514
515             </span><span class="jsdoc-var">cfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' roo-form-group-label-left'  </span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">Roo.bootstrap.version </span><span class="jsdoc-syntax">== 4 ? </span><span class="jsdoc-string">' row' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
516
517             </span><span class="jsdoc-var">cfg.cn </span><span class="jsdoc-syntax">= [
518                 </span><span class="jsdoc-var">indicator</span><span class="jsdoc-syntax">,
519                 {
520                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'</span><span class="jsdoc-syntax">,
521                     </span><span class="jsdoc-string">'for' </span><span class="jsdoc-syntax">:  </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">,
522                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'control-label col-form-label'</span><span class="jsdoc-syntax">,
523                     </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.fieldLabel
524
525                 </span><span class="jsdoc-syntax">},
526                 {
527                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">,
528                     </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
529                         </span><span class="jsdoc-var">combobox
530                     </span><span class="jsdoc-syntax">]
531                 }
532
533             ];
534
535             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">labelCfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cfg.cn</span><span class="jsdoc-syntax">[1];
536             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">contentCfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cfg.cn</span><span class="jsdoc-syntax">[2];
537
538
539             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.indicatorpos </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'right'</span><span class="jsdoc-syntax">){
540
541                 </span><span class="jsdoc-var">cfg.cn </span><span class="jsdoc-syntax">= [
542                     {
543                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'</span><span class="jsdoc-syntax">,
544                         </span><span class="jsdoc-string">'for' </span><span class="jsdoc-syntax">:  </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">,
545                         </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'control-label col-form-label'</span><span class="jsdoc-syntax">,
546                         </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
547                             {
548                                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
549                                 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.fieldLabel
550                             </span><span class="jsdoc-syntax">},
551                             </span><span class="jsdoc-var">indicator
552                         </span><span class="jsdoc-syntax">]
553                     },
554                     {
555                         </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">,
556                         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
557                             </span><span class="jsdoc-var">combobox
558                         </span><span class="jsdoc-syntax">]
559                     }
560
561                 ];
562
563
564
565                 </span><span class="jsdoc-var">labelCfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cfg.cn</span><span class="jsdoc-syntax">[0];
566                 </span><span class="jsdoc-var">contentCfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cfg.cn</span><span class="jsdoc-syntax">[1];
567
568             }
569
570             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelWidth </span><span class="jsdoc-syntax">&gt; 12){
571                 </span><span class="jsdoc-var">labelCfg.style </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;width: &quot; </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.labelWidth </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'px'</span><span class="jsdoc-syntax">;
572             }
573             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.width </span><span class="jsdoc-syntax">* 1 &gt; 0){
574                 </span><span class="jsdoc-var">contentCfg.style </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;width: &quot; </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.width </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'px'</span><span class="jsdoc-syntax">;
575             }
576             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelWidth </span><span class="jsdoc-syntax">&lt; 13 &amp;&amp; </span><span class="jsdoc-var">this.labelmd </span><span class="jsdoc-syntax">== 0){
577                 </span><span class="jsdoc-var">this.labelmd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.labelWidth</span><span class="jsdoc-syntax">;
578             }
579
580             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labellg </span><span class="jsdoc-syntax">&gt; 0){
581                 </span><span class="jsdoc-var">labelCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-lg-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.labellg</span><span class="jsdoc-syntax">;
582                 </span><span class="jsdoc-var">contentCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-lg-' </span><span class="jsdoc-syntax">+ (12 - </span><span class="jsdoc-var">this.labellg</span><span class="jsdoc-syntax">);
583             }
584
585             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelmd </span><span class="jsdoc-syntax">&gt; 0){
586                 </span><span class="jsdoc-var">labelCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-md-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.labelmd</span><span class="jsdoc-syntax">;
587                 </span><span class="jsdoc-var">contentCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-md-' </span><span class="jsdoc-syntax">+ (12 - </span><span class="jsdoc-var">this.labelmd</span><span class="jsdoc-syntax">);
588             }
589
590             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelsm </span><span class="jsdoc-syntax">&gt; 0){
591                 </span><span class="jsdoc-var">labelCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-sm-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.labelsm</span><span class="jsdoc-syntax">;
592                 </span><span class="jsdoc-var">contentCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-sm-' </span><span class="jsdoc-syntax">+ (12 - </span><span class="jsdoc-var">this.labelsm</span><span class="jsdoc-syntax">);
593             }
594
595             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelxs </span><span class="jsdoc-syntax">&gt; 0){
596                 </span><span class="jsdoc-var">labelCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-xs-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.labelxs</span><span class="jsdoc-syntax">;
597                 </span><span class="jsdoc-var">contentCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-xs-' </span><span class="jsdoc-syntax">+ (12 - </span><span class="jsdoc-var">this.labelxs</span><span class="jsdoc-syntax">);
598             }
599
600
601         } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">this.fieldLabel.length</span><span class="jsdoc-syntax">) {
602 </span><span class="jsdoc-comment">//                Roo.log(&quot; label&quot;);
603                  </span><span class="jsdoc-var">cfg.cn </span><span class="jsdoc-syntax">= [
604                    </span><span class="jsdoc-var">indicator</span><span class="jsdoc-syntax">,
605                     {
606                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'</span><span class="jsdoc-syntax">,
607                         </span><span class="jsdoc-comment">//cls : 'input-group-addon',
608                         </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.fieldLabel
609                     </span><span class="jsdoc-syntax">},
610                     </span><span class="jsdoc-var">combobox
611                 </span><span class="jsdoc-syntax">];
612
613                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.indicatorpos </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'right'</span><span class="jsdoc-syntax">){
614                     </span><span class="jsdoc-var">cfg.cn </span><span class="jsdoc-syntax">= [
615                         {
616                             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'</span><span class="jsdoc-syntax">,
617                             </span><span class="jsdoc-comment">//cls : 'input-group-addon',
618                             </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.fieldLabel
619                         </span><span class="jsdoc-syntax">},
620                         </span><span class="jsdoc-var">indicator</span><span class="jsdoc-syntax">,
621                         </span><span class="jsdoc-var">combobox
622                     </span><span class="jsdoc-syntax">];
623
624                 }
625
626         } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
627
628 </span><span class="jsdoc-comment">//                Roo.log(&quot; no label &amp;&amp; no align&quot;);
629                 </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">combobox
630
631
632         </span><span class="jsdoc-syntax">}
633
634         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">settings</span><span class="jsdoc-syntax">=</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
635         [</span><span class="jsdoc-string">'xs'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'sm'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'md'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'lg'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.map</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">){
636             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">settings</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">]) {
637                 </span><span class="jsdoc-var">cfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">size </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">settings</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">];
638             }
639         });
640
641         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">;
642
643     },
644
645     </span><span class="jsdoc-var">_initEventsCalled </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
646
647     </span><span class="jsdoc-comment">// private
648     </span><span class="jsdoc-var">initEvents</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
649     {
650         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this._initEventsCalled</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-comment">// as we call render... prevent looping...
651             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
652         }
653         </span><span class="jsdoc-var">this._initEventsCalled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
654
655         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.store</span><span class="jsdoc-syntax">) {
656             </span><span class="jsdoc-keyword">throw </span><span class="jsdoc-string">&quot;can not find store for combo&quot;</span><span class="jsdoc-syntax">;
657         }
658
659         </span><span class="jsdoc-var">this.indicator </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.indicatorEl</span><span class="jsdoc-syntax">();
660
661         </span><span class="jsdoc-var">this.store </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.factory</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.store</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.data</span><span class="jsdoc-syntax">);
662         </span><span class="jsdoc-var">this.store.parent </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
663
664         </span><span class="jsdoc-comment">// if we are building from html. then this element is so complex, that we can not really
665         // use the rendered HTML.
666         // so we have to trash and replace the previous code.
667         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.XComponent.build_from_html</span><span class="jsdoc-syntax">) {
668             </span><span class="jsdoc-comment">// remove this element....
669             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">e </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.dom</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">=0;
670             </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e </span><span class="jsdoc-syntax">) { </span><span class="jsdoc-var">e </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">e.previousSibling</span><span class="jsdoc-syntax">;  ++</span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">;}
671
672             </span><span class="jsdoc-var">this.el.remove</span><span class="jsdoc-syntax">();
673
674             </span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">=</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
675             </span><span class="jsdoc-var">this.rendered </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
676
677             </span><span class="jsdoc-var">this.render</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.parent</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getChildContainer</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">);
678         }
679
680         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIOS </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.useNativeIOS</span><span class="jsdoc-syntax">){
681             </span><span class="jsdoc-var">this.initIOSView</span><span class="jsdoc-syntax">();
682             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
683         }
684
685         </span><span class="jsdoc-comment">/*
686          * Touch Devices
687          */
688
689         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isTouch </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.mobileTouchView</span><span class="jsdoc-syntax">){
690             </span><span class="jsdoc-var">this.initTouchView</span><span class="jsdoc-syntax">();
691             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
692         }
693
694         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickable</span><span class="jsdoc-syntax">){
695             </span><span class="jsdoc-var">this.initTickableEvents</span><span class="jsdoc-syntax">();
696             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
697         }
698
699         </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.superclass.initEvents.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
700
701         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hiddenName</span><span class="jsdoc-syntax">){
702
703             </span><span class="jsdoc-var">this.hiddenField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'input.form-hidden-field'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
704
705             </span><span class="jsdoc-var">this.hiddenField.dom.value </span><span class="jsdoc-syntax">=
706                 </span><span class="jsdoc-var">this.hiddenValue </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.hiddenValue </span><span class="jsdoc-syntax">:
707                 </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
708
709             </span><span class="jsdoc-comment">// prevent input submission
710             </span><span class="jsdoc-var">this.el.dom.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'name'</span><span class="jsdoc-syntax">);
711             </span><span class="jsdoc-var">this.hiddenField.dom.setAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'name'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.hiddenName</span><span class="jsdoc-syntax">);
712
713
714         }
715         </span><span class="jsdoc-comment">//if(Roo.isGecko){
716         //    this.el.dom.setAttribute('autocomplete', 'off');
717         //}
718
719         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'x-combo-list'</span><span class="jsdoc-syntax">;
720
721         </span><span class="jsdoc-comment">//this.list = new Roo.Layer({
722         //    shadow: this.shadow, cls: [cls, this.listClass].join(' '), constrain:false
723         //});
724
725         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
726
727         (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
728             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">_this.listWidth </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getWidth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">_this.minListWidth</span><span class="jsdoc-syntax">);
729             </span><span class="jsdoc-var">_this.list.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lw</span><span class="jsdoc-syntax">);
730         })</span><span class="jsdoc-var">.defer</span><span class="jsdoc-syntax">(100);
731
732         </span><span class="jsdoc-var">this.list.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mouseover'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onViewOver</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
733         </span><span class="jsdoc-var">this.list.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mousemove'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onViewMove</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
734         </span><span class="jsdoc-var">this.list.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'scroll'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onViewScroll</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
735
736         </span><span class="jsdoc-comment">/*
737         this.list.swallowEvent('mousewheel');
738         this.assetHeight = 0;
739
740         if(this.title){
741             this.header = this.list.createChild({cls:cls+'-hd', html: this.title});
742             this.assetHeight += this.header.getHeight();
743         }
744
745         this.innerList = this.list.createChild({cls:cls+'-inner'});
746         this.innerList.on('mouseover', this.onViewOver, this);
747         this.innerList.on('mousemove', this.onViewMove, this);
748         this.innerList.setWidth(lw - this.list.getFrameWidth('lr'));
749         
750         if(this.allowBlank &amp;&amp; !this.pageSize &amp;&amp; !this.disableClear){
751             this.footer = this.list.createChild({cls:cls+'-ft'});
752             this.pageTb = new Roo.Toolbar(this.footer);
753            
754         }
755         if(this.pageSize){
756             this.footer = this.list.createChild({cls:cls+'-ft'});
757             this.pageTb = new Roo.PagingToolbar(this.footer, this.store,
758                     {pageSize: this.pageSize});
759             
760         }
761         
762         if (this.pageTb &amp;&amp; this.allowBlank &amp;&amp; !this.disableClear) {
763             var _this = this;
764             this.pageTb.add(new Roo.Toolbar.Fill(), {
765                 cls: 'x-btn-icon x-btn-clear',
766                 text: '&amp;#160;',
767                 handler: function()
768                 {
769                     _this.collapse();
770                     _this.clearValue();
771                     _this.onSelect(false, -1);
772                 }
773             });
774         }
775         if (this.footer) {
776             this.assetHeight += this.footer.getHeight();
777         }
778         */
779
780         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.tpl</span><span class="jsdoc-syntax">){
781             </span><span class="jsdoc-var">this.tpl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.bootstrap.version </span><span class="jsdoc-syntax">== 4 ?
782                 </span><span class="jsdoc-string">'&lt;a class=&quot;dropdown-item&quot; href=&quot;#&quot;&gt;{' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.displayField </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'}&lt;/a&gt;' </span><span class="jsdoc-syntax">:  </span><span class="jsdoc-comment">// 4 does not need &lt;li&gt; and it get's really confisued.
783                 </span><span class="jsdoc-string">'&lt;li&gt;&lt;a class=&quot;dropdown-item&quot; href=&quot;#&quot;&gt;{' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.displayField </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'}&lt;/a&gt;&lt;/li&gt;'</span><span class="jsdoc-syntax">;
784         }
785
786         </span><span class="jsdoc-var">this.view </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.View</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.list</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.tpl</span><span class="jsdoc-syntax">, {
787             </span><span class="jsdoc-var">singleSelect</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">store</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.store</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">selectedClass</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.selectedClass
788         </span><span class="jsdoc-syntax">});
789         </span><span class="jsdoc-comment">//this.view.wrapEl.setDisplayed(false);
790         </span><span class="jsdoc-var">this.view.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onViewClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
791
792
793         </span><span class="jsdoc-var">this.store.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'beforeload'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onBeforeLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
794         </span><span class="jsdoc-var">this.store.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'load'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
795         </span><span class="jsdoc-var">this.store.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'loadexception'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoadException</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
796         </span><span class="jsdoc-comment">/*
797         if(this.resizable){
798             this.resizer = new Roo.Resizable(this.list,  {
799                pinned:true, handles:'se'
800             });
801             this.resizer.on('resize', function(r, w, h){
802                 this.maxHeight = h-this.handleHeight-this.list.getFrameWidth('tb')-this.assetHeight;
803                 this.listWidth = w;
804                 this.innerList.setWidth(w - this.list.getFrameWidth('lr'));
805                 this.restrictHeight();
806             }, this);
807             this[this.pageSize?'footer':'innerList'].setStyle('margin-bottom', this.handleHeight+'px');
808         }
809         */
810         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.editable</span><span class="jsdoc-syntax">){
811             </span><span class="jsdoc-var">this.editable </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
812             </span><span class="jsdoc-var">this.setEditable</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
813         }
814
815         </span><span class="jsdoc-comment">/*
816         
817         if (typeof(this.events.add.listeners) != 'undefined') {
818             
819             this.addicon = this.wrap.createChild(
820                 {tag: 'img', src: Roo.BLANK_IMAGE_URL, cls: 'x-form-combo-add' });  
821        
822             this.addicon.on('click', function(e) {
823                 this.fireEvent('add', this);
824             }, this);
825         }
826         if (typeof(this.events.edit.listeners) != 'undefined') {
827             
828             this.editicon = this.wrap.createChild(
829                 {tag: 'img', src: Roo.BLANK_IMAGE_URL, cls: 'x-form-combo-edit' });  
830             if (this.addicon) {
831                 this.editicon.setStyle('margin-left', '40px');
832             }
833             this.editicon.on('click', function(e) {
834                 
835                 // we fire even  if inothing is selected..
836                 this.fireEvent('edit', this, this.lastData );
837                 
838             }, this);
839         }
840         */
841
842         </span><span class="jsdoc-var">this.keyNav </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.KeyNav</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">(), {
843             </span><span class="jsdoc-string">&quot;up&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
844                 </span><span class="jsdoc-var">this.inKeyMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
845                 </span><span class="jsdoc-var">this.selectPrev</span><span class="jsdoc-syntax">();
846             },
847
848             </span><span class="jsdoc-string">&quot;down&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
849                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.isExpanded</span><span class="jsdoc-syntax">()){
850                     </span><span class="jsdoc-var">this.onTriggerClick</span><span class="jsdoc-syntax">();
851                 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
852                     </span><span class="jsdoc-var">this.inKeyMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
853                     </span><span class="jsdoc-var">this.selectNext</span><span class="jsdoc-syntax">();
854                 }
855             },
856
857             </span><span class="jsdoc-string">&quot;enter&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
858 </span><span class="jsdoc-comment">//                this.onViewClick();
859                 //return true;
860                 </span><span class="jsdoc-var">this.collapse</span><span class="jsdoc-syntax">();
861
862                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;specialkey&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)){
863                     </span><span class="jsdoc-var">this.onViewClick</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
864                 }
865
866                 </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
867             },
868
869             </span><span class="jsdoc-string">&quot;esc&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
870                 </span><span class="jsdoc-var">this.collapse</span><span class="jsdoc-syntax">();
871             },
872
873             </span><span class="jsdoc-string">&quot;tab&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
874                 </span><span class="jsdoc-var">this.collapse</span><span class="jsdoc-syntax">();
875
876                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;specialkey&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)){
877                     </span><span class="jsdoc-var">this.onViewClick</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
878                 }
879
880                 </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
881             },
882
883             </span><span class="jsdoc-var">scope </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
884
885             </span><span class="jsdoc-var">doRelay </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">foo</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">bar</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">hname</span><span class="jsdoc-syntax">){
886                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hname </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'down' </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.scope.isExpanded</span><span class="jsdoc-syntax">()){
887                    </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.KeyNav.prototype.doRelay.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
888                 }
889                 </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
890             },
891
892             </span><span class="jsdoc-var">forceKeyDown</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
893         </span><span class="jsdoc-syntax">});
894
895
896         </span><span class="jsdoc-var">this.queryDelay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.queryDelay </span><span class="jsdoc-syntax">|| 10,
897                 </span><span class="jsdoc-var">this.mode </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'local' </span><span class="jsdoc-syntax">? 10 : 250);
898
899
900         </span><span class="jsdoc-var">this.dqTask </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.DelayedTask</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.initQuery</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
901
902         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.typeAhead</span><span class="jsdoc-syntax">){
903             </span><span class="jsdoc-var">this.taTask </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.DelayedTask</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.onTypeAhead</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
904         }
905         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.editable </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
906             </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;keyup&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onKeyUp</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
907         }
908         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.forceSelection</span><span class="jsdoc-syntax">){
909             </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'blur'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.doForce</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
910         }
911
912         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
913             </span><span class="jsdoc-var">this.choices </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'ul.roo-select2-choices'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
914             </span><span class="jsdoc-var">this.searchField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'ul li.roo-select2-search-field'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
915         }
916     },
917
918     </span><span class="jsdoc-var">initTickableEvents</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
919     {
920         </span><span class="jsdoc-var">this.createList</span><span class="jsdoc-syntax">();
921
922         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hiddenName</span><span class="jsdoc-syntax">){
923
924             </span><span class="jsdoc-var">this.hiddenField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'input.form-hidden-field'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
925
926             </span><span class="jsdoc-var">this.hiddenField.dom.value </span><span class="jsdoc-syntax">=
927                 </span><span class="jsdoc-var">this.hiddenValue </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.hiddenValue </span><span class="jsdoc-syntax">:
928                 </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
929
930             </span><span class="jsdoc-comment">// prevent input submission
931             </span><span class="jsdoc-var">this.el.dom.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'name'</span><span class="jsdoc-syntax">);
932             </span><span class="jsdoc-var">this.hiddenField.dom.setAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'name'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.hiddenName</span><span class="jsdoc-syntax">);
933
934
935         }
936
937 </span><span class="jsdoc-comment">//        this.list = this.el.select('ul.dropdown-menu',true).first();
938
939         </span><span class="jsdoc-var">this.choices </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'ul.roo-select2-choices'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
940         </span><span class="jsdoc-var">this.searchField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'ul li.roo-select2-search-field'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
941         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.triggerList</span><span class="jsdoc-syntax">){
942             </span><span class="jsdoc-var">this.searchField.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;click&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onSearchFieldClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, {</span><span class="jsdoc-var">preventDefault</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">});
943         }
944
945         </span><span class="jsdoc-var">this.trigger </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.tickable-buttons &gt; .btn-edit'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
946         </span><span class="jsdoc-var">this.trigger.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;click&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onTickableTriggerClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, {</span><span class="jsdoc-var">preventDefault</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">});
947
948         </span><span class="jsdoc-var">this.okBtn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.tickable-buttons &gt; .btn-ok'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
949         </span><span class="jsdoc-var">this.cancelBtn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.tickable-buttons &gt; .btn-cancel'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
950
951         </span><span class="jsdoc-var">this.okBtn.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onTickableFooterButtonClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.okBtn</span><span class="jsdoc-syntax">);
952         </span><span class="jsdoc-var">this.cancelBtn.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onTickableFooterButtonClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.cancelBtn</span><span class="jsdoc-syntax">);
953
954         </span><span class="jsdoc-var">this.trigger.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">);
955         </span><span class="jsdoc-var">this.okBtn.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">);
956         </span><span class="jsdoc-var">this.cancelBtn.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">);
957
958         </span><span class="jsdoc-var">this.okBtn.hide</span><span class="jsdoc-syntax">();
959         </span><span class="jsdoc-var">this.cancelBtn.hide</span><span class="jsdoc-syntax">();
960
961         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
962
963         (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
964             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">_this.listWidth </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getWidth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">_this.minListWidth</span><span class="jsdoc-syntax">);
965             </span><span class="jsdoc-var">_this.list.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lw</span><span class="jsdoc-syntax">);
966         })</span><span class="jsdoc-var">.defer</span><span class="jsdoc-syntax">(100);
967
968         </span><span class="jsdoc-var">this.list.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mouseover'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onViewOver</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
969         </span><span class="jsdoc-var">this.list.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mousemove'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onViewMove</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
970
971         </span><span class="jsdoc-var">this.list.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'scroll'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onViewScroll</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
972
973         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.tpl</span><span class="jsdoc-syntax">){
974             </span><span class="jsdoc-var">this.tpl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'&lt;li class=&quot;roo-select2-result&quot;&gt;&lt;div class=&quot;checkbox&quot;&gt;&lt;input id=&quot;{roo-id}&quot;' </span><span class="jsdoc-syntax">+
975                 </span><span class="jsdoc-string">'type=&quot;checkbox&quot; {roo-data-checked}&gt;&lt;label for=&quot;{roo-id}&quot;&gt;&lt;b&gt;{' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.displayField </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'}&lt;/b&gt;&lt;/label&gt;&lt;/div&gt;&lt;/li&gt;'</span><span class="jsdoc-syntax">;
976         }
977
978         </span><span class="jsdoc-var">this.view </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.View</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.list</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.tpl</span><span class="jsdoc-syntax">, {
979             </span><span class="jsdoc-var">singleSelect</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
980             </span><span class="jsdoc-var">tickable</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
981             </span><span class="jsdoc-var">parent</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
982             </span><span class="jsdoc-var">store</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.store</span><span class="jsdoc-syntax">,
983             </span><span class="jsdoc-var">selectedClass</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.selectedClass
984         </span><span class="jsdoc-syntax">});
985
986         </span><span class="jsdoc-comment">//this.view.wrapEl.setDisplayed(false);
987         </span><span class="jsdoc-var">this.view.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onViewClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
988
989
990
991         </span><span class="jsdoc-var">this.store.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'beforeload'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onBeforeLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
992         </span><span class="jsdoc-var">this.store.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'load'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
993         </span><span class="jsdoc-var">this.store.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'loadexception'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoadException</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
994
995         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.editable</span><span class="jsdoc-syntax">){
996             </span><span class="jsdoc-var">this.keyNav </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.KeyNav</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickableInputEl</span><span class="jsdoc-syntax">(), {
997                 </span><span class="jsdoc-string">&quot;up&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
998                     </span><span class="jsdoc-var">this.inKeyMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
999                     </span><span class="jsdoc-var">this.selectPrev</span><span class="jsdoc-syntax">();
1000                 },
1001
1002                 </span><span class="jsdoc-string">&quot;down&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
1003                     </span><span class="jsdoc-var">this.inKeyMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
1004                     </span><span class="jsdoc-var">this.selectNext</span><span class="jsdoc-syntax">();
1005                 },
1006
1007                 </span><span class="jsdoc-string">&quot;enter&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
1008                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;specialkey&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)){
1009                         </span><span class="jsdoc-var">this.onViewClick</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
1010                     }
1011
1012                     </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
1013                 },
1014
1015                 </span><span class="jsdoc-string">&quot;esc&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
1016                     </span><span class="jsdoc-var">this.onTickableFooterButtonClick</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
1017                 },
1018
1019                 </span><span class="jsdoc-string">&quot;tab&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
1020                     </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;specialkey&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
1021
1022                     </span><span class="jsdoc-var">this.onTickableFooterButtonClick</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
1023
1024                     </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
1025                 },
1026
1027                 </span><span class="jsdoc-var">scope </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
1028
1029                 </span><span class="jsdoc-var">doRelay </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fn</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">){
1030                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.scope.isExpanded</span><span class="jsdoc-syntax">()){
1031                        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.KeyNav.prototype.doRelay.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
1032                     }
1033                     </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
1034                 },
1035
1036                 </span><span class="jsdoc-var">forceKeyDown</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
1037             </span><span class="jsdoc-syntax">});
1038         }
1039
1040         </span><span class="jsdoc-var">this.queryDelay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.queryDelay </span><span class="jsdoc-syntax">|| 10,
1041                 </span><span class="jsdoc-var">this.mode </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'local' </span><span class="jsdoc-syntax">? 10 : 250);
1042
1043
1044         </span><span class="jsdoc-var">this.dqTask </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.DelayedTask</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.initQuery</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1045
1046         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.typeAhead</span><span class="jsdoc-syntax">){
1047             </span><span class="jsdoc-var">this.taTask </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.util.DelayedTask</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.onTypeAhead</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1048         }
1049
1050         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.editable </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
1051             </span><span class="jsdoc-var">this.tickableInputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;keyup&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onKeyUp</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1052         }
1053
1054         </span><span class="jsdoc-var">this.indicator </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.indicatorEl</span><span class="jsdoc-syntax">();
1055
1056         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.indicator</span><span class="jsdoc-syntax">){
1057             </span><span class="jsdoc-var">this.indicator.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">);
1058             </span><span class="jsdoc-var">this.indicator.hide</span><span class="jsdoc-syntax">();
1059         }
1060
1061     },
1062
1063     </span><span class="jsdoc-var">onDestroy </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1064         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.view</span><span class="jsdoc-syntax">){
1065             </span><span class="jsdoc-var">this.view.setStore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">);
1066             </span><span class="jsdoc-var">this.view.el.removeAllListeners</span><span class="jsdoc-syntax">();
1067             </span><span class="jsdoc-var">this.view.el.remove</span><span class="jsdoc-syntax">();
1068             </span><span class="jsdoc-var">this.view.purgeListeners</span><span class="jsdoc-syntax">();
1069         }
1070         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.list</span><span class="jsdoc-syntax">){
1071             </span><span class="jsdoc-var">this.list.dom.innerHTML  </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1072         }
1073
1074         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.store</span><span class="jsdoc-syntax">){
1075             </span><span class="jsdoc-var">this.store.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'beforeload'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onBeforeLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1076             </span><span class="jsdoc-var">this.store.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'load'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1077             </span><span class="jsdoc-var">this.store.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'loadexception'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onLoadException</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1078         }
1079         </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.superclass.onDestroy.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1080     },
1081
1082     </span><span class="jsdoc-comment">// private
1083     </span><span class="jsdoc-var">fireKey </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
1084         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.isNavKeyPress</span><span class="jsdoc-syntax">() &amp;&amp; !</span><span class="jsdoc-var">this.list.isVisible</span><span class="jsdoc-syntax">()){
1085             </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;specialkey&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
1086         }
1087     },
1088
1089     </span><span class="jsdoc-comment">// private
1090     </span><span class="jsdoc-var">onResize</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">)
1091     {
1092
1093
1094 </span><span class="jsdoc-comment">//        Roo.bootstrap.form.ComboBox.superclass.onResize.apply(this, arguments);
1095 //        
1096 //        if(typeof w != 'number'){
1097 //            // we do not handle it!?!?
1098 //            return;
1099 //        }
1100 //        var tw = this.trigger.getWidth();
1101 //       // tw += this.addicon ? this.addicon.getWidth() : 0;
1102 //       // tw += this.editicon ? this.editicon.getWidth() : 0;
1103 //        var x = w - tw;
1104 //        this.inputEl().setWidth( this.adjustWidth('input', x));
1105 //            
1106 //        //this.trigger.setStyle('left', x+'px');
1107 //        
1108 //        if(this.list &amp;&amp; this.listWidth === undefined){
1109 //            var lw = Math.max(x + this.trigger.getWidth(), this.minListWidth);
1110 //            this.list.setWidth(lw);
1111 //            this.innerList.setWidth(lw - this.list.getFrameWidth('lr'));
1112 //        }
1113
1114
1115
1116     </span><span class="jsdoc-syntax">},
1117
1118     </span><span class="jsdoc-comment">/**
1119      * Allow or prevent the user from directly editing the field text.  If false is passed,
1120      * the user will only be able to select from the items defined in the dropdown list.  This method
1121      * is the runtime equivalent of setting the 'editable' config option at config time.
1122      * @param {Boolean} value True to allow the user to directly edit the field text
1123      */
1124     </span><span class="jsdoc-var">setEditable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">){
1125         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">this.editable</span><span class="jsdoc-syntax">){
1126             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1127         }
1128         </span><span class="jsdoc-var">this.editable </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">;
1129         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">){
1130             </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.setAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'readOnly'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
1131             </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mousedown'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onTriggerClick</span><span class="jsdoc-syntax">,  </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1132             </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'x-combo-noedit'</span><span class="jsdoc-syntax">);
1133         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
1134             </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'readOnly'</span><span class="jsdoc-syntax">);
1135             </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mousedown'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onTriggerClick</span><span class="jsdoc-syntax">,  </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1136             </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'x-combo-noedit'</span><span class="jsdoc-syntax">);
1137         }
1138     },
1139
1140     </span><span class="jsdoc-comment">// private
1141
1142     </span><span class="jsdoc-var">onBeforeLoad </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">combo</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">opts</span><span class="jsdoc-syntax">){
1143         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.hasFocus</span><span class="jsdoc-syntax">){
1144             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1145         }
1146          </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">opts.add</span><span class="jsdoc-syntax">) {
1147             </span><span class="jsdoc-var">this.list.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'&lt;li class=&quot;loading-indicator&quot;&gt;'</span><span class="jsdoc-syntax">+(</span><span class="jsdoc-var">this.loadingText</span><span class="jsdoc-syntax">||</span><span class="jsdoc-string">'loading'</span><span class="jsdoc-syntax">)+</span><span class="jsdoc-string">'&lt;/li&gt;' </span><span class="jsdoc-syntax">;
1148          }
1149         </span><span class="jsdoc-var">this.restrictHeight</span><span class="jsdoc-syntax">();
1150         </span><span class="jsdoc-var">this.selectedIndex </span><span class="jsdoc-syntax">= -1;
1151     },
1152
1153     </span><span class="jsdoc-comment">// private
1154     </span><span class="jsdoc-var">onLoad </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1155
1156         </span><span class="jsdoc-var">this.hasQuery </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1157
1158         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.hasFocus</span><span class="jsdoc-syntax">){
1159             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1160         }
1161
1162         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.loading</span><span class="jsdoc-syntax">) !== </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.loading </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">){
1163             </span><span class="jsdoc-var">this.loading.hide</span><span class="jsdoc-syntax">();
1164         }
1165
1166         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.store.getCount</span><span class="jsdoc-syntax">() &gt; 0){
1167
1168             </span><span class="jsdoc-var">this.expand</span><span class="jsdoc-syntax">();
1169             </span><span class="jsdoc-var">this.restrictHeight</span><span class="jsdoc-syntax">();
1170             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.lastQuery </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">this.allQuery</span><span class="jsdoc-syntax">){
1171                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.editable </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">this.tickable</span><span class="jsdoc-syntax">){
1172                     </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.select</span><span class="jsdoc-syntax">();
1173                 }
1174
1175                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(
1176                     !</span><span class="jsdoc-var">this.selectByValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">) &amp;&amp;
1177                     </span><span class="jsdoc-var">this.autoFocus </span><span class="jsdoc-syntax">&amp;&amp;
1178                     (
1179                         !</span><span class="jsdoc-var">this.store.lastOptions </span><span class="jsdoc-syntax">||
1180                         </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.store.lastOptions.add</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">||
1181                         </span><span class="jsdoc-var">this.store.lastOptions.add </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-keyword">true
1182                     </span><span class="jsdoc-syntax">)
1183                 ){
1184                     </span><span class="jsdoc-var">this.select</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
1185                 }
1186             }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
1187                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.autoFocus</span><span class="jsdoc-syntax">){
1188                     </span><span class="jsdoc-var">this.selectNext</span><span class="jsdoc-syntax">();
1189                 }
1190                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.typeAhead </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.lastKey </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">Roo.EventObject.BACKSPACE </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.lastKey </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">Roo.EventObject.DELETE</span><span class="jsdoc-syntax">){
1191                     </span><span class="jsdoc-var">this.taTask.delay</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.typeAheadDelay</span><span class="jsdoc-syntax">);
1192                 }
1193             }
1194         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
1195             </span><span class="jsdoc-var">this.onEmptyResults</span><span class="jsdoc-syntax">();
1196         }
1197
1198         </span><span class="jsdoc-comment">//this.el.focus();
1199     </span><span class="jsdoc-syntax">},
1200     </span><span class="jsdoc-comment">// private
1201     </span><span class="jsdoc-var">onLoadException </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
1202     {
1203         </span><span class="jsdoc-var">this.hasQuery </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1204
1205         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.loading</span><span class="jsdoc-syntax">) !== </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.loading </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">){
1206             </span><span class="jsdoc-var">this.loading.hide</span><span class="jsdoc-syntax">();
1207         }
1208
1209         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickable </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.editable</span><span class="jsdoc-syntax">){
1210             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1211         }
1212
1213         </span><span class="jsdoc-var">this.collapse</span><span class="jsdoc-syntax">();
1214         </span><span class="jsdoc-comment">// only causes errors at present
1215         //Roo.log(this.store.reader.jsonData);
1216         //if (this.store &amp;&amp; typeof(this.store.reader.jsonData.errorMsg) != 'undefined') {
1217             // fixme
1218             //Roo.MessageBox.alert(&quot;Error loading&quot;,this.store.reader.jsonData.errorMsg);
1219         //}
1220
1221
1222     </span><span class="jsdoc-syntax">},
1223     </span><span class="jsdoc-comment">// private
1224     </span><span class="jsdoc-var">onTypeAhead </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1225         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.store.getCount</span><span class="jsdoc-syntax">() &gt; 0){
1226             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.store.getAt</span><span class="jsdoc-syntax">(0);
1227             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">newValue </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">];
1228             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">newValue.length</span><span class="jsdoc-syntax">;
1229             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">selStart </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getRawValue</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.length</span><span class="jsdoc-syntax">;
1230
1231             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">selStart </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">){
1232                 </span><span class="jsdoc-var">this.setRawValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newValue</span><span class="jsdoc-syntax">);
1233                 </span><span class="jsdoc-var">this.selectText</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">selStart</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newValue.length</span><span class="jsdoc-syntax">);
1234             }
1235         }
1236     },
1237
1238     </span><span class="jsdoc-comment">// private
1239     </span><span class="jsdoc-var">onSelect </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
1240
1241         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'beforeselect'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">) !== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
1242
1243             </span><span class="jsdoc-var">this.setFromData</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">&gt; -1 ? </span><span class="jsdoc-var">record.data </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
1244
1245             </span><span class="jsdoc-var">this.collapse</span><span class="jsdoc-syntax">();
1246             </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
1247         }
1248     },
1249
1250     </span><span class="jsdoc-comment">/**
1251      * Returns the currently selected field value or empty string if no value is set.
1252      * @return {String} value The selected value
1253      */
1254     </span><span class="jsdoc-var">getValue </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
1255     {
1256         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIOS </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.useNativeIOS</span><span class="jsdoc-syntax">){
1257             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.ios_options</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.selectedIndex</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">];
1258         }
1259
1260         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
1261             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hiddenField</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-var">this.hiddenField.dom.value </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">;
1262         }
1263
1264         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">){
1265             </span><span class="jsdoc-keyword">return typeof </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1266         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
1267             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.superclass.getValue.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1268         }
1269     },
1270
1271     </span><span class="jsdoc-var">getRawValue </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
1272     {
1273         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIOS </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.useNativeIOS</span><span class="jsdoc-syntax">){
1274             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.ios_options</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.selectedIndex</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">];
1275         }
1276
1277         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getValue</span><span class="jsdoc-syntax">();
1278
1279         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
1280     },
1281
1282     </span><span class="jsdoc-comment">/**
1283      * Clears any text/value currently set in the field
1284      */
1285     </span><span class="jsdoc-var">clearValue </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1286
1287         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hiddenField</span><span class="jsdoc-syntax">){
1288             </span><span class="jsdoc-var">this.hiddenField.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1289         }
1290         </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1291         </span><span class="jsdoc-var">this.setRawValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
1292         </span><span class="jsdoc-var">this.lastSelectionText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1293         </span><span class="jsdoc-var">this.lastData </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1294
1295         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">close </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.closeTriggerEl</span><span class="jsdoc-syntax">();
1296
1297         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">close</span><span class="jsdoc-syntax">){
1298             </span><span class="jsdoc-var">close.hide</span><span class="jsdoc-syntax">();
1299         }
1300
1301         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
1302
1303     },
1304
1305     </span><span class="jsdoc-comment">/**
1306      * Sets the specified value into the field.  If the value finds a match, the corresponding record text
1307      * will be displayed in the field.  If the value does not match the data value of an existing item,
1308      * and the valueNotFoundText config option is defined, it will be displayed as the default field text.
1309      * Otherwise the field will be blank (although the value will still be set).
1310      * @param {String} value The value to match
1311      */
1312     </span><span class="jsdoc-var">setValue </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">)
1313     {
1314         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIOS </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.useNativeIOS</span><span class="jsdoc-syntax">){
1315             </span><span class="jsdoc-var">this.setIOSValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
1316             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1317         }
1318
1319         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
1320             </span><span class="jsdoc-var">this.syncValue</span><span class="jsdoc-syntax">();
1321             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1322         }
1323
1324         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
1325         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">){
1326             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findRecord</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
1327             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">){
1328                 </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">];
1329             }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.valueNotFoundText </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">){
1330                 </span><span class="jsdoc-var">text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.valueNotFoundText</span><span class="jsdoc-syntax">;
1331             }
1332         }
1333         </span><span class="jsdoc-var">this.lastSelectionText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">;
1334         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hiddenField</span><span class="jsdoc-syntax">){
1335             </span><span class="jsdoc-var">this.hiddenField.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
1336         }
1337         </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.superclass.setValue.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">);
1338         </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
1339
1340         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">close </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.closeTriggerEl</span><span class="jsdoc-syntax">();
1341
1342         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">close</span><span class="jsdoc-syntax">){
1343             (</span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">&amp;&amp; (</span><span class="jsdoc-var">v.length </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">* 1 &gt; 0)) ? </span><span class="jsdoc-var">close.show</span><span class="jsdoc-syntax">() : </span><span class="jsdoc-var">close.hide</span><span class="jsdoc-syntax">();
1344         }
1345
1346         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
1347     },
1348     </span><span class="jsdoc-comment">/**
1349      * @property {Object} the last set data for the element
1350      */
1351
1352     </span><span class="jsdoc-var">lastData </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
1353     </span><span class="jsdoc-comment">/**
1354      * Sets the value of the field based on a object which is related to the record format for the store.
1355      * @param {Object} value the value to set as. or false on reset?
1356      */
1357     </span><span class="jsdoc-var">setFromData </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">){
1358
1359         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
1360             </span><span class="jsdoc-var">this.addItem</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
1361             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1362         }
1363
1364         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// display value
1365         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">vv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// value value..
1366         </span><span class="jsdoc-var">this.lastData </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
1367         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">) {
1368             </span><span class="jsdoc-var">dv </span><span class="jsdoc-syntax">= !</span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">]) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">];
1369         } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
1370             </span><span class="jsdoc-comment">// this is an error condition!!!
1371             </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'no  displayField value set for '</span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">this.name </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.id</span><span class="jsdoc-syntax">));
1372         }
1373
1374         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">){
1375             </span><span class="jsdoc-var">vv </span><span class="jsdoc-syntax">= !</span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">]) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">dv </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">];
1376         }
1377
1378         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">close </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.closeTriggerEl</span><span class="jsdoc-syntax">();
1379
1380         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">close</span><span class="jsdoc-syntax">){
1381             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dv.length </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">vv </span><span class="jsdoc-syntax">* 1 &gt; 0){
1382                 </span><span class="jsdoc-var">close.show</span><span class="jsdoc-syntax">() ;
1383                 </span><span class="jsdoc-var">this.blockFocus</span><span class="jsdoc-syntax">=</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
1384             } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
1385                 </span><span class="jsdoc-var">close.hide</span><span class="jsdoc-syntax">();
1386             }
1387         }
1388
1389         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hiddenField</span><span class="jsdoc-syntax">){
1390             </span><span class="jsdoc-var">this.hiddenField.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">vv</span><span class="jsdoc-syntax">;
1391
1392             </span><span class="jsdoc-var">this.lastSelectionText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dv</span><span class="jsdoc-syntax">;
1393             </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.superclass.setValue.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dv</span><span class="jsdoc-syntax">);
1394             </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">vv</span><span class="jsdoc-syntax">;
1395             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1396         }
1397         </span><span class="jsdoc-comment">// no hidden field.. - we store the value in 'value', but still display
1398         // display field!!!!
1399         </span><span class="jsdoc-var">this.lastSelectionText </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dv</span><span class="jsdoc-syntax">;
1400         </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.superclass.setValue.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dv</span><span class="jsdoc-syntax">);
1401         </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">vv</span><span class="jsdoc-syntax">;
1402
1403
1404
1405     },
1406     </span><span class="jsdoc-comment">// private
1407     </span><span class="jsdoc-var">reset </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1408         </span><span class="jsdoc-comment">// overridden so that last data is reset..
1409
1410         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
1411             </span><span class="jsdoc-var">this.clearItem</span><span class="jsdoc-syntax">();
1412             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1413         }
1414
1415         </span><span class="jsdoc-var">this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.originalValue</span><span class="jsdoc-syntax">);
1416         </span><span class="jsdoc-comment">//this.clearInvalid();
1417         </span><span class="jsdoc-var">this.lastData </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1418         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.view</span><span class="jsdoc-syntax">) {
1419             </span><span class="jsdoc-var">this.view.clearSelections</span><span class="jsdoc-syntax">();
1420         }
1421
1422         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
1423     },
1424     </span><span class="jsdoc-comment">// private
1425     </span><span class="jsdoc-var">findRecord </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prop</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">){
1426         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">;
1427         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.store.getCount</span><span class="jsdoc-syntax">() &gt; 0){
1428             </span><span class="jsdoc-var">this.store.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">){
1429                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">prop</span><span class="jsdoc-syntax">] == </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">){
1430                     </span><span class="jsdoc-var">record </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">;
1431                     </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
1432                 }
1433                 </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
1434             });
1435         }
1436         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">record</span><span class="jsdoc-syntax">;
1437     },
1438
1439     </span><span class="jsdoc-var">getName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
1440     {
1441         </span><span class="jsdoc-comment">// returns hidden if it's set..
1442         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.rendered</span><span class="jsdoc-syntax">) {</span><span class="jsdoc-keyword">return </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">};
1443         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">!</span><span class="jsdoc-var">this.hiddenName </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.name  </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.name </span><span class="jsdoc-syntax">: (</span><span class="jsdoc-var">this.hiddenName </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
1444
1445     },
1446     </span><span class="jsdoc-comment">// private
1447     </span><span class="jsdoc-var">onViewMove </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">){
1448         </span><span class="jsdoc-var">this.inKeyMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1449     },
1450
1451     </span><span class="jsdoc-comment">// private
1452     </span><span class="jsdoc-var">onViewOver </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">){
1453         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inKeyMode</span><span class="jsdoc-syntax">){ </span><span class="jsdoc-comment">// prevent key nav and mouse over conflicts
1454             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1455         }
1456         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">item </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.view.findItemFromChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">);
1457
1458         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">){
1459             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.view.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">item</span><span class="jsdoc-syntax">);
1460             </span><span class="jsdoc-var">this.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
1461         }
1462     },
1463
1464     </span><span class="jsdoc-comment">// private
1465     </span><span class="jsdoc-var">onViewClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">view</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">doFocus</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)
1466     {
1467         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.view.getSelectedIndexes</span><span class="jsdoc-syntax">()[0];
1468
1469         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.store.getAt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
1470
1471         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickable</span><span class="jsdoc-syntax">){
1472
1473             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">e.getTarget</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.nodeName.toLowerCase</span><span class="jsdoc-syntax">() != </span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">){
1474                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1475             }
1476
1477             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1478             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
1479
1480             </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickItems</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">){
1481
1482                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">_this.valueField</span><span class="jsdoc-syntax">] == </span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">_this.valueField</span><span class="jsdoc-syntax">]){
1483                     </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
1484                     </span><span class="jsdoc-var">_this.tickItems.splice</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">, 1);
1485
1486                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">view </span><span class="jsdoc-syntax">== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
1487                         </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.view.getNodes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">)[0])</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.checked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1488                     }
1489
1490                     </span><span class="jsdoc-var">rm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
1491                     </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1492                 }
1493             });
1494
1495             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rm</span><span class="jsdoc-syntax">){
1496                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1497             }
1498
1499             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'tick'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.view.getNodes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">)[0])</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.checked</span><span class="jsdoc-syntax">) !== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
1500                 </span><span class="jsdoc-var">this.tickItems.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">);
1501             }
1502
1503             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">view </span><span class="jsdoc-syntax">== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
1504                 </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.view.getNodes</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">)[0])</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.checked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
1505             }
1506
1507             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1508         }
1509
1510         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">){
1511             </span><span class="jsdoc-var">this.onSelect</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
1512         }
1513         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doFocus </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">this.blockFocus</span><span class="jsdoc-syntax">){
1514             </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.focus</span><span class="jsdoc-syntax">();
1515         }
1516     },
1517
1518     </span><span class="jsdoc-comment">// private
1519     </span><span class="jsdoc-var">restrictHeight </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1520         </span><span class="jsdoc-comment">//this.innerList.dom.style.height = '';
1521         //var inner = this.innerList.dom;
1522         //var h = Math.max(inner.clientHeight, inner.offsetHeight, inner.scrollHeight);
1523         //this.innerList.setHeight(h &lt; this.maxHeight ? 'auto' : this.maxHeight);
1524         //this.list.beginUpdate();
1525         //this.list.setHeight(this.innerList.getHeight()+this.list.getFrameWidth('tb')+(this.resizable?this.handleHeight:0)+this.assetHeight);
1526         </span><span class="jsdoc-var">this.list.alignTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">this.listAlign</span><span class="jsdoc-syntax">);
1527         </span><span class="jsdoc-var">this.list.alignTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">this.listAlign</span><span class="jsdoc-syntax">);
1528         </span><span class="jsdoc-comment">//this.list.endUpdate();
1529     </span><span class="jsdoc-syntax">},
1530
1531     </span><span class="jsdoc-comment">// private
1532     </span><span class="jsdoc-var">onEmptyResults </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1533
1534         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickable </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.editable</span><span class="jsdoc-syntax">){
1535             </span><span class="jsdoc-var">this.hasFocus </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1536             </span><span class="jsdoc-var">this.restrictHeight</span><span class="jsdoc-syntax">();
1537             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1538         }
1539
1540         </span><span class="jsdoc-var">this.collapse</span><span class="jsdoc-syntax">();
1541     },
1542
1543     </span><span class="jsdoc-comment">/**
1544      * Returns true if the dropdown list is expanded, else false.
1545      */
1546     </span><span class="jsdoc-var">isExpanded </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1547         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.list.isVisible</span><span class="jsdoc-syntax">();
1548     },
1549
1550     </span><span class="jsdoc-comment">/**
1551      * Select an item in the dropdown list by its data value. This function does NOT cause the select event to fire.
1552      * The store must be loaded and the list expanded for this function to work, otherwise use setValue.
1553      * @param {String} value The data value of the item to select
1554      * @param {Boolean} scrollIntoView False to prevent the dropdown list from autoscrolling to display the
1555      * selected item if it is not currently in view (defaults to true)
1556      * @return {Boolean} True if the value matched an item in the list, else false
1557      */
1558     </span><span class="jsdoc-var">selectByValue </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scrollIntoView</span><span class="jsdoc-syntax">){
1559         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">){
1560             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.findRecord</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.valueField </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
1561             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">){
1562                 </span><span class="jsdoc-var">this.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.store.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">scrollIntoView</span><span class="jsdoc-syntax">);
1563                 </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
1564             }
1565         }
1566         </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
1567     },
1568
1569     </span><span class="jsdoc-comment">/**
1570      * Select an item in the dropdown list by its numeric index in the list. This function does NOT cause the select event to fire.
1571      * The store must be loaded and the list expanded for this function to work, otherwise use setValue.
1572      * @param {Number} index The zero-based index of the list item to select
1573      * @param {Boolean} scrollIntoView False to prevent the dropdown list from autoscrolling to display the
1574      * selected item if it is not currently in view (defaults to true)
1575      */
1576     </span><span class="jsdoc-var">select </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scrollIntoView</span><span class="jsdoc-syntax">){
1577         </span><span class="jsdoc-var">this.selectedIndex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">;
1578         </span><span class="jsdoc-var">this.view.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
1579         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scrollIntoView </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
1580             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.view.getNode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
1581             </span><span class="jsdoc-comment">/*
1582              * el &amp;&amp; !this.multiple &amp;&amp; !this.tickable // not sure why we disable multiple before..
1583              */
1584             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">){
1585                 </span><span class="jsdoc-var">this.list.scrollChildIntoView</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
1586             }
1587         }
1588     },
1589
1590     </span><span class="jsdoc-comment">// private
1591     </span><span class="jsdoc-var">selectNext </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1592         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ct </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.store.getCount</span><span class="jsdoc-syntax">();
1593         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ct </span><span class="jsdoc-syntax">&gt; 0){
1594             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.selectedIndex </span><span class="jsdoc-syntax">== -1){
1595                 </span><span class="jsdoc-var">this.select</span><span class="jsdoc-syntax">(0);
1596             }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.selectedIndex </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">-1){
1597                 </span><span class="jsdoc-var">this.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.selectedIndex</span><span class="jsdoc-syntax">+1);
1598             }
1599         }
1600     },
1601
1602     </span><span class="jsdoc-comment">// private
1603     </span><span class="jsdoc-var">selectPrev </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1604         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ct </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.store.getCount</span><span class="jsdoc-syntax">();
1605         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ct </span><span class="jsdoc-syntax">&gt; 0){
1606             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.selectedIndex </span><span class="jsdoc-syntax">== -1){
1607                 </span><span class="jsdoc-var">this.select</span><span class="jsdoc-syntax">(0);
1608             }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.selectedIndex </span><span class="jsdoc-syntax">!= 0){
1609                 </span><span class="jsdoc-var">this.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.selectedIndex</span><span class="jsdoc-syntax">-1);
1610             }
1611         }
1612     },
1613
1614     </span><span class="jsdoc-comment">// private
1615     </span><span class="jsdoc-var">onKeyUp </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
1616         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.editable </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">e.isSpecialKey</span><span class="jsdoc-syntax">()){
1617             </span><span class="jsdoc-var">this.lastKey </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">e.getKey</span><span class="jsdoc-syntax">();
1618             </span><span class="jsdoc-var">this.dqTask.delay</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.queryDelay</span><span class="jsdoc-syntax">);
1619         }
1620     },
1621
1622     </span><span class="jsdoc-comment">// private
1623     </span><span class="jsdoc-var">validateBlur </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1624         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">!</span><span class="jsdoc-var">this.list </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.list.isVisible</span><span class="jsdoc-syntax">();
1625     },
1626
1627     </span><span class="jsdoc-comment">// private
1628     </span><span class="jsdoc-var">initQuery </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1629
1630         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getRawValue</span><span class="jsdoc-syntax">();
1631
1632         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickable </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.editable</span><span class="jsdoc-syntax">){
1633             </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.tickableInputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getValue</span><span class="jsdoc-syntax">();
1634         }
1635
1636         </span><span class="jsdoc-var">this.doQuery</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
1637     },
1638
1639     </span><span class="jsdoc-comment">// private
1640     </span><span class="jsdoc-var">doForce </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1641         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.value.length </span><span class="jsdoc-syntax">&gt; 0){
1642             </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.value </span><span class="jsdoc-syntax">=
1643                 </span><span class="jsdoc-var">this.lastSelectionText </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.lastSelectionText</span><span class="jsdoc-syntax">;
1644
1645         }
1646     },
1647
1648     </span><span class="jsdoc-comment">/**
1649      * Execute a query to filter the dropdown list.  Fires the beforequery event prior to performing the
1650      * query allowing the query action to be canceled if needed.
1651      * @param {String} query The SQL query to execute
1652      * @param {Boolean} forceAll True to force the query to execute even if there are currently fewer characters
1653      * in the field than the minimum specified by the minChars config option.  It also clears any filter previously
1654      * saved in the current store (defaults to false)
1655      */
1656     </span><span class="jsdoc-var">doQuery </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">q</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">forceAll</span><span class="jsdoc-syntax">){
1657
1658         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">q </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">q </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">){
1659             </span><span class="jsdoc-var">q </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1660         }
1661         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">qe </span><span class="jsdoc-syntax">= {
1662             </span><span class="jsdoc-var">query</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">q</span><span class="jsdoc-syntax">,
1663             </span><span class="jsdoc-var">forceAll</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">forceAll</span><span class="jsdoc-syntax">,
1664             </span><span class="jsdoc-var">combo</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
1665             </span><span class="jsdoc-var">cancel</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">false
1666         </span><span class="jsdoc-syntax">};
1667         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'beforequery'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">qe</span><span class="jsdoc-syntax">)===</span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">qe.cancel</span><span class="jsdoc-syntax">){
1668             </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
1669         }
1670         </span><span class="jsdoc-var">q </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">qe.query</span><span class="jsdoc-syntax">;
1671
1672         </span><span class="jsdoc-var">forceAll </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">qe.forceAll</span><span class="jsdoc-syntax">;
1673         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">forceAll </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">q.length </span><span class="jsdoc-syntax">&gt;= </span><span class="jsdoc-var">this.minChars</span><span class="jsdoc-syntax">)){
1674
1675             </span><span class="jsdoc-var">this.hasQuery </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
1676
1677             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.lastQuery </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">q </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.alwaysQuery</span><span class="jsdoc-syntax">){
1678                 </span><span class="jsdoc-var">this.lastQuery </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">q</span><span class="jsdoc-syntax">;
1679                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mode </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'local'</span><span class="jsdoc-syntax">){
1680                     </span><span class="jsdoc-var">this.selectedIndex </span><span class="jsdoc-syntax">= -1;
1681                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">forceAll</span><span class="jsdoc-syntax">){
1682                         </span><span class="jsdoc-var">this.store.clearFilter</span><span class="jsdoc-syntax">();
1683                     }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
1684
1685                         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.specialFilter</span><span class="jsdoc-syntax">){
1686                             </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'specialfilter'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1687                             </span><span class="jsdoc-var">this.onLoad</span><span class="jsdoc-syntax">();
1688                             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1689                         }
1690
1691                         </span><span class="jsdoc-var">this.store.filter</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">q</span><span class="jsdoc-syntax">);
1692                     }
1693
1694                     </span><span class="jsdoc-var">this.store.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;datachanged&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.store</span><span class="jsdoc-syntax">);
1695
1696                     </span><span class="jsdoc-var">this.onLoad</span><span class="jsdoc-syntax">();
1697
1698
1699                 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
1700
1701                     </span><span class="jsdoc-var">this.store.baseParams</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.queryParam</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">q</span><span class="jsdoc-syntax">;
1702
1703                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">options </span><span class="jsdoc-syntax">= {</span><span class="jsdoc-var">params </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.getParams</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">q</span><span class="jsdoc-syntax">)};
1704
1705                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.loadNext</span><span class="jsdoc-syntax">){
1706                         </span><span class="jsdoc-var">options.add </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
1707                         </span><span class="jsdoc-var">options.params.start </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.page </span><span class="jsdoc-syntax">* </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">;
1708                     }
1709
1710                     </span><span class="jsdoc-var">this.store.load</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">options</span><span class="jsdoc-syntax">);
1711
1712                     </span><span class="jsdoc-comment">/*
1713                      *  this code will make the page width larger, at the beginning, the list not align correctly, 
1714                      *  we should expand the list on onLoad
1715                      *  so command out it
1716                      */
1717 //                    this.expand();
1718                 </span><span class="jsdoc-syntax">}
1719             }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
1720                 </span><span class="jsdoc-var">this.selectedIndex </span><span class="jsdoc-syntax">= -1;
1721                 </span><span class="jsdoc-var">this.onLoad</span><span class="jsdoc-syntax">();
1722             }
1723         }
1724
1725         </span><span class="jsdoc-var">this.loadNext </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1726     },
1727
1728     </span><span class="jsdoc-comment">// private
1729     </span><span class="jsdoc-var">getParams </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">q</span><span class="jsdoc-syntax">){
1730         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">= {};
1731         </span><span class="jsdoc-comment">//p[this.queryParam] = q;
1732
1733         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">){
1734             </span><span class="jsdoc-var">p.start </span><span class="jsdoc-syntax">= 0;
1735             </span><span class="jsdoc-var">p.limit </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.pageSize</span><span class="jsdoc-syntax">;
1736         }
1737         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">p</span><span class="jsdoc-syntax">;
1738     },
1739
1740     </span><span class="jsdoc-comment">/**
1741      * Hides the dropdown list if it is currently expanded. Fires the 'collapse' event on completion.
1742      */
1743     </span><span class="jsdoc-var">collapse </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1744         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.isExpanded</span><span class="jsdoc-syntax">()){
1745             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1746         }
1747
1748         </span><span class="jsdoc-var">this.list.hide</span><span class="jsdoc-syntax">();
1749
1750         </span><span class="jsdoc-var">this.hasFocus </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1751
1752         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickable</span><span class="jsdoc-syntax">){
1753             </span><span class="jsdoc-var">this.okBtn.hide</span><span class="jsdoc-syntax">();
1754             </span><span class="jsdoc-var">this.cancelBtn.hide</span><span class="jsdoc-syntax">();
1755             </span><span class="jsdoc-var">this.trigger.show</span><span class="jsdoc-syntax">();
1756
1757             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.editable</span><span class="jsdoc-syntax">){
1758                 </span><span class="jsdoc-var">this.tickableInputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
1759                 </span><span class="jsdoc-var">this.tickableInputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.blur</span><span class="jsdoc-syntax">();
1760             }
1761
1762         }
1763
1764         </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mousedown'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.collapseIf</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1765         </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mousewheel'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.collapseIf</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1766         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.editable</span><span class="jsdoc-syntax">) {
1767             </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'keydown'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.listKeyPress</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1768         }
1769         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'collapse'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1770
1771         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
1772     },
1773
1774     </span><span class="jsdoc-comment">// private
1775     </span><span class="jsdoc-var">collapseIf </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
1776         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">in_combo  </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">e.within</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">);
1777         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">in_list </span><span class="jsdoc-syntax">=  </span><span class="jsdoc-var">e.within</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.list</span><span class="jsdoc-syntax">);
1778         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">is_list </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.getTarget</span><span class="jsdoc-syntax">())</span><span class="jsdoc-var">.id </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">this.list.id</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-keyword">true </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1779
1780         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">in_combo </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">in_list </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">is_list</span><span class="jsdoc-syntax">) {
1781             </span><span class="jsdoc-comment">//e.stopPropagation();
1782             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1783         }
1784
1785         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickable</span><span class="jsdoc-syntax">){
1786             </span><span class="jsdoc-var">this.onTickableFooterButtonClick</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
1787         }
1788
1789         </span><span class="jsdoc-var">this.collapse</span><span class="jsdoc-syntax">();
1790
1791     },
1792
1793     </span><span class="jsdoc-comment">/**
1794      * Expands the dropdown list if it is currently hidden. Fires the 'expand' event on completion.
1795      */
1796     </span><span class="jsdoc-var">expand </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1797
1798         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isExpanded</span><span class="jsdoc-syntax">() || !</span><span class="jsdoc-var">this.hasFocus</span><span class="jsdoc-syntax">){
1799             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1800         }
1801
1802         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">lw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.listWidth </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getWidth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">this.minListWidth</span><span class="jsdoc-syntax">);
1803         </span><span class="jsdoc-var">this.list.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">lw</span><span class="jsdoc-syntax">);
1804
1805         </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'expand'</span><span class="jsdoc-syntax">);
1806
1807         </span><span class="jsdoc-var">this.list.show</span><span class="jsdoc-syntax">();
1808
1809         </span><span class="jsdoc-var">this.restrictHeight</span><span class="jsdoc-syntax">();
1810
1811         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickable</span><span class="jsdoc-syntax">){
1812
1813             </span><span class="jsdoc-var">this.tickItems </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">([], </span><span class="jsdoc-var">this.item</span><span class="jsdoc-syntax">);
1814
1815             </span><span class="jsdoc-var">this.okBtn.show</span><span class="jsdoc-syntax">();
1816             </span><span class="jsdoc-var">this.cancelBtn.show</span><span class="jsdoc-syntax">();
1817             </span><span class="jsdoc-var">this.trigger.hide</span><span class="jsdoc-syntax">();
1818
1819             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.editable</span><span class="jsdoc-syntax">){
1820                 </span><span class="jsdoc-var">this.tickableInputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.focus</span><span class="jsdoc-syntax">();
1821             }
1822
1823         }
1824
1825         </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mousedown'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.collapseIf</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1826         </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'mousewheel'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.collapseIf</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1827         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.editable</span><span class="jsdoc-syntax">) {
1828             </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'keydown'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.listKeyPress</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1829         }
1830
1831         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'expand'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1832     },
1833
1834     </span><span class="jsdoc-comment">// private
1835     // Implements the default empty TriggerField.onTriggerClick function
1836     </span><span class="jsdoc-var">onTriggerClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)
1837     {
1838         </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'trigger click'</span><span class="jsdoc-syntax">);
1839
1840         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.disabled </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.triggerList</span><span class="jsdoc-syntax">){
1841             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1842         }
1843
1844         </span><span class="jsdoc-var">this.page </span><span class="jsdoc-syntax">= 0;
1845         </span><span class="jsdoc-var">this.loadNext </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1846
1847         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isExpanded</span><span class="jsdoc-syntax">()){
1848             </span><span class="jsdoc-var">this.collapse</span><span class="jsdoc-syntax">();
1849             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.blockFocus</span><span class="jsdoc-syntax">) {
1850                 </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.focus</span><span class="jsdoc-syntax">();
1851             }
1852
1853         }</span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
1854             </span><span class="jsdoc-var">this.hasFocus </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
1855             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.triggerAction </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">) {
1856                 </span><span class="jsdoc-var">this.doQuery</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.allQuery</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
1857             } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
1858                 </span><span class="jsdoc-var">this.doQuery</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getRawValue</span><span class="jsdoc-syntax">());
1859             }
1860             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.blockFocus</span><span class="jsdoc-syntax">) {
1861                 </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.focus</span><span class="jsdoc-syntax">();
1862             }
1863         }
1864     },
1865
1866     </span><span class="jsdoc-var">onTickableTriggerClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)
1867     {
1868         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.disabled</span><span class="jsdoc-syntax">){
1869             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1870         }
1871
1872         </span><span class="jsdoc-var">this.page </span><span class="jsdoc-syntax">= 0;
1873         </span><span class="jsdoc-var">this.loadNext </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1874         </span><span class="jsdoc-var">this.hasFocus </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
1875
1876         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.triggerAction </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">) {
1877             </span><span class="jsdoc-var">this.doQuery</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.allQuery</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
1878         } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
1879             </span><span class="jsdoc-var">this.doQuery</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getRawValue</span><span class="jsdoc-syntax">());
1880         }
1881     },
1882
1883     </span><span class="jsdoc-var">onSearchFieldClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)
1884     {
1885         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hasFocus </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">this.disabled </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">e.getTarget</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.nodeName.toLowerCase</span><span class="jsdoc-syntax">() != </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">){
1886             </span><span class="jsdoc-var">this.onTickableFooterButtonClick</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
1887             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1888         }
1889
1890         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hasFocus </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.disabled </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">e.getTarget</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.nodeName.toLowerCase</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">){
1891             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1892         }
1893
1894         </span><span class="jsdoc-var">this.page </span><span class="jsdoc-syntax">= 0;
1895         </span><span class="jsdoc-var">this.loadNext </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1896         </span><span class="jsdoc-var">this.hasFocus </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
1897
1898         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.triggerAction </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">) {
1899             </span><span class="jsdoc-var">this.doQuery</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.allQuery</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
1900         } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
1901             </span><span class="jsdoc-var">this.doQuery</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getRawValue</span><span class="jsdoc-syntax">());
1902         }
1903     },
1904
1905     </span><span class="jsdoc-var">listKeyPress </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">)
1906     {
1907         </span><span class="jsdoc-comment">//Roo.log('listkeypress');
1908         // scroll to first matching element based on key pres..
1909         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.isSpecialKey</span><span class="jsdoc-syntax">()) {
1910             </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
1911         }
1912         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">String.fromCharCode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.getKey</span><span class="jsdoc-syntax">())</span><span class="jsdoc-var">.toUpperCase</span><span class="jsdoc-syntax">();
1913         </span><span class="jsdoc-comment">//Roo.log(k);
1914         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">match  </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1915         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">csel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.view.getSelectedNodes</span><span class="jsdoc-syntax">();
1916         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cselitem </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1917         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">csel.length</span><span class="jsdoc-syntax">) {
1918             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ix </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.view.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">csel</span><span class="jsdoc-syntax">[0]);
1919             </span><span class="jsdoc-var">cselitem  </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.store.getAt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ix</span><span class="jsdoc-syntax">);
1920             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">cselitem.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-var">cselitem.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.substring</span><span class="jsdoc-syntax">(0,1)</span><span class="jsdoc-var">.toUpperCase</span><span class="jsdoc-syntax">() != </span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">) {
1921                 </span><span class="jsdoc-var">cselitem </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1922             }
1923
1924         }
1925
1926         </span><span class="jsdoc-var">this.store.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">) {
1927             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cselitem</span><span class="jsdoc-syntax">) {
1928                 </span><span class="jsdoc-comment">// start at existing selection.
1929                 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cselitem.id </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">v.id</span><span class="jsdoc-syntax">) {
1930                     </span><span class="jsdoc-var">cselitem </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
1931                 }
1932                 </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
1933             }
1934
1935             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">) &amp;&amp; </span><span class="jsdoc-var">v.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.substring</span><span class="jsdoc-syntax">(0,1)</span><span class="jsdoc-var">.toUpperCase</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">) {
1936                 </span><span class="jsdoc-var">match </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.store.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
1937                 </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
1938             }
1939             </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
1940         }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
1941
1942         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">match </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">) {
1943             </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// no more action?
1944         </span><span class="jsdoc-syntax">}
1945         </span><span class="jsdoc-comment">// scroll to?
1946         </span><span class="jsdoc-var">this.view.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">match</span><span class="jsdoc-syntax">);
1947         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.view.getSelectedNodes</span><span class="jsdoc-syntax">()[0]);
1948         </span><span class="jsdoc-var">sn.scrollIntoView</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sn.dom.parentNode</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
1949     },
1950
1951     </span><span class="jsdoc-var">onViewScroll </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">){
1952
1953         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.view.el.getScroll</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.top </span><span class="jsdoc-syntax">== 0 ||</span><span class="jsdoc-var">this.view.el.getScroll</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.top </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.view.el.dom.scrollHeight </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.view.el.dom.clientHeight </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.hasFocus </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.append </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.hasQuery</span><span class="jsdoc-syntax">){
1954             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1955         }
1956
1957         </span><span class="jsdoc-var">this.hasQuery </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
1958
1959         </span><span class="jsdoc-var">this.loading </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.list.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.loading'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
1960
1961         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.loading </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">){
1962             </span><span class="jsdoc-var">this.list.createChild</span><span class="jsdoc-syntax">({
1963                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
1964                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'loading roo-select2-more-results roo-select2-active'</span><span class="jsdoc-syntax">,
1965                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Loading more results...'
1966             </span><span class="jsdoc-syntax">});
1967
1968             </span><span class="jsdoc-var">this.loading </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.list.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.loading'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
1969
1970             </span><span class="jsdoc-var">this.loading.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">);
1971
1972             </span><span class="jsdoc-var">this.loading.hide</span><span class="jsdoc-syntax">();
1973         }
1974
1975         </span><span class="jsdoc-var">this.loading.show</span><span class="jsdoc-syntax">();
1976
1977         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_combo </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
1978
1979         </span><span class="jsdoc-var">this.page</span><span class="jsdoc-syntax">++;
1980         </span><span class="jsdoc-var">this.loadNext </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
1981
1982         (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() { </span><span class="jsdoc-var">_combo.doQuery</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_combo.allQuery</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">); })</span><span class="jsdoc-var">.defer</span><span class="jsdoc-syntax">(500);
1983
1984         </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1985     },
1986
1987     </span><span class="jsdoc-var">addItem </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">)
1988     {
1989         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dv </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// display value
1990
1991         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">) {
1992             </span><span class="jsdoc-var">dv </span><span class="jsdoc-syntax">= !</span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">]) == </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">];
1993         } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
1994             </span><span class="jsdoc-comment">// this is an error condition!!!
1995             </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'no  displayField value set for '</span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">this.name </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.id</span><span class="jsdoc-syntax">));
1996         }
1997
1998         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">dv.length</span><span class="jsdoc-syntax">){
1999             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2000         }
2001
2002         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">choice </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.choices.createChild</span><span class="jsdoc-syntax">({
2003             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'li'</span><span class="jsdoc-syntax">,
2004             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-select2-search-choice'</span><span class="jsdoc-syntax">,
2005             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
2006                 {
2007                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
2008                     </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">dv
2009                 </span><span class="jsdoc-syntax">},
2010                 {
2011                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'a'</span><span class="jsdoc-syntax">,
2012                     </span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'#'</span><span class="jsdoc-syntax">,
2013                     </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-select2-search-choice-close fa fa-times'</span><span class="jsdoc-syntax">,
2014                     </span><span class="jsdoc-var">tabindex</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'-1'
2015                 </span><span class="jsdoc-syntax">}
2016             ]
2017
2018         }, </span><span class="jsdoc-var">this.searchField</span><span class="jsdoc-syntax">);
2019
2020         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">close </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">choice.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'a.roo-select2-search-choice-close'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2021
2022         </span><span class="jsdoc-var">close.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onRemoveItem</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, { </span><span class="jsdoc-var">item </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">choice</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">} );
2023
2024         </span><span class="jsdoc-var">this.item.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
2025
2026         </span><span class="jsdoc-var">this.lastData </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
2027
2028         </span><span class="jsdoc-var">this.syncValue</span><span class="jsdoc-syntax">();
2029
2030         </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
2031
2032         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
2033     },
2034
2035     </span><span class="jsdoc-var">onRemoveItem </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">_self</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">)
2036     {
2037         </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
2038
2039         </span><span class="jsdoc-var">this.lastItem </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">([], </span><span class="jsdoc-var">this.item</span><span class="jsdoc-syntax">);
2040
2041         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.item.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.data</span><span class="jsdoc-syntax">) * 1;
2042
2043         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">&lt; 0){
2044             </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'not this item?!'</span><span class="jsdoc-syntax">);
2045             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2046         }
2047
2048         </span><span class="jsdoc-var">this.item.splice</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, 1);
2049         </span><span class="jsdoc-var">o.item.remove</span><span class="jsdoc-syntax">();
2050
2051         </span><span class="jsdoc-var">this.syncValue</span><span class="jsdoc-syntax">();
2052
2053         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'remove'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
2054
2055         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
2056
2057     },
2058
2059     </span><span class="jsdoc-var">syncValue </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2060     {
2061         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.item.length</span><span class="jsdoc-syntax">){
2062             </span><span class="jsdoc-var">this.clearValue</span><span class="jsdoc-syntax">();
2063             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2064         }
2065
2066         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">= [];
2067         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
2068         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.item</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">){
2069             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.valueField</span><span class="jsdoc-syntax">){
2070                 </span><span class="jsdoc-var">value.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">_this.valueField</span><span class="jsdoc-syntax">]);
2071                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2072             }
2073
2074             </span><span class="jsdoc-var">value.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">);
2075         });
2076
2077         </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">value.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">','</span><span class="jsdoc-syntax">);
2078
2079         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hiddenField</span><span class="jsdoc-syntax">){
2080             </span><span class="jsdoc-var">this.hiddenField.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.value</span><span class="jsdoc-syntax">;
2081         }
2082
2083         </span><span class="jsdoc-var">this.store.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;datachanged&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.store</span><span class="jsdoc-syntax">);
2084
2085         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
2086     },
2087
2088     </span><span class="jsdoc-var">clearItem </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2089     {
2090         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
2091             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2092         }
2093
2094         </span><span class="jsdoc-var">this.item </span><span class="jsdoc-syntax">= [];
2095
2096         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.choices.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'&gt;li.roo-select2-search-choice'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.elements</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">){
2097            </span><span class="jsdoc-var">c.remove</span><span class="jsdoc-syntax">();
2098         });
2099
2100         </span><span class="jsdoc-var">this.syncValue</span><span class="jsdoc-syntax">();
2101
2102         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
2103
2104         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickable </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">Roo.isTouch</span><span class="jsdoc-syntax">){
2105             </span><span class="jsdoc-var">this.view.refresh</span><span class="jsdoc-syntax">();
2106         }
2107     },
2108
2109     </span><span class="jsdoc-var">inputEl</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
2110     {
2111         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIOS </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.useNativeIOS</span><span class="jsdoc-syntax">){
2112             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'select.roo-ios-select'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2113         }
2114
2115         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isTouch </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.mobileTouchView</span><span class="jsdoc-syntax">){
2116             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'input.form-control'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2117         }
2118
2119         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickable</span><span class="jsdoc-syntax">){
2120             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.searchField</span><span class="jsdoc-syntax">;
2121         }
2122
2123         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'input.form-control'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2124     },
2125
2126     </span><span class="jsdoc-var">onTickableFooterButtonClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">)
2127     {
2128         </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
2129
2130         </span><span class="jsdoc-var">this.lastItem </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">([], </span><span class="jsdoc-var">this.item</span><span class="jsdoc-syntax">);
2131
2132         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">btn </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">btn.name </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'cancel'</span><span class="jsdoc-syntax">){
2133             </span><span class="jsdoc-var">this.tickItems </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">([], </span><span class="jsdoc-var">this.item</span><span class="jsdoc-syntax">);
2134             </span><span class="jsdoc-var">this.collapse</span><span class="jsdoc-syntax">();
2135             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2136         }
2137
2138         </span><span class="jsdoc-var">this.clearItem</span><span class="jsdoc-syntax">();
2139
2140         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
2141
2142         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickItems</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">){
2143             </span><span class="jsdoc-var">_this.addItem</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
2144         });
2145
2146         </span><span class="jsdoc-var">this.collapse</span><span class="jsdoc-syntax">();
2147
2148     },
2149
2150     </span><span class="jsdoc-var">validate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2151     {
2152         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getVisibilityEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.hasClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'hidden'</span><span class="jsdoc-syntax">)){
2153             </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
2154         }
2155
2156         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getRawValue</span><span class="jsdoc-syntax">();
2157
2158         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
2159             </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getValue</span><span class="jsdoc-syntax">();
2160         }
2161
2162         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.disabled </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.allowBlank </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">v.length</span><span class="jsdoc-syntax">){
2163             </span><span class="jsdoc-var">this.markValid</span><span class="jsdoc-syntax">();
2164             </span><span class="jsdoc-keyword">return true</span><span class="jsdoc-syntax">;
2165         }
2166
2167         </span><span class="jsdoc-var">this.markInvalid</span><span class="jsdoc-syntax">();
2168         </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
2169     },
2170
2171     </span><span class="jsdoc-var">tickableInputEl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2172     {
2173         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.tickable </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.editable</span><span class="jsdoc-syntax">){
2174             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">();
2175         }
2176
2177         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-select2-search-field-input'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2178     },
2179
2180
2181     </span><span class="jsdoc-var">getAutoCreateTouchView </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2182     {
2183         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.id</span><span class="jsdoc-syntax">();
2184
2185         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
2186             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'form-group' </span><span class="jsdoc-comment">//input-group
2187         </span><span class="jsdoc-syntax">};
2188
2189         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">input </span><span class="jsdoc-syntax">=  {
2190             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">,
2191             </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">,
2192             </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.inputType</span><span class="jsdoc-syntax">,
2193             </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'form-control x-combo-noedit'</span><span class="jsdoc-syntax">,
2194             </span><span class="jsdoc-var">autocomplete</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'new-password'</span><span class="jsdoc-syntax">,
2195             </span><span class="jsdoc-var">placeholder </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.placeholder </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
2196             </span><span class="jsdoc-var">readonly </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
2197         </span><span class="jsdoc-syntax">};
2198
2199         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">) {
2200             </span><span class="jsdoc-var">input.name </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">;
2201         }
2202
2203         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.size</span><span class="jsdoc-syntax">) {
2204             </span><span class="jsdoc-var">input.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' input-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.size</span><span class="jsdoc-syntax">;
2205         }
2206
2207         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.disabled</span><span class="jsdoc-syntax">) {
2208             </span><span class="jsdoc-var">input.disabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
2209         }
2210
2211         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">inputblock </span><span class="jsdoc-syntax">= {
2212             </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-combobox-wrap'</span><span class="jsdoc-syntax">,
2213             </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
2214                 </span><span class="jsdoc-var">input
2215             </span><span class="jsdoc-syntax">]
2216         };
2217
2218         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.before</span><span class="jsdoc-syntax">){
2219             </span><span class="jsdoc-var">inputblock.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' input-group'</span><span class="jsdoc-syntax">;
2220
2221             </span><span class="jsdoc-var">inputblock.cn.unshift</span><span class="jsdoc-syntax">({
2222                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
2223                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'input-group-addon input-group-prepend input-group-text'</span><span class="jsdoc-syntax">,
2224                 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.before
2225             </span><span class="jsdoc-syntax">});
2226         }
2227
2228         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.removable </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
2229             </span><span class="jsdoc-var">inputblock.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' roo-removable'</span><span class="jsdoc-syntax">;
2230
2231             </span><span class="jsdoc-var">inputblock.cn.push</span><span class="jsdoc-syntax">({
2232                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">,
2233                 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'x'</span><span class="jsdoc-syntax">,
2234                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-combo-removable-btn close'
2235             </span><span class="jsdoc-syntax">});
2236         }
2237
2238         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hasFeedback </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">this.allowBlank</span><span class="jsdoc-syntax">){
2239
2240             </span><span class="jsdoc-var">inputblock.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' has-feedback'</span><span class="jsdoc-syntax">;
2241
2242             </span><span class="jsdoc-var">inputblock.cn.push</span><span class="jsdoc-syntax">({
2243                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
2244                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'glyphicon form-control-feedback'
2245             </span><span class="jsdoc-syntax">});
2246
2247         }
2248
2249         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.after</span><span class="jsdoc-syntax">) {
2250
2251             </span><span class="jsdoc-var">inputblock.cls </span><span class="jsdoc-syntax">+= (</span><span class="jsdoc-var">this.before</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-string">'' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">' input-group'</span><span class="jsdoc-syntax">;
2252
2253             </span><span class="jsdoc-var">inputblock.cn.push</span><span class="jsdoc-syntax">({
2254                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
2255                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'input-group-addon input-group-append input-group-text'</span><span class="jsdoc-syntax">,
2256                 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.after
2257             </span><span class="jsdoc-syntax">});
2258         }
2259
2260
2261         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ibwrap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">inputblock</span><span class="jsdoc-syntax">;
2262
2263         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
2264             </span><span class="jsdoc-var">ibwrap </span><span class="jsdoc-syntax">= {
2265                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'ul'</span><span class="jsdoc-syntax">,
2266                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-select2-choices'</span><span class="jsdoc-syntax">,
2267                 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">:[
2268                     {
2269                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'li'</span><span class="jsdoc-syntax">,
2270                         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-select2-search-field'</span><span class="jsdoc-syntax">,
2271                         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
2272
2273                             </span><span class="jsdoc-var">inputblock
2274                         </span><span class="jsdoc-syntax">]
2275                     }
2276                 ]
2277             };
2278
2279
2280         }
2281
2282         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">combobox </span><span class="jsdoc-syntax">= {
2283             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-select2-container input-group roo-touchview-combobox '</span><span class="jsdoc-syntax">,
2284             </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
2285                 {
2286                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">,
2287                     </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'hidden'</span><span class="jsdoc-syntax">,
2288                     </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'form-hidden-field'
2289                 </span><span class="jsdoc-syntax">},
2290                 </span><span class="jsdoc-var">ibwrap
2291             </span><span class="jsdoc-syntax">]
2292         };
2293
2294         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.multiple </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.showToggleBtn</span><span class="jsdoc-syntax">){
2295
2296             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">caret </span><span class="jsdoc-syntax">= {
2297                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'caret'
2298             </span><span class="jsdoc-syntax">};
2299
2300             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.caret </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">) {
2301                 </span><span class="jsdoc-var">caret </span><span class="jsdoc-syntax">= {
2302                      </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'i'</span><span class="jsdoc-syntax">,
2303                      </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'fa fa-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.caret
2304                 </span><span class="jsdoc-syntax">};
2305
2306             }
2307
2308             </span><span class="jsdoc-var">combobox.cn.push</span><span class="jsdoc-syntax">({
2309                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
2310                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'input-group-addon input-group-append input-group-text btn dropdown-toggle'</span><span class="jsdoc-syntax">,
2311                 </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
2312                     </span><span class="jsdoc-var">Roo.bootstrap.version </span><span class="jsdoc-syntax">== 3 ? </span><span class="jsdoc-var">caret </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
2313                     {
2314                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
2315                         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'combobox-clear'</span><span class="jsdoc-syntax">,
2316                         </span><span class="jsdoc-var">cn  </span><span class="jsdoc-syntax">: [
2317                             {
2318                                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'i'</span><span class="jsdoc-syntax">,
2319                                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'icon-remove'
2320                             </span><span class="jsdoc-syntax">}
2321                         ]
2322                     }
2323                 ]
2324
2325             })
2326         }
2327
2328         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
2329             </span><span class="jsdoc-var">combobox.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' roo-select2-container-multi'</span><span class="jsdoc-syntax">;
2330         }
2331
2332         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">required </span><span class="jsdoc-syntax">=  </span><span class="jsdoc-var">this.allowBlank </span><span class="jsdoc-syntax">?  {
2333                     </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'i'</span><span class="jsdoc-syntax">,
2334                     </span><span class="jsdoc-var">style</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'display: none'
2335                 </span><span class="jsdoc-syntax">} : {
2336                    </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'i'</span><span class="jsdoc-syntax">,
2337                    </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-required-indicator left-indicator text-danger fa fa-lg fa-star'</span><span class="jsdoc-syntax">,
2338                    </span><span class="jsdoc-var">tooltip </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'This field is required'
2339                 </span><span class="jsdoc-syntax">};
2340
2341         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">align </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.labelAlign </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.parentLabelAlign</span><span class="jsdoc-syntax">();
2342
2343         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">align </span><span class="jsdoc-syntax">===</span><span class="jsdoc-string">'left' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.fieldLabel.length</span><span class="jsdoc-syntax">) {
2344
2345             </span><span class="jsdoc-var">cfg.cn </span><span class="jsdoc-syntax">= [
2346                 </span><span class="jsdoc-var">required</span><span class="jsdoc-syntax">,
2347                 {
2348                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'</span><span class="jsdoc-syntax">,
2349                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'control-label col-form-label'</span><span class="jsdoc-syntax">,
2350                     </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.fieldLabel
2351
2352                 </span><span class="jsdoc-syntax">},
2353                 {
2354                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-combobox-wrap '</span><span class="jsdoc-syntax">,
2355                     </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
2356                         </span><span class="jsdoc-var">combobox
2357                     </span><span class="jsdoc-syntax">]
2358                 }
2359             ];
2360
2361             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">labelCfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cfg.cn</span><span class="jsdoc-syntax">[1];
2362             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">contentCfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cfg.cn</span><span class="jsdoc-syntax">[2];
2363
2364
2365             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.indicatorpos </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'right'</span><span class="jsdoc-syntax">){
2366                 </span><span class="jsdoc-var">cfg.cn </span><span class="jsdoc-syntax">= [
2367                     {
2368                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'</span><span class="jsdoc-syntax">,
2369                         </span><span class="jsdoc-string">'for' </span><span class="jsdoc-syntax">:  </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">,
2370                         </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'control-label col-form-label'</span><span class="jsdoc-syntax">,
2371                         </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
2372                             {
2373                                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
2374                                 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.fieldLabel
2375                             </span><span class="jsdoc-syntax">},
2376                             </span><span class="jsdoc-var">required
2377                         </span><span class="jsdoc-syntax">]
2378                     },
2379                     {
2380                         </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;roo-combobox-wrap &quot;</span><span class="jsdoc-syntax">,
2381                         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
2382                             </span><span class="jsdoc-var">combobox
2383                         </span><span class="jsdoc-syntax">]
2384                     }
2385
2386                 ];
2387
2388                 </span><span class="jsdoc-var">labelCfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cfg.cn</span><span class="jsdoc-syntax">[0];
2389                 </span><span class="jsdoc-var">contentCfg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cfg.cn</span><span class="jsdoc-syntax">[1];
2390             }
2391
2392
2393
2394             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelWidth </span><span class="jsdoc-syntax">&gt; 12){
2395                 </span><span class="jsdoc-var">labelCfg.style </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;width: &quot; </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.labelWidth </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'px'</span><span class="jsdoc-syntax">;
2396             }
2397
2398             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelWidth </span><span class="jsdoc-syntax">&lt; 13 &amp;&amp; </span><span class="jsdoc-var">this.labelmd </span><span class="jsdoc-syntax">== 0){
2399                 </span><span class="jsdoc-var">this.labelmd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.labelWidth</span><span class="jsdoc-syntax">;
2400             }
2401
2402             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labellg </span><span class="jsdoc-syntax">&gt; 0){
2403                 </span><span class="jsdoc-var">labelCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-lg-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.labellg</span><span class="jsdoc-syntax">;
2404                 </span><span class="jsdoc-var">contentCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-lg-' </span><span class="jsdoc-syntax">+ (12 - </span><span class="jsdoc-var">this.labellg</span><span class="jsdoc-syntax">);
2405             }
2406
2407             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelmd </span><span class="jsdoc-syntax">&gt; 0){
2408                 </span><span class="jsdoc-var">labelCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-md-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.labelmd</span><span class="jsdoc-syntax">;
2409                 </span><span class="jsdoc-var">contentCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-md-' </span><span class="jsdoc-syntax">+ (12 - </span><span class="jsdoc-var">this.labelmd</span><span class="jsdoc-syntax">);
2410             }
2411
2412             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelsm </span><span class="jsdoc-syntax">&gt; 0){
2413                 </span><span class="jsdoc-var">labelCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-sm-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.labelsm</span><span class="jsdoc-syntax">;
2414                 </span><span class="jsdoc-var">contentCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-sm-' </span><span class="jsdoc-syntax">+ (12 - </span><span class="jsdoc-var">this.labelsm</span><span class="jsdoc-syntax">);
2415             }
2416
2417             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelxs </span><span class="jsdoc-syntax">&gt; 0){
2418                 </span><span class="jsdoc-var">labelCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-xs-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.labelxs</span><span class="jsdoc-syntax">;
2419                 </span><span class="jsdoc-var">contentCfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-xs-' </span><span class="jsdoc-syntax">+ (12 - </span><span class="jsdoc-var">this.labelxs</span><span class="jsdoc-syntax">);
2420             }
2421
2422
2423         } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">this.fieldLabel.length</span><span class="jsdoc-syntax">) {
2424             </span><span class="jsdoc-var">cfg.cn </span><span class="jsdoc-syntax">= [
2425                </span><span class="jsdoc-var">required</span><span class="jsdoc-syntax">,
2426                 {
2427                     </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'</span><span class="jsdoc-syntax">,
2428                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'control-label'</span><span class="jsdoc-syntax">,
2429                     </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.fieldLabel
2430
2431                 </span><span class="jsdoc-syntax">},
2432                 {
2433                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
2434                     </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
2435                         </span><span class="jsdoc-var">combobox
2436                     </span><span class="jsdoc-syntax">]
2437                 }
2438             ];
2439
2440             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.indicatorpos </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'right'</span><span class="jsdoc-syntax">){
2441                 </span><span class="jsdoc-var">cfg.cn </span><span class="jsdoc-syntax">= [
2442                     {
2443                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'</span><span class="jsdoc-syntax">,
2444                         </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'control-label'</span><span class="jsdoc-syntax">,
2445                         </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.fieldLabel</span><span class="jsdoc-syntax">,
2446                         </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
2447                             </span><span class="jsdoc-var">required
2448                         </span><span class="jsdoc-syntax">]
2449                     },
2450                     {
2451                         </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
2452                         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
2453                             </span><span class="jsdoc-var">combobox
2454                         </span><span class="jsdoc-syntax">]
2455                     }
2456                 ];
2457             }
2458         } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
2459             </span><span class="jsdoc-var">cfg.cn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">combobox</span><span class="jsdoc-syntax">;
2460         }
2461
2462
2463         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">settings </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
2464
2465         [</span><span class="jsdoc-string">'xs'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'sm'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'md'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'lg'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.map</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">){
2466             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">settings</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">]) {
2467                 </span><span class="jsdoc-var">cfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">size </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">settings</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">];
2468             }
2469         });
2470
2471         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">;
2472     },
2473
2474     </span><span class="jsdoc-var">initTouchView </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2475     {
2476         </span><span class="jsdoc-var">this.renderTouchView</span><span class="jsdoc-syntax">();
2477
2478         </span><span class="jsdoc-var">this.touchViewEl.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'scroll'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
2479             </span><span class="jsdoc-var">this.el.dom.scrollTop </span><span class="jsdoc-syntax">= 0;
2480         }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2481
2482         </span><span class="jsdoc-var">this.originalValue </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getValue</span><span class="jsdoc-syntax">();
2483
2484         </span><span class="jsdoc-var">this.triggerEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'span.dropdown-toggle'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2485
2486         </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;click&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.showTouchView</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2487         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.triggerEl</span><span class="jsdoc-syntax">) {
2488             </span><span class="jsdoc-var">this.triggerEl.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;click&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.showTouchView</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2489         }
2490
2491
2492         </span><span class="jsdoc-var">this.touchViewFooterEl.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-touch-view-cancel'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.hideTouchView</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2493         </span><span class="jsdoc-var">this.touchViewFooterEl.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-touch-view-ok'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.setTouchViewValue</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2494
2495         </span><span class="jsdoc-var">this.maskEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.LoadMask</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.touchViewEl</span><span class="jsdoc-syntax">, { </span><span class="jsdoc-var">store </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.store</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">msgCls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-el-mask-msg' </span><span class="jsdoc-syntax">});
2496
2497         </span><span class="jsdoc-var">this.store.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'beforeload'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onTouchViewBeforeLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2498         </span><span class="jsdoc-var">this.store.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'load'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onTouchViewLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2499         </span><span class="jsdoc-var">this.store.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'loadexception'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onTouchViewLoadException</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2500
2501         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.hiddenName</span><span class="jsdoc-syntax">){
2502
2503             </span><span class="jsdoc-var">this.hiddenField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'input.form-hidden-field'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2504
2505             </span><span class="jsdoc-var">this.hiddenField.dom.value </span><span class="jsdoc-syntax">=
2506                 </span><span class="jsdoc-var">this.hiddenValue </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.hiddenValue </span><span class="jsdoc-syntax">:
2507                 </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
2508
2509             </span><span class="jsdoc-var">this.el.dom.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'name'</span><span class="jsdoc-syntax">);
2510             </span><span class="jsdoc-var">this.hiddenField.dom.setAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'name'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.hiddenName</span><span class="jsdoc-syntax">);
2511         }
2512
2513         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
2514             </span><span class="jsdoc-var">this.choices </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'ul.roo-select2-choices'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2515             </span><span class="jsdoc-var">this.searchField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'ul li.roo-select2-search-field'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2516         }
2517
2518         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.removable </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
2519             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">close </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.closeTriggerEl</span><span class="jsdoc-syntax">();
2520             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">close</span><span class="jsdoc-syntax">){
2521                 </span><span class="jsdoc-var">close.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.hide</span><span class="jsdoc-syntax">();
2522                 </span><span class="jsdoc-var">close.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.removeBtnClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">close</span><span class="jsdoc-syntax">);
2523             }
2524         }
2525         </span><span class="jsdoc-comment">/*
2526          * fix the bug in Safari iOS8
2527          */
2528         </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;focus&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
2529             </span><span class="jsdoc-var">document.activeElement.blur</span><span class="jsdoc-syntax">();
2530         }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2531
2532         </span><span class="jsdoc-var">this._touchViewMask </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.DomHelper.append</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">, {</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-mask&quot;</span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
2533
2534         </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2535
2536
2537     },
2538
2539     </span><span class="jsdoc-var">renderTouchView </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2540     {
2541         </span><span class="jsdoc-var">this.touchViewEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.touchViewTemplate</span><span class="jsdoc-syntax">);
2542         </span><span class="jsdoc-var">this.touchViewEl.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.originalDisplay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'block'</span><span class="jsdoc-syntax">;
2543
2544         </span><span class="jsdoc-var">this.touchViewHeaderEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.touchViewEl.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.modal-header'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2545         </span><span class="jsdoc-var">this.touchViewHeaderEl.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.originalDisplay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'block'</span><span class="jsdoc-syntax">;
2546
2547         </span><span class="jsdoc-var">this.touchViewBodyEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.touchViewEl.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.modal-body'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2548         </span><span class="jsdoc-var">this.touchViewBodyEl.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.originalDisplay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'block'</span><span class="jsdoc-syntax">;
2549         </span><span class="jsdoc-var">this.touchViewBodyEl.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'overflow'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'auto'</span><span class="jsdoc-syntax">);
2550
2551         </span><span class="jsdoc-var">this.touchViewListGroup </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.touchViewBodyEl.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.list-group'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2552         </span><span class="jsdoc-var">this.touchViewListGroup.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.originalDisplay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'block'</span><span class="jsdoc-syntax">;
2553
2554         </span><span class="jsdoc-var">this.touchViewFooterEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.touchViewEl.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.modal-footer'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2555         </span><span class="jsdoc-var">this.touchViewFooterEl.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.originalDisplay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'block'</span><span class="jsdoc-syntax">;
2556
2557     },
2558
2559     </span><span class="jsdoc-var">showTouchView </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2560     {
2561         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.disabled</span><span class="jsdoc-syntax">){
2562             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2563         }
2564
2565         </span><span class="jsdoc-var">this.touchViewHeaderEl.hide</span><span class="jsdoc-syntax">();
2566
2567         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.modalTitle.length</span><span class="jsdoc-syntax">){
2568             </span><span class="jsdoc-var">this.touchViewHeaderEl.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.modalTitle</span><span class="jsdoc-syntax">;
2569             </span><span class="jsdoc-var">this.touchViewHeaderEl.show</span><span class="jsdoc-syntax">();
2570         }
2571
2572         </span><span class="jsdoc-var">this.touchViewEl.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'z-index'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.Modal.zIndex</span><span class="jsdoc-syntax">++);
2573         </span><span class="jsdoc-var">this.touchViewEl.show</span><span class="jsdoc-syntax">();
2574
2575         </span><span class="jsdoc-var">this.touchViewEl.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.modal-dialog'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.setStyle</span><span class="jsdoc-syntax">({ </span><span class="jsdoc-var">margin </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'0px'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'100%'</span><span class="jsdoc-syntax">});
2576
2577         </span><span class="jsdoc-comment">//this.touchViewEl.select('.modal-dialog &gt; .modal-content', true).first().setSize(
2578         //        Roo.lib.Dom.getViewWidth(true), Roo.lib.Dom.getViewHeight(true));
2579
2580         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bodyHeight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Dom.getViewHeight</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">this.touchViewFooterEl.getHeight</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-var">this.touchViewBodyEl.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'tb'</span><span class="jsdoc-syntax">);
2581
2582         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.modalTitle.length</span><span class="jsdoc-syntax">){
2583             </span><span class="jsdoc-var">bodyHeight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">bodyHeight </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.touchViewHeaderEl.getHeight</span><span class="jsdoc-syntax">();
2584         }
2585
2586         </span><span class="jsdoc-var">this.touchViewBodyEl.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">bodyHeight</span><span class="jsdoc-syntax">);
2587
2588         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.animate</span><span class="jsdoc-syntax">){
2589             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
2590             (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){ </span><span class="jsdoc-var">_this.touchViewEl.addClass</span><span class="jsdoc-syntax">([</span><span class="jsdoc-string">'in'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'show'</span><span class="jsdoc-syntax">]); })</span><span class="jsdoc-var">.defer</span><span class="jsdoc-syntax">(50);
2591         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
2592             </span><span class="jsdoc-var">this.touchViewEl.addClass</span><span class="jsdoc-syntax">([</span><span class="jsdoc-string">'in'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'show'</span><span class="jsdoc-syntax">]);
2593         }
2594
2595         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this._touchViewMask</span><span class="jsdoc-syntax">){
2596             </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-body-masked&quot;</span><span class="jsdoc-syntax">);
2597             </span><span class="jsdoc-var">this._touchViewMask.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.lib.Dom.getViewWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">),   </span><span class="jsdoc-var">Roo.lib.Dom.getViewHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">));
2598             </span><span class="jsdoc-var">this._touchViewMask.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'z-index'</span><span class="jsdoc-syntax">, 10000);
2599             </span><span class="jsdoc-var">this._touchViewMask.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'show'</span><span class="jsdoc-syntax">);
2600         }
2601
2602         </span><span class="jsdoc-var">this.doTouchViewQuery</span><span class="jsdoc-syntax">();
2603
2604     },
2605
2606     </span><span class="jsdoc-var">hideTouchView </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2607     {
2608         </span><span class="jsdoc-var">this.touchViewEl.removeClass</span><span class="jsdoc-syntax">([</span><span class="jsdoc-string">'in'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'show'</span><span class="jsdoc-syntax">]);
2609
2610         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.animate</span><span class="jsdoc-syntax">){
2611             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
2612             (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){ </span><span class="jsdoc-var">_this.touchViewEl.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'display'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'none'</span><span class="jsdoc-syntax">); })</span><span class="jsdoc-var">.defer</span><span class="jsdoc-syntax">(150);
2613         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
2614             </span><span class="jsdoc-var">this.touchViewEl.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'display'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'none'</span><span class="jsdoc-syntax">);
2615         }
2616
2617         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this._touchViewMask</span><span class="jsdoc-syntax">){
2618             </span><span class="jsdoc-var">this._touchViewMask.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'show'</span><span class="jsdoc-syntax">);
2619             </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-body-masked&quot;</span><span class="jsdoc-syntax">);
2620         }
2621     },
2622
2623     </span><span class="jsdoc-var">setTouchViewValue </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2624     {
2625         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
2626             </span><span class="jsdoc-var">this.clearItem</span><span class="jsdoc-syntax">();
2627
2628             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
2629
2630             </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickItems</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">){
2631                 </span><span class="jsdoc-var">this.addItem</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
2632             }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2633         }
2634
2635         </span><span class="jsdoc-var">this.hideTouchView</span><span class="jsdoc-syntax">();
2636     },
2637
2638     </span><span class="jsdoc-var">doTouchViewQuery </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2639     {
2640         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">qe </span><span class="jsdoc-syntax">= {
2641             </span><span class="jsdoc-var">query</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
2642             </span><span class="jsdoc-var">forceAll</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
2643             </span><span class="jsdoc-var">combo</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
2644             </span><span class="jsdoc-var">cancel</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">false
2645         </span><span class="jsdoc-syntax">};
2646
2647         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'beforequery'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">qe</span><span class="jsdoc-syntax">) ===</span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">qe.cancel</span><span class="jsdoc-syntax">){
2648             </span><span class="jsdoc-keyword">return false</span><span class="jsdoc-syntax">;
2649         }
2650
2651         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.alwaysQuery </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.mode </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'local'</span><span class="jsdoc-syntax">){
2652             </span><span class="jsdoc-var">this.onTouchViewLoad</span><span class="jsdoc-syntax">();
2653             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2654         }
2655
2656         </span><span class="jsdoc-var">this.store.load</span><span class="jsdoc-syntax">();
2657     },
2658
2659     </span><span class="jsdoc-var">onTouchViewBeforeLoad </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">combo</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">opts</span><span class="jsdoc-syntax">)
2660     {
2661         </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2662     },
2663
2664     </span><span class="jsdoc-comment">// private
2665     </span><span class="jsdoc-var">onTouchViewLoad </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2666     {
2667         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.store.getCount</span><span class="jsdoc-syntax">() &lt; 1){
2668             </span><span class="jsdoc-var">this.onTouchViewEmptyResults</span><span class="jsdoc-syntax">();
2669             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2670         }
2671
2672         </span><span class="jsdoc-var">this.clearTouchView</span><span class="jsdoc-syntax">();
2673
2674         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rawValue </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getRawValue</span><span class="jsdoc-syntax">();
2675
2676         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">template </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.listItemCheckbox </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.listItemRadio</span><span class="jsdoc-syntax">;
2677
2678         </span><span class="jsdoc-var">this.tickItems </span><span class="jsdoc-syntax">= [];
2679
2680         </span><span class="jsdoc-var">this.store.data.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">){
2681             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.touchViewListGroup.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">template</span><span class="jsdoc-syntax">);
2682
2683             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data.cls</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">d.data.cls.length</span><span class="jsdoc-syntax">){
2684                 </span><span class="jsdoc-var">row.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data.cls</span><span class="jsdoc-syntax">);
2685             }
2686
2687             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.displayField </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">]) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">){
2688                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
2689                     </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">,
2690                     </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">]
2691                 };
2692
2693                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'touchviewdisplay'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">) !== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
2694                     </span><span class="jsdoc-var">row.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-combobox-list-group-item-value'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cfg.html</span><span class="jsdoc-syntax">;
2695                 }
2696             }
2697             </span><span class="jsdoc-var">row.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'selected'</span><span class="jsdoc-syntax">);
2698             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.multiple </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.valueField </span><span class="jsdoc-syntax">&amp;&amp;
2699                     </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">]) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">] == </span><span class="jsdoc-var">this.getValue</span><span class="jsdoc-syntax">())
2700             {
2701                 </span><span class="jsdoc-comment">// radio buttons..
2702                 </span><span class="jsdoc-var">row.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-combobox-list-group-item-box &gt; input'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.attr</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'checked'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
2703                 </span><span class="jsdoc-var">row.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'selected'</span><span class="jsdoc-syntax">);
2704             }
2705
2706             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.multiple </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.valueField </span><span class="jsdoc-syntax">&amp;&amp;
2707                     </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">]) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.getValue</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">]) != -1)
2708             {
2709
2710                 </span><span class="jsdoc-comment">// checkboxes...
2711                 </span><span class="jsdoc-var">row.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-combobox-list-group-item-box &gt; input'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.attr</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'checked'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
2712                 </span><span class="jsdoc-var">this.tickItems.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">);
2713             }
2714
2715             </span><span class="jsdoc-var">row.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'click'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onTouchViewClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, {</span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">row</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">});
2716
2717         }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2718
2719         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">firstChecked </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.touchViewListGroup.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.list-group-item &gt; .roo-combobox-list-group-item-box &gt; input:checked'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">();
2720
2721         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bodyHeight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Dom.getViewHeight</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">this.touchViewFooterEl.getHeight</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-var">this.touchViewBodyEl.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'tb'</span><span class="jsdoc-syntax">);
2722
2723         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.modalTitle.length</span><span class="jsdoc-syntax">){
2724             </span><span class="jsdoc-var">bodyHeight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">bodyHeight </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.touchViewHeaderEl.getHeight</span><span class="jsdoc-syntax">();
2725         }
2726
2727         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">listHeight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.touchViewListGroup.getHeight</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-var">this.touchViewBodyEl.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'tb'</span><span class="jsdoc-syntax">) * 2;
2728
2729         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mobile_restrict_height </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">listHeight </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">bodyHeight</span><span class="jsdoc-syntax">){
2730             </span><span class="jsdoc-var">this.touchViewBodyEl.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">listHeight</span><span class="jsdoc-syntax">);
2731         }
2732
2733         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">_this </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
2734
2735         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">firstChecked </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">listHeight </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">bodyHeight</span><span class="jsdoc-syntax">){
2736             (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() { </span><span class="jsdoc-var">firstChecked.findParent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'li'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.scrollIntoView</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.touchViewListGroup.dom</span><span class="jsdoc-syntax">); })</span><span class="jsdoc-var">.defer</span><span class="jsdoc-syntax">(500);
2737         }
2738
2739     },
2740
2741     </span><span class="jsdoc-var">onTouchViewLoadException </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2742     {
2743         </span><span class="jsdoc-var">this.hideTouchView</span><span class="jsdoc-syntax">();
2744     },
2745
2746     </span><span class="jsdoc-var">onTouchViewEmptyResults </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2747     {
2748         </span><span class="jsdoc-var">this.clearTouchView</span><span class="jsdoc-syntax">();
2749
2750         </span><span class="jsdoc-var">this.touchViewListGroup.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.emptyResult</span><span class="jsdoc-syntax">);
2751
2752         </span><span class="jsdoc-var">this.touchViewListGroup.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-combobox-touch-view-empty-result'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.emptyResultText</span><span class="jsdoc-syntax">;
2753
2754     },
2755
2756     </span><span class="jsdoc-var">clearTouchView </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2757     {
2758         </span><span class="jsdoc-var">this.touchViewListGroup.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
2759     },
2760
2761     </span><span class="jsdoc-var">onTouchViewClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">)
2762     {
2763         </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
2764
2765         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">row </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.row</span><span class="jsdoc-syntax">;
2766         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rowIndex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o.rowIndex</span><span class="jsdoc-syntax">;
2767
2768         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.store.getAt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">);
2769
2770         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'beforeselect'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">) !== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
2771
2772             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.multiple</span><span class="jsdoc-syntax">){
2773                 </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.touchViewListGroup.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.list-group-item &gt; .roo-combobox-list-group-item-box &gt; input:checked'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.elements</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">){
2774                     </span><span class="jsdoc-var">c.dom.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'checked'</span><span class="jsdoc-syntax">);
2775                 }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2776
2777                 </span><span class="jsdoc-var">row.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-combobox-list-group-item-box &gt; input'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.attr</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'checked'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
2778
2779                 </span><span class="jsdoc-var">this.setFromData</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">);
2780
2781                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">close </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.closeTriggerEl</span><span class="jsdoc-syntax">();
2782
2783                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">close</span><span class="jsdoc-syntax">){
2784                     </span><span class="jsdoc-var">close.show</span><span class="jsdoc-syntax">();
2785                 }
2786
2787                 </span><span class="jsdoc-var">this.hideTouchView</span><span class="jsdoc-syntax">();
2788
2789                 </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">);
2790
2791                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2792             }
2793
2794             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.valueField </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">]) != </span><span class="jsdoc-string">'undefined' </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.getValue</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">]) != -1){
2795                 </span><span class="jsdoc-var">row.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-combobox-list-group-item-box &gt; input'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'checked'</span><span class="jsdoc-syntax">);
2796                 </span><span class="jsdoc-var">this.tickItems.splice</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tickItems.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">), 1);
2797                 </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2798             }
2799
2800             </span><span class="jsdoc-var">row.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-combobox-list-group-item-box &gt; input'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.first</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.attr</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'checked'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
2801             </span><span class="jsdoc-var">this.addItem</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">);
2802             </span><span class="jsdoc-var">this.tickItems.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r.data</span><span class="jsdoc-syntax">);
2803         }
2804     },
2805
2806     </span><span class="jsdoc-var">getAutoCreateNativeIOS </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2807     {
2808         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
2809             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'form-group' </span><span class="jsdoc-comment">//input-group,
2810         </span><span class="jsdoc-syntax">};
2811
2812         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">combobox </span><span class="jsdoc-syntax">=  {
2813             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">,
2814             </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-ios-select'
2815         </span><span class="jsdoc-syntax">};
2816
2817         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">) {
2818             </span><span class="jsdoc-var">combobox.name </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">;
2819         }
2820
2821         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.disabled</span><span class="jsdoc-syntax">) {
2822             </span><span class="jsdoc-var">combobox.disabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
2823         }
2824
2825         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">settings </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
2826
2827         [</span><span class="jsdoc-string">'xs'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'sm'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'md'</span><span class="jsdoc-syntax">,</span><span class="jsdoc-string">'lg'</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.map</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">){
2828             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">settings</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">]) {
2829                 </span><span class="jsdoc-var">cfg.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' col-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">size </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">settings</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">];
2830             }
2831         });
2832
2833         </span><span class="jsdoc-var">cfg.cn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">combobox</span><span class="jsdoc-syntax">;
2834
2835         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">;
2836
2837     },
2838
2839     </span><span class="jsdoc-var">initIOSView </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2840     {
2841         </span><span class="jsdoc-var">this.store.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'load'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onIOSViewLoad</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2842
2843         </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2844     },
2845
2846     </span><span class="jsdoc-var">onIOSViewLoad </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2847     {
2848         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.store.getCount</span><span class="jsdoc-syntax">() &lt; 1){
2849             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2850         }
2851
2852         </span><span class="jsdoc-var">this.clearIOSView</span><span class="jsdoc-syntax">();
2853
2854         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.allowBlank</span><span class="jsdoc-syntax">) {
2855
2856             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">default_text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'-- SELECT --'</span><span class="jsdoc-syntax">;
2857
2858             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.placeholder.length</span><span class="jsdoc-syntax">){
2859                 </span><span class="jsdoc-var">default_text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.placeholder</span><span class="jsdoc-syntax">;
2860             }
2861
2862             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.emptyTitle.length</span><span class="jsdoc-syntax">){
2863                 </span><span class="jsdoc-var">default_text </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' - ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.emptyTitle </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">' -'</span><span class="jsdoc-syntax">;
2864             }
2865
2866             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.createChild</span><span class="jsdoc-syntax">({
2867                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'option'</span><span class="jsdoc-syntax">,
2868                 </span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">: 0,
2869                 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">default_text
2870             </span><span class="jsdoc-syntax">});
2871
2872             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= {};
2873             </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">] = 0;
2874             </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">default_text</span><span class="jsdoc-syntax">;
2875
2876             </span><span class="jsdoc-var">this.ios_options.push</span><span class="jsdoc-syntax">({
2877                 </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">,
2878                 </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">opt
2879             </span><span class="jsdoc-syntax">});
2880
2881         }
2882
2883         </span><span class="jsdoc-var">this.store.data.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">rowIndex</span><span class="jsdoc-syntax">){
2884
2885             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
2886
2887             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.displayField </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">]) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">){
2888                 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.displayField</span><span class="jsdoc-syntax">];
2889             }
2890
2891             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
2892
2893             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.valueField </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">]) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">){
2894                 </span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">];
2895             }
2896
2897             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">option </span><span class="jsdoc-syntax">= {
2898                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'option'</span><span class="jsdoc-syntax">,
2899                 </span><span class="jsdoc-var">value </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">,
2900                 </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">html
2901             </span><span class="jsdoc-syntax">};
2902
2903             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">]){
2904                 </span><span class="jsdoc-var">option</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">'selected'</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
2905             }
2906
2907             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">opt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">option</span><span class="jsdoc-syntax">);
2908
2909             </span><span class="jsdoc-var">this.ios_options.push</span><span class="jsdoc-syntax">({
2910                 </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">d.data</span><span class="jsdoc-syntax">,
2911                 </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">opt
2912             </span><span class="jsdoc-syntax">});
2913
2914         }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2915
2916         </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'change'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
2917            </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'select'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2918         }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2919
2920     },
2921
2922     </span><span class="jsdoc-var">clearIOSView</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
2923     {
2924         </span><span class="jsdoc-var">this.inputEl</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.dom.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
2925
2926         </span><span class="jsdoc-var">this.ios_options </span><span class="jsdoc-syntax">= [];
2927     },
2928
2929     </span><span class="jsdoc-var">setIOSValue</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">)
2930     {
2931         </span><span class="jsdoc-var">this.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
2932
2933         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.ios_options</span><span class="jsdoc-syntax">){
2934             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2935         }
2936
2937         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.ios_options</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">opts</span><span class="jsdoc-syntax">){
2938
2939            </span><span class="jsdoc-var">opts.el.dom.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'selected'</span><span class="jsdoc-syntax">);
2940
2941            </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">opts.data</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.valueField</span><span class="jsdoc-syntax">] != </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">){
2942                </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
2943            }
2944
2945            </span><span class="jsdoc-var">opts.el.dom.setAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'selected'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
2946
2947         }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
2948     }
2949
2950     </span><span class="jsdoc-comment">/** 
2951     * @cfg {Boolean} grow 
2952     * @hide 
2953     */
2954     /** 
2955     * @cfg {Number} growMin 
2956     * @hide 
2957     */
2958     /** 
2959     * @cfg {Number} growMax 
2960     * @hide 
2961     */
2962     /**
2963      * @hide
2964      * @method autoSize
2965      */
2966 </span><span class="jsdoc-syntax">});
2967
2968 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox</span><span class="jsdoc-syntax">,  {
2969
2970     </span><span class="jsdoc-var">header </span><span class="jsdoc-syntax">: {
2971         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
2972         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'modal-header'</span><span class="jsdoc-syntax">,
2973         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
2974             {
2975                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'h4'</span><span class="jsdoc-syntax">,
2976                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'modal-title'
2977             </span><span class="jsdoc-syntax">}
2978         ]
2979     },
2980
2981     </span><span class="jsdoc-var">body </span><span class="jsdoc-syntax">: {
2982         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
2983         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'modal-body'</span><span class="jsdoc-syntax">,
2984         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
2985             {
2986                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'ul'</span><span class="jsdoc-syntax">,
2987                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'list-group'
2988             </span><span class="jsdoc-syntax">}
2989         ]
2990     },
2991
2992     </span><span class="jsdoc-var">listItemRadio </span><span class="jsdoc-syntax">: {
2993         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'li'</span><span class="jsdoc-syntax">,
2994         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'list-group-item'</span><span class="jsdoc-syntax">,
2995         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
2996             {
2997                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
2998                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-combobox-list-group-item-value'
2999             </span><span class="jsdoc-syntax">},
3000             {
3001                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
3002                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-combobox-list-group-item-box pull-xs-right radio-inline radio radio-info'</span><span class="jsdoc-syntax">,
3003                 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
3004                     {
3005                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">,
3006                         </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'radio'
3007                     </span><span class="jsdoc-syntax">},
3008                     {
3009                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'
3010                     </span><span class="jsdoc-syntax">}
3011                 ]
3012             }
3013         ]
3014     },
3015
3016     </span><span class="jsdoc-var">listItemCheckbox </span><span class="jsdoc-syntax">: {
3017         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'li'</span><span class="jsdoc-syntax">,
3018         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'list-group-item'</span><span class="jsdoc-syntax">,
3019         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
3020             {
3021                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
3022                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-combobox-list-group-item-value'
3023             </span><span class="jsdoc-syntax">},
3024             {
3025                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
3026                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'roo-combobox-list-group-item-box pull-xs-right checkbox-inline checkbox checkbox-info'</span><span class="jsdoc-syntax">,
3027                 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
3028                     {
3029                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">,
3030                         </span><span class="jsdoc-var">type</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'checkbox'
3031                     </span><span class="jsdoc-syntax">},
3032                     {
3033                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'
3034                     </span><span class="jsdoc-syntax">}
3035                 ]
3036             }
3037         ]
3038     },
3039
3040     </span><span class="jsdoc-var">emptyResult </span><span class="jsdoc-syntax">: {
3041         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
3042         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'alert alert-danger roo-combobox-touch-view-empty-result'
3043     </span><span class="jsdoc-syntax">},
3044
3045     </span><span class="jsdoc-var">footer </span><span class="jsdoc-syntax">: {
3046         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
3047         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'modal-footer'</span><span class="jsdoc-syntax">,
3048         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
3049             {
3050                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
3051                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'row'</span><span class="jsdoc-syntax">,
3052                 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
3053                     {
3054                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
3055                         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'col-xs-6 text-left'</span><span class="jsdoc-syntax">,
3056                         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: {
3057                             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">,
3058                             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'btn btn-danger roo-touch-view-cancel'</span><span class="jsdoc-syntax">,
3059                             </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Cancel'
3060                         </span><span class="jsdoc-syntax">}
3061                     },
3062                     {
3063                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
3064                         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'col-xs-6 text-right'</span><span class="jsdoc-syntax">,
3065                         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: {
3066                             </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'button'</span><span class="jsdoc-syntax">,
3067                             </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'btn btn-success roo-touch-view-ok'</span><span class="jsdoc-syntax">,
3068                             </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'OK'
3069                         </span><span class="jsdoc-syntax">}
3070                     }
3071                 ]
3072             }
3073         ]
3074
3075     }
3076 });
3077
3078 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox</span><span class="jsdoc-syntax">,  {
3079
3080     </span><span class="jsdoc-var">touchViewTemplate </span><span class="jsdoc-syntax">: {
3081         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
3082         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'modal fade roo-combobox-touch-view'</span><span class="jsdoc-syntax">,
3083         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
3084             {
3085                 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
3086                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'modal-dialog'</span><span class="jsdoc-syntax">,
3087                 </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'position:fixed'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">// we have to fix position....
3088                 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
3089                     {
3090                         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
3091                         </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'modal-content'</span><span class="jsdoc-syntax">,
3092                         </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
3093                             </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.header</span><span class="jsdoc-syntax">,
3094                             </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.body</span><span class="jsdoc-syntax">,
3095                             </span><span class="jsdoc-var">Roo.bootstrap.form.ComboBox.footer
3096                         </span><span class="jsdoc-syntax">]
3097                     }
3098                 ]
3099             }
3100         ]
3101     }
3102 });</span></code></body></html>