wix-style-react
Version:
wix-style-react
67 lines (47 loc) • 1.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _range = require('../../utils/operators/range');
var _range2 = _interopRequireDefault(_range);
var _set_year = require('date-fns/set_year');
var _set_year2 = _interopRequireDefault(_set_year);
var _DatePickerDropdown = require('../DatePickerDropdown');
var _DatePickerDropdown2 = _interopRequireDefault(_DatePickerDropdown);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var optionsOf = function optionsOf(items) {
return items.map(function (item, index) {
return { value: item, id: index };
});
};
var YearDropdown = function YearDropdown(_ref) {
var date = _ref.date,
_onChange = _ref.onChange;
var year = date.getFullYear();
var lowerLimit = 1899,
upperLimit = 2028;
var years = optionsOf((0, _range2.default)(year > upperLimit ? year : upperLimit, lowerLimit));
var selectedYear = years.find(function (_ref2) {
var value = _ref2.value;
return value === year;
});
return _react2.default.createElement(_DatePickerDropdown2.default, {
dataHook: 'datepicker-year-dropdown',
caption: selectedYear.value,
options: years,
selectedId: selectedYear.id,
onChange: function onChange(_ref3) {
var value = _ref3.value;
return _onChange((0, _set_year2.default)(date, value));
}
});
};
YearDropdown.propTypes = {
date: _propTypes2.default.object.isRequired,
onChange: _propTypes2.default.func.isRequired
};
exports.default = YearDropdown;