From c21f9ad81360e11d607080f568d94f1962429b54 Mon Sep 17 00:00:00 2001 From: wiadev Date: Wed, 17 Jan 2018 07:19:56 -0600 Subject: [PATCH] Create TetheredDateTime component #1387 - Update Datepicker to use TetheredDateTime --- package.json | 1 + src/assets/css/datetime.css | 12 +++- src/components/widget/DatePicker.js | 4 +- src/components/widget/TetheredDateTime.js | 69 +++++++++++++++++++++++ 4 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 src/components/widget/TetheredDateTime.js diff --git a/package.json b/package.json index 5fdd99390..faf2bf8ff 100644 --- a/package.json +++ b/package.json @@ -85,6 +85,7 @@ "react-router": "^3.2.0", "react-router-redux": "^4.0.8", "react-tagsinput": "~3.18.0", + "react-tether": "^0.6.0", "react-translate-component": "~0.14.0", "redux": "~3.7.2", "redux-thunk": "~2.2.0", diff --git a/src/assets/css/datetime.css b/src/assets/css/datetime.css index 1cf90ad94..6a88b458d 100644 --- a/src/assets/css/datetime.css +++ b/src/assets/css/datetime.css @@ -23,8 +23,8 @@ } .rdtPicker { - display: none; - position: absolute; + display: block; + position: static; width: 260px; padding: 0; margin-top: 3px; @@ -230,3 +230,11 @@ td.rdtYear:hover { .rdtDayPart { margin-top: 43px; } + +.tether-element { + z-index: 9; +} + +.tether-out-of-bounds-top .rdtPicker { + visibility: hidden; +} diff --git a/src/components/widget/DatePicker.js b/src/components/widget/DatePicker.js index 2493671c3..1d8a0d876 100644 --- a/src/components/widget/DatePicker.js +++ b/src/components/widget/DatePicker.js @@ -2,7 +2,7 @@ import PropTypes from "prop-types"; import React, { Component } from "react"; import Datetime from "react-datetime"; import { connect } from "react-redux"; - +import TetheredDateTime from "./TetheredDateTime"; import { addNotification } from "../../actions/AppActions"; const propTypes = { @@ -89,7 +89,7 @@ class DatePicker extends Component { render() { return (
- {this.props.renderInput(props, this.openCalendar)}
+ ]; + } else { + children = []; + } + } else { + className += " rdtStatic"; + } + + return ( +
+ + {children} + {open && ( +
+ +
+ )} +
+
+ ); + } +}