Fix #5681 - fix bootstrap4 detection
[roojs1] / docs / src / Roo_bootstrap_DateSplitField.js.html
1 <html><head><title>Roo/bootstrap/DateSplitField.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  * page DateSplitField.
5  * 
6  */
7
8
9 /**
10  * @class Roo.bootstrap.DateSplitField
11  * @extends Roo.bootstrap.Component
12  * Bootstrap DateSplitField class
13  * @cfg {string} fieldLabel - the label associated
14  * @cfg {Number} labelWidth set the width of label (0-12)
15  * @cfg {String} labelAlign (top|left)
16  * @cfg {Boolean} dayAllowBlank (true|false) default false
17  * @cfg {Boolean} monthAllowBlank (true|false) default false
18  * @cfg {Boolean} yearAllowBlank (true|false) default false
19  * @cfg {string} dayPlaceholder 
20  * @cfg {string} monthPlaceholder
21  * @cfg {string} yearPlaceholder
22  * @cfg {string} dayFormat default 'd'
23  * @cfg {string} monthFormat default 'm'
24  * @cfg {string} yearFormat default 'Y'
25  * @cfg {Number} labellg set the width of label (1-12)
26  * @cfg {Number} labelmd set the width of label (1-12)
27  * @cfg {Number} labelsm set the width of label (1-12)
28  * @cfg {Number} labelxs set the width of label (1-12)
29
30  *     
31  * @constructor
32  * Create a new DateSplitField
33  * @param {Object} config The config object
34  */
35
36 </span><span class="jsdoc-var">Roo.bootstrap.DateSplitField </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">){
37     </span><span class="jsdoc-var">Roo.bootstrap.DateSplitField.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">);
38
39     </span><span class="jsdoc-var">this.addEvents</span><span class="jsdoc-syntax">({
40         </span><span class="jsdoc-comment">// raw events
41          /**
42          * @event years
43          * getting the data of years
44          * @param {Roo.bootstrap.DateSplitField} this
45          * @param {Object} years
46          */
47         </span><span class="jsdoc-string">&quot;years&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
48         </span><span class="jsdoc-comment">/**
49          * @event days
50          * getting the data of days
51          * @param {Roo.bootstrap.DateSplitField} this
52          * @param {Object} days
53          */
54         </span><span class="jsdoc-string">&quot;days&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
55         </span><span class="jsdoc-comment">/**
56          * @event invalid
57          * Fires after the field has been marked as invalid.
58          * @param {Roo.form.Field} this
59          * @param {String} msg The validation message
60          */
61         </span><span class="jsdoc-var">invalid </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
62        </span><span class="jsdoc-comment">/**
63          * @event valid
64          * Fires after the field has been validated with no errors.
65          * @param {Roo.form.Field} this
66          */
67         </span><span class="jsdoc-var">valid </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
68     </span><span class="jsdoc-syntax">});
69 };
70
71 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.DateSplitField</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.Component</span><span class="jsdoc-syntax">,  {
72
73     </span><span class="jsdoc-var">fieldLabel </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
74     </span><span class="jsdoc-var">labelAlign </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'top'</span><span class="jsdoc-syntax">,
75     </span><span class="jsdoc-var">labelWidth </span><span class="jsdoc-syntax">: 3,
76     </span><span class="jsdoc-var">dayAllowBlank </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
77     </span><span class="jsdoc-var">monthAllowBlank </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
78     </span><span class="jsdoc-var">yearAllowBlank </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
79     </span><span class="jsdoc-var">dayPlaceholder </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
80     </span><span class="jsdoc-var">monthPlaceholder </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
81     </span><span class="jsdoc-var">yearPlaceholder </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
82     </span><span class="jsdoc-var">dayFormat </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'d'</span><span class="jsdoc-syntax">,
83     </span><span class="jsdoc-var">monthFormat </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'m'</span><span class="jsdoc-syntax">,
84     </span><span class="jsdoc-var">yearFormat </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Y'</span><span class="jsdoc-syntax">,
85     </span><span class="jsdoc-var">isFormField </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
86     </span><span class="jsdoc-var">labellg </span><span class="jsdoc-syntax">: 0,
87     </span><span class="jsdoc-var">labelmd </span><span class="jsdoc-syntax">: 0,
88     </span><span class="jsdoc-var">labelsm </span><span class="jsdoc-syntax">: 0,
89     </span><span class="jsdoc-var">labelxs </span><span class="jsdoc-syntax">: 0,
90
91     </span><span class="jsdoc-var">getAutoCreate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
92     {
93         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cfg </span><span class="jsdoc-syntax">= {
94             </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
95             </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'row roo-date-split-field-group'</span><span class="jsdoc-syntax">,
96             </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
97                 {
98                     </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'input'</span><span class="jsdoc-syntax">,
99                     </span><span class="jsdoc-var">type </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'hidden'</span><span class="jsdoc-syntax">,
100                     </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'form-hidden-field roo-date-split-field-group-value'</span><span class="jsdoc-syntax">,
101                     </span><span class="jsdoc-var">name </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.name
102                 </span><span class="jsdoc-syntax">}
103             ]
104         };
105
106         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">labelCls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'col-md-12'</span><span class="jsdoc-syntax">;
107         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">contentCls </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'col-md-4'</span><span class="jsdoc-syntax">;
108
109         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fieldLabel</span><span class="jsdoc-syntax">){
110
111             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">label </span><span class="jsdoc-syntax">= {
112                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
113                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'column roo-date-split-field-label col-md-' </span><span class="jsdoc-syntax">+ ((</span><span class="jsdoc-var">this.labelAlign </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'top'</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-string">'12' </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.labelWidth</span><span class="jsdoc-syntax">),
114                 </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">: [
115                     {
116                         </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'label'</span><span class="jsdoc-syntax">,
117                         </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.fieldLabel
118                     </span><span class="jsdoc-syntax">}
119                 ]
120             };
121
122             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.labelAlign </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'left'</span><span class="jsdoc-syntax">){
123
124                 </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){
125                     </span><span class="jsdoc-var">label.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">;
126                 }
127
128                 </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){
129                     </span><span class="jsdoc-var">this.labelmd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.labelWidth</span><span class="jsdoc-syntax">;
130                 }
131
132                 </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){
133                     </span><span class="jsdoc-var">labelCls </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">;
134                     </span><span class="jsdoc-var">contentCls </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">) / 3);
135                 }
136
137                 </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){
138                     </span><span class="jsdoc-var">labelCls </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">;
139                     </span><span class="jsdoc-var">contentCls </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">) / 3);
140                 }
141
142                 </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){
143                     </span><span class="jsdoc-var">labelCls </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">;
144                     </span><span class="jsdoc-var">contentCls </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">) / 3);
145                 }
146
147                 </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){
148                     </span><span class="jsdoc-var">labelCls </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">;
149                     </span><span class="jsdoc-var">contentCls </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">) / 3);
150                 }
151             }
152
153             </span><span class="jsdoc-var">label.cls </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">labelCls</span><span class="jsdoc-syntax">;
154
155             </span><span class="jsdoc-var">cfg.cn.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">label</span><span class="jsdoc-syntax">);
156         }
157
158         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">([</span><span class="jsdoc-string">'day'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'month'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'year'</span><span class="jsdoc-syntax">], </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">){
159             </span><span class="jsdoc-var">cfg.cn.push</span><span class="jsdoc-syntax">({
160                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
161                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'column roo-date-split-field-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">' ' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">contentCls
162             </span><span class="jsdoc-syntax">});
163         }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
164
165         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">cfg</span><span class="jsdoc-syntax">;
166     },
167
168     </span><span class="jsdoc-var">inputEl</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">()
169     {
170         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-date-split-field-group-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">();
171     },
172
173     </span><span class="jsdoc-var">onRender </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">)
174     {
175         </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">;
176
177         </span><span class="jsdoc-var">Roo.bootstrap.NavProgressBar.superclass.onRender.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ct</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">);
178
179         </span><span class="jsdoc-var">this.inputEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-date-split-field-group-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">();
180
181         </span><span class="jsdoc-var">this.dayField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.bootstrap.ComboBox</span><span class="jsdoc-syntax">({
182             </span><span class="jsdoc-var">allowBlank </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.dayAllowBlank</span><span class="jsdoc-syntax">,
183             </span><span class="jsdoc-var">alwaysQuery </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
184             </span><span class="jsdoc-var">displayField </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'value'</span><span class="jsdoc-syntax">,
185             </span><span class="jsdoc-var">editable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
186             </span><span class="jsdoc-var">fieldLabel </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
187             </span><span class="jsdoc-var">forceSelection </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
188             </span><span class="jsdoc-var">mode </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'local'</span><span class="jsdoc-syntax">,
189             </span><span class="jsdoc-var">placeholder </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.dayPlaceholder</span><span class="jsdoc-syntax">,
190             </span><span class="jsdoc-var">selectOnFocus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
191             </span><span class="jsdoc-var">tpl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&lt;div class=&quot;roo-select2-result&quot;&gt;&lt;b&gt;{value}&lt;/b&gt;&lt;/div&gt;'</span><span class="jsdoc-syntax">,
192             </span><span class="jsdoc-var">triggerAction </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">,
193             </span><span class="jsdoc-var">typeAhead </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
194             </span><span class="jsdoc-var">valueField </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'value'</span><span class="jsdoc-syntax">,
195             </span><span class="jsdoc-var">store </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.data.SimpleStore</span><span class="jsdoc-syntax">({
196                 </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
197                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">days </span><span class="jsdoc-syntax">= [];
198                     </span><span class="jsdoc-var">_this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'days'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">_this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">days</span><span class="jsdoc-syntax">);
199                     </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">days</span><span class="jsdoc-syntax">;
200                 })(),
201                 </span><span class="jsdoc-var">fields </span><span class="jsdoc-syntax">: [ </span><span class="jsdoc-string">'value' </span><span class="jsdoc-syntax">]
202             }),
203             </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
204                 </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">_self</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">)
205                 {
206                     </span><span class="jsdoc-var">_this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.getValue</span><span class="jsdoc-syntax">());
207                 }
208             }
209         });
210
211         </span><span class="jsdoc-var">this.dayField.render</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-date-split-field-day'</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-keyword">null</span><span class="jsdoc-syntax">);
212
213         </span><span class="jsdoc-var">this.monthField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.bootstrap.MonthField</span><span class="jsdoc-syntax">({
214             </span><span class="jsdoc-var">after </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&lt;i class=\&quot;fa fa-calendar\&quot;&gt;&lt;/i&gt;'</span><span class="jsdoc-syntax">,
215             </span><span class="jsdoc-var">allowBlank </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.monthAllowBlank</span><span class="jsdoc-syntax">,
216             </span><span class="jsdoc-var">placeholder </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.monthPlaceholder</span><span class="jsdoc-syntax">,
217             </span><span class="jsdoc-var">readOnly </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
218             </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
219                 </span><span class="jsdoc-var">render </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_self</span><span class="jsdoc-syntax">)
220                 {
221                     </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'span.input-group-addon'</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-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
222                         </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
223                         </span><span class="jsdoc-var">_self.focus</span><span class="jsdoc-syntax">();
224                     });
225                 },
226                 </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">_self</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">oldvalue</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newvalue</span><span class="jsdoc-syntax">)
227                 {
228                     </span><span class="jsdoc-var">_this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.getValue</span><span class="jsdoc-syntax">());
229                 }
230             }
231         });
232
233         </span><span class="jsdoc-var">this.monthField.render</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-date-split-field-month'</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-keyword">null</span><span class="jsdoc-syntax">);
234
235         </span><span class="jsdoc-var">this.yearField </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.bootstrap.ComboBox</span><span class="jsdoc-syntax">({
236             </span><span class="jsdoc-var">allowBlank </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.yearAllowBlank</span><span class="jsdoc-syntax">,
237             </span><span class="jsdoc-var">alwaysQuery </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
238             </span><span class="jsdoc-var">displayField </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'value'</span><span class="jsdoc-syntax">,
239             </span><span class="jsdoc-var">editable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
240             </span><span class="jsdoc-var">fieldLabel </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
241             </span><span class="jsdoc-var">forceSelection </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
242             </span><span class="jsdoc-var">mode </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'local'</span><span class="jsdoc-syntax">,
243             </span><span class="jsdoc-var">placeholder </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.yearPlaceholder</span><span class="jsdoc-syntax">,
244             </span><span class="jsdoc-var">selectOnFocus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
245             </span><span class="jsdoc-var">tpl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&lt;div class=&quot;roo-select2-result&quot;&gt;&lt;b&gt;{value}&lt;/b&gt;&lt;/div&gt;'</span><span class="jsdoc-syntax">,
246             </span><span class="jsdoc-var">triggerAction </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'all'</span><span class="jsdoc-syntax">,
247             </span><span class="jsdoc-var">typeAhead </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
248             </span><span class="jsdoc-var">valueField </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'value'</span><span class="jsdoc-syntax">,
249             </span><span class="jsdoc-var">store </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.data.SimpleStore</span><span class="jsdoc-syntax">({
250                 </span><span class="jsdoc-var">data </span><span class="jsdoc-syntax">: (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
251                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">years </span><span class="jsdoc-syntax">= [];
252                     </span><span class="jsdoc-var">_this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'years'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">_this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">years</span><span class="jsdoc-syntax">);
253                     </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">years</span><span class="jsdoc-syntax">;
254                 })(),
255                 </span><span class="jsdoc-var">fields </span><span class="jsdoc-syntax">: [ </span><span class="jsdoc-string">'value' </span><span class="jsdoc-syntax">]
256             }),
257             </span><span class="jsdoc-var">listeners </span><span class="jsdoc-syntax">: {
258                 </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">_self</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">)
259                 {
260                     </span><span class="jsdoc-var">_this.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">_this.getValue</span><span class="jsdoc-syntax">());
261                 }
262             }
263         });
264
265         </span><span class="jsdoc-var">this.yearField.render</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-date-split-field-year'</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-keyword">null</span><span class="jsdoc-syntax">);
266     },
267
268     </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">, </span><span class="jsdoc-var">format</span><span class="jsdoc-syntax">)
269     {
270         </span><span class="jsdoc-var">this.inputEl.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
271
272         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">format </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">this.yearFormat </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.monthFormat </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.dayFormat</span><span class="jsdoc-syntax">);
273
274         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">f</span><span class="jsdoc-syntax">);
275
276         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">){
277             </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
278             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
279         }
280
281         </span><span class="jsdoc-var">this.setDay</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dayFormat</span><span class="jsdoc-syntax">));
282         </span><span class="jsdoc-var">this.setMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.monthFormat</span><span class="jsdoc-syntax">));
283         </span><span class="jsdoc-var">this.setYear</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.format</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.yearFormat</span><span class="jsdoc-syntax">));
284
285         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
286
287         </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
288     },
289
290     </span><span class="jsdoc-var">setDay </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">)
291     {
292         </span><span class="jsdoc-var">this.dayField.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
293         </span><span class="jsdoc-var">this.inputEl.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getValue</span><span class="jsdoc-syntax">();
294         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
295         </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
296     },
297
298     </span><span class="jsdoc-var">setMonth </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">)
299     {
300         </span><span class="jsdoc-var">this.monthField.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
301         </span><span class="jsdoc-var">this.inputEl.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getValue</span><span class="jsdoc-syntax">();
302         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
303         </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
304     },
305
306     </span><span class="jsdoc-var">setYear </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">)
307     {
308         </span><span class="jsdoc-var">this.yearField.setValue</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">);
309         </span><span class="jsdoc-var">this.inputEl.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getValue</span><span class="jsdoc-syntax">();
310         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
311         </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
312     },
313
314     </span><span class="jsdoc-var">getDay </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
315     {
316         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.dayField.getValue</span><span class="jsdoc-syntax">();
317     },
318
319     </span><span class="jsdoc-var">getMonth </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
320     {
321         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.monthField.getValue</span><span class="jsdoc-syntax">();
322     },
323
324     </span><span class="jsdoc-var">getYear </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
325     {
326         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.yearField.getValue</span><span class="jsdoc-syntax">();
327     },
328
329     </span><span class="jsdoc-var">getValue </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
330     {
331         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">f </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.yearFormat </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.monthFormat </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">'-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.dayFormat</span><span class="jsdoc-syntax">;
332
333         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">date </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.yearField.getValue</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-string">'-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.monthField.getValue</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-string">'-' </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.dayField.getValue</span><span class="jsdoc-syntax">();
334
335         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">date</span><span class="jsdoc-syntax">;
336     },
337
338     </span><span class="jsdoc-var">reset </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
339     {
340         </span><span class="jsdoc-var">this.setDay</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
341         </span><span class="jsdoc-var">this.setMonth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
342         </span><span class="jsdoc-var">this.setYear</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">);
343         </span><span class="jsdoc-var">this.inputEl.dom.value </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
344         </span><span class="jsdoc-var">this.validate</span><span class="jsdoc-syntax">();
345         </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
346     },
347
348     </span><span class="jsdoc-var">validate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
349     {
350         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dayField.validate</span><span class="jsdoc-syntax">();
351         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">m </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.monthField.validate</span><span class="jsdoc-syntax">();
352         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.yearField.validate</span><span class="jsdoc-syntax">();
353
354         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">valid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
355
356         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(
357                 (!</span><span class="jsdoc-var">this.dayAllowBlank </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">) ||
358                 (!</span><span class="jsdoc-var">this.monthAllowBlank </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">m</span><span class="jsdoc-syntax">) ||
359                 (!</span><span class="jsdoc-var">this.yearAllowBlank </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">y</span><span class="jsdoc-syntax">)
360         ){
361             </span><span class="jsdoc-var">valid </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
362         }
363
364         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dayAllowBlank </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.monthAllowBlank </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.yearAllowBlank</span><span class="jsdoc-syntax">){
365             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">valid</span><span class="jsdoc-syntax">;
366         }
367
368         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">valid</span><span class="jsdoc-syntax">){
369             </span><span class="jsdoc-var">this.markValid</span><span class="jsdoc-syntax">();
370             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">valid</span><span class="jsdoc-syntax">;
371         }
372
373         </span><span class="jsdoc-var">this.markInvalid</span><span class="jsdoc-syntax">();
374
375         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">valid</span><span class="jsdoc-syntax">;
376     },
377
378     </span><span class="jsdoc-var">markValid </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
379     {
380
381         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">label </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'label'</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">();
382         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">icon </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'i.fa-star'</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">();
383
384         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">label </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">icon</span><span class="jsdoc-syntax">){
385             </span><span class="jsdoc-var">icon.remove</span><span class="jsdoc-syntax">();
386         }
387
388         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'valid'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
389     },
390
391      </span><span class="jsdoc-comment">/**
392      * Mark this field as invalid
393      * @param {String} msg The validation message
394      */
395     </span><span class="jsdoc-var">markInvalid </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">msg</span><span class="jsdoc-syntax">)
396     {
397
398         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">label </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'label'</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">();
399         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">icon </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'i.fa-star'</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">();
400
401         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">label </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">icon</span><span class="jsdoc-syntax">){
402             </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.roo-date-split-field-label'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.createChild</span><span class="jsdoc-syntax">({
403                 </span><span class="jsdoc-var">tag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'i'</span><span class="jsdoc-syntax">,
404                 </span><span class="jsdoc-var">cls </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'text-danger fa fa-lg fa-star'</span><span class="jsdoc-syntax">,
405                 </span><span class="jsdoc-var">tooltip </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'This field is required'</span><span class="jsdoc-syntax">,
406                 </span><span class="jsdoc-var">style </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'margin-right:5px;'
407             </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-var">label</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
408         }
409
410         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'invalid'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">msg</span><span class="jsdoc-syntax">);
411     },
412
413     </span><span class="jsdoc-var">clearInvalid </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
414     {
415         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">label </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'label'</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">();
416         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">icon </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'i.fa-star'</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">();
417
418         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">label </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">icon</span><span class="jsdoc-syntax">){
419             </span><span class="jsdoc-var">icon.remove</span><span class="jsdoc-syntax">();
420         }
421
422         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'valid'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
423     },
424
425     </span><span class="jsdoc-var">getName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
426     {
427         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.name</span><span class="jsdoc-syntax">;
428     }
429
430 });
431
432  </span></code></body></html>