mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
* Add types for lightpick. * [lightpick] * Follow module-class.d.ts template for a UMD module. * Update setter signatures.
114 lines
3.6 KiB
TypeScript
114 lines
3.6 KiB
TypeScript
import * as moment from 'moment';
|
|
import * as Lightpick from 'lightpick';
|
|
|
|
const inputField = new HTMLInputElement();
|
|
const inputDate = moment();
|
|
|
|
// Required options
|
|
{
|
|
const options: Lightpick.Options = { field: inputField };
|
|
new Lightpick(options);
|
|
}
|
|
|
|
// All options
|
|
{
|
|
const options: Lightpick.Options = { field: inputField };
|
|
options.autoclose = true;
|
|
options.disabledDatesInRange = true;
|
|
options.disableDates = [inputDate, [inputDate, inputDate]];
|
|
options.disableWeekends = true;
|
|
options.dropdowns = true;
|
|
options.dropdowns = {};
|
|
options.dropdowns.months = true;
|
|
options.dropdowns.years = true;
|
|
options.dropdowns.years = {};
|
|
options.dropdowns.years.max = 1;
|
|
options.dropdowns.years.min = 1;
|
|
options.endDate = inputDate;
|
|
options.startDate = inputDate;
|
|
options.field = inputField;
|
|
options.secondField = inputField;
|
|
options.firstDay = Lightpick.Options.DayOfWeek.Monday;
|
|
options.footer = true;
|
|
options.footer = '<div style="background:red">FOOTER</div>';
|
|
options.format = 'DD/MM/YYYY';
|
|
options.hideOnBodyClick = true;
|
|
options.hoveringTooltip = true;
|
|
options.inline = true;
|
|
options.lang = 'US';
|
|
options.locale = {};
|
|
options.locale.buttons = {};
|
|
options.locale.buttons.apply = 'Apply';
|
|
options.locale.buttons.close = 'Close';
|
|
options.locale.buttons.next = 'Next';
|
|
options.locale.buttons.prev = 'Previous';
|
|
options.locale.buttons.reset = 'Reset';
|
|
options.locale.tooltip = {};
|
|
options.locale.tooltip.one = 'One';
|
|
options.locale.tooltip.other = 'Other';
|
|
options.locale.tooltipOnDisabled = 'Disabled';
|
|
options.locale.pluralize = (i, locale) => 'plural';
|
|
options.maxDate = inputDate;
|
|
options.minDate = inputDate;
|
|
options.maxDays = 1;
|
|
options.minDays = 1;
|
|
options.numberOfMonths = 1;
|
|
options.numberOfColumns = 1;
|
|
options.orientation = Lightpick.Options.Orientation.TopRight;
|
|
options.parentEl = 'body';
|
|
options.repick = true;
|
|
options.selectForward = true;
|
|
options.selectBackward = true;
|
|
options.separator = ' - ';
|
|
options.singleDate = true;
|
|
options.tooltipNights = true;
|
|
options.onOpen = () => console.log('open event');
|
|
options.onClose = () => console.log('close event');
|
|
options.onError = (errorMsg: string) => console.log(`error event: ${errorMsg}`);
|
|
options.onSelect = (from: Lightpick.OutputDate, to: Lightpick.OutputDate) => {
|
|
let str = '';
|
|
str += from ? from.format('Do MMMM YYYY') + ' to ' : '';
|
|
str += to ? to.format('Do MMMM YYYY') : '...';
|
|
console.log(`str: ${str}`);
|
|
};
|
|
|
|
new Lightpick(options);
|
|
}
|
|
|
|
// Methods
|
|
{
|
|
const options: Lightpick.Options = { field: inputField };
|
|
const picker = new Lightpick(options);
|
|
picker.getDate();
|
|
picker.getEndDate();
|
|
picker.getStartDate();
|
|
picker.gotoToday();
|
|
picker.gotoDate(inputDate);
|
|
picker.gotoYear(2019);
|
|
picker.gotoMonth(1);
|
|
picker.nextMonth();
|
|
picker.prevMonth();
|
|
picker.reloadOptions(options);
|
|
picker.setDate(inputDate);
|
|
picker.setDate(inputDate, true);
|
|
picker.setEndDate(inputDate);
|
|
picker.setEndDate(inputDate, true);
|
|
picker.setStartDate(inputDate);
|
|
picker.setStartDate(inputDate, true);
|
|
picker.setDateRange(inputDate, inputDate);
|
|
picker.setDateRange(inputDate, inputDate, true);
|
|
picker.toString('YYYY-MM-DD');
|
|
picker.reset();
|
|
picker.show();
|
|
picker.hide();
|
|
picker.destroy();
|
|
}
|
|
|
|
// Fields
|
|
{
|
|
const options: Lightpick.Options = { field: inputField };
|
|
const picker = new Lightpick(options);
|
|
console.log(picker.isShowing ? 'is open' : 'is closed');
|
|
picker.el.onclick = console.log;
|
|
}
|