UNPKG

quiz-interactions

Version:

A React UI component Library for quiz interaction types.

172 lines (138 loc) 5.03 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 = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _quizI18n = require("@instructure/quiz-i18n"); var _uiLayout = require("@instructure/ui-layout"); var _quizNumberInput = require("@instructure/quiz-number-input"); var _NumericTypeSelect = _interopRequireDefault(require("./NumericTypeSelect")); var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/lib/format-message")); var _constants = require("./constants"); var WithinARange = /*#__PURE__*/ function (_Component) { (0, _inherits2.default)(WithinARange, _Component); function WithinARange() { var _getPrototypeOf2; var _this; (0, _classCallCheck2.default)(this, WithinARange); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(WithinARange)).call.apply(_getPrototypeOf2, [this].concat(args))); _this.state = { start: '', end: '', onClickHelp: null }; _this.handleStartChange = function (event, value, normalized) { _this.setState({ start: value }); _this.props.onChange(event, { id: _this.props.id, start: normalized }); }; _this.handleEndChange = function (event, value, normalized) { _this.setState({ end: value }); _this.props.onChange(event, { id: _this.props.id, end: normalized }); }; return _this; } (0, _createClass2.default)(WithinARange, [{ key: "componentWillMount", value: function componentWillMount() { if (this.props.start) { var start; try { start = _quizI18n.Decimal.toLocaleString(this.props.start, this.props.locale); } catch (e) { start = this.props.start; } this.setState({ start: start }); } if (this.props.end) { var end; try { end = _quizI18n.Decimal.toLocaleString(this.props.end, this.props.locale); } catch (e) { end = this.props.end; } this.setState({ end: end }); } } }, { key: "render", value: function render() { return _react.default.createElement(_uiLayout.Flex, { alignItems: "start" }, _react.default.createElement(_uiLayout.Flex.Item, { grow: true, shrink: true, margin: "0 xx-small" }, _react.default.createElement(_NumericTypeSelect.default, { id: this.props.id, onChange: this.props.onChangeType, onClickHelp: this.props.onClickHelp, value: _constants.WITHIN_A_RANGE })), _react.default.createElement(_uiLayout.Flex.Item, { grow: true, shrink: true, margin: "0 xx-small" }, _react.default.createElement(_quizNumberInput.ScientificNumberInput, { label: (0, _formatMessage.default)('Range start'), messages: this.props.messages.start, onChange: this.handleStartChange, value: this.state.start })), _react.default.createElement(_uiLayout.Flex.Item, { grow: true, shrink: true, margin: "0 xx-small" }, _react.default.createElement(_quizNumberInput.ScientificNumberInput, { label: (0, _formatMessage.default)('Range end'), messages: this.props.messages.end, onChange: this.handleEndChange, value: this.state.end }))); } }]); WithinARange.displayName = "WithinARange"; return WithinARange; }(_react.Component); exports.default = WithinARange; WithinARange.propTypes = { end: _propTypes.default.string, id: _propTypes.default.string.isRequired, locale: _propTypes.default.string.isRequired, messages: _propTypes.default.objectOf(_propTypes.default.array), onChange: _propTypes.default.func.isRequired, onChangeType: _propTypes.default.func.isRequired, onClickHelp: _propTypes.default.func, start: _propTypes.default.string }; WithinARange.defaultProps = { end: void 0, messages: void 0, onClickHelp: void 0, start: void 0 };