@pie-element/extended-text-entry 13.0.1-next.0 → 13.0.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.
@@ -0,0 +1,255 @@
1
+ import debug from 'debug';
2
+ import { getFeedback } from '@pie-lib/feedback';
3
+
4
+ function _defineProperty(obj, key, value) {
5
+ if (key in obj) {
6
+ Object.defineProperty(obj, key, {
7
+ value: value,
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true
11
+ });
12
+ } else {
13
+ obj[key] = value;
14
+ }
15
+
16
+ return obj;
17
+ }
18
+
19
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
20
+ try {
21
+ var info = gen[key](arg);
22
+ var value = info.value;
23
+ } catch (error) {
24
+ reject(error);
25
+ return;
26
+ }
27
+
28
+ if (info.done) {
29
+ resolve(value);
30
+ } else {
31
+ Promise.resolve(value).then(_next, _throw);
32
+ }
33
+ }
34
+
35
+ function _asyncToGenerator(fn) {
36
+ return function () {
37
+ var self = this,
38
+ args = arguments;
39
+ return new Promise(function (resolve, reject) {
40
+ var gen = fn.apply(self, args);
41
+
42
+ function _next(value) {
43
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
44
+ }
45
+
46
+ function _throw(err) {
47
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
48
+ }
49
+
50
+ _next(undefined);
51
+ });
52
+ };
53
+ }
54
+
55
+ var defaults = {
56
+ annotationsEnabled: false,
57
+ dimensions: {
58
+ height: 100,
59
+ width: 500
60
+ },
61
+ equationEditor: 'Grade 8 - HS',
62
+ feedbackEnabled: false,
63
+ mathInput: false,
64
+ playerSpellCheckDisabled: true,
65
+ predefinedAnnotations: [{
66
+ label: 'good',
67
+ text: 'good',
68
+ type: 'positive'
69
+ }, {
70
+ label: '★',
71
+ text: '★',
72
+ type: 'positive'
73
+ }, {
74
+ label: ':-)',
75
+ text: ':-)',
76
+ type: 'positive'
77
+ }, {
78
+ label: 'creative',
79
+ text: 'creative',
80
+ type: 'positive'
81
+ }, {
82
+ label: 'run-on',
83
+ text: 'run-on',
84
+ type: 'negative'
85
+ }, {
86
+ label: 'frag',
87
+ text: 'fragment',
88
+ type: 'negative'
89
+ }, {
90
+ label: 'tran',
91
+ text: 'transition',
92
+ type: 'negative'
93
+ }, {
94
+ label: 'supp',
95
+ text: 'support needed',
96
+ type: 'negative'
97
+ }, {
98
+ label: 'punc',
99
+ text: 'punctuation',
100
+ type: 'negative'
101
+ }, {
102
+ label: 'agr',
103
+ text: 'agreement wrong',
104
+ type: 'negative'
105
+ }, {
106
+ label: 'unclear',
107
+ text: 'unclear',
108
+ type: 'negative'
109
+ }, {
110
+ label: 'cut',
111
+ text: 'cut',
112
+ type: 'negative'
113
+ }, {
114
+ label: 'sp',
115
+ text: 'spelling',
116
+ type: 'negative'
117
+ }, {
118
+ label: 'cap',
119
+ text: 'capitalization',
120
+ type: 'negative'
121
+ }, {
122
+ label: 'inf',
123
+ text: 'informal',
124
+ type: 'negative'
125
+ }, {
126
+ label: 'awk',
127
+ text: 'awkward',
128
+ type: 'negative'
129
+ }],
130
+ prompt: '',
131
+ promptEnabled: true,
132
+ rationale: '',
133
+ rationaleEnabled: true,
134
+ studentInstructionsEnabled: true,
135
+ teacherInstructions: '',
136
+ teacherInstructionsEnabled: true,
137
+ toolbarEditorPosition: 'bottom'
138
+ };
139
+
140
+ 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; }
141
+
142
+ 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) { _defineProperty(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; }
143
+ var log = debug('@pie-element:extended-text-entry:controller');
144
+ function createDefaultModel() {
145
+ return _createDefaultModel.apply(this, arguments);
146
+ }
147
+
148
+ function _createDefaultModel() {
149
+ _createDefaultModel = _asyncToGenerator(function* () {
150
+ var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
151
+ log('[createDefaultModel]', model);
152
+ return _objectSpread(_objectSpread({}, defaults), model);
153
+ });
154
+ return _createDefaultModel.apply(this, arguments);
155
+ }
156
+
157
+ var normalize = question => _objectSpread(_objectSpread({}, defaults), question);
158
+ function model(_x, _x2, _x3) {
159
+ return _model.apply(this, arguments);
160
+ }
161
+
162
+ function _model() {
163
+ _model = _asyncToGenerator(function* (question, session, env) {
164
+ log('[question]', question);
165
+ var normalizedQuestion = normalize(question);
166
+ var fb = env.mode === 'evaluate' && normalizedQuestion.feedbackEnabled ? getFeedback(normalizedQuestion.feedback, 'Your answer has been submitted') : Promise.resolve(undefined);
167
+ var teacherInstructions = null;
168
+
169
+ if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {
170
+ teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
171
+ } else {
172
+ teacherInstructions = null;
173
+ }
174
+
175
+ var equationEditor = normalizedQuestion.equationEditor || 'miscellaneous';
176
+
177
+ switch (normalizedQuestion.equationEditor) {
178
+ case 'Grade 1 - 2':
179
+ equationEditor = 1;
180
+ break;
181
+
182
+ case 'Grade 3 - 5':
183
+ equationEditor = 3;
184
+ break;
185
+
186
+ case 'Grade 6 - 7':
187
+ equationEditor = 6;
188
+ break;
189
+
190
+ case 'Grade 8 - HS':
191
+ equationEditor = 8;
192
+ break;
193
+ }
194
+
195
+ var annotatorMode = normalizedQuestion.annotationsEnabled && (env.role === 'instructor' || env.mode === 'evaluate');
196
+ return fb.then(feedback => ({
197
+ prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,
198
+ dimensions: normalizedQuestion.dimensions,
199
+ customKeys: normalizedQuestion.customKeys || [],
200
+ id: normalizedQuestion.id,
201
+ disabled: env.mode !== 'gather',
202
+ feedback,
203
+ teacherInstructions,
204
+ language: normalizedQuestion.language,
205
+ mathInput: normalizedQuestion.mathInput,
206
+ spanishInput: normalizedQuestion.spanishInput,
207
+ specialInput: normalizedQuestion.specialInput,
208
+ equationEditor,
209
+ spellCheckEnabled: !normalizedQuestion.playerSpellCheckDisabled,
210
+ playersToolbarPosition: normalizedQuestion.playersToolbarPosition || 'bottom',
211
+ annotatorMode,
212
+ disabledAnnotator: normalizedQuestion.annotationsEnabled ? env.role !== 'instructor' : true,
213
+ predefinedAnnotations: normalizedQuestion.annotationsEnabled ? normalizedQuestion.predefinedAnnotations : [],
214
+ extraCSSRules: normalizedQuestion.extraCSSRules
215
+ }));
216
+ });
217
+ return _model.apply(this, arguments);
218
+ }
219
+
220
+ function
221
+ /*question, session, env*/
222
+ outcome() {
223
+ return _outcome.apply(this, arguments);
224
+ } // remove all html tags
225
+
226
+ function _outcome() {
227
+ _outcome = _asyncToGenerator(function* () {
228
+ return {
229
+ score: 0,
230
+ completed: 'n/a',
231
+ note: 'Requires manual scoring'
232
+ };
233
+ });
234
+ return _outcome.apply(this, arguments);
235
+ }
236
+
237
+
238
+ var getContent = html => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');
239
+
240
+ var validate = function validate() {
241
+ var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
242
+ var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
243
+ var errors = {};
244
+ ['teacherInstructions', 'prompt'].forEach(field => {
245
+ var _config$field;
246
+
247
+ if ((_config$field = config[field]) !== null && _config$field !== void 0 && _config$field.required && !getContent(model[field])) {
248
+ errors[field] = 'This field is required.';
249
+ }
250
+ });
251
+ return errors;
252
+ };
253
+
254
+ export { createDefaultModel, model, normalize, outcome, validate };
255
+ //# sourceMappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sources":["../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../controller/src/defaults.js","../controller/src/index.js"],"sourcesContent":["export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default {\n annotationsEnabled: false,\n dimensions: { height: 100, width: 500 },\n equationEditor: 'Grade 8 - HS',\n feedbackEnabled: false,\n mathInput: false,\n playerSpellCheckDisabled: true,\n predefinedAnnotations: [\n { label: 'good', text: 'good', type: 'positive' },\n { label: '★', text: '★', type: 'positive' },\n { label: ':-)', text: ':-)', type: 'positive' },\n { label: 'creative', text: 'creative', type: 'positive' },\n { label: 'run-on', text: 'run-on', type: 'negative' },\n { label: 'frag', text: 'fragment', type: 'negative' },\n { label: 'tran', text: 'transition', type: 'negative' },\n { label: 'supp', text: 'support needed', type: 'negative' },\n { label: 'punc', text: 'punctuation', type: 'negative' },\n { label: 'agr', text: 'agreement wrong', type: 'negative' },\n { label: 'unclear', text: 'unclear', type: 'negative' },\n { label: 'cut', text: 'cut', type: 'negative' },\n { label: 'sp', text: 'spelling', type: 'negative' },\n { label: 'cap', text: 'capitalization', type: 'negative' },\n { label: 'inf', text: 'informal', type: 'negative' },\n { label: 'awk', text: 'awkward', type: 'negative' },\n ],\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n};\n","import debug from 'debug';\nimport { getFeedback } from '@pie-lib/feedback';\nimport defaults from './defaults';\n\nconst log = debug('@pie-element:extended-text-entry:controller');\n\nexport async function createDefaultModel(model = {}) {\n log('[createDefaultModel]', model);\n\n return { ...defaults, ...model };\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\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 const annotatorMode = normalizedQuestion.annotationsEnabled && (env.role === 'instructor' || env.mode === 'evaluate');\n\n return fb.then((feedback) => ({\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,\n dimensions: normalizedQuestion.dimensions,\n customKeys: normalizedQuestion.customKeys || [],\n id: normalizedQuestion.id,\n disabled: env.mode !== 'gather',\n feedback,\n teacherInstructions,\n language: normalizedQuestion.language,\n mathInput: normalizedQuestion.mathInput,\n spanishInput: normalizedQuestion.spanishInput,\n specialInput: normalizedQuestion.specialInput,\n equationEditor,\n spellCheckEnabled: !normalizedQuestion.playerSpellCheckDisabled,\n playersToolbarPosition: normalizedQuestion.playersToolbarPosition || 'bottom',\n annotatorMode,\n disabledAnnotator: normalizedQuestion.annotationsEnabled ? env.role !== 'instructor' : true,\n predefinedAnnotations: normalizedQuestion.annotationsEnabled ? normalizedQuestion.predefinedAnnotations : [],\n extraCSSRules: normalizedQuestion.extraCSSRules,\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, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/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"],"names":["annotationsEnabled","dimensions","height","width","equationEditor","feedbackEnabled","mathInput","playerSpellCheckDisabled","predefinedAnnotations","label","text","type","prompt","promptEnabled","rationale","rationaleEnabled","studentInstructionsEnabled","teacherInstructions","teacherInstructionsEnabled","toolbarEditorPosition","log","debug","createDefaultModel","model","defaults","normalize","question","session","env","normalizedQuestion","fb","mode","getFeedback","feedback","Promise","resolve","undefined","role","annotatorMode","then","customKeys","id","disabled","language","spanishInput","specialInput","spellCheckEnabled","playersToolbarPosition","disabledAnnotator","extraCSSRules","outcome","score","completed","note","getContent","html","replace","validate","config","errors","forEach","field","required"],"mappings":"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"}