@pie-element/math-inline 6.5.1-beta.3 → 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/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 +2 -2
|
@@ -0,0 +1,564 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var React = _interopRequireWildcard(require("react"));
|
|
18
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
20
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
21
|
+
var _configUi = require("@pie-lib/config-ui");
|
|
22
|
+
var _styles = require("@material-ui/core/styles");
|
|
23
|
+
var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
|
|
24
|
+
var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
|
|
25
|
+
var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
|
|
26
|
+
var _response = _interopRequireDefault(require("./response"));
|
|
27
|
+
var _mathToolbar = require("@pie-lib/math-toolbar");
|
|
28
|
+
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
29
|
+
var _utils = require("./utils");
|
|
30
|
+
var _mathquill = _interopRequireDefault(require("@pie-framework/mathquill"));
|
|
31
|
+
var _Info = _interopRequireDefault(require("@material-ui/icons/Info"));
|
|
32
|
+
var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
|
|
33
|
+
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); }
|
|
34
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
|
|
35
|
+
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; }
|
|
36
|
+
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; }
|
|
37
|
+
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); }; }
|
|
38
|
+
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; } }
|
|
39
|
+
var registered = false;
|
|
40
|
+
var styles = function styles(theme) {
|
|
41
|
+
return {
|
|
42
|
+
container: {
|
|
43
|
+
marginTop: theme.spacing.unit * 2,
|
|
44
|
+
marginBottom: theme.spacing.unit * 2,
|
|
45
|
+
display: 'flex',
|
|
46
|
+
flexDirection: 'column'
|
|
47
|
+
},
|
|
48
|
+
templateTitle: {
|
|
49
|
+
fontSize: '0.85rem'
|
|
50
|
+
},
|
|
51
|
+
addResponseButton: {
|
|
52
|
+
border: '1px solid lightgrey',
|
|
53
|
+
"float": 'right',
|
|
54
|
+
width: '150px'
|
|
55
|
+
},
|
|
56
|
+
flexContainer: {
|
|
57
|
+
display: 'flex',
|
|
58
|
+
alignItems: 'center',
|
|
59
|
+
justifyContent: 'space-between'
|
|
60
|
+
},
|
|
61
|
+
selectContainer: {
|
|
62
|
+
flex: 'initial',
|
|
63
|
+
width: '40%',
|
|
64
|
+
marginTop: theme.spacing.unit * 2,
|
|
65
|
+
marginBottom: theme.spacing.unit * 2
|
|
66
|
+
},
|
|
67
|
+
inputContainer: {
|
|
68
|
+
marginBottom: theme.spacing.unit * 4,
|
|
69
|
+
display: 'flex',
|
|
70
|
+
flexDirection: 'column',
|
|
71
|
+
width: '90%'
|
|
72
|
+
},
|
|
73
|
+
responseEditor: {
|
|
74
|
+
display: 'flex',
|
|
75
|
+
justifyContent: 'center',
|
|
76
|
+
width: '100%',
|
|
77
|
+
minWidth: '500px',
|
|
78
|
+
maxWidth: 'inherit',
|
|
79
|
+
height: 'auto',
|
|
80
|
+
minHeight: '130px',
|
|
81
|
+
textAlign: 'left',
|
|
82
|
+
padding: theme.spacing.unit
|
|
83
|
+
},
|
|
84
|
+
promptHolder: {
|
|
85
|
+
width: '100%',
|
|
86
|
+
paddingBottom: theme.spacing.unit * 2,
|
|
87
|
+
marginBottom: theme.spacing.unit * 2
|
|
88
|
+
},
|
|
89
|
+
prompt: {
|
|
90
|
+
paddingTop: theme.spacing.unit * 2,
|
|
91
|
+
width: '100%',
|
|
92
|
+
maxWidth: '600px'
|
|
93
|
+
},
|
|
94
|
+
blockContainer: {
|
|
95
|
+
margin: theme.spacing.unit,
|
|
96
|
+
display: 'inline-flex',
|
|
97
|
+
border: '2px solid grey'
|
|
98
|
+
},
|
|
99
|
+
blockContainerGeneric: {
|
|
100
|
+
margin: theme.spacing.unit / 2
|
|
101
|
+
},
|
|
102
|
+
blockResponse: {
|
|
103
|
+
fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',
|
|
104
|
+
flex: 2,
|
|
105
|
+
color: 'grey',
|
|
106
|
+
background: 'lightgrey',
|
|
107
|
+
fontSize: '0.8rem',
|
|
108
|
+
padding: theme.spacing.unit / 2,
|
|
109
|
+
display: 'flex',
|
|
110
|
+
alignItems: 'center',
|
|
111
|
+
justifyContent: 'center',
|
|
112
|
+
borderRight: '2px solid grey'
|
|
113
|
+
},
|
|
114
|
+
blockResponseGeneric: {
|
|
115
|
+
borderRight: 0
|
|
116
|
+
},
|
|
117
|
+
blockMath: {
|
|
118
|
+
color: '#bdbdbd',
|
|
119
|
+
padding: theme.spacing.unit / 2,
|
|
120
|
+
display: 'flex',
|
|
121
|
+
alignItems: 'center',
|
|
122
|
+
justifyContent: 'center',
|
|
123
|
+
flex: 8,
|
|
124
|
+
'& > .mq-math-mode': {
|
|
125
|
+
'& > .mq-hasCursor': {
|
|
126
|
+
'& > .mq-cursor': {
|
|
127
|
+
display: 'none'
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
tooltip: {
|
|
133
|
+
fontSize: '12px',
|
|
134
|
+
whiteSpace: 'pre-wrap'
|
|
135
|
+
},
|
|
136
|
+
errorText: {
|
|
137
|
+
fontSize: '12px',
|
|
138
|
+
color: 'red',
|
|
139
|
+
padding: '5px 0'
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
var REGEX = /{{response}}/gm;
|
|
144
|
+
var TEMPORARY_RESPONSE_FIELD = /\\%response\\%/gm;
|
|
145
|
+
var ANSWER_BLOCK_REGEX = /\\embed\{answerBlock\}\[r\d*\]/g;
|
|
146
|
+
var NEWLINE_BLOCK = /\\embed\{newLine\}\[\]/g;
|
|
147
|
+
var NEWLINE_LATEX = /\\newline/g;
|
|
148
|
+
function prepareForStatic(expression) {
|
|
149
|
+
if (expression) {
|
|
150
|
+
var answerBlocks = 1; // assume one at least
|
|
151
|
+
|
|
152
|
+
return expression.replace(REGEX, function () {
|
|
153
|
+
return "\\embed{answerBlock}[r".concat(answerBlocks++, "]");
|
|
154
|
+
}).replace(NEWLINE_LATEX, '\\embed{newLine}[]');
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
function prepareForModel(expression) {
|
|
158
|
+
if (expression) {
|
|
159
|
+
return expression.replace(ANSWER_BLOCK_REGEX, function () {
|
|
160
|
+
return '{{response}}';
|
|
161
|
+
}).replace(TEMPORARY_RESPONSE_FIELD, function () {
|
|
162
|
+
return '{{response}}';
|
|
163
|
+
}).replace(NEWLINE_BLOCK, function () {
|
|
164
|
+
return '\\newline';
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
var GeneralConfigBlock = /*#__PURE__*/function (_React$Component) {
|
|
169
|
+
(0, _inherits2["default"])(GeneralConfigBlock, _React$Component);
|
|
170
|
+
var _super = _createSuper(GeneralConfigBlock);
|
|
171
|
+
function GeneralConfigBlock(props) {
|
|
172
|
+
var _this;
|
|
173
|
+
(0, _classCallCheck2["default"])(this, GeneralConfigBlock);
|
|
174
|
+
_this = _super.call(this, props);
|
|
175
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (name) {
|
|
176
|
+
return function (evtOrValue) {
|
|
177
|
+
var _this$props = _this.props,
|
|
178
|
+
model = _this$props.model,
|
|
179
|
+
onChange = _this$props.onChange;
|
|
180
|
+
var newModel = _objectSpread({}, model);
|
|
181
|
+
if ((0, _typeof2["default"])(evtOrValue) === 'object') {
|
|
182
|
+
newModel[name] = evtOrValue.target.value;
|
|
183
|
+
} else {
|
|
184
|
+
newModel[name] = evtOrValue;
|
|
185
|
+
}
|
|
186
|
+
if (name === 'expression') {
|
|
187
|
+
newModel[name] = prepareForModel(evtOrValue);
|
|
188
|
+
}
|
|
189
|
+
onChange(newModel);
|
|
190
|
+
};
|
|
191
|
+
});
|
|
192
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function () {
|
|
193
|
+
_this.setState({
|
|
194
|
+
showKeypad: false
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFocus", function () {
|
|
198
|
+
_this.setState({
|
|
199
|
+
showKeypad: true
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPromptFocus", function () {
|
|
203
|
+
_this.setState({
|
|
204
|
+
showKeypad: false
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleAnswerBlockDomUpdate", function () {
|
|
208
|
+
var model = _this.props.model;
|
|
209
|
+
var responseAreas = {};
|
|
210
|
+
if (model && model.expression) {
|
|
211
|
+
var answerBlocks = 1; // assume one at least
|
|
212
|
+
// build out local state model using responses declared in expression
|
|
213
|
+
|
|
214
|
+
model.expression.replace(REGEX, function () {
|
|
215
|
+
responseAreas["r".concat(answerBlocks++)] = {
|
|
216
|
+
value: ''
|
|
217
|
+
};
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
if (!(0, _isEqual["default"])(responseAreas, _this.state.responseAreas)) {
|
|
221
|
+
_this.setState({
|
|
222
|
+
responseAreas: responseAreas
|
|
223
|
+
}, function () {
|
|
224
|
+
if (_this.root && Object.keys(responseAreas).length) {
|
|
225
|
+
Object.keys(responseAreas).forEach(function (responseId, idx) {
|
|
226
|
+
var el = _this.root.querySelector("#".concat(responseId));
|
|
227
|
+
var indexEl = _this.root.querySelector("#".concat(responseId, "Index"));
|
|
228
|
+
if (el) {
|
|
229
|
+
// const MathQuill = require('@pie-framework/mathquill');
|
|
230
|
+
var MQ = _mathquill["default"].getInterface(2);
|
|
231
|
+
// We no longer have individual answers, so we cannot set text content of blocks
|
|
232
|
+
// el.textContent = response.answer;
|
|
233
|
+
MQ.StaticMath(el);
|
|
234
|
+
indexEl.textContent = "R".concat(idx + 1);
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAddResponse", function () {
|
|
242
|
+
var _this$props2 = _this.props,
|
|
243
|
+
model = _this$props2.model,
|
|
244
|
+
onChange = _this$props2.onChange;
|
|
245
|
+
var responseIdCounter = _this.state.responseIdCounter;
|
|
246
|
+
var newModel = _objectSpread({}, model);
|
|
247
|
+
var newCounter = responseIdCounter;
|
|
248
|
+
while (model.responses.find(function (response) {
|
|
249
|
+
return response.id === newCounter;
|
|
250
|
+
})) {
|
|
251
|
+
newCounter++;
|
|
252
|
+
}
|
|
253
|
+
var response = {
|
|
254
|
+
id: newCounter,
|
|
255
|
+
validation: 'literal',
|
|
256
|
+
answer: '',
|
|
257
|
+
alternates: {}
|
|
258
|
+
};
|
|
259
|
+
newModel.responses = newModel.responses.concat(response);
|
|
260
|
+
onChange(newModel);
|
|
261
|
+
_this.setState({
|
|
262
|
+
responseIdCounter: response.id
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onResponseChange", function (response, index) {
|
|
266
|
+
var _this$props3 = _this.props,
|
|
267
|
+
model = _this$props3.model,
|
|
268
|
+
onChange = _this$props3.onChange;
|
|
269
|
+
var newModel = _objectSpread({}, model);
|
|
270
|
+
newModel.responses[index] = response;
|
|
271
|
+
onChange(newModel);
|
|
272
|
+
});
|
|
273
|
+
var _responseAreas = {};
|
|
274
|
+
if (props.model && props.model.expression) {
|
|
275
|
+
var answerBlocks = 1; // assume one at least
|
|
276
|
+
// build out local state model using responses declared in expression
|
|
277
|
+
|
|
278
|
+
props.model.expression.replace(REGEX, function () {
|
|
279
|
+
_responseAreas["r".concat(answerBlocks++)] = {
|
|
280
|
+
value: ''
|
|
281
|
+
};
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
_this.state = {
|
|
285
|
+
showKeypad: false,
|
|
286
|
+
responseAreas: _responseAreas,
|
|
287
|
+
responseIdCounter: Object.keys(_responseAreas).length
|
|
288
|
+
};
|
|
289
|
+
return _this;
|
|
290
|
+
}
|
|
291
|
+
(0, _createClass2["default"])(GeneralConfigBlock, [{
|
|
292
|
+
key: "UNSAFE_componentWillMount",
|
|
293
|
+
value: function UNSAFE_componentWillMount() {
|
|
294
|
+
var classes = this.props.classes;
|
|
295
|
+
if (typeof window !== 'undefined') {
|
|
296
|
+
// const MathQuill = require('@pie-framework/mathquill');
|
|
297
|
+
var MQ = _mathquill["default"].getInterface(2);
|
|
298
|
+
if (!registered) {
|
|
299
|
+
MQ.registerEmbed('answerBlock', function (data) {
|
|
300
|
+
// not used until we implement individual answer tracking
|
|
301
|
+
// const individualAnswerBlock = `<div class="${classes.blockContainer}">
|
|
302
|
+
// <div class="${classes.blockResponse}" id="${data}Index">R</div>
|
|
303
|
+
// <div class="${classes.blockMath}">
|
|
304
|
+
// <span id="${data}"></span>
|
|
305
|
+
// </div>
|
|
306
|
+
// </div>`;
|
|
307
|
+
|
|
308
|
+
var genericAnswerBlock = "<div class=\"".concat((0, _classnames["default"])(classes.blockContainer, classes.blockContainerGeneric), "\">\n <div class=\"").concat((0, _classnames["default"])(classes.blockResponse, classes.blockResponseGeneric), "\" id=\"").concat(data, "Index\">Response</div>\n </div>");
|
|
309
|
+
return {
|
|
310
|
+
htmlString: genericAnswerBlock,
|
|
311
|
+
text: function text() {
|
|
312
|
+
return 'text';
|
|
313
|
+
},
|
|
314
|
+
latex: function latex() {
|
|
315
|
+
return "\\embed{answerBlock}[".concat(data, "]");
|
|
316
|
+
}
|
|
317
|
+
};
|
|
318
|
+
});
|
|
319
|
+
registered = true;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}, {
|
|
324
|
+
key: "componentDidMount",
|
|
325
|
+
value: function componentDidMount() {
|
|
326
|
+
this.handleAnswerBlockDomUpdate();
|
|
327
|
+
}
|
|
328
|
+
}, {
|
|
329
|
+
key: "componentDidUpdate",
|
|
330
|
+
value: function componentDidUpdate() {
|
|
331
|
+
this.handleAnswerBlockDomUpdate();
|
|
332
|
+
}
|
|
333
|
+
}, {
|
|
334
|
+
key: "render",
|
|
335
|
+
value: function render() {
|
|
336
|
+
var _this2 = this;
|
|
337
|
+
var _this$props4 = this.props,
|
|
338
|
+
classes = _this$props4.classes,
|
|
339
|
+
model = _this$props4.model,
|
|
340
|
+
imageSupport = _this$props4.imageSupport,
|
|
341
|
+
uploadSoundSupport = _this$props4.uploadSoundSupport,
|
|
342
|
+
configuration = _this$props4.configuration,
|
|
343
|
+
promptEnabled = _this$props4.promptEnabled,
|
|
344
|
+
rationaleEnabled = _this$props4.rationaleEnabled,
|
|
345
|
+
toolbarOpts = _this$props4.toolbarOpts;
|
|
346
|
+
var showKeypad = this.state.showKeypad;
|
|
347
|
+
var prompt = model.prompt,
|
|
348
|
+
expression = model.expression,
|
|
349
|
+
equationEditor = model.equationEditor,
|
|
350
|
+
_model$promptEquation = model.promptEquationEditor,
|
|
351
|
+
promptEquationEditor = _model$promptEquation === void 0 ? '8' : _model$promptEquation,
|
|
352
|
+
responses = model.responses,
|
|
353
|
+
responseType = model.responseType,
|
|
354
|
+
rationale = model.rationale,
|
|
355
|
+
spellCheckEnabled = model.spellCheckEnabled,
|
|
356
|
+
_model$errors = model.errors,
|
|
357
|
+
errors = _model$errors === void 0 ? {} : _model$errors;
|
|
358
|
+
var _ref = configuration || {},
|
|
359
|
+
_ref$rationale = _ref.rationale,
|
|
360
|
+
cRationale = _ref$rationale === void 0 ? {} : _ref$rationale,
|
|
361
|
+
_ref$prompt = _ref.prompt,
|
|
362
|
+
cPrompt = _ref$prompt === void 0 ? {} : _ref$prompt,
|
|
363
|
+
_ref$ignoreOrder = _ref.ignoreOrder,
|
|
364
|
+
cIgnoreOrder = _ref$ignoreOrder === void 0 ? {} : _ref$ignoreOrder,
|
|
365
|
+
_ref$allowTrailingZer = _ref.allowTrailingZeros,
|
|
366
|
+
cAllowTrailingZeros = _ref$allowTrailingZer === void 0 ? {} : _ref$allowTrailingZer,
|
|
367
|
+
maxResponseAreas = _ref.maxResponseAreas,
|
|
368
|
+
_ref$maxImageWidth = _ref.maxImageWidth,
|
|
369
|
+
maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
|
|
370
|
+
_ref$maxImageHeight = _ref.maxImageHeight,
|
|
371
|
+
maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight;
|
|
372
|
+
var validationMessage = (0, _utils.generateValidationMessage)(configuration, model);
|
|
373
|
+
var responsesErrors = errors.responsesErrors,
|
|
374
|
+
responseAreasError = errors.responseAreasError;
|
|
375
|
+
var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
|
|
376
|
+
var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
|
|
377
|
+
var classNames = {
|
|
378
|
+
editor: classes.responseEditor,
|
|
379
|
+
mathToolbar: classes.mathToolbar
|
|
380
|
+
};
|
|
381
|
+
var responsesToUse = responseType === _utils.ResponseTypes.advanced ? responses : responses.slice(0, 1);
|
|
382
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
383
|
+
ref: function ref(r) {
|
|
384
|
+
return _this2.root = r || _this2.root;
|
|
385
|
+
},
|
|
386
|
+
className: classes.container
|
|
387
|
+
}, promptEnabled && /*#__PURE__*/React.createElement(_configUi.InputContainer, {
|
|
388
|
+
label: cPrompt.label,
|
|
389
|
+
className: classes.promptHolder
|
|
390
|
+
}, /*#__PURE__*/React.createElement(_editableHtml["default"], {
|
|
391
|
+
onFocus: this.onPromptFocus,
|
|
392
|
+
className: classes.prompt,
|
|
393
|
+
markup: prompt || '',
|
|
394
|
+
onChange: this.onChange('prompt'),
|
|
395
|
+
imageSupport: imageSupport,
|
|
396
|
+
nonEmpty: false,
|
|
397
|
+
toolbarOpts: toolbarOpts,
|
|
398
|
+
spellCheck: spellCheckEnabled,
|
|
399
|
+
maxImageWidth: defaultImageMaxWidth,
|
|
400
|
+
maxImageHeight: defaultImageMaxHeight,
|
|
401
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
402
|
+
languageCharactersProps: [{
|
|
403
|
+
language: 'spanish'
|
|
404
|
+
}, {
|
|
405
|
+
language: 'special'
|
|
406
|
+
}]
|
|
407
|
+
})), rationaleEnabled && /*#__PURE__*/React.createElement(_configUi.InputContainer, {
|
|
408
|
+
label: cRationale.label,
|
|
409
|
+
className: classes.promptHolder
|
|
410
|
+
}, /*#__PURE__*/React.createElement(_editableHtml["default"], {
|
|
411
|
+
className: classes.prompt,
|
|
412
|
+
markup: rationale || '',
|
|
413
|
+
pluginProps: {
|
|
414
|
+
math: {
|
|
415
|
+
controlledKeypadMode: false
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
onChange: this.onChange('rationale'),
|
|
419
|
+
imageSupport: imageSupport,
|
|
420
|
+
nonEmpty: false,
|
|
421
|
+
toolbarOpts: toolbarOpts,
|
|
422
|
+
spellCheck: spellCheckEnabled,
|
|
423
|
+
maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
|
|
424
|
+
maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
|
|
425
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
426
|
+
languageCharactersProps: [{
|
|
427
|
+
language: 'spanish'
|
|
428
|
+
}, {
|
|
429
|
+
language: 'special'
|
|
430
|
+
}]
|
|
431
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
432
|
+
className: classes.flexContainer,
|
|
433
|
+
style: {
|
|
434
|
+
justifyContent: 'flex-start'
|
|
435
|
+
}
|
|
436
|
+
}, /*#__PURE__*/React.createElement("h3", null, "Define Response"), /*#__PURE__*/React.createElement(_Tooltip["default"], {
|
|
437
|
+
classes: {
|
|
438
|
+
tooltip: classes.tooltip
|
|
439
|
+
},
|
|
440
|
+
disableFocusListener: true,
|
|
441
|
+
disableTouchListener: true,
|
|
442
|
+
placement: 'right',
|
|
443
|
+
title: validationMessage
|
|
444
|
+
}, /*#__PURE__*/React.createElement(_Info["default"], {
|
|
445
|
+
fontSize: 'small',
|
|
446
|
+
color: 'primary',
|
|
447
|
+
style: {
|
|
448
|
+
marginLeft: '5px'
|
|
449
|
+
}
|
|
450
|
+
}))), responseAreasError && /*#__PURE__*/React.createElement("div", {
|
|
451
|
+
className: classes.errorText
|
|
452
|
+
}, responseAreasError), responseType === _utils.ResponseTypes.advanced && [/*#__PURE__*/React.createElement(_configUi.InputContainer, {
|
|
453
|
+
key: "templateEditorType",
|
|
454
|
+
label: "Response Template Equation Editor",
|
|
455
|
+
className: classes.selectContainer
|
|
456
|
+
}, /*#__PURE__*/React.createElement(_Select["default"], {
|
|
457
|
+
className: classes.select,
|
|
458
|
+
onChange: this.onChange('promptEquationEditor'),
|
|
459
|
+
value: promptEquationEditor
|
|
460
|
+
}, /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
461
|
+
value: "non-negative-integers"
|
|
462
|
+
}, "Numeric - Non-Negative Integers"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
463
|
+
value: "integers"
|
|
464
|
+
}, "Numeric - Integers"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
465
|
+
value: "decimals"
|
|
466
|
+
}, "Numeric - Decimals"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
467
|
+
value: "fractions"
|
|
468
|
+
}, "Numeric - Fractions"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
469
|
+
value: 1
|
|
470
|
+
}, "Grade 1 - 2"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
471
|
+
value: 3
|
|
472
|
+
}, "Grade 3 - 5"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
473
|
+
value: 6
|
|
474
|
+
}, "Grade 6 - 7"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
475
|
+
value: 8
|
|
476
|
+
}, "Grade 8 - HS"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
477
|
+
value: 'geometry'
|
|
478
|
+
}, "Geometry"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
479
|
+
value: 'advanced-algebra'
|
|
480
|
+
}, "Advanced Algebra"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
481
|
+
value: 'statistics'
|
|
482
|
+
}, "Statistics"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
483
|
+
value: 'item-authoring'
|
|
484
|
+
}, "Item Authoring"))), /*#__PURE__*/React.createElement("div", {
|
|
485
|
+
className: classes.inputContainer,
|
|
486
|
+
key: "templateHolder"
|
|
487
|
+
}, /*#__PURE__*/React.createElement(_InputLabel["default"], {
|
|
488
|
+
className: classes.templateTitle
|
|
489
|
+
}, "RESPONSE TEMPLATE"), /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
|
|
490
|
+
classNames: classNames,
|
|
491
|
+
allowAnswerBlock: true,
|
|
492
|
+
keypadMode: promptEquationEditor,
|
|
493
|
+
controlledKeypad: true,
|
|
494
|
+
showKeypad: showKeypad,
|
|
495
|
+
latex: prepareForStatic(expression) || '',
|
|
496
|
+
onChange: this.onChange('expression'),
|
|
497
|
+
onFocus: this.onFocus,
|
|
498
|
+
onDone: this.onDone,
|
|
499
|
+
maxResponseAreas: maxResponseAreas,
|
|
500
|
+
error: responseAreasError
|
|
501
|
+
}))], /*#__PURE__*/React.createElement("h4", null, "Define Correct Response"), /*#__PURE__*/React.createElement("div", {
|
|
502
|
+
className: classes.flexContainer
|
|
503
|
+
}, /*#__PURE__*/React.createElement(_configUi.InputContainer, {
|
|
504
|
+
label: "Equation Editor",
|
|
505
|
+
className: classes.selectContainer
|
|
506
|
+
}, /*#__PURE__*/React.createElement(_Select["default"], {
|
|
507
|
+
className: classes.select,
|
|
508
|
+
onChange: this.onChange('equationEditor'),
|
|
509
|
+
value: equationEditor
|
|
510
|
+
}, /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
511
|
+
value: "non-negative-integers"
|
|
512
|
+
}, "Numeric - Non-Negative Integers"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
513
|
+
value: "integers"
|
|
514
|
+
}, "Numeric - Integers"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
515
|
+
value: "decimals"
|
|
516
|
+
}, "Numeric - Decimals"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
517
|
+
value: "fractions"
|
|
518
|
+
}, "Numeric - Fractions"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
519
|
+
value: 1
|
|
520
|
+
}, "Grade 1 - 2"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
521
|
+
value: 3
|
|
522
|
+
}, "Grade 3 - 5"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
523
|
+
value: 6
|
|
524
|
+
}, "Grade 6 - 7"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
525
|
+
value: 8
|
|
526
|
+
}, "Grade 8 - HS"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
527
|
+
value: 'geometry'
|
|
528
|
+
}, "Geometry"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
529
|
+
value: 'advanced-algebra'
|
|
530
|
+
}, "Advanced Algebra"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
531
|
+
value: 'statistics'
|
|
532
|
+
}, "Statistics"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
|
|
533
|
+
value: 'item-authoring'
|
|
534
|
+
}, "Item Authoring")))), responsesToUse.map(function (response, idx) {
|
|
535
|
+
return /*#__PURE__*/React.createElement(_response["default"], {
|
|
536
|
+
key: response.id,
|
|
537
|
+
mode: equationEditor,
|
|
538
|
+
response: response,
|
|
539
|
+
defaultResponse: responseType === _utils.ResponseTypes.simple,
|
|
540
|
+
onResponseChange: _this2.onResponseChange,
|
|
541
|
+
index: idx,
|
|
542
|
+
cIgnoreOrder: cIgnoreOrder,
|
|
543
|
+
cAllowTrailingZeros: cAllowTrailingZeros,
|
|
544
|
+
error: responsesErrors && responsesErrors[idx]
|
|
545
|
+
});
|
|
546
|
+
}));
|
|
547
|
+
}
|
|
548
|
+
}]);
|
|
549
|
+
return GeneralConfigBlock;
|
|
550
|
+
}(React.Component);
|
|
551
|
+
(0, _defineProperty2["default"])(GeneralConfigBlock, "propTypes", {
|
|
552
|
+
classes: _propTypes["default"].object.isRequired,
|
|
553
|
+
model: _propTypes["default"].object.isRequired,
|
|
554
|
+
imageSupport: _propTypes["default"].object,
|
|
555
|
+
uploadSoundSupport: _propTypes["default"].object,
|
|
556
|
+
configuration: _propTypes["default"].object,
|
|
557
|
+
onChange: _propTypes["default"].func.isRequired,
|
|
558
|
+
promptEnabled: _propTypes["default"].bool,
|
|
559
|
+
rationaleEnabled: _propTypes["default"].bool,
|
|
560
|
+
toolbarOpts: _propTypes["default"].object
|
|
561
|
+
});
|
|
562
|
+
var _default = (0, _styles.withStyles)(styles)(GeneralConfigBlock);
|
|
563
|
+
exports["default"] = _default;
|
|
564
|
+
//# sourceMappingURL=general-config-block.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general-config-block.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_editableHtml","_configUi","_styles","_InputLabel","_Select","_MenuItem","_response","_mathToolbar","_isEqual","_utils","_mathquill","_Info","_Tooltip","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof3","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","registered","styles","theme","container","marginTop","spacing","unit","marginBottom","display","flexDirection","templateTitle","fontSize","addResponseButton","border","width","flexContainer","alignItems","justifyContent","selectContainer","flex","inputContainer","responseEditor","minWidth","maxWidth","height","minHeight","textAlign","padding","promptHolder","paddingBottom","prompt","paddingTop","blockContainer","margin","blockContainerGeneric","blockResponse","fontFamily","color","background","borderRight","blockResponseGeneric","blockMath","tooltip","whiteSpace","errorText","REGEX","TEMPORARY_RESPONSE_FIELD","ANSWER_BLOCK_REGEX","NEWLINE_BLOCK","NEWLINE_LATEX","prepareForStatic","expression","answerBlocks","replace","concat","prepareForModel","GeneralConfigBlock","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_assertThisInitialized2","name","evtOrValue","_this$props","model","onChange","newModel","_typeof2","value","setState","showKeypad","responseAreas","isEqual","state","root","responseId","idx","el","querySelector","indexEl","MQ","MathQuill","getInterface","StaticMath","textContent","_this$props2","responseIdCounter","newCounter","responses","find","response","id","validation","answer","alternates","index","_this$props3","_createClass2","UNSAFE_componentWillMount","classes","window","registerEmbed","data","genericAnswerBlock","cx","htmlString","text","latex","componentDidMount","handleAnswerBlockDomUpdate","componentDidUpdate","render","_this2","_this$props4","imageSupport","uploadSoundSupport","configuration","promptEnabled","rationaleEnabled","toolbarOpts","equationEditor","_model$promptEquation","promptEquationEditor","responseType","rationale","spellCheckEnabled","_model$errors","errors","_ref","_ref$rationale","cRationale","_ref$prompt","cPrompt","_ref$ignoreOrder","ignoreOrder","cIgnoreOrder","_ref$allowTrailingZer","allowTrailingZeros","cAllowTrailingZeros","maxResponseAreas","_ref$maxImageWidth","maxImageWidth","_ref$maxImageHeight","maxImageHeight","validationMessage","generateValidationMessage","responsesErrors","responseAreasError","defaultImageMaxWidth","defaultImageMaxHeight","classNames","editor","mathToolbar","responsesToUse","ResponseTypes","advanced","slice","createElement","ref","r","className","InputContainer","label","onFocus","onPromptFocus","markup","nonEmpty","spellCheck","languageCharactersProps","language","pluginProps","math","controlledKeypadMode","style","disableFocusListener","disableTouchListener","placement","title","marginLeft","select","MathToolbar","allowAnswerBlock","keypadMode","controlledKeypad","onDone","error","map","mode","defaultResponse","simple","onResponseChange","Component","PropTypes","isRequired","func","bool","_default","withStyles","exports"],"sources":["../src/general-config-block.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Response from './response';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport isEqual from 'lodash/isEqual';\nimport { ResponseTypes, generateValidationMessage } from './utils';\nimport MathQuill from '@pie-framework/mathquill';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nlet registered = false;\n\nconst styles = (theme) => ({\n container: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n display: 'flex',\n flexDirection: 'column',\n },\n templateTitle: {\n fontSize: '0.85rem',\n },\n addResponseButton: {\n border: '1px solid lightgrey',\n float: 'right',\n width: '150px',\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n selectContainer: {\n flex: 'initial',\n width: '40%',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n inputContainer: {\n marginBottom: theme.spacing.unit * 4,\n display: 'flex',\n flexDirection: 'column',\n width: '90%',\n },\n responseEditor: {\n display: 'flex',\n justifyContent: 'center',\n width: '100%',\n minWidth: '500px',\n maxWidth: 'inherit',\n height: 'auto',\n minHeight: '130px',\n textAlign: 'left',\n padding: theme.spacing.unit,\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n maxWidth: '600px',\n },\n blockContainer: {\n margin: theme.spacing.unit,\n display: 'inline-flex',\n border: '2px solid grey',\n },\n blockContainerGeneric: {\n margin: theme.spacing.unit / 2,\n },\n blockResponse: {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n flex: 2,\n color: 'grey',\n background: 'lightgrey',\n fontSize: '0.8rem',\n padding: theme.spacing.unit / 2,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRight: '2px solid grey',\n },\n blockResponseGeneric: {\n borderRight: 0,\n },\n blockMath: {\n color: '#bdbdbd',\n padding: theme.spacing.unit / 2,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flex: 8,\n '& > .mq-math-mode': {\n '& > .mq-hasCursor': {\n '& > .mq-cursor': {\n display: 'none',\n },\n },\n },\n },\n tooltip: {\n fontSize: '12px',\n whiteSpace: 'pre-wrap',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n padding: '5px 0',\n },\n});\n\nconst REGEX = /{{response}}/gm;\nconst TEMPORARY_RESPONSE_FIELD = /\\\\%response\\\\%/gm;\nconst ANSWER_BLOCK_REGEX = /\\\\embed\\{answerBlock\\}\\[r\\d*\\]/g;\nconst NEWLINE_BLOCK = /\\\\embed\\{newLine\\}\\[\\]/g;\nconst NEWLINE_LATEX = /\\\\newline/g;\n\nfunction prepareForStatic(expression) {\n if (expression) {\n let answerBlocks = 1; // assume one at least\n\n return expression\n .replace(REGEX, () => `\\\\embed{answerBlock}[r${answerBlocks++}]`)\n .replace(NEWLINE_LATEX, '\\\\embed{newLine}[]');\n }\n}\n\nfunction prepareForModel(expression) {\n if (expression) {\n return expression\n .replace(ANSWER_BLOCK_REGEX, () => '{{response}}')\n .replace(TEMPORARY_RESPONSE_FIELD, () => '{{response}}')\n .replace(NEWLINE_BLOCK, () => '\\\\newline');\n }\n}\n\nclass GeneralConfigBlock extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n configuration: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n promptEnabled: PropTypes.bool,\n rationaleEnabled: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n\n const responseAreas = {};\n\n if (props.model && props.model.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n props.model.expression.replace(REGEX, () => {\n responseAreas[`r${answerBlocks++}`] = {\n value: '',\n };\n });\n }\n\n this.state = {\n showKeypad: false,\n responseAreas,\n responseIdCounter: Object.keys(responseAreas).length,\n };\n }\n\n onChange = (name) => (evtOrValue) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (typeof evtOrValue === 'object') {\n newModel[name] = evtOrValue.target.value;\n } else {\n newModel[name] = evtOrValue;\n }\n\n if (name === 'expression') {\n newModel[name] = prepareForModel(evtOrValue);\n }\n\n onChange(newModel);\n };\n\n onDone = () => {\n this.setState({ showKeypad: false });\n };\n\n onFocus = () => {\n this.setState({ showKeypad: true });\n };\n\n onPromptFocus = () => {\n this.setState({ showKeypad: false });\n };\n\n UNSAFE_componentWillMount() {\n const { classes } = this.props;\n\n if (typeof window !== 'undefined') {\n // const MathQuill = require('@pie-framework/mathquill');\n let MQ = MathQuill.getInterface(2);\n\n if (!registered) {\n MQ.registerEmbed('answerBlock', (data) => {\n // not used until we implement individual answer tracking\n // const individualAnswerBlock = `<div class=\"${classes.blockContainer}\">\n // <div class=\"${classes.blockResponse}\" id=\"${data}Index\">R</div>\n // <div class=\"${classes.blockMath}\">\n // <span id=\"${data}\"></span>\n // </div>\n // </div>`;\n\n const genericAnswerBlock = `<div class=\"${cx(classes.blockContainer, classes.blockContainerGeneric)}\">\n <div class=\"${cx(classes.blockResponse, classes.blockResponseGeneric)}\" id=\"${data}Index\">Response</div>\n </div>`;\n\n return {\n htmlString: genericAnswerBlock,\n text: () => 'text',\n latex: () => `\\\\embed{answerBlock}[${data}]`,\n };\n });\n\n registered = true;\n }\n }\n }\n\n componentDidMount() {\n this.handleAnswerBlockDomUpdate();\n }\n\n componentDidUpdate() {\n this.handleAnswerBlockDomUpdate();\n }\n\n handleAnswerBlockDomUpdate = () => {\n const { model } = this.props;\n\n const responseAreas = {};\n\n if (model && model.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n model.expression.replace(REGEX, () => {\n responseAreas[`r${answerBlocks++}`] = {\n value: '',\n };\n });\n }\n\n if (!isEqual(responseAreas, this.state.responseAreas)) {\n this.setState(\n {\n responseAreas,\n },\n () => {\n if (this.root && Object.keys(responseAreas).length) {\n Object.keys(responseAreas).forEach((responseId, idx) => {\n const el = this.root.querySelector(`#${responseId}`);\n const indexEl = this.root.querySelector(`#${responseId}Index`);\n\n if (el) {\n // const MathQuill = require('@pie-framework/mathquill');\n let MQ = MathQuill.getInterface(2);\n // We no longer have individual answers, so we cannot set text content of blocks\n // el.textContent = response.answer;\n MQ.StaticMath(el);\n indexEl.textContent = `R${idx + 1}`;\n }\n });\n }\n },\n );\n }\n };\n\n onAddResponse = () => {\n const { model, onChange } = this.props;\n const { responseIdCounter } = this.state;\n const newModel = { ...model };\n\n let newCounter = responseIdCounter;\n\n while (model.responses.find((response) => response.id === newCounter)) {\n newCounter++;\n }\n\n const response = {\n id: newCounter,\n validation: 'literal',\n answer: '',\n alternates: {},\n };\n\n newModel.responses = newModel.responses.concat(response);\n onChange(newModel);\n\n this.setState({\n responseIdCounter: response.id,\n });\n };\n\n onResponseChange = (response, index) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.responses[index] = response;\n onChange(newModel);\n };\n\n render() {\n const {\n classes,\n model,\n imageSupport,\n uploadSoundSupport,\n configuration,\n promptEnabled,\n rationaleEnabled,\n toolbarOpts,\n } = this.props;\n const { showKeypad } = this.state;\n const {\n prompt,\n expression,\n equationEditor,\n promptEquationEditor = '8',\n responses,\n responseType,\n rationale,\n spellCheckEnabled,\n errors = {},\n } = model;\n const {\n rationale: cRationale = {},\n prompt: cPrompt = {},\n ignoreOrder: cIgnoreOrder = {},\n allowTrailingZeros: cAllowTrailingZeros = {},\n maxResponseAreas,\n maxImageWidth = {},\n maxImageHeight = {},\n } = configuration || {};\n const validationMessage = generateValidationMessage(configuration, model);\n const { responsesErrors, responseAreasError } = errors;\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const classNames = {\n editor: classes.responseEditor,\n mathToolbar: classes.mathToolbar,\n };\n\n const responsesToUse = responseType === ResponseTypes.advanced ? responses : responses.slice(0, 1);\n\n return (\n <div ref={(r) => (this.root = r || this.root)} className={classes.container}>\n {promptEnabled && (\n <InputContainer label={cPrompt.label} className={classes.promptHolder}>\n <EditableHtml\n onFocus={this.onPromptFocus}\n className={classes.prompt}\n markup={prompt || ''}\n onChange={this.onChange('prompt')}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n {rationaleEnabled && (\n <InputContainer label={cRationale.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={rationale || ''}\n pluginProps={{\n math: {\n controlledKeypadMode: false,\n },\n }}\n onChange={this.onChange('rationale')}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n <div className={classes.flexContainer} style={{ justifyContent: 'flex-start' }}>\n <h3>Define Response</h3>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '5px' }} />\n </Tooltip>\n </div>\n {responseAreasError && <div className={classes.errorText}>{responseAreasError}</div>}\n\n {responseType === ResponseTypes.advanced && [\n <InputContainer\n key=\"templateEditorType\"\n label=\"Response Template Equation Editor\"\n className={classes.selectContainer}\n >\n <Select\n className={classes.select}\n onChange={this.onChange('promptEquationEditor')}\n value={promptEquationEditor}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </Select>\n </InputContainer>,\n <div className={classes.inputContainer} key=\"templateHolder\">\n <InputLabel className={classes.templateTitle}>RESPONSE TEMPLATE</InputLabel>\n <MathToolbar\n classNames={classNames}\n allowAnswerBlock\n keypadMode={promptEquationEditor}\n controlledKeypad\n showKeypad={showKeypad}\n latex={prepareForStatic(expression) || ''}\n onChange={this.onChange('expression')}\n onFocus={this.onFocus}\n onDone={this.onDone}\n maxResponseAreas={maxResponseAreas}\n error={responseAreasError}\n />\n </div>,\n ]}\n <h4>Define Correct Response</h4>\n <div className={classes.flexContainer}>\n <InputContainer label=\"Equation Editor\" className={classes.selectContainer}>\n <Select className={classes.select} onChange={this.onChange('equationEditor')} value={equationEditor}>\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </Select>\n </InputContainer>\n </div>\n {responsesToUse.map((response, idx) => (\n <Response\n key={response.id}\n mode={equationEditor}\n response={response}\n defaultResponse={responseType === ResponseTypes.simple}\n onResponseChange={this.onResponseChange}\n index={idx}\n cIgnoreOrder={cIgnoreOrder}\n cAllowTrailingZeros={cAllowTrailingZeros}\n error={responsesErrors && responsesErrors[idx]}\n />\n ))}\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GeneralConfigBlock);\n"],"mappings":"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"}
|