@pie-element/extended-text-entry 6.5.4-next.133 → 6.5.4-next.1335

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["ExtendedTextEntry","_model","createDefaultModel","_configuration","defaults","configuration","m","render","c","dispatchEvent","ModelUpdatedEvent","onModelChanged","handler","InsertImageEvent","src","done","DeleteImageEvent","element","React","createElement","Main","model","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","ReactDOM","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAKA;;AACA;;AACA;;AAEA;;;;;;;;;;IAEqBA,iB;;;;;AAMnB,+BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAcD,iBAAiB,CAACE,kBAAlB,EAAd;AACA,UAAKC,cAAL,GAAsBC,qBAASC,aAA/B;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKL,MAAL,GAAcD,iBAAiB,CAACE,kBAAlB,CAAqCI,CAArC,CAAd;AACA,WAAKC,MAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,WAAKL,cAAL,mCACKC,qBAASC,aADd,GAEKG,CAFL;AAKA,WAAKD,MAAL;AACD;;;WAED,wBAAeD,CAAf,EAAkB;AAChB,WAAKL,MAAL,GAAcK,CAAd;AACA,WAAKC,MAAL;AACA,WAAKE,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKT,MAA3B,EAAmC,KAAnC,CAAnB;AACD;;;WAED,gCAAuBO,CAAvB,EAA0B;AACxB,WAAKL,cAAL,mCACKC,qBAASC,aADd,GAEKG,CAFL;;AAKA,UAAI,KAAKP,MAAT,EAAiB;AACf,aAAKU,cAAL,CAAoB,KAAKV,MAAzB;AACD;;AAED,WAAKM,MAAL;AACD;AAGD;AACF;AACA;AACA;;;;WACE,qBAAYK,OAAZ,EAAqB;AACnB,WAAKH,aAAL,CAAmB,IAAII,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKN,aAAL,CAAmB,IAAIO,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,kBAAS;AACP,UAAI,KAAKd,MAAT,EAAiB;AACf,YAAMgB,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACxCC,UAAAA,KAAK,EAAE,KAAKpB,MAD4B;AAExCI,UAAAA,aAAa,EAAE,KAAKF,cAFoB;AAGxCQ,UAAAA,cAAc,EAAE,KAAKA,cAAL,CAAoBW,IAApB,CAAyB,IAAzB,CAHwB;AAIxCC,UAAAA,sBAAsB,EAAE,KAAKA,sBAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAJgB;AAKxCE,UAAAA,YAAY,EAAE;AACZC,YAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiBJ,IAAjB,CAAsB,IAAtB,CADO;AAEZ,sBAAQ,KAAKK,aAAL,CAAmBL,IAAnB,CAAwB,IAAxB;AAFI;AAL0B,SAA1B,CAAhB;;AAUAM,6BAASrB,MAAT,CAAgBU,OAAhB,EAAyB,IAAzB;AACD;AACF;;;kDAxE4CY,W;;;iCAA1B7B,iB,wBACS;AAAA,MAACqB,KAAD,uEAAS,EAAT;AAAA,yCACvBjB,qBAASiB,KADc,GAEvBA,KAFuB;AAAA,C","sourcesContent":["import {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent\n} from '@pie-framework/pie-configure-events';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport Main from './main';\n\nimport defaults from './defaults';\n\nexport default class ExtendedTextEntry extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...defaults.model,\n ...model\n });\n\n constructor() {\n super();\n this._model = ExtendedTextEntry.createDefaultModel();\n this._configuration = defaults.configuration;\n }\n\n set model(m) {\n this._model = ExtendedTextEntry.createDefaultModel(m);\n this.render();\n }\n\n set configuration(c) {\n this._configuration = {\n ...defaults.configuration,\n ...c\n };\n\n this.render();\n }\n\n onModelChanged(m) {\n this._model = m;\n this.render();\n this.dispatchEvent(new ModelUpdatedEvent(this._model, false));\n }\n\n onConfigurationChanged(c) {\n this._configuration = {\n ...defaults.configuration,\n ...c\n };\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this.render();\n }\n\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n render() {\n if (this._model) {\n const element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this)\n }\n });\n ReactDOM.render(element, this);\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["ExtendedTextEntry","_model","createDefaultModel","_configuration","defaults","configuration","m","render","c","dispatchEvent","ModelUpdatedEvent","onModelChanged","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","element","React","createElement","Main","model","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAOA;;AACA;;AACA;;AAEA;;;;;;;;;;IAEqBA,iB;;;;;AAMnB,+BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAcD,iBAAiB,CAACE,kBAAlB,EAAd;AACA,UAAKC,cAAL,GAAsBC,qBAASC,aAA/B;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKL,MAAL,GAAcD,iBAAiB,CAACE,kBAAlB,CAAqCI,CAArC,CAAd;AACA,WAAKC,MAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,WAAKL,cAAL,mCACKC,qBAASC,aADd,GAEKG,CAFL;AAKA,WAAKD,MAAL;AACD;;;WAED,wBAAeD,CAAf,EAAkB;AAChB,WAAKL,MAAL,GAAcK,CAAd;AACA,WAAKC,MAAL;AACA,WAAKE,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKT,MAA3B,EAAmC,KAAnC,CAAnB;AACD;;;WAED,gCAAuBO,CAAvB,EAA0B;AACxB,WAAKL,cAAL,mCACKC,qBAASC,aADd,GAEKG,CAFL;;AAKA,UAAI,KAAKP,MAAT,EAAiB;AACf,aAAKU,cAAL,CAAoB,KAAKV,MAAzB;AACD;;AAED,WAAKM,MAAL;AACD;AAGD;AACF;AACA;AACA;;;;WACE,qBAAYK,OAAZ,EAAqB;AACnB,WAAKH,aAAL,CAAmB,IAAII,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKN,aAAL,CAAmB,IAAIO,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,qBAAYH,OAAZ,EAAqB;AACnB,WAAKH,aAAL,CAAmB,IAAIQ,oCAAJ,CAAqBL,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKN,aAAL,CAAmB,IAAIS,oCAAJ,CAAqBJ,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,kBAAS;AACP,UAAI,KAAKd,MAAT,EAAiB;AACf,YAAMkB,OAAO,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACxCC,UAAAA,KAAK,EAAE,KAAKtB,MAD4B;AAExCI,UAAAA,aAAa,EAAE,KAAKF,cAFoB;AAGxCQ,UAAAA,cAAc,EAAE,KAAKA,cAAL,CAAoBa,IAApB,CAAyB,IAAzB,CAHwB;AAIxCC,UAAAA,sBAAsB,EAAE,KAAKA,sBAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAJgB;AAKxCE,UAAAA,YAAY,EAAE;AACZC,YAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiBJ,IAAjB,CAAsB,IAAtB,CADO;AAEZ,sBAAQ,KAAKK,aAAL,CAAmBL,IAAnB,CAAwB,IAAxB;AAFI,WAL0B;AASxCM,UAAAA,kBAAkB,EAAE;AAClBH,YAAAA,GAAG,EAAE,KAAKI,WAAL,CAAiBP,IAAjB,CAAsB,IAAtB,CADa;AAElB,sBAAQ,KAAKQ,aAAL,CAAmBR,IAAnB,CAAwB,IAAxB;AAFU;AAToB,SAA1B,CAAhB;;AAcAS,6BAAS1B,MAAT,CAAgBY,OAAhB,EAAyB,IAAzB;AACD;AACF;;;kDApF4Ce,W;;;iCAA1BlC,iB,wBACS;AAAA,MAACuB,KAAD,uEAAS,EAAT;AAAA,yCACvBnB,qBAASmB,KADc,GAEvBA,KAFuB;AAAA,C","sourcesContent":["import {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent\n} from '@pie-framework/pie-configure-events';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport Main from './main';\n\nimport defaults from './defaults';\n\nexport default class ExtendedTextEntry extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...defaults.model,\n ...model\n });\n\n constructor() {\n super();\n this._model = ExtendedTextEntry.createDefaultModel();\n this._configuration = defaults.configuration;\n }\n\n set model(m) {\n this._model = ExtendedTextEntry.createDefaultModel(m);\n this.render();\n }\n\n set configuration(c) {\n this._configuration = {\n ...defaults.configuration,\n ...c\n };\n\n this.render();\n }\n\n onModelChanged(m) {\n this._model = m;\n this.render();\n this.dispatchEvent(new ModelUpdatedEvent(this._model, false));\n }\n\n onConfigurationChanged(c) {\n this._configuration = {\n ...defaults.configuration,\n ...c\n };\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this.render();\n }\n\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n render() {\n if (this._model) {\n const element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this)\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this)\n }\n });\n ReactDOM.render(element, this);\n }\n }\n}\n"],"file":"index.js"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -35,13 +35,17 @@ var _styles = require("@material-ui/core/styles");
35
35
 
