mirror of
https://github.com/frappe/air-datepicker.git
synced 2026-01-14 11:01:22 +08:00
added swapping dates when range is true, fixes #46
This commit is contained in:
parent
f5c1ae4705
commit
5aeb04c4d7
5
dist/js/datepicker.js
vendored
5
dist/js/datepicker.js
vendored
@ -484,6 +484,11 @@
|
|||||||
} else {
|
} else {
|
||||||
_this.minRange = date;
|
_this.minRange = date;
|
||||||
}
|
}
|
||||||
|
// Swap dates if they were selected via dp.selectDate() and second date was smaller then first
|
||||||
|
if (datepicker.bigger(_this.maxRange, _this.minRange)) {
|
||||||
|
_this.maxRange = _this.minRange;
|
||||||
|
_this.minRange = date;
|
||||||
|
}
|
||||||
_this.selectedDates = [_this.minRange, _this.maxRange]
|
_this.selectedDates = [_this.minRange, _this.maxRange]
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
4
dist/js/datepicker.min.js
vendored
4
dist/js/datepicker.min.js
vendored
File diff suppressed because one or more lines are too long
@ -484,6 +484,11 @@
|
|||||||
} else {
|
} else {
|
||||||
_this.minRange = date;
|
_this.minRange = date;
|
||||||
}
|
}
|
||||||
|
// Swap dates if they were selected via dp.selectDate() and second date was smaller then first
|
||||||
|
if (datepicker.bigger(_this.maxRange, _this.minRange)) {
|
||||||
|
_this.maxRange = _this.minRange;
|
||||||
|
_this.minRange = date;
|
||||||
|
}
|
||||||
_this.selectedDates = [_this.minRange, _this.maxRange]
|
_this.selectedDates = [_this.minRange, _this.maxRange]
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -19,6 +19,7 @@
|
|||||||
<script type="text/javascript" src="specs/options.js"></script>
|
<script type="text/javascript" src="specs/options.js"></script>
|
||||||
<script type="text/javascript" src="specs/events.js"></script>
|
<script type="text/javascript" src="specs/events.js"></script>
|
||||||
<script type="text/javascript" src="specs/static-methods.js"></script>
|
<script type="text/javascript" src="specs/static-methods.js"></script>
|
||||||
|
<script type="text/javascript" src="specs/api.js"></script>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
/* Remove transitions to test position options*/
|
/* Remove transitions to test position options*/
|
||||||
.datepicker {
|
.datepicker {
|
||||||
|
|||||||
65
tests/specs/api.js
Normal file
65
tests/specs/api.js
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
describe('API', function () {
|
||||||
|
|
||||||
|
var assert = chai.assert,
|
||||||
|
expect = chai.expect,
|
||||||
|
destroy = true,
|
||||||
|
$altInput,
|
||||||
|
$input, dp;
|
||||||
|
|
||||||
|
before(function () {
|
||||||
|
$input = $('<input>').appendTo('#container');
|
||||||
|
$altInput = $('<input class="alt-field">').appendTo('#container');
|
||||||
|
});
|
||||||
|
|
||||||
|
afterEach(function () {
|
||||||
|
if (dp && destroy) {
|
||||||
|
dp.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
destroy = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
after(function () {
|
||||||
|
$input.remove();
|
||||||
|
$altInput.remove();
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('selectDate', function () {
|
||||||
|
it('should select passed date', function () {
|
||||||
|
dp = $input.datepicker().data('datepicker');
|
||||||
|
|
||||||
|
var date = new Date();
|
||||||
|
|
||||||
|
dp.selectDate(date);
|
||||||
|
|
||||||
|
expect(dp.selectedDates).to.have.length(1);
|
||||||
|
expect(dp.selectedDates[0]).to.be.equal(date)
|
||||||
|
});
|
||||||
|
it('should select multiple dates if {multipleDates: true}', function () {
|
||||||
|
dp = $input.datepicker({
|
||||||
|
multipleDates: true
|
||||||
|
}).data('datepicker');
|
||||||
|
|
||||||
|
var date = new Date(2016, 4, 16),
|
||||||
|
date2 = new Date(2016, 4, 18);
|
||||||
|
|
||||||
|
dp.selectDate(date);
|
||||||
|
dp.selectDate(date2);
|
||||||
|
|
||||||
|
expect(dp.selectedDates).to.have.length(2);
|
||||||
|
});
|
||||||
|
it('should swap dates if {range: true} and second date is smaller then first', function () {
|
||||||
|
dp = $input.datepicker({
|
||||||
|
range: true
|
||||||
|
}).data('datepicker');
|
||||||
|
|
||||||
|
var date = new Date(2016, 4, 18),
|
||||||
|
date2 = new Date(2016, 4, 16);
|
||||||
|
|
||||||
|
dp.selectDate(date);
|
||||||
|
dp.selectDate(date2);
|
||||||
|
|
||||||
|
expect(dp.selectedDates[0]).to.be.equal(date2);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
x
Reference in New Issue
Block a user