@pie-element/extended-text-entry 10.4.1-next.38 → 10.4.1-next.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/package.json +1 -1
- package/controller/package.json +1 -1
- package/package.json +3 -3
- package/configure/lib/defaults.js +0 -103
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/index.js +0 -179
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/main.js +0 -287
- package/configure/lib/main.js.map +0 -1
- package/controller/lib/defaults.js +0 -14
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -171
- package/controller/lib/index.js.map +0 -1
- package/lib/index.js +0 -136
- package/lib/index.js.map +0 -1
- package/lib/main.js +0 -216
- package/lib/main.js.map +0 -1
- package/lib/print.js +0 -122
- package/lib/print.js.map +0 -1
- package/module/configure.js +0 -6207
- package/module/controller.js +0 -248
- package/module/demo.js +0 -37
- package/module/element.js +0 -5970
- package/module/index.html +0 -21
- package/module/manifest.json +0 -14
- package/module/print-demo.js +0 -75
- package/module/print.html +0 -18
- package/module/print.js +0 -5927
|
@@ -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","feedbackEnabled","promptEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","defaultImageMaxWidth","defaultImageMaxHeight","toolbarOpts","position","panelSettings","label","enabled","width","suffix","min","max","height","playerSpellCheckDisabled","panelProperties","studentInstructionsEnabled","rubricEnabled","config","Settings","Properties","promptContainer","changeTeacherInstructions","language","ALL_PLUGINS","onPromptChange","header","changeFeedback","React","Component","PropTypes","func","isRequired","object","theme","paddingBottom","spacing","unit","paddingTop","marginBottom"],"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 } = configuration || {};\n const { feedbackEnabled, promptEnabled, spellCheckEnabled, teacherInstructionsEnabled, toolbarEditorPosition } =\n model || {};\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 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 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 />\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 toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\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 </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}))(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"}
|
package/controller/lib/index.js
DELETED
|
@@ -1,171 +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
|
-
|
|
13
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
14
|
-
|
|
15
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
|
|
17
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
18
|
-
|
|
19
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
20
|
-
|
|
21
|
-
var _feedback = require("@pie-lib/pie-toolbox/feedback");
|
|
22
|
-
|
|
23
|
-
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
24
|
-
|
|
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
|
-
|
|
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
|
-
|
|
29
|
-
var log = (0, _debug["default"])('@pie-element:extended-text-entry:controller');
|
|
30
|
-
|
|
31
|
-
function createDefaultModel() {
|
|
32
|
-
return _createDefaultModel.apply(this, arguments);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function _createDefaultModel() {
|
|
36
|
-
_createDefaultModel = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
37
|
-
var model,
|
|
38
|
-
_args = arguments;
|
|
39
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
40
|
-
while (1) {
|
|
41
|
-
switch (_context.prev = _context.next) {
|
|
42
|
-
case 0:
|
|
43
|
-
model = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
|
|
44
|
-
log('[createDefaultModel]', model);
|
|
45
|
-
return _context.abrupt("return", _objectSpread(_objectSpread({}, _defaults["default"]), model));
|
|
46
|
-
|
|
47
|
-
case 3:
|
|
48
|
-
case "end":
|
|
49
|
-
return _context.stop();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}, _callee);
|
|
53
|
-
}));
|
|
54
|
-
return _createDefaultModel.apply(this, arguments);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
var normalize = function normalize(question) {
|
|
58
|
-
return _objectSpread(_objectSpread({}, _defaults["default"]), {}, {
|
|
59
|
-
feedbackEnabled: false,
|
|
60
|
-
rationaleEnabled: true,
|
|
61
|
-
promptEnabled: true,
|
|
62
|
-
teacherInstructionsEnabled: true,
|
|
63
|
-
studentInstructionsEnabled: true,
|
|
64
|
-
playerSpellCheckDisabled: true
|
|
65
|
-
}, question);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
exports.normalize = normalize;
|
|
69
|
-
|
|
70
|
-
function model(_x, _x2, _x3) {
|
|
71
|
-
return _model.apply(this, arguments);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
function _model() {
|
|
75
|
-
_model = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(question, session, env) {
|
|
76
|
-
var normalizedQuestion, fb, teacherInstructions, equationEditor;
|
|
77
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
78
|
-
while (1) {
|
|
79
|
-
switch (_context2.prev = _context2.next) {
|
|
80
|
-
case 0:
|
|
81
|
-
log('[question]', question);
|
|
82
|
-
normalizedQuestion = normalize(question);
|
|
83
|
-
fb = env.mode === 'evaluate' && normalizedQuestion.feedbackEnabled ? (0, _feedback.getFeedback)(normalizedQuestion.feedback, 'Your answer has been submitted') : Promise.resolve(undefined);
|
|
84
|
-
teacherInstructions = null;
|
|
85
|
-
|
|
86
|
-
if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {
|
|
87
|
-
teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
|
|
88
|
-
} else {
|
|
89
|
-
teacherInstructions = null;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
equationEditor = normalizedQuestion.equationEditor || 'miscellaneous';
|
|
93
|
-
_context2.t0 = normalizedQuestion.equationEditor;
|
|
94
|
-
_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;
|
|
95
|
-
break;
|
|
96
|
-
|
|
97
|
-
case 9:
|
|
98
|
-
equationEditor = 1;
|
|
99
|
-
return _context2.abrupt("break", 18);
|
|
100
|
-
|
|
101
|
-
case 11:
|
|
102
|
-
equationEditor = 3;
|
|
103
|
-
return _context2.abrupt("break", 18);
|
|
104
|
-
|
|
105
|
-
case 13:
|
|
106
|
-
equationEditor = 6;
|
|
107
|
-
return _context2.abrupt("break", 18);
|
|
108
|
-
|
|
109
|
-
case 15:
|
|
110
|
-
equationEditor = 8;
|
|
111
|
-
return _context2.abrupt("break", 18);
|
|
112
|
-
|
|
113
|
-
case 17:
|
|
114
|
-
return _context2.abrupt("break", 18);
|
|
115
|
-
|
|
116
|
-
case 18:
|
|
117
|
-
return _context2.abrupt("return", fb.then(function (feedback) {
|
|
118
|
-
return {
|
|
119
|
-
prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,
|
|
120
|
-
dimensions: normalizedQuestion.dimensions,
|
|
121
|
-
customKeys: normalizedQuestion.customKeys || [],
|
|
122
|
-
disabled: env.mode !== 'gather',
|
|
123
|
-
feedback: feedback,
|
|
124
|
-
teacherInstructions: teacherInstructions,
|
|
125
|
-
mathInput: normalizedQuestion.mathInput,
|
|
126
|
-
spanishInput: normalizedQuestion.spanishInput,
|
|
127
|
-
specialInput: normalizedQuestion.specialInput,
|
|
128
|
-
equationEditor: equationEditor,
|
|
129
|
-
spellCheckEnabled: !normalizedQuestion.playerSpellCheckDisabled,
|
|
130
|
-
playersToolbarPosition: normalizedQuestion.playersToolbarPosition || 'bottom'
|
|
131
|
-
};
|
|
132
|
-
}));
|
|
133
|
-
|
|
134
|
-
case 19:
|
|
135
|
-
case "end":
|
|
136
|
-
return _context2.stop();
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}, _callee2);
|
|
140
|
-
}));
|
|
141
|
-
return _model.apply(this, arguments);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
function
|
|
145
|
-
/*question, session, env*/
|
|
146
|
-
outcome() {
|
|
147
|
-
return _outcome.apply(this, arguments);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
function _outcome() {
|
|
151
|
-
_outcome = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
152
|
-
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
153
|
-
while (1) {
|
|
154
|
-
switch (_context3.prev = _context3.next) {
|
|
155
|
-
case 0:
|
|
156
|
-
return _context3.abrupt("return", {
|
|
157
|
-
score: 0,
|
|
158
|
-
completed: 'n/a',
|
|
159
|
-
note: 'Requires manual scoring'
|
|
160
|
-
});
|
|
161
|
-
|
|
162
|
-
case 1:
|
|
163
|
-
case "end":
|
|
164
|
-
return _context3.stop();
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}, _callee3);
|
|
168
|
-
}));
|
|
169
|
-
return _outcome.apply(this, arguments);
|
|
170
|
-
}
|
|
171
|
-
//# 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"],"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"],"file":"index.js"}
|
package/lib/index.js
DELETED
|
@@ -1,136 +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"] = void 0;
|
|
9
|
-
exports.isComplete = isComplete;
|
|
10
|
-
exports.textContent = textContent;
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
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 _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
23
|
-
|
|
24
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
25
|
-
|
|
26
|
-
var _main = _interopRequireDefault(require("./main"));
|
|
27
|
-
|
|
28
|
-
var _react = _interopRequireDefault(require("react"));
|
|
29
|
-
|
|
30
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
31
|
-
|
|
32
|
-
var _mathRendering = require("@pie-lib/pie-toolbox/math-rendering");
|
|
33
|
-
|
|
34
|
-
var _piePlayerEvents = require("@pie-framework/pie-player-events");
|
|
35
|
-
|
|
36
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
37
|
-
|
|
38
|
-
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); }; }
|
|
39
|
-
|
|
40
|
-
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; } }
|
|
41
|
-
|
|
42
|
-
var log = (0, _debug["default"])('@pie-ui:extended-text-entry');
|
|
43
|
-
var domParser = (typeof window === "undefined" ? "undefined" : (0, _typeof2["default"])(window)) !== undefined ? new DOMParser() : {
|
|
44
|
-
parseFromString: function parseFromString(v) {
|
|
45
|
-
return v;
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
function textContent(value) {
|
|
50
|
-
if (typeof value !== 'string') {
|
|
51
|
-
return undefined;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
try {
|
|
55
|
-
var document = domParser.parseFromString(value, 'text/html');
|
|
56
|
-
var _textContent = document.body.textContent;
|
|
57
|
-
return _textContent;
|
|
58
|
-
} catch (err) {
|
|
59
|
-
log('tried to parse as dom and failed', value);
|
|
60
|
-
return value;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function isComplete(value) {
|
|
65
|
-
var tc = textContent(value);
|
|
66
|
-
var out = tc !== undefined && tc.length > 0;
|
|
67
|
-
return out;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
var RootExtendedTextEntry = /*#__PURE__*/function (_HTMLElement) {
|
|
71
|
-
(0, _inherits2["default"])(RootExtendedTextEntry, _HTMLElement);
|
|
72
|
-
|
|
73
|
-
var _super = _createSuper(RootExtendedTextEntry);
|
|
74
|
-
|
|
75
|
-
function RootExtendedTextEntry() {
|
|
76
|
-
var _this;
|
|
77
|
-
|
|
78
|
-
(0, _classCallCheck2["default"])(this, RootExtendedTextEntry);
|
|
79
|
-
_this = _super.call(this);
|
|
80
|
-
_this._model = null;
|
|
81
|
-
_this._session = null;
|
|
82
|
-
return _this;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
(0, _createClass2["default"])(RootExtendedTextEntry, [{
|
|
86
|
-
key: "model",
|
|
87
|
-
set: function set(m) {
|
|
88
|
-
this._model = m;
|
|
89
|
-
this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), false, !!this._model));
|
|
90
|
-
this.render();
|
|
91
|
-
}
|
|
92
|
-
}, {
|
|
93
|
-
key: "session",
|
|
94
|
-
get: function get() {
|
|
95
|
-
return this._session;
|
|
96
|
-
},
|
|
97
|
-
set: function set(s) {
|
|
98
|
-
this._session = s;
|
|
99
|
-
this.render();
|
|
100
|
-
}
|
|
101
|
-
}, {
|
|
102
|
-
key: "handleChange",
|
|
103
|
-
value: function handleChange(value) {
|
|
104
|
-
this._session.value = value;
|
|
105
|
-
this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), isComplete(value)));
|
|
106
|
-
}
|
|
107
|
-
}, {
|
|
108
|
-
key: "connectedCallback",
|
|
109
|
-
value: function connectedCallback() {
|
|
110
|
-
this.setAttribute('aria-label', 'Written Response Question');
|
|
111
|
-
this.setAttribute('role', 'region');
|
|
112
|
-
this.render();
|
|
113
|
-
}
|
|
114
|
-
}, {
|
|
115
|
-
key: "render",
|
|
116
|
-
value: function render() {
|
|
117
|
-
var _this2 = this;
|
|
118
|
-
|
|
119
|
-
if (this._model && this._session) {
|
|
120
|
-
var elem = /*#__PURE__*/_react["default"].createElement(_main["default"], {
|
|
121
|
-
model: this._model,
|
|
122
|
-
session: this._session,
|
|
123
|
-
onChange: this.handleChange.bind(this)
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
_reactDom["default"].render(elem, this, function () {
|
|
127
|
-
(0, _mathRendering.renderMath)(_this2);
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}]);
|
|
132
|
-
return RootExtendedTextEntry;
|
|
133
|
-
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
134
|
-
|
|
135
|
-
exports["default"] = RootExtendedTextEntry;
|
|
136
|
-
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","domParser","window","undefined","DOMParser","parseFromString","v","textContent","value","document","body","err","isComplete","tc","out","length","RootExtendedTextEntry","_model","_session","m","dispatchEvent","ModelSetEvent","tagName","toLowerCase","render","s","SessionChangedEvent","setAttribute","elem","React","createElement","Main","model","session","onChange","handleChange","bind","ReactDOM","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,6BAAN,CAAZ;AAEA,IAAMC,SAAS,GAAG,QAAOC,MAAP,0DAAOA,MAAP,OAAkBC,SAAlB,GAA8B,IAAIC,SAAJ,EAA9B,GAAgD;AAAEC,EAAAA,eAAe,EAAE,yBAACC,CAAD;AAAA,WAAOA,CAAP;AAAA;AAAnB,CAAlE;;AAEO,SAASC,WAAT,CAAqBC,KAArB,EAA4B;AACjC,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7B,WAAOL,SAAP;AACD;;AACD,MAAI;AACF,QAAMM,QAAQ,GAAGR,SAAS,CAACI,eAAV,CAA0BG,KAA1B,EAAiC,WAAjC,CAAjB;AACA,QAAMD,YAAW,GAAGE,QAAQ,CAACC,IAAT,CAAcH,WAAlC;AACA,WAAOA,YAAP;AACD,GAJD,CAIE,OAAOI,GAAP,EAAY;AACZX,IAAAA,GAAG,CAAC,kCAAD,EAAqCQ,KAArC,CAAH;AACA,WAAOA,KAAP;AACD;AACF;;AAEM,SAASI,UAAT,CAAoBJ,KAApB,EAA2B;AAChC,MAAMK,EAAE,GAAGN,WAAW,CAACC,KAAD,CAAtB;AACA,MAAMM,GAAG,GAAGD,EAAE,KAAKV,SAAP,IAAoBU,EAAE,CAACE,MAAH,GAAY,CAA5C;AACA,SAAOD,GAAP;AACD;;IAEoBE,qB;;;;;AACnB,mCAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,IAAhB;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKF,MAAL,GAAcE,CAAd;AACA,WAAKC,aAAL,CAAmB,IAAIC,8BAAJ,CAAkB,KAAKC,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAA9C,EAAqD,CAAC,CAAC,KAAKN,MAA5D,CAAnB;AAEA,WAAKO,MAAL;AACD;;;SAOD,eAAc;AACZ,aAAO,KAAKN,QAAZ;AACD,K;SAPD,aAAYO,CAAZ,EAAe;AACb,WAAKP,QAAL,GAAgBO,CAAhB;AACA,WAAKD,MAAL;AACD;;;WAMD,sBAAahB,KAAb,EAAoB;AAClB,WAAKU,QAAL,CAAcV,KAAd,GAAsBA,KAAtB;AAEA,WAAKY,aAAL,CAAmB,IAAIM,oCAAJ,CAAwB,KAAKJ,OAAL,CAAaC,WAAb,EAAxB,EAAoDX,UAAU,CAACJ,KAAD,CAA9D,CAAnB;AACD;;;WAED,6BAAoB;AAClB,WAAKmB,YAAL,CAAkB,YAAlB,EAAgC,2BAAhC;AACA,WAAKA,YAAL,CAAkB,MAAlB,EAA0B,QAA1B;AAEA,WAAKH,MAAL;AACD;;;WAED,kBAAS;AAAA;;AACP,UAAI,KAAKP,MAAL,IAAe,KAAKC,QAAxB,EAAkC;AAChC,YAAIU,IAAI,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCC,UAAAA,KAAK,EAAE,KAAKf,MADuB;AAEnCgB,UAAAA,OAAO,EAAE,KAAKf,QAFqB;AAGnCgB,UAAAA,QAAQ,EAAE,KAAKC,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB;AAHyB,SAA1B,CAAX;;AAMAC,6BAASb,MAAT,CAAgBI,IAAhB,EAAsB,IAAtB,EAA4B,YAAM;AAChC,yCAAW,MAAX;AACD,SAFD;AAGD;AACF;;;kDAhDgDU,W","sourcesContent":["import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { renderMath } from '@pie-lib/pie-toolbox/math-rendering';\n\nimport { ModelSetEvent, SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:extended-text-entry');\n\nconst domParser = typeof window !== undefined ? new DOMParser() : { parseFromString: (v) => v };\n\nexport function textContent(value) {\n if (typeof value !== 'string') {\n return undefined;\n }\n try {\n const document = domParser.parseFromString(value, 'text/html');\n const textContent = document.body.textContent;\n return textContent;\n } catch (err) {\n log('tried to parse as dom and failed', value);\n return value;\n }\n}\n\nexport function isComplete(value) {\n const tc = textContent(value);\n const out = tc !== undefined && tc.length > 0;\n return out;\n}\n\nexport default class RootExtendedTextEntry extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n }\n\n set model(m) {\n this._model = m;\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), false, !!this._model));\n\n this.render();\n }\n\n set session(s) {\n this._session = s;\n this.render();\n }\n\n get session() {\n return this._session;\n }\n\n handleChange(value) {\n this._session.value = value;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), isComplete(value)));\n }\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Written Response Question'); \n this.setAttribute('role', 'region');\n\n this.render();\n }\n\n render() {\n if (this._model && this._session) {\n let elem = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onChange: this.handleChange.bind(this),\n });\n\n ReactDOM.render(elem, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
|
package/lib/main.js
DELETED
|
@@ -1,216 +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 _editableHtml = require("@pie-lib/pie-toolbox/editable-html");
|
|
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 _debug = _interopRequireDefault(require("debug"));
|
|
35
|
-
|
|
36
|
-
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
37
|
-
|
|
38
|
-
var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
|
|
39
|
-
|
|
40
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
41
|
-
|
|
42
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
43
|
-
|
|
44
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
45
|
-
|
|
46
|
-
var log = (0, _debug["default"])('@pie-ui:extended-text-entry');
|
|
47
|
-
|
|
48
|
-
var style = function style(theme) {
|
|
49
|
-
return {
|
|
50
|
-
main: {
|
|
51
|
-
backgroundColor: _renderUi.color.background(),
|
|
52
|
-
color: _renderUi.color.text()
|
|
53
|
-
},
|
|
54
|
-
prompt: {
|
|
55
|
-
width: '100%',
|
|
56
|
-
color: _renderUi.color.text(),
|
|
57
|
-
marginBottom: theme.spacing.unit * 2,
|
|
58
|
-
fontSize: 'inherit'
|
|
59
|
-
},
|
|
60
|
-
teacherInstructions: {
|
|
61
|
-
marginBottom: theme.spacing.unit * 2
|
|
62
|
-
},
|
|
63
|
-
editor: {
|
|
64
|
-
marginBottom: theme.spacing.unit * 2,
|
|
65
|
-
borderRadius: '4px'
|
|
66
|
-
},
|
|
67
|
-
srOnly: {
|
|
68
|
-
position: 'absolute',
|
|
69
|
-
left: '-10000px',
|
|
70
|
-
top: 'auto',
|
|
71
|
-
width: '1px',
|
|
72
|
-
height: '1px',
|
|
73
|
-
overflow: 'hidden'
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
var Main = /*#__PURE__*/function (_React$Component) {
|
|
79
|
-
(0, _inherits2["default"])(Main, _React$Component);
|
|
80
|
-
|
|
81
|
-
var _super = _createSuper(Main);
|
|
82
|
-
|
|
83
|
-
function Main() {
|
|
84
|
-
var _this;
|
|
85
|
-
|
|
86
|
-
(0, _classCallCheck2["default"])(this, Main);
|
|
87
|
-
|
|
88
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
89
|
-
args[_key] = arguments[_key];
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
93
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeSession", (0, _debounce["default"])(_this.props.onChange, 1500));
|
|
94
|
-
return _this;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
(0, _createClass2["default"])(Main, [{
|
|
98
|
-
key: "render",
|
|
99
|
-
value: function render() {
|
|
100
|
-
var _this2 = this;
|
|
101
|
-
|
|
102
|
-
var _this$props = this.props,
|
|
103
|
-
model = _this$props.model,
|
|
104
|
-
classes = _this$props.classes,
|
|
105
|
-
session = _this$props.session;
|
|
106
|
-
var dimensions = model.dimensions,
|
|
107
|
-
disabled = model.disabled,
|
|
108
|
-
feedback = model.feedback,
|
|
109
|
-
teacherInstructions = model.teacherInstructions,
|
|
110
|
-
mathInput = model.mathInput,
|
|
111
|
-
spanishInput = model.spanishInput,
|
|
112
|
-
specialInput = model.specialInput,
|
|
113
|
-
animationsDisabled = model.animationsDisabled,
|
|
114
|
-
playersToolbarPosition = model.playersToolbarPosition,
|
|
115
|
-
spellCheckEnabled = model.spellCheckEnabled;
|
|
116
|
-
var value = session.value;
|
|
117
|
-
|
|
118
|
-
var _ref = dimensions || {},
|
|
119
|
-
width = _ref.width,
|
|
120
|
-
height = _ref.height;
|
|
121
|
-
|
|
122
|
-
var maxHeight = '40vh';
|
|
123
|
-
var toolbarOpts = {
|
|
124
|
-
position: playersToolbarPosition === 'top' ? 'top' : 'bottom'
|
|
125
|
-
};
|
|
126
|
-
log('[render] disabled? ', disabled);
|
|
127
|
-
|
|
128
|
-
var teacherInstructionsDiv = /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
129
|
-
defaultClassName: "teacher-instructions",
|
|
130
|
-
prompt: teacherInstructions
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
var languageCharactersProps = [];
|
|
134
|
-
|
|
135
|
-
if (spanishInput) {
|
|
136
|
-
languageCharactersProps.push({
|
|
137
|
-
language: 'spanish'
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
if (specialInput) {
|
|
142
|
-
languageCharactersProps.push({
|
|
143
|
-
language: 'special'
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
148
|
-
className: classes.main,
|
|
149
|
-
ref: function ref(_ref2) {
|
|
150
|
-
_this2.containerRef = _ref2;
|
|
151
|
-
}
|
|
152
|
-
}, /*#__PURE__*/_react["default"].createElement("h2", {
|
|
153
|
-
className: classes.srOnly
|
|
154
|
-
}, "Constructed Response Question"), teacherInstructions && /*#__PURE__*/_react["default"].createElement("div", {
|
|
155
|
-
className: classes.teacherInstructions
|
|
156
|
-
}, !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
157
|
-
labels: {
|
|
158
|
-
hidden: 'Show Teacher Instructions',
|
|
159
|
-
visible: 'Hide Teacher Instructions'
|
|
160
|
-
},
|
|
161
|
-
className: classes.collapsible
|
|
162
|
-
}, teacherInstructionsDiv) : teacherInstructionsDiv), model.prompt && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
163
|
-
component: 'span',
|
|
164
|
-
className: classes.prompt
|
|
165
|
-
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
166
|
-
defaultClassName: "prompt",
|
|
167
|
-
prompt: model.prompt
|
|
168
|
-
})), /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
|
|
169
|
-
className: (0, _classnames["default"])(classes.editor, 'response-area-editor'),
|
|
170
|
-
onChange: this.changeSession,
|
|
171
|
-
markup: value || '',
|
|
172
|
-
width: width && width.toString(),
|
|
173
|
-
minHeight: height && height.toString(),
|
|
174
|
-
maxHeight: maxHeight,
|
|
175
|
-
disabled: disabled,
|
|
176
|
-
highlightShape: true,
|
|
177
|
-
toolbarOpts: toolbarOpts,
|
|
178
|
-
spellCheck: spellCheckEnabled,
|
|
179
|
-
pluginProps: {
|
|
180
|
-
math: {
|
|
181
|
-
disabled: !mathInput,
|
|
182
|
-
customKeys: this.props.model.customKeys,
|
|
183
|
-
keypadMode: this.props.model.equationEditor,
|
|
184
|
-
controlledKeypadMode: false
|
|
185
|
-
},
|
|
186
|
-
video: {
|
|
187
|
-
disabled: true
|
|
188
|
-
},
|
|
189
|
-
audio: {
|
|
190
|
-
disabled: true
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
|
-
languageCharactersProps: languageCharactersProps
|
|
194
|
-
}), feedback && /*#__PURE__*/_react["default"].createElement(_renderUi.Feedback, {
|
|
195
|
-
correctness: "correct",
|
|
196
|
-
feedback: feedback
|
|
197
|
-
}));
|
|
198
|
-
}
|
|
199
|
-
}]);
|
|
200
|
-
return Main;
|
|
201
|
-
}(_react["default"].Component);
|
|
202
|
-
|
|
203
|
-
exports.Main = Main;
|
|
204
|
-
(0, _defineProperty2["default"])(Main, "propTypes", {
|
|
205
|
-
onChange: _propTypes["default"].func.isRequired,
|
|
206
|
-
model: _propTypes["default"].object,
|
|
207
|
-
classes: _propTypes["default"].object.isRequired,
|
|
208
|
-
session: _propTypes["default"].shape({
|
|
209
|
-
value: _propTypes["default"].string
|
|
210
|
-
}).isRequired
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
var _default = (0, _styles.withStyles)(style)(Main);
|
|
214
|
-
|
|
215
|
-
exports["default"] = _default;
|
|
216
|
-
//# sourceMappingURL=main.js.map
|
package/lib/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["log","style","theme","main","backgroundColor","color","background","text","prompt","width","marginBottom","spacing","unit","fontSize","teacherInstructions","editor","borderRadius","srOnly","position","left","top","height","overflow","Main","props","onChange","model","classes","session","dimensions","disabled","feedback","mathInput","spanishInput","specialInput","animationsDisabled","playersToolbarPosition","spellCheckEnabled","value","maxHeight","toolbarOpts","teacherInstructionsDiv","languageCharactersProps","push","language","ref","containerRef","hidden","visible","collapsible","changeSession","toString","math","customKeys","keypadMode","equationEditor","controlledKeypadMode","video","audio","React","Component","PropTypes","func","isRequired","object","shape","string"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,6BAAN,CAAZ;;AAEA,IAAMC,KAAK,GAAG,SAARA,KAAQ,CAACC,KAAD;AAAA,SAAY;AACxBC,IAAAA,IAAI,EAAE;AACJC,MAAAA,eAAe,EAAEC,gBAAMC,UAAN,EADb;AAEJD,MAAAA,KAAK,EAAEA,gBAAME,IAAN;AAFH,KADkB;AAKxBC,IAAAA,MAAM,EAAE;AACNC,MAAAA,KAAK,EAAE,MADD;AAENJ,MAAAA,KAAK,EAAEA,gBAAME,IAAN,EAFD;AAGNG,MAAAA,YAAY,EAAER,KAAK,CAACS,OAAN,CAAcC,IAAd,GAAqB,CAH7B;AAINC,MAAAA,QAAQ,EAAE;AAJJ,KALgB;AAWxBC,IAAAA,mBAAmB,EAAE;AACnBJ,MAAAA,YAAY,EAAER,KAAK,CAACS,OAAN,CAAcC,IAAd,GAAqB;AADhB,KAXG;AAcxBG,IAAAA,MAAM,EAAE;AACNL,MAAAA,YAAY,EAAER,KAAK,CAACS,OAAN,CAAcC,IAAd,GAAqB,CAD7B;AAENI,MAAAA,YAAY,EAAE;AAFR,KAdgB;AAkBxBC,IAAAA,MAAM,EAAE;AACNC,MAAAA,QAAQ,EAAE,UADJ;AAENC,MAAAA,IAAI,EAAE,UAFA;AAGNC,MAAAA,GAAG,EAAE,MAHC;AAINX,MAAAA,KAAK,EAAE,KAJD;AAKNY,MAAAA,MAAM,EAAE,KALF;AAMNC,MAAAA,QAAQ,EAAE;AANJ;AAlBgB,GAAZ;AAAA,CAAd;;IA4BaC,I;;;;;;;;;;;;;;;sGAUK,0BAAS,MAAKC,KAAL,CAAWC,QAApB,EAA8B,IAA9B,C;;;;;;WAEhB,kBAAS;AAAA;;AACP,wBAAoC,KAAKD,KAAzC;AAAA,UAAQE,KAAR,eAAQA,KAAR;AAAA,UAAeC,OAAf,eAAeA,OAAf;AAAA,UAAwBC,OAAxB,eAAwBA,OAAxB;AAEA,UACEC,UADF,GAWIH,KAXJ,CACEG,UADF;AAAA,UAEEC,QAFF,GAWIJ,KAXJ,CAEEI,QAFF;AAAA,UAGEC,QAHF,GAWIL,KAXJ,CAGEK,QAHF;AAAA,UAIEjB,mBAJF,GAWIY,KAXJ,CAIEZ,mBAJF;AAAA,UAKEkB,SALF,GAWIN,KAXJ,CAKEM,SALF;AAAA,UAMEC,YANF,GAWIP,KAXJ,CAMEO,YANF;AAAA,UAOEC,YAPF,GAWIR,KAXJ,CAOEQ,YAPF;AAAA,UAQEC,kBARF,GAWIT,KAXJ,CAQES,kBARF;AAAA,UASEC,sBATF,GAWIV,KAXJ,CASEU,sBATF;AAAA,UAUEC,iBAVF,GAWIX,KAXJ,CAUEW,iBAVF;AAYA,UAAQC,KAAR,GAAkBV,OAAlB,CAAQU,KAAR;;AACA,iBAA0BT,UAAU,IAAI,EAAxC;AAAA,UAAQpB,KAAR,QAAQA,KAAR;AAAA,UAAeY,MAAf,QAAeA,MAAf;;AACA,UAAMkB,SAAS,GAAG,MAAlB;AACA,UAAMC,WAAW,GAAG;AAAEtB,QAAAA,QAAQ,EAAEkB,sBAAsB,KAAK,KAA3B,GAAmC,KAAnC,GAA2C;AAAvD,OAApB;AAEApC,MAAAA,GAAG,CAAC,qBAAD,EAAwB8B,QAAxB,CAAH;;AAEA,UAAMW,sBAAsB,gBAC1B,gCAAC,uBAAD;AAAe,QAAA,gBAAgB,EAAC,sBAAhC;AAAuD,QAAA,MAAM,EAAE3B;AAA/D,QADF;;AAIA,UAAM4B,uBAAuB,GAAG,EAAhC;;AAEA,UAAIT,YAAJ,EAAkB;AAChBS,QAAAA,uBAAuB,CAACC,IAAxB,CAA6B;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SAA7B;AACD;;AAED,UAAIV,YAAJ,EAAkB;AAChBQ,QAAAA,uBAAuB,CAACC,IAAxB,CAA6B;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SAA7B;AACD;;AAED,0BACE;AACE,QAAA,SAAS,EAAEjB,OAAO,CAACxB,IADrB;AAEE,QAAA,GAAG,EAAE,aAAC0C,KAAD,EAAS;AACZ,UAAA,MAAI,CAACC,YAAL,GAAoBD,KAApB;AACD;AAJH,sBAME;AAAI,QAAA,SAAS,EAAElB,OAAO,CAACV;AAAvB,yCANF,EAQGH,mBAAmB,iBAClB;AAAK,QAAA,SAAS,EAAEa,OAAO,CAACb;AAAxB,SACG,CAACqB,kBAAD,gBACC,gCAAC,qBAAD;AACE,QAAA,MAAM,EAAE;AAAEY,UAAAA,MAAM,EAAE,2BAAV;AAAuCC,UAAAA,OAAO,EAAE;AAAhD,SADV;AAEE,QAAA,SAAS,EAAErB,OAAO,CAACsB;AAFrB,SAIGR,sBAJH,CADD,GAQCA,sBATJ,CATJ,EAuBGf,KAAK,CAAClB,MAAN,iBACC,gCAAC,sBAAD;AAAY,QAAA,SAAS,EAAE,MAAvB;AAA+B,QAAA,SAAS,EAAEmB,OAAO,CAACnB;AAAlD,sBACE,gCAAC,uBAAD;AAAe,QAAA,gBAAgB,EAAC,QAAhC;AAAyC,QAAA,MAAM,EAAEkB,KAAK,CAAClB;AAAvD,QADF,CAxBJ,eA6BE,gCAAC,0BAAD;AACE,QAAA,SAAS,EAAE,4BAAWmB,OAAO,CAACZ,MAAnB,EAA2B,sBAA3B,CADb;AAEE,QAAA,QAAQ,EAAE,KAAKmC,aAFjB;AAGE,QAAA,MAAM,EAAEZ,KAAK,IAAI,EAHnB;AAIE,QAAA,KAAK,EAAE7B,KAAK,IAAIA,KAAK,CAAC0C,QAAN,EAJlB;AAKE,QAAA,SAAS,EAAE9B,MAAM,IAAIA,MAAM,CAAC8B,QAAP,EALvB;AAME,QAAA,SAAS,EAAEZ,SANb;AAOE,QAAA,QAAQ,EAAET,QAPZ;AAQE,QAAA,cAAc,EAAE,IARlB;AASE,QAAA,WAAW,EAAEU,WATf;AAUE,QAAA,UAAU,EAAEH,iBAVd;AAWE,QAAA,WAAW,EAAE;AACXe,UAAAA,IAAI,EAAE;AACJtB,YAAAA,QAAQ,EAAE,CAACE,SADP;AAEJqB,YAAAA,UAAU,EAAE,KAAK7B,KAAL,CAAWE,KAAX,CAAiB2B,UAFzB;AAGJC,YAAAA,UAAU,EAAE,KAAK9B,KAAL,CAAWE,KAAX,CAAiB6B,cAHzB;AAIJC,YAAAA,oBAAoB,EAAE;AAJlB,WADK;AAOXC,UAAAA,KAAK,EAAE;AACL3B,YAAAA,QAAQ,EAAE;AADL,WAPI;AAUX4B,UAAAA,KAAK,EAAE;AACL5B,YAAAA,QAAQ,EAAE;AADL;AAVI,SAXf;AAyBE,QAAA,uBAAuB,EAAEY;AAzB3B,QA7BF,EAyDGX,QAAQ,iBAAI,gCAAC,kBAAD;AAAU,QAAA,WAAW,EAAC,SAAtB;AAAgC,QAAA,QAAQ,EAAEA;AAA1C,QAzDf,CADF;AA6DD;;;EA7GuB4B,kBAAMC,S;;;iCAAnBrC,I,eACQ;AACjBE,EAAAA,QAAQ,EAAEoC,sBAAUC,IAAV,CAAeC,UADR;AAEjBrC,EAAAA,KAAK,EAAEmC,sBAAUG,MAFA;AAGjBrC,EAAAA,OAAO,EAAEkC,sBAAUG,MAAV,CAAiBD,UAHT;AAIjBnC,EAAAA,OAAO,EAAEiC,sBAAUI,KAAV,CAAgB;AACvB3B,IAAAA,KAAK,EAAEuB,sBAAUK;AADM,GAAhB,EAENH;AANc,C;;eA+GN,wBAAW9D,KAAX,EAAkBsB,IAAlB,C","sourcesContent":["import React from 'react';\nimport {EditableHtml} from '@pie-lib/pie-toolbox/editable-html';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport debug from 'debug';\nimport debounce from 'lodash/debounce';\nimport { color, Feedback, Collapsible, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport classnames from 'classnames';\n\nconst log = debug('@pie-ui:extended-text-entry');\n\nconst style = (theme) => ({\n main: {\n backgroundColor: color.background(),\n color: color.text(),\n },\n prompt: {\n width: '100%',\n color: color.text(),\n marginBottom: theme.spacing.unit * 2,\n fontSize: 'inherit',\n },\n teacherInstructions: {\n marginBottom: theme.spacing.unit * 2,\n },\n editor: {\n marginBottom: theme.spacing.unit * 2,\n borderRadius: '4px',\n },\n srOnly: {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n },\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n model: PropTypes.object,\n classes: PropTypes.object.isRequired,\n session: PropTypes.shape({\n value: PropTypes.string,\n }).isRequired,\n };\n\n changeSession = debounce(this.props.onChange, 1500);\n\n render() {\n const { model, classes, session } = this.props;\n\n const {\n dimensions,\n disabled,\n feedback,\n teacherInstructions,\n mathInput,\n spanishInput,\n specialInput,\n animationsDisabled,\n playersToolbarPosition,\n spellCheckEnabled,\n } = model;\n const { value } = session;\n const { width, height } = dimensions || {};\n const maxHeight = '40vh';\n const toolbarOpts = { position: playersToolbarPosition === 'top' ? 'top' : 'bottom' };\n\n log('[render] disabled? ', disabled);\n\n const teacherInstructionsDiv = (\n <PreviewPrompt defaultClassName=\"teacher-instructions\" prompt={teacherInstructions} />\n );\n\n const languageCharactersProps = [];\n\n if (spanishInput) {\n languageCharactersProps.push({ language: 'spanish' });\n }\n\n if (specialInput) {\n languageCharactersProps.push({ language: 'special' });\n }\n\n return (\n <div\n className={classes.main}\n ref={(ref) => {\n this.containerRef = ref;\n }}\n >\n <h2 className={classes.srOnly}>Constructed Response Question</h2>\n\n {teacherInstructions && (\n <div className={classes.teacherInstructions}>\n {!animationsDisabled ? (\n <Collapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n className={classes.collapsible}\n >\n {teacherInstructionsDiv}\n </Collapsible>\n ) : (\n teacherInstructionsDiv\n )}\n </div>\n )}\n\n {model.prompt && (\n <Typography component={'span'} className={classes.prompt}>\n <PreviewPrompt defaultClassName=\"prompt\" prompt={model.prompt} />\n </Typography>\n )}\n\n <EditableHtml\n className={classnames(classes.editor, 'response-area-editor')}\n onChange={this.changeSession}\n markup={value || ''}\n width={width && width.toString()}\n minHeight={height && height.toString()}\n maxHeight={maxHeight}\n disabled={disabled}\n highlightShape={true}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n pluginProps={{\n math: {\n disabled: !mathInput,\n customKeys: this.props.model.customKeys,\n keypadMode: this.props.model.equationEditor,\n controlledKeypadMode: false,\n },\n video: {\n disabled: true,\n },\n audio: {\n disabled: true,\n },\n }}\n languageCharactersProps={languageCharactersProps}\n />\n\n {feedback && <Feedback correctness=\"correct\" feedback={feedback} />}\n </div>\n );\n }\n}\n\nexport default withStyles(style)(Main);\n"],"file":"main.js"}
|