36
36
  var _editableHtml = _interopRequireWildcard(require("@pie-lib/editable-html"));
37
37
 
38
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
38
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
+
40
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
41
 
40
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
42
+ 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; }
43
+
44
+ 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; }
41
45
 
42
46
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
43
47
 
44
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
48
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
45
49
 
46
50
  var Panel = _configUi.settings.Panel,
47
51
  toggle = _configUi.settings.toggle,
@@ -107,7 +111,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
107
111
  onModelChanged = _this$props4.onModelChanged,
108
112
  configuration = _this$props4.configuration,
109
113
  onConfigurationChanged = _this$props4.onConfigurationChanged,
110
- imageSupport = _this$props4.imageSupport;
114
+ imageSupport = _this$props4.imageSupport,
115
+ uploadSoundSupport = _this$props4.uploadSoundSupport;
111
116
 
112
117
  var _ref = configuration || {},
113
118
  _ref$multiple = _ref.multiple,
@@ -122,17 +127,34 @@ var Main = /*#__PURE__*/function (_React$Component) {
122
127
  studentInstructions = _ref$studentInstructi === void 0 ? {} : _ref$studentInstructi,
123
128
  _ref$mathInput = _ref.mathInput,
124
129
  mathInput = _ref$mathInput === void 0 ? {} : _ref$mathInput,
130
+ _ref$spanishInput = _ref.spanishInput,
131
+ spanishInput = _ref$spanishInput === void 0 ? {} : _ref$spanishInput,
132
+ _ref$specialInput = _ref.specialInput,
133
+ specialInput = _ref$specialInput === void 0 ? {} : _ref$specialInput,
125
134
  _ref$dimensions = _ref.dimensions,
126
135
  dimensions = _ref$dimensions === void 0 ? {} : _ref$dimensions,
127
136
  _ref$equationEditor = _ref.equationEditor,
128
- equationEditor = _ref$equationEditor === void 0 ? {} : _ref$equationEditor;
137
+ equationEditor = _ref$equationEditor === void 0 ? {} : _ref$equationEditor,
138
+ _ref$spellCheck = _ref.spellCheck,
139
+ spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
140
+ _ref$playerSpellCheck = _ref.playerSpellCheck,
141
+ playerSpellCheck = _ref$playerSpellCheck === void 0 ? {} : _ref$playerSpellCheck,
142
+ _ref$maxImageWidth = _ref.maxImageWidth,
143
+ maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
144
+ _ref$maxImageHeight = _ref.maxImageHeight,
145
+ maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight,
146
+ withRubric = _ref.withRubric;
129
147
 
130
148
  var _ref2 = model || {},
131
149
  teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
132
150
  promptEnabled = _ref2.promptEnabled,
133
- feedbackEnabled = _ref2.feedbackEnabled;
151
+ feedbackEnabled = _ref2.feedbackEnabled,
152
+ spellCheckEnabled = _ref2.spellCheckEnabled,
153
+ rubricEnabled = _ref2.rubricEnabled;
134
154
 
135
155
  var toolbarOpts = {};
156
+ var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
157
+ var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
136
158
 
137
159
  switch (model.toolbarEditorPosition) {
138
160
  case 'top':
@@ -155,9 +177,11 @@ var Main = /*#__PURE__*/function (_React$Component) {
155
177
  return onConfigurationChanged(config);
156
178
  },
157
179
  groups: {
158
- 'Settings': {
180
+ Settings: {
159
181
  mathInput: mathInput.settings && toggle(mathInput.label),
160
- equationEditor: equationEditor.enabled && model.mathInput && dropdown(equationEditor.label, ['Grade 1 - 2', 'Grade 3 - 5', 'Grade 6 - 7', 'Grade 8 - HS', 'geometry', 'advanced-algebra', 'statistics', 'miscellaneous']),
182
+ equationEditor: equationEditor.enabled && model.mathInput && dropdown(equationEditor.label, ['non-negative-integers', 'integers', 'decimals', 'fractions', 'Grade 1 - 2', 'Grade 3 - 5', 'Grade 6 - 7', 'Grade 8 - HS', 'geometry', 'advanced-algebra', 'statistics', 'item-authoring']),
183
+ spanishInput: spanishInput.settings && toggle(spanishInput.label),
184
+ specialInput: specialInput.settings && toggle(specialInput.label),
161
185
  dimensions: numberFields(dimensions.label, {
162
186
  width: {
163
187
  label: 'Width (px)',
@@ -174,11 +198,14 @@ var Main = /*#__PURE__*/function (_React$Component) {
174
198
  }),
175
199
  'multiple.enabled': multiple.settings && toggle(multiple.label, true),
176
200
  promptEnabled: prompt.settings && toggle(prompt.label),
177
- feedbackEnabled: feedback.settings && toggle(feedback.label)
201
+ feedbackEnabled: feedback.settings && toggle(feedback.label),
202
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
203
+ playerSpellCheckEnabled: playerSpellCheck.settings && toggle(playerSpellCheck.label)
178
204
  },
179
- 'Properties': {
205
+ Properties: {
180
206
  teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
181
- studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label)
207
+ studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
208
+ rubricEnabled: withRubric.settings && toggle(withRubric.label)
182
209
  }
183
210
  }
184
211
  })
@@ -191,7 +218,16 @@ var Main = /*#__PURE__*/function (_React$Component) {
191
218
  onChange: this.changeTeacherInstructions,
192
219
  imageSupport: imageSupport,
193
220
  nonEmpty: false,
194
- toolbarOpts: toolbarOpts
221
+ toolbarOpts: toolbarOpts,
222
+ spellCheck: spellCheckEnabled,
223
+ maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
224
+ maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
225
+ uploadSoundSupport: uploadSoundSupport,
226
+ languageCharactersProps: [{
227
+ language: 'spanish'
228
+ }, {
229
+ language: 'special'
230
+ }]
195
231
  })), /*#__PURE__*/_react["default"].createElement("br", null), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
196
232
  label: prompt.label,
197
233
  className: classes.promptContainer
@@ -202,7 +238,16 @@ var Main = /*#__PURE__*/function (_React$Component) {
202
238
  onChange: this.onPromptChange,
203
239
  imageSupport: imageSupport,
204
240
  nonEmpty: false,
205
- toolbarOpts: toolbarOpts
241
+ toolbarOpts: toolbarOpts,
242
+ spellCheck: spellCheckEnabled,
243
+ maxImageWidth: defaultImageMaxWidth,
244
+ maxImageHeight: defaultImageMaxHeight,
245
+ uploadSoundSupport: uploadSoundSupport,
246
+ languageCharactersProps: [{
247
+ language: 'spanish'
248
+ }, {
249
+ language: 'special'
250
+ }]
206
251
  })), feedbackEnabled && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
