@pie-element/multiple-choice 8.3.1-next.4 → 8.4.0

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.
@@ -233,6 +233,111 @@
233
233
  }
234
234
  }
235
235
  },
236
+ "EditableHtmlConfigureProp": {
237
+ "title": "EditableHtmlConfigureProp",
238
+ "type": "object",
239
+ "properties": {
240
+ "audio": {
241
+ "title": "EditableHtmlButtonConfigure",
242
+ "type": "object",
243
+ "properties": {
244
+ "disabled": {
245
+ "description": "Indicates if the plugin is disabled or not",
246
+ "type": "boolean",
247
+ "title": "disabled"
248
+ }
249
+ }
250
+ },
251
+ "video": {
252
+ "title": "EditableHtmlButtonConfigure",
253
+ "type": "object",
254
+ "properties": {
255
+ "disabled": {
256
+ "description": "Indicates if the plugin is disabled or not",
257
+ "type": "boolean",
258
+ "title": "disabled"
259
+ }
260
+ }
261
+ },
262
+ "image": {
263
+ "title": "EditableHtmlButtonConfigure",
264
+ "type": "object",
265
+ "properties": {
266
+ "disabled": {
267
+ "description": "Indicates if the plugin is disabled or not",
268
+ "type": "boolean",
269
+ "title": "disabled"
270
+ }
271
+ }
272
+ }
273
+ }
274
+ },
275
+ "EditableHtmlButtonConfigure": {
276
+ "title": "EditableHtmlButtonConfigure",
277
+ "type": "object",
278
+ "properties": {
279
+ "disabled": {
280
+ "description": "Indicates if the plugin is disabled or not",
281
+ "type": "boolean",
282
+ "title": "disabled"
283
+ }
284
+ }
285
+ },
286
+ "EditableHtmlPluginConfigure": {
287
+ "title": "EditableHtmlPluginConfigure",
288
+ "type": "object",
289
+ "properties": {
290
+ "inputConfiguration": {
291
+ "title": "EditableHtmlConfigureProp",
292
+ "type": "object",
293
+ "properties": {
294
+ "audio": {
295
+ "title": "EditableHtmlButtonConfigure",
296
+ "type": "object",
297
+ "properties": {
298
+ "disabled": {
299
+ "description": "Indicates if the plugin is disabled or not",
300
+ "type": "boolean",
301
+ "title": "disabled"
302
+ }
303
+ }
304
+ },
305
+ "video": {
306
+ "title": "EditableHtmlButtonConfigure",
307
+ "type": "object",
308
+ "properties": {
309
+ "disabled": {
310
+ "description": "Indicates if the plugin is disabled or not",
311
+ "type": "boolean",
312
+ "title": "disabled"
313
+ }
314
+ }
315
+ },
316
+ "image": {
317
+ "title": "EditableHtmlButtonConfigure",
318
+ "type": "object",
319
+ "properties": {
320
+ "disabled": {
321
+ "description": "Indicates if the plugin is disabled or not",
322
+ "type": "boolean",
323
+ "title": "disabled"
324
+ }
325
+ }
326
+ }
327
+ }
328
+ },
329
+ "settings": {
330
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
331
+ "type": "boolean",
332
+ "title": "settings"
333
+ },
334
+ "label": {
335
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
336
+ "type": "string",
337
+ "title": "label"
338
+ }
339
+ }
340
+ },
236
341
  "ConfigurePropWithEnabled": {
237
342
  "title": "ConfigurePropWithEnabled",
238
343
  "type": "object",
@@ -195,6 +195,82 @@ Indicates if the item has to be displayed in the Settings Panel
195
195
 
196
196
  Indicates the label for the item that has to be displayed in the Settings Panel
197
197
 
198
+ ## `EditableHtmlConfigureProp` (object)
199
+
200
+ Properties of the `EditableHtmlConfigureProp` object:
201
+
202
+ ### `audio` (object)
203
+
204
+ Properties of the `audio` object:
205
+
206
+ #### `disabled` (boolean)
207
+
208
+ Indicates if the plugin is disabled or not
209
+
210
+ ### `video` (object)
211
+
212
+ Properties of the `video` object:
213
+
214
+ #### `disabled` (boolean)
215
+
216
+ Indicates if the plugin is disabled or not
217
+
218
+ ### `image` (object)
219
+
220
+ Properties of the `image` object:
221
+
222
+ #### `disabled` (boolean)
223
+
224
+ Indicates if the plugin is disabled or not
225
+
226
+ ## `EditableHtmlButtonConfigure` (object)
227
+
228
+ Properties of the `EditableHtmlButtonConfigure` object:
229
+
230
+ ### `disabled` (boolean)
231
+
232
+ Indicates if the plugin is disabled or not
233
+
234
+ ## `EditableHtmlPluginConfigure` (object)
235
+
236
+ Properties of the `EditableHtmlPluginConfigure` object:
237
+
238
+ ### `inputConfiguration` (object)
239
+
240
+ Properties of the `inputConfiguration` object:
241
+
242
+ #### `audio` (object)
243
+
244
+ Properties of the `audio` object:
245
+
246
+ ##### `disabled` (boolean)
247
+
248
+ Indicates if the plugin is disabled or not
249
+
250
+ #### `video` (object)
251
+
252
+ Properties of the `video` object:
253
+
254
+ ##### `disabled` (boolean)
255
+
256
+ Indicates if the plugin is disabled or not
257
+
258
+ #### `image` (object)
259
+
260
+ Properties of the `image` object:
261
+
262
+ ##### `disabled` (boolean)
263
+
264
+ Indicates if the plugin is disabled or not
265
+
266
+ ### `settings` (boolean)
267
+
268
+ Indicates if the item has to be displayed in the Settings Panel
269
+
270
+ ### `label` (string)
271
+
272
+ Indicates the label for the item that has to be displayed in the Settings Panel
273
+
198
274
  ## `ConfigurePropWithEnabled` (object)
199
275
 
200
276
  Properties of the `ConfigurePropWithEnabled` object:
@@ -10271,20 +10271,18 @@ const Design = styles$8.withStyles(styles)(props => {
10271
10271
  const nrOfColumnsAvailable = _optionalChain$1([choices, 'optionalAccess', _2 => _2.length]) ? Array.from({
10272
10272
  length: choices.length
10273
10273
  }, (_, i) => `${i + 1}`) : [];
10274
- const labelPlugins = {
10275
- audio: {
10276
- disabled: true
10277
- },
10278
- video: {
10279
- disabled: true
10280
- }
10281
- };
10274
+ const {baseInputConfiguration = {}} = configuration;
10282
10275
  const toolbarOpts = {
10283
10276
  position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
10284
10277
  };
10285
10278
  if (limitChoicesNumber) {
10286
10279
  maxAnswerChoices = MAX_CHOICES;
10287
10280
  }
10281
+ const getPluginProps = props => {
10282
+ return Object.assign({
10283
+ ...baseInputConfiguration
10284
+ }, props || ({}));
10285
+ };
10288
10286
  const validationMessage = generateValidationMessage(configuration);
10289
10287
  const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
10290
10288
  const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
@@ -10326,13 +10324,13 @@ const Design = styles$8.withStyles(styles)(props => {
10326
10324
  __self: undefined,
10327
10325
  __source: {
10328
10326
  fileName: _jsxFileName,
10329
- lineNumber: 203
10327
+ lineNumber: 207
10330
10328
  }
10331
10329
  }),
10332
10330
  __self: undefined,
10333
10331
  __source: {
10334
10332
  fileName: _jsxFileName,
10335
- lineNumber: 199
10333
+ lineNumber: 203
10336
10334
  }
10337
10335
  }, teacherInstructionsEnabled && React$1.createElement(InputContainer, {
10338
10336
  label: teacherInstructions.label,
@@ -10340,7 +10338,7 @@ const Design = styles$8.withStyles(styles)(props => {
10340
10338
  __self: undefined,
10341
10339
  __source: {
10342
10340
  fileName: _jsxFileName,
10343
- lineNumber: 216
10341
+ lineNumber: 220
10344
10342
  }
10345
10343
  }, React$1.createElement(EditableHtml, {
10346
10344
  className: classes.prompt,
@@ -10349,6 +10347,7 @@ const Design = styles$8.withStyles(styles)(props => {
10349
10347
  imageSupport: imageSupport,
10350
10348
  nonEmpty: false,
10351
10349
  toolbarOpts: toolbarOpts,
10350
+ pluginProps: getPluginProps(_optionalChain$1([configuration, 'optionalAccess', _6 => _6.teacherInstructions, 'optionalAccess', _7 => _7.inputConfiguration])),
10352
10351
  spellCheck: spellCheckEnabled,
10353
10352
  maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
10354
10353
  maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
@@ -10362,7 +10361,7 @@ const Design = styles$8.withStyles(styles)(props => {
10362
10361
  __self: undefined,
10363
10362
  __source: {
10364
10363
  fileName: _jsxFileName,
10365
- lineNumber: 217
10364
+ lineNumber: 221
10366
10365
  }
10367
10366
  })), promptEnabled && React$1.createElement(InputContainer, {
10368
10367
  label: prompt.label,
@@ -10370,7 +10369,7 @@ const Design = styles$8.withStyles(styles)(props => {
10370
10369
  __self: undefined,
10371
10370
  __source: {
10372
10371
  fileName: _jsxFileName,
10373
- lineNumber: 235
10372
+ lineNumber: 240
10374
10373
  }
10375
10374
  }, React$1.createElement(EditableHtml, {
10376
10375
  className: classes.prompt,
@@ -10380,6 +10379,7 @@ const Design = styles$8.withStyles(styles)(props => {
10380
10379
  nonEmpty: false,
10381
10380
  disableUnderline: true,
10382
10381
  toolbarOpts: toolbarOpts,
10382
+ pluginProps: getPluginProps(_optionalChain$1([configuration, 'optionalAccess', _8 => _8.prompt, 'optionalAccess', _9 => _9.inputConfiguration])),
10383
10383
  spellCheck: spellCheckEnabled,
10384
10384
  maxImageWidth: maxImageWidth && maxImageWidth.prompt,
10385
10385
  maxImageHeight: maxImageHeight && maxImageHeight.prompt,
@@ -10393,21 +10393,21 @@ const Design = styles$8.withStyles(styles)(props => {
10393
10393
  __self: undefined,
10394
10394
  __source: {
10395
10395
  fileName: _jsxFileName,
10396
- lineNumber: 236
10396
+ lineNumber: 241
10397
10397
  }
10398
10398
  })), React$1.createElement('div', {
10399
10399
  className: classes.flexContainer,
10400
10400
  __self: undefined,
10401
10401
  __source: {
10402
10402
  fileName: _jsxFileName,
10403
- lineNumber: 254
10403
+ lineNumber: 260
10404
10404
  }
10405
10405
  }, React$1.createElement(Typography, {
10406
10406
  className: classes.titleText,
10407
10407
  __self: undefined,
10408
10408
  __source: {
10409
10409
  fileName: _jsxFileName,
10410
- lineNumber: 255
10410
+ lineNumber: 261
10411
10411
  }
10412
10412
  }, "Choices"), React$1.createElement(Tooltip, {
10413
10413
  classes: {
@@ -10420,7 +10420,7 @@ const Design = styles$8.withStyles(styles)(props => {
10420
10420
  __self: undefined,
10421
10421
  __source: {
10422
10422
  fileName: _jsxFileName,
10423
- lineNumber: 256
10423
+ lineNumber: 262
10424
10424
  }
10425
10425
  }, React$1.createElement(default_1, {
10426
10426
  fontSize: 'small',
@@ -10428,7 +10428,7 @@ const Design = styles$8.withStyles(styles)(props => {
10428
10428
  __self: undefined,
10429
10429
  __source: {
10430
10430
  fileName: _jsxFileName,
10431
- lineNumber: 263
10431
+ lineNumber: 269
10432
10432
  }
10433
10433
  }))), choices.map((choice, index) => React$1.createElement('div', {
10434
10434
  key: `choice-${index}`,
@@ -10436,7 +10436,7 @@ const Design = styles$8.withStyles(styles)(props => {
10436
10436
  __self: undefined,
10437
10437
  __source: {
10438
10438
  fileName: _jsxFileName,
10439
- lineNumber: 268
10439
+ lineNumber: 274
10440
10440
  }
10441
10441
  }, React$1.createElement(ChoiceConfiguration, {
10442
10442
  key: index,
@@ -10453,9 +10453,10 @@ const Design = styles$8.withStyles(styles)(props => {
10453
10453
  allowFeedBack: feedbackEnabled,
10454
10454
  allowDelete: deleteChoice.settings,
10455
10455
  noLabels: true,
10456
+ pluginOpts: getPluginProps(_optionalChain$1([configuration, 'optionalAccess', _10 => _10.choices, 'optionalAccess', _11 => _11.inputConfiguration])),
10456
10457
  toolbarOpts: toolbarOpts,
10457
10458
  spellCheck: spellCheckEnabled,
10458
- error: _optionalChain$1([choicesErrors, 'optionalAccess', _6 => _6[choice.value]]) || null,
10459
+ error: _optionalChain$1([choicesErrors, 'optionalAccess', _12 => _12[choice.value]]) || null,
10459
10460
  noCorrectAnswerError: correctResponseError,
10460
10461
  maxImageWidth: maxImageWidth && maxImageWidth.choices || defaultImageMaxWidth,
10461
10462
  maxImageHeight: maxImageHeight && maxImageHeight.choices || defaultImageMaxHeight,
@@ -10464,7 +10465,7 @@ const Design = styles$8.withStyles(styles)(props => {
10464
10465
  __self: undefined,
10465
10466
  __source: {
10466
10467
  fileName: _jsxFileName,
10467
- lineNumber: 269
10468
+ lineNumber: 275
10468
10469
  }
10469
10470
  }), rationaleEnabled && React$1.createElement(InputContainer, {
10470
10471
  key: `rationale-${index}`,
@@ -10473,7 +10474,7 @@ const Design = styles$8.withStyles(styles)(props => {
10473
10474
  __self: undefined,
10474
10475
  __source: {
10475
10476
  fileName: _jsxFileName,
10476
- lineNumber: 295
10477
+ lineNumber: 302
10477
10478
  }
10478
10479
  }, React$1.createElement(EditableHtml, {
10479
10480
  className: classes.rationale,
@@ -10484,7 +10485,7 @@ const Design = styles$8.withStyles(styles)(props => {
10484
10485
  }),
10485
10486
  imageSupport: imageSupport,
10486
10487
  toolbarOpts: toolbarOpts,
10487
- pluginProps: labelPlugins,
10488
+ pluginProps: getPluginProps(_optionalChain$1([configuration, 'optionalAccess', _13 => _13.rationale, 'optionalAccess', _14 => _14.inputConfiguration])),
10488
10489
  spellCheck: spellCheckEnabled,
10489
10490
  maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
10490
10491
  maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
@@ -10498,7 +10499,7 @@ const Design = styles$8.withStyles(styles)(props => {
10498
10499
  __self: undefined,
10499
10500
  __source: {
10500
10501
  fileName: _jsxFileName,
10501
- lineNumber: 296
10502
+ lineNumber: 303
10502
10503
  }
10503
10504
  })), accessibilityLabelsEnabled && React$1.createElement(InputContainer, {
10504
10505
  key: `accessibility-${index}`,
@@ -10507,7 +10508,7 @@ const Design = styles$8.withStyles(styles)(props => {
10507
10508
  __self: undefined,
10508
10509
  __source: {
10509
10510
  fileName: _jsxFileName,
10510
- lineNumber: 314
10511
+ lineNumber: 321
10511
10512
  }
10512
10513
  }, React$1.createElement(EditableHtml, {
10513
10514
  className: classes.accessibility,
@@ -10517,7 +10518,7 @@ const Design = styles$8.withStyles(styles)(props => {
10517
10518
  accessibility: c
10518
10519
  }),
10519
10520
  imageSupport: imageSupport,
10520
- pluginProps: labelPlugins,
10521
+ pluginProps: getPluginProps(_optionalChain$1([configuration, 'optionalAccess', _15 => _15.accessibility, 'optionalAccess', _16 => _16.inputConfiguration])),
10521
10522
  spellCheck: spellCheckEnabled,
10522
10523
  maxImageWidth: maxImageWidth && maxImageWidth.choices || defaultImageMaxWidth,
10523
10524
  maxImageHeight: maxImageHeight && maxImageHeight.choices || defaultImageMaxHeight,
@@ -10531,21 +10532,21 @@ const Design = styles$8.withStyles(styles)(props => {
10531
10532
  __self: undefined,
10532
10533
  __source: {
10533
10534
  fileName: _jsxFileName,
10534
- lineNumber: 319
10535
+ lineNumber: 326
10535
10536
  }
10536
10537
  })))), correctResponseError && React$1.createElement('div', {
10537
10538
  className: classes.errorText,
10538
10539
  __self: undefined,
10539
10540
  __source: {
10540
10541
  fileName: _jsxFileName,
10541
- lineNumber: 337
10542
+ lineNumber: 344
10542
10543
  }
10543
10544
  }, correctResponseError), answerChoicesError && React$1.createElement('div', {
10544
10545
  className: classes.errorText,
10545
10546
  __self: undefined,
10546
10547
  __source: {
10547
10548
  fileName: _jsxFileName,
10548
- lineNumber: 338
10549
+ lineNumber: 345
10549
10550
  }
10550
10551
  }, answerChoicesError), addChoiceButton.settings && React$1.createElement(Tooltip, {
10551
10552
  title: addChoiceButtonTooltip,
@@ -10555,11 +10556,11 @@ const Design = styles$8.withStyles(styles)(props => {
10555
10556
  __self: undefined,
10556
10557
  __source: {
10557
10558
  fileName: _jsxFileName,
10558
- lineNumber: 341
10559
+ lineNumber: 348
10559
10560
  }
10560
10561
  }, React$1.createElement(Button, {
10561
10562
  classes: {
10562
- root: maxAnswerChoices && _optionalChain$1([choices, 'optionalAccess', _7 => _7.length]) >= maxAnswerChoices && classes.disableButton
10563
+ root: maxAnswerChoices && _optionalChain$1([choices, 'optionalAccess', _17 => _17.length]) >= maxAnswerChoices && classes.disableButton
10563
10564
  },
10564
10565
  className: classes.addButton,
10565
10566
  variant: "contained",
@@ -10568,7 +10569,7 @@ const Design = styles$8.withStyles(styles)(props => {
10568
10569
  __self: undefined,
10569
10570
  __source: {
10570
10571
  fileName: _jsxFileName,
10571
- lineNumber: 342
10572
+ lineNumber: 349
10572
10573
  }
10573
10574
  }, addChoiceButton.label)));
10574
10575
  });
@@ -10701,7 +10702,7 @@ class Main extends React$1.Component {
10701
10702
  __self: this,
10702
10703
  __source: {
10703
10704
  fileName: _jsxFileName,
10704
- lineNumber: 478
10705
+ lineNumber: 485
10705
10706
  }
10706
10707
  }, React$1.createElement(AlertDialog, {
10707
10708
  open: showWarning,
@@ -10713,7 +10714,7 @@ class Main extends React$1.Component {
10713
10714
  __self: this,
10714
10715
  __source: {
10715
10716
  fileName: _jsxFileName,
10716
- lineNumber: 479
10717
+ lineNumber: 486
10717
10718
  }
10718
10719
  }), React$1.createElement(Design, {
10719
10720
  ...this.props,
@@ -10726,7 +10727,7 @@ class Main extends React$1.Component {
10726
10727
  __self: this,
10727
10728
  __source: {
10728
10729
  fileName: _jsxFileName,
10729
- lineNumber: 485
10730
+ lineNumber: 492
10730
10731
  }
10731
10732
  }));
10732
10733
  }
@@ -10752,6 +10753,30 @@ var sensibleDefaults = {
10752
10753
  gridColumns: '2'
10753
10754
  },
10754
10755
  configuration: {
10756
+ baseInputConfiguration: {
10757
+ audio: {
10758
+ disabled: false
10759
+ },
10760
+ video: {
10761
+ disabled: false
10762
+ },
10763
+ image: {
10764
+ disabled: false
10765
+ }
10766
+ },
10767
+ choices: {
10768
+ inputConfiguration: {
10769
+ audio: {
10770
+ disabled: false
10771
+ },
10772
+ video: {
10773
+ disabled: false
10774
+ },
10775
+ image: {
10776
+ disabled: false
10777
+ }
10778
+ }
10779
+ },
10755
10780
  spellCheck: {
10756
10781
  label: 'Spellcheck',
10757
10782
  settings: false,
@@ -10786,7 +10811,18 @@ var sensibleDefaults = {
10786
10811
  },
10787
10812
  prompt: {
10788
10813
  settings: true,
10789
- label: 'Prompt'
10814
+ label: 'Prompt',
10815
+ inputConfiguration: {
10816
+ audio: {
10817
+ disabled: false
10818
+ },
10819
+ video: {
10820
+ disabled: false
10821
+ },
10822
+ image: {
10823
+ disabled: false
10824
+ }
10825
+ }
10790
10826
  },
10791
10827
  lockChoiceOrder: {
10792
10828
  settings: true,
@@ -10798,11 +10834,33 @@ var sensibleDefaults = {
10798
10834
  },
10799
10835
  rationale: {
10800
10836
  settings: true,
10801
- label: 'Rationale'
10837
+ label: 'Rationale',
10838
+ inputConfiguration: {
10839
+ audio: {
10840
+ disabled: true
10841
+ },
10842
+ video: {
10843
+ disabled: true
10844
+ },
10845
+ image: {
10846
+ disabled: false
10847
+ }
10848
+ }
10802
10849
  },
10803
10850
  accessibility: {
10804
10851
  settings: false,
10805
- label: 'Accessibility Label'
10852
+ label: 'Accessibility Label',
10853
+ inputConfiguration: {
10854
+ audio: {
10855
+ disabled: true
10856
+ },
10857
+ video: {
10858
+ disabled: true
10859
+ },
10860
+ image: {
10861
+ disabled: false
10862
+ }
10863
+ }
10806
10864
  },
10807
10865
  scoringType: {
10808
10866
  settings: false,
@@ -10814,7 +10872,18 @@ var sensibleDefaults = {
10814
10872
  },
10815
10873
  teacherInstructions: {
10816
10874
  settings: true,
10817
- label: 'Teacher Instructions'
10875
+ label: 'Teacher Instructions',
10876
+ inputConfiguration: {
10877
+ audio: {
10878
+ disabled: false
10879
+ },
10880
+ video: {
10881
+ disabled: false
10882
+ },
10883
+ image: {
10884
+ disabled: false
10885
+ }
10886
+ }
10818
10887
  },
10819
10888
  toolbarEditorPosition: {
10820
10889
  settings: false,
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@pie-element/multiple-choice",
3
3
  "repository": "pie-framework/pie-elements",
4
- "version": "8.3.1-next.4+e6f571cf8",
4
+ "version": "8.4.0",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "dependencies": {
9
9
  "@material-ui/core": "^3.9.2",
10
- "@pie-lib/pie-toolbox": "1.6.0",
10
+ "@pie-lib/pie-toolbox": "1.7.1",
11
11
  "classnames": "^2.2.5",
12
12
  "debug": "^4.1.1",
13
13
  "enzyme-to-json": "^3.3.3",
@@ -18,7 +18,7 @@
18
18
  "react-test-renderer": "^16.3.2",
19
19
  "react-transition-group": "^2.3.1"
20
20
  },
21
- "gitHead": "e6f571cf813c469ea55e6d7d161a50d678b2c5b9",
21
+ "gitHead": "96b02afbc7ab4112eb8213c47e5513adf60c80fe",
22
22
  "scripts": {
23
23
  "postpublish": "../../scripts/postpublish"
24
24
  },