1 <html><head><title>../roojs1/Roo/bootstrap/DateField.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">/*
9 * @class Roo.bootstrap.DateField
10 * @extends Roo.bootstrap.Input
11 * Bootstrap DateField class
14 * Create a new DateField
15 * @param {Object} config The config object
18 </span><span class="jsdoc-var">Roo.bootstrap.DateField </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">){
19 </span><span class="jsdoc-var">Roo.bootstrap.DateField.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">);
22 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.DateField</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.bootstrap.Input</span><span class="jsdoc-syntax">, {
24 </span><span class="jsdoc-comment">/**
25 * @cfg {String} format
26 * The default date format string which can be overriden for localization support. The format must be
27 * valid according to {@link Date#parseDate} (defaults to 'm/d/y').
29 </span><span class="jsdoc-var">format </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"m/d/y"</span><span class="jsdoc-syntax">,
30 </span><span class="jsdoc-comment">/**
31 * @cfg {String} altFormats
32 * Multiple date formats separated by "|" to try when parsing a user input value and it doesn't match the defined
33 * format (defaults to 'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d').
35 </span><span class="jsdoc-var">altFormats </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"m/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d"</span><span class="jsdoc-syntax">,
37 </span><span class="jsdoc-var">weekStart </span><span class="jsdoc-syntax">: 0,
39 </span><span class="jsdoc-var">viewMode </span><span class="jsdoc-syntax">: 0,
41 </span><span class="jsdoc-var">minViewMode </span><span class="jsdoc-syntax">: 0,
43 </span><span class="jsdoc-comment">// template : function()
45 // return new Roo.bootstrap.Element (this.dateFieldTemplate());
48 </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">)
50 </span><span class="jsdoc-var">Roo.bootstrap.DateField.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">);
52 </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.input-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">()</span><span class="jsdoc-var">.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.DateField.template</span><span class="jsdoc-syntax">);
53 </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">);
54 </span><span class="jsdoc-var">this.startViewMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.viewMode</span><span class="jsdoc-syntax">;
55 </span><span class="jsdoc-var">this.weekEnd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.weekStart </span><span class="jsdoc-syntax">=== 0 ? 6 : </span><span class="jsdoc-var">this.weekStart </span><span class="jsdoc-syntax">- 1;
56 </span><span class="jsdoc-var">this.fillDow</span><span class="jsdoc-syntax">();
57 </span><span class="jsdoc-var">this.fillMonths</span><span class="jsdoc-syntax">();
58 </span><span class="jsdoc-var">this.update</span><span class="jsdoc-syntax">();
59 </span><span class="jsdoc-var">this.showMode</span><span class="jsdoc-syntax">();
62 </span><span class="jsdoc-var">picker </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
64 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.datepicker'</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">();
67 </span><span class="jsdoc-var">fillDow</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
69 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dowCnt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.weekStart</span><span class="jsdoc-syntax">;
71 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dow </span><span class="jsdoc-syntax">= {
72 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tr'</span><span class="jsdoc-syntax">,
73 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
78 </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dowCnt </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">this.weekStart </span><span class="jsdoc-syntax">+ 7) {
79 </span><span class="jsdoc-var">dow.cn.push</span><span class="jsdoc-syntax">({
80 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
81 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'dow'</span><span class="jsdoc-syntax">,
82 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.bootstrap.DateField.dates.daysMin</span><span class="jsdoc-syntax">[(</span><span class="jsdoc-var">dowCnt</span><span class="jsdoc-syntax">++)%7]
86 </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.datepicker-days thead'</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">.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dow</span><span class="jsdoc-syntax">);
89 </span><span class="jsdoc-var">fillMonths</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
91 </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">;
92 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0
93 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">months </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.datepicker-months td'</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">();
95 </span><span class="jsdoc-keyword">while </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< 12) {
96 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">= {
97 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'span'</span><span class="jsdoc-syntax">,
98 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'month'</span><span class="jsdoc-syntax">,
99 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.bootstrap.DateField.dates.monthsShort</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++]
102 </span><span class="jsdoc-var">months.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">);
107 </span><span class="jsdoc-var">update</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">){
109 </span><span class="jsdoc-var">this.date </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">) === </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">() : (</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">) === </span><span class="jsdoc-string">'string'</span><span class="jsdoc-syntax">) ? </span><span class="jsdoc-var">this.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">newDate</span><span class="jsdoc-syntax">;
111 </span><span class="jsdoc-var">this.viewDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.date.getFullYear</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">this.date.getMonth</span><span class="jsdoc-syntax">(), 1, 0, 0, 0, 0);
112 </span><span class="jsdoc-var">this.fill</span><span class="jsdoc-syntax">();
115 </span><span class="jsdoc-var">fill</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
116 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.viewDate</span><span class="jsdoc-syntax">),
117 </span><span class="jsdoc-var">year </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.getFullYear</span><span class="jsdoc-syntax">(),
118 </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.getMonth</span><span class="jsdoc-syntax">(),
119 </span><span class="jsdoc-var">currentDate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.date.valueOf</span><span class="jsdoc-syntax">();
122 </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.datepicker-days th.switch'</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">Roo.bootstrap.DateField.dates.months</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">]+</span><span class="jsdoc-string">' '</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">;
124 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">prevMonth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">month</span><span class="jsdoc-syntax">-1, 28,0,0,0,0),
125 </span><span class="jsdoc-var">day </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">prevMonth.getDaysInMonth</span><span class="jsdoc-syntax">();
127 </span><span class="jsdoc-var">prevMonth.setDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">day</span><span class="jsdoc-syntax">);
128 </span><span class="jsdoc-var">prevMonth.setDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">day </span><span class="jsdoc-syntax">- (</span><span class="jsdoc-var">prevMonth.getDay</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">this.weekStart </span><span class="jsdoc-syntax">+ 7)%7);
130 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">nextMonth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth</span><span class="jsdoc-syntax">);
132 </span><span class="jsdoc-var">nextMonth.setDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">nextMonth.getDate</span><span class="jsdoc-syntax">() + 42);
134 </span><span class="jsdoc-var">nextMonth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">nextMonth.valueOf</span><span class="jsdoc-syntax">();
136 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">html </span><span class="jsdoc-syntax">= [];
137 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">clsName </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">,
138 </span><span class="jsdoc-var">prevY</span><span class="jsdoc-syntax">,
139 </span><span class="jsdoc-var">prevM</span><span class="jsdoc-syntax">;
141 </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.valueOf</span><span class="jsdoc-syntax">() < </span><span class="jsdoc-var">nextMonth</span><span class="jsdoc-syntax">) {
142 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.getDay</span><span class="jsdoc-syntax">() === </span><span class="jsdoc-var">this.weekStart</span><span class="jsdoc-syntax">) {
143 </span><span class="jsdoc-var">html.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'<tr>'</span><span class="jsdoc-syntax">);
145 </span><span class="jsdoc-comment">// clsName = this.onRender(prevMonth);
146 </span><span class="jsdoc-var">prevY </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">prevMonth.getFullYear</span><span class="jsdoc-syntax">();
147 </span><span class="jsdoc-var">prevM </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">prevMonth.getMonth</span><span class="jsdoc-syntax">();
148 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">prevM </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">prevY </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-var">prevY </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">) {
149 </span><span class="jsdoc-var">clsName </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' old'</span><span class="jsdoc-syntax">;
150 } </span><span class="jsdoc-keyword">else if </span><span class="jsdoc-syntax">((</span><span class="jsdoc-var">prevM </span><span class="jsdoc-syntax">> </span><span class="jsdoc-var">month </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">prevY </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">) || </span><span class="jsdoc-var">prevY </span><span class="jsdoc-syntax">> </span><span class="jsdoc-var">year</span><span class="jsdoc-syntax">) {
151 </span><span class="jsdoc-var">clsName </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' new'</span><span class="jsdoc-syntax">;
153 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.valueOf</span><span class="jsdoc-syntax">() === </span><span class="jsdoc-var">currentDate</span><span class="jsdoc-syntax">) {
154 </span><span class="jsdoc-var">clsName </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-string">' active'</span><span class="jsdoc-syntax">;
156 </span><span class="jsdoc-var">html.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'<td class="day '</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">clsName</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'">'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">prevMonth.getDate</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-string">'</td>'</span><span class="jsdoc-syntax">);
157 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.getDay</span><span class="jsdoc-syntax">() === </span><span class="jsdoc-var">this.weekEnd</span><span class="jsdoc-syntax">) {
158 </span><span class="jsdoc-var">html.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'</tr>'</span><span class="jsdoc-syntax">);
160 </span><span class="jsdoc-var">prevMonth.setDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">prevMonth.getDate</span><span class="jsdoc-syntax">()+1);
162 </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.datepicker-days tbody'</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">.innerHTML </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">;
163 </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.datepicker-days tbody'</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">.createChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">html.join</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">''</span><span class="jsdoc-syntax">));
164 </span><span class="jsdoc-comment">//
165 // var currentYear = this.date.getFullYear();
167 // var months = this.picker().select('.datepicker-months',true).first().select('th',true).first().dom.innerHTML = year;
168 //// .find('th:eq(1)')
171 //// .find('span').removeClass('active');
172 // if (currentYear === year) {
173 // months.eq(this.date.getMonth()).addClass('active');
177 // year = parseInt(year/10, 10) * 10;
178 // var yearCont = this.picker().select('.datepicker-years', true).first().select('th', true).first().dom.innerHTML = year + '-' + (year + 9);
179 //// .find('th:eq(1)')
180 //// .text(year + '-' + (year + 9))
184 // for (var i = -1; i < 11; i++) {
185 // html += '<span class="year'+(i === -1 || i === 10 ? ' old' : '')+(currentYear === year ? ' active' : '')+'">'+year+'</span>';
188 // yearCont.select('td', true).first().dom.innerHTML = html;
189 </span><span class="jsdoc-syntax">},
191 </span><span class="jsdoc-var">showMode</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">) {
192 </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">) {
193 </span><span class="jsdoc-var">this.viewMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.minViewMode</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(2, </span><span class="jsdoc-var">this.viewMode </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">));
195 </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'>div'</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">v</span><span class="jsdoc-syntax">){
196 </span><span class="jsdoc-var">v.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.DISPLAY</span><span class="jsdoc-syntax">);
197 </span><span class="jsdoc-var">v.hide</span><span class="jsdoc-syntax">();
199 </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'.datepicker-'</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">Roo.bootstrap.DateField.modes</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.viewMode</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.clsName</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">.show</span><span class="jsdoc-syntax">();
202 </span><span class="jsdoc-var">place</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
204 </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">);
205 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">input </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.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">();
206 </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">input</span><span class="jsdoc-syntax">);
207 </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">input.getHeight</span><span class="jsdoc-syntax">())</span><span class="jsdoc-var">.setLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">input.getLeft</span><span class="jsdoc-syntax">() - </span><span class="jsdoc-var">this.el.getLeft</span><span class="jsdoc-syntax">());
210 </span><span class="jsdoc-var">parseDate </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">){
211 </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">value </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">){
212 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">;
214 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.format</span><span class="jsdoc-syntax">);
215 </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">this.useIso</span><span class="jsdoc-syntax">) {
216 </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'Y-m-d'</span><span class="jsdoc-syntax">);
218 </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">this.altFormats</span><span class="jsdoc-syntax">){
219 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.altFormatsArray</span><span class="jsdoc-syntax">){
220 </span><span class="jsdoc-var">this.altFormatsArray </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.altFormats.split</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"|"</span><span class="jsdoc-syntax">);
222 </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.altFormatsArray.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">< </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
223 </span><span class="jsdoc-var">v </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Date.parseDate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">value</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.altFormatsArray</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
226 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">;
229 </span><span class="jsdoc-var">onFocus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
231 </span><span class="jsdoc-var">Roo.bootstrap.DateField.superclass.onFocus.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
232 </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'onFocus !'</span><span class="jsdoc-syntax">);
233 </span><span class="jsdoc-var">this.show</span><span class="jsdoc-syntax">();
236 </span><span class="jsdoc-var">onBlur </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
238 </span><span class="jsdoc-var">Roo.bootstrap.DateField.superclass.onBlur.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
239 </span><span class="jsdoc-var">Roo.log</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'onBlur !'</span><span class="jsdoc-syntax">);
240 </span><span class="jsdoc-var">this.hide</span><span class="jsdoc-syntax">();
243 </span><span class="jsdoc-var">show </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
245 </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.show</span><span class="jsdoc-syntax">();
246 </span><span class="jsdoc-var">this.place</span><span class="jsdoc-syntax">();
249 </span><span class="jsdoc-var">hide </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
251 </span><span class="jsdoc-var">this.picker</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.hide</span><span class="jsdoc-syntax">();
252 </span><span class="jsdoc-var">this.viewMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.startViewMode</span><span class="jsdoc-syntax">;
253 </span><span class="jsdoc-var">this.showMode</span><span class="jsdoc-syntax">();
257 </span><span class="jsdoc-comment">// getAutoCreate : function(){
260 // cls: 'input-append date',
264 // cls: 'span2 form-control'
269 // html: '<i class="icon-th"></i>'
278 </span><span class="jsdoc-syntax">});
280 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.DateField</span><span class="jsdoc-syntax">, {
282 </span><span class="jsdoc-var">head </span><span class="jsdoc-syntax">: {
283 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'thead'</span><span class="jsdoc-syntax">,
284 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
286 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tr'</span><span class="jsdoc-syntax">,
287 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
289 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
290 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'prev'</span><span class="jsdoc-syntax">,
291 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&lsaquo;'
292 </span><span class="jsdoc-syntax">},
294 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
295 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'switch'</span><span class="jsdoc-syntax">,
296 </span><span class="jsdoc-var">colspan</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'5'
297 </span><span class="jsdoc-syntax">},
299 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'th'</span><span class="jsdoc-syntax">,
300 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'next'</span><span class="jsdoc-syntax">,
301 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&rsaquo;'
302 </span><span class="jsdoc-syntax">}
309 </span><span class="jsdoc-var">content </span><span class="jsdoc-syntax">: {
310 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tbody'</span><span class="jsdoc-syntax">,
311 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
313 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tr'</span><span class="jsdoc-syntax">,
314 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
316 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'td'</span><span class="jsdoc-syntax">,
317 </span><span class="jsdoc-var">colspan</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'7'
318 </span><span class="jsdoc-syntax">}
324 </span><span class="jsdoc-var">dates</span><span class="jsdoc-syntax">:{
325 </span><span class="jsdoc-var">days</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">"Sunday"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Monday"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Tuesday"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Wednesday"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Thursday"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Friday"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Saturday"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Sunday"</span><span class="jsdoc-syntax">],
326 </span><span class="jsdoc-var">daysShort</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">"Sun"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Mon"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Tue"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Wed"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Thu"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Fri"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Sat"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Sun"</span><span class="jsdoc-syntax">],
327 </span><span class="jsdoc-var">daysMin</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">"Su"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Mo"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Tu"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"We"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Th"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Fr"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Sa"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Su"</span><span class="jsdoc-syntax">],
328 </span><span class="jsdoc-var">months</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">"January"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"February"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"March"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"April"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"May"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"June"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"July"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"August"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"September"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"October"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"November"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"December"</span><span class="jsdoc-syntax">],
329 </span><span class="jsdoc-var">monthsShort</span><span class="jsdoc-syntax">: [</span><span class="jsdoc-string">"Jan"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Feb"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Mar"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Apr"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"May"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Jun"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Jul"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Aug"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Sep"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Oct"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Nov"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"Dec"</span><span class="jsdoc-syntax">]
332 </span><span class="jsdoc-var">modes</span><span class="jsdoc-syntax">: [
334 </span><span class="jsdoc-var">clsName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'days'</span><span class="jsdoc-syntax">,
335 </span><span class="jsdoc-var">navFnc</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'Month'</span><span class="jsdoc-syntax">,
336 </span><span class="jsdoc-var">navStep</span><span class="jsdoc-syntax">: 1
339 </span><span class="jsdoc-var">clsName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'months'</span><span class="jsdoc-syntax">,
340 </span><span class="jsdoc-var">navFnc</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'FullYear'</span><span class="jsdoc-syntax">,
341 </span><span class="jsdoc-var">navStep</span><span class="jsdoc-syntax">: 1
344 </span><span class="jsdoc-var">clsName</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'years'</span><span class="jsdoc-syntax">,
345 </span><span class="jsdoc-var">navFnc</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'FullYear'</span><span class="jsdoc-syntax">,
346 </span><span class="jsdoc-var">navStep</span><span class="jsdoc-syntax">: 10
350 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.bootstrap.DateField</span><span class="jsdoc-syntax">, {
352 </span><span class="jsdoc-var">template </span><span class="jsdoc-syntax">: {
353 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
354 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'datepicker dropdown-menu'</span><span class="jsdoc-syntax">,
355 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
357 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
358 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'datepicker-days'</span><span class="jsdoc-syntax">,
359 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
361 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table'</span><span class="jsdoc-syntax">,
362 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table-condensed'</span><span class="jsdoc-syntax">,
363 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">:[
364 </span><span class="jsdoc-var">Roo.bootstrap.DateField.head</span><span class="jsdoc-syntax">,
366 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'tbody'
367 </span><span class="jsdoc-syntax">}
373 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
374 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'datepicker-months'</span><span class="jsdoc-syntax">,
375 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
377 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table'</span><span class="jsdoc-syntax">,
378 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table-condensed'</span><span class="jsdoc-syntax">,
379 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">:[
380 </span><span class="jsdoc-var">Roo.bootstrap.DateField.head</span><span class="jsdoc-syntax">,
381 </span><span class="jsdoc-var">Roo.bootstrap.DateField.content
382 </span><span class="jsdoc-syntax">]
387 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
388 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'datepicker-years'</span><span class="jsdoc-syntax">,
389 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">: [
391 </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table'</span><span class="jsdoc-syntax">,
392 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'table-condensed'</span><span class="jsdoc-syntax">,
393 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">:[
394 </span><span class="jsdoc-var">Roo.bootstrap.DateField.head</span><span class="jsdoc-syntax">,
395 </span><span class="jsdoc-var">Roo.bootstrap.DateField.content
396 </span><span class="jsdoc-syntax">]
406 </span></code></body></html>