207
252
  className: classes.header,
208
253
  variant: "subheading"
@@ -224,6 +269,7 @@ exports.Main = Main;
224
269
  model: _propTypes["default"].object.isRequired,
225
270
  configuration: _propTypes["default"].object.isRequired,
226
271
  imageSupport: _propTypes["default"].object.isRequired,
272
+ uploadSoundSupport: _propTypes["default"].object.isRequired,
227
273
  classes: _propTypes["default"].object.isRequired
228
274
  });
229
275
 
@@ -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","multiple","studentInstructions","mathInput","dimensions","equationEditor","teacherInstructionsEnabled","promptEnabled","feedbackEnabled","toolbarOpts","toolbarEditorPosition","position","config","label","enabled","width","suffix","min","max","height","studentInstructionsEnabled","promptContainer","changeTeacherInstructions","ALL_PLUGINS","onPromptChange","header","changeFeedback","React","Component","PropTypes","func","isRequired","object","theme","paddingBottom","spacing","unit","paddingTop","marginBottom","promptInput","field"],"mappings":"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","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 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 { model, classes, onModelChanged, configuration, onConfigurationChanged, imageSupport } = this.props;\n const {\n multiple = {},\n feedback = {},\n teacherInstructions = {},\n prompt = {},\n studentInstructions = {},\n mathInput = {},\n dimensions = {},\n equationEditor = {}\n } = configuration || {};\n const { teacherInstructionsEnabled, promptEnabled, feedbackEnabled } = model || {};\n const toolbarOpts = {};\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: equationEditor.enabled && model.mathInput && dropdown(equationEditor.label, [\n 'Grade 1 - 2',\n 'Grade 3 - 5',\n 'Grade 6 - 7',\n 'Grade 8 - HS',\n 'geometry',\n 'advanced-algebra',\n 'statistics',\n 'miscellaneous'\n ]),\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': multiple.settings &&\n toggle(multiple.label, true),\n promptEnabled: prompt.settings &&\n toggle(prompt.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n },\n 'Properties': {\n teacherInstructionsEnabled: teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings &&\n toggle(studentInstructions.label)\n },\n }}\n />\n }\n >\n <div>\n\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptContainer}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n />\n </InputContainer>\n )}\n\n <br />\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptContainer}>\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 />\n </InputContainer>\n )}\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 }\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","classes","configuration","onConfigurationChanged","imageSupport","uploadSoundSupport","multiple","studentInstructions","mathInput","spanishInput","specialInput","dimensions","equationEditor","spellCheck","playerSpellCheck","maxImageWidth","maxImageHeight","withRubric","teacherInstructionsEnabled","promptEnabled","feedbackEnabled","spellCheckEnabled","rubricEnabled","toolbarOpts","defaultImageMaxWidth","defaultImageMaxHeight","toolbarEditorPosition","position","config","Settings","label","enabled","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":"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","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 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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/extended-text-entry-configure",
3
3
  "private": true,
