Guest User

Untitled

a guest
Jan 23rd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. import React from "react";
  2. import styled from "styled-components";
  3.  
  4. import "react-dates/initialize";
  5. import "react-dates/lib/css/_datepicker.css";
  6.  
  7. import { DayPickerRangeController } from "react-dates";
  8.  
  9. const Button = styled.button`
  10. border-radius: 4px;
  11. border: 1px solid rgba(72, 72, 72, 0.2);
  12. font-family: Circular, Helvetica Neue, Helvetica, Arial, sans-serif;
  13. padding: 7px 16px;
  14. font-size: 14px;
  15. color: #383838;
  16. background: transparent;
  17. cursor: pointer;
  18. `;
  19.  
  20. export default class DatePicker extends React.Component {
  21. state = {
  22. startDate: null,
  23. endDate: null,
  24. isOpen: false
  25. };
  26.  
  27. close = () => {
  28. this.setState({ isOpen: false });
  29. };
  30.  
  31. saveDates = () => {
  32. this.props.onDatesSave(this.state.startDate, this.state.endDate);
  33. this.close();
  34. };
  35.  
  36. onDatesChange = ({ startDate, endDate }) => {
  37. this.setState({ startDate, endDate });
  38. };
  39.  
  40. datePickerToggle = () => {
  41. this.setState(prevState => ({ isOpen: !prevState.isOpen }));
  42. };
  43.  
  44. reset = () => {
  45. this.setState({ startDate: null, endDate: null });
  46. };
  47.  
  48. render() {
  49. return (
  50. <div>
  51. <Button onClick={this.datePickerToggle} highlighted={this.state.isOpen}>
  52. Dates
  53. </Button>
  54. {this.state.isOpen && (
  55. <DayPickerRangeController
  56. startDate={this.state.startDate}
  57. endDate={this.state.endDate}
  58. onDatesChange={this.onDatesChange}
  59. />
  60. )}
  61. </div>
  62. );
  63. }
  64. }
Add Comment
Please, Sign In to add comment