@pie-element/inline-dropdown 4.10.16-next.1 → 4.11.2
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 +461 -0
- package/LICENSE.md +5 -0
- package/configure/CHANGELOG.md +405 -0
- package/configure/lib/defaults.js +18 -1
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/index.js +15 -1
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/inline-dropdown-toolbar.js +54 -47
- package/configure/lib/inline-dropdown-toolbar.js.map +1 -1
- package/configure/lib/main.js +227 -159
- package/configure/lib/main.js.map +1 -1
- package/configure/lib/markupUtils.js +1 -1
- package/configure/lib/markupUtils.js.map +1 -1
- package/configure/lib/utils.js +17 -0
- package/configure/lib/utils.js.map +1 -0
- package/configure/package.json +5 -5
- package/controller/CHANGELOG.md +85 -0
- package/controller/lib/defaults.js +1 -1
- package/controller/lib/index.js +28 -1
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +1 -1
- package/controller/lib/utils.js.map +1 -1
- package/controller/package.json +2 -2
- package/docs/config-schema.json +94 -0
- package/docs/config-schema.json.md +73 -1
- package/docs/demo/config.js +2 -2
- package/docs/demo/generate.js +19 -20
- package/docs/pie-schema.json +27 -0
- package/docs/pie-schema.json.md +20 -0
- package/lib/index.js +4 -1
- package/lib/index.js.map +1 -1
- package/lib/inline-dropdown.js +31 -21
- package/lib/inline-dropdown.js.map +1 -1
- package/package.json +6 -6
- package/configure/lib/__tests__/inline-dropdown-toolbar.test.js +0 -124
- package/configure/lib/__tests__/main.test.js +0 -516
- package/configure/lib/__tests__/markupUtils.test.js +0 -108
- package/controller/lib/__tests__/index.test.js +0 -942
- package/docs/demo/pie.manifest.json +0 -11
- package/lib/__tests__/inline-dropdown.test.js +0 -121
package/docs/config-schema.json
CHANGED
|
@@ -115,6 +115,11 @@
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
},
|
|
118
|
+
"settingsPanelDisabled": {
|
|
119
|
+
"description": "Indicates if the settings panel is not available",
|
|
120
|
+
"type": "boolean",
|
|
121
|
+
"title": "settingsPanelDisabled"
|
|
122
|
+
},
|
|
118
123
|
"scoringType": {
|
|
119
124
|
"title": "ConfigureProp",
|
|
120
125
|
"type": "object",
|
|
@@ -163,6 +168,74 @@
|
|
|
163
168
|
}
|
|
164
169
|
}
|
|
165
170
|
},
|
|
171
|
+
"maxResponseAreas": {
|
|
172
|
+
"description": "Maximum number of response areas",
|
|
173
|
+
"type": "number",
|
|
174
|
+
"title": "maxResponseAreas"
|
|
175
|
+
},
|
|
176
|
+
"maxResponseAreaChoices": {
|
|
177
|
+
"description": "Maximum number of choices per response area",
|
|
178
|
+
"type": "number",
|
|
179
|
+
"title": "maxResponseAreaChoices"
|
|
180
|
+
},
|
|
181
|
+
"maxImageWidth": {
|
|
182
|
+
"title": "ConfigureMaxImageDimensionsProp",
|
|
183
|
+
"type": "object",
|
|
184
|
+
"properties": {
|
|
185
|
+
"teacherInstructions": {
|
|
186
|
+
"description": "Indicates the max dimension for images in teacher instructions",
|
|
187
|
+
"type": "number",
|
|
188
|
+
"title": "teacherInstructions"
|
|
189
|
+
},
|
|
190
|
+
"prompt": {
|
|
191
|
+
"description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
|
|
192
|
+
"type": "number",
|
|
193
|
+
"title": "prompt"
|
|
194
|
+
},
|
|
195
|
+
"rationale": {
|
|
196
|
+
"description": "Indicates the max dimension for images in rationale",
|
|
197
|
+
"type": "number",
|
|
198
|
+
"title": "rationale"
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
"maxImageHeight": {
|
|
203
|
+
"title": "ConfigureMaxImageDimensionsProp",
|
|
204
|
+
"type": "object",
|
|
205
|
+
"properties": {
|
|
206
|
+
"teacherInstructions": {
|
|
207
|
+
"description": "Indicates the max dimension for images in teacher instructions",
|
|
208
|
+
"type": "number",
|
|
209
|
+
"title": "teacherInstructions"
|
|
210
|
+
},
|
|
211
|
+
"prompt": {
|
|
212
|
+
"description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
|
|
213
|
+
"type": "number",
|
|
214
|
+
"title": "prompt"
|
|
215
|
+
},
|
|
216
|
+
"rationale": {
|
|
217
|
+
"description": "Indicates the max dimension for images in rationale",
|
|
218
|
+
"type": "number",
|
|
219
|
+
"title": "rationale"
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
"withRubric": {
|
|
224
|
+
"title": "ConfigureProp",
|
|
225
|
+
"type": "object",
|
|
226
|
+
"properties": {
|
|
227
|
+
"settings": {
|
|
228
|
+
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
229
|
+
"type": "boolean",
|
|
230
|
+
"title": "settings"
|
|
231
|
+
},
|
|
232
|
+
"label": {
|
|
233
|
+
"description": "Indicates the label for the item that has to be displayed in the Settings Panel",
|
|
234
|
+
"type": "string",
|
|
235
|
+
"title": "label"
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
},
|
|
166
239
|
"showPrompt": {
|
|
167
240
|
"description": "Determines whether prompt field will be displayed or not",
|
|
168
241
|
"default": true,
|
|
@@ -198,6 +271,27 @@
|
|
|
198
271
|
"title": "label"
|
|
199
272
|
}
|
|
200
273
|
}
|
|
274
|
+
},
|
|
275
|
+
"ConfigureMaxImageDimensionsProp": {
|
|
276
|
+
"title": "ConfigureMaxImageDimensionsProp",
|
|
277
|
+
"type": "object",
|
|
278
|
+
"properties": {
|
|
279
|
+
"teacherInstructions": {
|
|
280
|
+
"description": "Indicates the max dimension for images in teacher instructions",
|
|
281
|
+
"type": "number",
|
|
282
|
+
"title": "teacherInstructions"
|
|
283
|
+
},
|
|
284
|
+
"prompt": {
|
|
285
|
+
"description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
|
|
286
|
+
"type": "number",
|
|
287
|
+
"title": "prompt"
|
|
288
|
+
},
|
|
289
|
+
"rationale": {
|
|
290
|
+
"description": "Indicates the max dimension for images in rationale",
|
|
291
|
+
"type": "number",
|
|
292
|
+
"title": "rationale"
|
|
293
|
+
}
|
|
294
|
+
}
|
|
201
295
|
}
|
|
202
296
|
},
|
|
203
297
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -86,6 +86,10 @@ Indicates if the item has to be displayed in the Settings Panel
|
|
|
86
86
|
|
|
87
87
|
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
88
88
|
|
|
89
|
+
# `settingsPanelDisabled` (boolean)
|
|
90
|
+
|
|
91
|
+
Indicates if the settings panel is not available
|
|
92
|
+
|
|
89
93
|
# `scoringType` (object)
|
|
90
94
|
|
|
91
95
|
Properties of the `scoringType` object:
|
|
@@ -122,6 +126,58 @@ Indicates if the item has to be displayed in the Settings Panel
|
|
|
122
126
|
|
|
123
127
|
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
124
128
|
|
|
129
|
+
# `maxResponseAreas` (number)
|
|
130
|
+
|
|
131
|
+
Maximum number of response areas
|
|
132
|
+
|
|
133
|
+
# `maxResponseAreaChoices` (number)
|
|
134
|
+
|
|
135
|
+
Maximum number of choices per response area
|
|
136
|
+
|
|
137
|
+
# `maxImageWidth` (object)
|
|
138
|
+
|
|
139
|
+
Properties of the `maxImageWidth` object:
|
|
140
|
+
|
|
141
|
+
## `teacherInstructions` (number)
|
|
142
|
+
|
|
143
|
+
Indicates the max dimension for images in teacher instructions
|
|
144
|
+
|
|
145
|
+
## `prompt` (number)
|
|
146
|
+
|
|
147
|
+
Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified
|
|
148
|
+
|
|
149
|
+
## `rationale` (number)
|
|
150
|
+
|
|
151
|
+
Indicates the max dimension for images in rationale
|
|
152
|
+
|
|
153
|
+
# `maxImageHeight` (object)
|
|
154
|
+
|
|
155
|
+
Properties of the `maxImageHeight` object:
|
|
156
|
+
|
|
157
|
+
## `teacherInstructions` (number)
|
|
158
|
+
|
|
159
|
+
Indicates the max dimension for images in teacher instructions
|
|
160
|
+
|
|
161
|
+
## `prompt` (number)
|
|
162
|
+
|
|
163
|
+
Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified
|
|
164
|
+
|
|
165
|
+
## `rationale` (number)
|
|
166
|
+
|
|
167
|
+
Indicates the max dimension for images in rationale
|
|
168
|
+
|
|
169
|
+
# `withRubric` (object)
|
|
170
|
+
|
|
171
|
+
Properties of the `withRubric` object:
|
|
172
|
+
|
|
173
|
+
## `settings` (boolean)
|
|
174
|
+
|
|
175
|
+
Indicates if the item has to be displayed in the Settings Panel
|
|
176
|
+
|
|
177
|
+
## `label` (string)
|
|
178
|
+
|
|
179
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
180
|
+
|
|
125
181
|
# `showPrompt` (boolean)
|
|
126
182
|
|
|
127
183
|
Determines whether prompt field will be displayed or not
|
|
@@ -156,4 +212,20 @@ Indicates if the item has to be displayed in the Settings Panel
|
|
|
156
212
|
|
|
157
213
|
### `label` (string)
|
|
158
214
|
|
|
159
|
-
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
215
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
216
|
+
|
|
217
|
+
## `ConfigureMaxImageDimensionsProp` (object)
|
|
218
|
+
|
|
219
|
+
Properties of the `ConfigureMaxImageDimensionsProp` object:
|
|
220
|
+
|
|
221
|
+
### `teacherInstructions` (number)
|
|
222
|
+
|
|
223
|
+
Indicates the max dimension for images in teacher instructions
|
|
224
|
+
|
|
225
|
+
### `prompt` (number)
|
|
226
|
+
|
|
227
|
+
Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified
|
|
228
|
+
|
|
229
|
+
### `rationale` (number)
|
|
230
|
+
|
|
231
|
+
Indicates the max dimension for images in rationale
|
package/docs/demo/config.js
CHANGED
package/docs/demo/generate.js
CHANGED
|
@@ -9,69 +9,68 @@ exports.model = (id, element) => ({
|
|
|
9
9
|
shuffle: true,
|
|
10
10
|
markup: '<div><p>The {{0}} jumped {{1}} the {{2}}</p></div>',
|
|
11
11
|
choices: {
|
|
12
|
-
|
|
12
|
+
0: [
|
|
13
13
|
{
|
|
14
14
|
label: 'cow ',
|
|
15
15
|
value: '0',
|
|
16
16
|
correct: true,
|
|
17
|
-
rationale: 'rationale cow'
|
|
17
|
+
rationale: 'rationale cow',
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
label: 'dog ',
|
|
21
21
|
value: '1',
|
|
22
22
|
correct: false,
|
|
23
|
-
rationale: 'rationale dog'
|
|
23
|
+
rationale: 'rationale dog',
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
label: 'cat ',
|
|
27
27
|
value: '2',
|
|
28
28
|
correct: false,
|
|
29
|
-
rationale: 'rationale car'
|
|
30
|
-
}
|
|
29
|
+
rationale: 'rationale car',
|
|
30
|
+
},
|
|
31
31
|
],
|
|
32
|
-
|
|
32
|
+
1: [
|
|
33
33
|
{
|
|
34
34
|
label: 'over ',
|
|
35
35
|
value: '0',
|
|
36
36
|
correct: true,
|
|
37
|
-
rationale: 'rationale over'
|
|
37
|
+
rationale: 'rationale over',
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
label: 'under ',
|
|
41
41
|
value: '1',
|
|
42
42
|
correct: false,
|
|
43
|
-
rationale: 'rationale under'
|
|
43
|
+
rationale: 'rationale under',
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
label: 'across ',
|
|
47
47
|
value: '2',
|
|
48
48
|
correct: false,
|
|
49
|
-
rationale: 'rationale across'
|
|
50
|
-
}
|
|
49
|
+
rationale: 'rationale across',
|
|
50
|
+
},
|
|
51
51
|
],
|
|
52
|
-
|
|
52
|
+
2: [
|
|
53
53
|
{
|
|
54
54
|
label: 'moon ',
|
|
55
55
|
value: '0',
|
|
56
56
|
correct: true,
|
|
57
|
-
rationale: 'rationale moon'
|
|
57
|
+
rationale: 'rationale moon',
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
60
|
label: 'sun',
|
|
61
61
|
value: '2',
|
|
62
62
|
correct: false,
|
|
63
|
-
rationale: 'rationale sun'
|
|
63
|
+
rationale: 'rationale sun',
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
label: 'house ',
|
|
67
67
|
value: '3',
|
|
68
68
|
correct: false,
|
|
69
|
-
rationale: 'rationale house'
|
|
70
|
-
}
|
|
71
|
-
]
|
|
72
|
-
},
|
|
73
|
-
alternateResponse: {
|
|
74
|
-
'2': ['2']
|
|
69
|
+
rationale: 'rationale house',
|
|
70
|
+
},
|
|
71
|
+
],
|
|
75
72
|
},
|
|
76
|
-
|
|
73
|
+
alternateResponse: {},
|
|
74
|
+
choiceRationaleEnabled: false,
|
|
75
|
+
rubricEnabled: false,
|
|
77
76
|
});
|
package/docs/pie-schema.json
CHANGED
|
@@ -147,6 +147,11 @@
|
|
|
147
147
|
"type": "string",
|
|
148
148
|
"title": "toolbarEditorPosition"
|
|
149
149
|
},
|
|
150
|
+
"rubricEnabled": {
|
|
151
|
+
"description": "Indicates if Rubric is enabled",
|
|
152
|
+
"type": "boolean",
|
|
153
|
+
"title": "rubricEnabled"
|
|
154
|
+
},
|
|
150
155
|
"id": {
|
|
151
156
|
"description": "Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.",
|
|
152
157
|
"type": "string",
|
|
@@ -170,6 +175,7 @@
|
|
|
170
175
|
"partialScoring",
|
|
171
176
|
"rationale",
|
|
172
177
|
"rationaleEnabled",
|
|
178
|
+
"rubricEnabled",
|
|
173
179
|
"scoringType",
|
|
174
180
|
"spellCheckEnabled",
|
|
175
181
|
"studentInstructionsEnabled",
|
|
@@ -192,6 +198,27 @@
|
|
|
192
198
|
}
|
|
193
199
|
}
|
|
194
200
|
},
|
|
201
|
+
"ConfigureMaxImageDimensionsProp": {
|
|
202
|
+
"title": "ConfigureMaxImageDimensionsProp",
|
|
203
|
+
"type": "object",
|
|
204
|
+
"properties": {
|
|
205
|
+
"teacherInstructions": {
|
|
206
|
+
"description": "Indicates the max dimension for images in teacher instructions",
|
|
207
|
+
"type": "number",
|
|
208
|
+
"title": "teacherInstructions"
|
|
209
|
+
},
|
|
210
|
+
"prompt": {
|
|
211
|
+
"description": "Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified",
|
|
212
|
+
"type": "number",
|
|
213
|
+
"title": "prompt"
|
|
214
|
+
},
|
|
215
|
+
"rationale": {
|
|
216
|
+
"description": "Indicates the max dimension for images in rationale",
|
|
217
|
+
"type": "number",
|
|
218
|
+
"title": "rationale"
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
},
|
|
195
222
|
"Choice": {
|
|
196
223
|
"title": "Choice",
|
|
197
224
|
"type": "object",
|
package/docs/pie-schema.json.md
CHANGED
|
@@ -87,6 +87,10 @@ This element must be one of the following enum values:
|
|
|
87
87
|
|
|
88
88
|
Default: `": 'bottom'"`
|
|
89
89
|
|
|
90
|
+
# `rubricEnabled` (boolean, required)
|
|
91
|
+
|
|
92
|
+
Indicates if Rubric is enabled
|
|
93
|
+
|
|
90
94
|
# `id` (string, required)
|
|
91
95
|
|
|
92
96
|
Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.
|
|
@@ -113,6 +117,22 @@ Indicates if the item has to be displayed in the Settings Panel
|
|
|
113
117
|
|
|
114
118
|
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
115
119
|
|
|
120
|
+
## `ConfigureMaxImageDimensionsProp` (object)
|
|
121
|
+
|
|
122
|
+
Properties of the `ConfigureMaxImageDimensionsProp` object:
|
|
123
|
+
|
|
124
|
+
### `teacherInstructions` (number)
|
|
125
|
+
|
|
126
|
+
Indicates the max dimension for images in teacher instructions
|
|
127
|
+
|
|
128
|
+
### `prompt` (number)
|
|
129
|
+
|
|
130
|
+
Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified
|
|
131
|
+
|
|
132
|
+
### `rationale` (number)
|
|
133
|
+
|
|
134
|
+
Indicates the max dimension for images in rationale
|
|
135
|
+
|
|
116
136
|
## `Choice` (object)
|
|
117
137
|
|
|
118
138
|
Properties of the `Choice` object:
|
package/lib/index.js
CHANGED
|
@@ -104,6 +104,9 @@ var RootInlineDropdown = /*#__PURE__*/function (_HTMLElement) {
|
|
|
104
104
|
}, {
|
|
105
105
|
key: "connectedCallback",
|
|
106
106
|
value: function connectedCallback() {
|
|
107
|
+
this.setAttribute('aria-label', 'Inline Dropdown Question');
|
|
108
|
+
this.setAttribute('role', 'region');
|
|
109
|
+
|
|
107
110
|
this._render();
|
|
108
111
|
}
|
|
109
112
|
}]);
|
|
@@ -111,4 +114,4 @@ var RootInlineDropdown = /*#__PURE__*/function (_HTMLElement) {
|
|
|
111
114
|
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
112
115
|
|
|
113
116
|
exports["default"] = RootInlineDropdown;
|
|
114
|
-
//# sourceMappingURL=
|
|
117
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["RootInlineDropdown","_model","_session","elem","React","createElement","InlineDropdown","prompt","rationale","teacherInstructions","disabled","displayType","markup","mode","choices","value","feedback","onChange","changeSession","ReactDOM","render","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","session","dispatchChangedEvent","_render","m","ModelSetEvent","s","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["RootInlineDropdown","_model","_session","elem","React","createElement","InlineDropdown","prompt","rationale","teacherInstructions","disabled","displayType","markup","mode","choices","value","feedback","onChange","changeSession","ReactDOM","render","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","session","dispatchChangedEvent","_render","m","ModelSetEvent","s","setAttribute","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEqBA,kB;;;;;AACnB,gCAAc;AAAA;;AAAA;AACZ;AADY,gGAwBJ,YAAM;AACd,UAAI,MAAKC,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAIC,IAAI,gBAAGC,kBAAMC,aAAN,CAAoBC,0BAApB,EAAoC;AAC7CC,UAAAA,MAAM,EAAE,MAAKN,MAAL,CAAYM,MADyB;AAE7CC,UAAAA,SAAS,EAAE,MAAKP,MAAL,CAAYO,SAFsB;AAG7CC,UAAAA,mBAAmB,EAAE,MAAKR,MAAL,CAAYQ,mBAHY;AAI7CC,UAAAA,QAAQ,EAAE,MAAKT,MAAL,CAAYS,QAJuB;AAK7CC,UAAAA,WAAW,EAAE,MAAKV,MAAL,CAAYU,WALoB;AAM7CC,UAAAA,MAAM,EAAE,MAAKX,MAAL,CAAYW,MANyB;AAO7CC,UAAAA,IAAI,EAAE,MAAKZ,MAAL,CAAYY,IAP2B;AAQ7CC,UAAAA,OAAO,EAAE,MAAKb,MAAL,CAAYa,OARwB;AAS7CC,UAAAA,KAAK,EAAE,MAAKb,QAAL,CAAca,KATwB;AAU7CC,UAAAA,QAAQ,EAAE,MAAKf,MAAL,CAAYe,QAVuB;AAW7CC,UAAAA,QAAQ,EAAE,MAAKC;AAX8B,SAApC,CAAX;;AAcAC,6BAASC,MAAT,CAAgBjB,IAAhB,kDAA4B,YAAM;AAChC;AACD,SAFD;AAGD;AACF,KA5Ca;AAAA,6GA8CS,YAAM;AAC3B,YAAKkB,aAAL,CAAmB,IAAIC,oCAAJ,CAAwB,MAAKC,OAAL,CAAaC,WAAb,EAAxB,EAAoD,MAAKC,OAAL,IAAgB,CAAC,CAAC,MAAKA,OAAL,CAAaV,KAAnF,CAAnB;AACD,KAhDa;AAAA,sGAkDE,UAACA,KAAD,EAAW;AACzB,YAAKU,OAAL,CAAaV,KAAb,GAAqBA,KAArB;;AACA,YAAKW,oBAAL;;AACA,YAAKC,OAAL;AACD,KAtDa;AAEZ,UAAK1B,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,IAAhB;AAHY;AAIb;;;;SAED,aAAU0B,CAAV,EAAa;AACX,WAAK3B,MAAL,GAAc2B,CAAd;AACA,WAAKP,aAAL,CACE,IAAIQ,8BAAJ,CAAkB,KAAKN,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAAKC,OAAL,IAAgB,CAAC,CAAC,KAAKA,OAAL,CAAaV,KAA7E,EAAoF,CAAC,CAAC,KAAKd,MAA3F,CADF;;AAIA,WAAK0B,OAAL;AACD;;;SAOD,eAAc;AACZ,aAAO,KAAKzB,QAAZ;AACD,K;SAPD,aAAY4B,CAAZ,EAAe;AACb,WAAK5B,QAAL,GAAgB4B,CAAhB;;AACA,WAAKH,OAAL;AACD;;;WAsCD,6BAAoB;AAClB,WAAKI,YAAL,CAAkB,YAAlB,EAAgC,0BAAhC;AACA,WAAKA,YAAL,CAAkB,MAAlB,EAA0B,QAA1B;;AAEA,WAAKJ,OAAL;AACD;;;kDA9D6CK,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ModelSetEvent, SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport InlineDropdown from './inline-dropdown';\n\nexport default class RootInlineDropdown 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(\n new ModelSetEvent(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model),\n );\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 _render = () => {\n if (this._model && this._session) {\n let elem = React.createElement(InlineDropdown, {\n prompt: this._model.prompt,\n rationale: this._model.rationale,\n teacherInstructions: this._model.teacherInstructions,\n disabled: this._model.disabled,\n displayType: this._model.displayType,\n markup: this._model.markup,\n mode: this._model.mode,\n choices: this._model.choices,\n value: this._session.value,\n feedback: this._model.feedback,\n onChange: this.changeSession,\n });\n\n ReactDOM.render(elem, this, () => {\n renderMath(this);\n });\n }\n };\n\n dispatchChangedEvent = () => {\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.session && !!this.session.value));\n };\n\n changeSession = (value) => {\n this.session.value = value;\n this.dispatchChangedEvent();\n this._render();\n };\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Inline Dropdown Question'); \n this.setAttribute('role', 'region');\n\n this._render();\n }\n}\n"],"file":"index.js"}
|
package/lib/inline-dropdown.js
CHANGED
|
@@ -119,37 +119,33 @@ var InlineDropdown = /*#__PURE__*/function (_React$Component) {
|
|
|
119
119
|
style: {
|
|
120
120
|
display: "".concat(displayType)
|
|
121
121
|
}
|
|
122
|
-
}, teacherInstructions && (0, _renderUi.hasText)(teacherInstructions) && /*#__PURE__*/_react["default"].createElement(
|
|
122
|
+
}, teacherInstructions && (0, _renderUi.hasText)(teacherInstructions) && /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
123
|
+
className: classes.collapsible,
|
|
123
124
|
labels: {
|
|
124
125
|
hidden: 'Show Teacher Instructions',
|
|
125
126
|
visible: 'Hide Teacher Instructions'
|
|
126
127
|
}
|
|
127
128
|
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
128
129
|
prompt: teacherInstructions
|
|
129
|
-
})),
|
|
130
|
+
})), prompt && /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
131
|
+
prompt: prompt
|
|
132
|
+
}), /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
|
|
130
133
|
show: showCorrectAnswerToggle,
|
|
131
134
|
toggled: showCorrectAnswer,
|
|
132
135
|
onToggle: this.toggleShowCorrect
|
|
133
|
-
}),
|
|
134
|
-
prompt: prompt
|
|
135
|
-
}), /*#__PURE__*/_react["default"].createElement("br", null)), /*#__PURE__*/_react["default"].createElement(_maskMarkup.InlineDropdown, (0, _extends2["default"])({}, this.props, {
|
|
136
|
+
}), /*#__PURE__*/_react["default"].createElement(_maskMarkup.InlineDropdown, (0, _extends2["default"])({}, this.props, {
|
|
136
137
|
showCorrectAnswer: showCorrectAnswer
|
|
137
|
-
})),
|
|
138
|
-
|
|
139
|
-
hidden: 'Show Rationale',
|
|
140
|
-
visible: 'Hide Rationale'
|
|
141
|
-
}
|
|
142
|
-
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
143
|
-
prompt: rationale
|
|
144
|
-
})), choiceRationalesHaveText && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
138
|
+
})), choiceRationalesHaveText && /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
139
|
+
className: classes.collapsible,
|
|
145
140
|
labels: {
|
|
146
141
|
hidden: 'Show Rationale for choices',
|
|
147
142
|
visible: 'Hide Rationale for choices'
|
|
148
143
|
}
|
|
149
|
-
},
|
|
144
|
+
}, choiceRationales.map(function (choices, index) {
|
|
150
145
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
151
|
-
key: index
|
|
152
|
-
|
|
146
|
+
key: index,
|
|
147
|
+
className: classes.choiceRationaleWrapper
|
|
148
|
+
}, (choices === null || choices === void 0 ? void 0 : choices.length) > 0 && choices.map(function (choice) {
|
|
153
149
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
154
150
|
className: classes.choiceRationale,
|
|
155
151
|
key: choice.label
|
|
@@ -161,8 +157,15 @@ var InlineDropdown = /*#__PURE__*/function (_React$Component) {
|
|
|
161
157
|
}), /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
162
158
|
prompt: choice.rationale
|
|
163
159
|
}));
|
|
164
|
-
})
|
|
165
|
-
}))))
|
|
160
|
+
}));
|
|
161
|
+
})), rationale && (0, _renderUi.hasText)(rationale) && /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
162
|
+
labels: {
|
|
163
|
+
hidden: 'Show Rationale',
|
|
164
|
+
visible: 'Hide Rationale'
|
|
165
|
+
}
|
|
166
|
+
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
167
|
+
prompt: rationale
|
|
168
|
+
})));
|
|
166
169
|
}
|
|
167
170
|
}]);
|
|
168
171
|
return InlineDropdown;
|
|
@@ -191,8 +194,15 @@ var styles = function styles(theme) {
|
|
|
191
194
|
return {
|
|
192
195
|
mainContainer: {
|
|
193
196
|
color: _renderUi.color.text(),
|
|
194
|
-
backgroundColor: _renderUi.color.background()
|
|
195
|
-
|
|
197
|
+
backgroundColor: _renderUi.color.background()
|
|
198
|
+
},
|
|
199
|
+
collapsible: {
|
|
200
|
+
marginBottom: theme.spacing.unit * 2
|
|
201
|
+
},
|
|
202
|
+
choiceRationaleWrapper: {
|
|
203
|
+
'&:not(:last-child)': {
|
|
204
|
+
marginBottom: theme.spacing.unit * 2
|
|
205
|
+
}
|
|
196
206
|
},
|
|
197
207
|
choiceRationale: {
|
|
198
208
|
display: 'flex',
|
|
@@ -213,4 +223,4 @@ var styles = function styles(theme) {
|
|
|
213
223
|
var _default = (0, _styles.withStyles)(styles)(InlineDropdown);
|
|
214
224
|
|
|
215
225
|
exports["default"] = _default;
|
|
216
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmxpbmUtZHJvcGRvd24uanN4Il0sIm5hbWVzIjpbIklubGluZURyb3Bkb3duIiwic2hvd0NvcnJlY3RBbnN3ZXIiLCJzZXRTdGF0ZSIsInN0YXRlIiwibmV4dFByb3BzIiwiZmVlZGJhY2siLCJkb21Ob2RlIiwiUmVhY3RET00iLCJmaW5kRE9NTm9kZSIsInByb3BzIiwiY2xhc3NlcyIsInByb21wdCIsIm1vZGUiLCJyYXRpb25hbGUiLCJ0ZWFjaGVySW5zdHJ1Y3Rpb25zIiwiY2hvaWNlcyIsImRpc3BsYXlUeXBlIiwic2hvd0NvcnJlY3RBbnN3ZXJUb2dnbGUiLCJjaG9pY2VSYXRpb25hbGVzSGF2ZVRleHQiLCJjaG9pY2VSYXRpb25hbGVzIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInJlZHVjZSIsImFjYyIsImN1cnJlbnRWYWx1ZSIsInB1c2giLCJtYWluQ29udGFpbmVyIiwiZGlzcGxheSIsImhpZGRlbiIsInZpc2libGUiLCJ0b2dnbGVTaG93Q29ycmVjdCIsImluZGV4IiwibGVuZ3RoIiwiY2hvaWNlIiwiY2hvaWNlUmF0aW9uYWxlIiwibGFiZWwiLCJjaG9pY2VSYXRpb25hbGVMYWJlbCIsImNvcnJlY3QiLCJfX2h0bWwiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsInN0cmluZyIsImRpc2FibGVkIiwiYm9vbCIsIm1hcmt1cCIsInZhbHVlIiwib25DaGFuZ2UiLCJmdW5jIiwic3R5bGVzIiwidGhlbWUiLCJjb2xvciIsInRleHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwicGFkZGluZyIsInNwYWNpbmciLCJ1bml0Iiwid2hpdGVTcGFjZSIsImluY29ycmVjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7SUFFYUEsYzs7Ozs7Ozs7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LE9BQU8sRUFBRSxNQURNO0FBRWZnQyxNQUFBQSxVQUFVLEVBQUU7QUFGRyxLQU5RO0FBVXpCdkIsSUFBQUEsb0JBQW9CLEVBQUU7QUFDcEJULE1BQUFBLE9BQU8sRUFBRSxNQURXO0FBRXBCLG1CQUFhO0FBQ1h5QixRQUFBQSxLQUFLLEVBQUVBLGdCQUFNZixPQUFOO0FBREksT0FGTztBQUtwQixxQkFBZTtBQUNiZSxRQUFBQSxLQUFLLEVBQUVBLGdCQUFNUSxTQUFOO0FBRE07QUFMSztBQVZHLEdBQVo7QUFBQSxDQUFmOztlQXFCZSx3QkFBV1YsTUFBWCxFQUFtQnBELGNBQW5CLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IENvcnJlY3RBbnN3ZXJUb2dnbGUgZnJvbSAnQHBpZS1saWIvY29ycmVjdC1hbnN3ZXItdG9nZ2xlJztcbmltcG9ydCB7IElubGluZURyb3Bkb3duIGFzIERyb3BEb3duIH0gZnJvbSAnQHBpZS1saWIvbWFzay1tYXJrdXAnO1xuaW1wb3J0IHtjb2xvciwgQ29sbGFwc2libGUsIGhhc1RleHQsIFByZXZpZXdQcm9tcHR9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgeyByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuZXhwb3J0IGNsYXNzIElubGluZURyb3Bkb3duIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHByb21wdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgbWFya3VwOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG1vZGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGlzcGxheVR5cGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgcmF0aW9uYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRlYWNoZXJJbnN0cnVjdGlvbnM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2hvaWNlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBmZWVkYmFjazogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmNcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHZhbHVlOiB7fVxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIHNob3dDb3JyZWN0QW5zd2VyOiBmYWxzZVxuICB9O1xuXG4gIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcykge1xuICAgIGlmIChpc0VtcHR5KG5leHRQcm9wcy5mZWVkYmFjaykpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzaG93Q29ycmVjdEFuc3dlcjogZmFsc2UgfSk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIGNvbnN0IGRvbU5vZGUgPSBSZWFjdERPTS5maW5kRE9NTm9kZSh0aGlzKTtcblxuICAgIHJlbmRlck1hdGgoZG9tTm9kZSk7XG4gIH1cblxuICB0b2dnbGVTaG93Q29ycmVjdCA9ICgpID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHsgc2hvd0NvcnJlY3RBbnN3ZXI6ICF0aGlzLnN0YXRlLnNob3dDb3JyZWN0QW5zd2VyIH0pO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHNob3dDb3JyZWN0QW5zd2VyIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgY2xhc3NlcywgcHJvbXB0LCBtb2RlLCByYXRpb25hbGUsIHRlYWNoZXJJbnN0cnVjdGlvbnMsIGNob2ljZXMsIGRpc3BsYXlUeXBlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHNob3dDb3JyZWN0QW5zd2VyVG9nZ2xlID0gbW9kZSA9PT0gJ2V2YWx1YXRlJztcbiAgICBsZXQgY2hvaWNlUmF0aW9uYWxlc0hhdmVUZXh0ID0gZmFsc2U7XG5cbiAgICBjb25zdCBjaG9pY2VSYXRpb25hbGVzID0gKE9iamVjdC5rZXlzKGNob2ljZXMpIHx8IFtdKS5tYXAoa2V5ID0+IChjaG9pY2VzW2tleV0gfHwgW10pXG4gICAgICAucmVkdWNlKChhY2MsIGN1cnJlbnRWYWx1ZSkgPT4ge1xuICAgICAgICBpZiAoY3VycmVudFZhbHVlLnJhdGlvbmFsZSAmJiBoYXNUZXh0KGN1cnJlbnRWYWx1ZS5yYXRpb25hbGUpKSB7XG4gICAgICAgICAgY2hvaWNlUmF0aW9uYWxlc0hhdmVUZXh0ID0gdHJ1ZTtcblxuICAgICAgICAgIGFjYy5wdXNoKGN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIFtdKSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMubWFpbkNvbnRhaW5lcn0gc3R5bGU9e3sgZGlzcGxheTogYCR7ZGlzcGxheVR5cGV9YCB9fT5cbiAgICAgICAge1xuICAgICAgICAgIHRlYWNoZXJJbnN0cnVjdGlvbnMgJiYgaGFzVGV4dCh0ZWFjaGVySW5zdHJ1Y3Rpb25zKSAmJiAoXG4gICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgIDxDb2xsYXBzaWJsZVxuICAgICAgICAgICAgICAgIGxhYmVscz17eyBoaWRkZW46ICdTaG93IFRlYWNoZXIgSW5zdHJ1Y3Rpb25zJywgdmlzaWJsZTogJ0hpZGUgVGVhY2hlciBJbnN0cnVjdGlvbnMnIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UHJldmlld1Byb21wdCBwcm9tcHQ9e3RlYWNoZXJJbnN0cnVjdGlvbnN9IC8+XG4gICAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApXG4gICAgICAgIH1cblxuICAgICAgICA8Q29ycmVjdEFuc3dlclRvZ2dsZVxuICAgICAgICAgIHNob3c9e3Nob3dDb3JyZWN0QW5zd2VyVG9nZ2xlfVxuICAgICAgICAgIHRvZ2dsZWQ9e3Nob3dDb3JyZWN0QW5zd2VyfVxuICAgICAgICAgIG9uVG9nZ2xlPXt0aGlzLnRvZ2dsZVNob3dDb3JyZWN0fVxuICAgICAgICAvPlxuICAgICAgICB7c2hvd0NvcnJlY3RBbnN3ZXJUb2dnbGUgJiYgPGJyIC8+fVxuXG4gICAgICAgIHtwcm9tcHQgJiYgKFxuICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgIDxQcmV2aWV3UHJvbXB0IHByb21wdD17cHJvbXB0fSAvPlxuICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgKX1cbiAgICAgICAgPERyb3BEb3duXG4gICAgICAgICAgey4uLnRoaXMucHJvcHN9XG4gICAgICAgICAgc2hvd0NvcnJlY3RBbnN3ZXI9e3Nob3dDb3JyZWN0QW5zd2VyfVxuICAgICAgICAvPlxuICAgICAgICB7cmF0aW9uYWxlICYmIGhhc1RleHQocmF0aW9uYWxlKSAmJiAoXG4gICAgICAgICAgICA8Q29sbGFwc2libGVcbiAgICAgICAgICAgICAgbGFiZWxzPXt7IGhpZGRlbjogJ1Nob3cgUmF0aW9uYWxlJywgdmlzaWJsZTogJ0hpZGUgUmF0aW9uYWxlJyB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8UHJldmlld1Byb21wdCBwcm9tcHQ9e3JhdGlvbmFsZX0gLz5cbiAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICl9XG4gICAgICAgIHtjaG9pY2VSYXRpb25hbGVzSGF2ZVRleHQgJiYgKFxuICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPENvbGxhcHNpYmxlIGxhYmVscz17e2hpZGRlbjogJ1Nob3cgUmF0aW9uYWxlIGZvciBjaG9pY2VzJywgdmlzaWJsZTogJ0hpZGUgUmF0aW9uYWxlIGZvciBjaG9pY2VzJ319PlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIHtjaG9pY2VSYXRpb25hbGVzLm1hcCgoY2hvaWNlcywgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICB7Y2hvaWNlcyAmJiBjaG9pY2VzLmxlbmd0aCA+IDAgJiYgY2hvaWNlcy5tYXAoIGNob2ljZSA9PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmNob2ljZVJhdGlvbmFsZX0ga2V5PXtjaG9pY2UubGFiZWx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5jaG9pY2VSYXRpb25hbGVMYWJlbCwgY2hvaWNlLmNvcnJlY3QgPyAnY29ycmVjdCcgOiAnaW5jb3JyZWN0Jyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogYCR7Y2hvaWNlLmxhYmVsfTogYCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQcmV2aWV3UHJvbXB0IHByb21wdD17Y2hvaWNlLnJhdGlvbmFsZX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge2Nob2ljZXMgJiYgY2hvaWNlcy5sZW5ndGggPiAwICYmIDxiciAvPn1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBzdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIG1haW5Db250YWluZXI6IHtcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IuYmFja2dyb3VuZCgpLFxuICAgIHBhZGRpbmc6IHRoZW1lLnNwYWNpbmcudW5pdFxuICB9LFxuICBjaG9pY2VSYXRpb25hbGU6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgd2hpdGVTcGFjZTogJ2JyZWFrLXNwYWNlcydcbiAgfSxcbiAgY2hvaWNlUmF0aW9uYWxlTGFiZWw6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgJyYuY29ycmVjdCc6IHtcbiAgICAgIGNvbG9yOiBjb2xvci5jb3JyZWN0KClcbiAgICB9LFxuICAgICcmLmluY29ycmVjdCc6IHtcbiAgICAgIGNvbG9yOiBjb2xvci5pbmNvcnJlY3QoKVxuICAgIH1cbiAgfVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShJbmxpbmVEcm9wZG93bik7XG4iXX0=
|
|
226
|
+
//# sourceMappingURL=inline-dropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/inline-dropdown.jsx"],"names":["InlineDropdown","showCorrectAnswer","setState","state","nextProps","feedback","domNode","ReactDOM","findDOMNode","props","classes","prompt","mode","rationale","teacherInstructions","choices","displayType","showCorrectAnswerToggle","choiceRationalesHaveText","choiceRationales","Object","keys","map","key","reduce","acc","currentValue","push","mainContainer","display","hidden","visible","toggleShowCorrect","index","length","choice","choiceRationale","label","choiceRationaleLabel","correct","__html","React","Component","PropTypes","object","string","disabled","bool","markup","value","onChange","func","styles","theme","color","text","backgroundColor","background","
|
|
1
|
+
{"version":3,"sources":["../src/inline-dropdown.jsx"],"names":["InlineDropdown","showCorrectAnswer","setState","state","nextProps","feedback","domNode","ReactDOM","findDOMNode","props","classes","prompt","mode","rationale","teacherInstructions","choices","displayType","showCorrectAnswerToggle","choiceRationalesHaveText","choiceRationales","Object","keys","map","key","reduce","acc","currentValue","push","mainContainer","display","collapsible","hidden","visible","toggleShowCorrect","index","choiceRationaleWrapper","length","choice","choiceRationale","label","choiceRationaleLabel","correct","__html","React","Component","PropTypes","object","string","disabled","bool","markup","value","onChange","func","styles","theme","color","text","backgroundColor","background","marginBottom","spacing","unit","whiteSpace","incorrect"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { InlineDropdown as DropDown } from '@pie-lib/mask-markup';\nimport { color, Collapsible, hasText, PreviewPrompt } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nexport class InlineDropdown extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n prompt: PropTypes.string,\n disabled: PropTypes.bool,\n markup: PropTypes.string,\n mode: PropTypes.string,\n displayType: PropTypes.string,\n rationale: PropTypes.string,\n teacherInstructions: PropTypes.string,\n choices: PropTypes.object,\n value: PropTypes.object,\n feedback: PropTypes.object,\n onChange: PropTypes.func,\n };\n\n static defaultProps = {\n value: {},\n };\n\n state = {\n showCorrectAnswer: false,\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (isEmpty(nextProps.feedback)) {\n this.setState({ showCorrectAnswer: false });\n }\n }\n\n componentDidUpdate() {\n // eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n render() {\n const { showCorrectAnswer } = this.state;\n const { classes, prompt, mode, rationale, teacherInstructions, choices, displayType } = this.props;\n const showCorrectAnswerToggle = mode === 'evaluate';\n let choiceRationalesHaveText = false;\n\n const choiceRationales = (Object.keys(choices) || []).map((key) =>\n (choices[key] || []).reduce((acc, currentValue) => {\n if (currentValue.rationale && hasText(currentValue.rationale)) {\n choiceRationalesHaveText = true;\n\n acc.push(currentValue);\n }\n\n return acc;\n }, []),\n );\n\n return (\n <div className={classes.mainContainer} style={{ display: `${displayType}` }}>\n {teacherInstructions && hasText(teacherInstructions) && (\n <Collapsible\n className={classes.collapsible}\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n\n {prompt && <PreviewPrompt prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showCorrectAnswerToggle}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n />\n\n <DropDown {...this.props} showCorrectAnswer={showCorrectAnswer} />\n\n {choiceRationalesHaveText && (\n <Collapsible\n className={classes.collapsible}\n labels={{ hidden: 'Show Rationale for choices', visible: 'Hide Rationale for choices' }}\n >\n {choiceRationales.map((choices, index) => (\n <div key={index} className={classes.choiceRationaleWrapper}>\n {choices?.length > 0 &&\n choices.map((choice) => (\n <div className={classes.choiceRationale} key={choice.label}>\n <div\n className={classNames(classes.choiceRationaleLabel, choice.correct ? 'correct' : 'incorrect')}\n dangerouslySetInnerHTML={{ __html: `${choice.label}: ` }}\n />\n <PreviewPrompt prompt={choice.rationale} />\n </div>\n ))}\n </div>\n ))}\n </Collapsible>\n )}\n\n {rationale && hasText(rationale) && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n choiceRationaleWrapper: {\n '&:not(:last-child)': {\n marginBottom: theme.spacing.unit * 2,\n },\n },\n choiceRationale: {\n display: 'flex',\n whiteSpace: 'break-spaces',\n },\n choiceRationaleLabel: {\n display: 'flex',\n '&.correct': {\n color: color.correct(),\n },\n '&.incorrect': {\n color: color.incorrect(),\n },\n },\n});\n\nexport default withStyles(styles)(InlineDropdown);\n"],"file":"inline-dropdown.js"}
|