4
- "version": "5.2.9",
4
+ "version": "6.1.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,9 +9,9 @@
9
9
  "license": "ISC",
10
10
  "dependencies": {
11
11
  "@material-ui/core": "^3.9.2",
12
- "@pie-framework/pie-configure-events": "^1.2.0",
13
- "@pie-lib/config-ui": "^10.10.2",
14
- "@pie-lib/editable-html": "^7.17.2",
12
+ "@pie-framework/pie-configure-events": "^1.3.0",
13
+ "@pie-lib/config-ui": "^11.0.19",
14
+ "@pie-lib/editable-html": "^9.2.2",
15
15
  "lodash": "^4.17.15",
16
16
  "prop-types": "^15.6.2",
17
17
  "react": "^16.8.1",
@@ -3,6 +3,54 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.1.22](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.21...@pie-element/extended-text-entry-controller@4.1.22) (2022-06-13)
7
+
8
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
9
+
10
+
11
+
12
+
13
+
14
+ ## [4.1.21](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.20...@pie-element/extended-text-entry-controller@4.1.21) (2022-03-28)
15
+
16
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
17
+
18
+
19
+
20
+
21
+
22
+ ## [4.1.20](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.19...@pie-element/extended-text-entry-controller@4.1.20) (2022-03-22)
23
+
24
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
25
+
26
+
27
+
28
+
29
+
30
+ ## [4.1.19](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.18...@pie-element/extended-text-entry-controller@4.1.19) (2022-02-04)
31
+
32
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
33
+
34
+
35
+
36
+
37
+
38
+ ## [4.1.15](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.13...@pie-element/extended-text-entry-controller@4.1.15) (2021-11-11)
39
+
40
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
41
+
42
+
43
+
44
+
45
+
46
+ ## [4.1.14](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.13...@pie-element/extended-text-entry-controller@4.1.14) (2021-11-11)
47
+
48
+ **Note:** Version bump only for package @pie-element/extended-text-entry-controller
49
+
50
+
51
+
52
+
53
+
6
54
  ## [4.1.13](https://github.com/pie-framework/pie-elements/compare/@pie-element/extended-text-entry-controller@4.1.11...@pie-element/extended-text-entry-controller@4.1.13) (2021-08-05)
