Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* eslint-disable react/no-unused-prop-types */
  2. import React from 'react';
  3. import DayPicker, { DateUtils } from 'react-day-picker';
  4. import 'react-day-picker/lib/style.css';
  5. import Hammer from 'hammerjs';
  6.  
  7. class MultipleDayPicker extends React.Component {
  8.     constructor(props) {
  9.         super(props);
  10.  
  11.         this.handleDayClick = this.handleDayClick.bind(this);
  12.         this.state = {
  13.             selectedDays: [],
  14.         };
  15.     }
  16.  
  17.     componentDidMount() {
  18.         this.enableSwipe();
  19.     }
  20.  
  21.     enableSwipe() {
  22.         console.log(this);
  23.  
  24.         const HammerCard = new Hammer(this.refs.MultipleDatePicker, {});
  25.  
  26.         HammerCard.on('swipe', (event) => {
  27.             console.log('SwipeEvent', event);
  28.         });
  29.  
  30.         HammerCard.get('swipe').set({
  31.             enable: true,
  32.             direction: Hammer.DIRECTION_HORIZONTAL
  33.         });
  34.     }
  35.  
  36.     handleDayClick(day, { selected }) {
  37.         const { selectedDays } = this.state;
  38.         if (selected) {
  39.             const selectedIndex = selectedDays.findIndex(selectedDay =>
  40.                 DateUtils.isSameDay(selectedDay, day)
  41.             );
  42.             selectedDays.splice(selectedIndex, 1);
  43.         } else {
  44.             selectedDays.push(day);
  45.         }
  46.         this.setState({ selectedDays });
  47.     }
  48.  
  49.     render() {
  50.         return (
  51.             <div id="multiple-day-picker-wrapper" ref="MultipleDatePicker">
  52.                 <DayPicker
  53.                     selectedDays={this.state.selectedDays}
  54.                     onDayClick={this.handleDayClick}
  55.                 />
  56.             </div>
  57.         );
  58.     }
  59. }
  60. export default MultipleDayPicker;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement