2.0.3 • Published 2 years ago

@marinos33/react-week-time-range-picker v2.0.3

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

react-week-time-range-picker

NPM Status

Introduction

It's a simple React component for selecting a range of hours per day of the week.

image

This component is a fork from https://github.com/lizhongzhen11/react-week-time-range-picker with various change such as:

  • Reworked completely in english rather than in chinese
  • Add customizable styles
  • Better architecture and code improvement
  • Added minimal storybook
  • Props name slightly changed to be more obvious
  • Switch from Webpack to Rollup
  • Some bug fixes

Get Started

To start using it do npm install @marinos33/react-week-time-range-picker --save

And then you can import it like this:

import ReactWeekTimeRangePicker from '@marinos33/react-week-time-range-picker'

<ReactWeekTimeRangePicker />

Props

The available props for this components are the following. | Prop | Description | Type | Default | | ---------------------| -------------------------------------------------------------------|---------------------------------------------------|-----------| | hasHalfHour | Wheter to display the hour and is following half hour | boolean | false | | selectedData | The data displayed in the component | SelectedDataProps (more information below) | | | outerCellColor | The color of the outer cells | string | #DDDEE1 | | innerCellColor | The color of the inner cell when inactive | string | #f5f5f5 | | fontColor | The color of the text | string | #000000 | | summaryColor | The background color of the summary at the bottom of the component | string | #ffffff |

FunctionDescriptionReturn Type
selectTimeRangeFunction to get the selectedData and do whetever you want with.void

Example:

import ReactWeekTimeRangePicker from '@marinos33/react-week-time-range-picker'

const handleSelectTimeRange = (selectedData: SelectedDataProps[]) => {
    console.log(selectedData)
}
  
<ReactWeekTimeRangePicker hasHalfHour={true} selectTimeRange={handleSelectTimeRange} />

The structure of SelectedDataProps:

 {
    iden?: string; // the id of the day. eg: monday = 1, tuesday = 2, ... sunday = 7
    timeRanges?: string[][]; // the time from the selected box to the end box. eg: [['02:30', '03:00']]
    times?: string[]; //the time original clicked on. eg: ['02:30']
    dayName?: string; //the name of the day. eg: monday, tuesday, etc
 }

Known issues

  • The drag box is inaccurate following the mouse movement