diff --git a/bootstrap.datepicker/bootstrap.datepicker-tests.ts b/bootstrap.datepicker/bootstrap.datepicker-tests.ts
index 3346ab5e2..0bbf2c650 100644
--- a/bootstrap.datepicker/bootstrap.datepicker-tests.ts
+++ b/bootstrap.datepicker/bootstrap.datepicker-tests.ts
@@ -1,5 +1,4 @@
-///
-///
+///
function tests_simple() {
$('#datepicker').datepicker();
@@ -11,30 +10,32 @@ function tests_simple() {
$('#datepicker').datepicker('setEndDate', '2012-12-31');
$('#date-end')
.datepicker()
- .on('changeDate', function (ev) { });
+ .on('changeDate', function (ev) { ev; });
var startDate = new Date(2012, 1, 20);
var endDate = new Date(2012, 1, 25);
$('#date-start')
.datepicker()
- .on('changeDate', function (ev) {
+ //.on("changeDate", function (ev) { // bug https://typescript.codeplex.com/workitem/1976
+ .on("changeDate", function (ev: DatepickerEventObject) {
if (ev.date.valueOf() > endDate.valueOf()) {
$('#alert').show().find('strong').text('The start date must be before the end date.');
} else {
$('#alert').hide();
- startDate = new Date(ev.date);
+ startDate = ev.date;
$('#date-start-display').text($('#date-start').data('date'));
}
$('#date-start').datepicker('hide');
});
$('#date-end')
.datepicker()
- .on('changeDate', function (ev) {
+ //.on('changeDate', function (ev) { // bug https://typescript.codeplex.com/workitem/1976
+ .on('changeDate', function (ev: DatepickerEventObject) {
if (ev.date.valueOf() < startDate.valueOf()) {
$('#alert').show().find('strong').text('The end date must be after the start date.');
} else {
$('#alert').hide();
- endDate = new Date(ev.date);
+ endDate = ev.date;
$('#date-end-display').text($('#date-end').data('date'));
}
$('#date-end').datepicker('hide');
@@ -55,25 +56,27 @@ $(function () {
var startDate = new Date(2012, 1, 20);
var endDate = new Date(2012, 1, 25);
$('#dp4').datepicker()
- .on('changeDate', function (ev) {
+ //.on('changeDate', function (ev) { // bug https://typescript.codeplex.com/workitem/1976
+ .on('changeDate', function (ev: DatepickerEventObject) {
if (ev.date.valueOf() > endDate.valueOf()) {
$('#alert').show().find('strong').text('The start date can not be greater then the end date');
} else {
$('#alert').hide();
- startDate = new Date(ev.date);
+ startDate = ev.date;
$('#startDate').text($('#dp4').data('date'));
}
$('#dp4').datepicker('hide');
});
$('#dp5').datepicker()
- .on('changeDate', function (ev) {
+ //.on('changeDate', function (ev) { // bug https://typescript.codeplex.com/workitem/1976
+ .on('changeDate', function (ev: DatepickerEventObject) {
if (ev.date.valueOf() < startDate.valueOf()) {
$('#alert').show().find('strong').text('The end date can not be less then the start date');
} else {
$('#alert').hide();
- endDate = new Date(ev.date);
+ endDate = ev.date;
$('#endDate').text($('#dp5').data('date'));
}
$('#dp5').datepicker('hide');
});
-});
\ No newline at end of file
+});
diff --git a/bootstrap.datepicker/bootstrap.datepicker.d.ts b/bootstrap.datepicker/bootstrap.datepicker.d.ts
index 4cf27ef19..0664b2aa0 100644
--- a/bootstrap.datepicker/bootstrap.datepicker.d.ts
+++ b/bootstrap.datepicker/bootstrap.datepicker.d.ts
@@ -3,7 +3,6 @@
// Definitions by: Boris Yankov
// Definitions: https://github.com/borisyankov/DefinitelyTyped
-
///
interface DatepickerOptions {
@@ -19,15 +18,21 @@ interface DatepickerOptions {
language?: string;
}
+interface DatepickerEventObject extends JQueryEventObject {
+ date: Date;
+ format(format?: string): string;
+}
+
interface JQuery {
datepicker(): JQuery;
datepicker(methodName: string): JQuery;
datepicker(methodName: string, params: any): JQuery;
datepicker(options: DatepickerOptions): JQuery;
- off(events?: "changeDate", selector?: any, handler?: (eventObject: any) => any): JQuery;
+ off(events: "changeDate", selector?: string, handler?: (eventObject: DatepickerEventObject) => any): JQuery;
+ off(events: "changeDate", handler: (eventObject: DatepickerEventObject) => any): JQuery;
- on(events: "changeDate", selector?: string, data?: any, handler?: (eventObject: any) => any): JQuery;
- on(events: "changeDate", selector?: string, handler?: (eventObject: any) => any): JQuery;
- on(events: "changeDate", handler?: (eventObject: any) => any): JQuery;
+ on(events: "changeDate", selector: string, data: any, handler?: (eventObject: DatepickerEventObject) => any): JQuery;
+ on(events: "changeDate", selector: string, handler: (eventObject: DatepickerEventObject) => any): JQuery;
+ on(events: 'changeDate', handler: (eventObject: DatepickerEventObject) => any): JQuery;
}