pikaday: Added formatStrict and parse. Also fixed tslint and resulting formatting errors.

This commit is contained in:
Åke Wivänge
2017-08-23 13:57:00 +02:00
parent 8fa336c4a9
commit c0d2c91d9f
3 changed files with 69 additions and 35 deletions
+20 -9
View File
@@ -1,6 +1,7 @@
// Type definitions for pikaday
// Type definitions for pikaday 1.6
// Project: https://github.com/dbushell/Pikaday
// Definitions by: Rudolph Gottesheim <http://midnight-design.at/>
// Definitions by: Rudolph Gottesheim <https://github.com/MidnightDesign>
// Åke Wivänge <https://github.com/wake42>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
@@ -227,7 +228,7 @@ declare namespace Pikaday {
* Callback function that gets passed a Date object for each day
* in view. Should return true to disable selection of that day.
*/
disableDayFn?: (date: Date) => boolean;
disableDayFn?(date: Date): boolean;
/**
* Number of years either side (e.g. 10) or array of upper/lower range
@@ -259,7 +260,7 @@ declare namespace Pikaday {
* Render the month after the year in the title. Default: false.
*/
showMonthAfterYear?: boolean;
/**
* Render days of the calendar grid that fall in the next or previous months to the current month instead of rendering an empty table cell. Default: false.
*/
@@ -283,25 +284,35 @@ declare namespace Pikaday {
*/
theme?: string;
/**
* The default flag for moment's strict date parsing (requires Moment.js for custom formatting). Default: false
*/
formatStrict?: boolean;
/**
* Function which will be used for parsing input string and getting a date object from it.
* This function will take precedence over moment.
*/
parse?(date: string, format: string): Date;
/**
* Callback function for when a date is selected.
*/
onSelect?: (date: Date) => void;
onSelect?(date: Date): void;
/**
* Callback function for when the picker becomes visible.
*/
onOpen?: () => void;
onOpen?(): void;
/**
* Callback function for when the picker is hidden.
*/
onClose?: () => void;
onClose?(): void;
/**
* Callback function for when the picker draws a new month.
*/
onDraw?: () => void;
onDraw?(): void;
}
}
+44 -26
View File
@@ -7,9 +7,9 @@ new Pikaday({field: document.getElementById('datepicker')});
new Pikaday({field: $('#datepicker')[0]});
(() => {
var field:HTMLInputElement = <HTMLInputElement>document.getElementById('datepicker');
var picker = new Pikaday({
onSelect: function (date:Date) {
const field: HTMLInputElement = <HTMLInputElement> document.getElementById('datepicker');
const picker = new Pikaday({
onSelect: (date: Date) => {
field.value = picker.toString();
console.log(date.toISOString());
}
@@ -18,10 +18,10 @@ new Pikaday({field: $('#datepicker')[0]});
})();
(() => {
var picker = new Pikaday({
const picker = new Pikaday({
field: document.getElementById('datepicker'),
format: 'D MMM YYYY',
onSelect: function () {
onSelect: () => {
console.log(this.getMoment().format('Do MMMM YYYY'));
}
});
@@ -38,10 +38,10 @@ new Pikaday({field: $('#datepicker')[0]});
picker.nextMonth();
picker.prevMonth();
picker.gotoYear(2015);
picker.setMinDate(new Date);
picker.setMaxDate(new Date);
picker.setStartRange(new Date);
picker.setEndRange(new Date);
picker.setMinDate(new Date());
picker.setMaxDate(new Date());
picker.setStartRange(new Date());
picker.setEndRange(new Date());
picker.isVisible();
picker.show();
picker.adjustPosition();
@@ -50,7 +50,7 @@ new Pikaday({field: $('#datepicker')[0]});
})();
(() => {
var i18n: Pikaday.PikadayI18nConfig = {
const i18n: Pikaday.PikadayI18nConfig = {
previousMonth: 'Previous Month',
nextMonth: 'Next Month',
months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
@@ -61,23 +61,41 @@ new Pikaday({field: $('#datepicker')[0]});
})();
(() => {
new Pikaday(
{
field: document.getElementById('datepicker'),
firstDay: 1,
minDate: new Date('2000-01-01'),
maxDate: new Date('2020-12-31'),
yearRange: [2000, 2020]
});
new Pikaday({
field: document.getElementById('datepicker'),
format: 'YYYY-MM-DD',
trigger: document.getElementById('datepicker'),
bound: false,
position: 'top right',
reposition: false,
container: document.getElementById('myTag'),
defaultDate: new Date(),
setDefaultDate: true,
firstDay: 1,
minDate: new Date('2000-01-01'),
maxDate: new Date('2020-12-31'),
disableWeekends: true,
disableDayFn: (date) => true,
yearRange: [2000, 2020],
showWeekNumber: true,
isRTL: true,
yearSuffix: 'r',
showMonthAfterYear: false,
showDaysInNextAndPreviousMonths: true,
numberOfMonths: 2,
mainCalendar: 'right',
theme: 'myTheme',
formatStrict: true,
parse: () => new Date('2017-08-23'),
onSelect: () => {},
onOpen: () => {},
onClose: () => {},
onDraw: () => {}
});
})();
(() => {
new Pikaday(
{
field: document.getElementById('datepicker'),
firstDay: 1,
minDate: new Date('2000-01-01'),
maxDate: new Date('2020-12-31'),
showDaysInNextAndPreviousMonths: true
});
new Pikaday({
yearRange: 5
});
})();
+5
View File
@@ -0,0 +1,5 @@
{
"extends": "dtslint/dt.json",
"rules": {
}
}