mirror of
https://github.com/frappe/air-datepicker.git
synced 2026-01-14 11:01:22 +08:00
complete api section, add check for instanceof Date
This commit is contained in:
parent
02e887275b
commit
3311a1f5a1
6
dist/js/datepicker.js
vendored
6
dist/js/datepicker.js
vendored
@ -292,6 +292,8 @@ var Datepicker;
|
||||
var d = this.parsedDate,
|
||||
newDate = '';
|
||||
|
||||
if (!(date instanceof Date)) return;
|
||||
|
||||
if (this.view == 'days') {
|
||||
if (date.getMonth() != d.month && this.opts.moveToOtherMonthsOnSelect) {
|
||||
newDate = new Date(date.getFullYear(), date.getMonth(), 1);
|
||||
@ -338,6 +340,8 @@ var Datepicker;
|
||||
var selected = this.selectedDates,
|
||||
_this = this;
|
||||
|
||||
if (!(date instanceof Date)) return;
|
||||
|
||||
return selected.some(function (curDate, i) {
|
||||
if (Datepicker.isSame(curDate, date)) {
|
||||
selected.splice(i, 1);
|
||||
@ -567,6 +571,8 @@ var Datepicker;
|
||||
},
|
||||
|
||||
set date (val) {
|
||||
if (!(val instanceof Date)) return;
|
||||
|
||||
this.currentDate = val;
|
||||
|
||||
if (this.inited && !this.silent) {
|
||||
|
||||
2
dist/js/datepicker.min.js
vendored
2
dist/js/datepicker.min.js
vendored
File diff suppressed because one or more lines are too long
@ -102,7 +102,27 @@ $('.my-datepicker').datepicker({
|
||||
}
|
||||
}
|
||||
}
|
||||
})</code></pre></div></article></article></div></main></div><script>var $code = $('code');
|
||||
})
|
||||
</code></pre></div></article><article><h2>API</h2><p>Досутп к экземпляру плагина осуществляется через<span class="example-inline"><code>data</code></span>атрибут.</p><pre class="example-code"><code class="js">var myDatepicker = $('#my-elem').datepicker().data('datepicker');
|
||||
|
||||
myDatepicker.show();
|
||||
</code></pre><div class="param"><header class="param-header"><h3>show()</h3></header><p>Показывает календарь.</p></div><div class="param"><header class="param-header"><h3>hide()</h3></header><p>Скрывает календарь.</p></div><div class="param"><header class="param-header"><h3>next()</h3></header><p>Переходит на следующий месяц если вид days, на следующий год если months, и следующую декаду если years.</p></div><div class="param"><header class="param-header"><h3>prev()</h3></header><p>Переходит на предыдщуий месяц если вид days, на предыдущий год если months, и предыдущую декаду если years.</p></div><div class="param"><header class="param-header"><h3>selectDate(date)</h3></header><ul><li><span class="param-inline"><strong>date</strong><i>Date</i></span>- дата в формате JavaScript<span class="example-inline"><code class="js">Date()</code></span></li></ul><p>Выбирает переданную дату. Если<span class="example-inline"><code class="js">{multipleDates: false}</code></span>и уже есть активная дата, то она будет деактивирована. Если<span class="example-inline"><code class="js">{multipleDates: true}</code></span>то будет добавлена еще одна активная дата.</p></div><div class="param"><header class="param-header"><h3>removeDate(date)</h3></header><ul><li><span class="param-inline"><strong>date</strong><i>Date</i></span>- дата в формате JavaScript<span class="example-inline"><code class="js">Date()</code></span></li></ul><p>Снимает выделение с переданной даты.</p></div><div class="param"><header class="param-header"><h3>update(field[, value])</h3></header><ul><li><span class="param-inline"><strong>field</strong><i>string|object</i></span>- название поля значение которого нужно обновить.</li><li><span class="param-inline"><strong>field</strong><i>string|*</i></span>- новое значение параметра</li></ul><p>Обновление опций календаря, после вызова метода он автоматически перерисуется.
|
||||
Можно обновлять сразу же несколько параметров, для этого нужно передать объект с требуемыми полями.
|
||||
</p><pre class="example-code"><code class="js">var datepicker = $('#my-elem').datepicker().data('datepicker');
|
||||
|
||||
// Обновление одного параметра
|
||||
datepicker.update('minDate', new Date())
|
||||
|
||||
// Обновление нескольких параметров
|
||||
datepicker.update({
|
||||
position: "top right",
|
||||
maxDate: new Date(),
|
||||
todayButton: true
|
||||
})
|
||||
</code></pre></div><div class="param"><header class="param-header"><h3>view</h3></header><p>Устанавливает новое представление для календаря.</p><pre class="example-code"><code class="js">datepicker.view = 'months';
|
||||
</code></pre></div><div class="param"><header class="param-header"><h3>date</h3></header><p>Устанавливает новую отображаемую дату, нужно передать JavaScript<span class="example-inline"><code>Date()</code></span></p><pre class="example-code"><code class="js">datepicker.date = new Date();
|
||||
|
||||
</code></pre></div><div id="from" class="datepicker-here"></div><div id="to" class="datepicker-here"></div></article></article></div></main></div><script>var $code = $('code');
|
||||
$code.each(function (i, el) {
|
||||
hljs.highlightBlock(el);
|
||||
})</script></body></html>
|
||||
@ -1,12 +1,14 @@
|
||||
mixin param-header(name, type, defaults)
|
||||
header.param-header
|
||||
h3= name
|
||||
p.param-header--row
|
||||
span.param-header--label Тип:
|
||||
+example-inline(type, 'js')
|
||||
p.param-header--row
|
||||
span.param-header--label Значение по умполчанию:
|
||||
if defaults
|
||||
+example-inline(defaults, 'js')
|
||||
if block
|
||||
block
|
||||
if type
|
||||
p.param-header--row
|
||||
span.param-header--label Тип:
|
||||
+example-inline(type, 'js')
|
||||
if (defaults || block)
|
||||
p.param-header--row
|
||||
span.param-header--label Значение по умполчанию:
|
||||
if defaults
|
||||
+example-inline(defaults, 'js')
|
||||
if block
|
||||
block
|
||||
|
||||
@ -475,3 +475,99 @@ block content
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
article
|
||||
h2 API
|
||||
p
|
||||
| Досутп к экземпляру плагина осуществляется через
|
||||
+example-inline('data')
|
||||
| атрибут.
|
||||
+example-code('js').
|
||||
var myDatepicker = $('#my-elem').datepicker().data('datepicker');
|
||||
|
||||
myDatepicker.show();
|
||||
|
||||
.param
|
||||
+param-header('show()')
|
||||
p Показывает календарь.
|
||||
|
||||
.param
|
||||
+param-header('hide()')
|
||||
p Скрывает календарь.
|
||||
|
||||
.param
|
||||
+param-header('next()')
|
||||
p Переходит на следующий месяц если вид days, на следующий год если months, и следующую декаду если years.
|
||||
|
||||
.param
|
||||
+param-header('prev()')
|
||||
p Переходит на предыдщуий месяц если вид days, на предыдущий год если months, и предыдущую декаду если years.
|
||||
|
||||
.param
|
||||
+param-header('selectDate(date)')
|
||||
ul
|
||||
li
|
||||
+param('date','Date')
|
||||
| - дата в формате JavaScript
|
||||
+example-inline('Date()', 'js')
|
||||
p
|
||||
| Выбирает переданную дату. Если
|
||||
+example-inline('{multipleDates: false}','js')
|
||||
| и уже есть активная дата, то она будет деактивирована. Если
|
||||
+example-inline('{multipleDates: true}','js')
|
||||
| то будет добавлена еще одна активная дата.
|
||||
|
||||
.param
|
||||
+param-header('removeDate(date)')
|
||||
ul
|
||||
li
|
||||
+param('date','Date')
|
||||
| - дата в формате JavaScript
|
||||
+example-inline('Date()', 'js')
|
||||
p
|
||||
| Снимает выделение с переданной даты.
|
||||
|
||||
.param
|
||||
+param-header('update(field[, value])')
|
||||
ul
|
||||
li
|
||||
+param('field','string|object')
|
||||
| - название поля значение которого нужно обновить.
|
||||
li
|
||||
+param('field','string|*')
|
||||
| - новое значение параметра
|
||||
p.
|
||||
Обновление опций календаря, после вызова метода он автоматически перерисуется.
|
||||
Можно обновлять сразу же несколько параметров, для этого нужно передать объект с требуемыми полями.
|
||||
|
||||
+example-code('js').
|
||||
var datepicker = $('#my-elem').datepicker().data('datepicker');
|
||||
|
||||
// Обновление одного параметра
|
||||
datepicker.update('minDate', new Date())
|
||||
|
||||
// Обновление нескольких параметров
|
||||
datepicker.update({
|
||||
position: "top right",
|
||||
maxDate: new Date(),
|
||||
todayButton: true
|
||||
})
|
||||
|
||||
.param
|
||||
+param-header('view')
|
||||
p Устанавливает новое представление для календаря.
|
||||
+example-code('js').
|
||||
datepicker.view = 'months';
|
||||
|
||||
.param
|
||||
+param-header('date')
|
||||
p
|
||||
| Устанавливает новую отображаемую дату, нужно передать JavaScript
|
||||
+example-inline('Date()')
|
||||
|
||||
+example-code('js').
|
||||
datepicker.date = new Date();
|
||||
|
||||
|
||||
.datepicker-here#from
|
||||
.datepicker-here#to
|
||||
@ -292,6 +292,8 @@ var Datepicker;
|
||||
var d = this.parsedDate,
|
||||
newDate = '';
|
||||
|
||||
if (!(date instanceof Date)) return;
|
||||
|
||||
if (this.view == 'days') {
|
||||
if (date.getMonth() != d.month && this.opts.moveToOtherMonthsOnSelect) {
|
||||
newDate = new Date(date.getFullYear(), date.getMonth(), 1);
|
||||
@ -338,6 +340,8 @@ var Datepicker;
|
||||
var selected = this.selectedDates,
|
||||
_this = this;
|
||||
|
||||
if (!(date instanceof Date)) return;
|
||||
|
||||
return selected.some(function (curDate, i) {
|
||||
if (Datepicker.isSame(curDate, date)) {
|
||||
selected.splice(i, 1);
|
||||
@ -567,6 +571,8 @@ var Datepicker;
|
||||
},
|
||||
|
||||
set date (val) {
|
||||
if (!(val instanceof Date)) return;
|
||||
|
||||
this.currentDate = val;
|
||||
|
||||
if (this.inited && !this.silent) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user