JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q42271F
  • License MIT

A vanilla JavaScript library for skipperhospitality management

Package Exports

  • skipper-organisms
  • skipper-organisms/DayRangePicker

Readme

organisms

for skipper developed open source UI elements

{% include "git+https://github.com/blah/button-color.git/README.md" %}

Day Range Picker

write the required markup to build your date range picker.

Basic Structure

This is the basic HTML structure that DateRange picker requires:

<div>
    <input
        type="text"
        name="check-in"
        id="datepicker-check-in" />
    <input
        type="text"
        name="check-in"
        id="datepicker-check-out"/>    
</div>

Show date on label HTML

You may need to show dates into lable instead of input box:

<div>
    <input
        type="text"
        name="check-in"
        id="datepicker-check-in"/>
    <label
        for="datepicker-check-in"
        id="datepicker-check-in-label">
        18 <small>Feb</small>
    </label>

    <input
        type="text"
        name="check-in"
        id="datepicker-check-out"
        value=""/>
    <label
        class="datepicker text-center"
        id="datepicker-check-out-label">
        19 <small>Feb</small>
    </label>
</div>

Applying DateRange Picker

Using Import

<script src="./day-range-picker/day-range-picker.js"></script>

Creating Component

    // Parameter List
    const checkIn = document.getElementById("datepicker-check-in");
    const checkOut = document.getElementById("datepicker-check-out");
    const showPrice = true ;
    const format = "DD/MM/YYYY";

    var picker = new DayRangePicker({
        checkIn, checkOut,
        showPrice,format});

Include Input Label

    // Parameter List
    const checkIn = document.getElementById("datepicker-check-in");
    const checkOut = document.getElementById("datepicker-check-out");
    const checkInLabel = document.getElementById("datepicker-check-in-label");
    const checkOutLabel = document.getElementById("datepicker-check-out-label");
    const showPrice = true ;
    const format = "DD/MM/YYYY";

    var picker = new DayRangePicker({
        checkIn, checkOut,
        checkInLabel, checkOutLabel
        showPrice,format});

Parameter List

Parameter Required Types of Ele. Description
checkIn True HTML Element HTML Input box
checkOut True HTML Element HTML Input box
showPrice False Boolean Default = false
format False String Default = YYYY-MM-DD
checkInLabel False HTML Element HTML label
checkOutLabel False HTML Element HTML label
startDate False JS Date null
endDate False JS Date null
priceList False JS Object Array null dependen on showPrice i.e. [{ date: '2022-03-19T14:48:00.000Z', price: 121}]
position false enum position of the datepicker, relative to the field (default to bottom & left), ('bottom' & 'left' keywords are not used, 'top' & 'right' are modifier on the bottom/left position)
numberOfMonths False Number Number of month to show, Default = 2
minDate False Date The minimum/earliest date that can be selected
maxDate False Date The maximum/latest date that can be selected

API

.goToNextMonth()

Change Calendar view to next month.

// @parms: null
// @return: null
picker.goToNextMonth();

.goToPrevMonth()

Change Calendar view to previous month.

// @parms: null
// @return: null
picker.goToPrevMonth();

.selectStartDate(date)

Select start date for calendar

// @parms: date => java script date
// @return: null
let date = new Date();
picker.selectStartDate(date);

.selectEndDate(date)

Select end date for calendar

// @parms: date => java script date
// @return: null
let date = new Date();
picker.selectEndDate(date);

.getCurrentStartDate()

Return current start/checkIn date

// @parms: null
// @return: current calendar selected start/checkIn date
picker.getCurrentStartDate();

.getCurrentEndDate()

Return current end/CheckOut date

// @parms: null
// @return: current calendar selected end/checkOut date
picker.getCurrentEndDate();

setDateRange

.setDateRange(start, end)

Set current start/CheckIn and end/CheckOut date

// @parms: start => Javascript date
// @parms: end => Javascript date
// @return: null
picker.setDateRange(start, end);

.getCurrentDateRange()

Return current start/CheckIn and end/CheckOut date

// @parms: null
// @return: current start/CheckIn and end/CheckOut date
picker.getCurrentDateRange();

.setPriceList(prices)

Set price list for calendar

/*  
    const prices = [
        {
          date: '2022-03-05T14:48:00.000Z',
          price: 110
        }, {
          date: '2022-03-06T14:48:00.000Z',
          price: 112
        }
    ];
    date is a ISO Date
*/
// @parms: price list in array of object
// @return: null
picker.setPriceList(prices);