@pie-element/explicit-constructed-response 3.9.3-next.362 → 3.9.3-next.397
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/lib/main.js +41 -15
- package/lib/main.js.map +1 -1
- package/lib/print.js +114 -0
- package/lib/print.js.map +1 -0
- package/package.json +7 -3
package/lib/main.js
CHANGED
|
@@ -39,6 +39,8 @@ var _renderUi = require("@pie-lib/render-ui");
|
|
|
39
39
|
|
|
40
40
|
var _styles = require("@material-ui/core/styles");
|
|
41
41
|
|
|
42
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
43
|
+
|
|
42
44
|
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); }; }
|
|
43
45
|
|
|
44
46
|
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; } }
|
|
@@ -59,7 +61,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
59
61
|
|
|
60
62
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
61
63
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
62
|
-
showCorrectAnswer: false,
|
|
64
|
+
showCorrectAnswer: _this.props.alwaysShowCorrect || false,
|
|
63
65
|
value: _this.props.value
|
|
64
66
|
});
|
|
65
67
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleShowCorrect", function () {
|
|
@@ -86,6 +88,12 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
86
88
|
showCorrectAnswer: false
|
|
87
89
|
});
|
|
88
90
|
}
|
|
91
|
+
|
|
92
|
+
if (nextProps.alwaysShowCorrect) {
|
|
93
|
+
this.setState({
|
|
94
|
+
showCorrectAnswer: true
|
|
95
|
+
});
|
|
96
|
+
}
|
|
89
97
|
}
|
|
90
98
|
}, {
|
|
91
99
|
key: "render",
|
|
@@ -102,30 +110,45 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
102
110
|
note = _this$props.note,
|
|
103
111
|
showNote = _this$props.showNote,
|
|
104
112
|
env = _this$props.env,
|
|
113
|
+
animationsDisabled = _this$props.animationsDisabled,
|
|
114
|
+
alwaysShowCorrect = _this$props.alwaysShowCorrect,
|
|
105
115
|
maxLengthPerChoice = _this$props.maxLengthPerChoice;
|
|
106
116
|
|
|
107
117
|
var _ref = env || {},
|
|
108
118
|
role = _ref.role;
|
|
109
119
|
|
|
110
120
|
var displayNote = (showCorrectAnswer || mode === 'view' && role === 'instructor') && showNote && note;
|
|
121
|
+
var mainClasses = (0, _classnames["default"])([classes.mainContainer, alwaysShowCorrect ? classes.noBorderColor : {}]);
|
|
122
|
+
|
|
123
|
+
var teacherInstructionsDiv = /*#__PURE__*/_react["default"].createElement("div", {
|
|
124
|
+
className: "teacher-instructions",
|
|
125
|
+
dangerouslySetInnerHTML: {
|
|
126
|
+
__html: teacherInstructions
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
var rationaleDiv = /*#__PURE__*/_react["default"].createElement("div", {
|
|
131
|
+
className: "rationale",
|
|
132
|
+
dangerouslySetInnerHTML: {
|
|
133
|
+
__html: rationale
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
|
|
111
137
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
112
|
-
className:
|
|
138
|
+
className: mainClasses
|
|
113
139
|
}, teacherInstructions && (0, _renderUi.hasText)(teacherInstructions) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
114
140
|
className: classes.collapsible
|
|
115
|
-
}, /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
141
|
+
}, !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
116
142
|
labels: {
|
|
117
143
|
hidden: 'Show Teacher Instructions',
|
|
118
144
|
visible: 'Hide Teacher Instructions'
|
|
119
145
|
}
|
|
120
|
-
}, /*#__PURE__*/_react["default"].createElement("
|
|
121
|
-
dangerouslySetInnerHTML: {
|
|
122
|
-
__html: teacherInstructions
|
|
123
|
-
}
|
|
124
|
-
}))), /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
|
|
146
|
+
}, teacherInstructionsDiv) : teacherInstructionsDiv), !alwaysShowCorrect && /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
|
|
125
147
|
show: mode === 'evaluate',
|
|
126
148
|
toggled: showCorrectAnswer,
|
|
127
149
|
onToggle: this.toggleShowCorrect
|
|
128
150
|
}), prompt && /*#__PURE__*/_react["default"].createElement("div", {
|
|
151
|
+
className: "prompt",
|
|
129
152
|
dangerouslySetInnerHTML: {
|
|
130
153
|
__html: prompt
|
|
131
154
|
}
|
|
@@ -135,22 +158,18 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
135
158
|
value: value,
|
|
136
159
|
maxLength: maxLengthPerChoice
|
|
137
160
|
})), displayNote && /*#__PURE__*/_react["default"].createElement("div", {
|
|
138
|
-
className: classes.note,
|
|
161
|
+
className: (0, _classnames["default"])(classes.note, 'note'),
|
|
139
162
|
dangerouslySetInnerHTML: {
|
|
140
163
|
__html: "<strong>Note:</strong> ".concat(note)
|
|
141
164
|
}
|
|
142
165
|
}), rationale && (0, _renderUi.hasText)(rationale) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
143
166
|
className: classes.collapsible
|
|
144
|
-
}, /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
167
|
+
}, !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
145
168
|
labels: {
|
|
146
169
|
hidden: 'Show Rationale',
|
|
147
170
|
visible: 'Hide Rationale'
|
|
148
171
|
}
|
|
149
|
-
},
|
|
150
|
-
dangerouslySetInnerHTML: {
|
|
151
|
-
__html: rationale
|
|
152
|
-
}
|
|
153
|
-
}))));
|
|
172
|
+
}, rationaleDiv) : rationaleDiv));
|
|
154
173
|
}
|
|
155
174
|
}]);
|
|
156
175
|
return Main;
|
|
@@ -171,6 +190,8 @@ exports.Main = Main;
|
|
|
171
190
|
value: _propTypes["default"].object,
|
|
172
191
|
feedback: _propTypes["default"].object,
|
|
173
192
|
onChange: _propTypes["default"].func,
|
|
193
|
+
alwaysShowCorrect: _propTypes["default"].bool,
|
|
194
|
+
animationsDisabled: _propTypes["default"].bool,
|
|
174
195
|
maxLengthPerChoice: _propTypes["default"].array
|
|
175
196
|
});
|
|
176
197
|
(0, _defineProperty2["default"])(Main, "defaultProps", {
|
|
@@ -189,6 +210,11 @@ var styles = function styles(theme) {
|
|
|
189
210
|
},
|
|
190
211
|
collapsible: {
|
|
191
212
|
margin: "".concat(theme.spacing.unit * 2, "px 0")
|
|
213
|
+
},
|
|
214
|
+
noBorderColor: {
|
|
215
|
+
'& *': {
|
|
216
|
+
borderColor: "".concat(_renderUi.color.text(), " !important")
|
|
217
|
+
}
|
|
192
218
|
}
|
|
193
219
|
};
|
|
194
220
|
};
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.js"],"names":["Main","showCorrectAnswer","
|
|
1
|
+
{"version":3,"sources":["../src/main.js"],"names":["Main","showCorrectAnswer","props","alwaysShowCorrect","value","setState","state","onChange","changeSession","nextProps","feedback","classes","mode","prompt","rationale","teacherInstructions","note","showNote","env","animationsDisabled","maxLengthPerChoice","role","displayNote","mainClasses","mainContainer","noBorderColor","teacherInstructionsDiv","__html","rationaleDiv","collapsible","hidden","visible","toggleShowCorrect","React","Component","PropTypes","object","isRequired","string","bool","disabled","markup","func","array","styles","theme","padding","spacing","unit","color","text","backgroundColor","background","margin","borderColor"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash/debounce';\nimport isEmpty from 'lodash/isEmpty';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { ConstructedResponse } from '@pie-lib/mask-markup';\nimport { color, Collapsible, hasText } 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 };\n\n static defaultProps = {\n value: {}\n };\n\n state = {\n showCorrectAnswer: this.props.alwaysShowCorrect || false,\n value: this.props.value\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (isEmpty(nextProps.feedback)) {\n this.setState({ showCorrectAnswer: false });\n }\n\n if (nextProps.alwaysShowCorrect) {\n this.setState({ showCorrectAnswer: true });\n }\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n changeSession = debounce(this.props.onChange, 1500);\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 } = this.props;\n const { role } = env || {};\n const displayNote = (showCorrectAnswer || mode === 'view' && role === 'instructor') && showNote && note;\n const mainClasses = classNames([classes.mainContainer, alwaysShowCorrect ? classes.noBorderColor : {}]);\n\n const teacherInstructionsDiv = <div\n className=\"teacher-instructions\"\n dangerouslySetInnerHTML={{ __html: teacherInstructions }}\n />;\n\n const rationaleDiv = <div className=\"rationale\" dangerouslySetInnerHTML={{ __html: rationale }}/>;\n\n return (\n <div className={mainClasses}>\n {\n teacherInstructions && hasText(teacherInstructions) && (\n <div className={classes.collapsible}>\n {!animationsDisabled ? <Collapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n {teacherInstructionsDiv}\n </Collapsible>\n : teacherInstructionsDiv}\n </div>\n )\n }\n {!alwaysShowCorrect && <CorrectAnswerToggle\n show={mode === 'evaluate'}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n />}\n {prompt && <div className=\"prompt\" dangerouslySetInnerHTML={{ __html: prompt }}/>}\n <ConstructedResponse\n {...this.props}\n onChange={this.onChange}\n showCorrectAnswer={showCorrectAnswer}\n value={value}\n maxLength={maxLengthPerChoice}\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 ? <Collapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n >\n {rationaleDiv}\n </Collapsible>\n : rationaleDiv}\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 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"],"file":"main.js"}
|
package/lib/print.js
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
25
|
+
|
|
26
|
+
var _react = _interopRequireDefault(require("react"));
|
|
27
|
+
|
|
28
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
29
|
+
|
|
30
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
39
|
+
|
|
40
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
41
|
+
|
|
42
|
+
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); }; }
|
|
43
|
+
|
|
44
|
+
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; } }
|
|
45
|
+
|
|
46
|
+
var log = (0, _debug["default"])('pie-element:explicit-constructed-response:print');
|
|
47
|
+
|
|
48
|
+
var preparePrintModel = function preparePrintModel(model, opts) {
|
|
49
|
+
var instr = opts.role === 'instructor';
|
|
50
|
+
model.teacherInstructions = instr ? model.teacherInstructions : undefined;
|
|
51
|
+
model.rationale = instr ? model.rationale : undefined;
|
|
52
|
+
model.alwaysShowCorrect = instr;
|
|
53
|
+
model.mode = instr ? 'evaluate' : model.mode;
|
|
54
|
+
model.disabled = true;
|
|
55
|
+
model.animationsDisabled = true;
|
|
56
|
+
return model;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
var ExplicitConstructedResponsePrint = /*#__PURE__*/function (_HTMLElement) {
|
|
60
|
+
(0, _inherits2["default"])(ExplicitConstructedResponsePrint, _HTMLElement);
|
|
61
|
+
|
|
62
|
+
var _super = _createSuper(ExplicitConstructedResponsePrint);
|
|
63
|
+
|
|
64
|
+
function ExplicitConstructedResponsePrint() {
|
|
65
|
+
var _this;
|
|
66
|
+
|
|
67
|
+
(0, _classCallCheck2["default"])(this, ExplicitConstructedResponsePrint);
|
|
68
|
+
_this = _super.call(this);
|
|
69
|
+
_this._options = null;
|
|
70
|
+
_this._model = null;
|
|
71
|
+
_this._session = [];
|
|
72
|
+
_this._rerender = (0, _debounce["default"])(function () {
|
|
73
|
+
if (_this._model && _this._session) {
|
|
74
|
+
var printModel = preparePrintModel(_this._model, _this._options);
|
|
75
|
+
|
|
76
|
+
var element = _this._options && /*#__PURE__*/_react["default"].createElement(_main["default"], _objectSpread(_objectSpread({}, printModel), {}, {
|
|
77
|
+
onChange: function onChange() {}
|
|
78
|
+
}));
|
|
79
|
+
|
|
80
|
+
_reactDom["default"].render(element, (0, _assertThisInitialized2["default"])(_this), function () {
|
|
81
|
+
log('render complete - render math');
|
|
82
|
+
(0, _mathRendering.renderMath)((0, _assertThisInitialized2["default"])(_this));
|
|
83
|
+
});
|
|
84
|
+
} else {
|
|
85
|
+
log('skip');
|
|
86
|
+
}
|
|
87
|
+
}, 50, {
|
|
88
|
+
leading: false,
|
|
89
|
+
trailing: true
|
|
90
|
+
});
|
|
91
|
+
return _this;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
(0, _createClass2["default"])(ExplicitConstructedResponsePrint, [{
|
|
95
|
+
key: "options",
|
|
96
|
+
set: function set(o) {
|
|
97
|
+
this._options = o;
|
|
98
|
+
}
|
|
99
|
+
}, {
|
|
100
|
+
key: "model",
|
|
101
|
+
set: function set(s) {
|
|
102
|
+
this._model = s;
|
|
103
|
+
|
|
104
|
+
this._rerender();
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
key: "connectedCallback",
|
|
108
|
+
value: function connectedCallback() {}
|
|
109
|
+
}]);
|
|
110
|
+
return ExplicitConstructedResponsePrint;
|
|
111
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
112
|
+
|
|
113
|
+
exports["default"] = ExplicitConstructedResponsePrint;
|
|
114
|
+
//# sourceMappingURL=print.js.map
|
package/lib/print.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/print.js"],"names":["log","preparePrintModel","model","opts","instr","role","teacherInstructions","undefined","rationale","alwaysShowCorrect","mode","disabled","animationsDisabled","ExplicitConstructedResponsePrint","_options","_model","_session","_rerender","printModel","element","React","createElement","Main","onChange","ReactDOM","render","leading","trailing","o","s","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,iDAAN,CAAZ;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACzC,MAAMC,KAAK,GAAGD,IAAI,CAACE,IAAL,KAAc,YAA5B;AAEAH,EAAAA,KAAK,CAACI,mBAAN,GAA4BF,KAAK,GAAGF,KAAK,CAACI,mBAAT,GAA+BC,SAAhE;AACAL,EAAAA,KAAK,CAACM,SAAN,GAAkBJ,KAAK,GAAGF,KAAK,CAACM,SAAT,GAAqBD,SAA5C;AAEAL,EAAAA,KAAK,CAACO,iBAAN,GAA0BL,KAA1B;AACAF,EAAAA,KAAK,CAACQ,IAAN,GAAaN,KAAK,GAAG,UAAH,GAAgBF,KAAK,CAACQ,IAAxC;AAEAR,EAAAA,KAAK,CAACS,QAAN,GAAiB,IAAjB;AACAT,EAAAA,KAAK,CAACU,kBAAN,GAA2B,IAA3B;AAEA,SAAOV,KAAP;AACD,CAbD;;IAeqBW,gC;;;;;AACnB,8CAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,EAAhB;AACA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKF,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAME,UAAU,GAAGjB,iBAAiB,CAAC,MAAKc,MAAN,EAAc,MAAKD,QAAnB,CAApC;;AAEA,YAAMK,OAAO,GACX,MAAKL,QAAL,iBACAM,kBAAMC,aAAN,CAAoBC,gBAApB,kCACKJ,UADL;AAEEK,UAAAA,QAAQ,EAAE,oBAAM,CAAE;AAFpB,WAFF;;AAOAC,6BAASC,MAAT,CAAgBN,OAAhB,kDAA+B,YAAM;AACnCnB,UAAAA,GAAG,CAAC,+BAAD,CAAH;AACA;AACD,SAHD;AAID,OAdD,MAcO;AACLA,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KAnBc,EAoBf,EApBe,EAqBf;AAAE0B,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KArBe,CAAjB;AALY;AA4Bb;;;;SACD,aAAYC,CAAZ,EAAe;AACb,WAAKd,QAAL,GAAgBc,CAAhB;AACD;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKd,MAAL,GAAcc,CAAd;;AACA,WAAKZ,SAAL;AACD;;;WAED,6BAAoB,CAAE;;;kDAvCsCa,W","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.teacherInstructions = instr ? model.teacherInstructions : undefined;\n model.rationale = instr ? 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"],"file":"print.js"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "3.9.3-next.
|
|
7
|
+
"version": "3.9.3-next.397+0a8e6d4b0",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -25,7 +25,11 @@
|
|
|
25
25
|
},
|
|
26
26
|
"author": "",
|
|
27
27
|
"license": "ISC",
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "0a8e6d4b0496dde6902ea349f979612452d7d3c8",
|
|
29
29
|
"main": "lib/index.js",
|
|
30
|
-
"module": "src/index.js"
|
|
30
|
+
"module": "src/index.js",
|
|
31
|
+
"exports": {
|
|
32
|
+
".": "./src/index.js",
|
|
33
|
+
"./print": "./src/print.js"
|
|
34
|
+
}
|
|
31
35
|
}
|