UNPKG

material-ui-arabic-datepicker

Version:

React components, that implements material design date and time pickers for material-ui v1 including a customized Datepicker with arabic header, months and weekdays and English numbers, modfied implementation from materail-ui-pickers

189 lines (153 loc) 6.75 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.DatePickerWrapper = undefined; var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties'); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _ModalWrapper = require('../wrappers/ModalWrapper'); var _ModalWrapper2 = _interopRequireDefault(_ModalWrapper); var _DatePicker = require('./DatePicker'); var _DatePicker2 = _interopRequireDefault(_DatePicker); var _propTypes3 = require('../constants/prop-types'); var _propTypes4 = _interopRequireDefault(_propTypes3); var _PickerBase2 = require('../_shared/PickerBase'); var _PickerBase3 = _interopRequireDefault(_PickerBase2); var _WithUtils = require('../_shared/WithUtils'); var _WithUtils2 = _interopRequireDefault(_WithUtils); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var DatePickerWrapper = exports.DatePickerWrapper = function (_PickerBase) { (0, _inherits3.default)(DatePickerWrapper, _PickerBase); function DatePickerWrapper() { (0, _classCallCheck3.default)(this, DatePickerWrapper); return (0, _possibleConstructorReturn3.default)(this, (DatePickerWrapper.__proto__ || (0, _getPrototypeOf2.default)(DatePickerWrapper)).apply(this, arguments)); } (0, _createClass3.default)(DatePickerWrapper, [{ key: 'render', value: function render() { var date = this.state.date; var _props = this.props, value = _props.value, format = _props.format, autoOk = _props.autoOk, onChange = _props.onChange, animateYearScrolling = _props.animateYearScrolling, openToYearSelection = _props.openToYearSelection, leftArrowIcon = _props.leftArrowIcon, rightArrowIcon = _props.rightArrowIcon, renderDay = _props.renderDay, labelFunc = _props.labelFunc, utils = _props.utils, shouldDisableDate = _props.shouldDisableDate, minDateMessage = _props.minDateMessage, maxDateMessage = _props.maxDateMessage, minDate = _props.minDate, maxDate = _props.maxDate, disablePast = _props.disablePast, disableFuture = _props.disableFuture, other = (0, _objectWithoutProperties3.default)(_props, ['value', 'format', 'autoOk', 'onChange', 'animateYearScrolling', 'openToYearSelection', 'leftArrowIcon', 'rightArrowIcon', 'renderDay', 'labelFunc', 'utils', 'shouldDisableDate', 'minDateMessage', 'maxDateMessage', 'minDate', 'maxDate', 'disablePast', 'disableFuture']); return _react2.default.createElement( _ModalWrapper2.default, (0, _extends3.default)({ ref: this.getRef, value: value, format: format, onClear: this.handleClear, onAccept: this.handleAccept, onChange: this.handleTextFieldChange, onDismiss: this.handleDismiss, onSetToday: this.handleSetTodayDate, labelFunc: labelFunc, minDate: minDate, maxDate: maxDate, disablePast: disablePast, disableFuture: disableFuture, minDateMessage: minDateMessage, maxDateMessage: maxDateMessage }, other), _react2.default.createElement(_DatePicker2.default, { date: date, onChange: this.handleChange, animateYearScrolling: animateYearScrolling, openToYearSelection: openToYearSelection, leftArrowIcon: leftArrowIcon, rightArrowIcon: rightArrowIcon, renderDay: renderDay, utils: utils, minDate: minDate, maxDate: maxDate, disablePast: disablePast, disableFuture: disableFuture, shouldDisableDate: shouldDisableDate }) ); } }]); return DatePickerWrapper; }(_PickerBase3.default); DatePickerWrapper.propTypes = { utils: _propTypes2.default.object.isRequired, /** Datepicker value */ value: _propTypes4.default.date, /** Min selectable date */ minDate: _propTypes4.default.date, /** Max selectable date */ maxDate: _propTypes4.default.date, /** Date format string for input */ format: _propTypes2.default.string, /** Callback firing when date accepted */ onChange: _propTypes2.default.func.isRequired, /** Auto accept date on selection */ autoOk: _propTypes2.default.bool, /** Disable past dates */ disablePast: _propTypes2.default.bool, /** Disable future dates */ disableFuture: _propTypes2.default.bool, /** To animate scrolling to current year (with scrollIntoView) */ animateYearScrolling: _propTypes2.default.bool, /** Open datepicker from year selection */ openToYearSelection: _propTypes2.default.bool, /** Allow to specify dynamic label for text field labelFunc(date, invalidLabel) */ labelFunc: _propTypes2.default.func, /** Left arrow icon */ leftArrowIcon: _propTypes2.default.node, /** Right arrow icon */ rightArrowIcon: _propTypes2.default.node, /** Custom renderer for day renderDay(date, selectedDate, dayInCurrentMonth) */ renderDay: _propTypes2.default.func, /** Disable specific date */ shouldDisableDate: _propTypes2.default.func }; DatePickerWrapper.defaultProps = { value: new Date(), format: 'DD/MM/YYYY', autoOk: false, minDate: '1900-01-01', maxDate: '2100-01-01', disableFuture: false, disablePast: false, animateYearScrolling: false, openToYearSelection: false, leftArrowIcon: 'keyboard_arrow_left', rightArrowIcon: 'keyboard_arrow_right', renderDay: undefined, labelFunc: undefined, shouldDisableDate: undefined }; exports.default = (0, _WithUtils2.default)()(DatePickerWrapper);