7
55
 
8
56
 
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.createDefaultModel = createDefaultModel;
9
9
  exports.model = model;
10
- exports.outcome = outcome;
11
10
  exports.normalize = void 0;
11
+ exports.outcome = outcome;
12
12
 
13
13
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
14
14
 
@@ -22,9 +22,9 @@ var _feedback = require("@pie-lib/feedback");
22
22
 
23
23
  var _defaults = _interopRequireDefault(require("./defaults"));
24
24
 
25
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
25
+ 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; }
26
26
 
27
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
28
28
 
29
29
  var log = (0, _debug["default"])('@pie-element:extended-text-entry:controller');
30
30
 
@@ -60,7 +60,8 @@ var normalize = function normalize(question) {
60
60
  rationaleEnabled: true,
61
61
  promptEnabled: true,
62
62
  teacherInstructionsEnabled: true,
63
- studentInstructionsEnabled: true
63
+ studentInstructionsEnabled: true,
64
+ playerSpellCheckEnabled: true
64
65
  }, question);
65
66
  };
66
67
 
@@ -122,7 +123,11 @@ function _model() {
122
123
  feedback: feedback,
123
124
  teacherInstructions: teacherInstructions,
124
125
  mathInput: normalizedQuestion.mathInput,
125
- equationEditor: equationEditor
126
+ spanishInput: normalizedQuestion.spanishInput,
127
+ specialInput: normalizedQuestion.specialInput,
128
+ equationEditor: equationEditor,
129
+ spellCheckEnabled: normalizedQuestion.playerSpellCheckEnabled,
130
+ playersToolbarPosition: normalizedQuestion.playersToolbarPosition || 'bottom'
126
131
  };
