@pie-element/explicit-constructed-response 4.6.1-beta.3 → 4.6.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/alternateResponses.js +205 -0
- package/configure/lib/alternateResponses.js.map +1 -0
- package/configure/lib/alternateSection.js +334 -0
- package/configure/lib/alternateSection.js.map +1 -0
- package/configure/lib/defaults.js +107 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/ecr-toolbar.js +153 -0
- package/configure/lib/ecr-toolbar.js.map +1 -0
- package/configure/lib/index.js +155 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/main.js +517 -0
- package/configure/lib/main.js.map +1 -0
- package/configure/lib/markupUtils.js +62 -0
- package/configure/lib/markupUtils.js.map +1 -0
- package/configure/lib/utils.js +13 -0
- package/configure/lib/utils.js.map +1 -0
- package/controller/lib/defaults.js +21 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +292 -0
- package/controller/lib/index.js.map +1 -0
- package/lib/index.js +93 -0
- package/lib/index.js.map +1 -0
- package/lib/main.js +207 -0
- package/lib/main.js.map +1 -0
- package/lib/print.js +85 -0
- package/lib/print.js.map +1 -0
- package/package.json +2 -2
package/lib/main.js
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = exports.Main = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
19
|
+
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
20
|
+
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
21
|
+
var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
|
|
22
|
+
var _maskMarkup = require("@pie-lib/mask-markup");
|
|
23
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
24
|
+
var _styles = require("@material-ui/core/styles");
|
|
25
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
26
|
+
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); }; }
|
|
27
|
+
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; } }
|
|
28
|
+
var Main = /*#__PURE__*/function (_React$Component) {
|
|
29
|
+
(0, _inherits2["default"])(Main, _React$Component);
|
|
30
|
+
var _super = _createSuper(Main);
|
|
31
|
+
function Main() {
|
|
32
|
+
var _this;
|
|
33
|
+
(0, _classCallCheck2["default"])(this, Main);
|
|
34
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
35
|
+
args[_key] = arguments[_key];
|
|
36
|
+
}
|
|
37
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
38
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
39
|
+
showCorrectAnswer: _this.props.alwaysShowCorrect || false,
|
|
40
|
+
value: _this.props.value
|
|
41
|
+
});
|
|
42
|
+
// if for all responses max length is 1, call onChange for each keystroke
|
|
43
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getChangeSession", function (maxLengthPerChoice) {
|
|
44
|
+
return maxLengthPerChoice && maxLengthPerChoice.every(function (val, i, arr) {
|
|
45
|
+
return val === arr[0] && val === 1;
|
|
46
|
+
}) ? _this.props.onChange : (0, _debounce["default"])(_this.props.onChange, 1500, {
|
|
47
|
+
maxWait: 1500
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleShowCorrect", function () {
|
|
51
|
+
_this.setState({
|
|
52
|
+
showCorrectAnswer: !_this.state.showCorrectAnswer
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeSession", _this.getChangeSession(_this.props.maxLengthPerChoice));
|
|
56
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (value) {
|
|
57
|
+
_this.setState({
|
|
58
|
+
value: value
|
|
59
|
+
});
|
|
60
|
+
_this.changeSession(value);
|
|
61
|
+
});
|
|
62
|
+
return _this;
|
|
63
|
+
}
|
|
64
|
+
(0, _createClass2["default"])(Main, [{
|
|
65
|
+
key: "UNSAFE_componentWillReceiveProps",
|
|
66
|
+
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
67
|
+
var maxLengthPerChoice = this.props.maxLengthPerChoice;
|
|
68
|
+
if ((0, _isEmpty["default"])(nextProps.feedback)) {
|
|
69
|
+
this.setState({
|
|
70
|
+
showCorrectAnswer: false
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
if (nextProps.alwaysShowCorrect) {
|
|
74
|
+
this.setState({
|
|
75
|
+
showCorrectAnswer: true
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
if (maxLengthPerChoice && !(0, _isEqual["default"])(maxLengthPerChoice, nextProps.maxLengthPerChoice)) {
|
|
79
|
+
this.changeSession = this.getChangeSession(nextProps.maxLengthPerChoice);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}, {
|
|
83
|
+
key: "render",
|
|
84
|
+
value: function render() {
|
|
85
|
+
var _this$state = this.state,
|
|
86
|
+
showCorrectAnswer = _this$state.showCorrectAnswer,
|
|
87
|
+
value = _this$state.value;
|
|
88
|
+
var _this$props = this.props,
|
|
89
|
+
classes = _this$props.classes,
|
|
90
|
+
mode = _this$props.mode,
|
|
91
|
+
prompt = _this$props.prompt,
|
|
92
|
+
rationale = _this$props.rationale,
|
|
93
|
+
teacherInstructions = _this$props.teacherInstructions,
|
|
94
|
+
note = _this$props.note,
|
|
95
|
+
showNote = _this$props.showNote,
|
|
96
|
+
env = _this$props.env,
|
|
97
|
+
animationsDisabled = _this$props.animationsDisabled,
|
|
98
|
+
alwaysShowCorrect = _this$props.alwaysShowCorrect,
|
|
99
|
+
maxLengthPerChoice = _this$props.maxLengthPerChoice,
|
|
100
|
+
maxLengthPerChoiceEnabled = _this$props.maxLengthPerChoiceEnabled,
|
|
101
|
+
displayType = _this$props.displayType,
|
|
102
|
+
playerSpellCheckEnabled = _this$props.playerSpellCheckEnabled;
|
|
103
|
+
var _ref = env || {},
|
|
104
|
+
role = _ref.role;
|
|
105
|
+
var displayNote = (showCorrectAnswer || mode === 'view' && role === 'instructor') && showNote && note;
|
|
106
|
+
var mainClasses = (0, _classnames["default"])([classes.mainContainer, (0, _defineProperty2["default"])({}, classes.noBorderColor, alwaysShowCorrect)]);
|
|
107
|
+
var teacherInstructionsDiv = /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
108
|
+
defaultClassName: "teacher-instructions",
|
|
109
|
+
prompt: teacherInstructions
|
|
110
|
+
});
|
|
111
|
+
var rationaleDiv = /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
112
|
+
prompt: rationale
|
|
113
|
+
});
|
|
114
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
115
|
+
className: mainClasses,
|
|
116
|
+
style: {
|
|
117
|
+
display: "".concat(displayType)
|
|
118
|
+
}
|
|
119
|
+
}, teacherInstructions && (0, _renderUi.hasText)(teacherInstructions) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
120
|
+
className: classes.collapsible
|
|
121
|
+
}, !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
122
|
+
labels: {
|
|
123
|
+
hidden: 'Show Teacher Instructions',
|
|
124
|
+
visible: 'Hide Teacher Instructions'
|
|
125
|
+
}
|
|
126
|
+
}, teacherInstructionsDiv) : teacherInstructionsDiv), !alwaysShowCorrect && /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
|
|
127
|
+
show: mode === 'evaluate',
|
|
128
|
+
toggled: showCorrectAnswer,
|
|
129
|
+
onToggle: this.toggleShowCorrect
|
|
130
|
+
}), prompt && /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
131
|
+
prompt: prompt
|
|
132
|
+
}), /*#__PURE__*/_react["default"].createElement(_maskMarkup.ConstructedResponse, (0, _extends2["default"])({}, this.props, {
|
|
133
|
+
onChange: this.onChange,
|
|
134
|
+
showCorrectAnswer: showCorrectAnswer,
|
|
135
|
+
value: value,
|
|
136
|
+
maxLength: maxLengthPerChoice,
|
|
137
|
+
adjustedLimit: maxLengthPerChoiceEnabled,
|
|
138
|
+
spellCheck: playerSpellCheckEnabled
|
|
139
|
+
})), displayNote && /*#__PURE__*/_react["default"].createElement("div", {
|
|
140
|
+
className: (0, _classnames["default"])(classes.note, 'note'),
|
|
141
|
+
dangerouslySetInnerHTML: {
|
|
142
|
+
__html: "<strong>Note:</strong> ".concat(note)
|
|
143
|
+
}
|
|
144
|
+
}), rationale && (0, _renderUi.hasText)(rationale) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
145
|
+
className: classes.collapsible
|
|
146
|
+
}, !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
147
|
+
labels: {
|
|
148
|
+
hidden: 'Show Rationale',
|
|
149
|
+
visible: 'Hide Rationale'
|
|
150
|
+
}
|
|
151
|
+
}, rationaleDiv) : rationaleDiv));
|
|
152
|
+
}
|
|
153
|
+
}]);
|
|
154
|
+
return Main;
|
|
155
|
+
}(_react["default"].Component);
|
|
156
|
+
exports.Main = Main;
|
|
157
|
+
(0, _defineProperty2["default"])(Main, "propTypes", {
|
|
158
|
+
classes: _propTypes["default"].object.isRequired,
|
|
159
|
+
prompt: _propTypes["default"].string,
|
|
160
|
+
note: _propTypes["default"].string,
|
|
161
|
+
showNote: _propTypes["default"].bool,
|
|
162
|
+
env: _propTypes["default"].object,
|
|
163
|
+
rationale: _propTypes["default"].string,
|
|
164
|
+
disabled: _propTypes["default"].bool,
|
|
165
|
+
markup: _propTypes["default"].string,
|
|
166
|
+
mode: _propTypes["default"].string,
|
|
167
|
+
teacherInstructions: _propTypes["default"].string,
|
|
168
|
+
value: _propTypes["default"].object,
|
|
169
|
+
feedback: _propTypes["default"].object,
|
|
170
|
+
onChange: _propTypes["default"].func,
|
|
171
|
+
alwaysShowCorrect: _propTypes["default"].bool,
|
|
172
|
+
animationsDisabled: _propTypes["default"].bool,
|
|
173
|
+
maxLengthPerChoice: _propTypes["default"].array,
|
|
174
|
+
playerSpellCheckEnabled: _propTypes["default"].bool
|
|
175
|
+
});
|
|
176
|
+
(0, _defineProperty2["default"])(Main, "defaultProps", {
|
|
177
|
+
value: {}
|
|
178
|
+
});
|
|
179
|
+
var styles = function styles(theme) {
|
|
180
|
+
return {
|
|
181
|
+
mainContainer: {
|
|
182
|
+
padding: theme.spacing.unit,
|
|
183
|
+
color: _renderUi.color.text(),
|
|
184
|
+
backgroundColor: _renderUi.color.background()
|
|
185
|
+
},
|
|
186
|
+
inlineDisplay: {
|
|
187
|
+
display: 'inline-block'
|
|
188
|
+
},
|
|
189
|
+
blockDisplay: {
|
|
190
|
+
display: 'block'
|
|
191
|
+
},
|
|
192
|
+
note: {
|
|
193
|
+
padding: '5px 0'
|
|
194
|
+
},
|
|
195
|
+
collapsible: {
|
|
196
|
+
margin: "".concat(theme.spacing.unit * 2, "px 0")
|
|
197
|
+
},
|
|
198
|
+
noBorderColor: {
|
|
199
|
+
'& *': {
|
|
200
|
+
borderColor: "".concat(_renderUi.color.text(), " !important")
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
};
|
|
205
|
+
var _default = (0, _styles.withStyles)(styles)(Main);
|
|
206
|
+
exports["default"] = _default;
|
|
207
|
+
//# sourceMappingURL=main.js.map
|
package/lib/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_debounce","_isEmpty","_isEqual","_correctAnswerToggle","_maskMarkup","_renderUi","_styles","_classnames","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","Main","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","_defineProperty2","_assertThisInitialized2","showCorrectAnswer","props","alwaysShowCorrect","value","maxLengthPerChoice","every","val","i","arr","onChange","debounce","maxWait","setState","state","getChangeSession","changeSession","_createClass2","key","UNSAFE_componentWillReceiveProps","nextProps","isEmpty","feedback","isEqual","render","_this$state","_this$props","classes","mode","prompt","rationale","teacherInstructions","note","showNote","env","animationsDisabled","maxLengthPerChoiceEnabled","displayType","playerSpellCheckEnabled","_ref","role","displayNote","mainClasses","classNames","mainContainer","noBorderColor","teacherInstructionsDiv","createElement","PreviewPrompt","defaultClassName","rationaleDiv","className","style","display","hasText","collapsible","Collapsible","labels","hidden","visible","show","toggled","onToggle","toggleShowCorrect","ConstructedResponse","_extends2","maxLength","adjustedLimit","spellCheck","dangerouslySetInnerHTML","__html","React","Component","exports","PropTypes","object","isRequired","string","bool","disabled","markup","func","array","styles","theme","padding","spacing","unit","color","text","backgroundColor","background","inlineDisplay","blockDisplay","margin","borderColor","_default","withStyles"],"sources":["../src/main.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash/debounce';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { ConstructedResponse } from '@pie-lib/mask-markup';\nimport { color, Collapsible, hasText, PreviewPrompt } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n prompt: PropTypes.string,\n note: PropTypes.string,\n showNote: PropTypes.bool,\n env: PropTypes.object,\n rationale: PropTypes.string,\n disabled: PropTypes.bool,\n markup: PropTypes.string,\n mode: PropTypes.string,\n teacherInstructions: PropTypes.string,\n value: PropTypes.object,\n feedback: PropTypes.object,\n onChange: PropTypes.func,\n alwaysShowCorrect: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n maxLengthPerChoice: PropTypes.array,\n playerSpellCheckEnabled: PropTypes.bool,\n };\n\n static defaultProps = {\n value: {},\n };\n\n state = {\n showCorrectAnswer: this.props.alwaysShowCorrect || false,\n value: this.props.value,\n };\n\n // if for all responses max length is 1, call onChange for each keystroke\n getChangeSession = (maxLengthPerChoice) =>\n maxLengthPerChoice && maxLengthPerChoice.every((val, i, arr) => val === arr[0] && val === 1)\n ? this.props.onChange\n : debounce(this.props.onChange, 1500, { maxWait: 1500 });\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { maxLengthPerChoice } = this.props;\n\n if (isEmpty(nextProps.feedback)) {\n this.setState({ showCorrectAnswer: false });\n }\n\n if (nextProps.alwaysShowCorrect) {\n this.setState({ showCorrectAnswer: true });\n }\n\n if (maxLengthPerChoice && !isEqual(maxLengthPerChoice, nextProps.maxLengthPerChoice)) {\n this.changeSession = this.getChangeSession(nextProps.maxLengthPerChoice);\n }\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n changeSession = this.getChangeSession(this.props.maxLengthPerChoice);\n\n onChange = (value) => {\n this.setState({ value });\n\n this.changeSession(value);\n };\n\n render() {\n const { showCorrectAnswer, value } = this.state;\n const {\n classes,\n mode,\n prompt,\n rationale,\n teacherInstructions,\n note,\n showNote,\n env,\n animationsDisabled,\n alwaysShowCorrect,\n maxLengthPerChoice,\n maxLengthPerChoiceEnabled,\n displayType,\n playerSpellCheckEnabled,\n } = this.props;\n\n const { role } = env || {};\n const displayNote = (showCorrectAnswer || (mode === 'view' && role === 'instructor')) && showNote && note;\n const mainClasses = classNames([\n classes.mainContainer,\n {\n [classes.noBorderColor]: alwaysShowCorrect,\n },\n ]);\n\n const teacherInstructionsDiv = (\n <PreviewPrompt defaultClassName=\"teacher-instructions\" prompt={teacherInstructions} />\n );\n\n const rationaleDiv = <PreviewPrompt prompt={rationale} />;\n\n return (\n <div className={mainClasses} style={{ display: `${displayType}` }}>\n {teacherInstructions && hasText(teacherInstructions) && (\n <div className={classes.collapsible}>\n {!animationsDisabled ? (\n <Collapsible labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}>\n {teacherInstructionsDiv}\n </Collapsible>\n ) : (\n teacherInstructionsDiv\n )}\n </div>\n )}\n {!alwaysShowCorrect && (\n <CorrectAnswerToggle\n show={mode === 'evaluate'}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n />\n )}\n {prompt && <PreviewPrompt prompt={prompt} />}\n <ConstructedResponse\n {...this.props}\n onChange={this.onChange}\n showCorrectAnswer={showCorrectAnswer}\n value={value}\n maxLength={maxLengthPerChoice}\n adjustedLimit={maxLengthPerChoiceEnabled}\n spellCheck={playerSpellCheckEnabled}\n />\n {displayNote && (\n <div\n className={classNames(classes.note, 'note')}\n dangerouslySetInnerHTML={{ __html: `<strong>Note:</strong> ${note}` }}\n />\n )}\n {rationale && hasText(rationale) && (\n <div className={classes.collapsible}>\n {!animationsDisabled ? (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>{rationaleDiv}</Collapsible>\n ) : (\n rationaleDiv\n )}\n </div>\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n padding: theme.spacing.unit,\n color: color.text(),\n backgroundColor: color.background(),\n },\n inlineDisplay: {\n display: 'inline-block',\n },\n blockDisplay: {\n display: 'block',\n },\n note: {\n padding: '5px 0',\n },\n collapsible: {\n margin: `${theme.spacing.unit * 2}px 0`,\n },\n noBorderColor: {\n '& *': {\n borderColor: `${color.text()} !important`,\n },\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"mappings":"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"}
|
package/lib/print.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
14
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
15
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
18
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
19
|
+
var _main = _interopRequireDefault(require("./main"));
|
|
20
|
+
var _mathRendering = require("@pie-lib/math-rendering");
|
|
21
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
24
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
25
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
26
|
+
var log = (0, _debug["default"])('pie-element:explicit-constructed-response:print');
|
|
27
|
+
var preparePrintModel = function preparePrintModel(model, opts) {
|
|
28
|
+
var instr = opts.role === 'instructor';
|
|
29
|
+
model.prompt = model.promptEnabled !== false ? model.prompt : undefined;
|
|
30
|
+
model.teacherInstructions = instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;
|
|
31
|
+
model.rationale = instr && model.rationaleEnabled !== false ? model.rationale : undefined;
|
|
32
|
+
model.alwaysShowCorrect = instr;
|
|
33
|
+
model.mode = instr ? 'evaluate' : model.mode;
|
|
34
|
+
model.disabled = true;
|
|
35
|
+
model.animationsDisabled = true;
|
|
36
|
+
return model;
|
|
37
|
+
};
|
|
38
|
+
var ExplicitConstructedResponsePrint = /*#__PURE__*/function (_HTMLElement) {
|
|
39
|
+
(0, _inherits2["default"])(ExplicitConstructedResponsePrint, _HTMLElement);
|
|
40
|
+
var _super = _createSuper(ExplicitConstructedResponsePrint);
|
|
41
|
+
function ExplicitConstructedResponsePrint() {
|
|
42
|
+
var _this;
|
|
43
|
+
(0, _classCallCheck2["default"])(this, ExplicitConstructedResponsePrint);
|
|
44
|
+
_this = _super.call(this);
|
|
45
|
+
_this._options = null;
|
|
46
|
+
_this._model = null;
|
|
47
|
+
_this._session = [];
|
|
48
|
+
_this._rerender = (0, _debounce["default"])(function () {
|
|
49
|
+
if (_this._model && _this._session) {
|
|
50
|
+
var printModel = preparePrintModel(_this._model, _this._options);
|
|
51
|
+
var element = _this._options && /*#__PURE__*/_react["default"].createElement(_main["default"], _objectSpread(_objectSpread({}, printModel), {}, {
|
|
52
|
+
onChange: function onChange() {}
|
|
53
|
+
}));
|
|
54
|
+
_reactDom["default"].render(element, (0, _assertThisInitialized2["default"])(_this), function () {
|
|
55
|
+
log('render complete - render math');
|
|
56
|
+
(0, _mathRendering.renderMath)((0, _assertThisInitialized2["default"])(_this));
|
|
57
|
+
});
|
|
58
|
+
} else {
|
|
59
|
+
log('skip');
|
|
60
|
+
}
|
|
61
|
+
}, 50, {
|
|
62
|
+
leading: false,
|
|
63
|
+
trailing: true
|
|
64
|
+
});
|
|
65
|
+
return _this;
|
|
66
|
+
}
|
|
67
|
+
(0, _createClass2["default"])(ExplicitConstructedResponsePrint, [{
|
|
68
|
+
key: "options",
|
|
69
|
+
set: function set(o) {
|
|
70
|
+
this._options = o;
|
|
71
|
+
}
|
|
72
|
+
}, {
|
|
73
|
+
key: "model",
|
|
74
|
+
set: function set(s) {
|
|
75
|
+
this._model = s;
|
|
76
|
+
this._rerender();
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "connectedCallback",
|
|
80
|
+
value: function connectedCallback() {}
|
|
81
|
+
}]);
|
|
82
|
+
return ExplicitConstructedResponsePrint;
|
|
83
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
84
|
+
exports["default"] = ExplicitConstructedResponsePrint;
|
|
85
|
+
//# sourceMappingURL=print.js.map
|
package/lib/print.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"print.js","names":["_react","_interopRequireDefault","require","_reactDom","_debounce","_main","_mathRendering","_debug","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","preparePrintModel","model","opts","instr","role","prompt","promptEnabled","undefined","teacherInstructions","teacherInstructionsEnabled","rationale","rationaleEnabled","alwaysShowCorrect","mode","disabled","animationsDisabled","ExplicitConstructedResponsePrint","_HTMLElement","_inherits2","_super","_this","_classCallCheck2","_options","_model","_session","_rerender","debounce","printModel","element","React","createElement","Main","onChange","ReactDOM","render","_assertThisInitialized2","renderMath","leading","trailing","_createClass2","set","o","s","value","connectedCallback","_wrapNativeSuper2","HTMLElement","exports"],"sources":["../src/print.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\n\nconst log = debug('pie-element:explicit-constructed-response:print');\n\nconst preparePrintModel = (model, opts) => {\n const instr = opts.role === 'instructor';\n\n model.prompt = model.promptEnabled !== false ? model.prompt : undefined;\n model.teacherInstructions =\n instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;\n model.rationale = instr && model.rationaleEnabled !== false ? model.rationale : undefined;\n\n model.alwaysShowCorrect = instr;\n model.mode = instr ? 'evaluate' : model.mode;\n\n model.disabled = true;\n model.animationsDisabled = true;\n\n return model;\n};\n\nexport default class ExplicitConstructedResponsePrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = [];\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n const printModel = preparePrintModel(this._model, this._options);\n\n const element =\n this._options &&\n React.createElement(Main, {\n ...printModel,\n onChange: () => {},\n });\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n set options(o) {\n this._options = o;\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAN,sBAAA,CAAAC,OAAA;AAA0B,SAAAM,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,aAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAW,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAd,SAAA,EAAAiB,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAlB,KAAA,OAAAI,SAAA,gBAAAqB,2BAAA,mBAAAL,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAE,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAR,OAAA,CAAAC,SAAA,CAAAI,OAAA,8CAAAI,CAAA;AAE1B,IAAMC,GAAG,GAAG,IAAAC,iBAAK,EAAC,iDAAiD,CAAC;AAEpE,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,KAAK,EAAEC,IAAI,EAAK;EACzC,IAAMC,KAAK,GAAGD,IAAI,CAACE,IAAI,KAAK,YAAY;EAExCH,KAAK,CAACI,MAAM,GAAGJ,KAAK,CAACK,aAAa,KAAK,KAAK,GAAGL,KAAK,CAACI,MAAM,GAAGE,SAAS;EACvEN,KAAK,CAACO,mBAAmB,GACvBL,KAAK,IAAIF,KAAK,CAACQ,0BAA0B,KAAK,KAAK,GAAGR,KAAK,CAACO,mBAAmB,GAAGD,SAAS;EAC7FN,KAAK,CAACS,SAAS,GAAGP,KAAK,IAAIF,KAAK,CAACU,gBAAgB,KAAK,KAAK,GAAGV,KAAK,CAACS,SAAS,GAAGH,SAAS;EAEzFN,KAAK,CAACW,iBAAiB,GAAGT,KAAK;EAC/BF,KAAK,CAACY,IAAI,GAAGV,KAAK,GAAG,UAAU,GAAGF,KAAK,CAACY,IAAI;EAE5CZ,KAAK,CAACa,QAAQ,GAAG,IAAI;EACrBb,KAAK,CAACc,kBAAkB,GAAG,IAAI;EAE/B,OAAOd,KAAK;AACd,CAAC;AAAC,IAEmBe,gCAAgC,0BAAAC,YAAA;EAAA,IAAAC,UAAA,aAAAF,gCAAA,EAAAC,YAAA;EAAA,IAAAE,MAAA,GAAAzC,YAAA,CAAAsC,gCAAA;EACnD,SAAAA,iCAAA,EAAc;IAAA,IAAAI,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,gCAAA;IACZI,KAAA,GAAAD,MAAA,CAAAvB,IAAA;IACAwB,KAAA,CAAKE,QAAQ,GAAG,IAAI;IACpBF,KAAA,CAAKG,MAAM,GAAG,IAAI;IAClBH,KAAA,CAAKI,QAAQ,GAAG,EAAE;IAClBJ,KAAA,CAAKK,SAAS,GAAG,IAAAC,oBAAQ,EACvB,YAAM;MACJ,IAAIN,KAAA,CAAKG,MAAM,IAAIH,KAAA,CAAKI,QAAQ,EAAE;QAChC,IAAMG,UAAU,GAAG3B,iBAAiB,CAACoB,KAAA,CAAKG,MAAM,EAAEH,KAAA,CAAKE,QAAQ,CAAC;QAEhE,IAAMM,OAAO,GACXR,KAAA,CAAKE,QAAQ,iBACbO,iBAAK,CAACC,aAAa,CAACC,gBAAI,EAAAjE,aAAA,CAAAA,aAAA,KACnB6D,UAAU;UACbK,QAAQ,EAAE,SAAAA,SAAA,EAAM,CAAC;QAAC,EACnB,CAAC;QAEJC,oBAAQ,CAACC,MAAM,CAACN,OAAO,MAAAO,uBAAA,aAAAf,KAAA,GAAQ,YAAM;UACnCtB,GAAG,CAAC,+BAA+B,CAAC;UACpC,IAAAsC,yBAAU,MAAAD,uBAAA,aAAAf,KAAA,CAAK,CAAC;QAClB,CAAC,CAAC;MACJ,CAAC,MAAM;QACLtB,GAAG,CAAC,MAAM,CAAC;MACb;IACF,CAAC,EACD,EAAE,EACF;MAAEuC,OAAO,EAAE,KAAK;MAAEC,QAAQ,EAAE;IAAK,CACnC,CAAC;IAAC,OAAAlB,KAAA;EACJ;EAAC,IAAAmB,aAAA,aAAAvB,gCAAA;IAAA3C,GAAA;IAAAmE,GAAA,EACD,SAAAA,IAAYC,CAAC,EAAE;MACb,IAAI,CAACnB,QAAQ,GAAGmB,CAAC;IACnB;EAAC;IAAApE,GAAA;IAAAmE,GAAA,EAED,SAAAA,IAAUE,CAAC,EAAE;MACX,IAAI,CAACnB,MAAM,GAAGmB,CAAC;MACf,IAAI,CAACjB,SAAS,CAAC,CAAC;IAClB;EAAC;IAAApD,GAAA;IAAAsE,KAAA,EAED,SAAAC,kBAAA,EAAoB,CAAC;EAAC;EAAA,OAAA5B,gCAAA;AAAA,oBAAA6B,iBAAA,aAvCsCC,WAAW;AAAAC,OAAA,cAAA/B,gCAAA"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "4.6.1-beta.
|
|
7
|
+
"version": "4.6.1-beta.4+4157b2b34",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"author": "",
|
|
29
29
|
"license": "ISC",
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "4157b2b34711d36e3fea05d833ab5ed9d4b05b48",
|
|
31
31
|
"main": "lib/index.js",
|
|
32
32
|
"module": "src/index.js",
|
|
33
33
|
"exports": {
|