@pie-element/extended-text-entry 10.10.1 → 10.10.2-next.1

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,311 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.Main = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _configUi = require("@pie-lib/pie-toolbox/config-ui");
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
34
- var _editableHtml = require("@pie-lib/pie-toolbox/editable-html");
35
-
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
-
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
-
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
-
42
- 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; } }
43
-
44
- var Panel = _configUi.settings.Panel,
45
- toggle = _configUi.settings.toggle,
46
- numberFields = _configUi.settings.numberFields,
47
- dropdown = _configUi.settings.dropdown;
48
- var defaultFeedback = {
49
- type: 'default',
50
- "default": 'Your answer has been submitted'
51
- };
52
-
53
- var Main = /*#__PURE__*/function (_React$Component) {
54
- (0, _inherits2["default"])(Main, _React$Component);
55
-
56
- var _super = _createSuper(Main);
57
-
58
- function Main(props) {
59
- var _this;
60
-
61
- (0, _classCallCheck2["default"])(this, Main);
62
- _this = _super.call(this, props);
63
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPromptChange", function (markup) {
64
- var _this$props = _this.props,
65
- onModelChanged = _this$props.onModelChanged,
66
- model = _this$props.model;
67
- onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
68
- prompt: markup
69
- }));
70
- });
71
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeFeedback", function (feedback) {
72
- var _this$props2 = _this.props,
73
- model = _this$props2.model,
74
- onModelChanged = _this$props2.onModelChanged;
75
-
76
- var update = _objectSpread(_objectSpread({}, model), {}, {
77
- feedback: feedback
78
- });
79
-
80
- onModelChanged(update);
81
- });
82
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeTeacherInstructions", function (teacherInstructions) {
83
- var _this$props3 = _this.props,
84
- model = _this$props3.model,
85
- onModelChanged = _this$props3.onModelChanged;
86
-
87
- var update = _objectSpread(_objectSpread({}, model), {}, {
88
- teacherInstructions: teacherInstructions
89
- });
90
-
91
- onModelChanged(update);
92
- });
93
- _this.state = {
94
- setDimensions: true
95
- };
96
- return _this;
97
- }
98
-
99
- (0, _createClass2["default"])(Main, [{
100
- key: "render",
101
- value: function render() {
102
- var _this$props4 = this.props,
103
- model = _this$props4.model,
104
- classes = _this$props4.classes,
105
- configuration = _this$props4.configuration,
106
- imageSupport = _this$props4.imageSupport,
107
- onConfigurationChanged = _this$props4.onConfigurationChanged,
108
- onModelChanged = _this$props4.onModelChanged,
109
- uploadSoundSupport = _this$props4.uploadSoundSupport;
110
-
111
- var _ref = configuration || {},
112
- _ref$contentDimension = _ref.contentDimensions,
113
- contentDimensions = _ref$contentDimension === void 0 ? {} : _ref$contentDimension,
114
- _ref$dimensions = _ref.dimensions,
115
- dimensions = _ref$dimensions === void 0 ? {} : _ref$dimensions,
116
- _ref$equationEditor = _ref.equationEditor,
117
- equationEditor = _ref$equationEditor === void 0 ? {} : _ref$equationEditor,
118
- _ref$feedback = _ref.feedback,
119
- feedback = _ref$feedback === void 0 ? {} : _ref$feedback,
120
- _ref$playerSpellCheck = _ref.playerSpellCheck,
121
- playerSpellCheck = _ref$playerSpellCheck === void 0 ? {} : _ref$playerSpellCheck,
122
- _ref$prompt = _ref.prompt,
123
- prompt = _ref$prompt === void 0 ? {} : _ref$prompt,
124
- settingsPanelDisabled = _ref.settingsPanelDisabled,
125
- _ref$spanishInput = _ref.spanishInput,
126
- spanishInput = _ref$spanishInput === void 0 ? {} : _ref$spanishInput,
127
- _ref$specialInput = _ref.specialInput,
128
- specialInput = _ref$specialInput === void 0 ? {} : _ref$specialInput,
129
- _ref$spellCheck = _ref.spellCheck,
130
- spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
131
- _ref$studentInstructi = _ref.studentInstructions,
132
- studentInstructions = _ref$studentInstructi === void 0 ? {} : _ref$studentInstructi,
133
- _ref$teacherInstructi = _ref.teacherInstructions,
134
- teacherInstructions = _ref$teacherInstructi === void 0 ? {} : _ref$teacherInstructi,
135
- _ref$mathInput = _ref.mathInput,
136
- mathInput = _ref$mathInput === void 0 ? {} : _ref$mathInput,
137
- _ref$maxImageWidth = _ref.maxImageWidth,
138
- maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
139
- _ref$maxImageHeight = _ref.maxImageHeight,
140
- maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight,
141
- _ref$multiple = _ref.multiple,
142
- multiple = _ref$multiple === void 0 ? {} : _ref$multiple,
143
- _ref$withRubric = _ref.withRubric,
144
- withRubric = _ref$withRubric === void 0 ? {} : _ref$withRubric,
145
- _ref$mathMlOptions = _ref.mathMlOptions,
146
- mathMlOptions = _ref$mathMlOptions === void 0 ? {} : _ref$mathMlOptions,
147
- _ref$baseInputConfigu = _ref.baseInputConfiguration,
148
- baseInputConfiguration = _ref$baseInputConfigu === void 0 ? {} : _ref$baseInputConfigu;
149
-
150
- var _ref2 = model || {},
151
- _ref2$errors = _ref2.errors,
152
- errors = _ref2$errors === void 0 ? {} : _ref2$errors,
153
- feedbackEnabled = _ref2.feedbackEnabled,
154
- promptEnabled = _ref2.promptEnabled,
155
- spellCheckEnabled = _ref2.spellCheckEnabled,
156
- teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
157
- toolbarEditorPosition = _ref2.toolbarEditorPosition;
158
-
159
- var promptError = errors.prompt,
160
- teacherInstructionsError = errors.teacherInstructions;
161
- var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
162
- var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
163
- var toolbarOpts = {
164
- position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
165
- };
166
- var panelSettings = {
167
- mathInput: mathInput.settings && toggle(mathInput.label),
168
- 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']),
169
- spanishInput: spanishInput.settings && toggle(spanishInput.label),
170
- specialInput: specialInput.settings && toggle(specialInput.label),
171
- dimensions: numberFields(dimensions.label, {
172
- width: {
173
- label: 'Width (px)',
174
- suffix: 'px',
175
- min: 100,
176
- max: 500
177
- },
178
- height: {
179
- label: 'Height (px)',
180
- suffix: 'px',
181
- min: 100,
182
- max: 500
183
- }
184
- }),
185
- 'multiple.enabled': multiple.settings && toggle(multiple.label, true),
186
- promptEnabled: prompt.settings && toggle(prompt.label),
187
- feedbackEnabled: feedback.settings && toggle(feedback.label),
188
- spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
189
- playerSpellCheckDisabled: playerSpellCheck.settings && toggle(playerSpellCheck.label)
190
- };
191
- var panelProperties = {
192
- teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
193
- studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
194
- rubricEnabled: (withRubric === null || withRubric === void 0 ? void 0 : withRubric.settings) && toggle(withRubric === null || withRubric === void 0 ? void 0 : withRubric.label)
195
- };
196
-
197
- var getPluginProps = function getPluginProps(props) {
198
- return Object.assign(_objectSpread({}, baseInputConfiguration), props || {});
199
- };
200
-
201
- return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
202
- dimensions: contentDimensions,
203
- hideSettings: settingsPanelDisabled,
204
- settings: /*#__PURE__*/_react["default"].createElement(Panel, {
205
- model: model,
206
- configuration: configuration,
207
- onChangeModel: function onChangeModel(model) {
208
- return onModelChanged(model);
209
- },
210
- onChangeConfiguration: function onChangeConfiguration(config) {
211
- return onConfigurationChanged(config);
212
- },
213
- groups: {
214
- Settings: panelSettings,
215
- Properties: panelProperties
216
- }
217
- })
218
- }, teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
219
- label: teacherInstructions.label,
220
- className: classes.promptContainer
221
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
222
- className: classes.prompt,
223
- markup: model.teacherInstructions || '',
224
- onChange: this.changeTeacherInstructions,
225
- imageSupport: imageSupport,
226
- nonEmpty: false,
227
- error: teacherInstructionsError,
228
- toolbarOpts: toolbarOpts,
229
- spellCheck: spellCheckEnabled,
230
- maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
231
- maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
232
- uploadSoundSupport: uploadSoundSupport,
233
- languageCharactersProps: [{
234
- language: 'spanish'
235
- }, {
236
- language: 'special'
237
- }],
238
- mathMlOptions: mathMlOptions,
239
- pluginProps: getPluginProps(teacherInstructions === null || teacherInstructions === void 0 ? void 0 : teacherInstructions.inputConfiguration)
240
- }), teacherInstructionsError && /*#__PURE__*/_react["default"].createElement("div", {
241
- className: classes.errorText
242
- }, teacherInstructionsError)), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
243
- label: prompt.label,
244
- className: classes.promptContainer
245
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
246
- activePlugins: _editableHtml.ALL_PLUGINS,
247
- className: classes.prompt,
248
- markup: model.prompt || '',
249
- onChange: this.onPromptChange,
250
- imageSupport: imageSupport,
251
- nonEmpty: false,
252
- error: promptError,
253
- toolbarOpts: toolbarOpts,
254
- spellCheck: spellCheckEnabled,
255
- maxImageWidth: defaultImageMaxWidth,
256
- maxImageHeight: defaultImageMaxHeight,
257
- uploadSoundSupport: uploadSoundSupport,
258
- languageCharactersProps: [{
259
- language: 'spanish'
260
- }, {
261
- language: 'special'
262
- }],
263
- mathMlOptions: mathMlOptions,
264
- pluginProps: getPluginProps(prompt === null || prompt === void 0 ? void 0 : prompt.inputConfiguration)
265
- }), promptError && /*#__PURE__*/_react["default"].createElement("div", {
266
- className: classes.errorText
267
- }, promptError)), feedbackEnabled && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
268
- className: classes.header,
269
- variant: "subheading"
270
- }, "Feedback"), /*#__PURE__*/_react["default"].createElement(_configUi.FeedbackSelector, {
271
- label: "When submitted, show",
272
- feedback: model.feedback || defaultFeedback,
273
- onChange: this.changeFeedback,
274
- toolbarOpts: toolbarOpts
275
- })));
276
- }
277
- }]);
278
- return Main;
279
- }(_react["default"].Component);
280
-
281
- exports.Main = Main;
282
- (0, _defineProperty2["default"])(Main, "propTypes", {
283
- onModelChanged: _propTypes["default"].func.isRequired,
284
- onConfigurationChanged: _propTypes["default"].func,
285
- model: _propTypes["default"].object.isRequired,
286
- configuration: _propTypes["default"].object.isRequired,
287
- imageSupport: _propTypes["default"].object.isRequired,
288
- uploadSoundSupport: _propTypes["default"].object.isRequired,
289
- classes: _propTypes["default"].object.isRequired
290
- });
291
-
292
- var _default = (0, _styles.withStyles)(function (theme) {
293
- return {
294
- header: {
295
- paddingBottom: theme.spacing.unit
296
- },
297
- promptContainer: {
298
- paddingTop: theme.spacing.unit * 2,
299
- marginBottom: theme.spacing.unit * 2,
300
- width: '100%'
301
- },
302
- errorText: {
303
- fontSize: theme.typography.fontSize - 2,
304
- color: theme.palette.error.main,
305
- paddingTop: theme.spacing.unit
306
- }
307
- };
308
- })(Main);
309
-
310
- exports["default"] = _default;
311
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
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","imageSupport","onConfigurationChanged","uploadSoundSupport","contentDimensions","dimensions","equationEditor","playerSpellCheck","settingsPanelDisabled","spanishInput","specialInput","spellCheck","studentInstructions","mathInput","maxImageWidth","maxImageHeight","multiple","withRubric","mathMlOptions","baseInputConfiguration","errors","feedbackEnabled","promptEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","promptError","teacherInstructionsError","defaultImageMaxWidth","defaultImageMaxHeight","toolbarOpts","position","panelSettings","label","enabled","width","suffix","min","max","height","playerSpellCheckDisabled","panelProperties","studentInstructionsEnabled","rubricEnabled","getPluginProps","Object","assign","config","Settings","Properties","promptContainer","changeTeacherInstructions","language","inputConfiguration","errorText","ALL_PLUGINS","onPromptChange","header","changeFeedback","React","Component","PropTypes","func","isRequired","object","theme","paddingBottom","spacing","unit","paddingTop","marginBottom","fontSize","typography","color","palette","error","main"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { FeedbackSelector, InputContainer, settings, layout } from '@pie-lib/pie-toolbox/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/pie-toolbox/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 = { setDimensions: true };\n }\n\n onPromptChange = (markup) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, prompt: markup });\n };\n\n changeFeedback = (feedback) => {\n const { model, onModelChanged } = this.props;\n const update = { ...model, feedback };\n\n onModelChanged(update);\n };\n\n changeTeacherInstructions = (teacherInstructions) => {\n const { model, onModelChanged } = this.props;\n const update = { ...model, teacherInstructions };\n\n onModelChanged(update);\n };\n\n render() {\n const { model, classes, configuration, imageSupport, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n contentDimensions = {},\n dimensions = {},\n equationEditor = {},\n feedback = {},\n playerSpellCheck = {},\n prompt = {},\n settingsPanelDisabled,\n spanishInput = {},\n specialInput = {},\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n mathInput = {},\n maxImageWidth = {},\n maxImageHeight = {},\n multiple = {},\n withRubric = {},\n mathMlOptions = {},\n baseInputConfiguration = {},\n } = configuration || {};\n const {\n errors = {},\n feedbackEnabled,\n promptEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n const { prompt: promptError, teacherInstructions: teacherInstructionsError } = errors;\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelSettings = {\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: { label: 'Width (px)', suffix: 'px', min: 100, max: 500 },\n height: { label: 'Height (px)', suffix: 'px', min: 100, max: 500 },\n }),\n 'multiple.enabled': multiple.settings && toggle(multiple.label, true),\n promptEnabled: prompt.settings && toggle(prompt.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n playerSpellCheckDisabled: playerSpellCheck.settings && toggle(playerSpellCheck.label),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n const getPluginProps = (props) => {\n return Object.assign(\n {\n ...baseInputConfiguration,\n },\n props || {},\n );\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\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 error={teacherInstructionsError}\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 mathMlOptions={mathMlOptions}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\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 error={promptError}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\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 </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 errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n}))(Main);\n"],"file":"main.js"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _default = {
8
- dimensions: {
9
- height: 100,
10
- width: 500
11
- }
12
- };
13
- exports["default"] = _default;
14
- //# sourceMappingURL=defaults.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["dimensions","height","width"],"mappings":";;;;;;eAAe;AACbA,EAAAA,UAAU,EAAE;AACVC,IAAAA,MAAM,EAAE,GADE;AAEVC,IAAAA,KAAK,EAAE;AAFG;AADC,C","sourcesContent":["export default {\n dimensions: {\n height: 100,\n width: 500,\n },\n};\n"],"file":"defaults.js"}
@@ -1,198 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.createDefaultModel = createDefaultModel;
9
- exports.model = model;
10
- exports.normalize = void 0;
11
- exports.outcome = outcome;
12
- exports.validate = void 0;
13
-
14
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
-
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
-
20
- var _debug = _interopRequireDefault(require("debug"));
21
-
22
- var _feedback = require("@pie-lib/pie-toolbox/feedback");
23
-
24
- var _defaults = _interopRequireDefault(require("./defaults"));
25
-
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
-
28
- 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; }
29
-
30
- var log = (0, _debug["default"])('@pie-element:extended-text-entry:controller');
31
-
32
- function createDefaultModel() {
33
- return _createDefaultModel.apply(this, arguments);
34
- }
35
-
36
- function _createDefaultModel() {
37
- _createDefaultModel = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
38
- var model,
39
- _args = arguments;
40
- return _regenerator["default"].wrap(function _callee$(_context) {
41
- while (1) {
42
- switch (_context.prev = _context.next) {
43
- case 0:
44
- model = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
45
- log('[createDefaultModel]', model);
46
- return _context.abrupt("return", _objectSpread(_objectSpread({}, _defaults["default"]), model));
47
-
48
- case 3:
49
- case "end":
50
- return _context.stop();
51
- }
52
- }
53
- }, _callee);
54
- }));
55
- return _createDefaultModel.apply(this, arguments);
56
- }
57
-
58
- var normalize = function normalize(question) {
59
- return _objectSpread(_objectSpread({}, _defaults["default"]), {}, {
60
- feedbackEnabled: false,
61
- rationaleEnabled: true,
62
- promptEnabled: true,
63
- teacherInstructionsEnabled: true,
64
- studentInstructionsEnabled: true,
65
- playerSpellCheckDisabled: true
66
- }, question);
67
- };
68
-
69
- exports.normalize = normalize;
70
-
71
- function model(_x, _x2, _x3) {
72
- return _model.apply(this, arguments);
73
- }
74
-
75
- function _model() {
76
- _model = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(question, session, env) {
77
- var normalizedQuestion, fb, teacherInstructions, equationEditor;
78
- return _regenerator["default"].wrap(function _callee2$(_context2) {
79
- while (1) {
80
- switch (_context2.prev = _context2.next) {
81
- case 0:
82
- log('[question]', question);
83
- normalizedQuestion = normalize(question);
84
- fb = env.mode === 'evaluate' && normalizedQuestion.feedbackEnabled ? (0, _feedback.getFeedback)(normalizedQuestion.feedback, 'Your answer has been submitted') : Promise.resolve(undefined);
85
- teacherInstructions = null;
86
-
87
- if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {
88
- teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
89
- } else {
90
- teacherInstructions = null;
91
- }
92
-
93
- equationEditor = normalizedQuestion.equationEditor || 'miscellaneous';
94
- _context2.t0 = normalizedQuestion.equationEditor;
95
- _context2.next = _context2.t0 === 'Grade 1 - 2' ? 9 : _context2.t0 === 'Grade 3 - 5' ? 11 : _context2.t0 === 'Grade 6 - 7' ? 13 : _context2.t0 === 'Grade 8 - HS' ? 15 : 17;
96
- break;
97
-
98
- case 9:
99
- equationEditor = 1;
100
- return _context2.abrupt("break", 18);
101
-
102
- case 11:
103
- equationEditor = 3;
104
- return _context2.abrupt("break", 18);
105
-
106
- case 13:
107
- equationEditor = 6;
108
- return _context2.abrupt("break", 18);
109
-
110
- case 15:
111
- equationEditor = 8;
112
- return _context2.abrupt("break", 18);
113
-
114
- case 17:
115
- return _context2.abrupt("break", 18);
116
-
117
- case 18:
118
- return _context2.abrupt("return", fb.then(function (feedback) {
119
- return {
120
- prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,
121
- dimensions: normalizedQuestion.dimensions,
122
- customKeys: normalizedQuestion.customKeys || [],
123
- disabled: env.mode !== 'gather',
124
- feedback: feedback,
125
- teacherInstructions: teacherInstructions,
126
- mathInput: normalizedQuestion.mathInput,
127
- spanishInput: normalizedQuestion.spanishInput,
128
- specialInput: normalizedQuestion.specialInput,
129
- equationEditor: equationEditor,
130
- spellCheckEnabled: !normalizedQuestion.playerSpellCheckDisabled,
131
- playersToolbarPosition: normalizedQuestion.playersToolbarPosition || 'bottom'
132
- };
133
- }));
134
-
135
- case 19:
136
- case "end":
137
- return _context2.stop();
138
- }
139
- }
140
- }, _callee2);
141
- }));
142
- return _model.apply(this, arguments);
143
- }
144
-
145
- function
146
- /*question, session, env*/
147
- outcome() {
148
- return _outcome.apply(this, arguments);
149
- } // remove all html tags
150
-
151
-
152
- function _outcome() {
153
- _outcome = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
154
- return _regenerator["default"].wrap(function _callee3$(_context3) {
155
- while (1) {
156
- switch (_context3.prev = _context3.next) {
157
- case 0:
158
- return _context3.abrupt("return", {
159
- score: 0,
160
- completed: 'n/a',
161
- note: 'Requires manual scoring'
162
- });
163
-
164
- case 1:
165
- case "end":
166
- return _context3.stop();
167
- }
168
- }
169
- }, _callee3);
170
- }));
171
- return _outcome.apply(this, arguments);
172
- }
173
-
174
- var getInnerText = function getInnerText(html) {
175
- return (html || '').replaceAll(/<[^>]*>/g, '');
176
- }; // remove all html tags except img and iframe
177
-
178
-
179
- var getContent = function getContent(html) {
180
- return (html || '').replace(/(<(?!img|iframe)([^>]+)>)/gi, '');
181
- };
182
-
183
- var validate = function validate() {
184
- var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
185
- var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
186
- var errors = {};
187
- ['teacherInstructions', 'prompt'].forEach(function (field) {
188
- var _config$field;
189
-
190
- if ((_config$field = config[field]) !== null && _config$field !== void 0 && _config$field.required && !getContent(model[field])) {
191
- errors[field] = 'This field is required.';
192
- }
193
- });
194
- return errors;
195
- };
196
-
197
- exports.validate = validate;
198
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","createDefaultModel","model","defaults","normalize","question","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","playerSpellCheckDisabled","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","getInnerText","html","replaceAll","getContent","replace","validate","config","errors","forEach","field","required"],"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/pie-toolbox/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: false,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n playerSpellCheckDisabled: true,\n ...question,\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.playerSpellCheckDisabled,\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\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img and iframe\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n\n ['teacherInstructions', 'prompt'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n return errors;\n};\n"],"file":"index.js"}