@pie-element/ebsr 10.1.4-next.0 → 10.1.4

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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [10.1.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/ebsr@10.1.3...@pie-element/ebsr@10.1.4) (2024-10-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * update pie-toolbox PD-4220, PD-4194, PD-4201, PD-4189, PD-4193, PD-4018, PD-4187 ([47b14fb](https://github.com/pie-framework/pie-elements/commit/47b14fbd80a04494511bc0ae44196b4e0175f0bb))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [10.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/ebsr@10.1.2...@pie-element/ebsr@10.1.3) (2024-10-16)
7
18
 
8
19
  **Note:** Version bump only for package @pie-element/ebsr
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [10.0.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/ebsr-configure@10.0.6...@pie-element/ebsr-configure@10.0.7) (2024-10-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * update pie-toolbox PD-4220, PD-4194, PD-4201, PD-4189, PD-4193, PD-4018, PD-4187 ([47b14fb](https://github.com/pie-framework/pie-elements/commit/47b14fbd80a04494511bc0ae44196b4e0175f0bb))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [10.0.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/ebsr-configure@10.0.5...@pie-element/ebsr-configure@10.0.6) (2024-10-16)
7
18
 
8
19
  **Note:** Version bump only for package @pie-element/ebsr-configure
@@ -149,19 +149,20 @@ var defaultConfig = {
149
149
  var partModel = function partModel(base) {
150
150
  return _objectSpread({
151
151
  choiceMode: 'radio',
152
- choices: [],
153
152
  choicePrefix: 'numbers',
154
- prompt: 'Prompt',
155
- rationaleEnabled: true,
153
+ choices: [],
154
+ choicesLayout: 'vertical',
156
155
  feedbackEnabled: false,
156
+ gridColumns: 2,
157
+ prompt: '',
157
158
  promptEnabled: true,
158
- teacherInstructions: '',
159
159
  rationale: '',
160
- teacherInstructionsEnabled: true,
161
- studentInstructionsEnabled: true,
160
+ rationaleEnabled: true,
162
161
  spellCheckEnabled: true,
163
- choicesLayout: 'vertical',
164
- gridColumns: '2'
162
+ studentInstructionsEnabled: true,
163
+ teacherInstructions: '',
164
+ teacherInstructionsEnabled: true,
165
+ toolbarEditorPosition: 'bottom'
165
166
  }, base);
166
167
  };
167
168
 
@@ -170,12 +171,8 @@ var _default = {
170
171
  partLabels: true,
171
172
  partLabelType: 'Letters',
172
173
  // partialScoring: false,
173
- partA: partModel({
174
- prompt: 'Prompt A'
175
- }),
176
- partB: partModel({
177
- prompt: 'Prompt B'
178
- })
174
+ partA: partModel(),
175
+ partB: partModel()
179
176
  },
180
177
  configuration: {
181
178
  baseInputConfiguration: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["defaultConfig","addChoiceButton","settings","label","choiceMode","choicePrefix","deleteChoice","feedback","lockChoiceOrder","prompt","inputConfiguration","audio","disabled","video","image","required","rationale","settingsPanelDisabled","studentInstructions","teacherInstructions","choicesLayout","gridColumns","spellCheck","enabled","maxImageWidth","choices","maxImageHeight","mathMlOptions","mmlOutput","mmlEditing","baseInputConfiguration","partModel","base","rationaleEnabled","feedbackEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","spellCheckEnabled","model","partLabels","partLabelType","partA","partB","configuration","partialScoring","scoringType","language","languageChoices","options"],"mappings":"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","sourcesContent":["import cloneDeep from 'lodash/cloneDeep';\n\nconst defaultConfig = {\n addChoiceButton: {\n settings: true,\n label: 'Add a Choice',\n },\n choiceMode: {\n settings: true,\n label: 'Response Type',\n },\n choicePrefix: {\n settings: true,\n label: 'Choice Labels',\n },\n deleteChoice: {\n settings: true,\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n },\n lockChoiceOrder: {\n settings: true,\n label: 'Lock Choice Order',\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n settingsPanelDisabled: true,\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n choicesLayout: {\n settings: false,\n label: 'Choices Layout',\n },\n gridColumns: {\n label: 'Grid columns',\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 636,\n choices: 636,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n choices: 300,\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n choices: {\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n};\n\nconst partModel = (base) => ({\n choiceMode: 'radio',\n choices: [],\n choicePrefix: 'numbers',\n prompt: 'Prompt',\n rationaleEnabled: true,\n feedbackEnabled: false,\n promptEnabled: true,\n teacherInstructions: '',\n rationale: '',\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n spellCheckEnabled: true,\n choicesLayout: 'vertical',\n gridColumns: '2',\n ...base,\n});\n\nexport default {\n model: {\n partLabels: true,\n partLabelType: 'Letters',\n // partialScoring: false,\n partA: partModel({ prompt: 'Prompt A' }),\n partB: partModel({ prompt: 'Prompt B' }),\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n partialScoring: {\n label: 'Allow Partial Scoring',\n // this will turn off partial scoring toggle in the settings tab by default for the interaction\n // as we'd like partial scoring to be controlled from the environment entirely\n // if any other consumers would like to enable it for themselves, they can do so from their model directly.\n settings: false,\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n partA: cloneDeep(defaultConfig),\n partB: cloneDeep(defaultConfig),\n partLabels: {\n settings: true,\n label: 'Part Labels',\n },\n settingsPanelDisabled: false,\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n }\n },\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["defaultConfig","addChoiceButton","settings","label","choiceMode","choicePrefix","deleteChoice","feedback","lockChoiceOrder","prompt","inputConfiguration","audio","disabled","video","image","required","rationale","settingsPanelDisabled","studentInstructions","teacherInstructions","choicesLayout","gridColumns","spellCheck","enabled","maxImageWidth","choices","maxImageHeight","mathMlOptions","mmlOutput","mmlEditing","baseInputConfiguration","partModel","base","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","studentInstructionsEnabled","teacherInstructionsEnabled","toolbarEditorPosition","model","partLabels","partLabelType","partA","partB","configuration","partialScoring","scoringType","language","languageChoices","options"],"mappings":"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","sourcesContent":["import cloneDeep from 'lodash/cloneDeep';\n\nconst defaultConfig = {\n addChoiceButton: {\n settings: true,\n label: 'Add a Choice',\n },\n choiceMode: {\n settings: true,\n label: 'Response Type',\n },\n choicePrefix: {\n settings: true,\n label: 'Choice Labels',\n },\n deleteChoice: {\n settings: true,\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n },\n lockChoiceOrder: {\n settings: true,\n label: 'Lock Choice Order',\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n settingsPanelDisabled: true,\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n choicesLayout: {\n settings: false,\n label: 'Choices Layout',\n },\n gridColumns: {\n label: 'Grid columns',\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 636,\n choices: 636,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n choices: 300,\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n choices: {\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n};\n\nconst partModel = (base) => ({\n choiceMode: 'radio',\n choicePrefix: 'numbers',\n choices: [],\n choicesLayout: 'vertical',\n feedbackEnabled: false,\n gridColumns: 2,\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n spellCheckEnabled: true,\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n ...base,\n});\n\nexport default {\n model: {\n partLabels: true,\n partLabelType: 'Letters',\n // partialScoring: false,\n partA: partModel(),\n partB: partModel(),\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n partialScoring: {\n label: 'Allow Partial Scoring',\n // this will turn off partial scoring toggle in the settings tab by default for the interaction\n // as we'd like partial scoring to be controlled from the environment entirely\n // if any other consumers would like to enable it for themselves, they can do so from their model directly.\n settings: false,\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n partA: cloneDeep(defaultConfig),\n partB: cloneDeep(defaultConfig),\n partLabels: {\n settings: true,\n label: 'Part Labels',\n },\n settingsPanelDisabled: false,\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n },\n};\n"],"file":"defaults.js"}
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@pie-element/ebsr-configure",
3
3
  "private": true,
4
- "version": "10.0.6",
4
+ "version": "10.0.7",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "author": "",
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
- "@pie-element/multiple-choice": "^9.2.3",
11
+ "@pie-element/multiple-choice": "^9.2.4",
12
12
  "@pie-framework/pie-configure-events": "^1.2.0",
13
- "@pie-lib/pie-toolbox": "2.0.13",
13
+ "@pie-lib/pie-toolbox": "2.0.14",
14
14
  "lodash": "^4.17.15",
15
15
  "prop-types": "^15.6.2",
16
16
  "react": "^16.8.1",
@@ -8,8 +8,8 @@ Object {
8
8
  "choices": Array [],
9
9
  "choicesLayout": "vertical",
10
10
  "feedbackEnabled": false,
11
- "gridColumns": "2",
12
- "prompt": "Prompt A",
11
+ "gridColumns": 2,
12
+ "prompt": "",
13
13
  "promptEnabled": true,
14
14
  "rationale": "",
15
15
  "rationaleEnabled": true,
@@ -17,6 +17,7 @@ Object {
17
17
  "studentInstructionsEnabled": true,
18
18
  "teacherInstructions": "",
19
19
  "teacherInstructionsEnabled": true,
20
+ "toolbarEditorPosition": "bottom",
20
21
  },
21
22
  "partB": Object {
22
23
  "choiceMode": "radio",
@@ -24,8 +25,8 @@ Object {
24
25
  "choices": Array [],
25
26
  "choicesLayout": "vertical",
26
27
  "feedbackEnabled": false,
27
- "gridColumns": "2",
28
- "prompt": "Prompt B",
28
+ "gridColumns": 2,
29
+ "prompt": "",
29
30
  "promptEnabled": true,
30
31
  "rationale": "",
31
32
  "rationaleEnabled": true,
@@ -33,6 +34,7 @@ Object {
33
34
  "studentInstructionsEnabled": true,
34
35
  "teacherInstructions": "",
35
36
  "teacherInstructionsEnabled": true,
37
+ "toolbarEditorPosition": "bottom",
36
38
  },
37
39
  "partLabelType": "Letters",
38
40
  "partLabels": true,
@@ -47,8 +49,8 @@ Object {
47
49
  "choices": Array [],
48
50
  "choicesLayout": "vertical",
49
51
  "feedbackEnabled": false,
50
- "gridColumns": "2",
51
- "prompt": "Prompt A",
52
+ "gridColumns": 2,
53
+ "prompt": "",
52
54
  "promptEnabled": true,
53
55
  "rationale": "foo",
54
56
  "rationaleEnabled": true,
@@ -56,6 +58,7 @@ Object {
56
58
  "studentInstructionsEnabled": true,
57
59
  "teacherInstructions": "ti",
58
60
  "teacherInstructionsEnabled": true,
61
+ "toolbarEditorPosition": "bottom",
59
62
  },
60
63
  "partB": Object {
61
64
  "choiceMode": "radio",
@@ -63,8 +66,8 @@ Object {
63
66
  "choices": Array [],
64
67
  "choicesLayout": "vertical",
65
68
  "feedbackEnabled": false,
66
- "gridColumns": "2",
67
- "prompt": "Prompt B",
69
+ "gridColumns": 2,
70
+ "prompt": "",
68
71
  "promptEnabled": true,
69
72
  "rationale": "",
70
73
  "rationaleEnabled": true,
@@ -72,6 +75,7 @@ Object {
72
75
  "studentInstructionsEnabled": true,
73
76
  "teacherInstructions": "",
74
77
  "teacherInstructionsEnabled": true,
78
+ "toolbarEditorPosition": "bottom",
75
79
  },
76
80
  "partLabelType": "Letters",
77
81
  "partLabels": true,
@@ -103,19 +103,20 @@ const defaultConfig = {
103
103
 
104
104
  const partModel = (base) => ({
105
105
  choiceMode: 'radio',
106
- choices: [],
107
106
  choicePrefix: 'numbers',
108
- prompt: 'Prompt',
109
- rationaleEnabled: true,
107
+ choices: [],
108
+ choicesLayout: 'vertical',
110
109
  feedbackEnabled: false,
110
+ gridColumns: 2,
111
+ prompt: '',
111
112
  promptEnabled: true,
112
- teacherInstructions: '',
113
113
  rationale: '',
114
- teacherInstructionsEnabled: true,
115
- studentInstructionsEnabled: true,
114
+ rationaleEnabled: true,
116
115
  spellCheckEnabled: true,
117
- choicesLayout: 'vertical',
118
- gridColumns: '2',
116
+ studentInstructionsEnabled: true,
117
+ teacherInstructions: '',
118
+ teacherInstructionsEnabled: true,
119
+ toolbarEditorPosition: 'bottom',
119
120
  ...base,
120
121
  });
121
122
 
@@ -124,8 +125,8 @@ export default {
124
125
  partLabels: true,
125
126
  partLabelType: 'Letters',
126
127
  // partialScoring: false,
127
- partA: partModel({ prompt: 'Prompt A' }),
128
- partB: partModel({ prompt: 'Prompt B' }),
128
+ partA: partModel(),
129
+ partB: partModel(),
129
130
  },
130
131
  configuration: {
131
132
  baseInputConfiguration: {
@@ -159,6 +160,6 @@ export default {
159
160
  languageChoices: {
160
161
  label: 'Language Choices',
161
162
  options: [],
162
- }
163
+ },
163
164
  },
164
165
  };
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [8.0.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/ebsr-controller@8.0.4...@pie-element/ebsr-controller@8.0.5) (2024-10-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * update pie-toolbox PD-4220, PD-4194, PD-4201, PD-4189, PD-4193, PD-4018, PD-4187 ([47b14fb](https://github.com/pie-framework/pie-elements/commit/47b14fbd80a04494511bc0ae44196b4e0175f0bb))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [8.0.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/ebsr-controller@8.0.3...@pie-element/ebsr-controller@8.0.4) (2024-10-15)
7
18
 
8
19
 
@@ -1,28 +1,43 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ 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; }
13
+
14
+ 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; }
15
+
16
+ var partModel = function partModel(base) {
17
+ return _objectSpread({
18
+ choiceMode: 'radio',
19
+ choicePrefix: 'numbers',
20
+ choices: [],
21
+ choicesLayout: 'vertical',
22
+ feedbackEnabled: false,
23
+ gridColumns: 2,
24
+ prompt: '',
25
+ promptEnabled: true,
26
+ rationale: '',
27
+ rationaleEnabled: true,
28
+ spellCheckEnabled: true,
29
+ studentInstructionsEnabled: true,
30
+ teacherInstructions: '',
31
+ teacherInstructionsEnabled: true,
32
+ toolbarEditorPosition: 'bottom'
33
+ }, base);
34
+ };
35
+
7
36
  var _default = {
8
- partA: {
9
- choicePrefix: 'letters',
10
- choices: [{
11
- value: 'a',
12
- label: 'label a'
13
- }],
14
- prompt: 'prompt a',
15
- disabled: false
16
- },
17
- partB: {
18
- choicePrefix: 'letters',
19
- choices: [{
20
- value: 'b',
21
- label: 'label b'
22
- }],
23
- prompt: 'prompt b',
24
- disabled: false
25
- }
37
+ partLabels: true,
38
+ partLabelType: 'Letters',
39
+ partA: partModel(),
40
+ partB: partModel()
26
41
  };
27
42
  exports["default"] = _default;
28
43
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["partA","choicePrefix","choices","value","label","prompt","disabled","partB"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,YAAY,EAAE,SADT;AAELC,IAAAA,OAAO,EAAE,CACP;AACEC,MAAAA,KAAK,EAAE,GADT;AAEEC,MAAAA,KAAK,EAAE;AAFT,KADO,CAFJ;AAQLC,IAAAA,MAAM,EAAE,UARH;AASLC,IAAAA,QAAQ,EAAE;AATL,GADM;AAYbC,EAAAA,KAAK,EAAE;AACLN,IAAAA,YAAY,EAAE,SADT;AAELC,IAAAA,OAAO,EAAE,CACP;AACEC,MAAAA,KAAK,EAAE,GADT;AAEEC,MAAAA,KAAK,EAAE;AAFT,KADO,CAFJ;AAQLC,IAAAA,MAAM,EAAE,UARH;AASLC,IAAAA,QAAQ,EAAE;AATL;AAZM,C","sourcesContent":["export default {\n partA: {\n choicePrefix: 'letters',\n choices: [\n {\n value: 'a',\n label: 'label a',\n },\n ],\n prompt: 'prompt a',\n disabled: false,\n },\n partB: {\n choicePrefix: 'letters',\n choices: [\n {\n value: 'b',\n label: 'label b',\n },\n ],\n prompt: 'prompt b',\n disabled: false,\n },\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["partModel","base","choiceMode","choicePrefix","choices","choicesLayout","feedbackEnabled","gridColumns","prompt","promptEnabled","rationale","rationaleEnabled","spellCheckEnabled","studentInstructionsEnabled","teacherInstructions","teacherInstructionsEnabled","toolbarEditorPosition","partLabels","partLabelType","partA","partB"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,IAAD;AAAA;AAChBC,IAAAA,UAAU,EAAE,OADI;AAEhBC,IAAAA,YAAY,EAAE,SAFE;AAGhBC,IAAAA,OAAO,EAAE,EAHO;AAIhBC,IAAAA,aAAa,EAAE,UAJC;AAKhBC,IAAAA,eAAe,EAAE,KALD;AAMhBC,IAAAA,WAAW,EAAE,CANG;AAOhBC,IAAAA,MAAM,EAAE,EAPQ;AAQhBC,IAAAA,aAAa,EAAE,IARC;AAShBC,IAAAA,SAAS,EAAE,EATK;AAUhBC,IAAAA,gBAAgB,EAAE,IAVF;AAWhBC,IAAAA,iBAAiB,EAAE,IAXH;AAYhBC,IAAAA,0BAA0B,EAAE,IAZZ;AAahBC,IAAAA,mBAAmB,EAAE,EAbL;AAchBC,IAAAA,0BAA0B,EAAE,IAdZ;AAehBC,IAAAA,qBAAqB,EAAE;AAfP,KAgBbf,IAhBa;AAAA,CAAlB;;eAmBe;AACbgB,EAAAA,UAAU,EAAE,IADC;AAEbC,EAAAA,aAAa,EAAE,SAFF;AAGbC,EAAAA,KAAK,EAAEnB,SAAS,EAHH;AAIboB,EAAAA,KAAK,EAAEpB,SAAS;AAJH,C","sourcesContent":["const partModel = (base) => ({\n choiceMode: 'radio',\n choicePrefix: 'numbers',\n choices: [],\n choicesLayout: 'vertical',\n feedbackEnabled: false,\n gridColumns: 2,\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n spellCheckEnabled: true,\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n ...base,\n});\n\nexport default {\n partLabels: true,\n partLabelType: 'Letters',\n partA: partModel(),\n partB: partModel(),\n};\n"],"file":"defaults.js"}
@@ -90,6 +90,12 @@ var parsePart = function parsePart(part, key, session, env) {
90
90
  });
91
91
  };
92
92
 
93
+ var normalizePart = function normalizePart(model, base) {
94
+ return _objectSpread(_objectSpread(_objectSpread({}, base), model), {}, {
95
+ choicesLayout: model.choicesLayout || model.verticalMode === false && 'horizontal' || 'vertical'
96
+ });
97
+ };
98
+
93
99
  var normalize = function normalize(_ref) {
94
100
  var _ref$partA = _ref.partA,
95
101
  partA = _ref$partA === void 0 ? {} : _ref$partA,
@@ -97,32 +103,13 @@ var normalize = function normalize(_ref) {
97
103
  partB = _ref$partB === void 0 ? {} : _ref$partB,
98
104
  language = _ref.language,
99
105
  question = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
100
- return _objectSpread(_objectSpread({
101
- partLabels: true,
102
- partLabelType: 'Letters'
103
- }, question), {}, {
104
- partA: _objectSpread(_objectSpread(_objectSpread({}, _defaults["default"].partA), {}, {
105
- rationaleEnabled: true,
106
- feedbackEnabled: false,
107
- promptEnabled: true,
108
- teacherInstructionsEnabled: true,
109
- studentInstructionsEnabled: true,
110
- gridColumns: '2',
106
+ return _objectSpread(_objectSpread(_objectSpread({}, _defaults["default"]), question), {}, {
107
+ partA: normalizePart(partA, _objectSpread(_objectSpread({}, _defaults["default"].partA), {}, {
111
108
  language: language
112
- }, partA), {}, {
113
- choicesLayout: partA.choicesLayout || partA.verticalMode === false && 'horizontal' || 'vertical'
114
- }),
115
- partB: _objectSpread(_objectSpread(_objectSpread({}, _defaults["default"].partB), {}, {
116
- rationaleEnabled: true,
117
- promptEnabled: true,
118
- feedbackEnabled: false,
119
- teacherInstructionsEnabled: true,
120
- studentInstructionsEnabled: true,
121
- gridColumns: '2',
109
+ })),
110
+ partB: normalizePart(partB, _objectSpread(_objectSpread({}, _defaults["default"].partB), {}, {
122
111
  language: language
123
- }, partB), {}, {
124
- choicesLayout: partB.choicesLayout || partB.verticalMode === false && 'horizontal' || 'vertical'
125
- })
112
+ }))
126
113
  });
127
114
  };
128
115
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["translator","Translator","prepareChoice","model","env","defaultFeedback","choice","out","label","value","role","mode","rationale","rationaleEnabled","correct","feedbackEnabled","feedbackType","feedback","type","parsePart","part","key","session","Object","assign","incorrect","choices","map","disabled","complete","min","filter","c","length","responseCorrect","undefined","normalize","partA","partB","language","question","partLabels","partLabelType","defaults","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","gridColumns","choicesLayout","verticalMode","updateSession","normalizedQuestion","shuffledValues","us","id","element","update","Promise","resolve","partASession","partALockChoiceOrder","partAChoices","partBChoices","partBSession","partBLockChoiceOrder","e","console","error","partLabel","t","lng","index","teacherInstructions","prompt","createDefaultModel","isCorrect","getScore","config","sessionPart","partialScoringEnabled","maxScore","sessionPartValue","chosen","find","v","correctAndNotChosen","incorrectAndChosen","correctChoices","reduce","total","parseFloat","toFixed","outcome","score","scoreA","scoreB","empty","partialScoring","enabled","max","returnPartCorrect","answers","forEach","i","push","createCorrectResponseSession","partACorrect","partBCorrect","getInnerText","html","replaceAll","getContent","replace","validatePart","minAnswerChoices","maxAnswerChoices","reversedChoices","reverse","errors","choicesErrors","rationaleErrors","hasCorrectResponse","field","required","identicalAnswer","slice","some","nbOfChoices","answerChoices","correctResponse","validate","partAConfig","partBConfig","partAErrors","partBErrors"],"mappings":"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","sourcesContent":["import defaults from './defaults';\nimport { lockChoices, getShuffledChoices, partialScoring } from '@pie-lib/pie-toolbox/controller-utils';\nimport { isResponseCorrect } from './utils';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport Translator from '@pie-lib/pie-toolbox/translator';\n\nconst { translator } = Translator;\n\nconst prepareChoice = (model, env, defaultFeedback) => (choice) => {\n const out = {\n label: choice.label,\n value: choice.value,\n };\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n out.rationale = model.rationaleEnabled ? choice.rationale : null;\n } else {\n out.rationale = null;\n }\n\n if (env.mode === 'evaluate') {\n out.correct = !!choice.correct;\n\n if (model.feedbackEnabled) {\n const feedbackType = (choice.feedback && choice.feedback.type) || 'none';\n\n if (feedbackType === 'default') {\n out.feedback = defaultFeedback[choice.correct ? 'correct' : 'incorrect'];\n } else if (feedbackType === 'custom') {\n out.feedback = choice.feedback.value;\n }\n }\n }\n\n return out;\n};\n\nconst parsePart = (part, key, session, env) => {\n const defaultFeedback = Object.assign({ correct: 'Correct', incorrect: 'Incorrect' }, part.defaultFeedback);\n\n let choices = part.choices ? part.choices.map(prepareChoice(part, env, defaultFeedback)) : [];\n\n return {\n ...part,\n choices,\n disabled: env.mode !== 'gather',\n complete: {\n min: part.choices.filter((c) => c.correct).length,\n },\n responseCorrect: env.mode === 'evaluate' ? isResponseCorrect(part, key, session) : undefined,\n };\n};\n\nexport const normalize = ({ partA = {}, partB = {}, language, ...question }) => ({\n partLabels: true,\n partLabelType: 'Letters',\n ...question,\n partA: {\n ...defaults.partA,\n rationaleEnabled: true,\n feedbackEnabled: false,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n gridColumns: '2',\n language: language,\n ...partA,\n choicesLayout: partA.choicesLayout || (partA.verticalMode === false && 'horizontal') || 'vertical',\n },\n partB: {\n ...defaults.partB,\n rationaleEnabled: true,\n promptEnabled: true,\n feedbackEnabled: false,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n gridColumns: '2',\n language: language,\n ...partB,\n choicesLayout: partB.choicesLayout || (partB.verticalMode === false && 'horizontal') || 'vertical',\n },\n});\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport async function model(question, session, env, updateSession) {\n const normalizedQuestion = normalize(question);\n const partA = parsePart(normalizedQuestion.partA, 'partA', session, env);\n const partB = parsePart(normalizedQuestion.partB, 'partB', session, env);\n\n const shuffledValues = {};\n\n const us = (part) => (id, element, update) =>\n new Promise((resolve) => {\n shuffledValues[part] = update.shuffledValues;\n resolve();\n });\n\n const partASession = get(session, 'value.partA');\n const partALockChoiceOrder = lockChoices(normalizedQuestion.partA, partASession, env);\n\n const { choices: partAChoices } = partA || {};\n const { choices: partBChoices } = partB || {};\n\n if (!partALockChoiceOrder && partAChoices && partAChoices.length) {\n partA.choices = await getShuffledChoices(\n partAChoices,\n { shuffledValues: (session.shuffledValues || {}).partA },\n us('partA'),\n 'value',\n );\n }\n\n const partBSession = get(session, 'value.partB');\n const partBLockChoiceOrder = lockChoices(normalizedQuestion.partB, partBSession, env);\n\n if (!partBLockChoiceOrder && partBChoices && partBChoices.length) {\n partB.choices = await getShuffledChoices(\n partBChoices,\n { shuffledValues: (session.shuffledValues || {}).partB },\n us('partB'),\n 'value',\n );\n }\n\n if (!isEmpty(shuffledValues)) {\n if (updateSession && typeof updateSession === 'function') {\n updateSession(session.id, session.element, {\n shuffledValues,\n }).catch((e) => {\n // eslint-disable-next-line no-console\n console.error('update session failed', e);\n });\n }\n }\n\n if (normalizedQuestion.partLabels) {\n const language = normalizedQuestion.language;\n partA.partLabel = translator.t('ebsr.part', {lng: language, index: normalizedQuestion.partLabelType === 'Letters' ? 'A' : '1'});\n partB.partLabel = translator.t('ebsr.part', {lng: language, index: normalizedQuestion.partLabelType === 'Letters' ? 'B' : '2'});\n } else {\n partA.partLabel = undefined;\n partB.partLabel = undefined;\n }\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n partA.teacherInstructions = normalizedQuestion.partA.teacherInstructionsEnabled\n ? normalizedQuestion.partA.teacherInstructions\n : null;\n partB.teacherInstructions = normalizedQuestion.partB.teacherInstructionsEnabled\n ? normalizedQuestion.partB.teacherInstructions\n : null;\n } else {\n partA.teacherInstructions = null;\n partB.teacherInstructions = null;\n }\n\n partA.prompt = normalizedQuestion.partA.promptEnabled ? normalizedQuestion.partA.prompt : null;\n partB.prompt = normalizedQuestion.partB.promptEnabled ? normalizedQuestion.partB.prompt : null;\n\n return new Promise((resolve) => {\n resolve({\n disabled: env.mode !== 'gather',\n mode: env.mode,\n partA,\n partB,\n });\n });\n}\n\nexport const createDefaultModel = (model = {}) =>\n new Promise((resolve) => {\n resolve({\n ...defaults,\n ...model,\n });\n });\n\nconst isCorrect = (c) => c.correct === true;\n\nconst getScore = (config, sessionPart, key, partialScoringEnabled) => {\n const { choices = [] } = (config && config[key]) || {};\n const maxScore = choices.length;\n const { value: sessionPartValue } = sessionPart || {};\n\n const chosen = (c) => !!(sessionPartValue || []).find((v) => v === c.value);\n const correctAndNotChosen = (c) => isCorrect(c) && !chosen(c);\n const incorrectAndChosen = (c) => !isCorrect(c) && chosen(c);\n const correctChoices = choices.reduce((total, choice) => {\n if (correctAndNotChosen(choice) || incorrectAndChosen(choice)) {\n return total - 1;\n } else {\n return total;\n }\n }, choices.length);\n\n // determine score for a part\n if (!partialScoringEnabled && correctChoices < maxScore) {\n return 0;\n }\n\n return parseFloat(maxScore ? (correctChoices / maxScore).toFixed(2) : 0);\n};\n\nexport function outcome(config, session, env) {\n return new Promise((resolve) => {\n const { value } = session || {};\n\n if (!session || !value) {\n resolve({ score: 0, scoreA: 0, scoreB: 0, empty: true });\n }\n\n if (value) {\n const { partA, partB } = value || {};\n\n const partialScoringEnabled = partialScoring.enabled(config, env);\n\n const scoreA = getScore(config, partA, 'partA', partialScoringEnabled);\n const scoreB = getScore(config, partB, 'partB', partialScoringEnabled);\n\n if (!partialScoringEnabled) {\n // The EBSR item is worth 1 point\n // That point is awarded if and only if both parts are fully correct, otherwise no points are awarded\n resolve({ score: scoreA === 1 && scoreB === 1 ? 1 : 0, scoreA, scoreB, max: 1 });\n } else {\n // The EBSR item is worth 2 points\n if (scoreA === 1) {\n if (scoreB === 1) {\n // If Part A and Part B are both correct, 2 points are awarded\n resolve({ score: 2, scoreA, scoreB, max: 2 });\n } else {\n // If Part A is correct and part B is incorrect, 1 point is awarded\n resolve({ score: 1, scoreA, scoreB, max: 2 });\n }\n } else {\n // For all other combinations, no points are awarded\n resolve({ score: 0, scoreA, scoreB, max: 2 });\n }\n }\n }\n });\n}\n\nconst returnPartCorrect = (choices) => {\n let answers = [];\n\n choices.forEach((i) => {\n const { correct, value } = i;\n if (correct) {\n answers.push(value);\n }\n });\n return answers;\n};\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { partA, partB } = question;\n\n const partACorrect = returnPartCorrect(partA.choices);\n const partBCorrect = returnPartCorrect(partB.choices);\n\n resolve({\n value: {\n partA: {\n id: 'partA',\n value: partACorrect,\n },\n partB: {\n id: 'partB',\n value: partBCorrect,\n },\n },\n id: '1',\n });\n } else {\n resolve(null);\n }\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\nconst validatePart = (model = {}, config = {}) => {\n const { choices } = model;\n const { minAnswerChoices = 2, maxAnswerChoices } = config;\n const reversedChoices = [...(choices || [])].reverse();\n const errors = {};\n const choicesErrors = {};\n const rationaleErrors = {};\n let hasCorrectResponse = false;\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 reversedChoices.forEach((choice, index) => {\n const { correct, value, label, rationale } = choice;\n\n if (correct) {\n hasCorrectResponse = true;\n }\n\n if (!getContent(label)) {\n choicesErrors[value] = 'Content should not be empty.';\n } else {\n const identicalAnswer = reversedChoices.slice(index + 1).some((c) => c.label === label);\n\n if (identicalAnswer) {\n choicesErrors[value] = 'Content should be unique.';\n }\n }\n\n if (config.rationale?.required && !getContent(rationale)) {\n rationaleErrors[value] = 'This field is required.';\n }\n });\n\n const nbOfChoices = (choices || []).length;\n\n if (nbOfChoices < minAnswerChoices) {\n errors.answerChoices = `There should be at least ${minAnswerChoices} choices defined.`;\n } else if (nbOfChoices > maxAnswerChoices) {\n errors.answerChoices = `No more than ${maxAnswerChoices} choices should be defined.`;\n }\n\n if (!hasCorrectResponse) {\n errors.correctResponse = 'No correct response defined.';\n }\n\n if (!isEmpty(choicesErrors)) {\n errors.choices = choicesErrors;\n }\n\n if (!isEmpty(rationaleErrors)) {\n errors.rationale = rationaleErrors;\n }\n\n return errors;\n};\n\nexport const validate = (model = {}, config = {}) => {\n const { partA, partB } = model || {};\n const { partA: partAConfig, partB: partBConfig } = config || {};\n\n const partAErrors = validatePart(partA, partAConfig);\n const partBErrors = validatePart(partB, partBConfig);\n\n return { partA: partAErrors, partB: partBErrors };\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["translator","Translator","prepareChoice","model","env","defaultFeedback","choice","out","label","value","role","mode","rationale","rationaleEnabled","correct","feedbackEnabled","feedbackType","feedback","type","parsePart","part","key","session","Object","assign","incorrect","choices","map","disabled","complete","min","filter","c","length","responseCorrect","undefined","normalizePart","base","choicesLayout","verticalMode","normalize","partA","partB","language","question","defaults","updateSession","normalizedQuestion","shuffledValues","us","id","element","update","Promise","resolve","partASession","partALockChoiceOrder","partAChoices","partBChoices","partBSession","partBLockChoiceOrder","e","console","error","partLabels","partLabel","t","lng","index","partLabelType","teacherInstructions","teacherInstructionsEnabled","prompt","promptEnabled","createDefaultModel","isCorrect","getScore","config","sessionPart","partialScoringEnabled","maxScore","sessionPartValue","chosen","find","v","correctAndNotChosen","incorrectAndChosen","correctChoices","reduce","total","parseFloat","toFixed","outcome","score","scoreA","scoreB","empty","partialScoring","enabled","max","returnPartCorrect","answers","forEach","i","push","createCorrectResponseSession","partACorrect","partBCorrect","getInnerText","html","replaceAll","getContent","replace","validatePart","minAnswerChoices","maxAnswerChoices","reversedChoices","reverse","errors","choicesErrors","rationaleErrors","hasCorrectResponse","field","required","identicalAnswer","slice","some","nbOfChoices","answerChoices","correctResponse","validate","partAConfig","partBConfig","partAErrors","partBErrors"],"mappings":"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","sourcesContent":["import defaults from './defaults';\nimport { lockChoices, getShuffledChoices, partialScoring } from '@pie-lib/pie-toolbox/controller-utils';\nimport { isResponseCorrect } from './utils';\nimport get from 'lodash/get';\nimport isEmpty from 'lodash/isEmpty';\nimport Translator from '@pie-lib/pie-toolbox/translator';\n\nconst { translator } = Translator;\n\nconst prepareChoice = (model, env, defaultFeedback) => (choice) => {\n const out = {\n label: choice.label,\n value: choice.value,\n };\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n out.rationale = model.rationaleEnabled ? choice.rationale : null;\n } else {\n out.rationale = null;\n }\n\n if (env.mode === 'evaluate') {\n out.correct = !!choice.correct;\n\n if (model.feedbackEnabled) {\n const feedbackType = (choice.feedback && choice.feedback.type) || 'none';\n\n if (feedbackType === 'default') {\n out.feedback = defaultFeedback[choice.correct ? 'correct' : 'incorrect'];\n } else if (feedbackType === 'custom') {\n out.feedback = choice.feedback.value;\n }\n }\n }\n\n return out;\n};\n\nconst parsePart = (part, key, session, env) => {\n const defaultFeedback = Object.assign({ correct: 'Correct', incorrect: 'Incorrect' }, part.defaultFeedback);\n\n let choices = part.choices ? part.choices.map(prepareChoice(part, env, defaultFeedback)) : [];\n\n return {\n ...part,\n choices,\n disabled: env.mode !== 'gather',\n complete: {\n min: part.choices.filter((c) => c.correct).length,\n },\n responseCorrect: env.mode === 'evaluate' ? isResponseCorrect(part, key, session) : undefined,\n };\n};\n\nconst normalizePart = (model, base) => ({\n ...base,\n ...model,\n choicesLayout: model.choicesLayout || (model.verticalMode === false && 'horizontal') || 'vertical',\n});\n\nexport const normalize = ({ partA = {}, partB = {}, language, ...question }) => ({\n ...defaults,\n ...question,\n partA: normalizePart(partA, { ...defaults.partA, language }),\n partB: normalizePart(partB, { ...defaults.partB, language }),\n});\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport async function model(question, session, env, updateSession) {\n const normalizedQuestion = normalize(question);\n const partA = parsePart(normalizedQuestion.partA, 'partA', session, env);\n const partB = parsePart(normalizedQuestion.partB, 'partB', session, env);\n\n const shuffledValues = {};\n\n const us = (part) => (id, element, update) =>\n new Promise((resolve) => {\n shuffledValues[part] = update.shuffledValues;\n resolve();\n });\n\n const partASession = get(session, 'value.partA');\n const partALockChoiceOrder = lockChoices(normalizedQuestion.partA, partASession, env);\n\n const { choices: partAChoices } = partA || {};\n const { choices: partBChoices } = partB || {};\n\n if (!partALockChoiceOrder && partAChoices && partAChoices.length) {\n partA.choices = await getShuffledChoices(\n partAChoices,\n { shuffledValues: (session.shuffledValues || {}).partA },\n us('partA'),\n 'value',\n );\n }\n\n const partBSession = get(session, 'value.partB');\n const partBLockChoiceOrder = lockChoices(normalizedQuestion.partB, partBSession, env);\n\n if (!partBLockChoiceOrder && partBChoices && partBChoices.length) {\n partB.choices = await getShuffledChoices(\n partBChoices,\n { shuffledValues: (session.shuffledValues || {}).partB },\n us('partB'),\n 'value',\n );\n }\n\n if (!isEmpty(shuffledValues)) {\n if (updateSession && typeof updateSession === 'function') {\n updateSession(session.id, session.element, {\n shuffledValues,\n }).catch((e) => {\n // eslint-disable-next-line no-console\n console.error('update session failed', e);\n });\n }\n }\n\n if (normalizedQuestion.partLabels) {\n const language = normalizedQuestion.language;\n partA.partLabel = translator.t('ebsr.part', {\n lng: language,\n index: normalizedQuestion.partLabelType === 'Letters' ? 'A' : '1',\n });\n partB.partLabel = translator.t('ebsr.part', {\n lng: language,\n index: normalizedQuestion.partLabelType === 'Letters' ? 'B' : '2',\n });\n } else {\n partA.partLabel = undefined;\n partB.partLabel = undefined;\n }\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n partA.teacherInstructions = normalizedQuestion.partA.teacherInstructionsEnabled\n ? normalizedQuestion.partA.teacherInstructions\n : null;\n partB.teacherInstructions = normalizedQuestion.partB.teacherInstructionsEnabled\n ? normalizedQuestion.partB.teacherInstructions\n : null;\n } else {\n partA.teacherInstructions = null;\n partB.teacherInstructions = null;\n }\n\n partA.prompt = normalizedQuestion.partA.promptEnabled ? normalizedQuestion.partA.prompt : null;\n partB.prompt = normalizedQuestion.partB.promptEnabled ? normalizedQuestion.partB.prompt : null;\n\n return new Promise((resolve) => {\n resolve({\n disabled: env.mode !== 'gather',\n mode: env.mode,\n partA,\n partB,\n });\n });\n}\n\nexport const createDefaultModel = (model = {}) =>\n new Promise((resolve) => {\n resolve({\n ...defaults,\n ...model,\n });\n });\n\nconst isCorrect = (c) => c.correct === true;\n\nconst getScore = (config, sessionPart, key, partialScoringEnabled) => {\n const { choices = [] } = (config && config[key]) || {};\n const maxScore = choices.length;\n const { value: sessionPartValue } = sessionPart || {};\n\n const chosen = (c) => !!(sessionPartValue || []).find((v) => v === c.value);\n const correctAndNotChosen = (c) => isCorrect(c) && !chosen(c);\n const incorrectAndChosen = (c) => !isCorrect(c) && chosen(c);\n const correctChoices = choices.reduce((total, choice) => {\n if (correctAndNotChosen(choice) || incorrectAndChosen(choice)) {\n return total - 1;\n } else {\n return total;\n }\n }, choices.length);\n\n // determine score for a part\n if (!partialScoringEnabled && correctChoices < maxScore) {\n return 0;\n }\n\n return parseFloat(maxScore ? (correctChoices / maxScore).toFixed(2) : 0);\n};\n\nexport function outcome(config, session, env) {\n return new Promise((resolve) => {\n const { value } = session || {};\n\n if (!session || !value) {\n resolve({ score: 0, scoreA: 0, scoreB: 0, empty: true });\n }\n\n if (value) {\n const { partA, partB } = value || {};\n\n const partialScoringEnabled = partialScoring.enabled(config, env);\n\n const scoreA = getScore(config, partA, 'partA', partialScoringEnabled);\n const scoreB = getScore(config, partB, 'partB', partialScoringEnabled);\n\n if (!partialScoringEnabled) {\n // The EBSR item is worth 1 point\n // That point is awarded if and only if both parts are fully correct, otherwise no points are awarded\n resolve({ score: scoreA === 1 && scoreB === 1 ? 1 : 0, scoreA, scoreB, max: 1 });\n } else {\n // The EBSR item is worth 2 points\n if (scoreA === 1) {\n if (scoreB === 1) {\n // If Part A and Part B are both correct, 2 points are awarded\n resolve({ score: 2, scoreA, scoreB, max: 2 });\n } else {\n // If Part A is correct and part B is incorrect, 1 point is awarded\n resolve({ score: 1, scoreA, scoreB, max: 2 });\n }\n } else {\n // For all other combinations, no points are awarded\n resolve({ score: 0, scoreA, scoreB, max: 2 });\n }\n }\n }\n });\n}\n\nconst returnPartCorrect = (choices) => {\n let answers = [];\n\n choices.forEach((i) => {\n const { correct, value } = i;\n if (correct) {\n answers.push(value);\n }\n });\n return answers;\n};\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { partA, partB } = question;\n\n const partACorrect = returnPartCorrect(partA.choices);\n const partBCorrect = returnPartCorrect(partB.choices);\n\n resolve({\n value: {\n partA: {\n id: 'partA',\n value: partACorrect,\n },\n partB: {\n id: 'partB',\n value: partBCorrect,\n },\n },\n id: '1',\n });\n } else {\n resolve(null);\n }\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\nconst validatePart = (model = {}, config = {}) => {\n const { choices } = model;\n const { minAnswerChoices = 2, maxAnswerChoices } = config;\n const reversedChoices = [...(choices || [])].reverse();\n const errors = {};\n const choicesErrors = {};\n const rationaleErrors = {};\n let hasCorrectResponse = false;\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 reversedChoices.forEach((choice, index) => {\n const { correct, value, label, rationale } = choice;\n\n if (correct) {\n hasCorrectResponse = true;\n }\n\n if (!getContent(label)) {\n choicesErrors[value] = 'Content should not be empty.';\n } else {\n const identicalAnswer = reversedChoices.slice(index + 1).some((c) => c.label === label);\n\n if (identicalAnswer) {\n choicesErrors[value] = 'Content should be unique.';\n }\n }\n\n if (config.rationale?.required && !getContent(rationale)) {\n rationaleErrors[value] = 'This field is required.';\n }\n });\n\n const nbOfChoices = (choices || []).length;\n\n if (nbOfChoices < minAnswerChoices) {\n errors.answerChoices = `There should be at least ${minAnswerChoices} choices defined.`;\n } else if (nbOfChoices > maxAnswerChoices) {\n errors.answerChoices = `No more than ${maxAnswerChoices} choices should be defined.`;\n }\n\n if (!hasCorrectResponse) {\n errors.correctResponse = 'No correct response defined.';\n }\n\n if (!isEmpty(choicesErrors)) {\n errors.choices = choicesErrors;\n }\n\n if (!isEmpty(rationaleErrors)) {\n errors.rationale = rationaleErrors;\n }\n\n return errors;\n};\n\nexport const validate = (model = {}, config = {}) => {\n const { partA, partB } = model || {};\n const { partA: partAConfig, partB: partBConfig } = config || {};\n\n const partAErrors = validatePart(partA, partAConfig);\n const partBErrors = validatePart(partB, partBConfig);\n\n return { partA: partAErrors, partB: partBErrors };\n};\n"],"file":"index.js"}
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@pie-element/ebsr-controller",
3
3
  "private": true,
4
- "version": "8.0.4",
4
+ "version": "8.0.5",
5
5
  "description": "",
6
6
  "scripts": {
7
7
  "test": "echo \"Error: no test specified\" && exit 1"
8
8
  },
9
9
  "dependencies": {
10
- "@pie-lib/pie-toolbox": "2.0.13",
10
+ "@pie-lib/pie-toolbox": "2.0.14",
11
11
  "lodash": "^4.17.15"
12
12
  },
13
13
  "author": "",
@@ -1,24 +1,25 @@
1
+ const partModel = (base) => ({
2
+ choiceMode: 'radio',
3
+ choicePrefix: 'numbers',
4
+ choices: [],
5
+ choicesLayout: 'vertical',
6
+ feedbackEnabled: false,
7
+ gridColumns: 2,
8
+ prompt: '',
9
+ promptEnabled: true,
10
+ rationale: '',
11
+ rationaleEnabled: true,
12
+ spellCheckEnabled: true,
13
+ studentInstructionsEnabled: true,
14
+ teacherInstructions: '',
15
+ teacherInstructionsEnabled: true,
16
+ toolbarEditorPosition: 'bottom',
17
+ ...base,
18
+ });
19
+
1
20
  export default {
2
- partA: {
3
- choicePrefix: 'letters',
4
- choices: [
5
- {
6
- value: 'a',
7
- label: 'label a',
8
- },
9
- ],
10
- prompt: 'prompt a',
11
- disabled: false,
12
- },
13
- partB: {
14
- choicePrefix: 'letters',
15
- choices: [
16
- {
17
- value: 'b',
18
- label: 'label b',
19
- },
20
- ],
21
- prompt: 'prompt b',
22
- disabled: false,
23
- },
21
+ partLabels: true,
22
+ partLabelType: 'Letters',
23
+ partA: partModel(),
24
+ partB: partModel(),
24
25
  };
@@ -52,34 +52,17 @@ const parsePart = (part, key, session, env) => {
52
52
  };
53
53
  };
54
54
 
55
+ const normalizePart = (model, base) => ({
56
+ ...base,
57
+ ...model,
58
+ choicesLayout: model.choicesLayout || (model.verticalMode === false && 'horizontal') || 'vertical',
59
+ });
60
+
55
61
  export const normalize = ({ partA = {}, partB = {}, language, ...question }) => ({
56
- partLabels: true,
57
- partLabelType: 'Letters',
62
+ ...defaults,
58
63
  ...question,
59
- partA: {
60
- ...defaults.partA,
61
- rationaleEnabled: true,
62
- feedbackEnabled: false,
63
- promptEnabled: true,
64
- teacherInstructionsEnabled: true,
65
- studentInstructionsEnabled: true,
66
- gridColumns: '2',
67
- language: language,
68
- ...partA,
69
- choicesLayout: partA.choicesLayout || (partA.verticalMode === false && 'horizontal') || 'vertical',
70
- },
71
- partB: {
72
- ...defaults.partB,
73
- rationaleEnabled: true,
74
- promptEnabled: true,
75
- feedbackEnabled: false,
76
- teacherInstructionsEnabled: true,
77
- studentInstructionsEnabled: true,
78
- gridColumns: '2',
79
- language: language,
80
- ...partB,
81
- choicesLayout: partB.choicesLayout || (partB.verticalMode === false && 'horizontal') || 'vertical',
82
- },
64
+ partA: normalizePart(partA, { ...defaults.partA, language }),
65
+ partB: normalizePart(partB, { ...defaults.partB, language }),
83
66
  });
84
67
 
85
68
  /**
@@ -142,8 +125,14 @@ export async function model(question, session, env, updateSession) {
142
125
 
143
126
  if (normalizedQuestion.partLabels) {
144
127
  const language = normalizedQuestion.language;
145
- partA.partLabel = translator.t('ebsr.part', {lng: language, index: normalizedQuestion.partLabelType === 'Letters' ? 'A' : '1'});
146
- partB.partLabel = translator.t('ebsr.part', {lng: language, index: normalizedQuestion.partLabelType === 'Letters' ? 'B' : '2'});
128
+ partA.partLabel = translator.t('ebsr.part', {
129
+ lng: language,
130
+ index: normalizedQuestion.partLabelType === 'Letters' ? 'A' : '1',
131
+ });
132
+ partB.partLabel = translator.t('ebsr.part', {
133
+ lng: language,
134
+ index: normalizedQuestion.partLabelType === 'Letters' ? 'B' : '2',
135
+ });
147
136
  } else {
148
137
  partA.partLabel = undefined;
149
138
  partB.partLabel = undefined;
@@ -1,6 +1,6 @@
1
- import {_dll_react, _dll_prop_types, _dll_lodash, _dll_react_dom} from "../../../@pie-lib/pie-toolbox-math-rendering-module@2.0.11/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_lodash, _dll_react_dom} from "../../../@pie-lib/pie-toolbox-math-rendering-module@2.0.12/module/index.js";
2
2
  import MultipleChoiceConfigure from '@pie-element/multiple-choice/configure/lib';
3
- import {_dll_pie_lib__pie_toolbox_config_ui} from "../../../@pie-lib/pie-toolbox-module@5.0.7/module/index.js";
3
+ import {_dll_pie_lib__pie_toolbox_config_ui} from "../../../@pie-lib/pie-toolbox-module@5.0.11/module/index.js";
4
4
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
5
5
  function getDefaultExportFromCjs(x) {
6
6
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
@@ -5837,31 +5837,28 @@ const defaultConfig = {
5837
5837
  };
5838
5838
  const partModel = base => ({
5839
5839
  choiceMode: 'radio',
5840
- choices: [],
5841
5840
  choicePrefix: 'numbers',
5842
- prompt: 'Prompt',
5843
- rationaleEnabled: true,
5841
+ choices: [],
5842
+ choicesLayout: 'vertical',
5844
5843
  feedbackEnabled: false,
5844
+ gridColumns: 2,
5845
+ prompt: '',
5845
5846
  promptEnabled: true,
5846
- teacherInstructions: '',
5847
5847
  rationale: '',
5848
- teacherInstructionsEnabled: true,
5849
- studentInstructionsEnabled: true,
5848
+ rationaleEnabled: true,
5850
5849
  spellCheckEnabled: true,
5851
- choicesLayout: 'vertical',
5852
- gridColumns: '2',
5850
+ studentInstructionsEnabled: true,
5851
+ teacherInstructions: '',
5852
+ teacherInstructionsEnabled: true,
5853
+ toolbarEditorPosition: 'bottom',
5853
5854
  ...base
5854
5855
  });
5855
5856
  var sensibleDefaults = {
5856
5857
  model: {
5857
5858
  partLabels: true,
5858
5859
  partLabelType: 'Letters',
5859
- partA: partModel({
5860
- prompt: 'Prompt A'
5861
- }),
5862
- partB: partModel({
5863
- prompt: 'Prompt B'
5864
- })
5860
+ partA: partModel(),
5861
+ partB: partModel()
5865
5862
  },
5866
5863
  configuration: {
5867
5864
  baseInputConfiguration: {
@@ -1,26 +1,27 @@
1
+ const partModel = (base) => ({
2
+ choiceMode: 'radio',
3
+ choicePrefix: 'numbers',
4
+ choices: [],
5
+ choicesLayout: 'vertical',
6
+ feedbackEnabled: false,
7
+ gridColumns: 2,
8
+ prompt: '',
9
+ promptEnabled: true,
10
+ rationale: '',
11
+ rationaleEnabled: true,
12
+ spellCheckEnabled: true,
13
+ studentInstructionsEnabled: true,
14
+ teacherInstructions: '',
15
+ teacherInstructionsEnabled: true,
16
+ toolbarEditorPosition: 'bottom',
17
+ ...base,
18
+ });
19
+
1
20
  var defaults = {
2
- partA: {
3
- choicePrefix: 'letters',
4
- choices: [
5
- {
6
- value: 'a',
7
- label: 'label a',
8
- },
9
- ],
10
- prompt: 'prompt a',
11
- disabled: false,
12
- },
13
- partB: {
14
- choicePrefix: 'letters',
15
- choices: [
16
- {
17
- value: 'b',
18
- label: 'label b',
19
- },
20
- ],
21
- prompt: 'prompt b',
22
- disabled: false,
23
- },
21
+ partLabels: true,
22
+ partLabelType: 'Letters',
23
+ partA: partModel(),
24
+ partB: partModel(),
24
25
  };
25
26
 
26
27
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -23730,34 +23731,17 @@ const parsePart = (part, key, session, env) => {
23730
23731
  };
23731
23732
  };
23732
23733
 
23734
+ const normalizePart = (model, base) => ({
23735
+ ...base,
23736
+ ...model,
23737
+ choicesLayout: model.choicesLayout || (model.verticalMode === false && 'horizontal') || 'vertical',
23738
+ });
23739
+
23733
23740
  const normalize = ({ partA = {}, partB = {}, language, ...question }) => ({
23734
- partLabels: true,
23735
- partLabelType: 'Letters',
23741
+ ...defaults,
23736
23742
  ...question,
23737
- partA: {
23738
- ...defaults.partA,
23739
- rationaleEnabled: true,
23740
- feedbackEnabled: false,
23741
- promptEnabled: true,
23742
- teacherInstructionsEnabled: true,
23743
- studentInstructionsEnabled: true,
23744
- gridColumns: '2',
23745
- language: language,
23746
- ...partA,
23747
- choicesLayout: partA.choicesLayout || (partA.verticalMode === false && 'horizontal') || 'vertical',
23748
- },
23749
- partB: {
23750
- ...defaults.partB,
23751
- rationaleEnabled: true,
23752
- promptEnabled: true,
23753
- feedbackEnabled: false,
23754
- teacherInstructionsEnabled: true,
23755
- studentInstructionsEnabled: true,
23756
- gridColumns: '2',
23757
- language: language,
23758
- ...partB,
23759
- choicesLayout: partB.choicesLayout || (partB.verticalMode === false && 'horizontal') || 'vertical',
23760
- },
23743
+ partA: normalizePart(partA, { ...defaults.partA, language }),
23744
+ partB: normalizePart(partB, { ...defaults.partB, language }),
23761
23745
  });
23762
23746
 
23763
23747
  /**
@@ -23820,8 +23804,14 @@ async function model(question, session, env, updateSession) {
23820
23804
 
23821
23805
  if (normalizedQuestion.partLabels) {
23822
23806
  const language = normalizedQuestion.language;
23823
- partA.partLabel = translator.t('ebsr.part', {lng: language, index: normalizedQuestion.partLabelType === 'Letters' ? 'A' : '1'});
23824
- partB.partLabel = translator.t('ebsr.part', {lng: language, index: normalizedQuestion.partLabelType === 'Letters' ? 'B' : '2'});
23807
+ partA.partLabel = translator.t('ebsr.part', {
23808
+ lng: language,
23809
+ index: normalizedQuestion.partLabelType === 'Letters' ? 'A' : '1',
23810
+ });
23811
+ partB.partLabel = translator.t('ebsr.part', {
23812
+ lng: language,
23813
+ index: normalizedQuestion.partLabelType === 'Letters' ? 'B' : '2',
23814
+ });
23825
23815
  } else {
23826
23816
  partA.partLabel = undefined;
23827
23817
  partB.partLabel = undefined;
package/module/element.js CHANGED
@@ -1,5 +1,5 @@
1
- import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_debug, _dll_pie_lib__pie_toolbox_math_rendering_accessible} from "../../../@pie-lib/pie-toolbox-math-rendering-module@2.0.11/module/index.js";
2
- import {_dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@5.0.7/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_debug, _dll_pie_lib__pie_toolbox_math_rendering_accessible} from "../../../@pie-lib/pie-toolbox-math-rendering-module@2.0.12/module/index.js";
2
+ import {_dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@5.0.11/module/index.js";
3
3
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
4
  function getDefaultExportFromCjs(x) {
5
5
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
@@ -4,11 +4,11 @@
4
4
  "modules": [
5
5
  {
6
6
  "name": "@pie-lib/pie-toolbox-math-rendering-module",
7
- "version": "2.0.11"
7
+ "version": "2.0.12"
8
8
  },
9
9
  {
10
10
  "name": "@pie-lib/pie-toolbox-module",
11
- "version": "5.0.7"
11
+ "version": "5.0.11"
12
12
  }
13
13
  ]
14
14
  }
package/module/print.js CHANGED
@@ -1,5 +1,5 @@
1
- import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_debug, _dll_pie_lib__pie_toolbox_math_rendering_accessible} from "../../../@pie-lib/pie-toolbox-math-rendering-module@2.0.11/module/index.js";
2
- import {_dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@5.0.7/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_debug, _dll_pie_lib__pie_toolbox_math_rendering_accessible} from "../../../@pie-lib/pie-toolbox-math-rendering-module@2.0.12/module/index.js";
2
+ import {_dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@5.0.11/module/index.js";
3
3
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
4
  function getDefaultExportFromCjs(x) {
5
5
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
package/package.json CHANGED
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "name": "@pie-element/ebsr",
3
- "version": "10.1.4-next.0+fd40c3bf7",
3
+ "version": "10.1.4",
4
4
  "description": "",
5
5
  "repository": "pie-framework/pie-elements",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
9
  "dependencies": {
10
- "@pie-element/multiple-choice": "^9.2.4-next.0+fd40c3bf7",
10
+ "@pie-element/multiple-choice": "^9.2.4",
11
11
  "@pie-framework/pie-player-events": "^0.1.0",
12
- "@pie-lib/pie-toolbox": "2.0.13",
12
+ "@pie-lib/pie-toolbox": "2.0.14",
13
13
  "classnames": "^2.2.5",
14
14
  "debug": "^4.1.1",
15
15
  "lodash": "^4.17.11"
16
16
  },
17
17
  "author": "pie framework developers",
18
18
  "license": "ISC",
19
- "gitHead": "fd40c3bf7d958748aff1fa0444c6625beb5f922e",
19
+ "gitHead": "e017f0f51cfcabb6300719a2fa2309277404ce01",
20
20
  "scripts": {
21
21
  "postpublish": "../../scripts/postpublish"
22
22
  },