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,
|
var d = this.parsedDate,
|
||||||
newDate = '';
|
newDate = '';
|
||||||
|
|
||||||
|
if (!(date instanceof Date)) return;
|
||||||
|
|
||||||
if (this.view == 'days') {
|
if (this.view == 'days') {
|
||||||
if (date.getMonth() != d.month && this.opts.moveToOtherMonthsOnSelect) {
|
if (date.getMonth() != d.month && this.opts.moveToOtherMonthsOnSelect) {
|
||||||
newDate = new Date(date.getFullYear(), date.getMonth(), 1);
|
newDate = new Date(date.getFullYear(), date.getMonth(), 1);
|
||||||
@ -338,6 +340,8 @@ var Datepicker;
|
|||||||
var selected = this.selectedDates,
|
var selected = this.selectedDates,
|
||||||
_this = this;
|
_this = this;
|
||||||
|
|
||||||
|
if (!(date instanceof Date)) return;
|
||||||
|
|
||||||
return selected.some(function (curDate, i) {
|
return selected.some(function (curDate, i) {
|
||||||
if (Datepicker.isSame(curDate, date)) {
|
if (Datepicker.isSame(curDate, date)) {
|
||||||
selected.splice(i, 1);
|
selected.splice(i, 1);
|
||||||
@ -567,6 +571,8 @@ var Datepicker;
|
|||||||
},
|
},
|
||||||
|
|
||||||
set date (val) {
|
set date (val) {
|
||||||
|
if (!(val instanceof Date)) return;
|
||||||
|
|
||||||
this.currentDate = val;
|
this.currentDate = val;
|
||||||
|
|
||||||
if (this.inited && !this.silent) {
|
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) {
|
$code.each(function (i, el) {
|
||||||
hljs.highlightBlock(el);
|
hljs.highlightBlock(el);
|
||||||
})</script></body></html>
|
})</script></body></html>
|
||||||
@ -1,12 +1,14 @@
|
|||||||
mixin param-header(name, type, defaults)
|
mixin param-header(name, type, defaults)
|
||||||
header.param-header
|
header.param-header
|
||||||
h3= name
|
h3= name
|
||||||
p.param-header--row
|
if type
|
||||||
span.param-header--label Тип:
|
p.param-header--row
|
||||||
+example-inline(type, 'js')
|
span.param-header--label Тип:
|
||||||
p.param-header--row
|
+example-inline(type, 'js')
|
||||||
span.param-header--label Значение по умполчанию:
|
if (defaults || block)
|
||||||
if defaults
|
p.param-header--row
|
||||||
+example-inline(defaults, 'js')
|
span.param-header--label Значение по умполчанию:
|
||||||
if block
|
if defaults
|
||||||
block
|
+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,
|
var d = this.parsedDate,
|
||||||
newDate = '';
|
newDate = '';
|
||||||
|
|
||||||
|
if (!(date instanceof Date)) return;
|
||||||
|
|
||||||
if (this.view == 'days') {
|
if (this.view == 'days') {
|
||||||
if (date.getMonth() != d.month && this.opts.moveToOtherMonthsOnSelect) {
|
if (date.getMonth() != d.month && this.opts.moveToOtherMonthsOnSelect) {
|
||||||
newDate = new Date(date.getFullYear(), date.getMonth(), 1);
|
newDate = new Date(date.getFullYear(), date.getMonth(), 1);
|
||||||
@ -338,6 +340,8 @@ var Datepicker;
|
|||||||
var selected = this.selectedDates,
|
var selected = this.selectedDates,
|
||||||
_this = this;
|
_this = this;
|
||||||
|
|
||||||
|
if (!(date instanceof Date)) return;
|
||||||
|
|
||||||
return selected.some(function (curDate, i) {
|
return selected.some(function (curDate, i) {
|
||||||
if (Datepicker.isSame(curDate, date)) {
|
if (Datepicker.isSame(curDate, date)) {
|
||||||
selected.splice(i, 1);
|
selected.splice(i, 1);
|
||||||
@ -567,6 +571,8 @@ var Datepicker;
|
|||||||
},
|
},
|
||||||
|
|
||||||
set date (val) {
|
set date (val) {
|
||||||
|
if (!(val instanceof Date)) return;
|
||||||
|
|
||||||
this.currentDate = val;
|
this.currentDate = val;
|
||||||
|
|
||||||
if (this.inited && !this.silent) {
|
if (this.inited && !this.silent) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user