UNPKG

@instructure/quiz-interactions

Version:

A React UI component Library for quiz interaction types.

112 lines (108 loc) 3.71 kB
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck"; import _createClass from "@babel/runtime/helpers/esm/createClass"; import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf"; import _inherits from "@babel/runtime/helpers/esm/inherits"; import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; function _callSuper(_this, derived, args) { function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { return !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (e) { return false; } } derived = _getPrototypeOf(derived); return _possibleConstructorReturn(_this, isNativeReflectConstruct() ? Reflect.construct(derived, args || [], _getPrototypeOf(_this).constructor) : derived.apply(_this, args)); } /** @jsx jsx */ import { Component } from 'react'; import PropTypes from 'prop-types'; import { jsx } from '@instructure/emotion'; import { ItemBodyWrapper } from '@instructure/quiz-rce'; import ChoiceBody from '../components/ChoiceBody'; /** --- category: TrueFalse --- True False Take component ```jsx_example function Example (props) { const exampleProps = { itemBody: 'The sun is a star', interactionData: { trueChoice: 'True', falseChoice: 'False' }, userResponse: {} } return ( <TrueFalseTake {...exampleProps} {...props} /> ) } <SettingsSwitcher locales={LOCALES}> <TakeStateProvider> <Example /> </TakeStateProvider> </SettingsSwitcher> ``` **/ var TrueFalseTake = /*#__PURE__*/function (_Component) { function TrueFalseTake() { var _this2; _classCallCheck(this, TrueFalseTake); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this2 = _callSuper(this, TrueFalseTake, [].concat(args)); _defineProperty(_this2, "handleSelectionUpdate", function (event, response) { _this2.props.handleResponseUpdate(response === 'trueChoice'); }); return _this2; } _inherits(TrueFalseTake, _Component); return _createClass(TrueFalseTake, [{ key: "chosenVal", value: function chosenVal() { var userResponse = this.props.userResponse; if (userResponse && userResponse.value !== void 0) { return userResponse.value ? 'trueChoice' : 'falseChoice'; } } }, { key: "render", value: function render() { return jsx(ItemBodyWrapper, null, jsx("div", { className: "fs-mask" }, jsx(ChoiceBody, { selectedValue: this.chosenVal(), falseChoiceLabel: this.props.interactionData.falseChoice, name: "interaction_".concat(this.props.itemId), onSelectionUpdate: this.handleSelectionUpdate, trueChoiceLabel: this.props.interactionData.trueChoice, itemBody: this.props.itemBody }))); } }]); }(Component); _defineProperty(TrueFalseTake, "propTypes", { handleResponseUpdate: PropTypes.func.isRequired, itemBody: PropTypes.string.isRequired, interactionData: PropTypes.shape({ trueChoice: PropTypes.string, falseChoice: PropTypes.string }).isRequired, userResponse: PropTypes.shape({ value: PropTypes.bool }), itemId: PropTypes.string, styles: PropTypes.object }); _defineProperty(TrueFalseTake, "defaultProps", { userResponse: void 0, itemId: void 0 }); export { TrueFalseTake as default };