127
132
  }));
128
133
 
@@ -136,7 +141,9 @@ function _model() {
136
141
  return _model.apply(this, arguments);
137
142
  }
138
143
 
139
- function outcome() {
144
+ function
145
+ /*question, session, env*/
146
+ outcome() {
140
147
  return _outcome.apply(this, arguments);
141
148
  }
142
149
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","createDefaultModel","model","defaults","normalize","question","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","session","env","normalizedQuestion","fb","mode","feedback","Promise","resolve","undefined","teacherInstructions","role","equationEditor","then","prompt","dimensions","customKeys","disabled","mathInput","outcome","score","completed","note"],"mappings":"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","sourcesContent":["import debug from 'debug';\n\nconst log = debug('@pie-element:extended-text-entry:controller');\nimport { getFeedback } from '@pie-lib/feedback';\n\nimport defaults from './defaults';\n\nexport async function createDefaultModel(model = {}) {\n log('[createDefaultModel]', model);\n\n return {\n ...defaults,\n ...model,\n };\n}\n\nexport const normalize = question => ({\n ...defaults,\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n ...question,\n});\n\n\nexport async function model(question, session, env) {\n log('[question]', question);\n const normalizedQuestion = normalize(question);\n\n const fb =\n env.mode === 'evaluate' && normalizedQuestion.feedbackEnabled\n ? getFeedback(normalizedQuestion.feedback, 'Your answer has been submitted')\n : Promise.resolve(undefined);\n\n let teacherInstructions = null;\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;\n } else {\n teacherInstructions = null;\n }\n\n let equationEditor = normalizedQuestion.equationEditor || 'miscellaneous';\n\n switch (normalizedQuestion.equationEditor) {\n case 'Grade 1 - 2':\n equationEditor = 1;\n break;\n case 'Grade 3 - 5':\n equationEditor = 3;\n break;\n case 'Grade 6 - 7':\n equationEditor = 6;\n break;\n case 'Grade 8 - HS':\n equationEditor = 8;\n break;\n default:\n break;\n }\n\n return fb.then(feedback => ({\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,\n dimensions: normalizedQuestion.dimensions,\n customKeys: normalizedQuestion.customKeys || [],\n disabled: env.mode !== 'gather',\n feedback,\n teacherInstructions,\n mathInput: normalizedQuestion.mathInput,\n equationEditor\n }));\n}\n\nexport async function outcome(/*question, session, env*/) {\n return {\n score: 0,\n completed: 'n/a',\n note: 'Requires manual scoring'\n };\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","createDefaultModel","model","defaults","normalize","question","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","playerSpellCheckEnabled","session","env","normalizedQuestion","fb","mode","feedback","Promise","resolve","undefined","teacherInstructions","role","equationEditor","then","prompt","dimensions","customKeys","disabled","mathInput","spanishInput","specialInput","spellCheckEnabled","playersToolbarPosition","outcome","score","completed","note"],"mappings":"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","sourcesContent":["import debug from 'debug';\n\nconst log = debug('@pie-element:extended-text-entry:controller');\nimport { getFeedback } from '@pie-lib/feedback';\n\nimport defaults from './defaults';\n\nexport async function createDefaultModel(model = {}) {\n log('[createDefaultModel]', model);\n\n return {\n ...defaults,\n ...model,\n };\n}\n\nexport const normalize = question => ({\n ...defaults,\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n playerSpellCheckEnabled: true,\n ...question,\n});\n\n\nexport async function model(question, session, env) {\n log('[question]', question);\n const normalizedQuestion = normalize(question);\n\n const fb =\n env.mode === 'evaluate' && normalizedQuestion.feedbackEnabled\n ? getFeedback(normalizedQuestion.feedback, 'Your answer has been submitted')\n : Promise.resolve(undefined);\n\n let teacherInstructions = null;\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;\n } else {\n teacherInstructions = null;\n }\n\n let equationEditor = normalizedQuestion.equationEditor || 'miscellaneous';\n\n switch (normalizedQuestion.equationEditor) {\n case 'Grade 1 - 2':\n equationEditor = 1;\n break;\n case 'Grade 3 - 5':\n equationEditor = 3;\n break;\n case 'Grade 6 - 7':\n equationEditor = 6;\n break;\n case 'Grade 8 - HS':\n equationEditor = 8;\n break;\n default:\n break;\n }\n\n return fb.then(feedback => ({\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,\n dimensions: normalizedQuestion.dimensions,\n customKeys: normalizedQuestion.customKeys || [],\n disabled: env.mode !== 'gather',\n feedback,\n teacherInstructions,\n mathInput: normalizedQuestion.mathInput,\n spanishInput: normalizedQuestion.spanishInput,\n specialInput: normalizedQuestion.specialInput,\n equationEditor,\n spellCheckEnabled: normalizedQuestion.playerSpellCheckEnabled,\n playersToolbarPosition: normalizedQuestion.playersToolbarPosition || 'bottom'\n }));\n}\n\nexport async function outcome(/*question, session, env*/) {\n return {\n score: 0,\n completed: 'n/a',\n note: 'Requires manual scoring'\n };\n}\n"],"file":"index.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/extended-text-entry-controller",
3
3
  "private": true,
