mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
175 lines
4.2 KiB
TypeScript
175 lines
4.2 KiB
TypeScript
import * as moment from "moment";
|
|
|
|
const dp = $("#picker").datetimepicker().data("DateTimePicker");
|
|
|
|
function test_cases() {
|
|
$("#datetimepicker").datetimepicker();
|
|
$("#datetimepicker").datetimepicker({
|
|
minDate: "2012-12-31"
|
|
});
|
|
|
|
$("#datetimepicker").data("DateTimePicker").maxDate("2012-12-31");
|
|
|
|
let startDate = moment(new Date(2012, 1, 20));
|
|
const endDate = moment(new Date(2012, 1, 25));
|
|
|
|
$("#datetimepicker2")
|
|
.datetimepicker()
|
|
.on("dp.change", ev => {
|
|
if (ev.date.valueOf() > endDate.valueOf()) {
|
|
$("#alert").show().find("strong").text("The start date must be before the end date.");
|
|
} else {
|
|
$("#alert").hide();
|
|
startDate = ev.date;
|
|
$("#date-start-display").text($("#date-start").data("date"));
|
|
}
|
|
})
|
|
.on("dp.error", ev => {
|
|
console.log(`Error: ${ev.date.format("YYYY-MM-DD")}`);
|
|
})
|
|
.on("dp.update", ev => {
|
|
console.log(`Change: ${ev.change}, ${ev.viewDate.format("YYYY-MM-DD")}`);
|
|
});
|
|
}
|
|
|
|
function test_date() {
|
|
let momentObj = moment("20111031", "YYYYMMDD");
|
|
|
|
dp.date(null);
|
|
dp.date("1969-07-21");
|
|
dp.date(new Date());
|
|
dp.date(momentObj);
|
|
|
|
momentObj = dp.date();
|
|
}
|
|
|
|
function test_format() {
|
|
let boolFormat = false;
|
|
let strFormat = "YYYY-MM-DD";
|
|
let momentFormat = moment.ISO_8601;
|
|
|
|
$("#picker").datetimepicker({
|
|
format: boolFormat
|
|
});
|
|
|
|
$("#picker").datetimepicker({
|
|
format: strFormat
|
|
});
|
|
|
|
$("#picker").datetimepicker({
|
|
format: momentFormat
|
|
});
|
|
|
|
dp.format(boolFormat);
|
|
boolFormat = dp.format() as boolean;
|
|
|
|
dp.format(strFormat);
|
|
strFormat = dp.format() as string;
|
|
|
|
dp.format(momentFormat);
|
|
momentFormat = dp.format() as moment.MomentBuiltinFormat;
|
|
}
|
|
|
|
function test_extraFormats() {
|
|
let boolFormat = false;
|
|
let strFormats = ["YYYYMMDD", "YYYY/MM/DD"];
|
|
let mixFormats = ["YYYYMMDD", moment.ISO_8601];
|
|
|
|
$("#picker").datetimepicker({
|
|
extraFormats: boolFormat
|
|
});
|
|
|
|
$("#picker").datetimepicker({
|
|
extraFormats: strFormats
|
|
});
|
|
|
|
$("#picker").datetimepicker({
|
|
extraFormats: mixFormats
|
|
});
|
|
|
|
dp.extraFormats(boolFormat);
|
|
boolFormat = dp.extraFormats() as boolean;
|
|
|
|
dp.extraFormats(strFormats);
|
|
strFormats = dp.extraFormats() as string[];
|
|
|
|
dp.extraFormats(mixFormats);
|
|
mixFormats = dp.extraFormats() as Array<(string | moment.MomentBuiltinFormat)>;
|
|
}
|
|
|
|
function test_timeZone() {
|
|
let nullTz = null;
|
|
let strFormats = "Africa/Abidjan";
|
|
|
|
$("#picker").datetimepicker({
|
|
timeZone: nullTz
|
|
});
|
|
|
|
$("#picker").datetimepicker({
|
|
timeZone: strFormats
|
|
});
|
|
|
|
dp.timeZone(nullTz);
|
|
nullTz = dp.timeZone() as null;
|
|
|
|
dp.timeZone(strFormats);
|
|
strFormats = dp.timeZone() as string;
|
|
}
|
|
|
|
function test_widgetParent() {
|
|
let nullW: null = null;
|
|
let str = "myId";
|
|
let jquery = $("#element");
|
|
|
|
$("#picker").datetimepicker({
|
|
widgetParent: nullW
|
|
});
|
|
|
|
$("#picker").datetimepicker({
|
|
widgetParent: str
|
|
});
|
|
|
|
$("#picker").datetimepicker({
|
|
widgetParent: jquery
|
|
});
|
|
|
|
dp.widgetParent(nullW);
|
|
nullW = dp.widgetParent() as null;
|
|
|
|
dp.widgetParent(str);
|
|
str = dp.widgetParent() as string;
|
|
|
|
dp.widgetParent(jquery);
|
|
jquery = dp.widgetParent() as JQuery;
|
|
}
|
|
|
|
function inputParser(inputDate: string | Date | moment.Moment) {
|
|
const relativeDatePattern = /[0-9]+\s+(days ago)/;
|
|
|
|
if (moment.isMoment(inputDate) || inputDate instanceof Date) {
|
|
return moment(inputDate);
|
|
} else {
|
|
const relativeDate = inputDate.match(relativeDatePattern);
|
|
if (relativeDate !== null) {
|
|
const subDays = +relativeDate[0].replace("days ago", "").trim();
|
|
return moment().subtract(subDays, "day");
|
|
} else {
|
|
return moment();
|
|
}
|
|
}
|
|
}
|
|
|
|
function test_parseInputDate() {
|
|
let undef: undefined;
|
|
let parser: BootstrapV3DatetimePicker.InputParser;
|
|
|
|
$("#picker").datetimepicker();
|
|
|
|
$("#picker").datetimepicker({
|
|
parseInputDate: inputParser
|
|
});
|
|
|
|
undef = dp.parseInputDate() as undefined;
|
|
parser = dp.parseInputDate() as BootstrapV3DatetimePicker.InputParser;
|
|
}
|