UNPKG

phoenix-components-library

Version:

Component library for Phoenix Frontend Projects.

74 lines (63 loc) 1.57 kB
import React from "react"; import PropTypes from "prop-types"; import moment from "moment"; import { DatePicker } from "antd"; import "./Datepicker-antd.css"; import "./Datepicker.css"; const propTypes = { onDatepickerChange: PropTypes.func, onDatepickerOkClick: PropTypes.func, placeholder: PropTypes.string, format: PropTypes.string, defaultValue: PropTypes.instanceOf(Date), showTime: PropTypes.bool, disabled: PropTypes.bool }; const defaultProps = { onDatepickerChange: () => {}, onDatepickerOkClick: () => {}, placeholder: "Placeholder", format: "YYYY-MM-DD", defaultValue: null, showTime: false, disabled: false }; const Datepicker = props => { const { showTime, format, placeholder, onDatepickerChange, onDatepickerOkClick, defaultValue, disabled } = props; const onDateChange = (momentDate, dateString) => { onDatepickerChange(momentDate.toDate(), dateString); }; const onOkClick = momentDate => { onDatepickerOkClick(momentDate.toDate()); }; const getDefaultValue = () => { if (!props.defaultValue) { return {}; } return { defaultValue: moment(defaultValue) }; }; return ( <div className="es-datepicker"> <DatePicker showTime={showTime} format={format} placeholder={placeholder} onChange={onDateChange} onOk={onOkClick} disabled={disabled} {...getDefaultValue()} /> </div> ); }; Datepicker.propTypes = propTypes; Datepicker.defaultProps = defaultProps; export { Datepicker };