4
- "version": "4.1.13",
4
+ "version": "4.1.22",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -35,6 +35,38 @@
35
35
  }
36
36
  }
37
37
  },
38
+ "spanishInput": {
39
+ "title": "ConfigureProp",
40
+ "type": "object",
41
+ "properties": {
42
+ "settings": {
43
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
44
+ "type": "boolean",
45
+ "title": "settings"
46
+ },
47
+ "label": {
48
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
49
+ "type": "string",
50
+ "title": "label"
51
+ }
52
+ }
53
+ },
54
+ "specialInput": {
55
+ "title": "ConfigureProp",
56
+ "type": "object",
57
+ "properties": {
58
+ "settings": {
59
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
60
+ "type": "boolean",
61
+ "title": "settings"
62
+ },
63
+ "label": {
64
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
65
+ "type": "string",
66
+ "title": "label"
67
+ }
68
+ }
69
+ },
38
70
  "multiple": {
39
71
  "title": "ConfigurePropWithEnabled",
40
72
  "type": "object",
@@ -88,6 +120,38 @@
88
120
  }
89
121
  }
90
122
  },
123
+ "spellCheck": {
124
+ "title": "ConfigureProp",
125
+ "type": "object",
126
+ "properties": {
127
+ "settings": {
128
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
129
+ "type": "boolean",
130
+ "title": "settings"
131
+ },
132
+ "label": {
133
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
134
+ "type": "string",
135
+ "title": "label"
136
+ }
137
+ }
138
+ },
139
+ "playerSpellCheck": {
140
+ "title": "ConfigureProp",
141
+ "type": "object",
142
+ "properties": {
143
+ "settings": {
144
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
145
+ "type": "boolean",
146
+ "title": "settings"
147
+ },
148
+ "label": {
149
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
150
+ "type": "string",
151
+ "title": "label"
152
+ }
153
+ }
154
+ },
91
155
  "dimensions": {
92
156
  "title": "ConfigureProp",
93
157
  "type": "object",
@@ -104,6 +168,64 @@
104
168
  }
