@pie-element/select-text 6.5.23 → 6.5.26
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/CHANGELOG.md +24 -0
- package/configure/CHANGELOG.md +24 -0
- package/configure/lib/defaultConfiguration.js +5 -0
- package/configure/lib/defaultConfiguration.js.map +1 -1
- package/configure/lib/design.js +14 -6
- package/configure/lib/design.js.map +1 -1
- package/configure/lib/index.js +2 -2
- package/configure/lib/utils.js +2 -2
- package/configure/package.json +5 -5
- package/controller/CHANGELOG.md +8 -0
- package/controller/lib/index.js +6 -4
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +2 -2
- package/docs/config-schema.json +16 -0
- package/docs/config-schema.json.md +12 -0
- package/docs/demo/generate.js +61 -61
- package/docs/pie-schema.json +6 -0
- package/docs/pie-schema.json.md +4 -0
- package/lib/index.js +2 -2
- package/lib/main.js +2 -2
- package/lib/print.js +2 -1
- package/lib/print.js.map +1 -1
- package/lib/utils.js +2 -2
- package/module/configure.js +32 -22
- package/module/demo.js +34 -34
- package/module/element.js +2 -2
- package/module/index.html +1 -1
- package/module/manifest.json +3 -3
- package/module/print-demo.js +34 -34
- package/module/print.html +1 -1
- package/module/print.js +4 -3
- package/package.json +6 -6
package/docs/demo/generate.js
CHANGED
|
@@ -207,98 +207,98 @@ exports.htmlAscii = (id, element) => ({
|
|
|
207
207
|
);
|
|
208
208
|
|
|
209
209
|
const simpleItem = {
|
|
210
|
-
|
|
211
|
-
|
|
210
|
+
'text': 'A. Almost never\n\nB. Once in a while\n\nC. Sometimes\n\nD. Often\n\nE. Almost all the time',
|
|
211
|
+
'tokens': [
|
|
212
212
|
{
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
213
|
+
'text': 'A. Almost never',
|
|
214
|
+
'end': 15,
|
|
215
|
+
'start': 0,
|
|
216
|
+
'correct': true
|
|
217
217
|
},
|
|
218
218
|
{
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
219
|
+
'start': 17,
|
|
220
|
+
'end': 35,
|
|
221
|
+
'correct': false,
|
|
222
|
+
'text': 'B. Once in a while'
|
|
223
223
|
},
|
|
224
224
|
{
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
225
|
+
'correct': false,
|
|
226
|
+
'end': 49,
|
|
227
|
+
'start': 37,
|
|
228
|
+
'text': 'C. Sometimes'
|
|
229
229
|
},
|
|
230
230
|
{
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
231
|
+
'text': 'D. Often',
|
|
232
|
+
'correct': false,
|
|
233
|
+
'end': 59,
|
|
234
|
+
'start': 51
|
|
235
235
|
},
|
|
236
236
|
{
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
237
|
+
'start': 61,
|
|
238
|
+
'correct': false,
|
|
239
|
+
'end': 83,
|
|
240
|
+
'text': 'E. Almost all the time'
|
|
241
241
|
}
|
|
242
242
|
],
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
243
|
+
'rationale': '<p>answers vary</p>',
|
|
244
|
+
'partialScoring': true,
|
|
245
|
+
'teacherInstructions': '',
|
|
246
|
+
'prompt': '<p>I got my work done right away instead of waiting until the last minute.</p>',
|
|
247
|
+
'maxSelections': 1,
|
|
248
248
|
};
|
|
249
249
|
|
|
250
250
|
exports.model = (id, element) => {
|
|
251
251
|
return Object.assign({}, { id, element }, base( {
|
|
252
252
|
// "id": "8a808081701d693801703174fb900421",
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
253
|
+
'teacherInstructions': '',
|
|
254
|
+
'partialScoring': true,
|
|
255
|
+
'prompt': '<p>Select the sentence from "The Gymnast" that <span class="relative-emphasis">best</span> represents the theme.</p>',
|
|
256
|
+
'rationale': '<p>The final sentence of the passage best exemplifies the theme of the short story because Natasha's practice and determination finally pays off.</p>',
|
|
257
|
+
'tokens': [
|
|
258
258
|
{
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
259
|
+
'text': 'She thought about what she had to do, struggling to rein in her wild, fearful thoughts.',
|
|
260
|
+
'end': 90,
|
|
261
|
+
'start': 3,
|
|
262
|
+
'correct': false
|
|
263
263
|
},
|
|
264
264
|
{
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
265
|
+
'start': 449,
|
|
266
|
+
'end': 585,
|
|
267
|
+
'text': 'Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.',
|
|
268
|
+
'correct': false
|
|
269
269
|
},
|
|
270
270
|
{
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
271
|
+
'end': 627,
|
|
272
|
+
'correct': false,
|
|
273
|
+
'text': 'At last Natasha\'s moment arrived.',
|
|
274
|
+
'start': 594
|
|
275
275
|
},
|
|
276
276
|
{
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
277
|
+
'end': 743,
|
|
278
|
+
'text': 'The faces of past giants of gymnastics swam before her mind\'s eye, now razor–sharp with fierce determination.',
|
|
279
|
+
'correct': false,
|
|
280
|
+
'start': 628
|
|
281
281
|
},
|
|
282
282
|
{
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
283
|
+
'text': 'Suddenly, the din of the gymnasium was silent to her.',
|
|
284
|
+
'end': 997,
|
|
285
|
+
'correct': false,
|
|
286
|
+
'start': 944
|
|
287
287
|
},
|
|
288
288
|
{
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
289
|
+
'end': 1087,
|
|
290
|
+
'start': 998,
|
|
291
|
+
'correct': false,
|
|
292
|
+
'text': 'Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her.'
|
|
293
293
|
},
|
|
294
294
|
{
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
295
|
+
'correct': true,
|
|
296
|
+
'start': 1088,
|
|
297
|
+
'end': 1225,
|
|
298
|
+
'text': 'Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.'
|
|
299
299
|
}
|
|
300
300
|
],
|
|
301
301
|
// "element": "select-text",
|
|
302
|
-
|
|
302
|
+
'text': '<p>She thought about what she had to do, struggling to rein in her wild, fearful thoughts. Coach Cummings always said that an undisciplined mind never scored a perfect 10. Natasha wanted to please her Coach, yet sometimes his approval wasn\'t as exciting as his anger. The gymnasts were unanimous about one thing: Coach Cummings\'s fits of disapproving rage were much more humorous to witness than his infrequent, backslapping moments of high praise. Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.</p>\n\n<p>At last Natasha\'s moment arrived. The faces of past giants of gymnastics swam before her mind\'s eye, now razor–sharp with fierce determination. "I am talented. I am not afraid. I will make a perfect 10," she spoke aloud to herself, as she approached the mat, dusted her hands with chalk to prevent slippage, and returned to her starting point. Suddenly, the din of the gymnasium was silent to her. Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her. Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.</p>\n'
|
|
303
303
|
} ));
|
|
304
304
|
};
|
package/docs/pie-schema.json
CHANGED
|
@@ -289,6 +289,11 @@
|
|
|
289
289
|
"type": "boolean",
|
|
290
290
|
"title": "teacherInstructionsEnabled"
|
|
291
291
|
},
|
|
292
|
+
"spellCheckEnabled": {
|
|
293
|
+
"description": "Indicates if spellcheck is enabled",
|
|
294
|
+
"type": "boolean",
|
|
295
|
+
"title": "spellCheckEnabled"
|
|
296
|
+
},
|
|
292
297
|
"toolbarEditorPosition": {
|
|
293
298
|
"description": "Indicates the editor's toolbar position which can be 'bottom' or 'top'",
|
|
294
299
|
"default": ": 'bottom'",
|
|
@@ -316,6 +321,7 @@
|
|
|
316
321
|
"id",
|
|
317
322
|
"prompt",
|
|
318
323
|
"rationaleEnabled",
|
|
324
|
+
"spellCheckEnabled",
|
|
319
325
|
"studentInstructionsEnabled",
|
|
320
326
|
"teacherInstructionsEnabled",
|
|
321
327
|
"text",
|
package/docs/pie-schema.json.md
CHANGED
|
@@ -117,6 +117,10 @@ Indicates if Student Instructions are enabled
|
|
|
117
117
|
|
|
118
118
|
Indicates if Teacher Instructions are enabled
|
|
119
119
|
|
|
120
|
+
# `spellCheckEnabled` (boolean, required)
|
|
121
|
+
|
|
122
|
+
Indicates if spellcheck is enabled
|
|
123
|
+
|
|
120
124
|
# `toolbarEditorPosition` (string, enum)
|
|
121
125
|
|
|
122
126
|
Indicates the editor's toolbar position which can be 'bottom' or 'top'
|
package/lib/index.js
CHANGED
|
@@ -33,9 +33,9 @@ var _mathRendering = require("@pie-lib/math-rendering");
|
|
|
33
33
|
|
|
34
34
|
var _utils = _interopRequireDefault(require("./utils"));
|
|
35
35
|
|
|
36
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
36
|
+
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; }
|
|
37
37
|
|
|
38
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
38
|
+
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; }
|
|
39
39
|
|
|
40
40
|
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); }; }
|
|
41
41
|
|
package/lib/main.js
CHANGED
|
@@ -37,9 +37,9 @@ var _utils = _interopRequireDefault(require("./utils"));
|
|
|
37
37
|
|
|
38
38
|
var _debug = _interopRequireDefault(require("debug"));
|
|
39
39
|
|
|
40
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
40
|
+
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; }
|
|
41
41
|
|
|
42
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
42
|
+
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; }
|
|
43
43
|
|
|
44
44
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
45
45
|
|
package/lib/print.js
CHANGED
|
@@ -83,7 +83,8 @@ var SelectTextPrint = /*#__PURE__*/function (_HTMLElement) {
|
|
|
83
83
|
model: printModel,
|
|
84
84
|
session: {
|
|
85
85
|
selectedTokens: []
|
|
86
|
-
}
|
|
86
|
+
},
|
|
87
|
+
onSelectionChange: function onSelectionChange() {}
|
|
87
88
|
});
|
|
88
89
|
|
|
89
90
|
_reactDom["default"].render(element, (0, _assertThisInitialized2["default"])(_this), function () {
|
package/lib/print.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/print.js"],"names":["log","preparePrintModel","model","opts","instr","role","prompt","promptEnabled","undefined","teacherInstructions","teacherInstructionsEnabled","rationale","rationaleEnabled","showTeacherInstructions","alwaysShowCorrect","mode","disabled","animationsDisabled","highlightChoices","feedback","SelectTextPrint","_options","_model","_session","selectedTokens","_rerender","printModel","element","React","createElement","Main","session","ReactDOM","render","leading","trailing","o","s","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,+BAAN,CAAZ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACzC,MAAMC,KAAK,GAAGD,IAAI,CAACE,IAAL,KAAc,YAA5B;AAEAH,EAAAA,KAAK,CAACI,MAAN,GAAeJ,KAAK,CAACK,aAAN,KAAwB,KAAxB,GAAgCL,KAAK,CAACI,MAAtC,GAA+CE,SAA9D;AACAN,EAAAA,KAAK,CAACO,mBAAN,GAA4BL,KAAK,IAAIF,KAAK,CAACQ,0BAAN,KAAqC,KAA9C,GAAsDR,KAAK,CAACO,mBAA5D,GAAkFD,SAA9G;AACAN,EAAAA,KAAK,CAACS,SAAN,GAAkBP,KAAK,IAAIF,KAAK,CAACU,gBAAN,KAA2B,KAApC,GAA4CV,KAAK,CAACS,SAAlD,GAA8DH,SAAhF;AACAN,EAAAA,KAAK,CAACW,uBAAN,GAAgCT,KAAhC;AACAF,EAAAA,KAAK,CAACY,iBAAN,GAA0BV,KAA1B;AACAF,EAAAA,KAAK,CAACa,IAAN,GAAaX,KAAK,GAAG,UAAH,GAAgBF,KAAK,CAACa,IAAxC;AAEAb,EAAAA,KAAK,CAACc,QAAN,GAAiB,IAAjB;AACAd,EAAAA,KAAK,CAACe,kBAAN,GAA2B,IAA3B;AACAf,EAAAA,KAAK,CAACgB,gBAAN,GAAyB,IAAzB;AACAhB,EAAAA,KAAK,CAACiB,QAAN,GAAiBX,SAAjB;AAEA,SAAON,KAAP;AACD,CAhBD;;IAkBqBkB,e;;;;;AACnB,6BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,EAAhB;AACA,UAAKA,QAAL,CAAcC,cAAd,GAA+B,EAA/B;AACA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKH,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAMG,UAAU,GAAGzB,iBAAiB,CAAC,MAAKqB,MAAN,EAAc,MAAKD,QAAnB,CAApC;;AAEA,YAAMM,OAAO,GACX,MAAKN,QAAL,iBACAO,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACxB5B,UAAAA,KAAK,EAAEwB,UADiB;AAExBK,UAAAA,OAAO,EAAE;AAAEP,YAAAA,cAAc,EAAE;AAAlB;
|
|
1
|
+
{"version":3,"sources":["../src/print.js"],"names":["log","preparePrintModel","model","opts","instr","role","prompt","promptEnabled","undefined","teacherInstructions","teacherInstructionsEnabled","rationale","rationaleEnabled","showTeacherInstructions","alwaysShowCorrect","mode","disabled","animationsDisabled","highlightChoices","feedback","SelectTextPrint","_options","_model","_session","selectedTokens","_rerender","printModel","element","React","createElement","Main","session","onSelectionChange","ReactDOM","render","leading","trailing","o","s","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,+BAAN,CAAZ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACzC,MAAMC,KAAK,GAAGD,IAAI,CAACE,IAAL,KAAc,YAA5B;AAEAH,EAAAA,KAAK,CAACI,MAAN,GAAeJ,KAAK,CAACK,aAAN,KAAwB,KAAxB,GAAgCL,KAAK,CAACI,MAAtC,GAA+CE,SAA9D;AACAN,EAAAA,KAAK,CAACO,mBAAN,GAA4BL,KAAK,IAAIF,KAAK,CAACQ,0BAAN,KAAqC,KAA9C,GAAsDR,KAAK,CAACO,mBAA5D,GAAkFD,SAA9G;AACAN,EAAAA,KAAK,CAACS,SAAN,GAAkBP,KAAK,IAAIF,KAAK,CAACU,gBAAN,KAA2B,KAApC,GAA4CV,KAAK,CAACS,SAAlD,GAA8DH,SAAhF;AACAN,EAAAA,KAAK,CAACW,uBAAN,GAAgCT,KAAhC;AACAF,EAAAA,KAAK,CAACY,iBAAN,GAA0BV,KAA1B;AACAF,EAAAA,KAAK,CAACa,IAAN,GAAaX,KAAK,GAAG,UAAH,GAAgBF,KAAK,CAACa,IAAxC;AAEAb,EAAAA,KAAK,CAACc,QAAN,GAAiB,IAAjB;AACAd,EAAAA,KAAK,CAACe,kBAAN,GAA2B,IAA3B;AACAf,EAAAA,KAAK,CAACgB,gBAAN,GAAyB,IAAzB;AACAhB,EAAAA,KAAK,CAACiB,QAAN,GAAiBX,SAAjB;AAEA,SAAON,KAAP;AACD,CAhBD;;IAkBqBkB,e;;;;;AACnB,6BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,EAAhB;AACA,UAAKA,QAAL,CAAcC,cAAd,GAA+B,EAA/B;AACA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKH,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAMG,UAAU,GAAGzB,iBAAiB,CAAC,MAAKqB,MAAN,EAAc,MAAKD,QAAnB,CAApC;;AAEA,YAAMM,OAAO,GACX,MAAKN,QAAL,iBACAO,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACxB5B,UAAAA,KAAK,EAAEwB,UADiB;AAExBK,UAAAA,OAAO,EAAE;AAAEP,YAAAA,cAAc,EAAE;AAAlB,WAFe;AAGxBQ,UAAAA,iBAAiB,EAAE,6BAAM,CAAE;AAHH,SAA1B,CAFF;;AAQAC,6BAASC,MAAT,CAAgBP,OAAhB,kDAA+B,YAAM;AACnC3B,UAAAA,GAAG,CAAC,+BAAD,CAAH;AACA;AACD,SAHD;AAID,OAfD,MAeO;AACLA,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KApBc,EAqBf,EArBe,EAsBf;AAAEmC,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KAtBe,CAAjB;AANY;AA8Bb;;;;SACD,aAAYC,CAAZ,EAAe;AACb,WAAKhB,QAAL,GAAgBgB,CAAhB;AACD;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKhB,MAAL,GAAcgB,CAAd;;AACA,WAAKb,SAAL;AACD;;;WAED,6BAAoB,CAAE;;;kDAzCqBc,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\n\nconst log = debug('pie-element:select-text:print');\n\n/**\n * Live in same package as main element - so we can access some of the shared comps!\n *\n * - update pslb to build print if src/print.js is there\n * - update demo el\n * - get configure/controller building\n */\n\nconst preparePrintModel = (model, opts) => {\n const instr = opts.role === 'instructor';\n\n model.prompt = model.promptEnabled !== false ? model.prompt : undefined;\n model.teacherInstructions = instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;\n model.rationale = instr && model.rationaleEnabled !== false ? model.rationale : undefined;\n model.showTeacherInstructions = instr;\n model.alwaysShowCorrect = instr;\n model.mode = instr ? 'evaluate' : model.mode;\n\n model.disabled = true;\n model.animationsDisabled = true;\n model.highlightChoices = true;\n model.feedback = undefined;\n\n return model;\n};\n\nexport default class SelectTextPrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = {};\n this._session.selectedTokens = [];\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n const printModel = preparePrintModel(this._model, this._options);\n\n const element =\n this._options &&\n React.createElement(Main, {\n model: printModel,\n session: { selectedTokens: [] },\n onSelectionChange: () => {}\n });\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true }\n );\n }\n set options(o) {\n this._options = o;\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}
|
package/lib/utils.js
CHANGED
|
@@ -13,9 +13,9 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
|
|
|
13
13
|
|
|
14
14
|
var _react = _interopRequireDefault(require("react"));
|
|
15
15
|
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
16
|
+
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; }
|
|
17
17
|
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
18
|
+
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; }
|
|
19
19
|
|
|
20
20
|
var createElementFromHTML = function createElementFromHTML() {
|
|
21
21
|
var htmlString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
package/module/configure.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.4.
|
|
2
|
-
import {_dll_pie_lib__config_ui} from "../../../@pie-lib/config-module@^1.0.
|
|
3
|
-
import {_dll_pie_lib__editable_html} from "../../../@pie-lib/editable-html-module@^1.2.
|
|
1
|
+
import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.4.9/module/index.js";
|
|
2
|
+
import {_dll_pie_lib__config_ui} from "../../../@pie-lib/config-module@^1.0.32/module/index.js";
|
|
3
|
+
import {_dll_pie_lib__editable_html} from "../../../@pie-lib/editable-html-module@^1.2.8/module/index.js";
|
|
4
4
|
const React$7 = _dll_react;
|
|
5
5
|
const PropTypes$6 = _dll_prop_types;
|
|
6
6
|
const {Button: Button} = _dll_material_ui__core;
|
|
@@ -2231,8 +2231,8 @@ class Design extends React$1.Component {
|
|
|
2231
2231
|
render() {
|
|
2232
2232
|
const {text: textValue} = this.state;
|
|
2233
2233
|
const {model, classes, imageSupport, onModelChanged, configuration, onConfigurationChanged} = this.props;
|
|
2234
|
-
const {prompt = {}, text = {}, tokens = {}, mode = {}, feedback = {}, partialScoring = {}, selections = {}, selectionCount = {}, correctAnswer = {}, teacherInstructions = {}, studentInstructions = {}, rationale = {}, scoringType = {}, highlightChoices = {}} = configuration || ({});
|
|
2235
|
-
const {teacherInstructionsEnabled, promptEnabled, rationaleEnabled, feedbackEnabled} = model || ({});
|
|
2234
|
+
const {prompt = {}, text = {}, tokens = {}, mode = {}, feedback = {}, partialScoring = {}, selections = {}, selectionCount = {}, correctAnswer = {}, teacherInstructions = {}, studentInstructions = {}, rationale = {}, scoringType = {}, spellCheck = {}, highlightChoices = {}} = configuration || ({});
|
|
2235
|
+
const {teacherInstructionsEnabled, promptEnabled, rationaleEnabled, spellCheckEnabled, feedbackEnabled} = model || ({});
|
|
2236
2236
|
const toolbarOpts = {};
|
|
2237
2237
|
switch (model.toolbarEditorPosition) {
|
|
2238
2238
|
case 'top':
|
|
@@ -2262,26 +2262,27 @@ class Design extends React$1.Component {
|
|
|
2262
2262
|
studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
|
|
2263
2263
|
promptEnabled: prompt.settings && toggle(prompt.label),
|
|
2264
2264
|
rationaleEnabled: rationale.settings && toggle(rationale.label),
|
|
2265
|
+
spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
|
|
2265
2266
|
scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
|
|
2266
2267
|
}
|
|
2267
2268
|
},
|
|
2268
2269
|
__self: this,
|
|
2269
2270
|
__source: {
|
|
2270
2271
|
fileName: _jsxFileName,
|
|
2271
|
-
lineNumber:
|
|
2272
|
+
lineNumber: 182
|
|
2272
2273
|
}
|
|
2273
2274
|
}),
|
|
2274
2275
|
__self: this,
|
|
2275
2276
|
__source: {
|
|
2276
2277
|
fileName: _jsxFileName,
|
|
2277
|
-
lineNumber:
|
|
2278
|
+
lineNumber: 180
|
|
2278
2279
|
}
|
|
2279
2280
|
}, React$1.createElement('div', {
|
|
2280
2281
|
className: classes.container,
|
|
2281
2282
|
__self: this,
|
|
2282
2283
|
__source: {
|
|
2283
2284
|
fileName: _jsxFileName,
|
|
2284
|
-
lineNumber:
|
|
2285
|
+
lineNumber: 215
|
|
2285
2286
|
}
|
|
2286
2287
|
}, teacherInstructionsEnabled && React$1.createElement(InputContainer, {
|
|
2287
2288
|
label: teacherInstructions.label,
|
|
@@ -2289,7 +2290,7 @@ class Design extends React$1.Component {
|
|
|
2289
2290
|
__self: this,
|
|
2290
2291
|
__source: {
|
|
2291
2292
|
fileName: _jsxFileName,
|
|
2292
|
-
lineNumber:
|
|
2293
|
+
lineNumber: 217
|
|
2293
2294
|
}
|
|
2294
2295
|
}, React$1.createElement(EditableHtml, {
|
|
2295
2296
|
className: classes.prompt,
|
|
@@ -2298,10 +2299,11 @@ class Design extends React$1.Component {
|
|
|
2298
2299
|
imageSupport: imageSupport,
|
|
2299
2300
|
nonEmpty: false,
|
|
2300
2301
|
toolbarOpts: toolbarOpts,
|
|
2302
|
+
spellCheck: spellCheckEnabled,
|
|
2301
2303
|
__self: this,
|
|
2302
2304
|
__source: {
|
|
2303
2305
|
fileName: _jsxFileName,
|
|
2304
|
-
lineNumber:
|
|
2306
|
+
lineNumber: 221
|
|
2305
2307
|
}
|
|
2306
2308
|
})), promptEnabled && React$1.createElement(InputContainer, {
|
|
2307
2309
|
label: prompt.label || '',
|
|
@@ -2309,7 +2311,7 @@ class Design extends React$1.Component {
|
|
|
2309
2311
|
__self: this,
|
|
2310
2312
|
__source: {
|
|
2311
2313
|
fileName: _jsxFileName,
|
|
2312
|
-
lineNumber:
|
|
2314
|
+
lineNumber: 234
|
|
2313
2315
|
}
|
|
2314
2316
|
}, React$1.createElement(EditableHtml, {
|
|
2315
2317
|
className: classes.prompt,
|
|
@@ -2317,10 +2319,11 @@ class Design extends React$1.Component {
|
|
|
2317
2319
|
onChange: this.onPromptChanged,
|
|
2318
2320
|
imageSupport: imageSupport,
|
|
2319
2321
|
toolbarOpts: toolbarOpts,
|
|
2322
|
+
spellCheck: spellCheckEnabled,
|
|
2320
2323
|
__self: this,
|
|
2321
2324
|
__source: {
|
|
2322
2325
|
fileName: _jsxFileName,
|
|
2323
|
-
lineNumber:
|
|
2326
|
+
lineNumber: 238
|
|
2324
2327
|
}
|
|
2325
2328
|
})), rationaleEnabled && React$1.createElement(InputContainer, {
|
|
2326
2329
|
label: rationale.label || '',
|
|
@@ -2328,7 +2331,7 @@ class Design extends React$1.Component {
|
|
|
2328
2331
|
__self: this,
|
|
2329
2332
|
__source: {
|
|
2330
2333
|
fileName: _jsxFileName,
|
|
2331
|
-
lineNumber:
|
|
2334
|
+
lineNumber: 250
|
|
2332
2335
|
}
|
|
2333
2336
|
}, React$1.createElement(EditableHtml, {
|
|
2334
2337
|
className: classes.prompt,
|
|
@@ -2336,10 +2339,11 @@ class Design extends React$1.Component {
|
|
|
2336
2339
|
onChange: this.onRationaleChanged,
|
|
2337
2340
|
imageSupport: imageSupport,
|
|
2338
2341
|
toolbarOpts: toolbarOpts,
|
|
2342
|
+
spellCheck: spellCheckEnabled,
|
|
2339
2343
|
__self: this,
|
|
2340
2344
|
__source: {
|
|
2341
2345
|
fileName: _jsxFileName,
|
|
2342
|
-
lineNumber:
|
|
2346
|
+
lineNumber: 254
|
|
2343
2347
|
}
|
|
2344
2348
|
})), text.settings && React$1.createElement(TextField, {
|
|
2345
2349
|
label: text.label,
|
|
@@ -2347,10 +2351,11 @@ class Design extends React$1.Component {
|
|
|
2347
2351
|
multiline: true,
|
|
2348
2352
|
value: textValue,
|
|
2349
2353
|
onChange: this.changeText,
|
|
2354
|
+
spellCheck: spellCheckEnabled,
|
|
2350
2355
|
__self: this,
|
|
2351
2356
|
__source: {
|
|
2352
2357
|
fileName: _jsxFileName,
|
|
2353
|
-
lineNumber:
|
|
2358
|
+
lineNumber: 266
|
|
2354
2359
|
}
|
|
2355
2360
|
}), tokens.settings && React$1.createElement(InputContainer, {
|
|
2356
2361
|
label: tokens.label || '',
|
|
@@ -2358,7 +2363,7 @@ class Design extends React$1.Component {
|
|
|
2358
2363
|
__self: this,
|
|
2359
2364
|
__source: {
|
|
2360
2365
|
fileName: _jsxFileName,
|
|
2361
|
-
lineNumber:
|
|
2366
|
+
lineNumber: 277
|
|
2362
2367
|
}
|
|
2363
2368
|
}, React$1.createElement(Tokenizer$1, {
|
|
2364
2369
|
className: classes.tokenizer,
|
|
@@ -2368,7 +2373,7 @@ class Design extends React$1.Component {
|
|
|
2368
2373
|
__self: this,
|
|
2369
2374
|
__source: {
|
|
2370
2375
|
fileName: _jsxFileName,
|
|
2371
|
-
lineNumber:
|
|
2376
|
+
lineNumber: 281
|
|
2372
2377
|
}
|
|
2373
2378
|
})), mode.settings && React$1.createElement(Chip, {
|
|
2374
2379
|
label: `${mode.label}: ${model.mode ? model.mode : 'None'}`,
|
|
@@ -2376,7 +2381,7 @@ class Design extends React$1.Component {
|
|
|
2376
2381
|
__self: this,
|
|
2377
2382
|
__source: {
|
|
2378
2383
|
fileName: _jsxFileName,
|
|
2379
|
-
lineNumber:
|
|
2384
|
+
lineNumber: 291
|
|
2380
2385
|
}
|
|
2381
2386
|
}), selections.settings && React$1.createElement(Chip, {
|
|
2382
2387
|
label: `${selections.label}: ${tokensModel.length}`,
|
|
@@ -2384,7 +2389,7 @@ class Design extends React$1.Component {
|
|
|
2384
2389
|
__self: this,
|
|
2385
2390
|
__source: {
|
|
2386
2391
|
fileName: _jsxFileName,
|
|
2387
|
-
lineNumber:
|
|
2392
|
+
lineNumber: 298
|
|
2388
2393
|
}
|
|
2389
2394
|
}), correctAnswer.settings && React$1.createElement(Chip, {
|
|
2390
2395
|
label: `${correctAnswer.label}: ${tokensModel.filter(t => t.correct).length}`,
|
|
@@ -2392,7 +2397,7 @@ class Design extends React$1.Component {
|
|
|
2392
2397
|
__self: this,
|
|
2393
2398
|
__source: {
|
|
2394
2399
|
fileName: _jsxFileName,
|
|
2395
|
-
lineNumber:
|
|
2400
|
+
lineNumber: 305
|
|
2396
2401
|
}
|
|
2397
2402
|
}), selectionCount.settings && React$1.createElement(NumberTextField, {
|
|
2398
2403
|
min: tokensModel.filter(t => t.correct).length || 0,
|
|
@@ -2404,7 +2409,7 @@ class Design extends React$1.Component {
|
|
|
2404
2409
|
__self: this,
|
|
2405
2410
|
__source: {
|
|
2406
2411
|
fileName: _jsxFileName,
|
|
2407
|
-
lineNumber:
|
|
2412
|
+
lineNumber: 314
|
|
2408
2413
|
}
|
|
2409
2414
|
}), feedbackEnabled && React$1.createElement(FeedbackConfig, {
|
|
2410
2415
|
feedback: model.feedback,
|
|
@@ -2413,7 +2418,7 @@ class Design extends React$1.Component {
|
|
|
2413
2418
|
__self: this,
|
|
2414
2419
|
__source: {
|
|
2415
2420
|
fileName: _jsxFileName,
|
|
2416
|
-
lineNumber:
|
|
2421
|
+
lineNumber: 325
|
|
2417
2422
|
}
|
|
2418
2423
|
})));
|
|
2419
2424
|
}
|
|
@@ -2583,6 +2588,11 @@ var defaultValues = {
|
|
|
2583
2588
|
settings: true,
|
|
2584
2589
|
label: 'Feedback'
|
|
2585
2590
|
},
|
|
2591
|
+
spellCheck: {
|
|
2592
|
+
label: 'Spellcheck',
|
|
2593
|
+
settings: false,
|
|
2594
|
+
enabled: true
|
|
2595
|
+
},
|
|
2586
2596
|
partialScoring: {
|
|
2587
2597
|
settings: false,
|
|
2588
2598
|
label: 'Allow Partial Scoring'
|
package/module/demo.js
CHANGED
|
@@ -212,56 +212,56 @@ generate.htmlAscii = (id, element) => ({
|
|
|
212
212
|
generate.model = (id, element) => {
|
|
213
213
|
return Object.assign({}, { id, element }, base( {
|
|
214
214
|
// "id": "8a808081701d693801703174fb900421",
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
215
|
+
'teacherInstructions': '',
|
|
216
|
+
'partialScoring': true,
|
|
217
|
+
'prompt': '<p>Select the sentence from "The Gymnast" that <span class="relative-emphasis">best</span> represents the theme.</p>',
|
|
218
|
+
'rationale': '<p>The final sentence of the passage best exemplifies the theme of the short story because Natasha's practice and determination finally pays off.</p>',
|
|
219
|
+
'tokens': [
|
|
220
220
|
{
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
221
|
+
'text': 'She thought about what she had to do, struggling to rein in her wild, fearful thoughts.',
|
|
222
|
+
'end': 90,
|
|
223
|
+
'start': 3,
|
|
224
|
+
'correct': false
|
|
225
225
|
},
|
|
226
226
|
{
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
227
|
+
'start': 449,
|
|
228
|
+
'end': 585,
|
|
229
|
+
'text': 'Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.',
|
|
230
|
+
'correct': false
|
|
231
231
|
},
|
|
232
232
|
{
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
233
|
+
'end': 627,
|
|
234
|
+
'correct': false,
|
|
235
|
+
'text': 'At last Natasha\'s moment arrived.',
|
|
236
|
+
'start': 594
|
|
237
237
|
},
|
|
238
238
|
{
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
239
|
+
'end': 743,
|
|
240
|
+
'text': 'The faces of past giants of gymnastics swam before her mind\'s eye, now razor–sharp with fierce determination.',
|
|
241
|
+
'correct': false,
|
|
242
|
+
'start': 628
|
|
243
243
|
},
|
|
244
244
|
{
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
245
|
+
'text': 'Suddenly, the din of the gymnasium was silent to her.',
|
|
246
|
+
'end': 997,
|
|
247
|
+
'correct': false,
|
|
248
|
+
'start': 944
|
|
249
249
|
},
|
|
250
250
|
{
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
251
|
+
'end': 1087,
|
|
252
|
+
'start': 998,
|
|
253
|
+
'correct': false,
|
|
254
|
+
'text': 'Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her.'
|
|
255
255
|
},
|
|
256
256
|
{
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
257
|
+
'correct': true,
|
|
258
|
+
'start': 1088,
|
|
259
|
+
'end': 1225,
|
|
260
|
+
'text': 'Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.'
|
|
261
261
|
}
|
|
262
262
|
],
|
|
263
263
|
// "element": "select-text",
|
|
264
|
-
|
|
264
|
+
'text': '<p>She thought about what she had to do, struggling to rein in her wild, fearful thoughts. Coach Cummings always said that an undisciplined mind never scored a perfect 10. Natasha wanted to please her Coach, yet sometimes his approval wasn\'t as exciting as his anger. The gymnasts were unanimous about one thing: Coach Cummings\'s fits of disapproving rage were much more humorous to witness than his infrequent, backslapping moments of high praise. Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.</p>\n\n<p>At last Natasha\'s moment arrived. The faces of past giants of gymnastics swam before her mind\'s eye, now razor–sharp with fierce determination. "I am talented. I am not afraid. I will make a perfect 10," she spoke aloud to herself, as she approached the mat, dusted her hands with chalk to prevent slippage, and returned to her starting point. Suddenly, the din of the gymnasium was silent to her. Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her. Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.</p>\n'
|
|
265
265
|
} ));
|
|
266
266
|
};
|
|
267
267
|
|
package/module/element.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_pie_lib__correct_answer_toggle, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.4.
|
|
2
|
-
import {_dll_pie_lib__math_rendering} from "../../../@pie-lib/math-rendering-module@^1.0.
|
|
1
|
+
import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_pie_lib__correct_answer_toggle, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.4.9/module/index.js";
|
|
2
|
+
import {_dll_pie_lib__math_rendering} from "../../../@pie-lib/math-rendering-module@^1.0.34/module/index.js";
|
|
3
3
|
var lib$1 = {};
|
|
4
4
|
Object.defineProperty(lib$1, "__esModule", {
|
|
5
5
|
value: true
|
package/module/index.html
CHANGED
package/module/manifest.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/select-text",
|
|
3
|
-
"version": "6.5.
|
|
3
|
+
"version": "6.5.25",
|
|
4
4
|
"modules": [
|
|
5
5
|
{
|
|
6
6
|
"name": "@pie-lib/shared-module",
|
|
7
|
-
"version": "^1.4.
|
|
7
|
+
"version": "^1.4.9"
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
10
|
"name": "@pie-lib/math-rendering-module",
|
|
11
|
-
"version": "^1.0.
|
|
11
|
+
"version": "^1.0.34"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|