@pie-element/math-inline 6.5.1-beta.1 → 6.5.1-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/lib/configure.js +214 -0
- package/configure/lib/configure.js.map +1 -0
- package/configure/lib/defaults.js +115 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/general-config-block.js +564 -0
- package/configure/lib/general-config-block.js.map +1 -0
- package/configure/lib/index.js +131 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/response.js +389 -0
- package/configure/lib/response.js.map +1 -0
- package/configure/lib/utils.js +25 -0
- package/configure/lib/utils.js.map +1 -0
- package/configure/package.json +3 -3
- package/controller/lib/defaults.js +33 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +330 -0
- package/controller/lib/index.js.map +1 -0
- package/controller/lib/utils.js +12 -0
- package/controller/lib/utils.js.map +1 -0
- package/lib/index.js +98 -0
- package/lib/index.js.map +1 -0
- package/lib/main.js +751 -0
- package/lib/main.js.map +1 -0
- package/lib/print.js +105 -0
- package/lib/print.js.map +1 -0
- package/lib/simple-question-block.js +169 -0
- package/lib/simple-question-block.js.map +1 -0
- package/lib/utils.js +12 -0
- package/lib/utils.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
11
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var _react = _interopRequireDefault(require("react"));
|
|
16
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
17
|
+
var _configure = _interopRequireDefault(require("./configure"));
|
|
18
|
+
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
19
|
+
var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
|
|
20
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
21
|
+
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
25
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
26
|
+
var log = (0, _debug["default"])('pie-elements:math-inline:configure');
|
|
27
|
+
var MathInlineConfigure = /*#__PURE__*/function (_HTMLElement) {
|
|
28
|
+
(0, _inherits2["default"])(MathInlineConfigure, _HTMLElement);
|
|
29
|
+
var _super = _createSuper(MathInlineConfigure);
|
|
30
|
+
function MathInlineConfigure() {
|
|
31
|
+
var _this;
|
|
32
|
+
(0, _classCallCheck2["default"])(this, MathInlineConfigure);
|
|
33
|
+
_this = _super.call(this);
|
|
34
|
+
_this._model = MathInlineConfigure.createDefaultModel();
|
|
35
|
+
_this._configuration = _defaults["default"].configuration;
|
|
36
|
+
return _this;
|
|
37
|
+
}
|
|
38
|
+
(0, _createClass2["default"])(MathInlineConfigure, [{
|
|
39
|
+
key: "model",
|
|
40
|
+
set: function set(m) {
|
|
41
|
+
this._model = MathInlineConfigure.createDefaultModel(m);
|
|
42
|
+
this._render();
|
|
43
|
+
}
|
|
44
|
+
}, {
|
|
45
|
+
key: "configuration",
|
|
46
|
+
set: function set(c) {
|
|
47
|
+
this._configuration = c;
|
|
48
|
+
this._render();
|
|
49
|
+
}
|
|
50
|
+
}, {
|
|
51
|
+
key: "onModelChanged",
|
|
52
|
+
value: function onModelChanged(model) {
|
|
53
|
+
this._model = model;
|
|
54
|
+
log('[onModelChanged]: ', this._model);
|
|
55
|
+
this._render();
|
|
56
|
+
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model));
|
|
57
|
+
}
|
|
58
|
+
}, {
|
|
59
|
+
key: "onConfigurationChanged",
|
|
60
|
+
value: function onConfigurationChanged(c) {
|
|
61
|
+
this._configuration = c;
|
|
62
|
+
if (this._model) {
|
|
63
|
+
this.onModelChanged(this._model);
|
|
64
|
+
}
|
|
65
|
+
this._render();
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
*
|
|
70
|
+
* @param {done, progress, file} handler
|
|
71
|
+
*/
|
|
72
|
+
}, {
|
|
73
|
+
key: "insertImage",
|
|
74
|
+
value: function insertImage(handler) {
|
|
75
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
|
|
76
|
+
}
|
|
77
|
+
}, {
|
|
78
|
+
key: "onDeleteImage",
|
|
79
|
+
value: function onDeleteImage(src, done) {
|
|
80
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
|
|
81
|
+
}
|
|
82
|
+
}, {
|
|
83
|
+
key: "insertSound",
|
|
84
|
+
value: function insertSound(handler) {
|
|
85
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
86
|
+
}
|
|
87
|
+
}, {
|
|
88
|
+
key: "onDeleteSound",
|
|
89
|
+
value: function onDeleteSound(src, done) {
|
|
90
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
|
|
91
|
+
}
|
|
92
|
+
}, {
|
|
93
|
+
key: "_render",
|
|
94
|
+
value: function _render() {
|
|
95
|
+
if (this._model) {
|
|
96
|
+
var el = /*#__PURE__*/_react["default"].createElement(_configure["default"], {
|
|
97
|
+
onModelChanged: this.onModelChanged.bind(this),
|
|
98
|
+
onConfigurationChanged: this.onConfigurationChanged.bind(this),
|
|
99
|
+
model: this._model,
|
|
100
|
+
configuration: this._configuration,
|
|
101
|
+
imageSupport: {
|
|
102
|
+
add: this.insertImage.bind(this),
|
|
103
|
+
"delete": this.onDeleteImage.bind(this)
|
|
104
|
+
},
|
|
105
|
+
uploadSoundSupport: {
|
|
106
|
+
add: this.insertSound.bind(this),
|
|
107
|
+
"delete": this.onDeleteSound.bind(this)
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
_reactDom["default"].render(el, this);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}]);
|
|
114
|
+
return MathInlineConfigure;
|
|
115
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
116
|
+
exports["default"] = MathInlineConfigure;
|
|
117
|
+
(0, _defineProperty2["default"])(MathInlineConfigure, "createDefaultModel", function () {
|
|
118
|
+
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
119
|
+
// making sure that defaults are set
|
|
120
|
+
if (!(0, _isEmpty["default"])(model.responses)) {
|
|
121
|
+
model.responses = model.responses.map(function (correctResponse) {
|
|
122
|
+
return _objectSpread(_objectSpread({}, correctResponse), {}, {
|
|
123
|
+
validation: correctResponse.validation || _defaults["default"].model.validationDefault,
|
|
124
|
+
allowTrailingZeros: correctResponse.allowTrailingZeros || _defaults["default"].model.allowTrailingZerosDefault,
|
|
125
|
+
ignoreOrder: correctResponse.ignoreOrder || _defaults["default"].model.ignoreOrderDefault || false
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
return _objectSpread(_objectSpread({}, _defaults["default"].model), model);
|
|
130
|
+
});
|
|
131
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_reactDom","_configure","_isEmpty","_pieConfigureEvents","_debug","_defaults","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","MathInlineConfigure","_HTMLElement","_inherits2","_super","_this","_classCallCheck2","_model","createDefaultModel","_configuration","defaults","configuration","_createClass2","set","m","_render","c","value","onModelChanged","model","dispatchEvent","ModelUpdatedEvent","onConfigurationChanged","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","el","React","createElement","Configure","bind","imageSupport","add","uploadSoundSupport","ReactDOM","render","_wrapNativeSuper2","HTMLElement","exports","undefined","isEmpty","responses","map","correctResponse","validation","validationDefault","allowTrailingZeros","allowTrailingZerosDefault","ignoreOrder","ignoreOrderDefault"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Configure from './configure';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\n\nimport defaults from './defaults';\n\nconst log = debug('pie-elements:math-inline:configure');\n\nexport default class MathInlineConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n // making sure that defaults are set\n if (!isEmpty(model.responses)) {\n model.responses = model.responses.map((correctResponse) => ({\n ...correctResponse,\n validation: correctResponse.validation || defaults.model.validationDefault,\n allowTrailingZeros: correctResponse.allowTrailingZeros || defaults.model.allowTrailingZerosDefault,\n ignoreOrder: correctResponse.ignoreOrder || defaults.model.ignoreOrderDefault || false,\n }));\n }\n\n return { ...defaults.model, ...model };\n };\n\n constructor() {\n super();\n this._model = MathInlineConfigure.createDefaultModel();\n this._configuration = defaults.configuration;\n }\n\n set model(m) {\n this._model = MathInlineConfigure.createDefaultModel(m);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\n this._render();\n }\n\n onModelChanged(model) {\n this._model = model;\n log('[onModelChanged]: ', this._model);\n this._render();\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(el, this);\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
var React = _interopRequireWildcard(require("react"));
|
|
17
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
|
+
var _configUi = require("@pie-lib/config-ui");
|
|
19
|
+
var _mathToolbar = require("@pie-lib/math-toolbar");
|
|
20
|
+
var _Card = _interopRequireDefault(require("@material-ui/core/Card"));
|
|
21
|
+
var _CardContent = _interopRequireDefault(require("@material-ui/core/CardContent"));
|
|
22
|
+
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
23
|
+
var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
|
|
24
|
+
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
25
|
+
var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
|
|
26
|
+
var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
|
|
27
|
+
var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
|
|
28
|
+
var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
|
|
29
|
+
var _styles = require("@material-ui/core/styles");
|
|
30
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
31
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
32
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
34
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
35
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
36
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
37
|
+
// TODO once we support individual response correctness, we need to remove this constant
|
|
38
|
+
var INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED = false;
|
|
39
|
+
var styles = function styles(theme) {
|
|
40
|
+
return {
|
|
41
|
+
responseContainer: {
|
|
42
|
+
marginTop: theme.spacing.unit * 2,
|
|
43
|
+
width: '100%',
|
|
44
|
+
border: '1px solid darkgray',
|
|
45
|
+
display: 'flex',
|
|
46
|
+
flexDirection: 'column',
|
|
47
|
+
justifyContent: 'space-between'
|
|
48
|
+
},
|
|
49
|
+
cardContent: {
|
|
50
|
+
paddingBottom: "".concat(theme.spacing.unit, "px !important")
|
|
51
|
+
},
|
|
52
|
+
title: {
|
|
53
|
+
fontWeight: 700,
|
|
54
|
+
fontSize: '1.2rem',
|
|
55
|
+
flex: 3
|
|
56
|
+
},
|
|
57
|
+
selectContainer: {
|
|
58
|
+
flex: 2
|
|
59
|
+
},
|
|
60
|
+
inputContainer: {
|
|
61
|
+
marginTop: theme.spacing.unit
|
|
62
|
+
},
|
|
63
|
+
titleBar: {
|
|
64
|
+
display: 'flex',
|
|
65
|
+
alignItems: 'center',
|
|
66
|
+
justifyContent: 'space-between'
|
|
67
|
+
},
|
|
68
|
+
responseEditor: {
|
|
69
|
+
display: 'flex',
|
|
70
|
+
alignItems: 'center',
|
|
71
|
+
justifyContent: 'center',
|
|
72
|
+
width: '100%',
|
|
73
|
+
minWidth: '500px',
|
|
74
|
+
maxWidth: '900px',
|
|
75
|
+
height: 'auto',
|
|
76
|
+
minHeight: '40px'
|
|
77
|
+
},
|
|
78
|
+
mathToolbar: {
|
|
79
|
+
width: '100%'
|
|
80
|
+
},
|
|
81
|
+
configPanel: {
|
|
82
|
+
display: 'flex',
|
|
83
|
+
justifyContent: 'space-between',
|
|
84
|
+
alignItems: 'center'
|
|
85
|
+
},
|
|
86
|
+
alternateButton: {
|
|
87
|
+
border: '1px solid lightgrey'
|
|
88
|
+
},
|
|
89
|
+
removeAlternateButton: {
|
|
90
|
+
marginLeft: theme.spacing.unit * 2,
|
|
91
|
+
border: '1px solid lightgrey',
|
|
92
|
+
color: 'gray',
|
|
93
|
+
fontSize: '0.8rem'
|
|
94
|
+
},
|
|
95
|
+
checkboxContainer: {
|
|
96
|
+
marginTop: theme.spacing.unit * 2,
|
|
97
|
+
display: 'flex',
|
|
98
|
+
flexDirection: 'column',
|
|
99
|
+
alignItems: 'center'
|
|
100
|
+
},
|
|
101
|
+
configLabel: {
|
|
102
|
+
marginRight: 'auto'
|
|
103
|
+
},
|
|
104
|
+
errorText: {
|
|
105
|
+
fontSize: '12px',
|
|
106
|
+
color: 'red',
|
|
107
|
+
padding: '5px 0'
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
var Response = /*#__PURE__*/function (_React$Component) {
|
|
112
|
+
(0, _inherits2["default"])(Response, _React$Component);
|
|
113
|
+
var _super = _createSuper(Response);
|
|
114
|
+
function Response(props) {
|
|
115
|
+
var _this;
|
|
116
|
+
(0, _classCallCheck2["default"])(this, Response);
|
|
117
|
+
_this = _super.call(this, props);
|
|
118
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (name) {
|
|
119
|
+
return function (evt) {
|
|
120
|
+
var _this$props = _this.props,
|
|
121
|
+
response = _this$props.response,
|
|
122
|
+
onResponseChange = _this$props.onResponseChange,
|
|
123
|
+
index = _this$props.index;
|
|
124
|
+
var newResponse = _objectSpread({}, response);
|
|
125
|
+
newResponse[name] = evt.target.value;
|
|
126
|
+
onResponseChange(newResponse, index);
|
|
127
|
+
};
|
|
128
|
+
});
|
|
129
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigChanged", function (name) {
|
|
130
|
+
return function (evt) {
|
|
131
|
+
var _this$props2 = _this.props,
|
|
132
|
+
response = _this$props2.response,
|
|
133
|
+
onResponseChange = _this$props2.onResponseChange,
|
|
134
|
+
index = _this$props2.index;
|
|
135
|
+
var newResponse = _objectSpread({}, response);
|
|
136
|
+
newResponse[name] = evt.target.checked;
|
|
137
|
+
onResponseChange(newResponse, index);
|
|
138
|
+
};
|
|
139
|
+
});
|
|
140
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onLiteralOptionsChange", function (name) {
|
|
141
|
+
return function (evt) {
|
|
142
|
+
var _this$props3 = _this.props,
|
|
143
|
+
response = _this$props3.response,
|
|
144
|
+
onResponseChange = _this$props3.onResponseChange,
|
|
145
|
+
index = _this$props3.index;
|
|
146
|
+
var newResponse = _objectSpread({}, response);
|
|
147
|
+
newResponse[name] = !response[name];
|
|
148
|
+
onResponseChange(newResponse, index);
|
|
149
|
+
};
|
|
150
|
+
});
|
|
151
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAnswerChange", function (answer) {
|
|
152
|
+
var _this$props4 = _this.props,
|
|
153
|
+
response = _this$props4.response,
|
|
154
|
+
onResponseChange = _this$props4.onResponseChange,
|
|
155
|
+
index = _this$props4.index;
|
|
156
|
+
var newResponse = _objectSpread({}, response);
|
|
157
|
+
newResponse.answer = answer;
|
|
158
|
+
onResponseChange(newResponse, index);
|
|
159
|
+
});
|
|
160
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlternateAnswerChange", function (alternateId) {
|
|
161
|
+
return function (answer) {
|
|
162
|
+
var _this$props5 = _this.props,
|
|
163
|
+
response = _this$props5.response,
|
|
164
|
+
onResponseChange = _this$props5.onResponseChange,
|
|
165
|
+
index = _this$props5.index;
|
|
166
|
+
var newResponse = _objectSpread({}, response);
|
|
167
|
+
newResponse.alternates[alternateId] = answer;
|
|
168
|
+
onResponseChange(newResponse, index);
|
|
169
|
+
};
|
|
170
|
+
});
|
|
171
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAddAlternate", function () {
|
|
172
|
+
var _this$props6 = _this.props,
|
|
173
|
+
response = _this$props6.response,
|
|
174
|
+
onResponseChange = _this$props6.onResponseChange,
|
|
175
|
+
index = _this$props6.index;
|
|
176
|
+
var alternateIdCounter = _this.state.alternateIdCounter;
|
|
177
|
+
var newResponse = _objectSpread({}, response);
|
|
178
|
+
if (!newResponse.alternates) {
|
|
179
|
+
newResponse.alternates = {};
|
|
180
|
+
}
|
|
181
|
+
newResponse.alternates[alternateIdCounter] = '';
|
|
182
|
+
onResponseChange(newResponse, index);
|
|
183
|
+
_this.setState({
|
|
184
|
+
alternateIdCounter: alternateIdCounter + 1
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRemoveAlternate", function (alternateId) {
|
|
188
|
+
return function () {
|
|
189
|
+
var _this$props7 = _this.props,
|
|
190
|
+
response = _this$props7.response,
|
|
191
|
+
onResponseChange = _this$props7.onResponseChange,
|
|
192
|
+
index = _this$props7.index;
|
|
193
|
+
var newResponse = _objectSpread({}, response);
|
|
194
|
+
delete newResponse.alternates[alternateId];
|
|
195
|
+
onResponseChange(newResponse, index);
|
|
196
|
+
_this.setState(function (state) {
|
|
197
|
+
return {
|
|
198
|
+
showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, {
|
|
199
|
+
openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount : state.showKeypad.openCount - 1
|
|
200
|
+
})
|
|
201
|
+
};
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
});
|
|
205
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function () {
|
|
206
|
+
_this.setState(function (state) {
|
|
207
|
+
return {
|
|
208
|
+
showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, {
|
|
209
|
+
openCount: state.showKeypad.openCount - 1,
|
|
210
|
+
main: false
|
|
211
|
+
})
|
|
212
|
+
};
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFocus", function () {
|
|
216
|
+
_this.setState(function (state) {
|
|
217
|
+
return {
|
|
218
|
+
showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, {
|
|
219
|
+
openCount: !state.showKeypad.main ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,
|
|
220
|
+
main: true
|
|
221
|
+
})
|
|
222
|
+
};
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlternateFocus", function (alternateId) {
|
|
226
|
+
return function () {
|
|
227
|
+
_this.setState(function (state) {
|
|
228
|
+
return {
|
|
229
|
+
showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, (0, _defineProperty2["default"])({
|
|
230
|
+
openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount + 1 : state.showKeypad.openCount
|
|
231
|
+
}, alternateId, true))
|
|
232
|
+
};
|
|
233
|
+
});
|
|
234
|
+
};
|
|
235
|
+
});
|
|
236
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlternateDone", function (alternateId) {
|
|
237
|
+
return function () {
|
|
238
|
+
_this.setState(function (state) {
|
|
239
|
+
return {
|
|
240
|
+
showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, (0, _defineProperty2["default"])({
|
|
241
|
+
openCount: state.showKeypad.openCount - 1
|
|
242
|
+
}, alternateId, false))
|
|
243
|
+
};
|
|
244
|
+
});
|
|
245
|
+
};
|
|
246
|
+
});
|
|
247
|
+
var _ref = props || {},
|
|
248
|
+
_ref$response = _ref.response,
|
|
249
|
+
_ref$response2 = _ref$response === void 0 ? {} : _ref$response,
|
|
250
|
+
alternates = _ref$response2.alternates;
|
|
251
|
+
var alternatesLength = Object.keys(alternates || {}).length;
|
|
252
|
+
_this.state = {
|
|
253
|
+
alternateIdCounter: alternatesLength + 1,
|
|
254
|
+
showKeypad: {
|
|
255
|
+
openCount: 0,
|
|
256
|
+
main: false
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
return _this;
|
|
260
|
+
}
|
|
261
|
+
(0, _createClass2["default"])(Response, [{
|
|
262
|
+
key: "render",
|
|
263
|
+
value: function render() {
|
|
264
|
+
var _this2 = this;
|
|
265
|
+
var _this$props8 = this.props,
|
|
266
|
+
classes = _this$props8.classes,
|
|
267
|
+
mode = _this$props8.mode,
|
|
268
|
+
defaultResponse = _this$props8.defaultResponse,
|
|
269
|
+
index = _this$props8.index,
|
|
270
|
+
response = _this$props8.response,
|
|
271
|
+
cAllowTrailingZeros = _this$props8.cAllowTrailingZeros,
|
|
272
|
+
cIgnoreOrder = _this$props8.cIgnoreOrder,
|
|
273
|
+
error = _this$props8.error;
|
|
274
|
+
var showKeypad = this.state.showKeypad;
|
|
275
|
+
var validation = response.validation,
|
|
276
|
+
answer = response.answer,
|
|
277
|
+
alternates = response.alternates,
|
|
278
|
+
ignoreOrder = response.ignoreOrder,
|
|
279
|
+
allowTrailingZeros = response.allowTrailingZeros;
|
|
280
|
+
var hasAlternates = Object.keys(alternates || {}).length > 0;
|
|
281
|
+
var classNames = {
|
|
282
|
+
editor: classes.responseEditor,
|
|
283
|
+
mathToolbar: classes.mathToolbar
|
|
284
|
+
};
|
|
285
|
+
var styles = {
|
|
286
|
+
minHeight: "".concat(showKeypad.openCount > 0 ? 430 : 230, "px")
|
|
287
|
+
};
|
|
288
|
+
return /*#__PURE__*/React.createElement(_Card["default"], {
|
|
289
|
+
className: classes.responseContainer,
|
|
290
|
+
style: styles
|
|
291
|
+
}, /*#__PURE__*/React.createElement(_CardContent["default"], {
|
|
292
|
+
className: classes.cardContent
|
|
293
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
294
|
+
className: classes.titleBar
|
|
295
|
+
}, /*#__PURE__*/React.createElement(_Typography["default"], {
|
|
296
|
+
className: classes.title,
|
|
297
|
+
component: "h2"
|
|
298
|
+
}, "Response ", INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED ? defaultResponse ? '' : index + 1 : ''), /*#__PURE__*/React.createElement(_configUi.InputContainer, {
|
|
299
|
+
label: "Validation",
|
|
300
|
+
className: classes.selectContainer
|
|
301
|
+
}, /*#__PURE__*/React.createElement(_Select["default"], {
|
|
302
|
+
className: classes.select,
|
|
303
|
+
onChange: this.onChange('validation'),
|
|
304
|
+
value: validation || 'literal'
|
|
305
|
+
}, /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
306
|
+
value: "literal"
|
|
307
|
+
}, "Literal Validation"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
308
|
+
value: "symbolic"
|
|
309
|
+
}, "Symbolic Validation")))), validation === 'literal' && /*#__PURE__*/React.createElement("div", {
|
|
310
|
+
className: classes.flexContainer
|
|
311
|
+
}, cAllowTrailingZeros.enabled && /*#__PURE__*/React.createElement(_FormControlLabel["default"], {
|
|
312
|
+
label: cAllowTrailingZeros.label,
|
|
313
|
+
control: /*#__PURE__*/React.createElement(_Checkbox["default"], {
|
|
314
|
+
checked: allowTrailingZeros,
|
|
315
|
+
onChange: this.onLiteralOptionsChange('allowTrailingZeros')
|
|
316
|
+
})
|
|
317
|
+
}), cIgnoreOrder.enabled && /*#__PURE__*/React.createElement(_FormControlLabel["default"], {
|
|
318
|
+
label: cIgnoreOrder.label,
|
|
319
|
+
control: /*#__PURE__*/React.createElement(_Checkbox["default"], {
|
|
320
|
+
checked: ignoreOrder,
|
|
321
|
+
onChange: this.onLiteralOptionsChange('ignoreOrder')
|
|
322
|
+
})
|
|
323
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
324
|
+
className: classes.inputContainer
|
|
325
|
+
}, /*#__PURE__*/React.createElement(_InputLabel["default"], null, "Correct Answer"), /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
|
|
326
|
+
keypadMode: mode,
|
|
327
|
+
classNames: classNames,
|
|
328
|
+
controlledKeypad: true,
|
|
329
|
+
showKeypad: showKeypad.main,
|
|
330
|
+
latex: answer || '',
|
|
331
|
+
onChange: this.onAnswerChange,
|
|
332
|
+
onFocus: this.onFocus,
|
|
333
|
+
onDone: this.onDone,
|
|
334
|
+
error: error && error.answer
|
|
335
|
+
}), error && error.answer ? /*#__PURE__*/React.createElement("div", {
|
|
336
|
+
className: classes.errorText
|
|
337
|
+
}, error.answer) : null), hasAlternates && Object.keys(alternates).map(function (alternateId, altIdx) {
|
|
338
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
339
|
+
className: classes.inputContainer,
|
|
340
|
+
key: alternateId
|
|
341
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
342
|
+
className: classes.alternateBar
|
|
343
|
+
}, /*#__PURE__*/React.createElement(_InputLabel["default"], null, "Alternate", Object.keys(alternates).length > 1 ? " ".concat(altIdx + 1) : ''), /*#__PURE__*/React.createElement(_Button["default"], {
|
|
344
|
+
className: classes.removeAlternateButton,
|
|
345
|
+
type: "secondary",
|
|
346
|
+
onClick: _this2.onRemoveAlternate(alternateId)
|
|
347
|
+
}, "Remove")), /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
|
|
348
|
+
classNames: classNames,
|
|
349
|
+
controlledKeypad: true,
|
|
350
|
+
keypadMode: mode,
|
|
351
|
+
showKeypad: showKeypad[alternateId] || false,
|
|
352
|
+
latex: alternates[alternateId] || '',
|
|
353
|
+
onChange: _this2.onAlternateAnswerChange(alternateId),
|
|
354
|
+
onFocus: _this2.onAlternateFocus(alternateId),
|
|
355
|
+
onDone: _this2.onAlternateDone(alternateId),
|
|
356
|
+
error: error && error[alternateId]
|
|
357
|
+
}), error && error[alternateId] ? /*#__PURE__*/React.createElement("div", {
|
|
358
|
+
className: classes.errorText
|
|
359
|
+
}, error[alternateId]) : null);
|
|
360
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
361
|
+
className: classes.configPanel
|
|
362
|
+
}, /*#__PURE__*/React.createElement(_Button["default"], {
|
|
363
|
+
className: classes.alternateButton,
|
|
364
|
+
type: "primary",
|
|
365
|
+
onClick: this.onAddAlternate
|
|
366
|
+
}, "ADD ALTERNATE"), /*#__PURE__*/React.createElement("div", {
|
|
367
|
+
className: classes.checkboxContainer
|
|
368
|
+
}))));
|
|
369
|
+
}
|
|
370
|
+
}]);
|
|
371
|
+
return Response;
|
|
372
|
+
}(React.Component);
|
|
373
|
+
(0, _defineProperty2["default"])(Response, "propTypes", {
|
|
374
|
+
classes: _propTypes["default"].object.isRequired,
|
|
375
|
+
defaultResponse: _propTypes["default"].bool,
|
|
376
|
+
mode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
|
|
377
|
+
index: _propTypes["default"].number,
|
|
378
|
+
onResponseChange: _propTypes["default"].func.isRequired,
|
|
379
|
+
response: _propTypes["default"].object.isRequired,
|
|
380
|
+
cIgnoreOrder: _propTypes["default"].object.isRequired,
|
|
381
|
+
cAllowTrailingZeros: _propTypes["default"].object.isRequired
|
|
382
|
+
});
|
|
383
|
+
(0, _defineProperty2["default"])(Response, "defaultProps", {
|
|
384
|
+
defaultResponse: false,
|
|
385
|
+
mode: 'miscellaneous'
|
|
386
|
+
});
|
|
387
|
+
var _default = (0, _styles.withStyles)(styles)(Response);
|
|
388
|
+
exports["default"] = _default;
|
|
389
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_configUi","_mathToolbar","_Card","_CardContent","_Button","_FormControlLabel","_Typography","_InputLabel","_Checkbox","_Select","_MenuItem","_styles","_classnames","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED","styles","theme","responseContainer","marginTop","spacing","unit","width","border","display","flexDirection","justifyContent","cardContent","paddingBottom","concat","title","fontWeight","fontSize","flex","selectContainer","inputContainer","titleBar","alignItems","responseEditor","minWidth","maxWidth","height","minHeight","mathToolbar","configPanel","alternateButton","removeAlternateButton","marginLeft","color","checkboxContainer","configLabel","marginRight","errorText","padding","Response","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","name","evt","_this$props","response","onResponseChange","index","newResponse","value","_this$props2","checked","_this$props3","answer","_this$props4","alternateId","_this$props5","alternates","_this$props6","alternateIdCounter","state","setState","_this$props7","showKeypad","openCount","main","_ref","_ref$response","_ref$response2","alternatesLength","_createClass2","render","_this2","_this$props8","classes","mode","defaultResponse","cAllowTrailingZeros","cIgnoreOrder","error","validation","ignoreOrder","allowTrailingZeros","hasAlternates","classNames","editor","createElement","className","style","component","InputContainer","label","select","onChange","flexContainer","enabled","control","onLiteralOptionsChange","MathToolbar","keypadMode","controlledKeypad","latex","onAnswerChange","onFocus","onDone","map","altIdx","alternateBar","type","onClick","onRemoveAlternate","onAlternateAnswerChange","onAlternateFocus","onAlternateDone","onAddAlternate","Component","PropTypes","isRequired","bool","oneOfType","string","number","func","_default","withStyles","exports"],"sources":["../src/response.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Button from '@material-ui/core/Button';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Typography from '@material-ui/core/Typography';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { withStyles } from '@material-ui/core/styles';\nimport cx from 'classnames';\n\n// TODO once we support individual response correctness, we need to remove this constant\nconst INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED = false;\n\nconst styles = (theme) => ({\n responseContainer: {\n marginTop: theme.spacing.unit * 2,\n width: '100%',\n border: '1px solid darkgray',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n },\n cardContent: {\n paddingBottom: `${theme.spacing.unit}px !important`,\n },\n title: {\n fontWeight: 700,\n fontSize: '1.2rem',\n flex: 3,\n },\n selectContainer: {\n flex: 2,\n },\n inputContainer: {\n marginTop: theme.spacing.unit,\n },\n titleBar: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n responseEditor: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n minWidth: '500px',\n maxWidth: '900px',\n height: 'auto',\n minHeight: '40px',\n },\n mathToolbar: {\n width: '100%',\n },\n configPanel: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n alternateButton: {\n border: '1px solid lightgrey',\n },\n removeAlternateButton: {\n marginLeft: theme.spacing.unit * 2,\n border: '1px solid lightgrey',\n color: 'gray',\n fontSize: '0.8rem',\n },\n checkboxContainer: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n configLabel: {\n marginRight: 'auto',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n padding: '5px 0',\n },\n});\n\nclass Response extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n defaultResponse: PropTypes.bool,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n index: PropTypes.number,\n onResponseChange: PropTypes.func.isRequired,\n response: PropTypes.object.isRequired,\n cIgnoreOrder: PropTypes.object.isRequired,\n cAllowTrailingZeros: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n defaultResponse: false,\n mode: 'miscellaneous',\n };\n\n constructor(props) {\n super(props);\n\n const { response: { alternates } = {} } = props || {};\n const alternatesLength = Object.keys(alternates || {}).length;\n\n this.state = {\n alternateIdCounter: alternatesLength + 1,\n showKeypad: {\n openCount: 0,\n main: false,\n },\n };\n }\n\n onChange = (name) => (evt) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.value;\n\n onResponseChange(newResponse, index);\n };\n\n onConfigChanged = (name) => (evt) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.checked;\n\n onResponseChange(newResponse, index);\n };\n\n onLiteralOptionsChange = (name) => (evt) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = !response[name];\n\n onResponseChange(newResponse, index);\n };\n\n onAnswerChange = (answer) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse.answer = answer;\n\n onResponseChange(newResponse, index);\n };\n\n onAlternateAnswerChange = (alternateId) => (answer) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse.alternates[alternateId] = answer;\n\n onResponseChange(newResponse, index);\n };\n\n onAddAlternate = () => {\n const { response, onResponseChange, index } = this.props;\n const { alternateIdCounter } = this.state;\n const newResponse = { ...response };\n\n if (!newResponse.alternates) {\n newResponse.alternates = {};\n }\n\n newResponse.alternates[alternateIdCounter] = '';\n\n onResponseChange(newResponse, index);\n\n this.setState({\n alternateIdCounter: alternateIdCounter + 1,\n });\n };\n\n onRemoveAlternate = (alternateId) => () => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n delete newResponse.alternates[alternateId];\n\n onResponseChange(newResponse, index);\n\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount : state.showKeypad.openCount - 1,\n },\n }));\n };\n\n onDone = () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n main: false,\n },\n }));\n };\n\n onFocus = () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad.main ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,\n main: true,\n },\n }));\n };\n\n onAlternateFocus = (alternateId) => () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,\n [alternateId]: true,\n },\n }));\n };\n\n onAlternateDone = (alternateId) => () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n [alternateId]: false,\n },\n }));\n };\n\n render() {\n const { classes, mode, defaultResponse, index, response, cAllowTrailingZeros, cIgnoreOrder, error } = this.props;\n\n const { showKeypad } = this.state;\n const { validation, answer, alternates, ignoreOrder, allowTrailingZeros } = response;\n const hasAlternates = Object.keys(alternates || {}).length > 0;\n const classNames = {\n editor: classes.responseEditor,\n mathToolbar: classes.mathToolbar,\n };\n const styles = {\n minHeight: `${showKeypad.openCount > 0 ? 430 : 230}px`,\n };\n\n return (\n <Card className={classes.responseContainer} style={styles}>\n <CardContent className={classes.cardContent}>\n <div className={classes.titleBar}>\n <Typography className={classes.title} component=\"h2\">\n Response {INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED ? (defaultResponse ? '' : index + 1) : ''}\n </Typography>\n <InputContainer label=\"Validation\" className={classes.selectContainer}>\n <Select className={classes.select} onChange={this.onChange('validation')} value={validation || 'literal'}>\n <MenuItem value=\"literal\">Literal Validation</MenuItem>\n <MenuItem value=\"symbolic\">Symbolic Validation</MenuItem>\n </Select>\n </InputContainer>\n </div>\n {validation === 'literal' && (\n <div className={classes.flexContainer}>\n {cAllowTrailingZeros.enabled && (\n <FormControlLabel\n label={cAllowTrailingZeros.label}\n control={\n <Checkbox\n checked={allowTrailingZeros}\n onChange={this.onLiteralOptionsChange('allowTrailingZeros')}\n />\n }\n />\n )}\n\n {cIgnoreOrder.enabled && (\n <FormControlLabel\n label={cIgnoreOrder.label}\n control={<Checkbox checked={ignoreOrder} onChange={this.onLiteralOptionsChange('ignoreOrder')} />}\n />\n )}\n </div>\n )}\n <div className={classes.inputContainer}>\n <InputLabel>Correct Answer</InputLabel>\n <MathToolbar\n keypadMode={mode}\n classNames={classNames}\n controlledKeypad\n showKeypad={showKeypad.main}\n latex={answer || ''}\n onChange={this.onAnswerChange}\n onFocus={this.onFocus}\n onDone={this.onDone}\n error={error && error.answer}\n />\n {error && error.answer ? <div className={classes.errorText}>{error.answer}</div> : null}\n </div>\n {hasAlternates &&\n Object.keys(alternates).map((alternateId, altIdx) => (\n <div className={classes.inputContainer} key={alternateId}>\n <div className={classes.alternateBar}>\n <InputLabel>\n Alternate\n {Object.keys(alternates).length > 1 ? ` ${altIdx + 1}` : ''}\n </InputLabel>\n <Button\n className={classes.removeAlternateButton}\n type=\"secondary\"\n onClick={this.onRemoveAlternate(alternateId)}\n >\n Remove\n </Button>\n </div>\n <MathToolbar\n classNames={classNames}\n controlledKeypad\n keypadMode={mode}\n showKeypad={showKeypad[alternateId] || false}\n latex={alternates[alternateId] || ''}\n onChange={this.onAlternateAnswerChange(alternateId)}\n onFocus={this.onAlternateFocus(alternateId)}\n onDone={this.onAlternateDone(alternateId)}\n error={error && error[alternateId]}\n />\n {error && error[alternateId] ? <div className={classes.errorText}>{error[alternateId]}</div> : null}\n </div>\n ))}\n <div className={classes.configPanel}>\n <Button className={classes.alternateButton} type=\"primary\" onClick={this.onAddAlternate}>\n ADD ALTERNATE\n </Button>\n <div className={classes.checkboxContainer}></div>\n </div>\n </CardContent>\n </Card>\n );\n }\n}\n\nexport default withStyles(styles)(Response);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.generateValidationMessage = exports.ResponseTypes = void 0;
|
|
7
|
+
var ResponseTypes = {
|
|
8
|
+
advanced: 'Advanced Multi',
|
|
9
|
+
simple: 'Simple'
|
|
10
|
+
};
|
|
11
|
+
exports.ResponseTypes = ResponseTypes;
|
|
12
|
+
var generateValidationMessage = function generateValidationMessage() {
|
|
13
|
+
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
14
|
+
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
15
|
+
var maxResponseAreas = config.maxResponseAreas;
|
|
16
|
+
var responseType = model.responseType;
|
|
17
|
+
var responseAreasMessage = '';
|
|
18
|
+
var answersMessage = '\nAll correct answers (the primary and any alternates) should not be empty and should be unique.';
|
|
19
|
+
if (responseType === 'Advanced Multi') {
|
|
20
|
+
responseAreasMessage = '\nThere should be at least 1 ' + (maxResponseAreas ? "and at most ".concat(maxResponseAreas, " ") : '') + 'response area' + (maxResponseAreas ? 's' : '') + ' defined.';
|
|
21
|
+
}
|
|
22
|
+
return 'Validation requirements:' + answersMessage + responseAreasMessage;
|
|
23
|
+
};
|
|
24
|
+
exports.generateValidationMessage = generateValidationMessage;
|
|
25
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":["ResponseTypes","advanced","simple","exports","generateValidationMessage","model","arguments","length","undefined","config","maxResponseAreas","responseType","responseAreasMessage","answersMessage","concat"],"sources":["../src/utils.js"],"sourcesContent":["export const ResponseTypes = {\n advanced: 'Advanced Multi',\n simple: 'Simple',\n};\n\nexport const generateValidationMessage = (model = {}, config = {}) => {\n const { maxResponseAreas } = config;\n const { responseType } = model;\n let responseAreasMessage = '';\n\n const answersMessage =\n '\\nAll correct answers (the primary and any alternates) should not be empty and should be unique.';\n\n if (responseType === 'Advanced Multi') {\n responseAreasMessage =\n '\\nThere should be at least 1 ' +\n (maxResponseAreas ? `and at most ${maxResponseAreas} ` : '') +\n 'response area' +\n (maxResponseAreas ? 's' : '') +\n ' defined.';\n }\n\n return 'Validation requirements:' + answersMessage + responseAreasMessage;\n};\n"],"mappings":";;;;;;AAAO,IAAMA,aAAa,GAAG;EAC3BC,QAAQ,EAAE,gBAAgB;EAC1BC,MAAM,EAAE;AACV,CAAC;AAACC,OAAA,CAAAH,aAAA,GAAAA,aAAA;AAEK,IAAMI,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAA,EAAgC;EAAA,IAA5BC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEG,MAAM,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC/D,IAAQI,gBAAgB,GAAKD,MAAM,CAA3BC,gBAAgB;EACxB,IAAQC,YAAY,GAAKN,KAAK,CAAtBM,YAAY;EACpB,IAAIC,oBAAoB,GAAG,EAAE;EAE7B,IAAMC,cAAc,GAClB,kGAAkG;EAEpG,IAAIF,YAAY,KAAK,gBAAgB,EAAE;IACrCC,oBAAoB,GAClB,+BAA+B,IAC9BF,gBAAgB,kBAAAI,MAAA,CAAkBJ,gBAAgB,SAAM,EAAE,CAAC,GAC5D,eAAe,IACdA,gBAAgB,GAAG,GAAG,GAAG,EAAE,CAAC,GAC7B,WAAW;EACf;EAEA,OAAO,0BAA0B,GAAGG,cAAc,GAAGD,oBAAoB;AAC3E,CAAC;AAACT,OAAA,CAAAC,yBAAA,GAAAA,yBAAA"}
|