@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
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType
|
|
9
8
|
* functionalities are not defined yet - the value for those can belong to
|
|
10
9
|
* model or to configure
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"defaults.js","names":["_default","model","choiceMode","choicePrefix","choices","prompt","lockChoiceOrder","partialScoring","scoringType","feedbackEnabled","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","toolbarEditorPosition","choicesLayout","gridColumns","configuration","spellCheck","label","settings","enabled","answerChoiceCount","addChoiceButton","deleteChoice","feedback","rationale","accessibility","studentInstructions","teacherInstructions","minAnswerChoices","maxAnswerChoices","maxImageWidth","maxImageHeight","withRubric","exports"],"sources":["../src/defaults.js"],"sourcesContent":["/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configure\n */\nexport default {\n model: {\n choiceMode: 'checkbox',\n choicePrefix: 'letters',\n choices: [],\n prompt: 'Question Prompt goes here',\n lockChoiceOrder: true,\n partialScoring: true,\n scoringType: 'auto',\n feedbackEnabled: true,\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n choicesLayout: 'vertical',\n gridColumns: '2',\n },\n configuration: {\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n choicesLayout: {\n settings: false,\n label: 'Choices Layout',\n },\n gridColumns: {\n label: 'Grid columns',\n },\n answerChoiceCount: 0,\n addChoiceButton: {\n settings: true,\n label: 'Add a Choice',\n },\n choiceMode: {\n settings: true,\n label: 'Response Type',\n },\n choicePrefix: {\n settings: true,\n label: 'Choice Labels',\n },\n deleteChoice: {\n settings: true,\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n },\n lockChoiceOrder: {\n settings: true,\n label: 'Lock Choice Order',\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n },\n accessibility: {\n settings: false,\n label: 'Accessibility Label',\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n },\n toolbarEditorPosition: {\n settings: false,\n label: 'Toolbar Editor Position',\n },\n minAnswerChoices: 2,\n maxAnswerChoices: 5,\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 636,\n choices: 636,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n choices: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n },\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AAHA,IAAAA,QAAA,GAIe;EACbC,KAAK,EAAE;IACLC,UAAU,EAAE,UAAU;IACtBC,YAAY,EAAE,SAAS;IACvBC,OAAO,EAAE,EAAE;IACXC,MAAM,EAAE,2BAA2B;IACnCC,eAAe,EAAE,IAAI;IACrBC,cAAc,EAAE,IAAI;IACpBC,WAAW,EAAE,MAAM;IACnBC,eAAe,EAAE,IAAI;IACrBC,aAAa,EAAE,IAAI;IACnBC,gBAAgB,EAAE,IAAI;IACtBC,0BAA0B,EAAE,IAAI;IAChCC,0BAA0B,EAAE,IAAI;IAChCC,qBAAqB,EAAE,QAAQ;IAC/BC,aAAa,EAAE,UAAU;IACzBC,WAAW,EAAE;EACf,CAAC;EACDC,aAAa,EAAE;IACbC,UAAU,EAAE;MACVC,KAAK,EAAE,YAAY;MACnBC,QAAQ,EAAE,KAAK;MACfC,OAAO,EAAE;IACX,CAAC;IACDN,aAAa,EAAE;MACbK,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDH,WAAW,EAAE;MACXG,KAAK,EAAE;IACT,CAAC;IACDG,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE;MACfH,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDjB,UAAU,EAAE;MACVkB,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDhB,YAAY,EAAE;MACZiB,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDK,YAAY,EAAE;MACZJ,QAAQ,EAAE;IACZ,CAAC;IACDK,QAAQ,EAAE;MACRL,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDd,MAAM,EAAE;MACNe,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDb,eAAe,EAAE;MACfc,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDZ,cAAc,EAAE;MACda,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDO,SAAS,EAAE;MACTN,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDQ,aAAa,EAAE;MACbP,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDX,WAAW,EAAE;MACXY,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDS,mBAAmB,EAAE;MACnBR,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDU,mBAAmB,EAAE;MACnBT,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDL,qBAAqB,EAAE;MACrBM,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDW,gBAAgB,EAAE,CAAC;IACnBC,gBAAgB,EAAE,CAAC;IACnBC,aAAa,EAAE;MACbH,mBAAmB,EAAE,GAAG;MACxBxB,MAAM,EAAE,GAAG;MACXqB,SAAS,EAAE,GAAG;MACdtB,OAAO,EAAE;IACX,CAAC;IACD6B,cAAc,EAAE;MACdJ,mBAAmB,EAAE,GAAG;MACxBxB,MAAM,EAAE,GAAG;MACXqB,SAAS,EAAE,GAAG;MACdtB,OAAO,EAAE;IACX,CAAC;IACD8B,UAAU,EAAE;MACVd,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT;EACF;AACF,CAAC;AAAAgB,OAAA,cAAAnC,QAAA"}
|
package/configure/lib/index.js
CHANGED
|
@@ -1,60 +1,35 @@
|
|
|
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 _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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
16
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
17
|
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
29
|
-
|
|
30
18
|
var _debug = _interopRequireDefault(require("debug"));
|
|
31
|
-
|
|
32
19
|
var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
|
|
33
|
-
|
|
34
20
|
var _main = _interopRequireDefault(require("./main"));
|
|
35
|
-
|
|
36
21
|
var _configUi = require("@pie-lib/config-ui");
|
|
37
|
-
|
|
38
22
|
var _defaults = _interopRequireDefault(require("lodash/defaults"));
|
|
39
|
-
|
|
40
23
|
var _defaults2 = _interopRequireDefault(require("./defaults"));
|
|
41
|
-
|
|
42
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); }; }
|
|
43
|
-
|
|
44
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; } }
|
|
45
|
-
|
|
46
26
|
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; }
|
|
47
|
-
|
|
48
27
|
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; }
|
|
49
|
-
|
|
50
28
|
var log = (0, _debug["default"])('multiple-choice:configure');
|
|
51
|
-
|
|
52
29
|
var generateFormattedChoices = function generateFormattedChoices(choices) {
|
|
53
30
|
var choiceCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
54
|
-
|
|
55
31
|
if (!choices || choices.length === 0) {
|
|
56
32
|
var formattedChoices = [];
|
|
57
|
-
|
|
58
33
|
for (var i = 0; i < choiceCount; i++) {
|
|
59
34
|
formattedChoices.push({
|
|
60
35
|
value: "".concat(i),
|
|
@@ -65,13 +40,10 @@ var generateFormattedChoices = function generateFormattedChoices(choices) {
|
|
|
65
40
|
}
|
|
66
41
|
});
|
|
67
42
|
}
|
|
68
|
-
|
|
69
43
|
return formattedChoices;
|
|
70
44
|
}
|
|
71
|
-
|
|
72
45
|
return choices;
|
|
73
46
|
};
|
|
74
|
-
|
|
75
47
|
var prepareCustomizationObject = function prepareCustomizationObject(config, model) {
|
|
76
48
|
var configuration = (0, _defaults["default"])(config, _defaults2["default"].configuration);
|
|
77
49
|
return {
|
|
@@ -81,15 +53,11 @@ var prepareCustomizationObject = function prepareCustomizationObject(config, mod
|
|
|
81
53
|
})
|
|
82
54
|
};
|
|
83
55
|
};
|
|
84
|
-
|
|
85
56
|
var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
86
57
|
(0, _inherits2["default"])(MultipleChoice, _HTMLElement);
|
|
87
|
-
|
|
88
58
|
var _super = _createSuper(MultipleChoice);
|
|
89
|
-
|
|
90
59
|
function MultipleChoice() {
|
|
91
60
|
var _this;
|
|
92
|
-
|
|
93
61
|
(0, _classCallCheck2["default"])(this, MultipleChoice);
|
|
94
62
|
_this = _super.call(this);
|
|
95
63
|
_this._model = MultipleChoice.createDefaultModel();
|
|
@@ -98,12 +66,10 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
|
98
66
|
_this.onConfigurationChanged = _this.onConfigurationChanged.bind((0, _assertThisInitialized2["default"])(_this));
|
|
99
67
|
return _this;
|
|
100
68
|
}
|
|
101
|
-
|
|
102
69
|
(0, _createClass2["default"])(MultipleChoice, [{
|
|
103
70
|
key: "model",
|
|
104
71
|
set: function set(s) {
|
|
105
72
|
this._model = MultipleChoice.createDefaultModel(s);
|
|
106
|
-
|
|
107
73
|
this._render();
|
|
108
74
|
}
|
|
109
75
|
}, {
|
|
@@ -112,14 +78,12 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
|
112
78
|
var info = prepareCustomizationObject(c, this._model);
|
|
113
79
|
this.onModelChanged(info.model);
|
|
114
80
|
this._configuration = info.configuration;
|
|
115
|
-
|
|
116
81
|
this._render();
|
|
117
82
|
}
|
|
118
83
|
}, {
|
|
119
84
|
key: "disableSidePanel",
|
|
120
85
|
set: function set(s) {
|
|
121
86
|
this._disableSidePanel = s;
|
|
122
|
-
|
|
123
87
|
this._render();
|
|
124
88
|
}
|
|
125
89
|
}, {
|
|
@@ -132,24 +96,20 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
|
132
96
|
key: "onModelChanged",
|
|
133
97
|
value: function onModelChanged(m, reset) {
|
|
134
98
|
this._model = m;
|
|
135
|
-
|
|
136
99
|
this._render();
|
|
137
|
-
|
|
138
100
|
this.dispatchModelUpdated(reset);
|
|
139
101
|
}
|
|
140
102
|
}, {
|
|
141
103
|
key: "onConfigurationChanged",
|
|
142
104
|
value: function onConfigurationChanged(c) {
|
|
143
105
|
this._configuration = prepareCustomizationObject(c, this._model).configuration;
|
|
144
|
-
|
|
145
106
|
if (this._model) {
|
|
146
107
|
this.onModelChanged(this._model);
|
|
147
108
|
}
|
|
148
|
-
|
|
149
109
|
this._render();
|
|
150
110
|
}
|
|
151
|
-
/** @param {done, progress, file} handler */
|
|
152
111
|
|
|
112
|
+
/** @param {done, progress, file} handler */
|
|
153
113
|
}, {
|
|
154
114
|
key: "insertImage",
|
|
155
115
|
value: function insertImage(handler) {
|
|
@@ -174,7 +134,6 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
|
174
134
|
key: "_render",
|
|
175
135
|
value: function _render() {
|
|
176
136
|
log('_render');
|
|
177
|
-
|
|
178
137
|
var element = /*#__PURE__*/_react["default"].createElement(_main["default"], {
|
|
179
138
|
model: this._model,
|
|
180
139
|
configuration: this._configuration,
|
|
@@ -190,22 +149,19 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
|
|
|
190
149
|
"delete": this.onDeleteSound.bind(this)
|
|
191
150
|
}
|
|
192
151
|
});
|
|
193
|
-
|
|
194
152
|
_reactDom["default"].render(element, this);
|
|
195
153
|
}
|
|
196
154
|
}]);
|
|
197
155
|
return MultipleChoice;
|
|
198
156
|
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
199
|
-
|
|
200
157
|
exports["default"] = MultipleChoice;
|
|
201
158
|
(0, _defineProperty2["default"])(MultipleChoice, "createDefaultModel", function () {
|
|
202
159
|
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
203
|
-
|
|
204
160
|
var normalizedModel = _configUi.choiceUtils.normalizeChoices(_objectSpread(_objectSpread(_objectSpread({}, _defaults2["default"].model), model), {}, {
|
|
205
161
|
choices: generateFormattedChoices(model && model.choices || [])
|
|
206
|
-
}));
|
|
207
|
-
|
|
162
|
+
}));
|
|
208
163
|
|
|
164
|
+
// This is used for offering support for old models which have the property "verticalMode"
|
|
209
165
|
normalizedModel.choicesLayout = model.choicesLayout || model.verticalMode === false && 'horizontal' || _defaults2["default"].model.choicesLayout;
|
|
210
166
|
return normalizedModel;
|
|
211
167
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","generateFormattedChoices","choices","choiceCount","length","formattedChoices","i","push","value","label","feedback","type","prepareCustomizationObject","config","model","configuration","sensibleDefaults","answerChoiceCount","MultipleChoice","_model","createDefaultModel","_configuration","onModelChanged","bind","onConfigurationChanged","s","_render","c","info","_disableSidePanel","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","dispatchModelUpdated","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","element","React","createElement","Main","disableSidePanel","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement","normalizedModel","utils","normalizeChoices","choicesLayout","verticalMode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAQA;;AACA;;AACA;;AAEA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,2BAAN,CAAZ;;AAEA,IAAMC,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,OAAD,EAA8B;AAAA,MAApBC,WAAoB,uEAAN,CAAM;;AAC7D,MAAI,CAACD,OAAD,IAAYA,OAAO,CAACE,MAAR,KAAmB,CAAnC,EAAsC;AACpC,QAAIC,gBAAgB,GAAG,EAAvB;;AAEA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,WAApB,EAAiCG,CAAC,EAAlC,EAAsC;AACpCD,MAAAA,gBAAgB,CAACE,IAAjB,CAAsB;AACpBC,QAAAA,KAAK,YAAKF,CAAL,CADe;AAEpBG,QAAAA,KAAK,EAAE,EAFa;AAGpBC,QAAAA,QAAQ,EAAE;AACRC,UAAAA,IAAI,EAAE,MADE;AAERH,UAAAA,KAAK,EAAE;AAFC;AAHU,OAAtB;AAQD;;AAED,WAAOH,gBAAP;AACD;;AAED,SAAOH,OAAP;AACD,CAnBD;;AAqBA,IAAMU,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACC,MAAD,EAASC,KAAT,EAAmB;AACpD,MAAMC,aAAa,GAAG,0BAASF,MAAT,EAAiBG,sBAAiBD,aAAlC,CAAtB;AAEA,SAAO;AACLA,IAAAA,aAAa,EAAbA,aADK;AAELD,IAAAA,KAAK,kCACAA,KADA;AAEHZ,MAAAA,OAAO,EAAED,wBAAwB,CAC9Ba,KAAK,IAAIA,KAAK,CAACZ,OAAhB,IAA4B,EADG,EAE/Ba,aAAa,IAAIA,aAAa,CAACE,iBAFA;AAF9B;AAFA,GAAP;AAUD,CAbD;;IAeqBC,c;;;;;AAenB,4BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAcD,cAAc,CAACE,kBAAf,EAAd;AACA,UAAKC,cAAL,GAAsBL,sBAAiBD,aAAvC;AACA,UAAKO,cAAL,GAAsB,MAAKA,cAAL,CAAoBC,IAApB,gDAAtB;AACA,UAAKC,sBAAL,GAA8B,MAAKA,sBAAL,CAA4BD,IAA5B,gDAA9B;AALY;AAMb;;;;SAED,aAAUE,CAAV,EAAa;AACX,WAAKN,MAAL,GAAcD,cAAc,CAACE,kBAAf,CAAkCK,CAAlC,CAAd;;AAEA,WAAKC,OAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,UAAMC,IAAI,GAAGhB,0BAA0B,CAACe,CAAD,EAAI,KAAKR,MAAT,CAAvC;AAEA,WAAKG,cAAL,CAAoBM,IAAI,CAACd,KAAzB;AACA,WAAKO,cAAL,GAAsBO,IAAI,CAACb,aAA3B;;AACA,WAAKW,OAAL;AACD;;;SAED,aAAqBD,CAArB,EAAwB;AACtB,WAAKI,iBAAL,GAAyBJ,CAAzB;;AACA,WAAKC,OAAL;AACD;;;WAED,8BAAqBI,KAArB,EAA4B;AAC1B,UAAMC,UAAU,GAAG,CAAC,CAACD,KAArB;AAEA,WAAKE,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKd,MAA3B,EAAmCY,UAAnC,CAAnB;AACD;;;WAED,wBAAeG,CAAf,EAAkBJ,KAAlB,EAAyB;AACvB,WAAKX,MAAL,GAAce,CAAd;;AACA,WAAKR,OAAL;;AAEA,WAAKS,oBAAL,CAA0BL,KAA1B;AACD;;;WAED,gCAAuBH,CAAvB,EAA0B;AACxB,WAAKN,cAAL,GAAsBT,0BAA0B,CAACe,CAAD,EAAI,KAAKR,MAAT,CAA1B,CAA2CJ,aAAjE;;AAEA,UAAI,KAAKI,MAAT,EAAiB;AACf,aAAKG,cAAL,CAAoB,KAAKH,MAAzB;AACD;;AAED,WAAKO,OAAL;AACD;AAED;;;;WACA,qBAAYU,OAAZ,EAAqB;AACnB,WAAKJ,aAAL,CAAmB,IAAIK,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKP,aAAL,CAAmB,IAAIQ,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,qBAAYH,OAAZ,EAAqB;AACnB,WAAKJ,aAAL,CAAmB,IAAIS,oCAAJ,CAAqBL,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKP,aAAL,CAAmB,IAAIU,oCAAJ,CAAqBJ,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,mBAAU;AACRvC,MAAAA,GAAG,CAAC,SAAD,CAAH;;AACA,UAAI2C,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACtChC,QAAAA,KAAK,EAAE,KAAKK,MAD0B;AAEtCJ,QAAAA,aAAa,EAAE,KAAKM,cAFkB;AAGtCC,QAAAA,cAAc,EAAE,KAAKA,cAHiB;AAItCE,QAAAA,sBAAsB,EAAE,KAAKA,sBAJS;AAKtCuB,QAAAA,gBAAgB,EAAE,KAAKlB,iBALe;AAMtCmB,QAAAA,YAAY,EAAE;AACZC,UAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiB3B,IAAjB,CAAsB,IAAtB,CADO;AAEZ,oBAAQ,KAAK4B,aAAL,CAAmB5B,IAAnB,CAAwB,IAAxB;AAFI,SANwB;AAUtC6B,QAAAA,kBAAkB,EAAE;AAClBH,UAAAA,GAAG,EAAE,KAAKI,WAAL,CAAiB9B,IAAjB,CAAsB,IAAtB,CADa;AAElB,oBAAQ,KAAK+B,aAAL,CAAmB/B,IAAnB,CAAwB,IAAxB;AAFU;AAVkB,OAA1B,CAAd;;AAgBAgC,2BAASC,MAAT,CAAgBb,OAAhB,EAAyB,IAAzB;AACD;;;kDArGyCc,W;;;iCAAvBvC,c,wBACS,YAAgB;AAAA,MAAfJ,KAAe,uEAAP,EAAO;;AAC1C,MAAM4C,eAAe,GAAGC,sBAAMC,gBAAN,+CACnB5C,sBAAiBF,KADE,GAEnBA,KAFmB;AAGtBZ,IAAAA,OAAO,EAAED,wBAAwB,CAAEa,KAAK,IAAIA,KAAK,CAACZ,OAAhB,IAA4B,EAA7B;AAHX,KAAxB,CAD0C,CAO1C;;;AACAwD,EAAAA,eAAe,CAACG,aAAhB,GACE/C,KAAK,CAAC+C,aAAN,IAAwB/C,KAAK,CAACgD,YAAN,KAAuB,KAAvB,IAAgC,YAAxD,IAAyE9C,sBAAiBF,KAAjB,CAAuB+C,aADlG;AAGA,SAAOH,eAAP;AACD,C","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport {\n DeleteImageEvent,\n InsertImageEvent,\n ModelUpdatedEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport Main from './main';\nimport { choiceUtils as utils } from '@pie-lib/config-ui';\nimport defaults from 'lodash/defaults';\n\nimport sensibleDefaults from './defaults';\n\nconst log = debug('multiple-choice:configure');\n\nconst generateFormattedChoices = (choices, choiceCount = 0) => {\n if (!choices || choices.length === 0) {\n let formattedChoices = [];\n\n for (let i = 0; i < choiceCount; i++) {\n formattedChoices.push({\n value: `${i}`,\n label: '',\n feedback: {\n type: 'none',\n value: '',\n },\n });\n }\n\n return formattedChoices;\n }\n\n return choices;\n};\n\nconst prepareCustomizationObject = (config, model) => {\n const configuration = defaults(config, sensibleDefaults.configuration);\n\n return {\n configuration,\n model: {\n ...model,\n choices: generateFormattedChoices(\n (model && model.choices) || [],\n configuration && configuration.answerChoiceCount,\n ),\n },\n };\n};\n\nexport default class MultipleChoice extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const normalizedModel = utils.normalizeChoices({\n ...sensibleDefaults.model,\n ...model,\n choices: generateFormattedChoices((model && model.choices) || []),\n });\n\n // This is used for offering support for old models which have the property \"verticalMode\"\n normalizedModel.choicesLayout =\n model.choicesLayout || (model.verticalMode === false && 'horizontal') || sensibleDefaults.model.choicesLayout;\n\n return normalizedModel;\n };\n\n constructor() {\n super();\n this._model = MultipleChoice.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(s) {\n this._model = MultipleChoice.createDefaultModel(s);\n\n this._render();\n }\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n\n this.onModelChanged(info.model);\n this._configuration = info.configuration;\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged(m, reset) {\n this._model = m;\n this._render();\n\n this.dispatchModelUpdated(reset);\n }\n\n onConfigurationChanged(c) {\n this._configuration = prepareCustomizationObject(c, this._model).configuration;\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n }\n\n /** @param {done, progress, file} handler */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n disableSidePanel: this._disableSidePanel,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_reactDom","_debug","_pieConfigureEvents","_main","_configUi","_defaults","_defaults2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","log","debug","generateFormattedChoices","choices","choiceCount","undefined","formattedChoices","value","concat","label","feedback","type","prepareCustomizationObject","config","model","configuration","defaults","sensibleDefaults","answerChoiceCount","MultipleChoice","_HTMLElement","_inherits2","_super","_this","_classCallCheck2","_model","createDefaultModel","_configuration","onModelChanged","bind","_assertThisInitialized2","onConfigurationChanged","_createClass2","set","s","_render","c","info","_disableSidePanel","dispatchModelUpdated","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","element","React","createElement","Main","disableSidePanel","imageSupport","add","uploadSoundSupport","ReactDOM","render","_wrapNativeSuper2","HTMLElement","exports","normalizedModel","utils","normalizeChoices","choicesLayout","verticalMode"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport {\n DeleteImageEvent,\n InsertImageEvent,\n ModelUpdatedEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\n\nimport Main from './main';\nimport { choiceUtils as utils } from '@pie-lib/config-ui';\nimport defaults from 'lodash/defaults';\n\nimport sensibleDefaults from './defaults';\n\nconst log = debug('multiple-choice:configure');\n\nconst generateFormattedChoices = (choices, choiceCount = 0) => {\n if (!choices || choices.length === 0) {\n let formattedChoices = [];\n\n for (let i = 0; i < choiceCount; i++) {\n formattedChoices.push({\n value: `${i}`,\n label: '',\n feedback: {\n type: 'none',\n value: '',\n },\n });\n }\n\n return formattedChoices;\n }\n\n return choices;\n};\n\nconst prepareCustomizationObject = (config, model) => {\n const configuration = defaults(config, sensibleDefaults.configuration);\n\n return {\n configuration,\n model: {\n ...model,\n choices: generateFormattedChoices(\n (model && model.choices) || [],\n configuration && configuration.answerChoiceCount,\n ),\n },\n };\n};\n\nexport default class MultipleChoice extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const normalizedModel = utils.normalizeChoices({\n ...sensibleDefaults.model,\n ...model,\n choices: generateFormattedChoices((model && model.choices) || []),\n });\n\n // This is used for offering support for old models which have the property \"verticalMode\"\n normalizedModel.choicesLayout =\n model.choicesLayout || (model.verticalMode === false && 'horizontal') || sensibleDefaults.model.choicesLayout;\n\n return normalizedModel;\n };\n\n constructor() {\n super();\n this._model = MultipleChoice.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(s) {\n this._model = MultipleChoice.createDefaultModel(s);\n\n this._render();\n }\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n\n this.onModelChanged(info.model);\n this._configuration = info.configuration;\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged(m, reset) {\n this._model = m;\n this._render();\n\n this.dispatchModelUpdated(reset);\n }\n\n onConfigurationChanged(c) {\n this._configuration = prepareCustomizationObject(c, this._model).configuration;\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n }\n\n /** @param {done, progress, file} handler */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n disableSidePanel: this._disableSidePanel,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(element, this);\n }\n}\n"],"mappings":"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"}
|
package/configure/lib/main.js
CHANGED
|
@@ -1,66 +1,39 @@
|
|
|
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.Main = 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 _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
12
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
16
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
17
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
-
|
|
30
18
|
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
31
|
-
|
|
32
19
|
var _configUi = require("@pie-lib/config-ui");
|
|
33
|
-
|
|
34
20
|
var _renderUi = require("@pie-lib/render-ui");
|
|
35
|
-
|
|
36
21
|
var _styles = require("@material-ui/core/styles");
|
|
37
|
-
|
|
38
22
|
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
39
|
-
|
|
40
23
|
var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
|
|
41
|
-
|
|
42
24
|
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
43
|
-
|
|
44
25
|
var _Info = _interopRequireDefault(require("@material-ui/icons/Info"));
|
|
45
|
-
|
|
46
26
|
var _merge = _interopRequireDefault(require("lodash/merge"));
|
|
47
|
-
|
|
48
27
|
var _utils = require("./utils");
|
|
49
|
-
|
|
50
28
|
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); }; }
|
|
51
|
-
|
|
52
29
|
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; } }
|
|
53
|
-
|
|
54
30
|
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; }
|
|
55
|
-
|
|
56
31
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
57
|
-
|
|
58
32
|
var Panel = _configUi.settings.Panel,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
33
|
+
toggle = _configUi.settings.toggle,
|
|
34
|
+
radio = _configUi.settings.radio,
|
|
35
|
+
dropdown = _configUi.settings.dropdown;
|
|
62
36
|
var MAX_CHOICES = 9;
|
|
63
|
-
|
|
64
37
|
var styles = function styles(theme) {
|
|
65
38
|
return {
|
|
66
39
|
promptHolder: {
|
|
@@ -137,82 +110,76 @@ var styles = function styles(theme) {
|
|
|
137
110
|
}
|
|
138
111
|
};
|
|
139
112
|
};
|
|
140
|
-
|
|
141
113
|
var Design = (0, _styles.withStyles)(styles)(function (props) {
|
|
142
114
|
var classes = props.classes,
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
115
|
+
model = props.model,
|
|
116
|
+
configuration = props.configuration,
|
|
117
|
+
onPromptChanged = props.onPromptChanged,
|
|
118
|
+
onChoiceChanged = props.onChoiceChanged,
|
|
119
|
+
onRemoveChoice = props.onRemoveChoice,
|
|
120
|
+
onAddChoice = props.onAddChoice,
|
|
121
|
+
imageSupport = props.imageSupport,
|
|
122
|
+
uploadSoundSupport = props.uploadSoundSupport,
|
|
123
|
+
onChangeModel = props.onChangeModel,
|
|
124
|
+
onConfigurationChanged = props.onConfigurationChanged,
|
|
125
|
+
onTeacherInstructionsChanged = props.onTeacherInstructionsChanged;
|
|
155
126
|
var _ref = configuration || {},
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
127
|
+
_ref$prompt = _ref.prompt,
|
|
128
|
+
prompt = _ref$prompt === void 0 ? {} : _ref$prompt,
|
|
129
|
+
_ref$addChoiceButton = _ref.addChoiceButton,
|
|
130
|
+
addChoiceButton = _ref$addChoiceButton === void 0 ? {} : _ref$addChoiceButton,
|
|
131
|
+
_ref$feedback = _ref.feedback,
|
|
132
|
+
feedback = _ref$feedback === void 0 ? {} : _ref$feedback,
|
|
133
|
+
_ref$deleteChoice = _ref.deleteChoice,
|
|
134
|
+
deleteChoice = _ref$deleteChoice === void 0 ? {} : _ref$deleteChoice,
|
|
135
|
+
_ref$choiceMode = _ref.choiceMode,
|
|
136
|
+
choiceMode = _ref$choiceMode === void 0 ? {} : _ref$choiceMode,
|
|
137
|
+
_ref$choicePrefix = _ref.choicePrefix,
|
|
138
|
+
choicePrefix = _ref$choicePrefix === void 0 ? {} : _ref$choicePrefix,
|
|
139
|
+
_ref$partialScoring = _ref.partialScoring,
|
|
140
|
+
partialScoring = _ref$partialScoring === void 0 ? {} : _ref$partialScoring,
|
|
141
|
+
_ref$lockChoiceOrder = _ref.lockChoiceOrder,
|
|
142
|
+
lockChoiceOrder = _ref$lockChoiceOrder === void 0 ? {} : _ref$lockChoiceOrder,
|
|
143
|
+
_ref$teacherInstructi = _ref.teacherInstructions,
|
|
144
|
+
teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
|
|
145
|
+
_ref$studentInstructi = _ref.studentInstructions,
|
|
146
|
+
studentInstructions = _ref$studentInstructi === void 0 ? {} : _ref$studentInstructi,
|
|
147
|
+
_ref$rationale = _ref.rationale,
|
|
148
|
+
rationale = _ref$rationale === void 0 ? {} : _ref$rationale,
|
|
149
|
+
_ref$accessibility = _ref.accessibility,
|
|
150
|
+
accessibility = _ref$accessibility === void 0 ? {} : _ref$accessibility,
|
|
151
|
+
_ref$scoringType = _ref.scoringType,
|
|
152
|
+
scoringType = _ref$scoringType === void 0 ? {} : _ref$scoringType,
|
|
153
|
+
_ref$sequentialChoice = _ref.sequentialChoiceLabels,
|
|
154
|
+
sequentialChoiceLabels = _ref$sequentialChoice === void 0 ? {} : _ref$sequentialChoice,
|
|
155
|
+
settingsPanelDisabled = _ref.settingsPanelDisabled,
|
|
156
|
+
choicesLayout = _ref.choicesLayout,
|
|
157
|
+
_ref$spellCheck = _ref.spellCheck,
|
|
158
|
+
spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
|
|
159
|
+
gridColumns = _ref.gridColumns,
|
|
160
|
+
_ref$maxImageWidth = _ref.maxImageWidth,
|
|
161
|
+
maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
|
|
162
|
+
_ref$maxImageHeight = _ref.maxImageHeight,
|
|
163
|
+
maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight,
|
|
164
|
+
_ref$withRubric = _ref.withRubric,
|
|
165
|
+
withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric;
|
|
196
166
|
var _ref2 = configuration || {},
|
|
197
|
-
|
|
198
|
-
|
|
167
|
+
maxAnswerChoices = _ref2.maxAnswerChoices;
|
|
199
168
|
var _ref3 = model || {},
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
169
|
+
limitChoicesNumber = _ref3.limitChoicesNumber,
|
|
170
|
+
teacherInstructionsEnabled = _ref3.teacherInstructionsEnabled,
|
|
171
|
+
rationaleEnabled = _ref3.rationaleEnabled,
|
|
172
|
+
accessibilityLabelsEnabled = _ref3.accessibilityLabelsEnabled,
|
|
173
|
+
feedbackEnabled = _ref3.feedbackEnabled,
|
|
174
|
+
promptEnabled = _ref3.promptEnabled,
|
|
175
|
+
spellCheckEnabled = _ref3.spellCheckEnabled,
|
|
176
|
+
choices = _ref3.choices,
|
|
177
|
+
errors = _ref3.errors,
|
|
178
|
+
toolbarEditorPosition = _ref3.toolbarEditorPosition;
|
|
211
179
|
var _ref4 = errors || {},
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
180
|
+
choicesErrors = _ref4.choicesErrors,
|
|
181
|
+
correctResponseError = _ref4.correctResponseError,
|
|
182
|
+
answerChoicesError = _ref4.answerChoicesError;
|
|
216
183
|
var nrOfColumnsAvailable = choices !== null && choices !== void 0 && choices.length ? Array.from({
|
|
217
184
|
length: choices.length
|
|
218
185
|
}, function (_, i) {
|
|
@@ -228,12 +195,12 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
|
|
|
228
195
|
};
|
|
229
196
|
var toolbarOpts = {
|
|
230
197
|
position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
|
|
231
|
-
};
|
|
198
|
+
};
|
|
232
199
|
|
|
200
|
+
// if old property is used, set maxAnswerChoices to 9
|
|
233
201
|
if (limitChoicesNumber) {
|
|
234
202
|
maxAnswerChoices = MAX_CHOICES;
|
|
235
203
|
}
|
|
236
|
-
|
|
237
204
|
var validationMessage = (0, _utils.generateValidationMessage)(configuration);
|
|
238
205
|
var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
|
|
239
206
|
var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
|
|
@@ -421,66 +388,52 @@ var Design = (0, _styles.withStyles)(styles)(function (props) {
|
|
|
421
388
|
onClick: onAddChoice
|
|
422
389
|
}, addChoiceButton.label))));
|
|
423
390
|
});
|
|
424
|
-
|
|
425
391
|
var Main = /*#__PURE__*/function (_React$Component) {
|
|
426
392
|
(0, _inherits2["default"])(Main, _React$Component);
|
|
427
|
-
|
|
428
393
|
var _super = _createSuper(Main);
|
|
429
|
-
|
|
430
394
|
function Main() {
|
|
431
395
|
var _this;
|
|
432
|
-
|
|
433
396
|
(0, _classCallCheck2["default"])(this, Main);
|
|
434
|
-
|
|
435
397
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
436
398
|
args[_key] = arguments[_key];
|
|
437
399
|
}
|
|
438
|
-
|
|
439
400
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
440
401
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
441
402
|
showWarning: false
|
|
442
403
|
});
|
|
443
404
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRemoveChoice", function (index) {
|
|
444
405
|
var _this$props = _this.props,
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
406
|
+
model = _this$props.model,
|
|
407
|
+
configuration = _this$props.configuration,
|
|
408
|
+
onModelChanged = _this$props.onModelChanged;
|
|
449
409
|
var _ref5 = configuration || {},
|
|
450
|
-
|
|
451
|
-
|
|
410
|
+
minAnswerChoices = _ref5.minAnswerChoices;
|
|
452
411
|
if (minAnswerChoices && model.choices.length === minAnswerChoices) {
|
|
453
412
|
_this.setState({
|
|
454
413
|
showWarning: true
|
|
455
414
|
});
|
|
456
|
-
|
|
457
415
|
return;
|
|
458
416
|
}
|
|
459
|
-
|
|
460
417
|
model.choices.splice(index, 1);
|
|
461
418
|
onModelChanged(model);
|
|
462
419
|
});
|
|
463
420
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAddChoice", function () {
|
|
464
421
|
var _this$props2 = _this.props,
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
422
|
+
model = _this$props2.model,
|
|
423
|
+
configuration = _this$props2.configuration,
|
|
424
|
+
onModelChanged = _this$props2.onModelChanged;
|
|
469
425
|
var _ref6 = configuration || {},
|
|
470
|
-
|
|
471
|
-
|
|
426
|
+
maxAnswerChoices = _ref6.maxAnswerChoices;
|
|
472
427
|
var _ref7 = model || {},
|
|
473
|
-
|
|
474
|
-
|
|
428
|
+
limitChoicesNumber = _ref7.limitChoicesNumber;
|
|
475
429
|
|
|
430
|
+
// if old property is used, set maxAnswerChoices to 9
|
|
476
431
|
if (limitChoicesNumber) {
|
|
477
432
|
maxAnswerChoices = MAX_CHOICES;
|
|
478
433
|
}
|
|
479
|
-
|
|
480
434
|
if (maxAnswerChoices && model.choices.length >= maxAnswerChoices) {
|
|
481
435
|
return;
|
|
482
436
|
}
|
|
483
|
-
|
|
484
437
|
model.choices.push({
|
|
485
438
|
label: '',
|
|
486
439
|
value: _configUi.choiceUtils.firstAvailableIndex(model.choices.map(function (c) {
|
|
@@ -494,9 +447,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
494
447
|
});
|
|
495
448
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChoiceChanged", function (index, choice) {
|
|
496
449
|
var _this$props3 = _this.props,
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
450
|
+
model = _this$props3.model,
|
|
451
|
+
onModelChanged = _this$props3.onModelChanged;
|
|
500
452
|
if (choice.correct && model.choiceMode === 'radio') {
|
|
501
453
|
model.choices = model.choices.map(function (c) {
|
|
502
454
|
return (0, _merge["default"])({}, c, {
|
|
@@ -504,7 +456,6 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
504
456
|
});
|
|
505
457
|
});
|
|
506
458
|
}
|
|
507
|
-
|
|
508
459
|
model.choices.splice(index, 1, choice);
|
|
509
460
|
onModelChanged(model);
|
|
510
461
|
});
|
|
@@ -520,12 +471,10 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
520
471
|
});
|
|
521
472
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onModelChanged", function (model, key) {
|
|
522
473
|
var onModelChanged = _this.props.onModelChanged;
|
|
523
|
-
|
|
524
474
|
switch (key) {
|
|
525
475
|
case 'choiceMode':
|
|
526
476
|
{
|
|
527
477
|
var value = model.choiceMode;
|
|
528
|
-
|
|
529
478
|
if (value === 'radio') {
|
|
530
479
|
var correctFound = false;
|
|
531
480
|
model.choices = model.choices.map(function (c) {
|
|
@@ -533,19 +482,15 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
533
482
|
c.correct = false;
|
|
534
483
|
return c;
|
|
535
484
|
}
|
|
536
|
-
|
|
537
485
|
if (c.correct) {
|
|
538
486
|
correctFound = true;
|
|
539
487
|
}
|
|
540
|
-
|
|
541
488
|
return c;
|
|
542
489
|
});
|
|
543
490
|
}
|
|
544
|
-
|
|
545
491
|
onModelChanged(model, true);
|
|
546
492
|
break;
|
|
547
493
|
}
|
|
548
|
-
|
|
549
494
|
default:
|
|
550
495
|
onModelChanged(model);
|
|
551
496
|
break;
|
|
@@ -553,15 +498,13 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
553
498
|
});
|
|
554
499
|
return _this;
|
|
555
500
|
}
|
|
556
|
-
|
|
557
501
|
(0, _createClass2["default"])(Main, [{
|
|
558
502
|
key: "render",
|
|
559
503
|
value: function render() {
|
|
560
504
|
var _this2 = this;
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
var minAnswerChoices = _this$props$configura.minAnswerChoices;
|
|
505
|
+
var _this$props$configura = this.props.configuration,
|
|
506
|
+
_this$props$configura2 = _this$props$configura === void 0 ? {} : _this$props$configura,
|
|
507
|
+
minAnswerChoices = _this$props$configura2.minAnswerChoices;
|
|
565
508
|
var showWarning = this.state.showWarning;
|
|
566
509
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_configUi.AlertDialog, {
|
|
567
510
|
open: showWarning,
|
|
@@ -584,7 +527,6 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
584
527
|
}]);
|
|
585
528
|
return Main;
|
|
586
529
|
}(_react["default"].Component);
|
|
587
|
-
|
|
588
530
|
exports.Main = Main;
|
|
589
531
|
(0, _defineProperty2["default"])(Main, "propTypes", {
|
|
590
532
|
model: _propTypes["default"].object.isRequired,
|