@pie-element/math-inline 7.1.0-next.1 → 7.1.1-next.8
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/LICENSE.md +5 -0
- package/configure/lib/configure.js +1 -1
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/general-config-block.js +1 -1
- package/configure/lib/index.js +1 -1
- package/configure/lib/response.js +1 -1
- package/configure/lib/utils.js +1 -1
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/index.js +1 -1
- package/controller/lib/utils.js +1 -1
- package/lib/index.js +1 -1
- package/lib/main.js +1 -1
- package/lib/print.js +1 -1
- package/lib/simple-question-block.js +1 -1
- package/lib/utils.js +1 -1
- package/package.json +2 -2
- package/configure/lib/__tests__/configure.test.js +0 -249
- package/controller/lib/__tests__/index.test.js +0 -2344
- package/docs/demo/pie.manifest.json +0 -11
- package/lib/__tests__/main.test.js +0 -303
- package/lib/__tests__/simple-question-block.test.js +0 -115
- package/module/demo.js +0 -66
- package/module/element.js +0 -4560
- package/module/index.html +0 -21
- package/module/manifest.json +0 -10
- package/module/print-demo.js +0 -104
- package/module/print.html +0 -18
- package/module/print.js +0 -4385
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
8
|
-
|
|
9
|
-
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
|
|
11
|
-
var _enzyme = require("enzyme");
|
|
12
|
-
|
|
13
|
-
var _main = _interopRequireDefault(require("../main"));
|
|
14
|
-
|
|
15
|
-
var _mathInput = require("@pie-lib/pie-toolbox/math-input");
|
|
16
|
-
|
|
17
|
-
var _testUtils = require("@pie-lib/pie-toolbox/test-utils");
|
|
18
|
-
|
|
19
|
-
var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
|
|
20
|
-
|
|
21
|
-
var _correctAnswerToggle = require("@pie-lib/pie-toolbox/correct-answer-toggle");
|
|
22
|
-
|
|
23
|
-
var _simpleQuestionBlock = _interopRequireDefault(require("../simple-question-block"));
|
|
24
|
-
|
|
25
|
-
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); }
|
|
26
|
-
|
|
27
|
-
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; }
|
|
28
|
-
|
|
29
|
-
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; }
|
|
30
|
-
|
|
31
|
-
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; }
|
|
32
|
-
|
|
33
|
-
var Mathquill = require('@pie-framework/mathquill');
|
|
34
|
-
|
|
35
|
-
jest.mock('@pie-framework/mathquill', function () {
|
|
36
|
-
return {
|
|
37
|
-
StaticMath: jest.fn().mockReturnValue({
|
|
38
|
-
latex: jest.fn()
|
|
39
|
-
}),
|
|
40
|
-
registerEmbed: jest.fn(),
|
|
41
|
-
getInterface: jest.fn().mockReturnThis()
|
|
42
|
-
};
|
|
43
|
-
});
|
|
44
|
-
describe('Math-Inline Main', function () {
|
|
45
|
-
var defaultProps = {
|
|
46
|
-
onSessionChange: jest.fn(),
|
|
47
|
-
session: {},
|
|
48
|
-
model: {
|
|
49
|
-
id: '1',
|
|
50
|
-
element: 'math-inline',
|
|
51
|
-
correctness: {},
|
|
52
|
-
config: {
|
|
53
|
-
responseType: 'Advanced Multi',
|
|
54
|
-
element: 'math-inline',
|
|
55
|
-
question: '<p>The binomial <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>x</mi><mo>−</mo><mn>2</mn> </math> is a factor of the polynomial below.</p><p><span class="equation-block"><math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><msup> <mi>x</mi> <mn>3</mn> </msup> <mo>+</mo><msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo><mi>n</mi><mi>x</mi><mo>+</mo><mn>10</mn> </math> </span></p><p>What is the value of <span class="variable">n</span>? Use the on-screen keyboard to type the correct answer in the box.</p>',
|
|
56
|
-
expression: '\\text{A family sized box contains} {{response}} \\text{less than} {{response}} \\text{times the number }' + ' \\frac{3}{6}=\\frac{ {{response}} }{4} + \\frac{ {{response}} }{4}',
|
|
57
|
-
equationEditor: 'miscellaneous',
|
|
58
|
-
responses: [{
|
|
59
|
-
validation: 'literal',
|
|
60
|
-
answer: '\\frac{3}{6}=\\frac{1}{2}',
|
|
61
|
-
alternates: {}
|
|
62
|
-
}],
|
|
63
|
-
feedback: {
|
|
64
|
-
correct: {
|
|
65
|
-
type: 'none',
|
|
66
|
-
"default": 'Correct'
|
|
67
|
-
},
|
|
68
|
-
partial: {
|
|
69
|
-
type: 'none',
|
|
70
|
-
"default": 'Nearly'
|
|
71
|
-
},
|
|
72
|
-
incorrect: {
|
|
73
|
-
type: 'none',
|
|
74
|
-
"default": 'Incorrect'
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
note: 'The answer shown above is the primary correct answer specified by the author for this item, but other answers may also be recognized as correct.',
|
|
78
|
-
customKeys: ['\\left(\\right)', '\\frac{}{}', 'x\\frac{}{}']
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
var wrapper;
|
|
83
|
-
var component;
|
|
84
|
-
beforeEach(function () {
|
|
85
|
-
wrapper = (0, _enzyme.shallow)( /*#__PURE__*/React.createElement(_main["default"], defaultProps));
|
|
86
|
-
component = (0, _testUtils.shallowChild)(_main["default"], defaultProps, 1);
|
|
87
|
-
});
|
|
88
|
-
describe('render', function () {
|
|
89
|
-
it('renders correctly with snapshot', function () {
|
|
90
|
-
expect(wrapper).toMatchSnapshot();
|
|
91
|
-
});
|
|
92
|
-
it('renders correctly', function () {
|
|
93
|
-
expect(wrapper.find(_correctAnswerToggle.CorrectAnswerToggle).length).toEqual(0);
|
|
94
|
-
expect(wrapper.find(_renderUi.Feedback).length).toEqual(0);
|
|
95
|
-
expect(wrapper.dive().state()).toEqual({
|
|
96
|
-
activeAnswerBlock: '',
|
|
97
|
-
session: {
|
|
98
|
-
answers: {
|
|
99
|
-
r1: {
|
|
100
|
-
value: ''
|
|
101
|
-
},
|
|
102
|
-
r2: {
|
|
103
|
-
value: ''
|
|
104
|
-
},
|
|
105
|
-
r3: {
|
|
106
|
-
value: ''
|
|
107
|
-
},
|
|
108
|
-
r4: {
|
|
109
|
-
value: ''
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
showCorrect: false
|
|
114
|
-
});
|
|
115
|
-
expect(Mathquill.getInterface().registerEmbed).toHaveBeenCalled();
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
describe('logic', function () {
|
|
119
|
-
it('prepares latex correctly and answer blocks and turns them into inputs', function () {
|
|
120
|
-
expect(wrapper.dive().find(_mathInput.mq.Static).length).toEqual(1);
|
|
121
|
-
expect(wrapper.dive().find(_mathInput.mq.Static).props().latex).toEqual('\\text{A family sized box contains} \\MathQuillMathField[r1]{} \\text{less than} \\MathQuillMathField[r2]{} \\text{times the number } \\frac{3}{6}=\\frac{ \\MathQuillMathField[r3]{} }{4} + \\frac{ \\MathQuillMathField[r4]{} }{4}');
|
|
122
|
-
});
|
|
123
|
-
it('correctly renders simple interaction in case of simple mode', function () {
|
|
124
|
-
expect(wrapper.dive().find(_mathInput.mq.Static).length).toEqual(1);
|
|
125
|
-
expect(wrapper.dive().find(_simpleQuestionBlock["default"]).length).toEqual(0);
|
|
126
|
-
|
|
127
|
-
var simpleProps = _objectSpread({}, defaultProps);
|
|
128
|
-
|
|
129
|
-
simpleProps.model.config.responseType = 'Simple';
|
|
130
|
-
wrapper.setProps(simpleProps);
|
|
131
|
-
expect(wrapper.dive().find(_mathInput.mq.Static).length).toEqual(0);
|
|
132
|
-
expect(wrapper.dive().find(_simpleQuestionBlock["default"]).length).toEqual(1);
|
|
133
|
-
});
|
|
134
|
-
it('correctly shows the keypad', function () {
|
|
135
|
-
wrapper = component();
|
|
136
|
-
expect(wrapper.find(_mathInput.HorizontalKeypad).length).toEqual(0);
|
|
137
|
-
wrapper.instance().onSubFieldFocus('r1');
|
|
138
|
-
expect(wrapper.state()).toEqual({
|
|
139
|
-
activeAnswerBlock: 'r1',
|
|
140
|
-
session: {
|
|
141
|
-
answers: {
|
|
142
|
-
r1: {
|
|
143
|
-
value: ''
|
|
144
|
-
},
|
|
145
|
-
r2: {
|
|
146
|
-
value: ''
|
|
147
|
-
},
|
|
148
|
-
r3: {
|
|
149
|
-
value: ''
|
|
150
|
-
},
|
|
151
|
-
r4: {
|
|
152
|
-
value: ''
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
showCorrect: false
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
it('correctly keeps the keypad open', function () {
|
|
160
|
-
wrapper = component();
|
|
161
|
-
expect(wrapper.find(_mathInput.HorizontalKeypad).length).toEqual(0);
|
|
162
|
-
wrapper.instance().onSubFieldFocus('r1');
|
|
163
|
-
wrapper.instance().onBlur({
|
|
164
|
-
relatedTarget: {
|
|
165
|
-
offsetParent: {
|
|
166
|
-
children: [{
|
|
167
|
-
attributes: {
|
|
168
|
-
'data-keypad': true
|
|
169
|
-
}
|
|
170
|
-
}]
|
|
171
|
-
}
|
|
172
|
-
},
|
|
173
|
-
currentTarget: {
|
|
174
|
-
offsetParent: 'editor1'
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
|
-
expect(wrapper.state().activeAnswerBlock).toEqual('r1');
|
|
178
|
-
});
|
|
179
|
-
it('correctly hides the keypad', function () {
|
|
180
|
-
wrapper = component();
|
|
181
|
-
expect(wrapper.find(_mathInput.HorizontalKeypad).length).toEqual(0);
|
|
182
|
-
wrapper.instance().onBlur({
|
|
183
|
-
relatedTarget: {
|
|
184
|
-
offsetParent: {
|
|
185
|
-
children: [{
|
|
186
|
-
attributes: {
|
|
187
|
-
'data-keypad': false
|
|
188
|
-
}
|
|
189
|
-
}]
|
|
190
|
-
}
|
|
191
|
-
},
|
|
192
|
-
currentTarget: {
|
|
193
|
-
offsetParent: 'editor2'
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
expect(wrapper.state().activeAnswerBlock).toEqual('');
|
|
197
|
-
});
|
|
198
|
-
it('correctly pre-populates answers from session', function () {
|
|
199
|
-
wrapper = component({
|
|
200
|
-
session: {
|
|
201
|
-
answers: {
|
|
202
|
-
r1: {
|
|
203
|
-
value: '\\frac{n-5}{6}'
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
});
|
|
208
|
-
expect(wrapper.state()).toEqual({
|
|
209
|
-
activeAnswerBlock: '',
|
|
210
|
-
session: {
|
|
211
|
-
answers: {
|
|
212
|
-
r1: {
|
|
213
|
-
value: '\\frac{n-5}{6}'
|
|
214
|
-
},
|
|
215
|
-
r2: {
|
|
216
|
-
value: ''
|
|
217
|
-
},
|
|
218
|
-
r3: {
|
|
219
|
-
value: ''
|
|
220
|
-
},
|
|
221
|
-
r4: {
|
|
222
|
-
value: ''
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
},
|
|
226
|
-
showCorrect: false
|
|
227
|
-
});
|
|
228
|
-
});
|
|
229
|
-
it('correctly updates session in case of model change', function () {
|
|
230
|
-
wrapper = component();
|
|
231
|
-
wrapper.instance().subFieldChanged('r1', 'value');
|
|
232
|
-
expect(wrapper.state()).toEqual({
|
|
233
|
-
activeAnswerBlock: '',
|
|
234
|
-
session: {
|
|
235
|
-
answers: {
|
|
236
|
-
r1: {
|
|
237
|
-
value: 'value'
|
|
238
|
-
},
|
|
239
|
-
r2: {
|
|
240
|
-
value: ''
|
|
241
|
-
},
|
|
242
|
-
r3: {
|
|
243
|
-
value: ''
|
|
244
|
-
},
|
|
245
|
-
r4: {
|
|
246
|
-
value: ''
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
},
|
|
250
|
-
showCorrect: false
|
|
251
|
-
});
|
|
252
|
-
});
|
|
253
|
-
it('correctly updates session in case of subfield change', function () {
|
|
254
|
-
wrapper = component();
|
|
255
|
-
expect(wrapper.state()).toEqual({
|
|
256
|
-
activeAnswerBlock: '',
|
|
257
|
-
session: {
|
|
258
|
-
answers: {
|
|
259
|
-
r1: {
|
|
260
|
-
value: ''
|
|
261
|
-
},
|
|
262
|
-
r2: {
|
|
263
|
-
value: ''
|
|
264
|
-
},
|
|
265
|
-
r3: {
|
|
266
|
-
value: ''
|
|
267
|
-
},
|
|
268
|
-
r4: {
|
|
269
|
-
value: ''
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
},
|
|
273
|
-
showCorrect: false
|
|
274
|
-
});
|
|
275
|
-
|
|
276
|
-
var newProps = _objectSpread({}, defaultProps);
|
|
277
|
-
|
|
278
|
-
newProps.model.config.expression = defaultProps.model.config.expression + ' {{response}}';
|
|
279
|
-
wrapper.setProps(newProps);
|
|
280
|
-
expect(wrapper.state()).toEqual({
|
|
281
|
-
activeAnswerBlock: '',
|
|
282
|
-
session: {
|
|
283
|
-
answers: {
|
|
284
|
-
r1: {
|
|
285
|
-
value: ''
|
|
286
|
-
},
|
|
287
|
-
r2: {
|
|
288
|
-
value: ''
|
|
289
|
-
},
|
|
290
|
-
r3: {
|
|
291
|
-
value: ''
|
|
292
|
-
},
|
|
293
|
-
r4: {
|
|
294
|
-
value: ''
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
},
|
|
298
|
-
showCorrect: false
|
|
299
|
-
});
|
|
300
|
-
});
|
|
301
|
-
});
|
|
302
|
-
});
|
|
303
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWFpbi50ZXN0LmpzIl0sIm5hbWVzIjpbIk1hdGhxdWlsbCIsInJlcXVpcmUiLCJqZXN0IiwibW9jayIsIlN0YXRpY01hdGgiLCJmbiIsIm1vY2tSZXR1cm5WYWx1ZSIsImxhdGV4IiwicmVnaXN0ZXJFbWJlZCIsImdldEludGVyZmFjZSIsIm1vY2tSZXR1cm5UaGlzIiwiZGVzY3JpYmUiLCJkZWZhdWx0UHJvcHMiLCJvblNlc3Npb25DaGFuZ2UiLCJzZXNzaW9uIiwibW9kZWwiLCJpZCIsImVsZW1lbnQiLCJjb3JyZWN0bmVzcyIsImNvbmZpZyIsInJlc3BvbnNlVHlwZSIsInF1ZXN0aW9uIiwiZXhwcmVzc2lvbiIsImVxdWF0aW9uRWRpdG9yIiwicmVzcG9uc2VzIiwidmFsaWRhdGlvbiIsImFuc3dlciIsImFsdGVybmF0ZXMiLCJmZWVkYmFjayIsImNvcnJlY3QiLCJ0eXBlIiwicGFydGlhbCIsImluY29ycmVjdCIsIm5vdGUiLCJjdXN0b21LZXlzIiwid3JhcHBlciIsImNvbXBvbmVudCIsImJlZm9yZUVhY2giLCJNYWluIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJmaW5kIiwiQ29ycmVjdEFuc3dlclRvZ2dsZSIsImxlbmd0aCIsInRvRXF1YWwiLCJGZWVkYmFjayIsImRpdmUiLCJzdGF0ZSIsImFjdGl2ZUFuc3dlckJsb2NrIiwiYW5zd2VycyIsInIxIiwidmFsdWUiLCJyMiIsInIzIiwicjQiLCJzaG93Q29ycmVjdCIsInRvSGF2ZUJlZW5DYWxsZWQiLCJtcSIsIlN0YXRpYyIsInByb3BzIiwiU2ltcGxlUXVlc3Rpb25CbG9jayIsInNpbXBsZVByb3BzIiwic2V0UHJvcHMiLCJIb3Jpem9udGFsS2V5cGFkIiwiaW5zdGFuY2UiLCJvblN1YkZpZWxkRm9jdXMiLCJvbkJsdXIiLCJyZWxhdGVkVGFyZ2V0Iiwib2Zmc2V0UGFyZW50IiwiY2hpbGRyZW4iLCJhdHRyaWJ1dGVzIiwiY3VycmVudFRh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RztBQUlQQyxZQUFBQSxFQUFFLEVBQUU7QUFDRkQsY0FBQUEsS0FBSyxFQUFFO0FBREwsYUFKRztBQU9QRSxZQUFBQSxFQUFFLEVBQUU7QUFDRkYsY0FBQUEsS0FBSyxFQUFFO0FBREwsYUFQRztBQVVQRyxZQUFBQSxFQUFFLEVBQUU7QUFDRkgsY0FBQUEsS0FBSyxFQUFFO0FBREw7QUFWRztBQURGLFNBRnFCO0FBa0I5QkksUUFBQUEsV0FBVyxFQUFFO0FBbEJpQixPQUFoQztBQW9CRCxLQWxEQyxDQUFGO0FBbURELEdBcExPLENBQVI7QUFxTEQsQ0EzUU8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IE1haW4gZnJvbSAnLi4vbWFpbic7XG5pbXBvcnQgeyBtcSwgSG9yaXpvbnRhbEtleXBhZCB9IGZyb20gJ0BwaWUtbGliL3BpZS10b29sYm94L21hdGgtaW5wdXQnO1xuaW1wb3J0IHsgc2hhbGxvd0NoaWxkIH0gZnJvbSAnQHBpZS1saWIvcGllLXRvb2xib3gvdGVzdC11dGlscyc7XG5pbXBvcnQgeyBGZWVkYmFjayB9IGZyb20gJ0BwaWUtbGliL3BpZS10b29sYm94L3JlbmRlci11aSc7XG5pbXBvcnQge0NvcnJlY3RBbnN3ZXJUb2dnbGV9IGZyb20gJ0BwaWUtbGliL3BpZS10b29sYm94L2NvcnJlY3QtYW5zd2VyLXRvZ2dsZSc7XG5pbXBvcnQgU2ltcGxlUXVlc3Rpb25CbG9jayBmcm9tICcuLi9zaW1wbGUtcXVlc3Rpb24tYmxvY2snO1xuXG5jb25zdCBNYXRocXVpbGwgPSByZXF1aXJlKCdAcGllLWZyYW1ld29yay9tYXRocXVpbGwnKTtcblxuamVzdC5tb2NrKCdAcGllLWZyYW1ld29yay9tYXRocXVpbGwnLCAoKSA9PiAoe1xuICBTdGF0aWNNYXRoOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICBsYXRleDogamVzdC5mbigpLFxuICB9KSxcbiAgcmVnaXN0ZXJFbWJlZDogamVzdC5mbigpLFxuICBnZXRJbnRlcmZhY2U6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxufSkpO1xuXG5kZXNjcmliZSgnTWF0aC1JbmxpbmUgTWFpbicsICgpID0+IHtcbiAgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICAgIG9uU2Vzc2lvbkNoYW5nZTogamVzdC5mbigpLFxuICAgIHNlc3Npb246IHt9LFxuICAgIG1vZGVsOiB7XG4gICAgICBpZDogJzEnLFxuICAgICAgZWxlbWVudDogJ21hdGgtaW5saW5lJyxcbiAgICAgIGNvcnJlY3RuZXNzOiB7fSxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICByZXNwb25zZVR5cGU6ICdBZHZhbmNlZCBNdWx0aScsXG4gICAgICAgIGVsZW1lbnQ6ICdtYXRoLWlubGluZScsXG4gICAgICAgIHF1ZXN0aW9uOlxuICAgICAgICAgICc8cD5UaGUgYmlub21pYWwgPG1hdGggeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MXCI+IDxtaT54PC9taT48bW8+JiM4NzIyOzwvbW8+PG1uPjI8L21uPiA8L21hdGg+IGlzIGEgZmFjdG9yIG9mIHRoZSBwb2x5bm9taWFsIGJlbG93LjwvcD48cD48c3BhbiBjbGFzcz1cImVxdWF0aW9uLWJsb2NrXCI+PG1hdGggeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MXCI+IDxtaT5mPC9taT48bW8gc3RyZXRjaHk9XCJmYWxzZVwiPig8L21vPjxtaT54PC9taT48bW8gc3RyZXRjaHk9XCJmYWxzZVwiPik8L21vPjxtbz49PC9tbz48bXN1cD4gPG1pPng8L21pPiA8bW4+MzwvbW4+IDwvbXN1cD4gPG1vPis8L21vPjxtc3VwPiA8bWk+eDwvbWk+IDxtbj4yPC9tbj4gPC9tc3VwPiA8bW8+KzwvbW8+PG1pPm48L21pPjxtaT54PC9taT48bW8+KzwvbW8+PG1uPjEwPC9tbj4gPC9tYXRoPiA8L3NwYW4+PC9wPjxwPldoYXQgaXMgdGhlIHZhbHVlIG9mIDxzcGFuIGNsYXNzPVwidmFyaWFibGVcIj5uPC9zcGFuPj8gVXNlIHRoZSBvbi1zY3JlZW4ga2V5Ym9hcmQmIzE2MDt0byB0eXBlIHRoZSBjb3JyZWN0IGFuc3dlciBpbiB0aGUgYm94LjwvcD4nLFxuICAgICAgICBleHByZXNzaW9uOlxuICAgICAgICAgICdcXFxcdGV4dHtBIGZhbWlseSBzaXplZCBib3ggY29udGFpbnN9IHt7cmVzcG9uc2V9fSBcXFxcdGV4dHtsZXNzIHRoYW59IHt7cmVzcG9uc2V9fSBcXFxcdGV4dHt0aW1lcyB0aGUgbnVtYmVyICB9JyArXG4gICAgICAgICAgJyAgXFxcXGZyYWN7M317Nn09XFxcXGZyYWN7IHt7cmVzcG9uc2V9fSB9ezR9ICsgXFxcXGZyYWN7IHt7cmVzcG9uc2V9fSB9ezR9JyxcbiAgICAgICAgZXF1YXRpb25FZGl0b3I6ICdtaXNjZWxsYW5lb3VzJyxcbiAgICAgICAgcmVzcG9uc2VzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsaWRhdGlvbjogJ2xpdGVyYWwnLFxuICAgICAgICAgICAgYW5zd2VyOiAnXFxcXGZyYWN7M317Nn09XFxcXGZyYWN7MX17Mn0nLFxuICAgICAgICAgICAgYWx0ZXJuYXRlczoge30sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZmVlZGJhY2s6IHtcbiAgICAgICAgICBjb3JyZWN0OiB7XG4gICAgICAgICAgICB0eXBlOiAnbm9uZScsXG4gICAgICAgICAgICBkZWZhdWx0OiAnQ29ycmVjdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYXJ0aWFsOiB7XG4gICAgICAgICAgICB0eXBlOiAnbm9uZScsXG4gICAgICAgICAgICBkZWZhdWx0OiAnTmVhcmx5JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGluY29ycmVjdDoge1xuICAgICAgICAgICAgdHlwZTogJ25vbmUnLFxuICAgICAgICAgICAgZGVmYXVsdDogJ0luY29ycmVjdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbm90ZTogJ1RoZSBhbnN3ZXIgc2hvd24gYWJvdmUgaXMgdGhlIHByaW1hcnkgY29ycmVjdCBhbnN3ZXIgc3BlY2lmaWVkIGJ5IHRoZSBhdXRob3IgZm9yIHRoaXMgaXRlbSwgYnV0IG90aGVyIGFuc3dlcnMgbWF5IGFsc28gYmUgcmVjb2duaXplZCBhcyBjb3JyZWN0LicsXG4gICAgICAgIGN1c3RvbUtleXM6IFsnXFxcXGxlZnQoXFxcXHJpZ2h0KScsICdcXFxcZnJhY3t9e30nLCAneFxcXFxmcmFje317fSddLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIGxldCB3cmFwcGVyO1xuICBsZXQgY29tcG9uZW50O1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHdyYXBwZXIgPSBzaGFsbG93KDxNYWluIHsuLi5kZWZhdWx0UHJvcHN9IC8+KTtcbiAgICBjb21wb25lbnQgPSBzaGFsbG93Q2hpbGQoTWFpbiwgZGVmYXVsdFByb3BzLCAxKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlbmRlcicsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyBjb3JyZWN0bHkgd2l0aCBzbmFwc2hvdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdCh3cmFwcGVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIGNvcnJlY3RseScsICgpID0+IHtcbiAgICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoQ29ycmVjdEFuc3dlclRvZ2dsZSkubGVuZ3RoKS50b0VxdWFsKDApO1xuICAgICAgZXhwZWN0KHdyYXBwZXIuZmluZChGZWVkYmFjaykubGVuZ3RoKS50b0VxdWFsKDApO1xuXG4gICAgICBleHBlY3Qod3JhcHBlci5kaXZlKCkuc3RhdGUoKSkudG9FcXVhbCh7XG4gICAgICAgIGFjdGl2ZUFuc3dlckJsb2NrOiAnJyxcbiAgICAgICAgc2Vzc2lvbjoge1xuICAgICAgICAgIGFuc3dlcnM6IHtcbiAgICAgICAgICAgIHIxOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByMjoge1xuICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcjM6IHtcbiAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHI0OiB7XG4gICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChNYXRocXVpbGwuZ2V0SW50ZXJmYWNlKCkucmVnaXN0ZXJFbWJlZCkudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnbG9naWMnLCAoKSA9PiB7XG4gICAgaXQoJ3ByZXBhcmVzIGxhdGV4IGNvcnJlY3RseSBhbmQgYW5zd2VyIGJsb2NrcyBhbmQgdHVybnMgdGhlbSBpbnRvIGlucHV0cycsICgpID0+IHtcbiAgICAgIGV4cGVjdCh3cmFwcGVyLmRpdmUoKS5maW5kKG1xLlN0YXRpYykubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgICAgZXhwZWN0KHdyYXBwZXIuZGl2ZSgpLmZpbmQobXEuU3RhdGljKS5wcm9wcygpLmxhdGV4KS50b0VxdWFsKFxuICAgICAgICAnXFxcXHRleHR7QSBmYW1pbHkgc2l6ZWQgYm94IGNvbnRhaW5zfSBcXFxcTWF0aFF1aWxsTWF0aEZpZWxkW3IxXXt9IFxcXFx0ZXh0e2xlc3MgdGhhbn0gXFxcXE1hdGhRdWlsbE1hdGhGaWVsZFtyMl17fSBcXFxcdGV4dHt0aW1lcyB0aGUgbnVtYmVyICB9ICBcXFxcZnJhY3szfXs2fT1cXFxcZnJhY3sgXFxcXE1hdGhRdWlsbE1hdGhGaWVsZFtyM117fSB9ezR9ICsgXFxcXGZyYWN7IFxcXFxNYXRoUXVpbGxNYXRoRmllbGRbcjRde30gfXs0fScsXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NvcnJlY3RseSByZW5kZXJzIHNpbXBsZSBpbnRlcmFjdGlvbiBpbiBjYXNlIG9mIHNpbXBsZSBtb2RlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHdyYXBwZXIuZGl2ZSgpLmZpbmQobXEuU3RhdGljKS5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gICAgICBleHBlY3Qod3JhcHBlci5kaXZlKCkuZmluZChTaW1wbGVRdWVzdGlvbkJsb2NrKS5sZW5ndGgpLnRvRXF1YWwoMCk7XG5cbiAgICAgIGNvbnN0IHNpbXBsZVByb3BzID0geyAuLi5kZWZhdWx0UHJvcHMgfTtcbiAgICAgIHNpbXBsZVByb3BzLm1vZGVsLmNvbmZpZy5yZXNwb25zZVR5cGUgPSAnU2ltcGxlJztcblxuICAgICAgd3JhcHBlci5zZXRQcm9wcyhzaW1wbGVQcm9wcyk7XG5cbiAgICAgIGV4cGVjdCh3cmFwcGVyLmRpdmUoKS5maW5kKG1xLlN0YXRpYykubGVuZ3RoKS50b0VxdWFsKDApO1xuICAgICAgZXhwZWN0KHdyYXBwZXIuZGl2ZSgpLmZpbmQoU2ltcGxlUXVlc3Rpb25CbG9jaykubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NvcnJlY3RseSBzaG93cyB0aGUga2V5cGFkJywgKCkgPT4ge1xuICAgICAgd3JhcHBlciA9IGNvbXBvbmVudCgpO1xuXG4gICAgICBleHBlY3Qod3JhcHBlci5maW5kKEhvcml6b250YWxLZXlwYWQpLmxlbmd0aCkudG9FcXVhbCgwKTtcbiAgICAgIHdyYXBwZXIuaW5zdGFuY2UoKS5vblN1YkZpZWxkRm9jdXMoJ3IxJyk7XG4gICAgICBleHBlY3Qod3JhcHBlci5zdGF0ZSgpKS50b0VxdWFsKHtcbiAgICAgICAgYWN0aXZlQW5zd2VyQmxvY2s6ICdyMScsXG4gICAgICAgIHNlc3Npb246IHtcbiAgICAgICAgICBhbnN3ZXJzOiB7XG4gICAgICAgICAgICByMToge1xuICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcjI6IHtcbiAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHIzOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByNDoge1xuICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHNob3dDb3JyZWN0OiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NvcnJlY3RseSBrZWVwcyB0aGUga2V5cGFkIG9wZW4nLCAoKSA9PiB7XG4gICAgICB3cmFwcGVyID0gY29tcG9uZW50KCk7XG5cbiAgICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoSG9yaXpvbnRhbEtleXBhZCkubGVuZ3RoKS50b0VxdWFsKDApO1xuICAgICAgd3JhcHBlci5pbnN0YW5jZSgpLm9uU3ViRmllbGRGb2N1cygncjEnKTtcbiAgICAgIHdyYXBwZXIuaW5zdGFuY2UoKS5vbkJsdXIoe1xuICAgICAgICByZWxhdGVkVGFyZ2V0OiB7IG9mZnNldFBhcmVudDogeyBjaGlsZHJlbjogW3sgYXR0cmlidXRlczogeyAnZGF0YS1rZXlwYWQnOiB0cnVlIH0gfV0gfSB9LFxuICAgICAgICBjdXJyZW50VGFyZ2V0OiB7IG9mZnNldFBhcmVudDogJ2VkaXRvcjEnIH0sXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdCh3cmFwcGVyLnN0YXRlKCkuYWN0aXZlQW5zd2VyQmxvY2spLnRvRXF1YWwoJ3IxJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnY29ycmVjdGx5IGhpZGVzIHRoZSBrZXlwYWQnLCAoKSA9PiB7XG4gICAgICB3cmFwcGVyID0gY29tcG9uZW50KCk7XG5cbiAgICAgIGV4cGVjdCh3cmFwcGVyLmZpbmQoSG9yaXpvbnRhbEtleXBhZCkubGVuZ3RoKS50b0VxdWFsKDApO1xuICAgICAgd3JhcHBlci5pbnN0YW5jZSgpLm9uQmx1cih7XG4gICAgICAgIHJlbGF0ZWRUYXJnZXQ6IHsgb2Zmc2V0UGFyZW50OiB7IGNoaWxkcmVuOiBbeyBhdHRyaWJ1dGVzOiB7ICdkYXRhLWtleXBhZCc6IGZhbHNlIH0gfV0gfSB9LFxuICAgICAgICBjdXJyZW50VGFyZ2V0OiB7IG9mZnNldFBhcmVudDogJ2VkaXRvcjInIH0sXG4gICAgICB9KTtcbiAgICAgIGV4cGVjdCh3cmFwcGVyLnN0YXRlKCkuYWN0aXZlQW5zd2VyQmxvY2spLnRvRXF1YWwoJycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NvcnJlY3RseSBwcmUtcG9wdWxhdGVzIGFuc3dlcnMgZnJvbSBzZXNzaW9uJywgKCkgPT4ge1xuICAgICAgd3JhcHBlciA9IGNvbXBvbmVudCh7XG4gICAgICAgIHNlc3Npb246IHtcbiAgICAgICAgICBhbnN3ZXJzOiB7XG4gICAgICAgICAgICByMToge1xuICAgICAgICAgICAgICB2YWx1ZTogJ1xcXFxmcmFje24tNX17Nn0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBleHBlY3Qod3JhcHBlci5zdGF0ZSgpKS50b0VxdWFsKHtcbiAgICAgICAgYWN0aXZlQW5zd2VyQmxvY2s6ICcnLFxuICAgICAgICBzZXNzaW9uOiB7XG4gICAgICAgICAgYW5zd2Vyczoge1xuICAgICAgICAgICAgcjE6IHtcbiAgICAgICAgICAgICAgdmFsdWU6ICdcXFxcZnJhY3tuLTV9ezZ9JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByMjoge1xuICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcjM6IHtcbiAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHI0OiB7XG4gICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnY29ycmVjdGx5IHVwZGF0ZXMgc2Vzc2lvbiBpbiBjYXNlIG9mIG1vZGVsIGNoYW5nZScsICgpID0+IHtcbiAgICAgIHdyYXBwZXIgPSBjb21wb25lbnQoKTtcblxuICAgICAgd3JhcHBlci5pbnN0YW5jZSgpLnN1YkZpZWxkQ2hhbmdlZCgncjEnLCAndmFsdWUnKTtcbiAgICAgIGV4cGVjdCh3cmFwcGVyLnN0YXRlKCkpLnRvRXF1YWwoe1xuICAgICAgICBhY3RpdmVBbnN3ZXJCbG9jazogJycsXG4gICAgICAgIHNlc3Npb246IHtcbiAgICAgICAgICBhbnN3ZXJzOiB7XG4gICAgICAgICAgICByMToge1xuICAgICAgICAgICAgICB2YWx1ZTogJ3ZhbHVlJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByMjoge1xuICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcjM6IHtcbiAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHI0OiB7XG4gICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnY29ycmVjdGx5IHVwZGF0ZXMgc2Vzc2lvbiBpbiBjYXNlIG9mIHN1YmZpZWxkIGNoYW5nZScsICgpID0+IHtcbiAgICAgIHdyYXBwZXIgPSBjb21wb25lbnQoKTtcblxuICAgICAgZXhwZWN0KHdyYXBwZXIuc3RhdGUoKSkudG9FcXVhbCh7XG4gICAgICAgIGFjdGl2ZUFuc3dlckJsb2NrOiAnJyxcbiAgICAgICAgc2Vzc2lvbjoge1xuICAgICAgICAgIGFuc3dlcnM6IHtcbiAgICAgICAgICAgIHIxOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByMjoge1xuICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcjM6IHtcbiAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHI0OiB7XG4gICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG5ld1Byb3BzID0geyAuLi5kZWZhdWx0UHJvcHMgfTtcblxuICAgICAgbmV3UHJvcHMubW9kZWwuY29uZmlnLmV4cHJlc3Npb24gPSBkZWZhdWx0UHJvcHMubW9kZWwuY29uZmlnLmV4cHJlc3Npb24gKyAnIHt7cmVzcG9uc2V9fSc7XG5cbiAgICAgIHdyYXBwZXIuc2V0UHJvcHMobmV3UHJvcHMpO1xuXG4gICAgICBleHBlY3Qod3JhcHBlci5zdGF0ZSgpKS50b0VxdWFsKHtcbiAgICAgICAgYWN0aXZlQW5zd2VyQmxvY2s6ICcnLFxuICAgICAgICBzZXNzaW9uOiB7XG4gICAgICAgICAgYW5zd2Vyczoge1xuICAgICAgICAgICAgcjE6IHtcbiAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHIyOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByMzoge1xuICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcjQ6IHtcbiAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzaG93Q29ycmVjdDogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
8
|
-
|
|
9
|
-
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
|
|
11
|
-
var _mathInput = require("@pie-lib/pie-toolbox/math-input");
|
|
12
|
-
|
|
13
|
-
var _testUtils = require("@pie-lib/pie-toolbox/test-utils");
|
|
14
|
-
|
|
15
|
-
var _mathToolbar = require("@pie-lib/pie-toolbox/math-toolbar");
|
|
16
|
-
|
|
17
|
-
var _simpleQuestionBlock = _interopRequireDefault(require("../simple-question-block"));
|
|
18
|
-
|
|
19
|
-
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); }
|
|
20
|
-
|
|
21
|
-
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; }
|
|
22
|
-
|
|
23
|
-
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; }
|
|
24
|
-
|
|
25
|
-
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; }
|
|
26
|
-
|
|
27
|
-
describe('SimpleQuestionBlock', function () {
|
|
28
|
-
var defaultProps = {
|
|
29
|
-
model: {
|
|
30
|
-
config: {
|
|
31
|
-
mode: 'advanced',
|
|
32
|
-
feedback: {
|
|
33
|
-
correct: {
|
|
34
|
-
"default": 'Correct',
|
|
35
|
-
type: 'none'
|
|
36
|
-
},
|
|
37
|
-
incorrect: {
|
|
38
|
-
"default": 'Incorrect',
|
|
39
|
-
type: 'none'
|
|
40
|
-
},
|
|
41
|
-
partial: {
|
|
42
|
-
"default": 'Nearly',
|
|
43
|
-
type: 'none'
|
|
44
|
-
}
|
|
45
|
-
},
|
|
46
|
-
equationEditor: 'miscellaneous',
|
|
47
|
-
expression: 'n = {\\embed{answerBlock}[answerBlock1]}',
|
|
48
|
-
question: '<p>The binomial <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>x</mi><mo>−</mo><mn>2</mn> </math> is a factor of the polynomial below.</p><p><span class="equation-block"><math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><msup> <mi>x</mi> <mn>3</mn> </msup> <mo>+</mo><msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo><mi>n</mi><mi>x</mi><mo>+</mo><mn>10</mn> </math> </span></p><p>What is the value of <span class="variable">n</span>? Use the on-screen keyboard to type the correct answer in the box.</p>',
|
|
49
|
-
note: 'The answer shown above is the primary correct answer specified by the author for this item, but other answers may also be recognized as correct.',
|
|
50
|
-
responses: [{
|
|
51
|
-
answer: 'n=-11',
|
|
52
|
-
id: 'answerBlock1',
|
|
53
|
-
alternates: {},
|
|
54
|
-
validation: 'literal'
|
|
55
|
-
}],
|
|
56
|
-
response: {
|
|
57
|
-
answer: 'n=-11',
|
|
58
|
-
id: 'answerBlock1',
|
|
59
|
-
alternates: {},
|
|
60
|
-
validation: 'literal'
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
correctness: {},
|
|
65
|
-
showCorrect: false,
|
|
66
|
-
session: {
|
|
67
|
-
response: 'sessionResponse'
|
|
68
|
-
},
|
|
69
|
-
onSimpleResponseChange: jest.fn()
|
|
70
|
-
};
|
|
71
|
-
var wrapper;
|
|
72
|
-
var component;
|
|
73
|
-
beforeEach(function () {
|
|
74
|
-
wrapper = (0, _testUtils.shallowChild)(_simpleQuestionBlock["default"], defaultProps, 1);
|
|
75
|
-
});
|
|
76
|
-
it('renders correctly for not showing correct mode', function () {
|
|
77
|
-
component = wrapper();
|
|
78
|
-
expect(component.find(_mathInput.mq.Static).length).toEqual(0);
|
|
79
|
-
expect(component.find(_mathToolbar.MathToolbar).length).toEqual(1);
|
|
80
|
-
expect(component.find(_mathToolbar.MathToolbar).props().latex).toEqual('sessionResponse');
|
|
81
|
-
});
|
|
82
|
-
it('renders correctly for showing correct mode', function () {
|
|
83
|
-
component = wrapper(_objectSpread(_objectSpread({}, defaultProps), {}, {
|
|
84
|
-
showCorrect: true
|
|
85
|
-
}));
|
|
86
|
-
expect(component.find(_mathInput.mq.Static).length).toEqual(1);
|
|
87
|
-
expect(component.find(_mathToolbar.MathToolbar).length).toEqual(0);
|
|
88
|
-
expect(component.find(_mathInput.mq.Static).props().latex).toEqual('n=-11');
|
|
89
|
-
});
|
|
90
|
-
it('correctly keeps the keypad open', function () {
|
|
91
|
-
component = wrapper();
|
|
92
|
-
component.instance().onFocus();
|
|
93
|
-
expect(component.state().showKeypad).toEqual(true); // hardcoded
|
|
94
|
-
|
|
95
|
-
component.instance().mathToolBarContainsTarget = function () {
|
|
96
|
-
return true;
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
component.instance().handleClick();
|
|
100
|
-
expect(component.state().showKeypad).toEqual(true);
|
|
101
|
-
});
|
|
102
|
-
it('correctly hides the keypad', function () {
|
|
103
|
-
component = wrapper();
|
|
104
|
-
component.instance().onFocus();
|
|
105
|
-
expect(component.state().showKeypad).toEqual(true); // hardcoded
|
|
106
|
-
|
|
107
|
-
component.instance().mathToolBarContainsTarget = function () {
|
|
108
|
-
return false;
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
component.instance().handleClick();
|
|
112
|
-
expect(component.state().showKeypad).toEqual(false);
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vc2ltcGxlLXF1ZXN0aW9uLWJsb2NrLnRlc3QuanMiXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJkZWZhdWx0UHJvcHMiLCJtb2RlbCIsImNvbmZpZyIsIm1vZGUiLCJmZWVkYmFjayIsImNvcnJlY3QiLCJ0eXBlIiwiaW5jb3JyZWN0IiwicGFydGlhbCIsImVxdWF0aW9uRWRpdG9yIiwiZXhwcmVzc2lvbiIsInF1ZXN0aW9uIiwibm90ZSIsInJlc3BvbnNlcyIsImFuc3dlciIsImlkIiwiYWx0ZXJuYXRlcyIsInZhbGlkYXRpb24iLCJyZXNwb25zZSIsImNvcnJlY3RuZXNzIiwic2hvd0NvcnJlY3QiLCJzZXNzaW9uIiwib25TaW1wbGVSZXNwb25zZUNoYW5nZSIsImplc3QiLCJmbiIsIndyYXBwZXIiLCJjb21wb25lbnQiLCJiZWZvcmVFYWNoIiwiU2ltcGxlUXVlc3Rpb25CbG9jayIsIml0IiwiZXhwZWN0IiwiZmluZCIsIm1xIiwiU3RhdGljIiwibGVuZ3RoIiwidG9FcXVhbCIsIk1hdGhUb29sYmFyIiwicHJvcHMiLCJsYXRleCIsImluc3RhbmNlIiwib25Gb2N1cyIsInN0YXRlIiwic2hvd0tleXBhZCIsIm1hdGhUb29sQmFyQ29udGFpbnNUYXJnZXQiLCJoYW5kbGVDbGljayJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBQSxRQUFRLENBQUMscUJBQUQsRUFBd0IsWUFBTTtBQUNwQyxNQUFNQyxZQUFZLEdBQUc7QUFDbkJDLElBQUFBLEtBQUssRUFBRTtBQUNMQyxNQUFBQSxNQUFNLEVBQUU7QUFDTkMsUUFBQUEsSUFBSSxFQUFFLFVBREE7QUFFTkMsUUFBQUEsUUFBUSxFQUFFO0FBQ1JDLFVBQUFBLE9BQU8sRUFBRTtBQUNQLHVCQUFTLFNBREY7QUFFUEMsWUFBQUEsSUFBSSxFQUFFO0FBRkMsV0FERDtBQUtSQyxVQUFBQSxTQUFTLEVBQUU7QUFD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QUFBQSxNQUFNLENBQUNKLFNBQVMsQ0FBQ2UsS0FBVixHQUFrQkMsVUFBbkIsQ0FBTixDQUFxQ1AsT0FBckMsQ0FBNkMsSUFBN0MsRUFKMEMsQ0FNMUM7O0FBQ0FULElBQUFBLFNBQVMsQ0FBQ2EsUUFBVixHQUFxQkkseUJBQXJCLEdBQWlEO0FBQUEsYUFBTSxJQUFOO0FBQUEsS0FBakQ7O0FBQ0FqQixJQUFBQSxTQUFTLENBQUNhLFFBQVYsR0FBcUJLLFdBQXJCO0FBRUFkLElBQUFBLE1BQU0sQ0FBQ0osU0FBUyxDQUFDZSxLQUFWLEdBQWtCQyxVQUFuQixDQUFOLENBQXFDUCxPQUFyQyxDQUE2QyxJQUE3QztBQUNELEdBWEMsQ0FBRjtBQWFBTixFQUFBQSxFQUFFLENBQUMsNEJBQUQsRUFBK0IsWUFBTTtBQUNyQ0gsSUFBQUEsU0FBUyxHQUFHRCxPQUFPLEVBQW5CO0FBRUFDLElBQUFBLFNBQVMsQ0FBQ2EsUUFBVixHQUFxQkMsT0FBckI7QUFDQVYsSUFBQUEsTUFBTSxDQUFDSixTQUFTLENBQUNlLEtBQVYsR0FBa0JDLFVBQW5CLENBQU4sQ0FBcUNQLE9BQXJDLENBQTZDLElBQTdDLEVBSnFDLENBTXJDOztBQUNBVCxJQUFBQSxTQUFTLENBQUNhLFFBQVYsR0FBcUJJLHlCQUFyQixHQUFpRDtBQUFBLGFBQU0sS0FBTjtBQUFBLEtBQWpEOztBQUNBakIsSUFBQUEsU0FBUyxDQUFDYSxRQUFWLEdBQXFCSyxXQUFyQjtBQUVBZCxJQUFBQSxNQUFNLENBQUNKLFNBQVMsQ0FBQ2UsS0FBVixHQUFrQkMsVUFBbkIsQ0FBTixDQUFxQ1AsT0FBckMsQ0FBNkMsS0FBN0M7QUFDRCxHQVhDLENBQUY7QUFZRCxDQWhHTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbXEgfSBmcm9tICdAcGllLWxpYi9waWUtdG9vbGJveC9tYXRoLWlucHV0JztcbmltcG9ydCB7IHNoYWxsb3dDaGlsZCB9IGZyb20gJ0BwaWUtbGliL3BpZS10b29sYm94L3Rlc3QtdXRpbHMnO1xuaW1wb3J0IHsgTWF0aFRvb2xiYXIgfSBmcm9tICdAcGllLWxpYi9waWUtdG9vbGJveC9tYXRoLXRvb2xiYXInO1xuaW1wb3J0IFNpbXBsZVF1ZXN0aW9uQmxvY2sgZnJvbSAnLi4vc2ltcGxlLXF1ZXN0aW9uLWJsb2NrJztcblxuZGVzY3JpYmUoJ1NpbXBsZVF1ZXN0aW9uQmxvY2snLCAoKSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgICBtb2RlbDoge1xuICAgICAgY29uZmlnOiB7XG4gICAgICAgIG1vZGU6ICdhZHZhbmNlZCcsXG4gICAgICAgIGZlZWRiYWNrOiB7XG4gICAgICAgICAgY29ycmVjdDoge1xuICAgICAgICAgICAgZGVmYXVsdDogJ0NvcnJlY3QnLFxuICAgICAgICAgICAgdHlwZTogJ25vbmUnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5jb3JyZWN0OiB7XG4gICAgICAgICAgICBkZWZhdWx0OiAnSW5jb3JyZWN0JyxcbiAgICAgICAgICAgIHR5cGU6ICdub25lJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBhcnRpYWw6IHtcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdOZWFybHknLFxuICAgICAgICAgICAgdHlwZTogJ25vbmUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGVxdWF0aW9uRWRpdG9yOiAnbWlzY2VsbGFuZW91cycsXG4gICAgICAgIGV4cHJlc3Npb246ICduID0ge1xcXFxlbWJlZHthbnN3ZXJCbG9ja31bYW5zd2VyQmxvY2sxXX0nLFxuICAgICAgICBxdWVzdGlvbjpcbiAgICAgICAgICAnPHA+VGhlIGJpbm9taWFsIDxtYXRoIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTFwiPiA8bWk+eDwvbWk+PG1vPiYjODcyMjs8L21vPjxtbj4yPC9tbj4gPC9tYXRoPiBpcyBhIGZhY3RvciBvZiB0aGUgcG9seW5vbWlhbCBiZWxvdy48L3A+PHA+PHNwYW4gY2xhc3M9XCJlcXVhdGlvbi1ibG9ja1wiPjxtYXRoIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTFwiPiA8bWk+ZjwvbWk+PG1vIHN0cmV0Y2h5PVwiZmFsc2VcIj4oPC9tbz48bWk+eDwvbWk+PG1vIHN0cmV0Y2h5PVwiZmFsc2VcIj4pPC9tbz48bW8+PTwvbW8+PG1zdXA+IDxtaT54PC9taT4gPG1uPjM8L21uPiA8L21zdXA+IDxtbz4rPC9tbz48bXN1cD4gPG1pPng8L21pPiA8bW4+MjwvbW4+IDwvbXN1cD4gPG1vPis8L21vPjxtaT5uPC9taT48bWk+eDwvbWk+PG1vPis8L21vPjxtbj4xMDwvbW4+IDwvbWF0aD4gPC9zcGFuPjwvcD48cD5XaGF0IGlzIHRoZSB2YWx1ZSBvZiA8c3BhbiBjbGFzcz1cInZhcmlhYmxlXCI+bjwvc3Bhbj4/IFVzZSB0aGUgb24tc2NyZWVuIGtleWJvYXJkJiMxNjA7dG8gdHlwZSB0aGUgY29ycmVjdCBhbnN3ZXIgaW4gdGhlIGJveC48L3A+JyxcbiAgICAgICAgbm90ZTogJ1RoZSBhbnN3ZXIgc2hvd24gYWJvdmUgaXMgdGhlIHByaW1hcnkgY29ycmVjdCBhbnN3ZXIgc3BlY2lmaWVkIGJ5IHRoZSBhdXRob3IgZm9yIHRoaXMgaXRlbSwgYnV0IG90aGVyIGFuc3dlcnMgbWF5IGFsc28gYmUgcmVjb2duaXplZCBhcyBjb3JyZWN0LicsXG4gICAgICAgIHJlc3BvbnNlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFuc3dlcjogJ249LTExJyxcbiAgICAgICAgICAgIGlkOiAnYW5zd2VyQmxvY2sxJyxcbiAgICAgICAgICAgIGFsdGVybmF0ZXM6IHt9LFxuICAgICAgICAgICAgdmFsaWRhdGlvbjogJ2xpdGVyYWwnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHJlc3BvbnNlOiB7XG4gICAgICAgICAgYW5zd2VyOiAnbj0tMTEnLFxuICAgICAgICAgIGlkOiAnYW5zd2VyQmxvY2sxJyxcbiAgICAgICAgICBhbHRlcm5hdGVzOiB7fSxcbiAgICAgICAgICB2YWxpZGF0aW9uOiAnbGl0ZXJhbCcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgY29ycmVjdG5lc3M6IHt9LFxuICAgIHNob3dDb3JyZWN0OiBmYWxzZSxcbiAgICBzZXNzaW9uOiB7XG4gICAgICByZXNwb25zZTogJ3Nlc3Npb25SZXNwb25zZScsXG4gICAgfSxcbiAgICBvblNpbXBsZVJlc3BvbnNlQ2hhbmdlOiBqZXN0LmZuKCksXG4gIH07XG5cbiAgbGV0IHdyYXBwZXI7XG4gIGxldCBjb21wb25lbnQ7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgd3JhcHBlciA9IHNoYWxsb3dDaGlsZChTaW1wbGVRdWVzdGlvbkJsb2NrLCBkZWZhdWx0UHJvcHMsIDEpO1xuICB9KTtcblxuICBpdCgncmVuZGVycyBjb3JyZWN0bHkgZm9yIG5vdCBzaG93aW5nIGNvcnJlY3QgbW9kZScsICgpID0+IHtcbiAgICBjb21wb25lbnQgPSB3cmFwcGVyKCk7XG5cbiAgICBleHBlY3QoY29tcG9uZW50LmZpbmQobXEuU3RhdGljKS5sZW5ndGgpLnRvRXF1YWwoMCk7XG4gICAgZXhwZWN0KGNvbXBvbmVudC5maW5kKE1hdGhUb29sYmFyKS5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gICAgZXhwZWN0KGNvbXBvbmVudC5maW5kKE1hdGhUb29sYmFyKS5wcm9wcygpLmxhdGV4KS50b0VxdWFsKCdzZXNzaW9uUmVzcG9uc2UnKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbmRlcnMgY29ycmVjdGx5IGZvciBzaG93aW5nIGNvcnJlY3QgbW9kZScsICgpID0+IHtcbiAgICBjb21wb25lbnQgPSB3cmFwcGVyKHsgLi4uZGVmYXVsdFByb3BzLCBzaG93Q29ycmVjdDogdHJ1ZSB9KTtcblxuICAgIGV4cGVjdChjb21wb25lbnQuZmluZChtcS5TdGF0aWMpLmxlbmd0aCkudG9FcXVhbCgxKTtcbiAgICBleHBlY3QoY29tcG9uZW50LmZpbmQoTWF0aFRvb2xiYXIpLmxlbmd0aCkudG9FcXVhbCgwKTtcbiAgICBleHBlY3QoY29tcG9uZW50LmZpbmQobXEuU3RhdGljKS5wcm9wcygpLmxhdGV4KS50b0VxdWFsKCduPS0xMScpO1xuICB9KTtcblxuICBpdCgnY29ycmVjdGx5IGtlZXBzIHRoZSBrZXlwYWQgb3BlbicsICgpID0+IHtcbiAgICBjb21wb25lbnQgPSB3cmFwcGVyKCk7XG5cbiAgICBjb21wb25lbnQuaW5zdGFuY2UoKS5vbkZvY3VzKCk7XG4gICAgZXhwZWN0KGNvbXBvbmVudC5zdGF0ZSgpLnNob3dLZXlwYWQpLnRvRXF1YWwodHJ1ZSk7XG5cbiAgICAvLyBoYXJkY29kZWRcbiAgICBjb21wb25lbnQuaW5zdGFuY2UoKS5tYXRoVG9vbEJhckNvbnRhaW5zVGFyZ2V0ID0gKCkgPT4gdHJ1ZTtcbiAgICBjb21wb25lbnQuaW5zdGFuY2UoKS5oYW5kbGVDbGljaygpO1xuXG4gICAgZXhwZWN0KGNvbXBvbmVudC5zdGF0ZSgpLnNob3dLZXlwYWQpLnRvRXF1YWwodHJ1ZSk7XG4gIH0pO1xuXG4gIGl0KCdjb3JyZWN0bHkgaGlkZXMgdGhlIGtleXBhZCcsICgpID0+IHtcbiAgICBjb21wb25lbnQgPSB3cmFwcGVyKCk7XG5cbiAgICBjb21wb25lbnQuaW5zdGFuY2UoKS5vbkZvY3VzKCk7XG4gICAgZXhwZWN0KGNvbXBvbmVudC5zdGF0ZSgpLnNob3dLZXlwYWQpLnRvRXF1YWwodHJ1ZSk7XG5cbiAgICAvLyBoYXJkY29kZWRcbiAgICBjb21wb25lbnQuaW5zdGFuY2UoKS5tYXRoVG9vbEJhckNvbnRhaW5zVGFyZ2V0ID0gKCkgPT4gZmFsc2U7XG4gICAgY29tcG9uZW50Lmluc3RhbmNlKCkuaGFuZGxlQ2xpY2soKTtcblxuICAgIGV4cGVjdChjb21wb25lbnQuc3RhdGUoKS5zaG93S2V5cGFkKS50b0VxdWFsKGZhbHNlKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
package/module/demo.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import Configure from './configure.js';
|
|
2
|
-
import Element from './element.js';
|
|
3
|
-
import * as controller from './controller.js';
|
|
4
|
-
|
|
5
|
-
var generate = {};
|
|
6
|
-
|
|
7
|
-
/* const initialModel = {
|
|
8
|
-
customKeys: [],
|
|
9
|
-
equationEditor: 'geometry',
|
|
10
|
-
responseType: 'Advanced Multi',
|
|
11
|
-
expression: '{{response}}',
|
|
12
|
-
responses: [
|
|
13
|
-
{
|
|
14
|
-
answer: 'r=\\sqrt{\\frac{V}{7\\pi}}',
|
|
15
|
-
id: '1',
|
|
16
|
-
alternates: {},
|
|
17
|
-
validation: 'literal',
|
|
18
|
-
},
|
|
19
|
-
],
|
|
20
|
-
note: 'The answer shown above is the primary correct answer specified by the author for this item, but other answers may also be recognized as correct.',
|
|
21
|
-
rationale:
|
|
22
|
-
'<p>The correct answer is:</p><ul><li><math xmlns="http://www.w3.org/1998/Math/MathML"><mi>r</mi><mo>=</mo><msqrt><mfrac><mi>V</mi><mrow><mn>7</mn><mi>π</mi></mrow></mfrac></msqrt></math></li></ul>',
|
|
23
|
-
}; */
|
|
24
|
-
|
|
25
|
-
const E262456 = {
|
|
26
|
-
equationEditor: 3,
|
|
27
|
-
toolbarEditorPosition: 'bottom',
|
|
28
|
-
prompt:
|
|
29
|
-
'<p><strong>B.</strong> Find the value of the expression that you wrote in part A to find how much money the band members made.</p>\n\n<p>Use the on-screen keyboard to type your answer in the box below.</p>\n',
|
|
30
|
-
expression: '${{response}}',
|
|
31
|
-
responses: [
|
|
32
|
-
{
|
|
33
|
-
allowSpaces: true,
|
|
34
|
-
// 'validation': 'symbolic',
|
|
35
|
-
answer: '$410',
|
|
36
|
-
id: '1',
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
responseType: 'Advanced Multi',
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
generate.model = (id, element) => ({
|
|
43
|
-
id,
|
|
44
|
-
element,
|
|
45
|
-
...E262456,
|
|
46
|
-
rubricEnabled: false,
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
const { model } = generate;
|
|
50
|
-
|
|
51
|
-
var config = {
|
|
52
|
-
elements: {
|
|
53
|
-
'math-inline': '../..',
|
|
54
|
-
},
|
|
55
|
-
models: [model('1', 'math-inline')],
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
//Note: demo-el is a custom element loaded in the markup.
|
|
59
|
-
customElements.whenDefined("demo-el").then(() => {
|
|
60
|
-
config.models.forEach((m) => {
|
|
61
|
-
const de = document.createElement("demo-el");
|
|
62
|
-
document.body.appendChild(de);
|
|
63
|
-
de.def = { tagName: m.element, Element, Configure, controller };
|
|
64
|
-
de.model = m;
|
|
65
|
-
});
|
|
66
|
-
});
|