Skip to content

Instantly share code, notes, and snippets.

@ashinzekene
Last active May 2, 2020 09:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ashinzekene/8032d6e44fa65cb9b7bc3e899c7f5b7e to your computer and use it in GitHub Desktop.
Save ashinzekene/8032d6e44fa65cb9b7bc3e899c7f5b7e to your computer and use it in GitHub Desktop.
import React from "react";
import PropTypes from "prop-types";
export const CustomDatePicker = ({
showIcon, placeholderText, endDate, minDate, maxDate, dateFormat, selected, onChange, monthDropdown, yearDropdown
}) => {
const [dateLoaded, setDateLoaded] = useState(false);
const importDynamic = async () => {
import ("react-datepicker/dist/react-datepicker.css");
import("./_custom-date-picker.scss");
const datePicker = await import("react-datepicker");
DatePicker = datePicker.default;
setDateLoaded(true);
};
useEffect(() => {
retryPromise(importDynamic, 2000);
}, []);
return (
<div
className={showIcon ? "custom-date-picker custom-date-picker--show-icon" : "custom-date-picker"}
>
{
dateLoaded ?
<DatePicker
showMonthDropdown={monthDropdown}
showYearDropdown={yearDropdown}
placeholderText={placeholderText}
endDate={endDate}
dateFormat={dateFormat}
selected={selected}
minDate={minDate}
maxDate={maxDate}
onChange={onChange}
/>
: <p style={{ fontSize: "9px" }}>loading...</p>
}
</div>
);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment