Socket
Socket
Sign inDemoInstall

react-timeline-range-slider

Package Overview
Dependencies
204
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    react-timeline-range-slider

Time Slider component for React


Version published
Weekly downloads
778
decreased by-12.88%
Maintainers
1
Install size
22.8 MB
Created
Weekly downloads
 

Readme

Source

react-timeline-range-slider

demo gif

Installation

 npm i react-timeline-range-slider

Props

PropTypeDefaultDescription
timelineIntervalarray[startOfToday(), endOfToday()]Interval to display
selectedIntervalarray[new Date(), addHours(new Date(), 1)]Selected interval inside the timeline
disabledIntervalsarray[]Array of disabled intervals inside the timeline
containerClassNamestringClassName of the wrapping container
stepnumber1800000Number of milliseconds between steps (the default value is 30 minutes)
ticksNumbernumber48Number of steps on the timeline (the default value is 30 minutes)
errorboolfalseIs the selected interval is not valid
modeint/function3The interaction mode. Value of 1 will allow handles to cross each other. Value of 2 will keep the sliders from crossing and separated by a step. Value of 3 will make the handles pushable and keep them a step apart. ADVANCED: You can also supply a function that will be passed the current values and the incoming update. Your function should return what the state should be set as.
formatTickfunctionms => format(new Date(ms), 'HH:mm')Function that determines the format in which the date will be displayed
onUpdateCallbackfunction
onChangeCallbackfunction

Example

Live demo

import React from 'react'  
import { endOfToday, set } from 'date-fns' 
import TimeRange from 'react-timeline-range-slider'  

const now = new Date()
const getTodayAtSpecificHour = (hour = 12) =>
	set(now, { hours: hour, minutes: 0, seconds: 0, milliseconds: 0 })

const selectedStart = getTodayAtSpecificHour()
const selectedEnd = getTodayAtSpecificHour(14)

const startTime = getTodayAtSpecificHour(7)
const endTime = endOfToday()

const disabledIntervals = [
  { start: getTodayAtSpecificHour(16), end: getTodayAtSpecificHour(17) },
  { start: getTodayAtSpecificHour(7), end: getTodayAtSpecificHour(12) },
  { start: getTodayAtSpecificHour(20), end: getTodayAtSpecificHour(24) }
]

class App extends React.Component {  
  state = {  
    error: false,  
    selectedInterval: [selectedStart, selectedEnd],  
  }
	
  errorHandler = ({ error }) => this.setState({ error })  

  onChangeCallback = selectedInterval => this.setState({ selectedInterval })  

  render() {  
    const { selectedInterval, error } = this.state  
      return (  
        <TimeRange
          error={error}  
          ticksNumber={36}  
          selectedInterval={selectedInterval}  
          timelineInterval={[startTime, endTime]}  
          onUpdateCallback={this.errorHandler}  
          onChangeCallback={this.onChangeCallback}
          disabledIntervals={disabledIntervals}  
        />
      )  
  }  
}  

export default App

Keywords

FAQs

Last updated on 08 Apr 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc