ssc-grid
Version:
React grid component for SSC 3.0
67 lines (47 loc) • 2.08 kB
JavaScript
;
exports.__esModule = true;
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
exports['default'] = NumberPicker;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _lodash = require('lodash.range');
var _lodash2 = _interopRequireDefault(_lodash);
var _Picker = require('./Picker');
var _Picker2 = _interopRequireDefault(_Picker);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
// Copy from https://github.com/hnordt/react-number-picker/blob/master/index.babel.js
function NumberPicker(_ref) {
var min = _ref.min,
max = _ref.max,
step = _ref.step,
reverse = _ref.reverse,
other = (0, _objectWithoutProperties3['default'])(_ref, ['min', 'max', 'step', 'reverse']);
var options = (0, _lodash2['default'])(min, max + 1, step);
if (reverse) {
options.reverse();
}
return _react2['default'].createElement(_Picker2['default'], (0, _extends3['default'])({}, other, {
options: options.map(function (value) {
return { label: value, value: value };
})
}));
}
NumberPicker.propTypes = {
className: _propTypes2['default'].string,
optionsPerRow: _propTypes2['default'].number,
value: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].number]),
min: _propTypes2['default'].number.isRequired,
max: _propTypes2['default'].number.isRequired,
step: _propTypes2['default'].number,
reverse: _propTypes2['default'].bool,
renderHeader: _propTypes2['default'].func,
renderOption: _propTypes2['default'].func,
onChange: _propTypes2['default'].func
};
NumberPicker.defaultProps = _Picker2['default'].defaultProps;
module.exports = exports['default'];