UNPKG

material-ui-pickers-fork

Version:

React components, that implements material design pickers for material-ui v1

152 lines (119 loc) 4.54 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.TimePickerView = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _Clock = _interopRequireDefault(require("./Clock")); var clockType = _interopRequireWildcard(require("../constants/clock-types")); var _WithUtils = _interopRequireDefault(require("../_shared/WithUtils")); var _ClockNumbers = require("./ClockNumbers"); var TimePickerView = /*#__PURE__*/ function (_PureComponent) { (0, _inheritsLoose2.default)(TimePickerView, _PureComponent); function TimePickerView() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _PureComponent.call.apply(_PureComponent, [this].concat(args)) || this; _this.getViewProps = function () { var _this$props = _this.props, type = _this$props.type, ampm = _this$props.ampm, date = _this$props.date, utils = _this$props.utils; switch (type) { case clockType.HOURS: return { value: utils.getHours(date), children: (0, _ClockNumbers.getHourNumbers)({ date: date, ampm: ampm, utils: utils }), onChange: _this.handleHourChange }; case clockType.MINUTES: var minutesValue = utils.getMinutes(date); return { value: minutesValue, children: (0, _ClockNumbers.getMinutesNumbers)({ value: minutesValue, utils: utils }), onChange: _this.handleMinutesChange }; case clockType.SECONDS: var secondsValue = utils.getSeconds(date); return { value: secondsValue, children: (0, _ClockNumbers.getMinutesNumbers)({ value: secondsValue, utils: utils }), onChange: _this.handleSecondsChange }; default: throw new Error('You must provide the type for TimePickerView'); } }; _this.handleHourChange = function (hours, isFinish) { var _this$props2 = _this.props, date = _this$props2.date, utils = _this$props2.utils; var updatedTime = utils.setHours(date, hours); _this.props.onHourChange(updatedTime, isFinish); }; _this.handleMinutesChange = function (minutes, isFinish) { var _this$props3 = _this.props, date = _this$props3.date, utils = _this$props3.utils; var updatedTime = utils.setMinutes(date, minutes); _this.props.onMinutesChange(updatedTime, isFinish); }; _this.handleSecondsChange = function (seconds, isFinish) { var _this$props4 = _this.props, date = _this$props4.date, utils = _this$props4.utils; var updatedTime = utils.setSeconds(date, seconds); _this.props.onSecondsChange(updatedTime, isFinish); }; return _this; } var _proto = TimePickerView.prototype; _proto.render = function render() { var _this$props5 = this.props, ampm = _this$props5.ampm, type = _this$props5.type; var viewProps = this.getViewProps(); return _react.default.createElement(_Clock.default, (0, _extends2.default)({ type: type, ampm: ampm }, viewProps)); }; return TimePickerView; }(_react.PureComponent); exports.TimePickerView = TimePickerView; TimePickerView.propTypes = { date: _propTypes.default.object.isRequired, onHourChange: _propTypes.default.func.isRequired, onMinutesChange: _propTypes.default.func.isRequired, onSecondsChange: _propTypes.default.func.isRequired, utils: _propTypes.default.object.isRequired, ampm: _propTypes.default.bool, type: _propTypes.default.oneOf(Object.keys(clockType).map(function (key) { return clockType[key]; })).isRequired }; TimePickerView.defaultProps = { ampm: true }; var _default = (0, _WithUtils.default)()(TimePickerView); exports.default = _default;