@pie-element/extended-text-entry 7.1.9-staging → 7.1.10-next.173
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/LICENSE.md +5 -0
- package/configure/lib/defaults.js +4 -0
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/main.js +68 -38
- package/configure/lib/main.js.map +1 -1
- package/configure/package.json +1 -1
- package/docs/config-schema.json +16 -0
- package/docs/config-schema.json.md +12 -0
- package/docs/demo/generate.js +2 -1
- package/docs/pie-schema.json +6 -0
- package/docs/pie-schema.json.md +4 -0
- package/package.json +2 -2
- package/configure/lib/__tests__/main.test.js +0 -79
- package/controller/lib/__tests__/index.test.js +0 -377
- package/docs/demo/pie.manifest.json +0 -11
- package/lib/__tests__/index.test.js +0 -49
- package/lib/__tests__/main.test.js +0 -47
package/LICENSE.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Copyright 2019 CoreSpring Inc
|
|
2
|
+
|
|
3
|
+
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
|
4
|
+
|
|
5
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["model","dimensions","height","width","prompt","mathInput","spanishInput","specialInput","equationEditor","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","spellCheckEnabled","playerSpellCheckEnabled","toolbarEditorPosition","configuration","settings","label","spellCheck","enabled","playerSpellCheck","feedback","multiple","studentInstructions","teacherInstructions","maxImageWidth","maxImageHeight"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,UAAU,EAAE;AACVC,MAAAA,MAAM,EAAE,GADE;AAEVC,MAAAA,KAAK,EAAE;AAFG,KADP;AAKLC,IAAAA,MAAM,EAAE,6BALH;AAMLC,IAAAA,SAAS,EAAE,KANN;AAOLC,IAAAA,YAAY,EAAE,KAPT;AAQLC,IAAAA,YAAY,EAAE,KART;AASLC,IAAAA,cAAc,EAAE,cATX;AAULC,IAAAA,eAAe,EAAE,IAVZ;AAWLC,IAAAA,gBAAgB,EAAE,IAXb;AAYLC,IAAAA,aAAa,EAAE,IAZV;AAaLC,IAAAA,0BAA0B,EAAE,IAbvB;AAcLC,IAAAA,0BAA0B,EAAE,IAdvB;AAeLC,IAAAA,iBAAiB,EAAC,IAfb;AAgBLC,IAAAA,uBAAuB,EAAC,IAhBnB;AAiBLC,IAAAA,qBAAqB,EAAE;AAjBlB,GADM;AAoBbC,EAAAA,aAAa,EAAE;AACbhB,IAAAA,UAAU,EAAE;AACViB,MAAAA,QAAQ,EAAE,IADA;AAEVC,MAAAA,KAAK,EAAE;AAFG,KADC;AAKbC,IAAAA,UAAU,EAAE;AACVD,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAC,KAFC;AAGVG,MAAAA,OAAO,EAAC;AAHE,KALC;AAUbC,IAAAA,gBAAgB,EAAE;AAChBH,MAAAA,KAAK,EAAE,oBADS;AAEhBD,MAAAA,QAAQ,EAAC,IAFO;AAGhBG,MAAAA,OAAO,EAAC;AAHQ,KAVL;AAebb,IAAAA,cAAc,EAAE;AACdU,MAAAA,QAAQ,EAAE,KADI;AAEdC,MAAAA,KAAK,EAAE,iBAFO;AAGdE,MAAAA,OAAO,EAAE;AAHK,KAfH;AAoBbE,IAAAA,QAAQ,EAAE;AACRL,MAAAA,QAAQ,EAAE,IADF;AAERC,MAAAA,KAAK,EAAE;AAFC,KApBG;AAwBbd,IAAAA,SAAS,EAAE;AACTa,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE,4CAFE;AAGTE,MAAAA,OAAO,EAAE;AAHA,KAxBE;AA6Bbf,IAAAA,YAAY,EAAE;AACZY,MAAAA,QAAQ,EAAE,IADE;AAEZC,MAAAA,KAAK,EAAE,6BAFK;AAGZE,MAAAA,OAAO,EAAE;AAHG,KA7BD;AAkCbd,IAAAA,YAAY,EAAE;AACZW,MAAAA,QAAQ,EAAE,IADE;AAEZC,MAAAA,KAAK,EAAE,wCAFK;AAGZE,MAAAA,OAAO,EAAE;AAHG,KAlCD;AAuCbG,IAAAA,QAAQ,EAAE;AACRN,MAAAA,QAAQ,EAAE,KADF;AAERC,MAAAA,KAAK,EAAE,gBAFC;AAGRE,MAAAA,OAAO,EAAE;AAHD,KAvCG;AA4CbI,IAAAA,mBAAmB,EAAE;AACnBP,MAAAA,QAAQ,EAAE,KADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KA5CR;AAgDbf,IAAAA,MAAM,EAAE;AACNc,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KAhDK;AAoDbO,IAAAA,mBAAmB,EAAE;AACnBR,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KApDR;AAwDbQ,IAAAA,aAAa,EAAE;AACbD,MAAAA,mBAAmB,EAAE,GADR;AAEbtB,MAAAA,MAAM,EAAE;AAFK,KAxDF;AA4DbwB,IAAAA,cAAc,EAAE;AACdF,MAAAA,mBAAmB,EAAE,GADP;AAEdtB,MAAAA,MAAM,EAAE;AAFM;
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["model","dimensions","height","width","prompt","mathInput","spanishInput","specialInput","equationEditor","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","spellCheckEnabled","playerSpellCheckEnabled","toolbarEditorPosition","configuration","settings","label","spellCheck","enabled","playerSpellCheck","feedback","multiple","studentInstructions","teacherInstructions","maxImageWidth","maxImageHeight","withRubric"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,UAAU,EAAE;AACVC,MAAAA,MAAM,EAAE,GADE;AAEVC,MAAAA,KAAK,EAAE;AAFG,KADP;AAKLC,IAAAA,MAAM,EAAE,6BALH;AAMLC,IAAAA,SAAS,EAAE,KANN;AAOLC,IAAAA,YAAY,EAAE,KAPT;AAQLC,IAAAA,YAAY,EAAE,KART;AASLC,IAAAA,cAAc,EAAE,cATX;AAULC,IAAAA,eAAe,EAAE,IAVZ;AAWLC,IAAAA,gBAAgB,EAAE,IAXb;AAYLC,IAAAA,aAAa,EAAE,IAZV;AAaLC,IAAAA,0BAA0B,EAAE,IAbvB;AAcLC,IAAAA,0BAA0B,EAAE,IAdvB;AAeLC,IAAAA,iBAAiB,EAAC,IAfb;AAgBLC,IAAAA,uBAAuB,EAAC,IAhBnB;AAiBLC,IAAAA,qBAAqB,EAAE;AAjBlB,GADM;AAoBbC,EAAAA,aAAa,EAAE;AACbhB,IAAAA,UAAU,EAAE;AACViB,MAAAA,QAAQ,EAAE,IADA;AAEVC,MAAAA,KAAK,EAAE;AAFG,KADC;AAKbC,IAAAA,UAAU,EAAE;AACVD,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAC,KAFC;AAGVG,MAAAA,OAAO,EAAC;AAHE,KALC;AAUbC,IAAAA,gBAAgB,EAAE;AAChBH,MAAAA,KAAK,EAAE,oBADS;AAEhBD,MAAAA,QAAQ,EAAC,IAFO;AAGhBG,MAAAA,OAAO,EAAC;AAHQ,KAVL;AAebb,IAAAA,cAAc,EAAE;AACdU,MAAAA,QAAQ,EAAE,KADI;AAEdC,MAAAA,KAAK,EAAE,iBAFO;AAGdE,MAAAA,OAAO,EAAE;AAHK,KAfH;AAoBbE,IAAAA,QAAQ,EAAE;AACRL,MAAAA,QAAQ,EAAE,IADF;AAERC,MAAAA,KAAK,EAAE;AAFC,KApBG;AAwBbd,IAAAA,SAAS,EAAE;AACTa,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE,4CAFE;AAGTE,MAAAA,OAAO,EAAE;AAHA,KAxBE;AA6Bbf,IAAAA,YAAY,EAAE;AACZY,MAAAA,QAAQ,EAAE,IADE;AAEZC,MAAAA,KAAK,EAAE,6BAFK;AAGZE,MAAAA,OAAO,EAAE;AAHG,KA7BD;AAkCbd,IAAAA,YAAY,EAAE;AACZW,MAAAA,QAAQ,EAAE,IADE;AAEZC,MAAAA,KAAK,EAAE,wCAFK;AAGZE,MAAAA,OAAO,EAAE;AAHG,KAlCD;AAuCbG,IAAAA,QAAQ,EAAE;AACRN,MAAAA,QAAQ,EAAE,KADF;AAERC,MAAAA,KAAK,EAAE,gBAFC;AAGRE,MAAAA,OAAO,EAAE;AAHD,KAvCG;AA4CbI,IAAAA,mBAAmB,EAAE;AACnBP,MAAAA,QAAQ,EAAE,KADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KA5CR;AAgDbf,IAAAA,MAAM,EAAE;AACNc,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KAhDK;AAoDbO,IAAAA,mBAAmB,EAAE;AACnBR,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KApDR;AAwDbQ,IAAAA,aAAa,EAAE;AACbD,MAAAA,mBAAmB,EAAE,GADR;AAEbtB,MAAAA,MAAM,EAAE;AAFK,KAxDF;AA4DbwB,IAAAA,cAAc,EAAE;AACdF,MAAAA,mBAAmB,EAAE,GADP;AAEdtB,MAAAA,MAAM,EAAE;AAFM,KA5DH;AAgEbyB,IAAAA,UAAU,EAAE;AACVX,MAAAA,QAAQ,EAAE,KADA;AAEVC,MAAAA,KAAK,EAAE;AAFG;AAhEC;AApBF,C","sourcesContent":["export default {\n model: {\n dimensions: {\n height: 100,\n width: 500\n },\n prompt: 'This is the question prompt',\n mathInput: false,\n spanishInput: false,\n specialInput: false,\n equationEditor: 'Grade 8 - HS',\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n spellCheckEnabled:true,\n playerSpellCheckEnabled:true,\n toolbarEditorPosition: 'bottom'\n },\n configuration: {\n dimensions: {\n settings: true,\n label: 'Text-Entry Display Size'\n },\n spellCheck: {\n label: 'Spellcheck',\n settings:false,\n enabled:true\n },\n playerSpellCheck: {\n label: 'Student Spellcheck',\n settings:true,\n enabled:true\n },\n equationEditor: {\n settings: false,\n label: 'Equation Editor',\n enabled: true,\n },\n feedback: {\n settings: true,\n label: 'Feedback'\n },\n mathInput: {\n settings: true,\n label: 'Student response can include math notation',\n enabled: false,\n },\n spanishInput: {\n settings: true,\n label: 'Students can insert Spanish',\n enabled: false,\n },\n specialInput: {\n settings: true,\n label: 'Students can insert Special Characters',\n enabled: false,\n },\n multiple: {\n settings: false,\n label: 'Multiple Parts',\n enabled: false,\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions'\n },\n prompt: {\n settings: true,\n label: 'Prompt'\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions'\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric'\n }\n }\n};\n"],"file":"defaults.js"}
|
package/configure/lib/main.js
CHANGED
|
@@ -103,6 +103,23 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
(0, _createClass2["default"])(Main, [{
|
|
106
|
+
key: "componentDidMount",
|
|
107
|
+
value: function componentDidMount() {
|
|
108
|
+
var _ref = this.props || {},
|
|
109
|
+
model = _ref.model,
|
|
110
|
+
onModelChanged = _ref.onModelChanged,
|
|
111
|
+
configuration = _ref.configuration;
|
|
112
|
+
|
|
113
|
+
var _ref2 = configuration || {},
|
|
114
|
+
withRubric = _ref2.withRubric;
|
|
115
|
+
|
|
116
|
+
if (withRubric.enabled) {
|
|
117
|
+
onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
|
|
118
|
+
rubricEnabled: true
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}, {
|
|
106
123
|
key: "render",
|
|
107
124
|
value: function render() {
|
|
108
125
|
var _this$props4 = this.props,
|
|
@@ -114,41 +131,43 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
114
131
|
imageSupport = _this$props4.imageSupport,
|
|
115
132
|
uploadSoundSupport = _this$props4.uploadSoundSupport;
|
|
116
133
|
|
|
117
|
-
var
|
|
118
|
-
|
|
119
|
-
multiple =
|
|
120
|
-
|
|
121
|
-
feedback =
|
|
122
|
-
|
|
123
|
-
teacherInstructions =
|
|
124
|
-
|
|
125
|
-
prompt =
|
|
126
|
-
|
|
127
|
-
studentInstructions =
|
|
128
|
-
|
|
129
|
-
mathInput =
|
|
130
|
-
|
|
131
|
-
spanishInput =
|
|
132
|
-
|
|
133
|
-
specialInput =
|
|
134
|
-
|
|
135
|
-
dimensions =
|
|
136
|
-
|
|
137
|
-
equationEditor =
|
|
138
|
-
|
|
139
|
-
spellCheck =
|
|
140
|
-
|
|
141
|
-
playerSpellCheck =
|
|
142
|
-
|
|
143
|
-
maxImageWidth =
|
|
144
|
-
|
|
145
|
-
maxImageHeight =
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
134
|
+
var _ref3 = configuration || {},
|
|
135
|
+
_ref3$multiple = _ref3.multiple,
|
|
136
|
+
multiple = _ref3$multiple === void 0 ? {} : _ref3$multiple,
|
|
137
|
+
_ref3$feedback = _ref3.feedback,
|
|
138
|
+
feedback = _ref3$feedback === void 0 ? {} : _ref3$feedback,
|
|
139
|
+
_ref3$teacherInstruct = _ref3.teacherInstructions,
|
|
140
|
+
teacherInstructions = _ref3$teacherInstruct === void 0 ? {} : _ref3$teacherInstruct,
|
|
141
|
+
_ref3$prompt = _ref3.prompt,
|
|
142
|
+
prompt = _ref3$prompt === void 0 ? {} : _ref3$prompt,
|
|
143
|
+
_ref3$studentInstruct = _ref3.studentInstructions,
|
|
144
|
+
studentInstructions = _ref3$studentInstruct === void 0 ? {} : _ref3$studentInstruct,
|
|
145
|
+
_ref3$mathInput = _ref3.mathInput,
|
|
146
|
+
mathInput = _ref3$mathInput === void 0 ? {} : _ref3$mathInput,
|
|
147
|
+
_ref3$spanishInput = _ref3.spanishInput,
|
|
148
|
+
spanishInput = _ref3$spanishInput === void 0 ? {} : _ref3$spanishInput,
|
|
149
|
+
_ref3$specialInput = _ref3.specialInput,
|
|
150
|
+
specialInput = _ref3$specialInput === void 0 ? {} : _ref3$specialInput,
|
|
151
|
+
_ref3$dimensions = _ref3.dimensions,
|
|
152
|
+
dimensions = _ref3$dimensions === void 0 ? {} : _ref3$dimensions,
|
|
153
|
+
_ref3$equationEditor = _ref3.equationEditor,
|
|
154
|
+
equationEditor = _ref3$equationEditor === void 0 ? {} : _ref3$equationEditor,
|
|
155
|
+
_ref3$spellCheck = _ref3.spellCheck,
|
|
156
|
+
spellCheck = _ref3$spellCheck === void 0 ? {} : _ref3$spellCheck,
|
|
157
|
+
_ref3$playerSpellChec = _ref3.playerSpellCheck,
|
|
158
|
+
playerSpellCheck = _ref3$playerSpellChec === void 0 ? {} : _ref3$playerSpellChec,
|
|
159
|
+
_ref3$maxImageWidth = _ref3.maxImageWidth,
|
|
160
|
+
maxImageWidth = _ref3$maxImageWidth === void 0 ? {} : _ref3$maxImageWidth,
|
|
161
|
+
_ref3$maxImageHeight = _ref3.maxImageHeight,
|
|
162
|
+
maxImageHeight = _ref3$maxImageHeight === void 0 ? {} : _ref3$maxImageHeight,
|
|
163
|
+
withRubric = _ref3.withRubric;
|
|
164
|
+
|
|
165
|
+
var _ref4 = model || {},
|
|
166
|
+
teacherInstructionsEnabled = _ref4.teacherInstructionsEnabled,
|
|
167
|
+
promptEnabled = _ref4.promptEnabled,
|
|
168
|
+
feedbackEnabled = _ref4.feedbackEnabled,
|
|
169
|
+
spellCheckEnabled = _ref4.spellCheckEnabled,
|
|
170
|
+
rubricEnabled = _ref4.rubricEnabled;
|
|
152
171
|
|
|
153
172
|
var toolbarOpts = {};
|
|
154
173
|
var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
|
|
@@ -202,7 +221,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
202
221
|
},
|
|
203
222
|
Properties: {
|
|
204
223
|
teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
|
|
205
|
-
studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label)
|
|
224
|
+
studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
|
|
225
|
+
rubricEnabled: withRubric.settings && toggle(withRubric.label)
|
|
206
226
|
}
|
|
207
227
|
}
|
|
208
228
|
})
|
|
@@ -219,7 +239,12 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
219
239
|
spellCheck: spellCheckEnabled,
|
|
220
240
|
maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
|
|
221
241
|
maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
|
|
222
|
-
uploadSoundSupport: uploadSoundSupport
|
|
242
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
243
|
+
languageCharactersProps: [{
|
|
244
|
+
language: 'spanish'
|
|
245
|
+
}, {
|
|
246
|
+
language: 'special'
|
|
247
|
+
}]
|
|
223
248
|
})), /*#__PURE__*/_react["default"].createElement("br", null), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
224
249
|
label: prompt.label,
|
|
225
250
|
className: classes.promptContainer
|
|
@@ -234,7 +259,12 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
234
259
|
spellCheck: spellCheckEnabled,
|
|
235
260
|
maxImageWidth: defaultImageMaxWidth,
|
|
236
261
|
maxImageHeight: defaultImageMaxHeight,
|
|
237
|
-
uploadSoundSupport: uploadSoundSupport
|
|
262
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
263
|
+
languageCharactersProps: [{
|
|
264
|
+
language: 'spanish'
|
|
265
|
+
}, {
|
|
266
|
+
language: 'special'
|
|
267
|
+
}]
|
|
238
268
|
})), feedbackEnabled && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
239
269
|
className: classes.header,
|
|
240
270
|
variant: "subheading"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","numberFields","dropdown","defaultFeedback","type","Main","props","markup","onModelChanged","model","prompt","feedback","update","teacherInstructions","state","setDimensions","classes","configuration","onConfigurationChanged","imageSupport","uploadSoundSupport","multiple","studentInstructions","mathInput","spanishInput","specialInput","dimensions","equationEditor","spellCheck","playerSpellCheck","maxImageWidth","maxImageHeight","teacherInstructionsEnabled","promptEnabled","feedbackEnabled","spellCheckEnabled","toolbarOpts","defaultImageMaxWidth","defaultImageMaxHeight","toolbarEditorPosition","position","config","Settings","label","enabled","width","suffix","min","max","height","playerSpellCheckEnabled","Properties","studentInstructionsEnabled","promptContainer","changeTeacherInstructions","ALL_PLUGINS","onPromptChange","header","changeFeedback","React","Component","PropTypes","func","isRequired","object","theme","paddingBottom","spacing","unit","paddingTop","marginBottom","promptInput","field"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAMA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,IAAQA,KAAR,GAAkDC,kBAAlD,CAAQD,KAAR;AAAA,IAAeE,MAAf,GAAkDD,kBAAlD,CAAeC,MAAf;AAAA,IAAuBC,YAAvB,GAAkDF,kBAAlD,CAAuBE,YAAvB;AAAA,IAAqCC,QAArC,GAAkDH,kBAAlD,CAAqCG,QAArC;AAEA,IAAMC,eAAe,GAAG;AACtBC,EAAAA,IAAI,EAAE,SADgB;AAEtB,aAAS;AAFa,CAAxB;;IAKaC,I;;;;;AAWX,gBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,uGAOF,UAACC,MAAD,EAAY;AAC3B,wBAAkC,MAAKD,KAAvC;AAAA,UAAQE,cAAR,eAAQA,cAAR;AAAA,UAAwBC,KAAxB,eAAwBA,KAAxB;AAEAD,MAAAA,cAAc,iCACTC,KADS;AAEZC,QAAAA,MAAM,EAAEH;AAFI,SAAd;AAID,KAdkB;AAAA,uGAgBF,UAACI,QAAD,EAAc;AAC7B,yBAAkC,MAAKL,KAAvC;AAAA,UAAQG,KAAR,gBAAQA,KAAR;AAAA,UAAeD,cAAf,gBAAeA,cAAf;;AACA,UAAMI,MAAM,mCAAQH,KAAR;AAAeE,QAAAA,QAAQ,EAARA;AAAf,QAAZ;;AACAH,MAAAA,cAAc,CAACI,MAAD,CAAd;AACD,KApBkB;AAAA,kHAsBS,UAACC,mBAAD,EAAyB;AACnD,yBAAkC,MAAKP,KAAvC;AAAA,UAAQG,KAAR,gBAAQA,KAAR;AAAA,UAAeD,cAAf,gBAAeA,cAAf;;AACA,UAAMI,MAAM,mCAAQH,KAAR;AAAeI,QAAAA,mBAAmB,EAAnBA;AAAf,QAAZ;;AACAL,MAAAA,cAAc,CAACI,MAAD,CAAd;AACD,KA1BkB;AAEjB,UAAKE,KAAL,GAAa;AACXC,MAAAA,aAAa,EAAE;AADJ,KAAb;AAFiB;AAKlB;;;;WAuBD,kBAAS;AACP,yBAQI,KAAKT,KART;AAAA,UACEG,KADF,gBACEA,KADF;AAAA,UAEEO,OAFF,gBAEEA,OAFF;AAAA,UAGER,cAHF,gBAGEA,cAHF;AAAA,UAIES,aAJF,gBAIEA,aAJF;AAAA,UAKEC,sBALF,gBAKEA,sBALF;AAAA,UAMEC,YANF,gBAMEA,YANF;AAAA,UAOEC,kBAPF,gBAOEA,kBAPF;;AASA,iBAeIH,aAAa,IAAI,EAfrB;AAAA,+BACEI,QADF;AAAA,UACEA,QADF,8BACa,EADb;AAAA,+BAEEV,QAFF;AAAA,UAEEA,QAFF,8BAEa,EAFb;AAAA,uCAGEE,mBAHF;AAAA,UAGEA,mBAHF,sCAGwB,EAHxB;AAAA,6BAIEH,MAJF;AAAA,UAIEA,MAJF,4BAIW,EAJX;AAAA,uCAKEY,mBALF;AAAA,UAKEA,mBALF,sCAKwB,EALxB;AAAA,gCAMEC,SANF;AAAA,UAMEA,SANF,+BAMc,EANd;AAAA,mCAOEC,YAPF;AAAA,UAOEA,YAPF,kCAOiB,EAPjB;AAAA,mCAQEC,YARF;AAAA,UAQEA,YARF,kCAQiB,EARjB;AAAA,iCASEC,UATF;AAAA,UASEA,UATF,gCASe,EATf;AAAA,qCAUEC,cAVF;AAAA,UAUEA,cAVF,oCAUmB,EAVnB;AAAA,iCAWEC,UAXF;AAAA,UAWEA,UAXF,gCAWe,EAXf;AAAA,uCAYEC,gBAZF;AAAA,UAYEA,gBAZF,sCAYqB,EAZrB;AAAA,oCAaEC,aAbF;AAAA,UAaEA,aAbF,mCAakB,EAblB;AAAA,qCAcEC,cAdF;AAAA,UAcEA,cAdF,oCAcmB,EAdnB;;AAgBA,kBACEtB,KAAK,IAAI,EADX;AAAA,UAAQuB,0BAAR,SAAQA,0BAAR;AAAA,UAAoCC,aAApC,SAAoCA,aAApC;AAAA,UAAmDC,eAAnD,SAAmDA,eAAnD;AAAA,UAAoEC,iBAApE,SAAoEA,iBAApE;;AAEA,UAAMC,WAAW,GAAG,EAApB;AAEA,UAAMC,oBAAoB,GAAGP,aAAa,IAAIA,aAAa,CAACpB,MAA5D;AACA,UAAM4B,qBAAqB,GAAGP,cAAc,IAAIA,cAAc,CAACrB,MAA/D;;AAEA,cAAQD,KAAK,CAAC8B,qBAAd;AACE,aAAK,KAAL;AACEH,UAAAA,WAAW,CAACI,QAAZ,GAAuB,KAAvB;AACA;;AACF;AACEJ,UAAAA,WAAW,CAACI,QAAZ,GAAuB,QAAvB;AACA;AANJ;;AAQA,0BACE,gCAAC,gBAAD,CAAQ,YAAR;AACE,QAAA,QAAQ,eACN,gCAAC,KAAD;AACE,UAAA,KAAK,EAAE/B,KADT;AAEE,UAAA,aAAa,EAAEQ,aAFjB;AAGE,UAAA,aAAa,EAAE,uBAACR,KAAD;AAAA,mBAAWD,cAAc,CAACC,KAAD,CAAzB;AAAA,WAHjB;AAIE,UAAA,qBAAqB,EAAE,+BAACgC,MAAD;AAAA,mBAAYvB,sBAAsB,CAACuB,MAAD,CAAlC;AAAA,WAJzB;AAKE,UAAA,MAAM,EAAE;AACNC,YAAAA,QAAQ,EAAE;AACRnB,cAAAA,SAAS,EAAEA,SAAS,CAACxB,QAAV,IAAsBC,MAAM,CAACuB,SAAS,CAACoB,KAAX,CAD/B;AAERhB,cAAAA,cAAc,EACZA,cAAc,CAACiB,OAAf,IACAnC,KAAK,CAACc,SADN,IAEArB,QAAQ,CAACyB,cAAc,CAACgB,KAAhB,EAAuB,CAC7B,uBAD6B,EAE7B,UAF6B,EAG7B,UAH6B,EAI7B,WAJ6B,EAK7B,aAL6B,EAM7B,aAN6B,EAO7B,aAP6B,EAQ7B,cAR6B,EAS7B,UAT6B,EAU7B,kBAV6B,EAW7B,YAX6B,EAY7B,gBAZ6B,CAAvB,CALF;AAmBRnB,cAAAA,YAAY,EAAEA,YAAY,CAACzB,QAAb,IAAyBC,MAAM,CAACwB,YAAY,CAACmB,KAAd,CAnBrC;AAoBRlB,cAAAA,YAAY,EAAEA,YAAY,CAAC1B,QAAb,IAAyBC,MAAM,CAACyB,YAAY,CAACkB,KAAd,CApBrC;AAqBRjB,cAAAA,UAAU,EAAEzB,YAAY,CAACyB,UAAU,CAACiB,KAAZ,EAAmB;AACzCE,gBAAAA,KAAK,EAAE;AACLF,kBAAAA,KAAK,EAAE,YADF;AAELG,kBAAAA,MAAM,EAAE,IAFH;AAGLC,kBAAAA,GAAG,EAAE,GAHA;AAILC,kBAAAA,GAAG,EAAE;AAJA,iBADkC;AAOzCC,gBAAAA,MAAM,EAAE;AACNN,kBAAAA,KAAK,EAAE,aADD;AAENG,kBAAAA,MAAM,EAAE,IAFF;AAGNC,kBAAAA,GAAG,EAAE,GAHC;AAINC,kBAAAA,GAAG,EAAE;AAJC;AAPiC,eAAnB,CArBhB;AAmCR,kCACE3B,QAAQ,CAACtB,QAAT,IAAqBC,MAAM,CAACqB,QAAQ,CAACsB,KAAV,EAAiB,IAAjB,CApCrB;AAqCRV,cAAAA,aAAa,EAAEvB,MAAM,CAACX,QAAP,IAAmBC,MAAM,CAACU,MAAM,CAACiC,KAAR,CArChC;AAsCRT,cAAAA,eAAe,EAAEvB,QAAQ,CAACZ,QAAT,IAAqBC,MAAM,CAACW,QAAQ,CAACgC,KAAV,CAtCpC;AAuCRR,cAAAA,iBAAiB,EACjBP,UAAU,CAAC7B,QAAX,IAAuBC,MAAM,CAAC4B,UAAU,CAACe,KAAZ,CAxCrB;AAyCRO,cAAAA,uBAAuB,EACvBrB,gBAAgB,CAAC9B,QAAjB,IAA6BC,MAAM,CAAC6B,gBAAgB,CAACc,KAAlB;AA1C3B,aADJ;AA6CNQ,YAAAA,UAAU,EAAE;AACVnB,cAAAA,0BAA0B,EACxBnB,mBAAmB,CAACd,QAApB,IACAC,MAAM,CAACa,mBAAmB,CAAC8B,KAArB,CAHE;AAIVS,cAAAA,0BAA0B,EACxB9B,mBAAmB,CAACvB,QAApB,IACAC,MAAM,CAACsB,mBAAmB,CAACqB,KAArB;AANE;AA7CN;AALV;AAFJ,sBAgEE,6CACGX,0BAA0B,iBACzB,gCAAC,wBAAD;AACE,QAAA,KAAK,EAAEnB,mBAAmB,CAAC8B,KAD7B;AAEE,QAAA,SAAS,EAAE3B,OAAO,CAACqC;AAFrB,sBAIE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAErC,OAAO,CAACN,MADrB;AAEE,QAAA,MAAM,EAAED,KAAK,CAACI,mBAAN,IAA6B,EAFvC;AAGE,QAAA,QAAQ,EAAE,KAAKyC,yBAHjB;AAIE,QAAA,YAAY,EAAEnC,YAJhB;AAKE,QAAA,QAAQ,EAAE,KALZ;AAME,QAAA,WAAW,EAAEiB,WANf;AAOE,QAAA,UAAU,EAAED,iBAPd;AAQE,QAAA,aAAa,EAAEL,aAAa,IAAIA,aAAa,CAACjB,mBAA/B,IAAsDwB,oBARvE;AASE,QAAA,cAAc,EAAEN,cAAc,IAAIA,cAAc,CAAClB,mBAAjC,IAAwDyB,qBAT1E;AAUE,QAAA,kBAAkB,EAAElB;AAVtB,QAJF,CAFJ,eAqBE,2CArBF,EAuBGa,aAAa,iBACZ,gCAAC,wBAAD;AACE,QAAA,KAAK,EAAEvB,MAAM,CAACiC,KADhB;AAEE,QAAA,SAAS,EAAE3B,OAAO,CAACqC;AAFrB,sBAIE,gCAAC,wBAAD;AACE,QAAA,aAAa,EAAEE,yBADjB;AAEE,QAAA,SAAS,EAAEvC,OAAO,CAACN,MAFrB;AAGE,QAAA,MAAM,EAAED,KAAK,CAACC,MAAN,IAAgB,EAH1B;AAIE,QAAA,QAAQ,EAAE,KAAK8C,cAJjB;AAKE,QAAA,YAAY,EAAErC,YALhB;AAME,QAAA,QAAQ,EAAE,KANZ;AAOE,QAAA,WAAW,EAAEiB,WAPf;AAQE,QAAA,UAAU,EAAED,iBARd;AASE,QAAA,aAAa,EAAEE,oBATjB;AAUE,QAAA,cAAc,EAAEC,qBAVlB;AAWE,QAAA,kBAAkB,EAAElB;AAXtB,QAJF,CAxBJ,EA4CGc,eAAe,iBACd,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,sBAAD;AAAY,QAAA,SAAS,EAAElB,OAAO,CAACyC,MAA/B;AAAuC,QAAA,OAAO,EAAC;AAA/C,oBADF,eAKE,gCAAC,0BAAD;AACE,QAAA,KAAK,EAAC,sBADR;AAEE,QAAA,QAAQ,EAAEhD,KAAK,CAACE,QAAN,IAAkBR,eAF9B;AAGE,QAAA,QAAQ,EAAE,KAAKuD,cAHjB;AAIE,QAAA,WAAW,EAAEtB;AAJf,QALF,CA7CJ,CAhEF,CADF;AA8HD;;;EA9MuBuB,kBAAMC,S;;;iCAAnBvD,I,eACQ;AACjBG,EAAAA,cAAc,EAAEqD,sBAAUC,IAAV,CAAeC,UADd;AAEjB7C,EAAAA,sBAAsB,EAAE2C,sBAAUC,IAFjB;AAGjBrD,EAAAA,KAAK,EAAEoD,sBAAUG,MAAV,CAAiBD,UAHP;AAIjB9C,EAAAA,aAAa,EAAE4C,sBAAUG,MAAV,CAAiBD,UAJf;AAKjB5C,EAAAA,YAAY,EAAE0C,sBAAUG,MAAV,CAAiBD,UALd;AAMjB3C,EAAAA,kBAAkB,EAAEyC,sBAAUG,MAAV,CAAiBD,UANpB;AAOjB/C,EAAAA,OAAO,EAAE6C,sBAAUG,MAAV,CAAiBD;AAPT,C;;eA+MN,wBAAW,UAACE,KAAD;AAAA,SAAY;AACpCR,IAAAA,MAAM,EAAE;AACNS,MAAAA,aAAa,EAAED,KAAK,CAACE,OAAN,CAAcC;AADvB,KAD4B;AAIpCf,IAAAA,eAAe,EAAE;AACfgB,MAAAA,UAAU,EAAEJ,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CADlB;AAEfE,MAAAA,YAAY,EAAEL,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAFpB;AAGfvB,MAAAA,KAAK,EAAE;AAHQ,KAJmB;AASpC0B,IAAAA,WAAW,EAAE;AACX1B,MAAAA,KAAK,EAAE,MADI;AAEXyB,MAAAA,YAAY,EAAEL,KAAK,CAACE,OAAN,CAAcC;AAFjB,KATuB;AAapCI,IAAAA,KAAK,EAAE;AACL3B,MAAAA,KAAK,EAAE;AADF;AAb6B,GAAZ;AAAA,CAAX,EAgBXxC,IAhBW,C","sourcesContent":["import React from 'react';\nimport {\n FeedbackSelector,\n InputContainer,\n settings,\n layout,\n} from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport EditableHtml, { ALL_PLUGINS } from '@pie-lib/editable-html';\n\nconst { Panel, toggle, numberFields, dropdown } = settings;\n\nconst defaultFeedback = {\n type: 'default',\n default: 'Your answer has been submitted',\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.object.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n setDimensions: true,\n };\n }\n\n onPromptChange = (markup) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({\n ...model,\n prompt: markup,\n });\n };\n\n changeFeedback = (feedback) => {\n const { model, onModelChanged } = this.props;\n const update = { ...model, feedback };\n onModelChanged(update);\n };\n\n changeTeacherInstructions = (teacherInstructions) => {\n const { model, onModelChanged } = this.props;\n const update = { ...model, teacherInstructions };\n onModelChanged(update);\n };\n\n render() {\n const {\n model,\n classes,\n onModelChanged,\n configuration,\n onConfigurationChanged,\n imageSupport,\n uploadSoundSupport\n } = this.props;\n const {\n multiple = {},\n feedback = {},\n teacherInstructions = {},\n prompt = {},\n studentInstructions = {},\n mathInput = {},\n spanishInput = {},\n specialInput = {},\n dimensions = {},\n equationEditor = {},\n spellCheck = {},\n playerSpellCheck = {},\n maxImageWidth = {},\n maxImageHeight = {}\n } = configuration || {};\n const { teacherInstructionsEnabled, promptEnabled, feedbackEnabled, spellCheckEnabled } =\n model || {};\n const toolbarOpts = {};\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n return (\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: {\n mathInput: mathInput.settings && toggle(mathInput.label),\n equationEditor:\n equationEditor.enabled &&\n model.mathInput &&\n dropdown(equationEditor.label, [\n 'non-negative-integers',\n 'integers',\n 'decimals',\n 'fractions',\n 'Grade 1 - 2',\n 'Grade 3 - 5',\n 'Grade 6 - 7',\n 'Grade 8 - HS',\n 'geometry',\n 'advanced-algebra',\n 'statistics',\n 'item-authoring',\n ]),\n spanishInput: spanishInput.settings && toggle(spanishInput.label),\n specialInput: specialInput.settings && toggle(specialInput.label),\n dimensions: numberFields(dimensions.label, {\n width: {\n label: 'Width (px)',\n suffix: 'px',\n min: 100,\n max: 500,\n },\n height: {\n label: 'Height (px)',\n suffix: 'px',\n min: 100,\n max: 500,\n },\n }),\n 'multiple.enabled':\n multiple.settings && toggle(multiple.label, true),\n promptEnabled: prompt.settings && toggle(prompt.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n playerSpellCheckEnabled:\n playerSpellCheck.settings && toggle(playerSpellCheck.label),\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n },\n }}\n />\n }\n >\n <div>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptContainer}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n />\n </InputContainer>\n )}\n\n <br />\n\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptContainer}\n >\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n className={classes.prompt}\n markup={model.prompt || ''}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n />\n </InputContainer>\n )}\n\n {feedbackEnabled && (\n <React.Fragment>\n <Typography className={classes.header} variant=\"subheading\">\n Feedback\n </Typography>\n\n <FeedbackSelector\n label=\"When submitted, show\"\n feedback={model.feedback || defaultFeedback}\n onChange={this.changeFeedback}\n toolbarOpts={toolbarOpts}\n />\n </React.Fragment>\n )}\n </div>\n </layout.ConfigLayout>\n );\n }\n}\nexport default withStyles((theme) => ({\n header: {\n paddingBottom: theme.spacing.unit,\n },\n promptContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n promptInput: {\n width: '100%',\n marginBottom: theme.spacing.unit,\n },\n field: {\n width: '200px',\n },\n}))(Main);\n"],"file":"main.js"}
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["Panel","settings","toggle","numberFields","dropdown","defaultFeedback","type","Main","props","markup","onModelChanged","model","prompt","feedback","update","teacherInstructions","state","setDimensions","configuration","withRubric","enabled","rubricEnabled","classes","onConfigurationChanged","imageSupport","uploadSoundSupport","multiple","studentInstructions","mathInput","spanishInput","specialInput","dimensions","equationEditor","spellCheck","playerSpellCheck","maxImageWidth","maxImageHeight","teacherInstructionsEnabled","promptEnabled","feedbackEnabled","spellCheckEnabled","toolbarOpts","defaultImageMaxWidth","defaultImageMaxHeight","toolbarEditorPosition","position","config","Settings","label","width","suffix","min","max","height","playerSpellCheckEnabled","Properties","studentInstructionsEnabled","promptContainer","changeTeacherInstructions","language","ALL_PLUGINS","onPromptChange","header","changeFeedback","React","Component","PropTypes","func","isRequired","object","theme","paddingBottom","spacing","unit","paddingTop","marginBottom","promptInput","field"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAMA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,IAAQA,KAAR,GAAkDC,kBAAlD,CAAQD,KAAR;AAAA,IAAeE,MAAf,GAAkDD,kBAAlD,CAAeC,MAAf;AAAA,IAAuBC,YAAvB,GAAkDF,kBAAlD,CAAuBE,YAAvB;AAAA,IAAqCC,QAArC,GAAkDH,kBAAlD,CAAqCG,QAArC;AAEA,IAAMC,eAAe,GAAG;AACtBC,EAAAA,IAAI,EAAE,SADgB;AAEtB,aAAS;AAFa,CAAxB;;IAKaC,I;;;;;AAWX,gBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,uGAOF,UAACC,MAAD,EAAY;AAC3B,wBAAkC,MAAKD,KAAvC;AAAA,UAAQE,cAAR,eAAQA,cAAR;AAAA,UAAwBC,KAAxB,eAAwBA,KAAxB;AAEAD,MAAAA,cAAc,iCACTC,KADS;AAEZC,QAAAA,MAAM,EAAEH;AAFI,SAAd;AAID,KAdkB;AAAA,uGAgBF,UAACI,QAAD,EAAc;AAC7B,yBAAkC,MAAKL,KAAvC;AAAA,UAAQG,KAAR,gBAAQA,KAAR;AAAA,UAAeD,cAAf,gBAAeA,cAAf;;AACA,UAAMI,MAAM,mCAAQH,KAAR;AAAeE,QAAAA,QAAQ,EAARA;AAAf,QAAZ;;AACAH,MAAAA,cAAc,CAACI,MAAD,CAAd;AACD,KApBkB;AAAA,kHAsBS,UAACC,mBAAD,EAAyB;AACnD,yBAAkC,MAAKP,KAAvC;AAAA,UAAQG,KAAR,gBAAQA,KAAR;AAAA,UAAeD,cAAf,gBAAeA,cAAf;;AACA,UAAMI,MAAM,mCAAQH,KAAR;AAAeI,QAAAA,mBAAmB,EAAnBA;AAAf,QAAZ;;AACAL,MAAAA,cAAc,CAACI,MAAD,CAAd;AACD,KA1BkB;AAEjB,UAAKE,KAAL,GAAa;AACXC,MAAAA,aAAa,EAAE;AADJ,KAAb;AAFiB;AAKlB;;;;WAuBD,6BAAoB;AAClB,iBAAiD,KAAKT,KAAL,IAAc,EAA/D;AAAA,UAAQG,KAAR,QAAQA,KAAR;AAAA,UAAeD,cAAf,QAAeA,cAAf;AAAA,UAA+BQ,aAA/B,QAA+BA,aAA/B;;AACA,kBAAuBA,aAAa,IAAI,EAAxC;AAAA,UAAQC,UAAR,SAAQA,UAAR;;AAEA,UAAIA,UAAU,CAACC,OAAf,EAAwB;AACtBV,QAAAA,cAAc,iCACTC,KADS;AAEZU,UAAAA,aAAa,EAAE;AAFH,WAAd;AAID;AACF;;;WAED,kBAAS;AACP,yBAQI,KAAKb,KART;AAAA,UACEG,KADF,gBACEA,KADF;AAAA,UAEEW,OAFF,gBAEEA,OAFF;AAAA,UAGEZ,cAHF,gBAGEA,cAHF;AAAA,UAIEQ,aAJF,gBAIEA,aAJF;AAAA,UAKEK,sBALF,gBAKEA,sBALF;AAAA,UAMEC,YANF,gBAMEA,YANF;AAAA,UAOEC,kBAPF,gBAOEA,kBAPF;;AASA,kBAgBIP,aAAa,IAAI,EAhBrB;AAAA,iCACEQ,QADF;AAAA,UACEA,QADF,+BACa,EADb;AAAA,iCAEEb,QAFF;AAAA,UAEEA,QAFF,+BAEa,EAFb;AAAA,wCAGEE,mBAHF;AAAA,UAGEA,mBAHF,sCAGwB,EAHxB;AAAA,+BAIEH,MAJF;AAAA,UAIEA,MAJF,6BAIW,EAJX;AAAA,wCAKEe,mBALF;AAAA,UAKEA,mBALF,sCAKwB,EALxB;AAAA,kCAMEC,SANF;AAAA,UAMEA,SANF,gCAMc,EANd;AAAA,qCAOEC,YAPF;AAAA,UAOEA,YAPF,mCAOiB,EAPjB;AAAA,qCAQEC,YARF;AAAA,UAQEA,YARF,mCAQiB,EARjB;AAAA,mCASEC,UATF;AAAA,UASEA,UATF,iCASe,EATf;AAAA,uCAUEC,cAVF;AAAA,UAUEA,cAVF,qCAUmB,EAVnB;AAAA,mCAWEC,UAXF;AAAA,UAWEA,UAXF,iCAWe,EAXf;AAAA,wCAYEC,gBAZF;AAAA,UAYEA,gBAZF,sCAYqB,EAZrB;AAAA,sCAaEC,aAbF;AAAA,UAaEA,aAbF,oCAakB,EAblB;AAAA,uCAcEC,cAdF;AAAA,UAcEA,cAdF,qCAcmB,EAdnB;AAAA,UAeEjB,UAfF,SAeEA,UAfF;;AAiBA,kBAMIR,KAAK,IAAI,EANb;AAAA,UACE0B,0BADF,SACEA,0BADF;AAAA,UAEEC,aAFF,SAEEA,aAFF;AAAA,UAGEC,eAHF,SAGEA,eAHF;AAAA,UAIEC,iBAJF,SAIEA,iBAJF;AAAA,UAKEnB,aALF,SAKEA,aALF;;AAOA,UAAMoB,WAAW,GAAG,EAApB;AAEA,UAAMC,oBAAoB,GAAGP,aAAa,IAAIA,aAAa,CAACvB,MAA5D;AACA,UAAM+B,qBAAqB,GAAGP,cAAc,IAAIA,cAAc,CAACxB,MAA/D;;AAEA,cAAQD,KAAK,CAACiC,qBAAd;AACE,aAAK,KAAL;AACEH,UAAAA,WAAW,CAACI,QAAZ,GAAuB,KAAvB;AACA;;AACF;AACEJ,UAAAA,WAAW,CAACI,QAAZ,GAAuB,QAAvB;AACA;AANJ;;AAQA,0BACE,gCAAC,gBAAD,CAAQ,YAAR;AACE,QAAA,QAAQ,eACN,gCAAC,KAAD;AACE,UAAA,KAAK,EAAElC,KADT;AAEE,UAAA,aAAa,EAAEO,aAFjB;AAGE,UAAA,aAAa,EAAE,uBAACP,KAAD;AAAA,mBAAWD,cAAc,CAACC,KAAD,CAAzB;AAAA,WAHjB;AAIE,UAAA,qBAAqB,EAAE,+BAACmC,MAAD;AAAA,mBAAYvB,sBAAsB,CAACuB,MAAD,CAAlC;AAAA,WAJzB;AAKE,UAAA,MAAM,EAAE;AACNC,YAAAA,QAAQ,EAAE;AACRnB,cAAAA,SAAS,EAAEA,SAAS,CAAC3B,QAAV,IAAsBC,MAAM,CAAC0B,SAAS,CAACoB,KAAX,CAD/B;AAERhB,cAAAA,cAAc,EACZA,cAAc,CAACZ,OAAf,IACAT,KAAK,CAACiB,SADN,IAEAxB,QAAQ,CAAC4B,cAAc,CAACgB,KAAhB,EAAuB,CAC7B,uBAD6B,EAE7B,UAF6B,EAG7B,UAH6B,EAI7B,WAJ6B,EAK7B,aAL6B,EAM7B,aAN6B,EAO7B,aAP6B,EAQ7B,cAR6B,EAS7B,UAT6B,EAU7B,kBAV6B,EAW7B,YAX6B,EAY7B,gBAZ6B,CAAvB,CALF;AAmBRnB,cAAAA,YAAY,EAAEA,YAAY,CAAC5B,QAAb,IAAyBC,MAAM,CAAC2B,YAAY,CAACmB,KAAd,CAnBrC;AAoBRlB,cAAAA,YAAY,EAAEA,YAAY,CAAC7B,QAAb,IAAyBC,MAAM,CAAC4B,YAAY,CAACkB,KAAd,CApBrC;AAqBRjB,cAAAA,UAAU,EAAE5B,YAAY,CAAC4B,UAAU,CAACiB,KAAZ,EAAmB;AACzCC,gBAAAA,KAAK,EAAE;AACLD,kBAAAA,KAAK,EAAE,YADF;AAELE,kBAAAA,MAAM,EAAE,IAFH;AAGLC,kBAAAA,GAAG,EAAE,GAHA;AAILC,kBAAAA,GAAG,EAAE;AAJA,iBADkC;AAOzCC,gBAAAA,MAAM,EAAE;AACNL,kBAAAA,KAAK,EAAE,aADD;AAENE,kBAAAA,MAAM,EAAE,IAFF;AAGNC,kBAAAA,GAAG,EAAE,GAHC;AAINC,kBAAAA,GAAG,EAAE;AAJC;AAPiC,eAAnB,CArBhB;AAmCR,kCACE1B,QAAQ,CAACzB,QAAT,IAAqBC,MAAM,CAACwB,QAAQ,CAACsB,KAAV,EAAiB,IAAjB,CApCrB;AAqCRV,cAAAA,aAAa,EAAE1B,MAAM,CAACX,QAAP,IAAmBC,MAAM,CAACU,MAAM,CAACoC,KAAR,CArChC;AAsCRT,cAAAA,eAAe,EAAE1B,QAAQ,CAACZ,QAAT,IAAqBC,MAAM,CAACW,QAAQ,CAACmC,KAAV,CAtCpC;AAuCRR,cAAAA,iBAAiB,EACjBP,UAAU,CAAChC,QAAX,IAAuBC,MAAM,CAAC+B,UAAU,CAACe,KAAZ,CAxCrB;AAyCRM,cAAAA,uBAAuB,EACvBpB,gBAAgB,CAACjC,QAAjB,IAA6BC,MAAM,CAACgC,gBAAgB,CAACc,KAAlB;AA1C3B,aADJ;AA6CNO,YAAAA,UAAU,EAAE;AACVlB,cAAAA,0BAA0B,EACxBtB,mBAAmB,CAACd,QAApB,IACAC,MAAM,CAACa,mBAAmB,CAACiC,KAArB,CAHE;AAIVQ,cAAAA,0BAA0B,EACxB7B,mBAAmB,CAAC1B,QAApB,IACAC,MAAM,CAACyB,mBAAmB,CAACqB,KAArB,CANE;AAOV3B,cAAAA,aAAa,EAAEF,UAAU,CAAClB,QAAX,IAAuBC,MAAM,CAACiB,UAAU,CAAC6B,KAAZ;AAPlC;AA7CN;AALV;AAFJ,sBAiEE,6CACGX,0BAA0B,iBACzB,gCAAC,wBAAD;AACE,QAAA,KAAK,EAAEtB,mBAAmB,CAACiC,KAD7B;AAEE,QAAA,SAAS,EAAE1B,OAAO,CAACmC;AAFrB,sBAIE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAEnC,OAAO,CAACV,MADrB;AAEE,QAAA,MAAM,EAAED,KAAK,CAACI,mBAAN,IAA6B,EAFvC;AAGE,QAAA,QAAQ,EAAE,KAAK2C,yBAHjB;AAIE,QAAA,YAAY,EAAElC,YAJhB;AAKE,QAAA,QAAQ,EAAE,KALZ;AAME,QAAA,WAAW,EAAEiB,WANf;AAOE,QAAA,UAAU,EAAED,iBAPd;AAQE,QAAA,aAAa,EAAEL,aAAa,IAAIA,aAAa,CAACpB,mBAA/B,IAAsD2B,oBARvE;AASE,QAAA,cAAc,EAAEN,cAAc,IAAIA,cAAc,CAACrB,mBAAjC,IAAwD4B,qBAT1E;AAUE,QAAA,kBAAkB,EAAElB,kBAVtB;AAWE,QAAA,uBAAuB,EAAE,CAAC;AAAEkC,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B;AAX3B,QAJF,CAFJ,eAsBE,2CAtBF,EAwBGrB,aAAa,iBACZ,gCAAC,wBAAD;AACE,QAAA,KAAK,EAAE1B,MAAM,CAACoC,KADhB;AAEE,QAAA,SAAS,EAAE1B,OAAO,CAACmC;AAFrB,sBAIE,gCAAC,wBAAD;AACE,QAAA,aAAa,EAAEG,yBADjB;AAEE,QAAA,SAAS,EAAEtC,OAAO,CAACV,MAFrB;AAGE,QAAA,MAAM,EAAED,KAAK,CAACC,MAAN,IAAgB,EAH1B;AAIE,QAAA,QAAQ,EAAE,KAAKiD,cAJjB;AAKE,QAAA,YAAY,EAAErC,YALhB;AAME,QAAA,QAAQ,EAAE,KANZ;AAOE,QAAA,WAAW,EAAEiB,WAPf;AAQE,QAAA,UAAU,EAAED,iBARd;AASE,QAAA,aAAa,EAAEE,oBATjB;AAUE,QAAA,cAAc,EAAEC,qBAVlB;AAWE,QAAA,kBAAkB,EAAElB,kBAXtB;AAYE,QAAA,uBAAuB,EAAE,CAAC;AAAEkC,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B;AAZ3B,QAJF,CAzBJ,EA8CGpB,eAAe,iBACd,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,sBAAD;AAAY,QAAA,SAAS,EAAEjB,OAAO,CAACwC,MAA/B;AAAuC,QAAA,OAAO,EAAC;AAA/C,oBADF,eAKE,gCAAC,0BAAD;AACE,QAAA,KAAK,EAAC,sBADR;AAEE,QAAA,QAAQ,EAAEnD,KAAK,CAACE,QAAN,IAAkBR,eAF9B;AAGE,QAAA,QAAQ,EAAE,KAAK0D,cAHjB;AAIE,QAAA,WAAW,EAAEtB;AAJf,QALF,CA/CJ,CAjEF,CADF;AAiID;;;EAnOuBuB,kBAAMC,S;;;iCAAnB1D,I,eACQ;AACjBG,EAAAA,cAAc,EAAEwD,sBAAUC,IAAV,CAAeC,UADd;AAEjB7C,EAAAA,sBAAsB,EAAE2C,sBAAUC,IAFjB;AAGjBxD,EAAAA,KAAK,EAAEuD,sBAAUG,MAAV,CAAiBD,UAHP;AAIjBlD,EAAAA,aAAa,EAAEgD,sBAAUG,MAAV,CAAiBD,UAJf;AAKjB5C,EAAAA,YAAY,EAAE0C,sBAAUG,MAAV,CAAiBD,UALd;AAMjB3C,EAAAA,kBAAkB,EAAEyC,sBAAUG,MAAV,CAAiBD,UANpB;AAOjB9C,EAAAA,OAAO,EAAE4C,sBAAUG,MAAV,CAAiBD;AAPT,C;;eAoON,wBAAW,UAACE,KAAD;AAAA,SAAY;AACpCR,IAAAA,MAAM,EAAE;AACNS,MAAAA,aAAa,EAAED,KAAK,CAACE,OAAN,CAAcC;AADvB,KAD4B;AAIpChB,IAAAA,eAAe,EAAE;AACfiB,MAAAA,UAAU,EAAEJ,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CADlB;AAEfE,MAAAA,YAAY,EAAEL,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB,CAFpB;AAGfxB,MAAAA,KAAK,EAAE;AAHQ,KAJmB;AASpC2B,IAAAA,WAAW,EAAE;AACX3B,MAAAA,KAAK,EAAE,MADI;AAEX0B,MAAAA,YAAY,EAAEL,KAAK,CAACE,OAAN,CAAcC;AAFjB,KATuB;AAapCI,IAAAA,KAAK,EAAE;AACL5B,MAAAA,KAAK,EAAE;AADF;AAb6B,GAAZ;AAAA,CAAX,EAgBX1C,IAhBW,C","sourcesContent":["import React from 'react';\nimport {\n FeedbackSelector,\n InputContainer,\n settings,\n layout,\n} from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport EditableHtml, { ALL_PLUGINS } from '@pie-lib/editable-html';\n\nconst { Panel, toggle, numberFields, dropdown } = settings;\n\nconst defaultFeedback = {\n type: 'default',\n default: 'Your answer has been submitted',\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.object.isRequired,\n uploadSoundSupport: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n setDimensions: true,\n };\n }\n\n onPromptChange = (markup) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({\n ...model,\n prompt: markup,\n });\n };\n\n changeFeedback = (feedback) => {\n const { model, onModelChanged } = this.props;\n const update = { ...model, feedback };\n onModelChanged(update);\n };\n\n changeTeacherInstructions = (teacherInstructions) => {\n const { model, onModelChanged } = this.props;\n const update = { ...model, teacherInstructions };\n onModelChanged(update);\n };\n\n componentDidMount() {\n const { model, onModelChanged, configuration } = this.props || {};\n const { withRubric } = configuration || {};\n\n if (withRubric.enabled) {\n onModelChanged({\n ...model,\n rubricEnabled: true,\n });\n }\n }\n\n render() {\n const {\n model,\n classes,\n onModelChanged,\n configuration,\n onConfigurationChanged,\n imageSupport,\n uploadSoundSupport\n } = this.props;\n const {\n multiple = {},\n feedback = {},\n teacherInstructions = {},\n prompt = {},\n studentInstructions = {},\n mathInput = {},\n spanishInput = {},\n specialInput = {},\n dimensions = {},\n equationEditor = {},\n spellCheck = {},\n playerSpellCheck = {},\n maxImageWidth = {},\n maxImageHeight = {},\n withRubric,\n } = configuration || {};\n const {\n teacherInstructionsEnabled,\n promptEnabled,\n feedbackEnabled,\n spellCheckEnabled,\n rubricEnabled\n } = model || {};\n const toolbarOpts = {};\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n return (\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: {\n mathInput: mathInput.settings && toggle(mathInput.label),\n equationEditor:\n equationEditor.enabled &&\n model.mathInput &&\n dropdown(equationEditor.label, [\n 'non-negative-integers',\n 'integers',\n 'decimals',\n 'fractions',\n 'Grade 1 - 2',\n 'Grade 3 - 5',\n 'Grade 6 - 7',\n 'Grade 8 - HS',\n 'geometry',\n 'advanced-algebra',\n 'statistics',\n 'item-authoring',\n ]),\n spanishInput: spanishInput.settings && toggle(spanishInput.label),\n specialInput: specialInput.settings && toggle(specialInput.label),\n dimensions: numberFields(dimensions.label, {\n width: {\n label: 'Width (px)',\n suffix: 'px',\n min: 100,\n max: 500,\n },\n height: {\n label: 'Height (px)',\n suffix: 'px',\n min: 100,\n max: 500,\n },\n }),\n 'multiple.enabled':\n multiple.settings && toggle(multiple.label, true),\n promptEnabled: prompt.settings && toggle(prompt.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n playerSpellCheckEnabled:\n playerSpellCheck.settings && toggle(playerSpellCheck.label),\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n rubricEnabled: withRubric.settings && toggle(withRubric.label)\n },\n }}\n />\n }\n >\n <div>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptContainer}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <br />\n\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptContainer}\n >\n <EditableHtml\n activePlugins={ALL_PLUGINS}\n className={classes.prompt}\n markup={model.prompt || ''}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {feedbackEnabled && (\n <React.Fragment>\n <Typography className={classes.header} variant=\"subheading\">\n Feedback\n </Typography>\n\n <FeedbackSelector\n label=\"When submitted, show\"\n feedback={model.feedback || defaultFeedback}\n onChange={this.changeFeedback}\n toolbarOpts={toolbarOpts}\n />\n </React.Fragment>\n )}\n </div>\n </layout.ConfigLayout>\n );\n }\n}\nexport default withStyles((theme) => ({\n header: {\n paddingBottom: theme.spacing.unit,\n },\n promptContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n promptInput: {\n width: '100%',\n marginBottom: theme.spacing.unit,\n },\n field: {\n width: '200px',\n },\n}))(Main);\n"],"file":"main.js"}
|
package/configure/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@material-ui/core": "^3.9.2",
|
|
12
12
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
13
|
-
"@pie-lib/config-ui": "^11.0.
|
|
13
|
+
"@pie-lib/config-ui": "^11.0.20",
|
|
14
14
|
"@pie-lib/editable-html": "^9.2.2",
|
|
15
15
|
"lodash": "^4.17.15",
|
|
16
16
|
"prop-types": "^15.6.2",
|
package/docs/config-schema.json
CHANGED
|
@@ -210,6 +210,22 @@
|
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
},
|
|
213
|
+
"withRubric": {
|
|
214
|
+
"title": "ConfigureProp",
|
|
215
|
+
"type": "object",
|
|
216
|
+
"properties": {
|
|
217
|
+
"settings": {
|
|
218
|
+
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
219
|
+
"type": "boolean",
|
|
220
|
+
"title": "settings"
|
|
221
|
+
},
|
|
222
|
+
"label": {
|
|
223
|
+
"description": "Indicates the label for the item that has to be displayed in the Settings Panel",
|
|
224
|
+
"type": "string",
|
|
225
|
+
"title": "label"
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
},
|
|
213
229
|
"showPrompt": {
|
|
214
230
|
"description": "Determines whether prompt field will be displayed or not",
|
|
215
231
|
"default": true,
|
|
@@ -159,6 +159,18 @@ Indicates the max dimension for images in prompt - this is also the default dime
|
|
|
159
159
|
|
|
160
160
|
Indicates the max dimension for images in rationale
|
|
161
161
|
|
|
162
|
+
# `withRubric` (object)
|
|
163
|
+
|
|
164
|
+
Properties of the `withRubric` object:
|
|
165
|
+
|
|
166
|
+
## `settings` (boolean)
|
|
167
|
+
|
|
168
|
+
Indicates if the item has to be displayed in the Settings Panel
|
|
169
|
+
|
|
170
|
+
## `label` (string)
|
|
171
|
+
|
|
172
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
173
|
+
|
|
162
174
|
# `showPrompt` (boolean)
|
|
163
175
|
|
|
164
176
|
Determines whether prompt field will be displayed or not
|
package/docs/demo/generate.js
CHANGED
package/docs/pie-schema.json
CHANGED
|
@@ -148,6 +148,11 @@
|
|
|
148
148
|
"type": "string",
|
|
149
149
|
"title": "playersToolbarPosition"
|
|
150
150
|
},
|
|
151
|
+
"rubricEnabled": {
|
|
152
|
+
"description": "Indicates if Rubric is enabled",
|
|
153
|
+
"type": "boolean",
|
|
154
|
+
"title": "rubricEnabled"
|
|
155
|
+
},
|
|
151
156
|
"id": {
|
|
152
157
|
"description": "Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.",
|
|
153
158
|
"type": "string",
|
|
@@ -166,6 +171,7 @@
|
|
|
166
171
|
"id",
|
|
167
172
|
"playerSpellCheckEnabled",
|
|
168
173
|
"rationaleEnabled",
|
|
174
|
+
"rubricEnabled",
|
|
169
175
|
"spellCheckEnabled",
|
|
170
176
|
"studentInstructionsEnabled",
|
|
171
177
|
"teacherInstructionsEnabled"
|
package/docs/pie-schema.json.md
CHANGED
|
@@ -126,6 +126,10 @@ This element must be one of the following enum values:
|
|
|
126
126
|
|
|
127
127
|
Default: `": 'bottom'"`
|
|
128
128
|
|
|
129
|
+
# `rubricEnabled` (boolean, required)
|
|
130
|
+
|
|
131
|
+
Indicates if Rubric is enabled
|
|
132
|
+
|
|
129
133
|
# `id` (string, required)
|
|
130
134
|
|
|
131
135
|
Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/extended-text-entry",
|
|
3
|
-
"version": "7.1.
|
|
3
|
+
"version": "7.1.10-next.173+d434ce108",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": "pie-framework/pie-elements",
|
|
6
6
|
"publishConfig": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"react": "^16.8.1",
|
|
23
23
|
"react-dom": "^16.8.1"
|
|
24
24
|
},
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "d434ce108dd12cb05f72f676a79bbfba67944cb3",
|
|
26
26
|
"scripts": {
|
|
27
27
|
"postpublish": "../../scripts/postpublish"
|
|
28
28
|
},
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
|
-
var _main = require("../main");
|
|
8
|
-
|
|
9
|
-
var _enzyme = require("enzyme");
|
|
10
|
-
|
|
11
|
-
var _defaults = _interopRequireDefault(require("../defaults"));
|
|
12
|
-
|
|
13
|
-
jest.mock('@pie-lib/config-ui', function () {
|
|
14
|
-
return {
|
|
15
|
-
layout: {
|
|
16
|
-
ConfigLayout: function ConfigLayout(props) {
|
|
17
|
-
return /*#__PURE__*/_react["default"].createElement("div", null, props.children);
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
settings: {
|
|
21
|
-
Panel: function Panel(props) {
|
|
22
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
23
|
-
onChange: props.onChange
|
|
24
|
-
});
|
|
25
|
-
},
|
|
26
|
-
toggle: jest.fn(),
|
|
27
|
-
radio: jest.fn(),
|
|
28
|
-
numberFields: jest.fn(),
|
|
29
|
-
dropdown: jest.fn()
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
});
|
|
33
|
-
describe('Render Main Component', function () {
|
|
34
|
-
var wrapper, instance, onChange;
|
|
35
|
-
var model = _defaults["default"].model;
|
|
36
|
-
var configuration = _defaults["default"].configuration;
|
|
37
|
-
beforeEach(function () {
|
|
38
|
-
onChange = jest.fn();
|
|
39
|
-
wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_main.Main, {
|
|
40
|
-
classes: {},
|
|
41
|
-
model: model,
|
|
42
|
-
configuration: configuration,
|
|
43
|
-
onModelChanged: onChange,
|
|
44
|
-
handleBoxResize: function handleBoxResize() {},
|
|
45
|
-
imageSupport: {}
|
|
46
|
-
}));
|
|
47
|
-
instance = wrapper.instance();
|
|
48
|
-
});
|
|
49
|
-
it('Match Snapshot', function () {
|
|
50
|
-
expect(wrapper).toMatchSnapshot();
|
|
51
|
-
});
|
|
52
|
-
describe('logic', function () {
|
|
53
|
-
it('onPromptChange calls onModelChanged', function () {
|
|
54
|
-
instance.onPromptChange('New Prompt');
|
|
55
|
-
expect(onChange).toBeCalledWith(expect.objectContaining({
|
|
56
|
-
prompt: 'New Prompt'
|
|
57
|
-
}));
|
|
58
|
-
});
|
|
59
|
-
it('changeFeedback calls onModelChanged', function () {
|
|
60
|
-
instance.changeFeedback({
|
|
61
|
-
type: 'custom',
|
|
62
|
-
"default": 'Default Feedback'
|
|
63
|
-
});
|
|
64
|
-
expect(onChange).toBeCalledWith(expect.objectContaining({
|
|
65
|
-
feedback: {
|
|
66
|
-
type: 'custom',
|
|
67
|
-
"default": 'Default Feedback'
|
|
68
|
-
}
|
|
69
|
-
}));
|
|
70
|
-
});
|
|
71
|
-
it('changeTeacherInstructions calls onModelChanged', function () {
|
|
72
|
-
instance.changeTeacherInstructions('Teacher Instructions');
|
|
73
|
-
expect(onChange).toBeCalledWith(expect.objectContaining({
|
|
74
|
-
teacherInstructions: 'Teacher Instructions'
|
|
75
|
-
}));
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWFpbi50ZXN0LmpzIl0sIm5hbWVzIjpbImplc3QiLCJtb2NrIiwibGF5b3V0IiwiQ29uZmlnTGF5b3V0IiwicHJvcHMiLCJjaGlsZHJlbiIsInNldHRpbmdzIiwiUGFuZWwiLCJvbkNoYW5nZSIsInRvZ2dsZSIsImZuIiwicmFkaW8iLCJudW1iZXJGaWVsZHMiLCJkcm9wZG93biIsImRlc2NyaWJlIiwid3JhcHBlciIsImluc3RhbmNlIiwibW9kZWwiLCJkZWZhdWx0cyIsImNvbmZpZ3VyYXRpb24iLCJiZWZvcmVFYWNoIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJvblByb21wdENoYW5nZSIsInRvQmVDYWxsZWRXaXRoIiwib2JqZWN0Q29udGFpbmluZyIsInByb21wdCIsImNoYW5nZUZlZWRiYWNrIiwidHlwZSIsImZlZWRiYWNrIiwiY2hhbmdlVGVhY2hlckluc3RydWN0aW9ucyIsInRlYWNoZXJJbnN0cnVjdGlvbnMiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFFQUEsSUFBSSxDQUFDQyxJQUFMLENBQVUsb0JBQVYsRUFBZ0M7QUFBQSxTQUFPO0FBQ3JDQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsWUFBWSxFQUFFLHNCQUFBQyxLQUFLO0FBQUEsNEJBQUksNkNBQU1BLEtBQUssQ0FBQ0MsUUFBWixDQUFKO0FBQUE7QUFEYixLQUQ2QjtBQUlyQ0MsSUFBQUEsUUFBUSxFQUFFO0FBQ1JDLE1BQUFBLEtBQUssRUFBRSxlQUFBSCxLQUFLO0FBQUEsNEJBQUk7QUFBSyxVQUFBLFFBQVEsRUFBRUEsS0FBSyxDQUFDSTtBQUFyQixVQUFKO0FBQUEsT0FESjtBQUVSQyxNQUFBQSxNQUFNLEVBQUVULElBQUksQ0FBQ1UsRUFBTCxFQUZBO0FBR1JDLE1BQUFBLEtBQUssRUFBRVgsSUFBSSxDQUFDVSxFQUFMLEVBSEM7QUFJUkUsTUFBQUEsWUFBWSxFQUFFWixJQUFJLENBQUNVLEVBQUwsRUFKTjtBQUtSRyxNQUFBQSxRQUFRLEVBQUViLElBQUksQ0FBQ1UsRUFBTDtBQUxGO0FBSjJCLEdBQVA7QUFBQSxDQUFoQztBQWFBSSxRQUFRLENBQUMsdUJBQUQsRUFBMEIsWUFBTTtBQUN0QyxNQUFJQyxPQUFKLEVBQWFDLFFBQWIsRUFBdUJSLFFBQXZCO0FBQ0EsTUFBSVMsS0FBSyxHQUFHQyxxQkFBU0QsS0FBckI7QUFDQSxNQUFJRSxhQUFhLEdBQUdELHFCQUFTQyxhQUE3QjtBQUVBQyxFQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmWixJQUFBQSxRQUFRLEdBQUdSLElBQUksQ0FBQ1UsRUFBTCxFQUFYO0FBQ0FLLElBQUFBLE9BQU8sR0FBRyxtQ0FDUixnQ0FBQyxVQUFEO0FBQ0UsTUFBQSxPQUFPLEVBQUUsRUFEWDtBQUVFLE1BQUEsS0FBSyxFQUFFRSxLQUZUO0FBR0UsTUFBQSxhQUFhLEVBQUVFLGFBSGpCO0FBSUUsTUFBQSxjQUFjLEVBQUVYLFFBSmxCO0FBS0UsTUFBQSxlQUFlLEVBQUUsMkJBQU0sQ0FBRSxDQUwzQjtBQU1FLE1BQUEsWUFBWSxFQUFFO0FBTmhCLE1BRFEsQ0FBVjtBQVdBUSxJQUFBQSxRQUFRLEdBQUdELE9BQU8sQ0FBQ0MsUUFBUixFQUFYO0FBQ0QsR0FkUyxDQUFWO0FBZ0JBSyxFQUFBQSxFQUFFLENBQUMsZ0JBQUQsRUFBbUIsWUFBTTtBQUN6QkMsSUFBQUEsTUFBTSxDQUFDUCxPQUFELENBQU4sQ0FBZ0JRLGVBQWhCO0FBQ0QsR0FGQyxDQUFGO0FBSUFULEVBQUFBLFFBQVEsQ0FBQyxPQUFELEVBQVUsWUFBTTtBQUN0Qk8sSUFBQUEsRUFBRSxDQUFDLHFDQUFELEVBQXdDLFlBQU07QUFDOUNMLE1BQUFBLFFBQVEsQ0FBQ1EsY0FBVCxDQUF3QixZQUF4QjtBQUNBRixNQUFBQSxNQUFNLENBQUNkLFFBQUQsQ0FBTixDQUFpQmlCLGNBQWpCLENBQWdDSCxNQUFNLENBQUNJLGdCQUFQLENBQXdCO0FBQUVDLFFBQUFBLE1BQU0sRUFBRTtBQUFWLE9BQXhCLENBQWhDO0FBQ0QsS0FIQyxDQUFGO0FBS0FOLElBQUFBLEVBQUUsQ0FBQyxxQ0FBRCxFQUF3QyxZQUFNO0FBQzlDTCxNQUFBQSxRQUFRLENBQUNZLGNBQVQsQ0FBd0I7QUFBRUMsUUFBQUEsSUFBSSxFQUFFLFFBQVI7QUFBa0IsbUJBQVM7QUFBM0IsT0FBeEI7QUFDQVAsTUFBQUEsTUFBTSxDQUFDZCxRQUFELENBQU4sQ0FBaUJpQixjQUFqQixDQUFnQ0gsTUFBTSxDQUFDSSxnQkFBUCxDQUF3QjtBQUFFSSxRQUFBQSxRQUFRLEVBQUU7QUFBRUQsVUFBQUEsSUFBSSxFQUFFLFFBQVI7QUFBa0IscUJBQVM7QUFBM0I7QUFBWixPQUF4QixDQUFoQztBQUNELEtBSEMsQ0FBRjtBQUtBUixJQUFBQSxFQUFFLENBQUMsZ0RBQUQsRUFBbUQsWUFBTTtBQUN6REwsTUFBQUEsUUFBUSxDQUFDZSx5QkFBVCxDQUFtQyxzQkFBbkM7QUFDQVQsTUFBQUEsTUFBTSxDQUFDZCxRQUFELENBQU4sQ0FBaUJpQixjQUFqQixDQUFnQ0gsTUFBTSxDQUFDSSxnQkFBUCxDQUF3QjtBQUFFTSxRQUFBQSxtQkFBbUIsRUFBRTtBQUF2QixPQUF4QixDQUFoQztBQUNELEtBSEMsQ0FBRjtBQUlELEdBZk8sQ0FBUjtBQWdCRCxDQXpDTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1haW4gfSBmcm9tICcuLi9tYWluJztcbmltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuXG5pbXBvcnQgZGVmYXVsdHMgZnJvbSAnLi4vZGVmYXVsdHMnO1xuXG5qZXN0Lm1vY2soJ0BwaWUtbGliL2NvbmZpZy11aScsICgpID0+ICh7XG4gIGxheW91dDoge1xuICAgIENvbmZpZ0xheW91dDogcHJvcHMgPT4gPGRpdj57cHJvcHMuY2hpbGRyZW59PC9kaXY+XG4gIH0sXG4gIHNldHRpbmdzOiB7XG4gICAgUGFuZWw6IHByb3BzID0+IDxkaXYgb25DaGFuZ2U9e3Byb3BzLm9uQ2hhbmdlfSAvPixcbiAgICB0b2dnbGU6IGplc3QuZm4oKSxcbiAgICByYWRpbzogamVzdC5mbigpLFxuICAgIG51bWJlckZpZWxkczogamVzdC5mbigpLFxuICAgIGRyb3Bkb3duOiBqZXN0LmZuKClcbiAgfVxufSkpO1xuXG5kZXNjcmliZSgnUmVuZGVyIE1haW4gQ29tcG9uZW50JywgKCkgPT4ge1xuICBsZXQgd3JhcHBlciwgaW5zdGFuY2UsIG9uQ2hhbmdlO1xuICBsZXQgbW9kZWwgPSBkZWZhdWx0cy5tb2RlbDtcbiAgbGV0IGNvbmZpZ3VyYXRpb24gPSBkZWZhdWx0cy5jb25maWd1cmF0aW9uO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICAgIHdyYXBwZXIgPSBzaGFsbG93KFxuICAgICAgPE1haW5cbiAgICAgICAgY2xhc3Nlcz17e319XG4gICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgY29uZmlndXJhdGlvbj17Y29uZmlndXJhdGlvbn1cbiAgICAgICAgb25Nb2RlbENoYW5nZWQ9e29uQ2hhbmdlfVxuICAgICAgICBoYW5kbGVCb3hSZXNpemU9eygpID0+IHt9fVxuICAgICAgICBpbWFnZVN1cHBvcnQ9e3t9fVxuICAgICAgLz5cbiAgICApO1xuXG4gICAgaW5zdGFuY2UgPSB3cmFwcGVyLmluc3RhbmNlKCk7XG4gIH0pO1xuXG4gIGl0KCdNYXRjaCBTbmFwc2hvdCcsICgpID0+IHtcbiAgICBleHBlY3Qod3JhcHBlcikudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBpdCgnb25Qcm9tcHRDaGFuZ2UgY2FsbHMgb25Nb2RlbENoYW5nZWQnLCAoKSA9PiB7XG4gICAgICBpbnN0YW5jZS5vblByb21wdENoYW5nZSgnTmV3IFByb21wdCcpO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7IHByb21wdDogJ05ldyBQcm9tcHQnIH0pKTtcbiAgICB9KTtcblxuICAgIGl0KCdjaGFuZ2VGZWVkYmFjayBjYWxscyBvbk1vZGVsQ2hhbmdlZCcsICgpID0+IHtcbiAgICAgIGluc3RhbmNlLmNoYW5nZUZlZWRiYWNrKHsgdHlwZTogJ2N1c3RvbScsIGRlZmF1bHQ6ICdEZWZhdWx0IEZlZWRiYWNrJyB9KTtcbiAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoZXhwZWN0Lm9iamVjdENvbnRhaW5pbmcoeyBmZWVkYmFjazogeyB0eXBlOiAnY3VzdG9tJywgZGVmYXVsdDogJ0RlZmF1bHQgRmVlZGJhY2snIH0gfSkpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NoYW5nZVRlYWNoZXJJbnN0cnVjdGlvbnMgY2FsbHMgb25Nb2RlbENoYW5nZWQnLCAoKSA9PiB7XG4gICAgICBpbnN0YW5jZS5jaGFuZ2VUZWFjaGVySW5zdHJ1Y3Rpb25zKCdUZWFjaGVyIEluc3RydWN0aW9ucycpO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChleHBlY3Qub2JqZWN0Q29udGFpbmluZyh7IHRlYWNoZXJJbnN0cnVjdGlvbnM6ICdUZWFjaGVyIEluc3RydWN0aW9ucycgfSkpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -1,377 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
|
-
|
|
7
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
|
-
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
-
|
|
11
|
-
var _index = require("../index");
|
|
12
|
-
|
|
13
|
-
var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
|
|
14
|
-
|
|
15
|
-
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; }
|
|
16
|
-
|
|
17
|
-
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; }
|
|
18
|
-
|
|
19
|
-
var defaults = {
|
|
20
|
-
feedback: {
|
|
21
|
-
type: 'default',
|
|
22
|
-
"default": 'this is default feedback'
|
|
23
|
-
},
|
|
24
|
-
mathInput: false,
|
|
25
|
-
prompt: 'Prompt',
|
|
26
|
-
dimensions: {
|
|
27
|
-
width: '150',
|
|
28
|
-
height: '150'
|
|
29
|
-
},
|
|
30
|
-
teacherInstructions: 'Teacher Instructions'
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
var q = function q(extras) {
|
|
34
|
-
return _objectSpread(_objectSpread({}, defaults), extras);
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
var s = function s(extras) {
|
|
38
|
-
return _objectSpread({}, extras);
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
var e = function e() {
|
|
42
|
-
var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'gather';
|
|
43
|
-
return {
|
|
44
|
-
mode: mode
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
describe('controller', function () {
|
|
49
|
-
var assert = function assert(label, question, session, env, expected) {
|
|
50
|
-
it(label, /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
51
|
-
var result;
|
|
52
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
53
|
-
while (1) {
|
|
54
|
-
switch (_context.prev = _context.next) {
|
|
55
|
-
case 0:
|
|
56
|
-
_context.next = 2;
|
|
57
|
-
return (0, _index.model)(question, session, env);
|
|
58
|
-
|
|
59
|
-
case 2:
|
|
60
|
-
result = _context.sent;
|
|
61
|
-
|
|
62
|
-
if ((0, _isFunction["default"])(expected)) {
|
|
63
|
-
expected(result);
|
|
64
|
-
} else {
|
|
65
|
-
expect(result).toMatchObject(expected);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
case 4:
|
|
69
|
-
case "end":
|
|
70
|
-
return _context.stop();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}, _callee);
|
|
74
|
-
})));
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
describe('model', function () {
|
|
78
|
-
var question = q();
|
|
79
|
-
var session = s();
|
|
80
|
-
var env = e();
|
|
81
|
-
describe('disabled', function () {
|
|
82
|
-
assert('gather', question, session, env, {
|
|
83
|
-
disabled: false
|
|
84
|
-
});
|
|
85
|
-
assert('view', question, session, e('view'), {
|
|
86
|
-
disabled: true
|
|
87
|
-
});
|
|
88
|
-
assert('evaluate', question, session, e('evaluate'), {
|
|
89
|
-
disabled: true
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
describe('feedback', function () {
|
|
93
|
-
assert('none for gather', question, session, env, {
|
|
94
|
-
feedback: undefined
|
|
95
|
-
});
|
|
96
|
-
assert('none for view', question, session, e('view'), {
|
|
97
|
-
feedback: undefined
|
|
98
|
-
});
|
|
99
|
-
assert('some for evaluate', q({
|
|
100
|
-
feedbackEnabled: true
|
|
101
|
-
}), session, e('evaluate'), {
|
|
102
|
-
feedback: q().feedback["default"]
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
it('gather mode, promptEnabled: true', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
106
|
-
var result;
|
|
107
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
108
|
-
while (1) {
|
|
109
|
-
switch (_context2.prev = _context2.next) {
|
|
110
|
-
case 0:
|
|
111
|
-
_context2.next = 2;
|
|
112
|
-
return (0, _index.model)(question, session, env);
|
|
113
|
-
|
|
114
|
-
case 2:
|
|
115
|
-
result = _context2.sent;
|
|
116
|
-
expect(result).toEqual({
|
|
117
|
-
customKeys: [],
|
|
118
|
-
prompt: defaults.prompt,
|
|
119
|
-
dimensions: defaults.dimensions,
|
|
120
|
-
disabled: false,
|
|
121
|
-
feedback: undefined,
|
|
122
|
-
teacherInstructions: null,
|
|
123
|
-
spellCheckEnabled: true,
|
|
124
|
-
mathInput: defaults.mathInput,
|
|
125
|
-
playersToolbarPosition: "bottom",
|
|
126
|
-
equationEditor: 'miscellaneous'
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
case 4:
|
|
130
|
-
case "end":
|
|
131
|
-
return _context2.stop();
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}, _callee2);
|
|
135
|
-
})));
|
|
136
|
-
it('gather mode, promptEnabled: false', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
137
|
-
var result;
|
|
138
|
-
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
139
|
-
while (1) {
|
|
140
|
-
switch (_context3.prev = _context3.next) {
|
|
141
|
-
case 0:
|
|
142
|
-
_context3.next = 2;
|
|
143
|
-
return (0, _index.model)(q({
|
|
144
|
-
promptEnabled: false
|
|
145
|
-
}), session, env);
|
|
146
|
-
|
|
147
|
-
case 2:
|
|
148
|
-
result = _context3.sent;
|
|
149
|
-
expect(result).toEqual({
|
|
150
|
-
customKeys: [],
|
|
151
|
-
prompt: null,
|
|
152
|
-
dimensions: defaults.dimensions,
|
|
153
|
-
disabled: false,
|
|
154
|
-
feedback: undefined,
|
|
155
|
-
teacherInstructions: null,
|
|
156
|
-
mathInput: defaults.mathInput,
|
|
157
|
-
spellCheckEnabled: true,
|
|
158
|
-
playersToolbarPosition: "bottom",
|
|
159
|
-
equationEditor: 'miscellaneous'
|
|
160
|
-
});
|
|
161
|
-
|
|
162
|
-
case 4:
|
|
163
|
-
case "end":
|
|
164
|
-
return _context3.stop();
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}, _callee3);
|
|
168
|
-
})));
|
|
169
|
-
it('view mode, student role', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
170
|
-
var result;
|
|
171
|
-
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
172
|
-
while (1) {
|
|
173
|
-
switch (_context4.prev = _context4.next) {
|
|
174
|
-
case 0:
|
|
175
|
-
_context4.next = 2;
|
|
176
|
-
return (0, _index.model)(question, session, {
|
|
177
|
-
mode: 'view'
|
|
178
|
-
});
|
|
179
|
-
|
|
180
|
-
case 2:
|
|
181
|
-
result = _context4.sent;
|
|
182
|
-
expect(result).toEqual({
|
|
183
|
-
customKeys: [],
|
|
184
|
-
prompt: defaults.prompt,
|
|
185
|
-
dimensions: defaults.dimensions,
|
|
186
|
-
disabled: true,
|
|
187
|
-
feedback: undefined,
|
|
188
|
-
teacherInstructions: null,
|
|
189
|
-
spellCheckEnabled: true,
|
|
190
|
-
mathInput: defaults.mathInput,
|
|
191
|
-
playersToolbarPosition: "bottom",
|
|
192
|
-
equationEditor: 'miscellaneous'
|
|
193
|
-
});
|
|
194
|
-
|
|
195
|
-
case 4:
|
|
196
|
-
case "end":
|
|
197
|
-
return _context4.stop();
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}, _callee4);
|
|
201
|
-
})));
|
|
202
|
-
it('view mode, instructor role, teacherInstructions enabled', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
203
|
-
var result;
|
|
204
|
-
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
205
|
-
while (1) {
|
|
206
|
-
switch (_context5.prev = _context5.next) {
|
|
207
|
-
case 0:
|
|
208
|
-
_context5.next = 2;
|
|
209
|
-
return (0, _index.model)(question, session, {
|
|
210
|
-
mode: 'view',
|
|
211
|
-
role: 'instructor'
|
|
212
|
-
});
|
|
213
|
-
|
|
214
|
-
case 2:
|
|
215
|
-
result = _context5.sent;
|
|
216
|
-
expect(result).toEqual({
|
|
217
|
-
customKeys: [],
|
|
218
|
-
prompt: defaults.prompt,
|
|
219
|
-
dimensions: defaults.dimensions,
|
|
220
|
-
disabled: true,
|
|
221
|
-
feedback: undefined,
|
|
222
|
-
teacherInstructions: defaults.teacherInstructions,
|
|
223
|
-
mathInput: defaults.mathInput,
|
|
224
|
-
spellCheckEnabled: true,
|
|
225
|
-
playersToolbarPosition: "bottom",
|
|
226
|
-
equationEditor: 'miscellaneous'
|
|
227
|
-
});
|
|
228
|
-
|
|
229
|
-
case 4:
|
|
230
|
-
case "end":
|
|
231
|
-
return _context5.stop();
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}, _callee5);
|
|
235
|
-
})));
|
|
236
|
-
it('view mode, instructor role, teacherInstructions disabled', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
237
|
-
var result;
|
|
238
|
-
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
239
|
-
while (1) {
|
|
240
|
-
switch (_context6.prev = _context6.next) {
|
|
241
|
-
case 0:
|
|
242
|
-
_context6.next = 2;
|
|
243
|
-
return (0, _index.model)(q({
|
|
244
|
-
teacherInstructionsEnabled: false
|
|
245
|
-
}), session, {
|
|
246
|
-
mode: 'view',
|
|
247
|
-
role: 'instructor'
|
|
248
|
-
});
|
|
249
|
-
|
|
250
|
-
case 2:
|
|
251
|
-
result = _context6.sent;
|
|
252
|
-
expect(result).toEqual({
|
|
253
|
-
customKeys: [],
|
|
254
|
-
prompt: defaults.prompt,
|
|
255
|
-
dimensions: defaults.dimensions,
|
|
256
|
-
disabled: true,
|
|
257
|
-
feedback: undefined,
|
|
258
|
-
teacherInstructions: null,
|
|
259
|
-
mathInput: defaults.mathInput,
|
|
260
|
-
spellCheckEnabled: true,
|
|
261
|
-
playersToolbarPosition: "bottom",
|
|
262
|
-
equationEditor: 'miscellaneous'
|
|
263
|
-
});
|
|
264
|
-
|
|
265
|
-
case 4:
|
|
266
|
-
case "end":
|
|
267
|
-
return _context6.stop();
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
}, _callee6);
|
|
271
|
-
})));
|
|
272
|
-
it('evaluate mode, student role', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
273
|
-
var result;
|
|
274
|
-
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
275
|
-
while (1) {
|
|
276
|
-
switch (_context7.prev = _context7.next) {
|
|
277
|
-
case 0:
|
|
278
|
-
_context7.next = 2;
|
|
279
|
-
return (0, _index.model)(question, session, {
|
|
280
|
-
mode: 'evaluate'
|
|
281
|
-
});
|
|
282
|
-
|
|
283
|
-
case 2:
|
|
284
|
-
result = _context7.sent;
|
|
285
|
-
expect(result).toEqual({
|
|
286
|
-
customKeys: [],
|
|
287
|
-
prompt: defaults.prompt,
|
|
288
|
-
dimensions: defaults.dimensions,
|
|
289
|
-
disabled: true,
|
|
290
|
-
feedback: 'this is default feedback',
|
|
291
|
-
teacherInstructions: null,
|
|
292
|
-
mathInput: defaults.mathInput,
|
|
293
|
-
spellCheckEnabled: true,
|
|
294
|
-
playersToolbarPosition: "bottom",
|
|
295
|
-
equationEditor: 'miscellaneous'
|
|
296
|
-
});
|
|
297
|
-
|
|
298
|
-
case 4:
|
|
299
|
-
case "end":
|
|
300
|
-
return _context7.stop();
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
}, _callee7);
|
|
304
|
-
})));
|
|
305
|
-
it('evaluate mode, instructor role, teacherInstructions enabled', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
|
|
306
|
-
var result;
|
|
307
|
-
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
308
|
-
while (1) {
|
|
309
|
-
switch (_context8.prev = _context8.next) {
|
|
310
|
-
case 0:
|
|
311
|
-
_context8.next = 2;
|
|
312
|
-
return (0, _index.model)(question, session, {
|
|
313
|
-
mode: 'evaluate',
|
|
314
|
-
role: 'instructor'
|
|
315
|
-
});
|
|
316
|
-
|
|
317
|
-
case 2:
|
|
318
|
-
result = _context8.sent;
|
|
319
|
-
expect(result).toEqual({
|
|
320
|
-
customKeys: [],
|
|
321
|
-
prompt: defaults.prompt,
|
|
322
|
-
dimensions: defaults.dimensions,
|
|
323
|
-
disabled: true,
|
|
324
|
-
feedback: 'this is default feedback',
|
|
325
|
-
spellCheckEnabled: true,
|
|
326
|
-
teacherInstructions: defaults.teacherInstructions,
|
|
327
|
-
mathInput: defaults.mathInput,
|
|
328
|
-
playersToolbarPosition: "bottom",
|
|
329
|
-
equationEditor: 'miscellaneous'
|
|
330
|
-
});
|
|
331
|
-
|
|
332
|
-
case 4:
|
|
333
|
-
case "end":
|
|
334
|
-
return _context8.stop();
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
}, _callee8);
|
|
338
|
-
})));
|
|
339
|
-
it('evaluate mode, instructor role, teacherInstructions disabled', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9() {
|
|
340
|
-
var result;
|
|
341
|
-
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
342
|
-
while (1) {
|
|
343
|
-
switch (_context9.prev = _context9.next) {
|
|
344
|
-
case 0:
|
|
345
|
-
_context9.next = 2;
|
|
346
|
-
return (0, _index.model)(q({
|
|
347
|
-
teacherInstructionsEnabled: false
|
|
348
|
-
}), session, {
|
|
349
|
-
mode: 'evaluate',
|
|
350
|
-
role: 'instructor'
|
|
351
|
-
});
|
|
352
|
-
|
|
353
|
-
case 2:
|
|
354
|
-
result = _context9.sent;
|
|
355
|
-
expect(result).toEqual({
|
|
356
|
-
customKeys: [],
|
|
357
|
-
prompt: defaults.prompt,
|
|
358
|
-
dimensions: defaults.dimensions,
|
|
359
|
-
disabled: true,
|
|
360
|
-
feedback: 'this is default feedback',
|
|
361
|
-
spellCheckEnabled: true,
|
|
362
|
-
teacherInstructions: null,
|
|
363
|
-
mathInput: defaults.mathInput,
|
|
364
|
-
playersToolbarPosition: "bottom",
|
|
365
|
-
equationEditor: 'miscellaneous'
|
|
366
|
-
});
|
|
367
|
-
|
|
368
|
-
case 4:
|
|
369
|
-
case "end":
|
|
370
|
-
return _context9.stop();
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
}, _callee9);
|
|
374
|
-
})));
|
|
375
|
-
});
|
|
376
|
-
});
|
|
377
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qcyJdLCJuYW1lcyI6WyJkZWZhdWx0cyIsImZlZWRiYWNrIiwidHlwZSIsIm1hdGhJbnB1dCIsInByb21wdCIsImRpbWVuc2lvbnMiLCJ3aWR0aCIsImhlaWdodCIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJxIiwiZXh0cmFzIiwicyIsImUiLCJtb2RlIiwiZGVzY3JpYmUiLCJhc3NlcnQiLCJsYWJlbCIsInF1ZXN0aW9uIiwic2Vzc2lvbiIsImVudiIsImV4cGVjdGVkIiwiaXQiLCJyZXN1bHQiLCJleHBlY3QiLCJ0b01hdGNoT2JqZWN0IiwiZGlzYWJsZWQiLCJ1bmRlZmluZWQiLCJmZWVkYmFja0VuYWJsZWQiLCJ0b0VxdWFsIiwiY3VzdG9tS2V5cyIsInNwZWxsQ2hlY2tFbmFibGVkIiwicGxheWVyc1Rvb2xiYXJQb3NpdGlvbiIsImVxdWF0aW9uRWRpdG9yIiwicHJvbXB0RW5hYmxlZCIsInJvbGUiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOztBQUNBOzs7Ozs7QUFDQSxJQUFNQSxRQUFRLEdBQUc7QUFDZkMsRUFBQUEsUUFBUSxFQUFFO0FBQUVDLElBQUFBLElBQUksRUFBRSxTQUFSO0FBQW1CLGVBQVM7QUFBNUIsR0FESztBQUVmQyxFQUFBQSxTQUFTLEVBQUUsS0FGSTtBQUdmQyxFQUFBQSxNQUFNLEVBQUUsUUFITztBQUlmQyxFQUFBQSxVQUFVLEVBQUU7QUFDVkMsSUFBQUEsS0FBSyxFQUFFLEtBREc7QUFFVkMsSUFBQUEsTUFBTSxFQUFFO0FBRkUsR0FKRztBQVFmQyxFQUFBQSxtQkFBbUIsRUFBRTtBQVJOLENBQWpCOztBQVVBLElBQU1DLENBQUMsR0FBRyxTQUFKQSxDQUFJLENBQUFDLE1BQU07QUFBQSx5Q0FBVVYsUUFBVixHQUF1QlUsTUFBdkI7QUFBQSxDQUFoQjs7QUFDQSxJQUFNQyxDQUFDLEdBQUcsU0FBSkEsQ0FB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QUFFLFVBQVI7QUFBb0JxQixnQkFBQUEsSUFBSSxFQUFFO0FBQTFCLGVBQXpELENBRDRDOztBQUFBO0FBQzNEWixjQUFBQSxNQUQyRDtBQUVqRUMsY0FBQUEsTUFBTSxDQUFDRCxNQUFELENBQU4sQ0FBZU0sT0FBZixDQUF1QjtBQUNyQkMsZ0JBQUFBLFVBQVUsRUFBRSxFQURTO0FBRXJCekIsZ0JBQUFBLE1BQU0sRUFBRUosUUFBUSxDQUFDSSxNQUZJO0FBR3JCQyxnQkFBQUEsVUFBVSxFQUFFTCxRQUFRLENBQUNLLFVBSEE7QUFJckJvQixnQkFBQUEsUUFBUSxFQUFFLElBSlc7QUFLckJ4QixnQkFBQUEsUUFBUSxFQUFFLDBCQUxXO0FBTXJCNkIsZ0JBQUFBLGlCQUFpQixFQUFDLElBTkc7QUFPckJ0QixnQkFBQUEsbUJBQW1CLEVBQUUsSUFQQTtBQVFyQkwsZ0JBQUFBLFNBQVMsRUFBRUgsUUFBUSxDQUFDRyxTQVJDO0FBU3JCNEIsZ0JBQUFBLHNCQUFzQixFQUFFLFFBVEg7QUFVckJDLGdCQUFBQSxjQUFjLEVBQUU7QUFWSyxlQUF2Qjs7QUFGaUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsS0FBakUsR0FBRjtBQWVELEdBeElPLENBQVI7QUF5SUQsQ0FwSk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1vZGVsIH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IGlzRnVuY3Rpb24gZnJvbSAnbG9kYXNoL2lzRnVuY3Rpb24nO1xuY29uc3QgZGVmYXVsdHMgPSB7XG4gIGZlZWRiYWNrOiB7IHR5cGU6ICdkZWZhdWx0JywgZGVmYXVsdDogJ3RoaXMgaXMgZGVmYXVsdCBmZWVkYmFjaycgfSxcbiAgbWF0aElucHV0OiBmYWxzZSxcbiAgcHJvbXB0OiAnUHJvbXB0JyxcbiAgZGltZW5zaW9uczoge1xuICAgIHdpZHRoOiAnMTUwJyxcbiAgICBoZWlnaHQ6ICcxNTAnXG4gIH0sXG4gIHRlYWNoZXJJbnN0cnVjdGlvbnM6ICdUZWFjaGVyIEluc3RydWN0aW9ucydcbn07XG5jb25zdCBxID0gZXh0cmFzID0+ICh7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfSk7XG5jb25zdCBzID0gZXh0cmFzID0+ICh7IC4uLmV4dHJhcyB9KTtcbmNvbnN0IGUgPSAobW9kZSA9ICdnYXRoZXInKSA9PiAoeyBtb2RlIH0pO1xuZGVzY3JpYmUoJ2NvbnRyb2xsZXInLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VydCA9IChsYWJlbCwgcXVlc3Rpb24sIHNlc3Npb24sIGVudiwgZXhwZWN0ZWQpID0+IHtcbiAgICBpdChsYWJlbCwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbW9kZWwocXVlc3Rpb24sIHNlc3Npb24sIGVudik7XG4gICAgICBpZiAoaXNGdW5jdGlvbihleHBlY3RlZCkpIHtcbiAgICAgICAgZXhwZWN0ZWQocmVzdWx0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvTWF0Y2hPYmplY3QoZXhwZWN0ZWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9O1xuICBkZXNjcmliZSgnbW9kZWwnLCAoKSA9PiB7XG4gICAgY29uc3QgcXVlc3Rpb24gPSBxKCk7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IHMoKTtcbiAgICBjb25zdCBlbnYgPSBlKCk7XG4gICAgZGVzY3JpYmUoJ2Rpc2FibGVkJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0KCdnYXRoZXInLCBxdWVzdGlvbiwgc2Vzc2lvbiwgZW52LCB7IGRpc2FibGVkOiBmYWxzZSB9KTtcbiAgICAgIGFzc2VydCgndmlldycsIHF1ZXN0aW9uLCBzZXNzaW9uLCBlKCd2aWV3JyksIHsgZGlzYWJsZWQ6IHRydWUgfSk7XG4gICAgICBhc3NlcnQoJ2V2YWx1YXRlJywgcXVlc3Rpb24sIHNlc3Npb24sIGUoJ2V2YWx1YXRlJyksIHsgZGlzYWJsZWQ6IHRydWUgfSk7XG4gICAgfSk7XG4gICAgZGVzY3JpYmUoJ2ZlZWRiYWNrJywgKCkgPT4ge1xuICAgICAgYXNzZXJ0KCdub25lIGZvciBnYXRoZXInLCBxdWVzdGlvbiwgc2Vzc2lvbiwgZW52LCB7IGZlZWRiYWNrOiB1bmRlZmluZWQgfSk7XG4gICAgICBhc3NlcnQoJ25vbmUgZm9yIHZpZXcnLCBxdWVzdGlvbiwgc2Vzc2lvbiwgZSgndmlldycpLCB7IGZlZWRiYWNrOiB1bmRlZmluZWQgfSk7XG4gICAgICBhc3NlcnQoJ3NvbWUgZm9yIGV2YWx1YXRlJywgcSh7IGZlZWRiYWNrRW5hYmxlZDogdHJ1ZSB9KSwgc2Vzc2lvbiwgZSgnZXZhbHVhdGUnKSwge1xuICAgICAgICBmZWVkYmFjazogcSgpLmZlZWRiYWNrLmRlZmF1bHRcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGl0KCdnYXRoZXIgbW9kZSwgcHJvbXB0RW5hYmxlZDogdHJ1ZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG1vZGVsKHF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIGN1c3RvbUtleXM6IFtdLFxuICAgICAgICBwcm9tcHQ6IGRlZmF1bHRzLnByb21wdCxcbiAgICAgICAgZGltZW5zaW9uczogZGVmYXVsdHMuZGltZW5zaW9ucyxcbiAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICBmZWVkYmFjazogdW5kZWZpbmVkLFxuICAgICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiBudWxsLFxuICAgICAgICBzcGVsbENoZWNrRW5hYmxlZDp0cnVlLFxuICAgICAgICBtYXRoSW5wdXQ6IGRlZmF1bHRzLm1hdGhJbnB1dCxcbiAgICAgICAgcGxheWVyc1Rvb2xiYXJQb3NpdGlvbjogXCJib3R0b21cIixcbiAgICAgICAgZXF1YXRpb25FZGl0b3I6ICdtaXNjZWxsYW5lb3VzJ1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgaXQoJ2dhdGhlciBtb2RlLCBwcm9tcHRFbmFibGVkOiBmYWxzZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG1vZGVsKHEoeyBwcm9tcHRFbmFibGVkOiBmYWxzZSB9KSwgc2Vzc2lvbiwgZW52KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICBjdXN0b21LZXlzOiBbXSxcbiAgICAgICAgcHJvbXB0OiBudWxsLFxuICAgICAgICBkaW1lbnNpb25zOiBkZWZhdWx0cy5kaW1lbnNpb25zLFxuICAgICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICAgIGZlZWRiYWNrOiB1bmRlZmluZWQsXG4gICAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6IG51bGwsXG4gICAgICAgIG1hdGhJbnB1dDogZGVmYXVsdHMubWF0aElucHV0LFxuICAgICAgICBzcGVsbENoZWNrRW5hYmxlZDp0cnVlLFxuICAgICAgICBwbGF5ZXJzVG9vbGJhclBvc2l0aW9uOiBcImJvdHRvbVwiLFxuICAgICAgICBlcXVhdGlvbkVkaXRvcjogJ21pc2NlbGxhbmVvdXMnXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBpdCgndmlldyBtb2RlLCBzdHVkZW50IHJvbGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBtb2RlbChxdWVzdGlvbiwgc2Vzc2lvbiwgeyBtb2RlOiAndmlldycgfSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgICAgY3VzdG9tS2V5czogW10sXG4gICAgICAgIHByb21wdDogZGVmYXVsdHMucHJvbXB0LFxuICAgICAgICBkaW1lbnNpb25zOiBkZWZhdWx0cy5kaW1lbnNpb25zLFxuICAgICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgICAgZmVlZGJhY2s6IHVuZGVmaW5lZCxcbiAgICAgICAgdGVhY2hlckluc3RydWN0aW9uczogbnVsbCxcbiAgICAgICAgc3BlbGxDaGVja0VuYWJsZWQ6dHJ1ZSxcbiAgICAgICAgbWF0aElucHV0OiBkZWZhdWx0cy5tYXRoSW5wdXQsXG4gICAgICAgIHBsYXllcnNUb29sYmFyUG9zaXRpb246IFwiYm90dG9tXCIsXG4gICAgICAgIGVxdWF0aW9uRWRpdG9yOiAnbWlzY2VsbGFuZW91cydcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGl0KCd2aWV3IG1vZGUsIGluc3RydWN0b3Igcm9sZSwgdGVhY2hlckluc3RydWN0aW9ucyBlbmFibGVkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbW9kZWwocXVlc3Rpb24sIHNlc3Npb24sIHsgbW9kZTogJ3ZpZXcnLCByb2xlOiAnaW5zdHJ1Y3RvcicgfSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgICAgY3VzdG9tS2V5czogW10sXG4gICAgICAgIHByb21wdDogZGVmYXVsdHMucHJvbXB0LFxuICAgICAgICBkaW1lbnNpb25zOiBkZWZhdWx0cy5kaW1lbnNpb25zLFxuICAgICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgICAgZmVlZGJhY2s6IHVuZGVmaW5lZCxcbiAgICAgICAgdGVhY2hlckluc3RydWN0aW9uczogZGVmYXVsdHMudGVhY2hlckluc3RydWN0aW9ucyxcbiAgICAgICAgbWF0aElucHV0OiBkZWZhdWx0cy5tYXRoSW5wdXQsXG4gICAgICAgIHNwZWxsQ2hlY2tFbmFibGVkOnRydWUsXG4gICAgICAgIHBsYXllcnNUb29sYmFyUG9zaXRpb246IFwiYm90dG9tXCIsXG4gICAgICAgIGVxdWF0aW9uRWRpdG9yOiAnbWlzY2VsbGFuZW91cydcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGl0KCd2aWV3IG1vZGUsIGluc3RydWN0b3Igcm9sZSwgdGVhY2hlckluc3RydWN0aW9ucyBkaXNhYmxlZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG1vZGVsKHEoeyB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogZmFsc2UgfSksIHNlc3Npb24sIHsgbW9kZTogJ3ZpZXcnLCByb2xlOiAnaW5zdHJ1Y3RvcicgfSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgICAgY3VzdG9tS2V5czogW10sXG4gICAgICAgIHByb21wdDogZGVmYXVsdHMucHJvbXB0LFxuICAgICAgICBkaW1lbnNpb25zOiBkZWZhdWx0cy5kaW1lbnNpb25zLFxuICAgICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgICAgZmVlZGJhY2s6IHVuZGVmaW5lZCxcbiAgICAgICAgdGVhY2hlckluc3RydWN0aW9uczogbnVsbCxcbiAgICAgICAgbWF0aElucHV0OiBkZWZhdWx0cy5tYXRoSW5wdXQsXG4gICAgICAgIHNwZWxsQ2hlY2tFbmFibGVkOnRydWUsXG4gICAgICAgIHBsYXllcnNUb29sYmFyUG9zaXRpb246IFwiYm90dG9tXCIsXG4gICAgICAgIGVxdWF0aW9uRWRpdG9yOiAnbWlzY2VsbGFuZW91cydcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGl0KCdldmFsdWF0ZSBtb2RlLCBzdHVkZW50IHJvbGUnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBtb2RlbChxdWVzdGlvbiwgc2Vzc2lvbiwgeyBtb2RlOiAnZXZhbHVhdGUnIH0pO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIGN1c3RvbUtleXM6IFtdLFxuICAgICAgICBwcm9tcHQ6IGRlZmF1bHRzLnByb21wdCxcbiAgICAgICAgZGltZW5zaW9uczogZGVmYXVsdHMuZGltZW5zaW9ucyxcbiAgICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgICAgIGZlZWRiYWNrOiAndGhpcyBpcyBkZWZhdWx0IGZlZWRiYWNrJyxcbiAgICAgICAgdGVhY2hlckluc3RydWN0aW9uczogbnVsbCxcbiAgICAgICAgbWF0aElucHV0OiBkZWZhdWx0cy5tYXRoSW5wdXQsXG4gICAgICAgIHNwZWxsQ2hlY2tFbmFibGVkOnRydWUsXG4gICAgICAgIHBsYXllcnNUb29sYmFyUG9zaXRpb246IFwiYm90dG9tXCIsXG4gICAgICAgIGVxdWF0aW9uRWRpdG9yOiAnbWlzY2VsbGFuZW91cycsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBpdCgnZXZhbHVhdGUgbW9kZSwgaW5zdHJ1Y3RvciByb2xlLCB0ZWFjaGVySW5zdHJ1Y3Rpb25zIGVuYWJsZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBtb2RlbChxdWVzdGlvbiwgc2Vzc2lvbiwgeyBtb2RlOiAnZXZhbHVhdGUnLCByb2xlOiAnaW5zdHJ1Y3RvcicgfSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgICAgY3VzdG9tS2V5czogW10sXG4gICAgICAgIHByb21wdDogZGVmYXVsdHMucHJvbXB0LFxuICAgICAgICBkaW1lbnNpb25zOiBkZWZhdWx0cy5kaW1lbnNpb25zLFxuICAgICAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICAgICAgZmVlZGJhY2s6ICd0aGlzIGlzIGRlZmF1bHQgZmVlZGJhY2snLFxuICAgICAgICBzcGVsbENoZWNrRW5hYmxlZDp0cnVlLFxuICAgICAgICB0ZWFjaGVySW5zdHJ1Y3Rpb25zOiBkZWZhdWx0cy50ZWFjaGVySW5zdHJ1Y3Rpb25zLFxuICAgICAgICBtYXRoSW5wdXQ6IGRlZmF1bHRzLm1hdGhJbnB1dCxcbiAgICAgICAgcGxheWVyc1Rvb2xiYXJQb3NpdGlvbjogXCJib3R0b21cIixcbiAgICAgICAgZXF1YXRpb25FZGl0b3I6ICdtaXNjZWxsYW5lb3VzJ1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgaXQoJ2V2YWx1YXRlIG1vZGUsIGluc3RydWN0b3Igcm9sZSwgdGVhY2hlckluc3RydWN0aW9ucyBkaXNhYmxlZCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG1vZGVsKHEoeyB0ZWFjaGVySW5zdHJ1Y3Rpb25zRW5hYmxlZDogZmFsc2UgfSksIHNlc3Npb24sIHsgbW9kZTogJ2V2YWx1YXRlJywgcm9sZTogJ2luc3RydWN0b3InIH0pO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIGN1c3RvbUtleXM6IFtdLFxuICAgICAgICBwcm9tcHQ6IGRlZmF1bHRzLnByb21wdCxcbiAgICAgICAgZGltZW5zaW9uczogZGVmYXVsdHMuZGltZW5zaW9ucyxcbiAgICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgICAgIGZlZWRiYWNrOiAndGhpcyBpcyBkZWZhdWx0IGZlZWRiYWNrJyxcbiAgICAgICAgc3BlbGxDaGVja0VuYWJsZWQ6dHJ1ZSxcbiAgICAgICAgdGVhY2hlckluc3RydWN0aW9uczogbnVsbCxcbiAgICAgICAgbWF0aElucHV0OiBkZWZhdWx0cy5tYXRoSW5wdXQsXG4gICAgICAgIHBsYXllcnNUb29sYmFyUG9zaXRpb246IFwiYm90dG9tXCIsXG4gICAgICAgIGVxdWF0aW9uRWRpdG9yOiAnbWlzY2VsbGFuZW91cydcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
6
|
-
|
|
7
|
-
var _index = require("../index");
|
|
8
|
-
|
|
9
|
-
describe('textContent', function () {
|
|
10
|
-
var assertContent = function assertContent() {
|
|
11
|
-
var args = Array.prototype.slice.call(arguments);
|
|
12
|
-
|
|
13
|
-
var _ref = args.length === 2 ? args : [args[0], args[0]],
|
|
14
|
-
_ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
15
|
-
input = _ref2[0],
|
|
16
|
-
expected = _ref2[1];
|
|
17
|
-
|
|
18
|
-
it("".concat(input, " => ").concat(expected), function () {
|
|
19
|
-
var result = (0, _index.textContent)(input);
|
|
20
|
-
expect(result).toEqual(expected);
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
assertContent(undefined);
|
|
25
|
-
assertContent([], undefined);
|
|
26
|
-
assertContent({}, undefined);
|
|
27
|
-
assertContent("", "");
|
|
28
|
-
assertContent("<div></div>", "");
|
|
29
|
-
assertContent("< div ->/div>", "< div ->/div>");
|
|
30
|
-
assertContent("<foo", "");
|
|
31
|
-
assertContent("<foo/ >", "");
|
|
32
|
-
assertContent("<foo />", "");
|
|
33
|
-
});
|
|
34
|
-
describe('Completeness Checker', function () {
|
|
35
|
-
var assertIsComplete = function assertIsComplete(input, expected) {
|
|
36
|
-
it("".concat(input, ": ").concat(expected), function () {
|
|
37
|
-
expect((0, _index.isComplete)(input)).toEqual(expected);
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
assertIsComplete("", false);
|
|
42
|
-
assertIsComplete("<div></div>", false);
|
|
43
|
-
assertIsComplete("<div><p></p><h1></h1></div>", false);
|
|
44
|
-
assertIsComplete("<div><p></p><h1</h1></div>", false);
|
|
45
|
-
assertIsComplete("<div>test</div>", true);
|
|
46
|
-
assertIsComplete("<div><p><a>test</a></p></div>", true);
|
|
47
|
-
assertIsComplete("foo", true);
|
|
48
|
-
});
|
|
49
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsImFzc2VydENvbnRlbnQiLCJhcmdzIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJzbGljZSIsImNhbGwiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJpbnB1dCIsImV4cGVjdGVkIiwiaXQiLCJyZXN1bHQiLCJleHBlY3QiLCJ0b0VxdWFsIiwidW5kZWZpbmVkIiwiYXNzZXJ0SXNDb21wbGV0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUE7O0FBRUFBLFFBQVEsQ0FBQyxhQUFELEVBQWdCLFlBQU07QUFFNUIsTUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixHQUFZO0FBQ2hDLFFBQU1DLElBQUksR0FBR0MsS0FBSyxDQUFDQyxTQUFOLENBQWdCQyxLQUFoQixDQUFzQkMsSUFBdEIsQ0FBMkJDLFNBQTNCLENBQWI7O0FBQ0EsZUFBMEJMLElBQUksQ0FBQ00sTUFBTCxLQUFnQixDQUFoQixHQUFvQk4sSUFBcEIsR0FBMkIsQ0FBQ0EsSUFBSSxDQUFDLENBQUQsQ0FBTCxFQUFVQSxJQUFJLENBQUMsQ0FBRCxDQUFkLENBQXJEO0FBQUE7QUFBQSxRQUFPTyxLQUFQO0FBQUEsUUFBY0MsUUFBZDs7QUFDQUMsSUFBQUEsRUFBRSxXQUFJRixLQUFKLGlCQUFnQkMsUUFBaEIsR0FBNEIsWUFBTTtBQUNsQyxVQUFNRSxNQUFNLEdBQUcsd0JBQVlILEtBQVosQ0FBZjtBQUNBSSxNQUFBQSxNQUFNLENBQUNELE1BQUQsQ0FBTixDQUFlRSxPQUFmLENBQXVCSixRQUF2QjtBQUNELEtBSEMsQ0FBRjtBQUlELEdBUEQ7O0FBUUFULEVBQUFBLGFBQWEsQ0FBQ2MsU0FBRCxDQUFiO0FBQ0FkLEVBQUFBLGFBQWEsQ0FBQyxFQUFELEVBQUtjLFNBQUwsQ0FBYjtBQUNBZCxFQUFBQSxhQUFhLENBQUMsRUFBRCxFQUFLYyxTQUFMLENBQWI7QUFDQWQsRUFBQUEsYUFBYSxDQUFDLEVBQUQsRUFBSyxFQUFMLENBQWI7QUFDQUEsRUFBQUEsYUFBYSxDQUFDLGFBQUQsRUFBZ0IsRUFBaEIsQ0FBYjtBQUNBQSxFQUFBQSxhQUFhLENBQUMsZUFBRCxFQUFrQixlQUFsQixDQUFiO0FBQ0FBLEVBQUFBLGFBQWEsQ0FBQyxNQUFELEVBQVMsRUFBVCxDQUFiO0FBQ0FBLEVBQUFBLGFBQWEsQ0FBQyxTQUFELEVBQVksRUFBWixDQUFiO0FBQ0FBLEVBQUFBLGFBQWEsQ0FBQyxTQUFELEVBQVksRUFBWixDQUFiO0FBQ0QsQ0FuQk8sQ0FBUjtBQXFCQUQsUUFBUSxDQUFDLHNCQUFELEVBQXlCLFlBQU07QUFFckMsTUFBTWdCLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBbUIsQ0FBQ1AsS0FBRCxFQUFRQyxRQUFSLEVBQXFCO0FBQzVDQyxJQUFBQSxFQUFFLFdBQUlGLEtBQUosZUFBY0MsUUFBZCxHQUEwQixZQUFNO0FBQ2xDRyxNQUFBQSxNQUFNLENBQUMsdUJBQVdKLEtBQVgsQ0FBRCxDQUFOLENBQTBCSyxPQUExQixDQUFrQ0osUUFBbEM7QUFDQyxLQUZDLENBQUY7QUFHRCxHQUpEOztBQUtBTSxFQUFBQSxnQkFBZ0IsQ0FBQyxFQUFELEVBQUssS0FBTCxDQUFoQjtBQUNBQSxFQUFBQSxnQkFBZ0IsQ0FBQyxhQUFELEVBQWdCLEtBQWhCLENBQWhCO0FBQ0FBLEVBQUFBLGdCQUFnQixDQUFDLDZCQUFELEVBQWdDLEtBQWhDLENBQWhCO0FBQ0FBLEVBQUFBLGdCQUFnQixDQUFDLDRCQUFELEVBQStCLEtBQS9CLENBQWhCO0FBQ0FBLEVBQUFBLGdCQUFnQixDQUFDLGlCQUFELEVBQW9CLElBQXBCLENBQWhCO0FBQ0FBLEVBQUFBLGdCQUFnQixDQUFDLCtCQUFELEVBQWtDLElBQWxDLENBQWhCO0FBQ0FBLEVBQUFBLGdCQUFnQixDQUFDLEtBQUQsRUFBUSxJQUFSLENBQWhCO0FBQ0QsQ0FkTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IGlzQ29tcGxldGUsIHRleHRDb250ZW50IH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5kZXNjcmliZSgndGV4dENvbnRlbnQnLCAoKSA9PiB7XG5cbiAgY29uc3QgYXNzZXJ0Q29udGVudCA9IGZ1bmN0aW9uKCkgIHtcbiAgICBjb25zdCBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcbiAgICBjb25zdCBbaW5wdXQsIGV4cGVjdGVkXSA9IGFyZ3MubGVuZ3RoID09PSAyID8gYXJncyA6IFthcmdzWzBdLCBhcmdzWzBdXTtcbiAgICBpdChgJHtpbnB1dH0gPT4gJHtleHBlY3RlZH1gICwoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0Q29udGVudChpbnB1dCk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkICApO1xuICAgIH0pXG4gIH1cbiAgYXNzZXJ0Q29udGVudCh1bmRlZmluZWQgKTtcbiAgYXNzZXJ0Q29udGVudChbXSwgdW5kZWZpbmVkKTtcbiAgYXNzZXJ0Q29udGVudCh7fSwgdW5kZWZpbmVkKTtcbiAgYXNzZXJ0Q29udGVudChcIlwiLCBcIlwiKTtcbiAgYXNzZXJ0Q29udGVudChcIjxkaXY+PC9kaXY+XCIsIFwiXCIpO1xuICBhc3NlcnRDb250ZW50KFwiPCBkaXYgLT4vZGl2PlwiLCBcIjwgZGl2IC0+L2Rpdj5cIik7XG4gIGFzc2VydENvbnRlbnQoXCI8Zm9vXCIsIFwiXCIpXG4gIGFzc2VydENvbnRlbnQoXCI8Zm9vLyA+XCIsIFwiXCIpXG4gIGFzc2VydENvbnRlbnQoXCI8Zm9vIC8+XCIsIFwiXCIpXG59KTtcblxuZGVzY3JpYmUoJ0NvbXBsZXRlbmVzcyBDaGVja2VyJywgKCkgPT4ge1xuXG4gIGNvbnN0IGFzc2VydElzQ29tcGxldGUgPSAoaW5wdXQsIGV4cGVjdGVkKSA9PiB7XG4gICAgaXQoYCR7aW5wdXR9OiAke2V4cGVjdGVkfWAsICgpID0+IHtcbiAgICBleHBlY3QoaXNDb21wbGV0ZShpbnB1dCkpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICAgIH0pXG4gIH1cbiAgYXNzZXJ0SXNDb21wbGV0ZShcIlwiLCBmYWxzZSk7XG4gIGFzc2VydElzQ29tcGxldGUoXCI8ZGl2PjwvZGl2PlwiLCBmYWxzZSk7XG4gIGFzc2VydElzQ29tcGxldGUoXCI8ZGl2PjxwPjwvcD48aDE+PC9oMT48L2Rpdj5cIiwgZmFsc2UpO1xuICBhc3NlcnRJc0NvbXBsZXRlKFwiPGRpdj48cD48L3A+PGgxPC9oMT48L2Rpdj5cIiwgZmFsc2UpO1xuICBhc3NlcnRJc0NvbXBsZXRlKFwiPGRpdj50ZXN0PC9kaXY+XCIsIHRydWUpO1xuICBhc3NlcnRJc0NvbXBsZXRlKFwiPGRpdj48cD48YT50ZXN0PC9hPjwvcD48L2Rpdj5cIiwgdHJ1ZSk7XG4gIGFzc2VydElzQ29tcGxldGUoXCJmb29cIiwgdHJ1ZSk7XG59KTsiXX0=
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
6
|
-
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
|
|
9
|
-
var _main = require("../main");
|
|
10
|
-
|
|
11
|
-
var _enzyme = require("enzyme");
|
|
12
|
-
|
|
13
|
-
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; }
|
|
14
|
-
|
|
15
|
-
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; }
|
|
16
|
-
|
|
17
|
-
describe('Render Main Component', function () {
|
|
18
|
-
var model = {
|
|
19
|
-
width: 100,
|
|
20
|
-
height: 50
|
|
21
|
-
};
|
|
22
|
-
it('should match snapshot', function () {
|
|
23
|
-
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_main.Main, {
|
|
24
|
-
model: model,
|
|
25
|
-
session: {
|
|
26
|
-
value: 'hi'
|
|
27
|
-
},
|
|
28
|
-
onChange: function onChange() {},
|
|
29
|
-
classes: {}
|
|
30
|
-
}));
|
|
31
|
-
expect(wrapper).toMatchSnapshot();
|
|
32
|
-
});
|
|
33
|
-
it('should match snapshot with teacher instructions', function () {
|
|
34
|
-
var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_main.Main, {
|
|
35
|
-
model: _objectSpread(_objectSpread({}, model), {}, {
|
|
36
|
-
teacherInstructions: 'Teacher Instructions'
|
|
37
|
-
}),
|
|
38
|
-
session: {
|
|
39
|
-
value: 'hi'
|
|
40
|
-
},
|
|
41
|
-
onChange: function onChange() {},
|
|
42
|
-
classes: {}
|
|
43
|
-
}));
|
|
44
|
-
expect(wrapper).toMatchSnapshot();
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWFpbi50ZXN0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwibW9kZWwiLCJ3aWR0aCIsImhlaWdodCIsIml0Iiwid3JhcHBlciIsInZhbHVlIiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwidGVhY2hlckluc3RydWN0aW9ucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBQSxRQUFRLENBQUMsdUJBQUQsRUFBMEIsWUFBTTtBQUN0QyxNQUFJQyxLQUFLLEdBQUc7QUFBRUMsSUFBQUEsS0FBSyxFQUFFLEdBQVQ7QUFBY0MsSUFBQUEsTUFBTSxFQUFFO0FBQXRCLEdBQVo7QUFFQUMsRUFBQUEsRUFBRSxDQUFDLHVCQUFELEVBQTBCLFlBQU07QUFDaEMsUUFBSUMsT0FBTyxHQUFHLG1DQUNaLGdDQUFDLFVBQUQ7QUFDRSxNQUFBLEtBQUssRUFBRUosS0FEVDtBQUVFLE1BQUEsT0FBTyxFQUFFO0FBQUVLLFFBQUFBLEtBQUssRUFBRTtBQUFULE9BRlg7QUFHRSxNQUFBLFFBQVEsRUFBRSxvQkFBTSxDQUNmLENBSkg7QUFLRSxNQUFBLE9BQU8sRUFBRTtBQUxYLE1BRFksQ0FBZDtBQVNBQyxJQUFBQSxNQUFNLENBQUNGLE9BQUQsQ0FBTixDQUFnQkcsZUFBaEI7QUFDRCxHQVhDLENBQUY7QUFhQUosRUFBQUEsRUFBRSxDQUFDLGlEQUFELEVBQW9ELFlBQU07QUFDMUQsUUFBSUMsT0FBTyxHQUFHLG1DQUNaLGdDQUFDLFVBQUQ7QUFDRSxNQUFBLEtBQUssa0NBQU9KLEtBQVA7QUFBY1EsUUFBQUEsbUJBQW1CLEVBQUU7QUFBbkMsUUFEUDtBQUVFLE1BQUEsT0FBTyxFQUFFO0FBQUVILFFBQUFBLEtBQUssRUFBRTtBQUFULE9BRlg7QUFHRSxNQUFBLFFBQVEsRUFBRSxvQkFBTSxDQUNmLENBSkg7QUFLRSxNQUFBLE9BQU8sRUFBRTtBQUxYLE1BRFksQ0FBZDtBQVNBQyxJQUFBQSxNQUFNLENBQUNGLE9BQUQsQ0FBTixDQUFnQkcsZUFBaEI7QUFDRCxHQVhDLENBQUY7QUFhRCxDQTdCTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1haW4gfSBmcm9tICcuLi9tYWluJztcbmltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuXG5kZXNjcmliZSgnUmVuZGVyIE1haW4gQ29tcG9uZW50JywgKCkgPT4ge1xuICBsZXQgbW9kZWwgPSB7IHdpZHRoOiAxMDAsIGhlaWdodDogNTAgfTtcblxuICBpdCgnc2hvdWxkIG1hdGNoIHNuYXBzaG90JywgKCkgPT4ge1xuICAgIGxldCB3cmFwcGVyID0gc2hhbGxvdyhcbiAgICAgIDxNYWluXG4gICAgICAgIG1vZGVsPXttb2RlbH1cbiAgICAgICAgc2Vzc2lvbj17eyB2YWx1ZTogJ2hpJyB9fVxuICAgICAgICBvbkNoYW5nZT17KCkgPT4ge1xuICAgICAgICB9fVxuICAgICAgICBjbGFzc2VzPXt7fX1cbiAgICAgIC8+XG4gICAgKTtcbiAgICBleHBlY3Qod3JhcHBlcikudG9NYXRjaFNuYXBzaG90KCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgbWF0Y2ggc25hcHNob3Qgd2l0aCB0ZWFjaGVyIGluc3RydWN0aW9ucycsICgpID0+IHtcbiAgICBsZXQgd3JhcHBlciA9IHNoYWxsb3coXG4gICAgICA8TWFpblxuICAgICAgICBtb2RlbD17eyAuLi5tb2RlbCwgdGVhY2hlckluc3RydWN0aW9uczogJ1RlYWNoZXIgSW5zdHJ1Y3Rpb25zJyB9fVxuICAgICAgICBzZXNzaW9uPXt7IHZhbHVlOiAnaGknIH19XG4gICAgICAgIG9uQ2hhbmdlPXsoKSA9PiB7XG4gICAgICAgIH19XG4gICAgICAgIGNsYXNzZXM9e3t9fVxuICAgICAgLz5cbiAgICApO1xuICAgIGV4cGVjdCh3cmFwcGVyKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG5cbn0pO1xuIl19
|