105
169
  }
106
170
  },
171
+ "maxImageWidth": {
172
+ "title": "ConfigureMaxImageDimensionsProp",
173
+ "type": "object",
174
+ "properties": {
175
+ "teacherInstructions": {
176
+ "description": "Indicates the max dimension for images in teacher instructions",
177
+ "type": "number",
178
+ "title": "teacherInstructions"
179
+ },
180
+ "prompt": {
181
+ "description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
182
+ "type": "number",
183
+ "title": "prompt"
184
+ },
185
+ "rationale": {
186
+ "description": "Indicates the max dimension for images in rationale",
187
+ "type": "number",
188
+ "title": "rationale"
189
+ }
190
+ }
191
+ },
192
+ "maxImageHeight": {
193
+ "title": "ConfigureMaxImageDimensionsProp",
194
+ "type": "object",
195
+ "properties": {
196
+ "teacherInstructions": {
197
+ "description": "Indicates the max dimension for images in teacher instructions",
198
+ "type": "number",
199
+ "title": "teacherInstructions"
200
+ },
201
+ "prompt": {
202
+ "description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
203
+ "type": "number",
204
+ "title": "prompt"
205
+ },
206
+ "rationale": {
207
+ "description": "Indicates the max dimension for images in rationale",
208
+ "type": "number",
209
+ "title": "rationale"
210
+ }
211
+ }
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
+ },
107
229
  "showPrompt": {
108
230
  "description": "Determines whether prompt field will be displayed or not",
109
231
  "default": true,
@@ -160,6 +282,27 @@
160
282
  "title": "enabled"
161
283
  }
162
284
  }
285
+ },
286
+ "ConfigureMaxImageDimensionsProp": {
287
+ "title": "ConfigureMaxImageDimensionsProp",
288
+ "type": "object",
289
+ "properties": {
290
+ "teacherInstructions": {
291
+ "description": "Indicates the max dimension for images in teacher instructions",
292
+ "type": "number",
293
+ "title": "teacherInstructions"
294
+ },
295
+ "prompt": {
296
+ "description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
297
+ "type": "number",
298
+ "title": "prompt"
299
+ },
300
+ "rationale": {
301
+ "description": "Indicates the max dimension for images in rationale",
302
+ "type": "number",
303
+ "title": "rationale"
304
+ }
305
+ }
163
306
  }
164
307
  },
165
308
  "$schema": "http://json-schema.org/draft-07/schema#"