@pie-element/multiple-choice 7.6.1-beta.1 → 7.6.1-beta.3
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/package.json +3 -3
- package/package.json +3 -3
- package/configure/lib/__tests__/root.test.js +0 -271
- package/configure/lib/defaults.js +0 -120
- package/configure/lib/index.js +0 -212
- package/configure/lib/main.js +0 -492
- package/configure/lib/utils.js +0 -18
- package/controller/lib/__tests__/index.test.js +0 -864
- package/controller/lib/__tests__/utils.test.js +0 -8
- package/controller/lib/defaults.js +0 -18
- package/controller/lib/index.js +0 -305
- package/controller/lib/utils.js +0 -36
- package/docs/demo/pie.manifest.json +0 -11
- package/lib/__tests__/choice-input-test.js +0 -124
- package/lib/__tests__/index-test.js +0 -22
- package/lib/__tests__/multiple-choice-test.js +0 -237
- package/lib/__tests__/session-updater-test.js +0 -72
- package/lib/choice-input.js +0 -298
- package/lib/choice.js +0 -157
- package/lib/feedback-tick.js +0 -174
- package/lib/index.js +0 -151
- package/lib/main.js +0 -100
- package/lib/multiple-choice.js +0 -263
- package/lib/print.js +0 -129
- package/lib/session-updater.js +0 -35
package/lib/multiple-choice.js
DELETED
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = exports.MultipleChoice = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
|
-
var _react = _interopRequireDefault(require("react"));
|
|
25
|
-
|
|
26
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
|
-
var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
|
|
29
|
-
|
|
30
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
31
|
-
|
|
32
|
-
var _styles = require("@material-ui/core/styles");
|
|
33
|
-
|
|
34
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
35
|
-
|
|
36
|
-
var _choice = _interopRequireDefault(require("./choice"));
|
|
37
|
-
|
|
38
|
-
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); }; }
|
|
39
|
-
|
|
40
|
-
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; } }
|
|
41
|
-
|
|
42
|
-
// MultipleChoice
|
|
43
|
-
var styles = {
|
|
44
|
-
corespringChoice: {
|
|
45
|
-
backgroundColor: _renderUi.color.background(),
|
|
46
|
-
padding: '5px',
|
|
47
|
-
'& *': {
|
|
48
|
-
'-webkit-font-smoothing': 'antialiased'
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
horizontalLayout: {
|
|
52
|
-
display: 'flex',
|
|
53
|
-
flexDirection: 'row',
|
|
54
|
-
flexWrap: 'wrap'
|
|
55
|
-
},
|
|
56
|
-
gridLayout: {
|
|
57
|
-
display: 'grid'
|
|
58
|
-
},
|
|
59
|
-
getColumns: function getColumns(columns) {
|
|
60
|
-
return columns > 1 ? {
|
|
61
|
-
gridTemplateColumns: "repeat(".concat(columns, ", 1fr)")
|
|
62
|
-
} : undefined;
|
|
63
|
-
},
|
|
64
|
-
fieldset: {
|
|
65
|
-
border: '0px',
|
|
66
|
-
padding: '0.01em 0 0 0',
|
|
67
|
-
margin: '0px',
|
|
68
|
-
minWidth: '0px'
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
var MultipleChoice = /*#__PURE__*/function (_React$Component) {
|
|
73
|
-
(0, _inherits2["default"])(MultipleChoice, _React$Component);
|
|
74
|
-
|
|
75
|
-
var _super = _createSuper(MultipleChoice);
|
|
76
|
-
|
|
77
|
-
function MultipleChoice(props) {
|
|
78
|
-
var _this;
|
|
79
|
-
|
|
80
|
-
(0, _classCallCheck2["default"])(this, MultipleChoice);
|
|
81
|
-
_this = _super.call(this, props);
|
|
82
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getCorrectness", function () {
|
|
83
|
-
var choice = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
84
|
-
var isCorrect = choice.correct;
|
|
85
|
-
|
|
86
|
-
var isChecked = _this.isSelected(choice.value);
|
|
87
|
-
|
|
88
|
-
if (_this.state.showCorrect) {
|
|
89
|
-
return isCorrect ? 'correct' : undefined;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
if (isCorrect) {
|
|
93
|
-
if (isChecked) {
|
|
94
|
-
// A correct answer is selected: marked with a green checkmark
|
|
95
|
-
return 'correct';
|
|
96
|
-
} else {
|
|
97
|
-
// A correct answer is NOT selected: marked with an orange X
|
|
98
|
-
return 'incorrect';
|
|
99
|
-
}
|
|
100
|
-
} else {
|
|
101
|
-
if (isChecked) {
|
|
102
|
-
// An incorrect answer is selected: marked with an orange X
|
|
103
|
-
return 'incorrect';
|
|
104
|
-
} else {
|
|
105
|
-
// An incorrect answer is NOT selected: not marked
|
|
106
|
-
return undefined;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
_this.state = {
|
|
111
|
-
showCorrect: _this.props.alwaysShowCorrect || false
|
|
112
|
-
};
|
|
113
|
-
_this.onToggle = _this.onToggle.bind((0, _assertThisInitialized2["default"])(_this));
|
|
114
|
-
return _this;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
(0, _createClass2["default"])(MultipleChoice, [{
|
|
118
|
-
key: "onToggle",
|
|
119
|
-
value: function onToggle() {
|
|
120
|
-
if (this.props.mode === 'evaluate') {
|
|
121
|
-
this.setState({
|
|
122
|
-
showCorrect: !this.state.showCorrect
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}, {
|
|
127
|
-
key: "UNSAFE_componentWillReceiveProps",
|
|
128
|
-
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
129
|
-
if (!nextProps.correctResponse) {
|
|
130
|
-
this.setState({
|
|
131
|
-
showCorrect: false
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
if (nextProps.alwaysShowCorrect) {
|
|
136
|
-
this.setState({
|
|
137
|
-
showCorrect: true
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}, {
|
|
142
|
-
key: "isSelected",
|
|
143
|
-
value: function isSelected(value) {
|
|
144
|
-
var sessionValue = this.props.session && this.props.session.value;
|
|
145
|
-
return sessionValue && sessionValue.indexOf && sessionValue.indexOf(value) >= 0;
|
|
146
|
-
}
|
|
147
|
-
}, {
|
|
148
|
-
key: "indexToSymbol",
|
|
149
|
-
value: function indexToSymbol(index) {
|
|
150
|
-
if (this.props.keyMode === 'numbers') {
|
|
151
|
-
return "".concat(index + 1);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
if (this.props.keyMode === 'letters') {
|
|
155
|
-
return String.fromCharCode(97 + index).toUpperCase();
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
return '';
|
|
159
|
-
}
|
|
160
|
-
}, {
|
|
161
|
-
key: "render",
|
|
162
|
-
value: function render() {
|
|
163
|
-
var _this2 = this;
|
|
164
|
-
|
|
165
|
-
var _this$props = this.props,
|
|
166
|
-
mode = _this$props.mode,
|
|
167
|
-
disabled = _this$props.disabled,
|
|
168
|
-
_this$props$choices = _this$props.choices,
|
|
169
|
-
choices = _this$props$choices === void 0 ? [] : _this$props$choices,
|
|
170
|
-
choiceMode = _this$props.choiceMode,
|
|
171
|
-
prompt = _this$props.prompt,
|
|
172
|
-
onChoiceChanged = _this$props.onChoiceChanged,
|
|
173
|
-
responseCorrect = _this$props.responseCorrect,
|
|
174
|
-
teacherInstructions = _this$props.teacherInstructions,
|
|
175
|
-
classes = _this$props.classes,
|
|
176
|
-
alwaysShowCorrect = _this$props.alwaysShowCorrect,
|
|
177
|
-
animationsDisabled = _this$props.animationsDisabled;
|
|
178
|
-
var showCorrect = this.state.showCorrect;
|
|
179
|
-
var isEvaluateMode = mode === 'evaluate';
|
|
180
|
-
var showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;
|
|
181
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
182
|
-
className: (0, _classnames["default"])(classes.corespringChoice, 'multiple-choice')
|
|
183
|
-
}, teacherInstructions && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
184
|
-
labels: {
|
|
185
|
-
hidden: 'Show Teacher Instructions',
|
|
186
|
-
visible: 'Hide Teacher Instructions'
|
|
187
|
-
}
|
|
188
|
-
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
189
|
-
tagName: "div",
|
|
190
|
-
className: "prompt",
|
|
191
|
-
prompt: teacherInstructions
|
|
192
|
-
})) : /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
193
|
-
tagName: "div",
|
|
194
|
-
className: "prompt",
|
|
195
|
-
defaultClassName: "teacher-instructions",
|
|
196
|
-
prompt: teacherInstructions
|
|
197
|
-
}), /*#__PURE__*/_react["default"].createElement("br", null)), !alwaysShowCorrect && /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
|
|
198
|
-
show: showCorrectAnswerToggle,
|
|
199
|
-
toggled: showCorrect,
|
|
200
|
-
onToggle: this.onToggle.bind(this)
|
|
201
|
-
}), showCorrectAnswerToggle && /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement("fieldset", {
|
|
202
|
-
className: classes.fieldset
|
|
203
|
-
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
204
|
-
className: "prompt",
|
|
205
|
-
defaultClassName: "prompt",
|
|
206
|
-
prompt: prompt,
|
|
207
|
-
tagName: "legend"
|
|
208
|
-
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
209
|
-
className: (0, _classnames["default"])((0, _defineProperty2["default"])({}, classes.gridLayout, this.props.choicesLayout === 'grid'), (0, _defineProperty2["default"])({}, classes.horizontalLayout, this.props.choicesLayout === 'horizontal')),
|
|
210
|
-
style: styles.getColumns(this.props.gridColumns)
|
|
211
|
-
}, choices.map(function (choice, index) {
|
|
212
|
-
return /*#__PURE__*/_react["default"].createElement(_choice["default"], {
|
|
213
|
-
choicesLayout: _this2.props.choicesLayout,
|
|
214
|
-
gridColumns: _this2.props.gridColumns,
|
|
215
|
-
key: "choice-".concat(index),
|
|
216
|
-
choice: choice,
|
|
217
|
-
index: index,
|
|
218
|
-
choicesLength: choices.length,
|
|
219
|
-
showCorrect: showCorrect,
|
|
220
|
-
isEvaluateMode: isEvaluateMode,
|
|
221
|
-
choiceMode: choiceMode,
|
|
222
|
-
disabled: disabled,
|
|
223
|
-
onChoiceChanged: onChoiceChanged,
|
|
224
|
-
hideTick: choice.hideTick,
|
|
225
|
-
checked: showCorrect ? choice.correct || false : _this2.isSelected(choice.value),
|
|
226
|
-
correctness: isEvaluateMode ? _this2.getCorrectness(choice) : undefined,
|
|
227
|
-
displayKey: _this2.indexToSymbol(index)
|
|
228
|
-
});
|
|
229
|
-
}))));
|
|
230
|
-
}
|
|
231
|
-
}]);
|
|
232
|
-
return MultipleChoice;
|
|
233
|
-
}(_react["default"].Component);
|
|
234
|
-
|
|
235
|
-
exports.MultipleChoice = MultipleChoice;
|
|
236
|
-
(0, _defineProperty2["default"])(MultipleChoice, "propTypes", {
|
|
237
|
-
mode: _propTypes["default"].oneOf(['gather', 'view', 'evaluate']),
|
|
238
|
-
choiceMode: _propTypes["default"].oneOf(['radio', 'checkbox']),
|
|
239
|
-
keyMode: _propTypes["default"].oneOf(['numbers', 'letters', 'none']),
|
|
240
|
-
choices: _propTypes["default"].array,
|
|
241
|
-
prompt: _propTypes["default"].string,
|
|
242
|
-
teacherInstructions: _propTypes["default"].string,
|
|
243
|
-
session: _propTypes["default"].object,
|
|
244
|
-
disabled: _propTypes["default"].bool,
|
|
245
|
-
onChoiceChanged: _propTypes["default"].func,
|
|
246
|
-
responseCorrect: _propTypes["default"].bool,
|
|
247
|
-
classes: _propTypes["default"].object.isRequired,
|
|
248
|
-
correctResponse: _propTypes["default"].array,
|
|
249
|
-
choicesLayout: _propTypes["default"].oneOf(['vertical', 'grid', 'horizontal']),
|
|
250
|
-
gridColumns: _propTypes["default"].string,
|
|
251
|
-
alwaysShowCorrect: _propTypes["default"].bool,
|
|
252
|
-
animationsDisabled: _propTypes["default"].bool
|
|
253
|
-
});
|
|
254
|
-
MultipleChoice.defaultProps = {
|
|
255
|
-
session: {
|
|
256
|
-
value: []
|
|
257
|
-
}
|
|
258
|
-
};
|
|
259
|
-
|
|
260
|
-
var _default = (0, _styles.withStyles)(styles)(MultipleChoice);
|
|
261
|
-
|
|
262
|
-
exports["default"] = _default;
|
|
263
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tdWx0aXBsZS1jaG9pY2UuanN4Il0sIm5hbWVzIjpbInN0eWxlcyIsImNvcmVzcHJpbmdDaG9pY2UiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjb2xvciIsImJhY2tncm91bmQiLCJwYWRkaW5nIiwiaG9yaXpvbnRhbExheW91dCIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZmxleFdyYXAiLCJncmlkTGF5b3V0IiwiZ2V0Q29sdW1ucyIsImNvbHVtbnMiLCJncmlkVGVtcGxhdGVDb2x1bW5zIiwidW5kZWZpbmVkIiwiZmllbGRzZXQiLCJib3JkZXIiLCJtYXJnaW4iLCJtaW5XaWR0aCIsIk11bHRpcGxlQ2hvaWNlIiwicHJvcHMiLCJjaG9pY2UiLCJpc0NvcnJlY3QiLCJjb3JyZWN0IiwiaXNDaGVja2VkIiwiaXNTZWxlY3RlZCIsInZhbHVlIiwic3RhdGUiLCJzaG93Q29ycmVjdCIsImFsd2F5c1Nob3dDb3JyZWN0Iiwib25Ub2dnbGUiLCJiaW5kIiwibW9kZSIsInNldFN0YXRlIiwibmV4dFByb3BzIiwiY29ycmVjdFJlc3BvbnNlIiwic2Vzc2lvblZhbHVlIiwic2Vzc2lvbiIsImluZGV4T2YiLCJpbmRleCIsImtleU1vZGUiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJ0b1VwcGVyQ2FzZSIsImRpc2FibGVkIiwiY2hvaWNlcyIsImNob2ljZU1vZGUiLCJwcm9tcHQiLCJvbkNob2ljZUNoYW5nZWQiLCJyZXNwb25zZUNvcnJlY3QiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwiY2xhc3NlcyIsImFuaW1hdGlvbnNEaXNhYmxlZCIsImlzRXZhbHVhdGVNb2RlIiwic2hvd0NvcnJlY3RBbnN3ZXJUb2dnbGUiLCJoaWRkZW4iLCJ2aXNpYmxlIiwiY2hvaWNlc0xheW91dCIsImdyaWRDb2x1bW5zIiwibWFwIiwibGVuZ3RoIiwiaGlkZVRpY2siLCJnZXRDb3JyZWN0bmVzcyIsImluZGV4VG9TeW1ib2wiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9uZU9mIiwiYXJyYXkiLCJzdHJpbmciLCJvYmplY3QiLCJib29sIiwiZnVuYyIsImlzUmVxdWlyZWQiLCJkZWZhdWx0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBO0FBRUEsSUFBTUEsTUFBTSxHQUFHO0FBQ2JDLEVBQUFBLGdCQUFnQixFQUFFO0FBQ2hCQyxJQUFBQSxlQUFlLEVBQUVDLGdCQUFNQyxVQUFOLEVBREQ7QUFFaEJDLElBQUFBLE9BQU8sRUFBRSxLQUZPO0FBR2hCLFdBQU87QUFDTCxnQ0FBMEI7QUFEckI7QUFIUyxHQURMO0FBUWJDLEVBQUFBLGdCQUFnQixFQUFFO0FBQ2hCQyxJQUFBQSxPQUFPLEVBQUUsTUFETztBQUVoQkMsSUFBQUEsYUFBYSxFQUFFLEtBRkM7QUFHaEJDLElBQUFBLFFBQVEsRUFBRTtBQUhNLEdBUkw7QUFhYkMsRUFBQUEsVUFBVSxFQUFFO0FBQ1ZILElBQUFBLE9BQU8sRUFBRTtBQURDLEdBYkM7QUFnQmJJLEVBQUFBLFVBQVUsRUFBRSxvQkFBVUMsT0FBVixFQUFtQjtBQUM3QixXQUFPQSxPQUFPLEdBQUcsQ0FBVixHQUFjO0FBQUVDLE1BQUFBLG1CQUFtQixtQkFBWUQsT0FBWjtBQUFyQixLQUFkLEdBQW1FRSxTQUExRTtBQUNELEdBbEJZO0FBbUJiQyxFQUFBQSxRQUFRLEVBQUU7QUFDUkMsSUFBQUEsTUFBTSxFQUFFLEtBREE7QUFFUlgsSUFBQUEsT0FBTyxFQUFFLGNBRkQ7QUFHUlksSUFBQUEsTUFBTSxFQUFFLEtBSEE7QUFJUkMsSUFBQUEsUUFBUSxFQUFFO0FBSkY7QUFuQkcsQ0FBZjs7SUEyQmFDLGM7Ozs7O0FBb0JYLDBCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7QUFDakIsOEJBQU1BLEtBQU47QUFEaUIsdUdBNENGLFlBQWlCO0FBQUEsVUFBaEJDLE1BQWdCLHVFQUFQLEVBQU87QUFDaEMsVUFBTUMs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QUEsaUJBQWlCLEVBQUVxQyxzQkFBVUssSUFmWjtBQWdCakJuQixFQUFBQSxrQkFBa0IsRUFBRWMsc0JBQVVLO0FBaEJiLEM7QUFpTHJCcEQsY0FBYyxDQUFDdUQsWUFBZixHQUE4QjtBQUM1QnJDLEVBQUFBLE9BQU8sRUFBRTtBQUNQWCxJQUFBQSxLQUFLLEVBQUU7QUFEQTtBQURtQixDQUE5Qjs7ZUFNZSx3QkFBVzFCLE1BQVgsRUFBbUJtQixjQUFuQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgQ29ycmVjdEFuc3dlclRvZ2dsZSBmcm9tICdAcGllLWxpYi9jb3JyZWN0LWFuc3dlci10b2dnbGUnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IGNvbG9yLCBDb2xsYXBzaWJsZSwgUHJldmlld1Byb21wdCB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgU3R5bGVkQ2hvaWNlIGZyb20gJy4vY2hvaWNlJztcblxuLy8gTXVsdGlwbGVDaG9pY2VcblxuY29uc3Qgc3R5bGVzID0ge1xuICBjb3Jlc3ByaW5nQ2hvaWNlOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gICAgcGFkZGluZzogJzVweCcsXG4gICAgJyYgKic6IHtcbiAgICAgICctd2Via2l0LWZvbnQtc21vb3RoaW5nJzogJ2FudGlhbGlhc2VkJyxcbiAgICB9LFxuICB9LFxuICBob3Jpem9udGFsTGF5b3V0OiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gIH0sXG4gIGdyaWRMYXlvdXQ6IHtcbiAgICBkaXNwbGF5OiAnZ3JpZCcsXG4gIH0sXG4gIGdldENvbHVtbnM6IGZ1bmN0aW9uIChjb2x1bW5zKSB7XG4gICAgcmV0dXJuIGNvbHVtbnMgPiAxID8geyBncmlkVGVtcGxhdGVDb2x1bW5zOiBgcmVwZWF0KCR7Y29sdW1uc30sIDFmcilgIH0gOiB1bmRlZmluZWQ7XG4gIH0sXG4gIGZpZWxkc2V0OiB7XG4gICAgYm9yZGVyOiAnMHB4JyxcbiAgICBwYWRkaW5nOiAnMC4wMWVtIDAgMCAwJyxcbiAgICBtYXJnaW46ICcwcHgnLFxuICAgIG1pbldpZHRoOiAnMHB4J1xuICB9LFxufTtcblxuZXhwb3J0IGNsYXNzIE11bHRpcGxlQ2hvaWNlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtb2RlOiBQcm9wVHlwZXMub25lT2YoWydnYXRoZXInLCAndmlldycsICdldmFsdWF0ZSddKSxcbiAgICBjaG9pY2VNb2RlOiBQcm9wVHlwZXMub25lT2YoWydyYWRpbycsICdjaGVja2JveCddKSxcbiAgICBrZXlNb2RlOiBQcm9wVHlwZXMub25lT2YoWydudW1iZXJzJywgJ2xldHRlcnMnLCAnbm9uZSddKSxcbiAgICBjaG9pY2VzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgcHJvbXB0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc2Vzc2lvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgb25DaG9pY2VDaGFuZ2VkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICByZXNwb25zZUNvcnJlY3Q6IFByb3BUeXBlcy5ib29sLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBjb3JyZWN0UmVzcG9uc2U6IFByb3BUeXBlcy5hcnJheSxcbiAgICBjaG9pY2VzTGF5b3V0OiBQcm9wVHlwZXMub25lT2YoWyd2ZXJ0aWNhbCcsICdncmlkJywgJ2hvcml6b250YWwnXSksXG4gICAgZ3JpZENvbHVtbnM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgYWx3YXlzU2hvd0NvcnJlY3Q6IFByb3BUeXBlcy5ib29sLFxuICAgIGFuaW1hdGlvbnNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgc2hvd0NvcnJlY3Q6IHRoaXMucHJvcHMuYWx3YXlzU2hvd0NvcnJlY3QgfHwgZmFsc2UsXG4gICAgfTtcblxuICAgIHRoaXMub25Ub2dnbGUgPSB0aGlzLm9uVG9nZ2xlLmJpbmQodGhpcyk7XG4gIH1cblxuICBvblRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5tb2RlID09PSAnZXZhbHVhdGUnKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgc2hvd0NvcnJlY3Q6ICF0aGlzLnN0YXRlLnNob3dDb3JyZWN0IH0pO1xuICAgIH1cbiAgfVxuXG4gIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuICAgIGlmICghbmV4dFByb3BzLmNvcnJlY3RSZXNwb25zZSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNob3dDb3JyZWN0OiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICBpZiAobmV4dFByb3BzLmFsd2F5c1Nob3dDb3JyZWN0KSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgc2hvd0NvcnJlY3Q6IHRydWUgfSk7XG4gICAgfVxuICB9XG5cbiAgaXNTZWxlY3RlZCh2YWx1ZSkge1xuICAgIGNvbnN0IHNlc3Npb25WYWx1ZSA9IHRoaXMucHJvcHMuc2Vzc2lvbiAmJiB0aGlzLnByb3BzLnNlc3Npb24udmFsdWU7XG5cbiAgICByZXR1cm4gc2Vzc2lvblZhbHVlICYmIHNlc3Npb25WYWx1ZS5pbmRleE9mICYmIHNlc3Npb25WYWx1ZS5pbmRleE9mKHZhbHVlKSA+PSAwO1xuICB9XG5cbiAgaW5kZXhUb1N5bWJvbChpbmRleCkge1xuICAgIGlmICh0aGlzLnByb3BzLmtleU1vZGUgPT09ICdudW1iZXJzJykge1xuICAgICAgcmV0dXJuIGAke2luZGV4ICsgMX1gO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLmtleU1vZGUgPT09ICdsZXR0ZXJzJykge1xuICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoOTcgKyBpbmRleCkudG9VcHBlckNhc2UoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXRDb3JyZWN0bmVzcyA9IChjaG9pY2UgPSB7fSkgPT4ge1xuICAgIGNvbnN0IGlzQ29ycmVjdCA9IGNob2ljZS5jb3JyZWN0O1xuICAgIGNvbnN0IGlzQ2hlY2tlZCA9IHRoaXMuaXNTZWxlY3RlZChjaG9pY2UudmFsdWUpO1xuXG4gICAgaWYgKHRoaXMuc3RhdGUuc2hvd0NvcnJlY3QpIHtcbiAgICAgIHJldHVybiBpc0NvcnJlY3QgPyAnY29ycmVjdCcgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKGlzQ29ycmVjdCkge1xuICAgICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgICAvLyBBIGNvcnJlY3QgYW5zd2VyIGlzIHNlbGVjdGVkOiBtYXJrZWQgd2l0aCBhIGdyZWVuIGNoZWNrbWFya1xuICAgICAgICByZXR1cm4gJ2NvcnJlY3QnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQSBjb3JyZWN0IGFuc3dlciBpcyBOT1Qgc2VsZWN0ZWQ6IG1hcmtlZCB3aXRoIGFuIG9yYW5nZSBYXG4gICAgICAgIHJldHVybiAnaW5jb3JyZWN0JztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgICAvLyBBbiBpbmNvcnJlY3QgYW5zd2VyIGlzIHNlbGVjdGVkOiBtYXJrZWQgd2l0aCBhbiBvcmFuZ2UgWFxuICAgICAgICByZXR1cm4gJ2luY29ycmVjdCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBBbiBpbmNvcnJlY3QgYW5zd2VyIGlzIE5PVCBzZWxlY3RlZDogbm90IG1hcmtlZFxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgbW9kZSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgY2hvaWNlcyA9IFtdLFxuICAgICAgY2hvaWNlTW9kZSxcbiAgICAgIHByb21wdCxcbiAgICAgIG9uQ2hvaWNlQ2hhbmdlZCxcbiAgICAgIHJlc3BvbnNlQ29ycmVjdCxcbiAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMsXG4gICAgICBjbGFzc2VzLFxuICAgICAgYWx3YXlzU2hvd0NvcnJlY3QsXG4gICAgICBhbmltYXRpb25zRGlzYWJsZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBzaG93Q29ycmVjdCB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBpc0V2YWx1YXRlTW9kZSA9IG1vZGUgPT09ICdldmFsdWF0ZSc7XG4gICAgY29uc3Qgc2hvd0NvcnJlY3RBbnN3ZXJUb2dnbGUgPSBpc0V2YWx1YXRlTW9kZSAmJiAhcmVzcG9uc2VDb3JyZWN0O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMuY29yZXNwcmluZ0Nob2ljZSwgJ211bHRpcGxlLWNob2ljZScpfT5cbiAgICAgICAge3RlYWNoZXJJbnN0cnVjdGlvbnMgJiYgKFxuICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgIHshYW5pbWF0aW9uc0Rpc2FibGVkID8gKFxuICAgICAgICAgICAgICA8Q29sbGFwc2libGVcbiAgICAgICAgICAgICAgICBsYWJlbHM9e3tcbiAgICAgICAgICAgICAgICAgIGhpZGRlbjogJ1Nob3cgVGVhY2hlciBJbnN0cnVjdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgdmlzaWJsZTogJ0hpZGUgVGVhY2hlciBJbnN0cnVjdGlvbnMnLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UHJldmlld1Byb21wdCB0YWdOYW1lPVwiZGl2XCIgY2xhc3NOYW1lPVwicHJvbXB0XCIgcHJvbXB0PXt0ZWFjaGVySW5zdHJ1Y3Rpb25zfSAvPlxuICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFByZXZpZXdQcm9tcHRcbiAgICAgICAgICAgICAgICB0YWdOYW1lPVwiZGl2XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwcm9tcHRcIlxuICAgICAgICAgICAgICAgIGRlZmF1bHRDbGFzc05hbWU9XCJ0ZWFjaGVyLWluc3RydWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgcHJvbXB0PXt0ZWFjaGVySW5zdHJ1Y3Rpb25zfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICl9XG4gICAgICAgIHshYWx3YXlzU2hvd0NvcnJlY3QgJiYgKFxuICAgICAgICAgIDxDb3JyZWN0QW5zd2VyVG9nZ2xlXG4gICAgICAgICAgICBzaG93PXtzaG93Q29ycmVjdEFuc3dlclRvZ2dsZX1cbiAgICAgICAgICAgIHRvZ2dsZWQ9e3Nob3dDb3JyZWN0fVxuICAgICAgICAgICAgb25Ub2dnbGU9e3RoaXMub25Ub2dnbGUuYmluZCh0aGlzKX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7c2hvd0NvcnJlY3RBbnN3ZXJUb2dnbGUgJiYgPGJyIC8+fVxuICAgICAgICA8ZmllbGRzZXQgY2xhc3NOYW1lPXtjbGFzc2VzLmZpZWxkc2V0fT5cbiAgICAgICAgICA8UHJldmlld1Byb21wdCBjbGFzc05hbWU9XCJwcm9tcHRcIiBkZWZhdWx0Q2xhc3NOYW1lPVwicHJvbXB0XCIgcHJvbXB0PXtwcm9tcHR9IHRhZ05hbWU9e1wibGVnZW5kXCJ9IC8+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFxuICAgICAgICAgICAgICB7IFtjbGFzc2VzLmdyaWRMYXlvdXRdOiB0aGlzLnByb3BzLmNob2ljZXNMYXlvdXQgPT09ICdncmlkJyB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgW2NsYXNzZXMuaG9yaXpvbnRhbExheW91dF06IHRoaXMucHJvcHMuY2hvaWNlc0xheW91dCA9PT0gJ2hvcml6b250YWwnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMuZ2V0Q29sdW1ucyh0aGlzLnByb3BzLmdyaWRDb2x1bW5zKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y2hvaWNlcy5tYXAoKGNob2ljZSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgPFN0eWxlZENob2ljZVxuICAgICAgICAgICAgICAgIGNob2ljZXNMYXlvdXQ9e3RoaXMucHJvcHMuY2hvaWNlc0xheW91dH1cbiAgICAgICAgICAgICAgICBncmlkQ29sdW1ucz17dGhpcy5wcm9wcy5ncmlkQ29sdW1uc31cbiAgICAgICAgICAgICAgICBrZXk9e2BjaG9pY2UtJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgIGNob2ljZT17Y2hvaWNlfVxuICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICBjaG9pY2VzTGVuZ3RoPXtjaG9pY2VzLmxlbmd0aH1cbiAgICAgICAgICAgICAgICBzaG93Q29ycmVjdD17c2hvd0NvcnJlY3R9XG4gICAgICAgICAgICAgICAgaXNFdmFsdWF0ZU1vZGU9e2lzRXZhbHVhdGVNb2RlfVxuICAgICAgICAgICAgICAgIGNob2ljZU1vZGU9e2Nob2ljZU1vZGV9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIG9uQ2hvaWNlQ2hhbmdlZD17b25DaG9pY2VDaGFuZ2VkfVxuICAgICAgICAgICAgICAgIGhpZGVUaWNrPXtjaG9pY2UuaGlkZVRpY2t9XG4gICAgICAgICAgICAgICAgY2hlY2tlZD17c2hvd0NvcnJlY3QgPyBjaG9pY2UuY29ycmVjdCB8fCBmYWxzZSA6IHRoaXMuaXNTZWxlY3RlZChjaG9pY2UudmFsdWUpfVxuICAgICAgICAgICAgICAgIGNvcnJlY3RuZXNzPXtpc0V2YWx1YXRlTW9kZSA/IHRoaXMuZ2V0Q29ycmVjdG5lc3MoY2hvaWNlKSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBkaXNwbGF5S2V5PXt0aGlzLmluZGV4VG9TeW1ib2woaW5kZXgpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbk11bHRpcGxlQ2hvaWNlLmRlZmF1bHRQcm9wcyA9IHtcbiAgc2Vzc2lvbjoge1xuICAgIHZhbHVlOiBbXSxcbiAgfSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShNdWx0aXBsZUNob2ljZSk7XG4iXX0=
|
package/lib/print.js
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
|
-
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
23
|
-
|
|
24
|
-
var _react = _interopRequireDefault(require("react"));
|
|
25
|
-
|
|
26
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
27
|
-
|
|
28
|
-
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
29
|
-
|
|
30
|
-
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
31
|
-
|
|
32
|
-
var _main = _interopRequireDefault(require("./main"));
|
|
33
|
-
|
|
34
|
-
var _mathRendering = require("@pie-lib/math-rendering");
|
|
35
|
-
|
|
36
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
37
|
-
|
|
38
|
-
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); }; }
|
|
39
|
-
|
|
40
|
-
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; } }
|
|
41
|
-
|
|
42
|
-
var log = (0, _debug["default"])('pie-element:multiple-choice:print');
|
|
43
|
-
/**
|
|
44
|
-
* Live in same package as main element - so we can access some of the shared comps!
|
|
45
|
-
*
|
|
46
|
-
* - update pslb to build print if src/print.js is there
|
|
47
|
-
* - update demo el
|
|
48
|
-
* - get configure/controller building
|
|
49
|
-
*/
|
|
50
|
-
|
|
51
|
-
var preparePrintModel = function preparePrintModel(model, opts) {
|
|
52
|
-
var instr = opts.role === 'instructor';
|
|
53
|
-
model.prompt = model.promptEnabled !== false ? model.prompt : undefined;
|
|
54
|
-
model.teacherInstructions = instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;
|
|
55
|
-
model.showTeacherInstructions = instr;
|
|
56
|
-
model.alwaysShowCorrect = instr;
|
|
57
|
-
model.mode = instr ? 'evaluate' : model.mode;
|
|
58
|
-
model.disabled = true;
|
|
59
|
-
model.animationsDisabled = true;
|
|
60
|
-
model.lockChoiceOrder = true;
|
|
61
|
-
model.choicesLayout = model.choicesLayout || 'vertical';
|
|
62
|
-
var choices = (0, _cloneDeep["default"])(model.choices);
|
|
63
|
-
model.choices = choices.map(function (c) {
|
|
64
|
-
c.rationale = instr && model.rationaleEnabled !== false ? c.rationale : undefined;
|
|
65
|
-
c.hideTick = instr;
|
|
66
|
-
c.feedback = undefined;
|
|
67
|
-
return c;
|
|
68
|
-
});
|
|
69
|
-
model.keyMode = model.choicePrefix || 'letters';
|
|
70
|
-
return model;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
var MultipleChoicePrint = /*#__PURE__*/function (_HTMLElement) {
|
|
74
|
-
(0, _inherits2["default"])(MultipleChoicePrint, _HTMLElement);
|
|
75
|
-
|
|
76
|
-
var _super = _createSuper(MultipleChoicePrint);
|
|
77
|
-
|
|
78
|
-
function MultipleChoicePrint() {
|
|
79
|
-
var _this;
|
|
80
|
-
|
|
81
|
-
(0, _classCallCheck2["default"])(this, MultipleChoicePrint);
|
|
82
|
-
_this = _super.call(this);
|
|
83
|
-
_this._options = null;
|
|
84
|
-
_this._model = null;
|
|
85
|
-
_this._session = [];
|
|
86
|
-
_this._rerender = (0, _debounce["default"])(function () {
|
|
87
|
-
if (_this._model && _this._session) {
|
|
88
|
-
var printModel = preparePrintModel(_this._model, _this._options);
|
|
89
|
-
|
|
90
|
-
var element = _this._options && /*#__PURE__*/_react["default"].createElement(_main["default"], {
|
|
91
|
-
model: printModel,
|
|
92
|
-
session: {}
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
_reactDom["default"].render(element, (0, _assertThisInitialized2["default"])(_this), function () {
|
|
96
|
-
log('render complete - render math');
|
|
97
|
-
(0, _mathRendering.renderMath)((0, _assertThisInitialized2["default"])(_this));
|
|
98
|
-
});
|
|
99
|
-
} else {
|
|
100
|
-
log('skip');
|
|
101
|
-
}
|
|
102
|
-
}, 50, {
|
|
103
|
-
leading: false,
|
|
104
|
-
trailing: true
|
|
105
|
-
});
|
|
106
|
-
return _this;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
(0, _createClass2["default"])(MultipleChoicePrint, [{
|
|
110
|
-
key: "options",
|
|
111
|
-
set: function set(o) {
|
|
112
|
-
this._options = o;
|
|
113
|
-
}
|
|
114
|
-
}, {
|
|
115
|
-
key: "model",
|
|
116
|
-
set: function set(s) {
|
|
117
|
-
this._model = s;
|
|
118
|
-
|
|
119
|
-
this._rerender();
|
|
120
|
-
}
|
|
121
|
-
}, {
|
|
122
|
-
key: "connectedCallback",
|
|
123
|
-
value: function connectedCallback() {}
|
|
124
|
-
}]);
|
|
125
|
-
return MultipleChoicePrint;
|
|
126
|
-
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
127
|
-
|
|
128
|
-
exports["default"] = MultipleChoicePrint;
|
|
129
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmludC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJwcmVwYXJlUHJpbnRNb2RlbCIsIm1vZGVsIiwib3B0cyIsImluc3RyIiwicm9sZSIsInByb21wdCIsInByb21wdEVuYWJsZWQiLCJ1bmRlZmluZWQiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwidGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQiLCJzaG93VGVhY2hlckluc3RydWN0aW9ucyIsImFsd2F5c1Nob3dDb3JyZWN0IiwibW9kZSIsImRpc2FibGVkIiwiYW5pbWF0aW9uc0Rpc2FibGVkIiwibG9ja0Nob2ljZU9yZGVyIiwiY2hvaWNlc0xheW91dCIsImNob2ljZXMiLCJtYXAiLCJjIiwicmF0aW9uYWxlIiwicmF0aW9uYWxlRW5hYmxlZCIsImhpZGVUaWNrIiwiZmVlZGJhY2siLCJrZXlNb2RlIiwiY2hvaWNlUHJlZml4IiwiTXVsdGlwbGVDaG9pY2VQcmludCIsIl9vcHRpb25zIiwiX21vZGVsIiwiX3Nlc3Npb24iLCJfcmVyZW5kZXIiLCJwcmludE1vZGVsIiwiZWxlbWVudCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIk1haW4iLCJzZXNzaW9uIiwiUmVhY3RET00iLCJyZW5kZXIiLCJsZWFkaW5nIiwidHJhaWxpbmciLCJvIiwicyIsIkhUTUxFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sbUNBQU4sQ0FBWjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQU1DLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0IsQ0FBQ0MsS0FBRCxFQUFRQyxJQUFSLEVBQWlCO0FBQ3pDLE1BQU1DLEtBQUssR0FBR0QsSUFBSSxDQUFDRSxJQUFMLEtBQWMsWUFBNUI7QUFFQUgsRUFBQUEsS0FBSyxDQUFDSSxN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OztrREF2Q3lCYSxXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2xvZGFzaC9kZWJvdW5jZSc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IE1haW4gZnJvbSAnLi9tYWluJztcbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9tYXRoLXJlbmRlcmluZyc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygncGllLWVsZW1lbnQ6bXVsdGlwbGUtY2hvaWNlOnByaW50Jyk7XG5cbi8qKlxuICogTGl2ZSBpbiBzYW1lIHBhY2thZ2UgYXMgbWFpbiBlbGVtZW50IC0gc28gd2UgY2FuIGFjY2VzcyBzb21lIG9mIHRoZSBzaGFyZWQgY29tcHMhXG4gKlxuICogLSB1cGRhdGUgcHNsYiB0byBidWlsZCBwcmludCBpZiBzcmMvcHJpbnQuanMgaXMgdGhlcmVcbiAqIC0gdXBkYXRlIGRlbW8gZWxcbiAqIC0gZ2V0IGNvbmZpZ3VyZS9jb250cm9sbGVyIGJ1aWxkaW5nXG4gKi9cblxuY29uc3QgcHJlcGFyZVByaW50TW9kZWwgPSAobW9kZWwsIG9wdHMpID0+IHtcbiAgY29uc3QgaW5zdHIgPSBvcHRzLnJvbGUgPT09ICdpbnN0cnVjdG9yJztcblxuICBtb2RlbC5wcm9tcHQgPSBtb2RlbC5wcm9tcHRFbmFibGVkICE9PSBmYWxzZSA/IG1vZGVsLnByb21wdCA6IHVuZGVmaW5lZDtcbiAgbW9kZWwudGVhY2hlckluc3RydWN0aW9ucyA9XG4gICAgaW5zdHIgJiYgbW9kZWwudGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQgIT09IGZhbHNlID8gbW9kZWwudGVhY2hlckluc3RydWN0aW9ucyA6IHVuZGVmaW5lZDtcbiAgbW9kZWwuc2hvd1RlYWNoZXJJbnN0cnVjdGlvbnMgPSBpbnN0cjtcbiAgbW9kZWwuYWx3YXlzU2hvd0NvcnJlY3QgPSBpbnN0cjtcbiAgbW9kZWwubW9kZSA9IGluc3RyID8gJ2V2YWx1YXRlJyA6IG1vZGVsLm1vZGU7XG5cbiAgbW9kZWwuZGlzYWJsZWQgPSB0cnVlO1xuICBtb2RlbC5hbmltYXRpb25zRGlzYWJsZWQgPSB0cnVlO1xuICBtb2RlbC5sb2NrQ2hvaWNlT3JkZXIgPSB0cnVlO1xuICBtb2RlbC5jaG9pY2VzTGF5b3V0ID0gbW9kZWwuY2hvaWNlc0xheW91dCB8fCAndmVydGljYWwnO1xuXG4gIGNvbnN0IGNob2ljZXMgPSBjbG9uZURlZXAobW9kZWwuY2hvaWNlcyk7XG5cbiAgbW9kZWwuY2hvaWNlcyA9IGNob2ljZXMubWFwKChjKSA9PiB7XG4gICAgYy5yYXRpb25hbGUgPSBpbnN0ciAmJiBtb2RlbC5yYXRpb25hbGVFbmFibGVkICE9PSBmYWxzZSA/IGMucmF0aW9uYWxlIDogdW5kZWZpbmVkO1xuICAgIGMuaGlkZVRpY2sgPSBpbnN0cjtcbiAgICBjLmZlZWRiYWNrID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiBjO1xuICB9KTtcblxuICBtb2RlbC5rZXlNb2RlID0gbW9kZWwuY2hvaWNlUHJlZml4IHx8ICdsZXR0ZXJzJztcblxuICByZXR1cm4gbW9kZWw7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNdWx0aXBsZUNob2ljZVByaW50IGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX29wdGlvbnMgPSBudWxsO1xuICAgIHRoaXMuX21vZGVsID0gbnVsbDtcbiAgICB0aGlzLl9zZXNzaW9uID0gW107XG4gICAgdGhpcy5fcmVyZW5kZXIgPSBkZWJvdW5jZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX21vZGVsICYmIHRoaXMuX3Nlc3Npb24pIHtcbiAgICAgICAgICBjb25zdCBwcmludE1vZGVsID0gcHJlcGFyZVByaW50TW9kZWwodGhpcy5fbW9kZWwsIHRoaXMuX29wdGlvbnMpO1xuXG4gICAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICB0aGlzLl9vcHRpb25zICYmXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KE1haW4sIHtcbiAgICAgICAgICAgICAgbW9kZWw6IHByaW50TW9kZWwsXG4gICAgICAgICAgICAgIHNlc3Npb246IHt9LFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBSZWFjdERPTS5yZW5kZXIoZWxlbWVudCwgdGhpcywgKCkgPT4ge1xuICAgICAgICAgICAgbG9nKCdyZW5kZXIgY29tcGxldGUgLSByZW5kZXIgbWF0aCcpO1xuICAgICAgICAgICAgcmVuZGVyTWF0aCh0aGlzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2coJ3NraXAnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIDUwLFxuICAgICAgeyBsZWFkaW5nOiBmYWxzZSwgdHJhaWxpbmc6IHRydWUgfSxcbiAgICApO1xuICB9XG4gIHNldCBvcHRpb25zKG8pIHtcbiAgICB0aGlzLl9vcHRpb25zID0gbztcbiAgfVxuXG4gIHNldCBtb2RlbChzKSB7XG4gICAgdGhpcy5fbW9kZWwgPSBzO1xuICAgIHRoaXMuX3JlcmVuZGVyKCk7XG4gIH1cblxuICBjb25uZWN0ZWRDYWxsYmFjaygpIHt9XG59XG4iXX0=
|
package/lib/session-updater.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.updateSessionValue = updateSessionValue;
|
|
9
|
-
|
|
10
|
-
var _concat = _interopRequireDefault(require("lodash/concat"));
|
|
11
|
-
|
|
12
|
-
var _uniq = _interopRequireDefault(require("lodash/uniq"));
|
|
13
|
-
|
|
14
|
-
var _without = _interopRequireDefault(require("lodash/without"));
|
|
15
|
-
|
|
16
|
-
function updateSessionValue(session, choiceMode, data) {
|
|
17
|
-
session.value = session.value || [];
|
|
18
|
-
|
|
19
|
-
if (choiceMode === 'checkbox') {
|
|
20
|
-
if (data.selected) {
|
|
21
|
-
session.value = (0, _uniq["default"])((0, _concat["default"])(session.value, [data.value]));
|
|
22
|
-
} else {
|
|
23
|
-
session.value = (0, _without["default"])(session.value, data.value);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
if (choiceMode === 'radio') {
|
|
28
|
-
if (data.selected) {
|
|
29
|
-
session.value = [data.value];
|
|
30
|
-
} else {
|
|
31
|
-
session.value = [];
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zZXNzaW9uLXVwZGF0ZXIuanMiXSwibmFtZXMiOlsidXBkYXRlU2Vzc2lvblZhbHVlIiwic2Vzc2lvbiIsImNob2ljZU1vZGUiLCJkYXRhIiwidmFsdWUiLCJzZWxlY3RlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRU8sU0FBU0Esa0JBQVQsQ0FBNEJDLE9BQTVCLEVBQXFDQyxVQUFyQyxFQUFpREMsSUFBakQsRUFBdUQ7QUFDNURGLEVBQUFBLE9BQU8sQ0FBQ0csS0FBUixHQUFnQkgsT0FBTyxDQUFDRyxLQUFSLElBQWlCLEVBQWpDOztBQUNBLE1BQUlGLFVBQVUsS0FBSyxVQUFuQixFQUErQjtBQUM3QixRQUFJQyxJQUFJLENBQUNFLFFBQVQsRUFBbUI7QUFDakJKLE1BQUFBLE9BQU8sQ0FBQ0csS0FBUixHQUFnQixzQkFBSyx3QkFBT0gsT0FBTyxDQUFDRyxLQUFmLEVBQXNCLENBQUNELElBQUksQ0FBQ0MsS0FBTixDQUF0QixDQUFMLENBQWhCO0FBQ0QsS0FGRCxNQUVPO0FBQ0xILE1BQUFBLE9BQU8sQ0FBQ0csS0FBUixHQUFnQix5QkFBUUgsT0FBTyxDQUFDRyxLQUFoQixFQUF1QkQsSUFBSSxDQUFDQyxLQUE1QixDQUFoQjtBQUNEO0FBQ0Y7O0FBRUQsTUFBSUYsVUFBVSxLQUFLLE9BQW5CLEVBQTRCO0FBQzFCLFFBQUlDLElBQUksQ0FBQ0UsUUFBVCxFQUFtQjtBQUNqQkosTUFBQUEsT0FBTyxDQUFDRyxLQUFSLEdBQWdCLENBQUNELElBQUksQ0FBQ0MsS0FBTixDQUFoQjtBQUNELEtBRkQsTUFFTztBQUNMSCxNQUFBQSxPQUFPLENBQUNHLEtBQVIsR0FBZ0IsRUFBaEI7QUFDRDtBQUNGO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29uY2F0IGZyb20gJ2xvZGFzaC9jb25jYXQnO1xuaW1wb3J0IHVuaXEgZnJvbSAnbG9kYXNoL3VuaXEnO1xuaW1wb3J0IHdpdGhvdXQgZnJvbSAnbG9kYXNoL3dpdGhvdXQnO1xuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlU2Vzc2lvblZhbHVlKHNlc3Npb24sIGNob2ljZU1vZGUsIGRhdGEpIHtcbiAgc2Vzc2lvbi52YWx1ZSA9IHNlc3Npb24udmFsdWUgfHwgW107XG4gIGlmIChjaG9pY2VNb2RlID09PSAnY2hlY2tib3gnKSB7XG4gICAgaWYgKGRhdGEuc2VsZWN0ZWQpIHtcbiAgICAgIHNlc3Npb24udmFsdWUgPSB1bmlxKGNvbmNhdChzZXNzaW9uLnZhbHVlLCBbZGF0YS52YWx1ZV0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2Vzc2lvbi52YWx1ZSA9IHdpdGhvdXQoc2Vzc2lvbi52YWx1ZSwgZGF0YS52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGNob2ljZU1vZGUgPT09ICdyYWRpbycpIHtcbiAgICBpZiAoZGF0YS5zZWxlY3RlZCkge1xuICAgICAgc2Vzc2lvbi52YWx1ZSA9IFtkYXRhLnZhbHVlXTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2Vzc2lvbi52YWx1ZSA9IFtdO1xuICAgIH1cbiAgfVxufVxuIl19
|