@pie-element/multiple-choice 7.6.1-beta.2 → 7.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/defaults.js +0 -1
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/index.js +3 -47
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/main.js +84 -142
- package/configure/lib/main.js.map +1 -1
- package/configure/lib/utils.js +1 -3
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +3 -3
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +54 -110
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +0 -8
- package/controller/lib/utils.js.map +1 -1
- package/lib/choice-input.js +24 -63
- package/lib/choice-input.js.map +1 -1
- package/lib/choice.js +17 -49
- package/lib/choice.js.map +1 -1
- package/lib/feedback-tick.js +2 -28
- package/lib/feedback-tick.js.map +1 -1
- package/lib/index.js +2 -36
- package/lib/index.js.map +1 -1
- package/lib/main.js +5 -27
- package/lib/main.js.map +1 -1
- package/lib/multiple-choice.js +13 -45
- package/lib/multiple-choice.js.map +1 -1
- package/lib/print.js +1 -27
- package/lib/print.js.map +1 -1
- package/lib/session-updater.js +0 -7
- package/lib/session-updater.js.map +1 -1
- package/package.json +3 -3
- package/configure/lib/__tests__/root.test.js +0 -271
- package/controller/lib/__tests__/index.test.js +0 -864
- package/controller/lib/__tests__/utils.test.js +0 -8
- 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/feedback-tick.js
CHANGED
|
@@ -1,38 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
11
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
12
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
20
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
|
|
22
14
|
var _react = _interopRequireDefault(require("react"));
|
|
23
|
-
|
|
24
15
|
var _reactTransitionGroup = require("react-transition-group");
|
|
25
|
-
|
|
26
16
|
var _styles = require("@material-ui/core/styles");
|
|
27
|
-
|
|
28
17
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
-
|
|
30
18
|
var _renderUi = require("@pie-lib/render-ui");
|
|
31
|
-
|
|
32
19
|
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); }; }
|
|
33
|
-
|
|
34
20
|
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; } }
|
|
35
|
-
|
|
36
21
|
var stylesheet = {
|
|
37
22
|
incorrect: {
|
|
38
23
|
fill: "var(--feedback-incorrect-bg-color, ".concat(_renderUi.color.incorrect(), ")")
|
|
@@ -73,15 +58,11 @@ var stylesheet = {
|
|
|
73
58
|
transition: 'left 300ms ease-in, opacity 300ms'
|
|
74
59
|
}
|
|
75
60
|
};
|
|
76
|
-
|
|
77
61
|
var FeedbackTick = /*#__PURE__*/function (_React$Component) {
|
|
78
62
|
(0, _inherits2["default"])(FeedbackTick, _React$Component);
|
|
79
|
-
|
|
80
63
|
var _super = _createSuper(FeedbackTick);
|
|
81
|
-
|
|
82
64
|
function FeedbackTick(props) {
|
|
83
65
|
var _this;
|
|
84
|
-
|
|
85
66
|
(0, _classCallCheck2["default"])(this, FeedbackTick);
|
|
86
67
|
_this = _super.call(this, props);
|
|
87
68
|
_this.incorrectIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
@@ -124,16 +105,13 @@ var FeedbackTick = /*#__PURE__*/function (_React$Component) {
|
|
|
124
105
|
}));
|
|
125
106
|
return _this;
|
|
126
107
|
}
|
|
127
|
-
|
|
128
108
|
(0, _createClass2["default"])(FeedbackTick, [{
|
|
129
109
|
key: "render",
|
|
130
110
|
value: function render() {
|
|
131
111
|
var _this2 = this;
|
|
132
|
-
|
|
133
112
|
var _this$props = this.props,
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
113
|
+
correctness = _this$props.correctness,
|
|
114
|
+
classes = _this$props.classes;
|
|
137
115
|
var icon = function () {
|
|
138
116
|
if (correctness === 'incorrect') {
|
|
139
117
|
return _this2.incorrectIcon;
|
|
@@ -141,7 +119,6 @@ var FeedbackTick = /*#__PURE__*/function (_React$Component) {
|
|
|
141
119
|
return _this2.correctIcon;
|
|
142
120
|
}
|
|
143
121
|
}();
|
|
144
|
-
|
|
145
122
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
146
123
|
className: classes.feedbackTick
|
|
147
124
|
}, /*#__PURE__*/_react["default"].createElement(_reactTransitionGroup.TransitionGroup, null, correctness && /*#__PURE__*/_react["default"].createElement(_reactTransitionGroup.CSSTransition, {
|
|
@@ -160,15 +137,12 @@ var FeedbackTick = /*#__PURE__*/function (_React$Component) {
|
|
|
160
137
|
}]);
|
|
161
138
|
return FeedbackTick;
|
|
162
139
|
}(_react["default"].Component);
|
|
163
|
-
|
|
164
140
|
(0, _defineProperty2["default"])(FeedbackTick, "propTypes", {
|
|
165
141
|
classes: _propTypes["default"].object.isRequired,
|
|
166
142
|
correctness: _propTypes["default"].string
|
|
167
143
|
});
|
|
168
|
-
|
|
169
144
|
var _default = (0, _styles.withStyles)(stylesheet, {
|
|
170
145
|
name: 'FeedbackTick'
|
|
171
146
|
})(FeedbackTick);
|
|
172
|
-
|
|
173
147
|
exports["default"] = _default;
|
|
174
148
|
//# sourceMappingURL=feedback-tick.js.map
|
package/lib/feedback-tick.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"feedback-tick.js","names":["_react","_interopRequireDefault","require","_reactTransitionGroup","_styles","_propTypes","_renderUi","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","stylesheet","incorrect","fill","concat","color","correct","feedbackTick","width","height","position","display","verticalAlign","feedbackTickEnter","opacity","left","feedbackTickEnterActive","transition","feedbackTickLeave","feedbackTickLeaveActive","FeedbackTick","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","incorrectIcon","createElement","key","preserveAspectRatio","x","y","viewBox","style","enableBackground","transform","className","classes","correctIcon","version","points","_createClass2","value","render","_this2","_this$props","correctness","icon","TransitionGroup","CSSTransition","classNames","enter","enterActive","exit","exitActive","timeout","React","Component","_defineProperty2","PropTypes","object","isRequired","string","_default","withStyles","name","exports"],"sources":["../src/feedback-tick.jsx"],"sourcesContent":["import React from 'react';\nimport { TransitionGroup, CSSTransition } from 'react-transition-group';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\n\nconst stylesheet = {\n incorrect: {\n fill: `var(--feedback-incorrect-bg-color, ${color.incorrect()})`,\n },\n correct: {\n fill: `var(--feedback-correct-bg-color, ${color.correct()})`,\n },\n feedbackTick: {\n width: '33px',\n height: '33px',\n '& svg': {\n position: 'absolute',\n display: 'inline-block',\n width: '33px',\n height: '33px',\n verticalAlign: 'middle',\n '& hide': {\n display: 'none',\n },\n },\n },\n feedbackTickEnter: {\n opacity: '0',\n left: '-50px',\n },\n feedbackTickEnterActive: {\n opacity: '1',\n left: '0px',\n transition: 'left 500ms ease-in 200ms, opacity 500ms linear 200ms',\n },\n feedbackTickLeave: {\n opacity: '1',\n left: '0px',\n },\n feedbackTickLeaveActive: {\n opacity: '0',\n left: '-50px',\n transition: 'left 300ms ease-in, opacity 300ms',\n },\n};\n\nclass FeedbackTick extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n correctness: PropTypes.string,\n };\n constructor(props) {\n super(props);\n this.incorrectIcon = (\n <svg\n key=\"1\"\n preserveAspectRatio=\"xMinYMin meet\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 44 40\"\n style={{ enableBackground: 'new 0 0 44 40' }}\n >\n <g>\n <rect\n x=\"11\"\n y=\"17.3\"\n transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -7.852 19.2507)\"\n className={this.props.classes.incorrect}\n width=\"16.6\"\n height=\"3.7\"\n />\n <rect\n x=\"17.4\"\n y=\"10.7\"\n transform=\"matrix(0.7071 -0.7071 0.7071 0.7071 -7.8175 19.209)\"\n className={this.props.classes.incorrect}\n width=\"3.7\"\n height=\"16.6\"\n />\n </g>\n </svg>\n );\n\n this.correctIcon = (\n <svg\n key=\"2\"\n preserveAspectRatio=\"xMinYMin meet\"\n version=\"1.1\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 44 40\"\n style={{ enableBackground: 'new 0 0 44 40' }}\n >\n <polygon\n className={this.props.classes.correct}\n points=\"19.1,28.6 11.8,22.3 14.4,19.2 17.9,22.1 23.9,11.4 27.5,13.4\"\n />\n </svg>\n );\n }\n\n render() {\n const { correctness, classes } = this.props;\n\n const icon = (() => {\n if (correctness === 'incorrect') {\n return this.incorrectIcon;\n } else if (correctness === 'correct') {\n return this.correctIcon;\n }\n })();\n\n return (\n <div className={classes.feedbackTick}>\n <TransitionGroup>\n {correctness && (\n <CSSTransition\n classNames={{\n enter: classes.feedbackTickEnter,\n enterActive: classes.feedbackTickEnterActive,\n exit: classes.feedbackTickLeave,\n exitActive: classes.feedbackTickLeaveActive,\n }}\n timeout={{ enter: 700, exit: 300 }}\n >\n {icon}\n </CSSTransition>\n )}\n </TransitionGroup>\n </div>\n );\n }\n}\n\nexport default withStyles(stylesheet, { name: 'FeedbackTick' })(FeedbackTick);\n"],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -1,60 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.isComplete = exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
11
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
14
|
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
23
|
-
|
|
24
15
|
var _main = _interopRequireDefault(require("./main"));
|
|
25
|
-
|
|
26
16
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
17
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
29
|
-
|
|
30
18
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
31
|
-
|
|
32
19
|
var _debug = _interopRequireDefault(require("debug"));
|
|
33
|
-
|
|
34
20
|
var _mathRendering = require("@pie-lib/math-rendering");
|
|
35
|
-
|
|
36
21
|
var _sessionUpdater = require("./session-updater");
|
|
37
|
-
|
|
38
22
|
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
23
|
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
24
|
var log = (0, _debug["default"])('pie-ui:multiple-choice');
|
|
43
|
-
|
|
44
25
|
var isComplete = function isComplete(session) {
|
|
45
26
|
return !!(session && session.value && session.value.length);
|
|
46
27
|
};
|
|
47
|
-
|
|
48
28
|
exports.isComplete = isComplete;
|
|
49
|
-
|
|
50
29
|
var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
51
30
|
(0, _inherits2["default"])(MultipleChoice, _HTMLElement);
|
|
52
|
-
|
|
53
31
|
var _super = _createSuper(MultipleChoice);
|
|
54
|
-
|
|
55
32
|
function MultipleChoice() {
|
|
56
33
|
var _this;
|
|
57
|
-
|
|
58
34
|
(0, _classCallCheck2["default"])(this, MultipleChoice);
|
|
59
35
|
_this = _super.call(this);
|
|
60
36
|
_this._model = null;
|
|
@@ -66,7 +42,6 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
|
66
42
|
session: _this._session,
|
|
67
43
|
onChoiceChanged: _this._onChange.bind((0, _assertThisInitialized2["default"])(_this))
|
|
68
44
|
});
|
|
69
|
-
|
|
70
45
|
_reactDom["default"].render(element, (0, _assertThisInitialized2["default"])(_this), function () {
|
|
71
46
|
log('render complete - render math');
|
|
72
47
|
(0, _mathRendering.renderMath)((0, _assertThisInitialized2["default"])(_this));
|
|
@@ -87,7 +62,6 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
|
87
62
|
component: _this.tagName.toLowerCase()
|
|
88
63
|
}
|
|
89
64
|
});
|
|
90
|
-
|
|
91
65
|
_this.dispatchEvent(event);
|
|
92
66
|
});
|
|
93
67
|
_this._dispatchModelSet = (0, _debounce["default"])(function () {
|
|
@@ -106,14 +80,11 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
|
106
80
|
});
|
|
107
81
|
return _this;
|
|
108
82
|
}
|
|
109
|
-
|
|
110
83
|
(0, _createClass2["default"])(MultipleChoice, [{
|
|
111
84
|
key: "model",
|
|
112
85
|
set: function set(s) {
|
|
113
86
|
this._model = s;
|
|
114
|
-
|
|
115
87
|
this._rerender();
|
|
116
|
-
|
|
117
88
|
this._dispatchModelSet();
|
|
118
89
|
}
|
|
119
90
|
}, {
|
|
@@ -123,19 +94,15 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
|
123
94
|
},
|
|
124
95
|
set: function set(s) {
|
|
125
96
|
this._session = s;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
97
|
+
this._rerender();
|
|
98
|
+
//TODO: remove this session-changed should only be emit on user change
|
|
130
99
|
this._dispatchResponseChanged();
|
|
131
100
|
}
|
|
132
101
|
}, {
|
|
133
102
|
key: "_onChange",
|
|
134
103
|
value: function _onChange(data) {
|
|
135
104
|
(0, _sessionUpdater.updateSessionValue)(this._session, this._model.choiceMode, data);
|
|
136
|
-
|
|
137
105
|
this._dispatchResponseChanged();
|
|
138
|
-
|
|
139
106
|
this._rerender();
|
|
140
107
|
}
|
|
141
108
|
}, {
|
|
@@ -146,6 +113,5 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
|
146
113
|
}]);
|
|
147
114
|
return MultipleChoice;
|
|
148
115
|
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
149
|
-
|
|
150
116
|
exports["default"] = MultipleChoice;
|
|
151
117
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_main","_interopRequireDefault","require","_react","_reactDom","_debounce","_debug","_mathRendering","_sessionUpdater","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","isComplete","session","value","length","exports","MultipleChoice","_HTMLElement","_inherits2","_super","_this","_classCallCheck2","_model","_session","_rerender","debounce","element","React","createElement","Main","model","onChoiceChanged","_onChange","bind","_assertThisInitialized2","ReactDOM","render","renderMath","leading","trailing","_dispatchResponseChanged","event","CustomEvent","bubbles","composed","detail","complete","component","tagName","toLowerCase","dispatchEvent","_dispatchModelSet","hasModel","undefined","_createClass2","key","set","s","get","data","updateSessionValue","choiceMode","connectedCallback","_wrapNativeSuper2","HTMLElement"],"sources":["../src/index.js"],"sourcesContent":["import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport debug from 'debug';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { updateSessionValue } from './session-updater';\n\nconst log = debug('pie-ui:multiple-choice');\n\nexport const isComplete = (session) => !!(session && session.value && session.value.length);\n\nexport default class MultipleChoice extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n var element = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onChoiceChanged: this._onChange.bind(this),\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 this._dispatchResponseChanged = debounce(() => {\n var event = new CustomEvent('session-changed', {\n bubbles: true,\n composed: true,\n detail: {\n complete: isComplete(this._session),\n component: this.tagName.toLowerCase(),\n },\n });\n\n this.dispatchEvent(event);\n });\n\n this._dispatchModelSet = debounce(\n () => {\n this.dispatchEvent(\n new CustomEvent('model-set', {\n bubbles: true,\n composed: true,\n detail: {\n complete: isComplete(this._session),\n component: this.tagName.toLowerCase(),\n hasModel: this._model !== undefined,\n },\n }),\n );\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n this._dispatchModelSet();\n }\n\n get session() {\n return this._session;\n }\n\n set session(s) {\n this._session = s;\n this._rerender();\n //TODO: remove this session-changed should only be emit on user change\n this._dispatchResponseChanged();\n }\n\n _onChange(data) {\n updateSessionValue(this._session, this._model.choiceMode, data);\n this._dispatchResponseChanged();\n this._rerender();\n }\n\n connectedCallback() {\n this._rerender();\n }\n}\n"],"mappings":"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"}
|
package/lib/main.js
CHANGED
|
@@ -1,61 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
11
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
15
|
var _react = _interopRequireDefault(require("react"));
|
|
25
|
-
|
|
26
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
17
|
var _styles = require("@material-ui/core/styles");
|
|
29
|
-
|
|
30
18
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
31
|
-
|
|
32
19
|
var _renderUi = require("@pie-lib/render-ui");
|
|
33
|
-
|
|
34
20
|
var _multipleChoice = _interopRequireDefault(require("./multiple-choice"));
|
|
35
|
-
|
|
36
21
|
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); }; }
|
|
37
|
-
|
|
38
22
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
39
|
-
|
|
40
23
|
var Main = /*#__PURE__*/function (_React$Component) {
|
|
41
24
|
(0, _inherits2["default"])(Main, _React$Component);
|
|
42
|
-
|
|
43
25
|
var _super = _createSuper(Main);
|
|
44
|
-
|
|
45
26
|
function Main(props) {
|
|
46
27
|
(0, _classCallCheck2["default"])(this, Main);
|
|
47
28
|
return _super.call(this, props);
|
|
48
29
|
}
|
|
49
|
-
|
|
50
30
|
(0, _createClass2["default"])(Main, [{
|
|
51
31
|
key: "render",
|
|
52
32
|
value: function render() {
|
|
53
33
|
var _this$props = this.props,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
34
|
+
model = _this$props.model,
|
|
35
|
+
onChoiceChanged = _this$props.onChoiceChanged,
|
|
36
|
+
session = _this$props.session,
|
|
37
|
+
classes = _this$props.classes;
|
|
58
38
|
|
|
39
|
+
// model.partLabel is a property used for ebsr
|
|
59
40
|
return /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewLayout, {
|
|
60
41
|
ariaLabel: model.choiceMode == 'radio' ? 'Multiple Choice Question' : 'Multiple Correct Answer Question',
|
|
61
42
|
role: "region"
|
|
@@ -69,7 +50,6 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
69
50
|
}]);
|
|
70
51
|
return Main;
|
|
71
52
|
}(_react["default"].Component);
|
|
72
|
-
|
|
73
53
|
(0, _defineProperty2["default"])(Main, "propTypes", {
|
|
74
54
|
model: _propTypes["default"].object,
|
|
75
55
|
session: _propTypes["default"].object,
|
|
@@ -88,13 +68,11 @@ var theme = (0, _styles.createMuiTheme)({
|
|
|
88
68
|
useNextVariants: true
|
|
89
69
|
}
|
|
90
70
|
});
|
|
91
|
-
|
|
92
71
|
var Root = function Root(props) {
|
|
93
72
|
return /*#__PURE__*/_react["default"].createElement(_styles.MuiThemeProvider, {
|
|
94
73
|
theme: theme
|
|
95
74
|
}, /*#__PURE__*/_react["default"].createElement(Styled, props));
|
|
96
75
|
};
|
|
97
|
-
|
|
98
76
|
var _default = Root;
|
|
99
77
|
exports["default"] = _default;
|
|
100
78
|
//# sourceMappingURL=main.js.map
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_classnames","_renderUi","_multipleChoice","_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","props","_classCallCheck2","_createClass2","key","value","render","_this$props","model","onChoiceChanged","session","classes","createElement","PreviewLayout","ariaLabel","choiceMode","role","partLabel","className","classNames","root","_extends2","React","Component","_defineProperty2","PropTypes","object","func","isRequired","Styled","withStyles","name","theme","createMuiTheme","typography","useNextVariants","Root","MuiThemeProvider","_default","exports"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { PreviewLayout } from '@pie-lib/render-ui';\nimport MultipleChoice from './multiple-choice';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onChoiceChanged: PropTypes.func,\n classes: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n model: {},\n session: {},\n };\n constructor(props) {\n super(props);\n }\n\n render() {\n const { model, onChoiceChanged, session, classes } = this.props;\n\n // model.partLabel is a property used for ebsr\n return (\n <PreviewLayout\n ariaLabel={(model.choiceMode == 'radio' ? 'Multiple Choice Question' : 'Multiple Correct Answer Question')}\n role=\"region\"\n > \n {model.partLabel && <p>{model.partLabel}</p>}\n <div className={classNames(classes.root, classes[model.className])}>\n <MultipleChoice {...model} session={session} onChoiceChanged={onChoiceChanged} />\n </div>\n </PreviewLayout>\n );\n }\n}\n\nconst Styled = withStyles({}, { name: 'Main' })(Main);\n\nconst theme = createMuiTheme({\n typography: {\n useNextVariants: true,\n },\n});\n\nconst Root = (props) => (\n <MuiThemeProvider theme={theme}>\n <Styled {...props} />\n </MuiThemeProvider>\n);\n\nexport default Root;\n"],"mappings":"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"}
|
package/lib/multiple-choice.js
CHANGED
|
@@ -1,45 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = exports.MultipleChoice = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
10
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
11
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
15
|
var _react = _interopRequireDefault(require("react"));
|
|
25
|
-
|
|
26
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
17
|
var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
|
|
29
|
-
|
|
30
18
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
31
|
-
|
|
32
19
|
var _styles = require("@material-ui/core/styles");
|
|
33
|
-
|
|
34
20
|
var _renderUi = require("@pie-lib/render-ui");
|
|
35
|
-
|
|
36
21
|
var _choice = _interopRequireDefault(require("./choice"));
|
|
37
|
-
|
|
38
22
|
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
23
|
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
24
|
// MultipleChoice
|
|
25
|
+
|
|
43
26
|
var styles = {
|
|
44
27
|
corespringChoice: {
|
|
45
28
|
backgroundColor: _renderUi.color.background(),
|
|
@@ -68,27 +51,20 @@ var styles = {
|
|
|
68
51
|
minWidth: '0px'
|
|
69
52
|
}
|
|
70
53
|
};
|
|
71
|
-
|
|
72
54
|
var MultipleChoice = /*#__PURE__*/function (_React$Component) {
|
|
73
55
|
(0, _inherits2["default"])(MultipleChoice, _React$Component);
|
|
74
|
-
|
|
75
56
|
var _super = _createSuper(MultipleChoice);
|
|
76
|
-
|
|
77
57
|
function MultipleChoice(props) {
|
|
78
58
|
var _this;
|
|
79
|
-
|
|
80
59
|
(0, _classCallCheck2["default"])(this, MultipleChoice);
|
|
81
60
|
_this = _super.call(this, props);
|
|
82
61
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getCorrectness", function () {
|
|
83
62
|
var choice = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
84
63
|
var isCorrect = choice.correct;
|
|
85
|
-
|
|
86
64
|
var isChecked = _this.isSelected(choice.value);
|
|
87
|
-
|
|
88
65
|
if (_this.state.showCorrect) {
|
|
89
66
|
return isCorrect ? 'correct' : undefined;
|
|
90
67
|
}
|
|
91
|
-
|
|
92
68
|
if (isCorrect) {
|
|
93
69
|
if (isChecked) {
|
|
94
70
|
// A correct answer is selected: marked with a green checkmark
|
|
@@ -113,7 +89,6 @@ var MultipleChoice = /*#__PURE__*/function (_React$Component) {
|
|
|
113
89
|
_this.onToggle = _this.onToggle.bind((0, _assertThisInitialized2["default"])(_this));
|
|
114
90
|
return _this;
|
|
115
91
|
}
|
|
116
|
-
|
|
117
92
|
(0, _createClass2["default"])(MultipleChoice, [{
|
|
118
93
|
key: "onToggle",
|
|
119
94
|
value: function onToggle() {
|
|
@@ -131,7 +106,6 @@ var MultipleChoice = /*#__PURE__*/function (_React$Component) {
|
|
|
131
106
|
showCorrect: false
|
|
132
107
|
});
|
|
133
108
|
}
|
|
134
|
-
|
|
135
109
|
if (nextProps.alwaysShowCorrect) {
|
|
136
110
|
this.setState({
|
|
137
111
|
showCorrect: true
|
|
@@ -150,31 +124,28 @@ var MultipleChoice = /*#__PURE__*/function (_React$Component) {
|
|
|
150
124
|
if (this.props.keyMode === 'numbers') {
|
|
151
125
|
return "".concat(index + 1);
|
|
152
126
|
}
|
|
153
|
-
|
|
154
127
|
if (this.props.keyMode === 'letters') {
|
|
155
128
|
return String.fromCharCode(97 + index).toUpperCase();
|
|
156
129
|
}
|
|
157
|
-
|
|
158
130
|
return '';
|
|
159
131
|
}
|
|
160
132
|
}, {
|
|
161
133
|
key: "render",
|
|
162
134
|
value: function render() {
|
|
163
135
|
var _this2 = this;
|
|
164
|
-
|
|
165
136
|
var _this$props = this.props,
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
137
|
+
mode = _this$props.mode,
|
|
138
|
+
disabled = _this$props.disabled,
|
|
139
|
+
_this$props$choices = _this$props.choices,
|
|
140
|
+
choices = _this$props$choices === void 0 ? [] : _this$props$choices,
|
|
141
|
+
choiceMode = _this$props.choiceMode,
|
|
142
|
+
prompt = _this$props.prompt,
|
|
143
|
+
onChoiceChanged = _this$props.onChoiceChanged,
|
|
144
|
+
responseCorrect = _this$props.responseCorrect,
|
|
145
|
+
teacherInstructions = _this$props.teacherInstructions,
|
|
146
|
+
classes = _this$props.classes,
|
|
147
|
+
alwaysShowCorrect = _this$props.alwaysShowCorrect,
|
|
148
|
+
animationsDisabled = _this$props.animationsDisabled;
|
|
178
149
|
var showCorrect = this.state.showCorrect;
|
|
179
150
|
var isEvaluateMode = mode === 'evaluate';
|
|
180
151
|
var showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;
|
|
@@ -231,7 +202,6 @@ var MultipleChoice = /*#__PURE__*/function (_React$Component) {
|
|
|
231
202
|
}]);
|
|
232
203
|
return MultipleChoice;
|
|
233
204
|
}(_react["default"].Component);
|
|
234
|
-
|
|
235
205
|
exports.MultipleChoice = MultipleChoice;
|
|
236
206
|
(0, _defineProperty2["default"])(MultipleChoice, "propTypes", {
|
|
237
207
|
mode: _propTypes["default"].oneOf(['gather', 'view', 'evaluate']),
|
|
@@ -256,8 +226,6 @@ MultipleChoice.defaultProps = {
|
|
|
256
226
|
value: []
|
|
257
227
|
}
|
|
258
228
|
};
|
|
259
|
-
|
|
260
229
|
var _default = (0, _styles.withStyles)(styles)(MultipleChoice);
|
|
261
|
-
|
|
262
230
|
exports["default"] = _default;
|
|
263
231
|
//# sourceMappingURL=multiple-choice.js.map
|