bootstrap.datepicker: fixed errors related to switch on TS 0.9.5; improved typings

This commit is contained in:
Igor Oleinikov
2013-12-06 18:59:14 +04:00
parent ef86830809
commit 4f3f6f58f5
2 changed files with 25 additions and 17 deletions
@@ -1,5 +1,4 @@
/// <reference path="../jquery/jquery.d.ts"/>
/// <reference path="bootstrap.datepicker.d.ts"/>
/// <reference path="bootstrap.datepicker.d.ts"/>
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');
});
});
});
+10 -5
View File
@@ -3,7 +3,6 @@
// Definitions by: Boris Yankov <https://github.com/borisyankov/>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../jquery/jquery.d.ts"/>
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;
}