@pie-element/extended-text-entry 6.8.0 → 6.8.1-beta.1445

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,96 +0,0 @@
1
- /**
2
- * Get the feedback from a {FeedbackConfig}
3
- *
4
- * @param {FeedbackConfig} feedback
5
- * @param {string} fallback
6
- */
7
- const getFeedback = (feedback, fallback) =>
8
- new Promise(resolve => {
9
- if (!feedback || feedback.type === 'none') {
10
- resolve(undefined);
11
- return;
12
- }
13
- feedback = feedback || {};
14
- const out = feedback[feedback.type] || fallback;
15
- resolve(out);
16
- });
17
-
18
- var defaults = {
19
- dimensions: {
20
- height: 100,
21
- width: 500,
22
- }
23
- };
24
-
25
- async function createDefaultModel(model = {}) {
26
-
27
- return {
28
- ...defaults,
29
- ...model,
30
- };
31
- }
32
-
33
- const normalize = question => ({
34
- ...defaults,
35
- feedbackEnabled: true,
36
- rationaleEnabled: true,
37
- promptEnabled: true,
38
- teacherInstructionsEnabled: true,
39
- studentInstructionsEnabled: true,
40
- ...question,
41
- });
42
-
43
-
44
- async function model(question, session, env) {
45
- const normalizedQuestion = normalize(question);
46
-
47
- const fb =
48
- env.mode === 'evaluate' && normalizedQuestion.feedbackEnabled
49
- ? getFeedback(normalizedQuestion.feedback, 'Your answer has been submitted')
50
- : Promise.resolve(undefined);
51
-
52
- let teacherInstructions = null;
53
- if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {
54
- teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
55
- } else {
56
- teacherInstructions = null;
57
- }
58
-
59
- let equationEditor = normalizedQuestion.equationEditor || 'miscellaneous';
60
-
61
- switch (normalizedQuestion.equationEditor) {
62
- case 'Grade 1 - 2':
63
- equationEditor = 1;
64
- break;
65
- case 'Grade 3 - 5':
66
- equationEditor = 3;
67
- break;
68
- case 'Grade 6 - 7':
69
- equationEditor = 6;
70
- break;
71
- case 'Grade 8 - HS':
72
- equationEditor = 8;
73
- break;
74
- }
75
-
76
- return fb.then(feedback => ({
77
- prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,
78
- dimensions: normalizedQuestion.dimensions,
79
- customKeys: normalizedQuestion.customKeys || [],
80
- disabled: env.mode !== 'gather',
81
- feedback,
82
- teacherInstructions,
83
- mathInput: normalizedQuestion.mathInput,
84
- equationEditor
85
- }));
86
- }
87
-
88
- async function outcome(/*question, session, env*/) {
89
- return {
90
- score: 0,
91
- completed: 'n/a',
92
- note: 'Requires manual scoring'
93
- };
94
- }
95
-
96
- export { createDefaultModel, model, normalize, outcome };
package/module/demo.js DELETED
@@ -1,36 +0,0 @@
1
- import Configure from './configure.js';
2
- import Element from './element.js';
3
- import * as controller from './controller.js';
4
-
5
- var generate = {};
6
-
7
- generate.model = (id, element) => ({
8
- id,
9
- element,
10
- customKeys: [
11
- '\\square'
12
- ],
13
- feedback: { type: 'default', default: 'this is default feedback' },
14
- prompt: 'This is the question prompt',
15
- promptEnabled: true,
16
- mathInput: true,
17
- toolbarEditorPosition: 'bottom',
18
- });
19
-
20
- const { model } = generate;
21
- var config = {
22
- elements: {
23
- 'extended-text-entry': '../..'
24
- },
25
- models: [model('1', 'extended-text-entry')]
26
- };
27
-
28
- //Note: demo-el is a custom element loaded in the markup.
29
- customElements.whenDefined("demo-el").then(() => {
30
- config.models.forEach((m) => {
31
- const de = document.createElement("demo-el");
32
- document.body.appendChild(de);
33
- de.def = { tagName: m.element, Element, Configure, controller };
34
- de.model = m;
35
- });
36
- });