1.11.4 • Published 4 months ago

portpro-date-range-picker v1.11.4

Weekly downloads
-
License
MIT
Repository
-
Last release
4 months ago

portpro-date-range-picker

Description

A date/time picker for react (using bootstrap). This is a react wrapper around an existing jQuery/bootstrap library (it is not a pure react port):

bootstrap-daterangepicker

Getting Started

  1. Install the needed peer dependencies: npm install --save portpro-date-range-picker
import React, { Component } from 'react';
import DateTimeRangePicker from 'portpro-date-range-picker';
// you will need the css that comes with bootstrap@3. if you are using
// a tool like webpack, you can do the following:
import 'bootstrap/dist/css/bootstrap.css';
// you will also need the css that comes with bootstrap-daterangepicker
import 'bootstrap-daterangepicker/daterangepicker.css';

class MyComponent {
  render() {
    return (
      <DateTimeRangePicker
      fromDate={'1/1/2014'}
      toDate={'3/1/2014'}
      >
        <button>Click Me To Open Picker!</button>
      </DateTimeRangePicker>
    );
  }
}

Documentation

For in depth documentation, see the original bootstrap-daterangepicker project page.

You can pass all the settings from the original plugin to the initialSettings prop:

  • <input>, alwaysShowCalendars, applyButtonClasses, applyClass, autoApply, autoUpdateInput, buttonClasses, cancelButtonClasses, cancelClass, dateLimit, drops, endDate, isCustomDate, isInvalidDate, linkedCalendars, locale, maxDate, maxSpan, maxYear, minDate, minYear, moment, opens, parentEl, ranges, showCustomRangeLabel, showDropdowns, showISOWeekNumbers, showWeekNumbers, singleDatePicker, startDate, template, timePicker, timePicker24Hour, timePickerIncrement, timePickerSeconds

You can listen to the following 8 events:

  • onShow: callback(event, picker) thrown when the widget is shown
  • onHide: callback(event, picker) thrown when the widget is hidden
  • onShowCalendar: callback(event, picker) thrown when the calendar is shown
  • onHideCalendar: callback(event, picker) thrown when the calendar is hidden
  • onApply: callback(event, picker) thrown when the apply button is clicked
  • onCancel: callback(event, picker) thrown when the cancel button is clicked
  • onEvent: callback(event, picker) thrown when any of the 6 events above are triggered
  • onCallback: callback(start, end, label) thrown when the start/end dates change

You MUST pass a single child element to the <DateTimeRangePicker /> component- and it MUST be a DOM element. Passing custom react components is not currently supported b/c this lib needs a single dom node to initialize.

There are 2 methods from the upstream lib that can be called: setStartDate and setEndDate, but you need to use refs when doing so.

Simple button example

<DateTimeRangePicker>
  <button type="button" className="btn btn-primary">
    click to open
  </button>
</DateTimeRangePicker>

Simple input example

<DateTimeRangePicker>
  <input type="text" className="form-control" />
</DateTimeRangePicker>

Initialize with a startDate and endDate

<DateTimeRangePicker
      fromDate={'01/01/2020'}
      toDate={'01/15/2020'}
>
  <input type="text" className="form-control" />
</DateTimeRangePicker>

Example event handler:

class SomeReactComponent extends React.Component {
  handleEvent(event, picker) {
    console.log(picker.startDate);
  }
  handleCallback(start, end, label) {
    console.log(start, end, label);
  }
  render() {
    return (
      <DateTimeRangePicker onEvent={this.handleEvent} onCallback={this.handleCallback}>
        <input />
      </DateTimeRangePicker>;
  }
}
1.11.4

4 months ago

1.10.5

4 months ago

1.11.3

4 months ago

1.10.4

4 months ago

1.11.2

4 months ago

1.10.3

4 months ago

1.11.1

4 months ago

1.10.2

4 months ago

1.10.9

4 months ago

1.10.8

4 months ago

1.10.7

4 months ago

1.10.6

4 months ago

1.9.0

5 months ago

1.8.0

6 months ago

1.11.0

4 months ago

1.10.1

4 months ago

1.10.0

5 months ago

1.2.0

8 months ago

1.1.0

8 months ago

1.0.0

8 months ago

1.7.0

8 months ago

1.6.0

8 months ago

1.5.0

8 months ago

1.4.0

8 months ago

1.3.0

8 months ago

0.0.9

8 months ago

0.0.8

8 months ago

0.0.7

8 months ago

0.0.6

8 months ago

0.0.5

8 months ago

0.0.4

8 months ago

0.0.3

8 months ago

0.0.2

8 months ago

0.0.1

8 months ago