@pie-element/hotspot 6.8.2-next.21 → 6.9.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.
- package/CHANGELOG.md +11 -0
- package/configure/CHANGELOG.md +11 -0
- package/configure/lib/defaults.js +47 -3
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/root.js +10 -0
- package/configure/lib/root.js.map +1 -1
- package/configure/package.json +1 -1
- package/configure/src/__tests__/__snapshots__/root.test.js.snap +44 -0
- package/configure/src/defaults.js +20 -0
- package/configure/src/root.jsx +14 -1
- package/docs/config-schema.json +294 -1
- package/docs/config-schema.json.md +212 -0
- package/docs/pie-schema.json +105 -0
- package/docs/pie-schema.json.md +76 -0
- package/package.json +2 -2
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
|
+
# [6.9.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot@6.8.1...@pie-element/hotspot@6.9.0) (2024-03-12)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* Add configuration for custom buttons PD-3523 ([222bf0a](https://github.com/pie-framework/pie-elements/commit/222bf0aad21d14aca11a5571b400826410fad8bb))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [6.8.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot@6.8.0...@pie-element/hotspot@6.8.1) (2024-03-12)
|
|
7
18
|
|
|
8
19
|
|
package/configure/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
|
+
# [6.9.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot-configure@6.8.1...@pie-element/hotspot-configure@6.9.0) (2024-03-12)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* Add configuration for custom buttons PD-3523 ([222bf0a](https://github.com/pie-framework/pie-elements/commit/222bf0aad21d14aca11a5571b400826410fad8bb))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [6.8.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/hotspot-configure@6.8.0...@pie-element/hotspot-configure@6.8.1) (2024-03-12)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -31,6 +31,17 @@ var _default = {
|
|
|
31
31
|
strokeWidth: 5
|
|
32
32
|
},
|
|
33
33
|
configuration: {
|
|
34
|
+
baseInputConfiguration: {
|
|
35
|
+
audio: {
|
|
36
|
+
disabled: false
|
|
37
|
+
},
|
|
38
|
+
video: {
|
|
39
|
+
disabled: false
|
|
40
|
+
},
|
|
41
|
+
image: {
|
|
42
|
+
disabled: false
|
|
43
|
+
}
|
|
44
|
+
},
|
|
34
45
|
multipleCorrect: {
|
|
35
46
|
settings: true,
|
|
36
47
|
label: 'Multiple Correct Responses'
|
|
@@ -41,11 +52,33 @@ var _default = {
|
|
|
41
52
|
},
|
|
42
53
|
rationale: {
|
|
43
54
|
settings: true,
|
|
44
|
-
label: 'Rationale'
|
|
55
|
+
label: 'Rationale',
|
|
56
|
+
inputConfiguration: {
|
|
57
|
+
audio: {
|
|
58
|
+
disabled: false
|
|
59
|
+
},
|
|
60
|
+
video: {
|
|
61
|
+
disabled: false
|
|
62
|
+
},
|
|
63
|
+
image: {
|
|
64
|
+
disabled: false
|
|
65
|
+
}
|
|
66
|
+
}
|
|
45
67
|
},
|
|
46
68
|
prompt: {
|
|
47
69
|
settings: true,
|
|
48
|
-
label: 'Prompt'
|
|
70
|
+
label: 'Prompt',
|
|
71
|
+
inputConfiguration: {
|
|
72
|
+
audio: {
|
|
73
|
+
disabled: false
|
|
74
|
+
},
|
|
75
|
+
video: {
|
|
76
|
+
disabled: false
|
|
77
|
+
},
|
|
78
|
+
image: {
|
|
79
|
+
disabled: false
|
|
80
|
+
}
|
|
81
|
+
}
|
|
49
82
|
},
|
|
50
83
|
settingsPanelDisabled: false,
|
|
51
84
|
spellCheck: {
|
|
@@ -55,7 +88,18 @@ var _default = {
|
|
|
55
88
|
},
|
|
56
89
|
teacherInstructions: {
|
|
57
90
|
settings: true,
|
|
58
|
-
label: 'Teacher Instructions'
|
|
91
|
+
label: 'Teacher Instructions',
|
|
92
|
+
inputConfiguration: {
|
|
93
|
+
audio: {
|
|
94
|
+
disabled: false
|
|
95
|
+
},
|
|
96
|
+
video: {
|
|
97
|
+
disabled: false
|
|
98
|
+
},
|
|
99
|
+
image: {
|
|
100
|
+
disabled: false
|
|
101
|
+
}
|
|
102
|
+
}
|
|
59
103
|
},
|
|
60
104
|
preserveAspectRatio: {
|
|
61
105
|
settings: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["model","prompt","toolbarEditorPosition","imageUrl","shapes","rectangles","polygons","circles","multipleCorrect","partialScoring","dimensions","height","width","hotspotColor","hotspotList","outlineColor","outlineList","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","strokeWidth","configuration","settings","label","rationale","settingsPanelDisabled","spellCheck","enabled","teacherInstructions","preserveAspectRatio","minShapes","maxImageWidth","maxImageHeight","withRubric","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,EADH;AAELC,IAAAA,qBAAqB,EAAE,QAFlB;AAGLC,IAAAA,QAAQ,EAAE,EAHL;AAILC,IAAAA,MAAM,EAAE;AACNC,MAAAA,UAAU,EAAE,EADN;AAENC,MAAAA,QAAQ,EAAE,EAFJ;AAGNC,MAAAA,OAAO,EAAE;AAHH,KAJH;AASLC,IAAAA,eAAe,EAAE,IATZ;AAULC,IAAAA,cAAc,EAAE,KAVX;AAWLC,IAAAA,UAAU,EAAE;AACVC,MAAAA,MAAM,EAAE,CADE;AAEVC,MAAAA,KAAK,EAAE;AAFG,KAXP;AAeLC,IAAAA,YAAY,EAAE,2BAfT;AAgBLC,IAAAA,WAAW,EAAE,CAAC,2BAAD,CAhBR;AAiBLC,IAAAA,YAAY,EAAE,MAjBT;AAkBLC,IAAAA,WAAW,EAAE,CAAC,MAAD,CAlBR;AAmBLC,IAAAA,aAAa,EAAE,IAnBV;AAoBLC,IAAAA,gBAAgB,EAAE,IApBb;AAqBLC,IAAAA,0BAA0B,EAAE,IArBvB;AAsBLC,IAAAA,0BAA0B,EAAE,IAtBvB;AAuBLC,IAAAA,WAAW,EAAE;AAvBR,GADM;AA0BbC,EAAAA,aAAa,EAAE;
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["model","prompt","toolbarEditorPosition","imageUrl","shapes","rectangles","polygons","circles","multipleCorrect","partialScoring","dimensions","height","width","hotspotColor","hotspotList","outlineColor","outlineList","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","strokeWidth","configuration","baseInputConfiguration","audio","disabled","video","image","settings","label","rationale","inputConfiguration","settingsPanelDisabled","spellCheck","enabled","teacherInstructions","preserveAspectRatio","minShapes","maxImageWidth","maxImageHeight","withRubric","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,MAAM,EAAE,EADH;AAELC,IAAAA,qBAAqB,EAAE,QAFlB;AAGLC,IAAAA,QAAQ,EAAE,EAHL;AAILC,IAAAA,MAAM,EAAE;AACNC,MAAAA,UAAU,EAAE,EADN;AAENC,MAAAA,QAAQ,EAAE,EAFJ;AAGNC,MAAAA,OAAO,EAAE;AAHH,KAJH;AASLC,IAAAA,eAAe,EAAE,IATZ;AAULC,IAAAA,cAAc,EAAE,KAVX;AAWLC,IAAAA,UAAU,EAAE;AACVC,MAAAA,MAAM,EAAE,CADE;AAEVC,MAAAA,KAAK,EAAE;AAFG,KAXP;AAeLC,IAAAA,YAAY,EAAE,2BAfT;AAgBLC,IAAAA,WAAW,EAAE,CAAC,2BAAD,CAhBR;AAiBLC,IAAAA,YAAY,EAAE,MAjBT;AAkBLC,IAAAA,WAAW,EAAE,CAAC,MAAD,CAlBR;AAmBLC,IAAAA,aAAa,EAAE,IAnBV;AAoBLC,IAAAA,gBAAgB,EAAE,IApBb;AAqBLC,IAAAA,0BAA0B,EAAE,IArBvB;AAsBLC,IAAAA,0BAA0B,EAAE,IAtBvB;AAuBLC,IAAAA,WAAW,EAAE;AAvBR,GADM;AA0BbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,sBAAsB,EAAE;AACtBC,MAAAA,KAAK,EAAE;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OADe;AAEtBC,MAAAA,KAAK,EAAE;AAAED,QAAAA,QAAQ,EAAE;AAAZ,OAFe;AAGtBE,MAAAA,KAAK,EAAE;AAAEF,QAAAA,QAAQ,EAAE;AAAZ;AAHe,KADX;AAMbjB,IAAAA,eAAe,EAAE;AACfoB,MAAAA,QAAQ,EAAE,IADK;AAEfC,MAAAA,KAAK,EAAE;AAFQ,KANJ;AAUbpB,IAAAA,cAAc,EAAE;AACdmB,MAAAA,QAAQ,EAAE,KADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KAVH;AAcbC,IAAAA,SAAS,EAAE;AACTF,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE,WAFE;AAGTE,MAAAA,kBAAkB,EAAE;AAClBP,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW;AAHX,KAdE;AAuBbxB,IAAAA,MAAM,EAAE;AACN2B,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE,QAFD;AAGNE,MAAAA,kBAAkB,EAAE;AAClBP,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW;AAHd,KAvBK;AAgCbO,IAAAA,qBAAqB,EAAE,KAhCV;AAiCbC,IAAAA,UAAU,EAAE;AACVJ,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAE,KAFA;AAGVM,MAAAA,OAAO,EAAE;AAHC,KAjCC;AAsCbC,IAAAA,mBAAmB,EAAE;AACnBP,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE,sBAFY;AAGnBE,MAAAA,kBAAkB,EAAE;AAClBP,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW;AAHD,KAtCR;AA+CbW,IAAAA,mBAAmB,EAAE;AACnBR,MAAAA,QAAQ,EAAE,KADS;AAEnBM,MAAAA,OAAO,EAAE,IAFU;AAGnBL,MAAAA,KAAK,EAAE;AAHY,KA/CR;AAoDbQ,IAAAA,SAAS,EAAE,CApDE;AAqDbC,IAAAA,aAAa,EAAE;AACbH,MAAAA,mBAAmB,EAAE,GADR;AAEblC,MAAAA,MAAM,EAAE,GAFK;AAGb6B,MAAAA,SAAS,EAAE;AAHE,KArDF;AA0DbS,IAAAA,cAAc,EAAE;AACdJ,MAAAA,mBAAmB,EAAE,GADP;AAEdlC,MAAAA,MAAM,EAAE,GAFM;AAGd6B,MAAAA,SAAS,EAAE;AAHG,KA1DH;AA+DbU,IAAAA,UAAU,EAAE;AACVZ,MAAAA,QAAQ,EAAE,KADA;AAEVC,MAAAA,KAAK,EAAE;AAFG,KA/DC;AAmEbY,IAAAA,aAAa,EAAE;AACbC,MAAAA,SAAS,EAAE,KADE;AAEbC,MAAAA,UAAU,EAAE;AAFC,KAnEF;AAuEbC,IAAAA,QAAQ,EAAE;AACRhB,MAAAA,QAAQ,EAAE,KADF;AAERC,MAAAA,KAAK,EAAE,kBAFC;AAGRK,MAAAA,OAAO,EAAE;AAHD,KAvEG;AA4EbW,IAAAA,eAAe,EAAE;AACfhB,MAAAA,KAAK,EAAE,kBADQ;AAEfiB,MAAAA,OAAO,EAAE;AAFM;AA5EJ;AA1BF,C","sourcesContent":["export default {\n model: {\n prompt: '',\n toolbarEditorPosition: 'bottom',\n imageUrl: '',\n shapes: {\n rectangles: [],\n polygons: [],\n circles: [],\n },\n multipleCorrect: true,\n partialScoring: false,\n dimensions: {\n height: 0,\n width: 0,\n },\n hotspotColor: 'rgba(137, 183, 244, 0.25)',\n hotspotList: ['rgba(137, 183, 244, 0.25)'],\n outlineColor: 'blue',\n outlineList: ['blue'],\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n strokeWidth: 5,\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n multipleCorrect: {\n settings: true,\n label: 'Multiple Correct Responses',\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\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 },\n prompt: {\n settings: true,\n label: 'Prompt',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\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 },\n preserveAspectRatio: {\n settings: false,\n enabled: true,\n label: 'Preserve aspect ratio',\n },\n minShapes: 2,\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\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"}
|
package/configure/lib/root.js
CHANGED
|
@@ -121,6 +121,8 @@ var Root = /*#__PURE__*/function (_React$Component) {
|
|
|
121
121
|
onUpdateShapes = _this$props2.onUpdateShapes;
|
|
122
122
|
|
|
123
123
|
var _ref = configuration || {},
|
|
124
|
+
_ref$baseInputConfigu = _ref.baseInputConfiguration,
|
|
125
|
+
baseInputConfiguration = _ref$baseInputConfigu === void 0 ? {} : _ref$baseInputConfigu,
|
|
124
126
|
_ref$contentDimension = _ref.contentDimensions,
|
|
125
127
|
contentDimensions = _ref$contentDimension === void 0 ? {} : _ref$contentDimension,
|
|
126
128
|
_ref$maxImageWidth = _ref.maxImageWidth,
|
|
@@ -182,6 +184,11 @@ var Root = /*#__PURE__*/function (_React$Component) {
|
|
|
182
184
|
spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
|
|
183
185
|
rubricEnabled: (withRubric === null || withRubric === void 0 ? void 0 : withRubric.settings) && toggle(withRubric === null || withRubric === void 0 ? void 0 : withRubric.label)
|
|
184
186
|
};
|
|
187
|
+
|
|
188
|
+
var getPluginProps = function getPluginProps(props) {
|
|
189
|
+
return Object.assign(_objectSpread({}, baseInputConfiguration), props || {});
|
|
190
|
+
};
|
|
191
|
+
|
|
185
192
|
return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
|
|
186
193
|
dimensions: contentDimensions,
|
|
187
194
|
hideSettings: settingsPanelDisabled,
|
|
@@ -204,6 +211,7 @@ var Root = /*#__PURE__*/function (_React$Component) {
|
|
|
204
211
|
imageSupport: imageSupport,
|
|
205
212
|
nonEmpty: false,
|
|
206
213
|
toolbarOpts: toolbarOpts,
|
|
214
|
+
pluginProps: getPluginProps(teacherInstructions === null || teacherInstructions === void 0 ? void 0 : teacherInstructions.inputConfiguration),
|
|
207
215
|
spellCheck: spellCheckEnabled,
|
|
208
216
|
maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
|
|
209
217
|
maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
|
|
@@ -223,6 +231,7 @@ var Root = /*#__PURE__*/function (_React$Component) {
|
|
|
223
231
|
imageSupport: imageSupport,
|
|
224
232
|
nonEmpty: false,
|
|
225
233
|
toolbarOpts: toolbarOpts,
|
|
234
|
+
pluginProps: getPluginProps(prompt === null || prompt === void 0 ? void 0 : prompt.inputConfiguration),
|
|
226
235
|
spellCheck: spellCheckEnabled,
|
|
227
236
|
maxImageWidth: defaultImageMaxWidth,
|
|
228
237
|
maxImageHeight: defaultImageMaxHeight,
|
|
@@ -313,6 +322,7 @@ var Root = /*#__PURE__*/function (_React$Component) {
|
|
|
313
322
|
onChange: onRationaleChanged,
|
|
314
323
|
imageSupport: imageSupport,
|
|
315
324
|
toolbarOpts: toolbarOpts,
|
|
325
|
+
pluginProps: getPluginProps(rationale === null || rationale === void 0 ? void 0 : rationale.inputConfiguration),
|
|
316
326
|
spellCheck: spellCheckEnabled,
|
|
317
327
|
maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
|
|
318
328
|
maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/root.jsx"],"names":["Panel","settings","toggle","dropdown","Root","fieldType","color","onColorChanged","props","cType","value","resizeType","model","dimensions","shapes","configuration","preserveAspectRatio","onUpdateImageDimension","onUpdateShapes","nextImageDimensions","updatedDimensions","enabled","shapesArray","updatedShapes","classes","imageSupport","uploadSoundSupport","onConfigurationChanged","onImageUpload","onModelChangedByConfig","onPromptChanged","onRationaleChanged","onTeacherInstructionsChanged","contentDimensions","maxImageWidth","maxImageHeight","multipleCorrect","partialScoring","prompt","rationale","settingsPanelDisabled","spellCheck","teacherInstructions","withRubric","mathMlOptions","language","languageChoices","errors","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","shapesError","selectionsError","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","toolbarOpts","position","panelSettings","label","options","panelProperties","rubricEnabled","Settings","Properties","promptContainer","flexContainer","subheading","tooltip","hotspotColor","hotspotList","outlineColor","outlineList","handleColorChange","imageUrl","strokeWidth","add","errorText","width","e","handleOnUpdateImageDimensions","field","height","React","Component","styles","theme","display","marginBottom","spacing","unit","flex","paddingTop","marginRight","alignItems","fontSize","typography","whiteSpace","maxWidth","palette","error","main","propTypes","PropTypes","object","isRequired","shape","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { settings, layout, InputContainer, NumberTextField } from '@pie-lib/pie-toolbox/config-ui';\nimport PropTypes from 'prop-types';\nimport {EditableHtml} from '@pie-lib/pie-toolbox/editable-html';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport HotspotPalette from './hotspot-palette';\nimport HotspotContainer from './hotspot-container';\nimport { updateImageDimensions, generateValidationMessage, getUpdatedShapes, getAllShapes, groupShapes } from './utils';\n\nconst { Panel, toggle, dropdown } = settings;\n\nexport class Root extends React.Component {\n handleColorChange = (fieldType, color) => {\n const { onColorChanged } = this.props;\n const cType = `${fieldType}Color`;\n\n onColorChanged(cType, color);\n };\n\n handleOnUpdateImageDimensions = (value, resizeType) => {\n const {\n model: { dimensions, shapes },\n configuration: { preserveAspectRatio = {} },\n onUpdateImageDimension,\n onUpdateShapes,\n } = this.props;\n\n const nextImageDimensions = { ...dimensions, [resizeType]: value };\n\n // if preserveAspectRatio.enabled, updateImageDimensions function makes sure aspect ratio is kept\n const updatedDimensions = updateImageDimensions(\n dimensions,\n nextImageDimensions,\n preserveAspectRatio.enabled,\n resizeType,\n );\n // transform shapes map into shapes array\n const shapesArray = getAllShapes(shapes);\n // transform all the shapes to fit the re-sized image\n const updatedShapes = getUpdatedShapes(dimensions, updatedDimensions, shapesArray);\n // transform shapes array back into shapes map\n\n onUpdateShapes(groupShapes(updatedShapes));\n onUpdateImageDimension(updatedDimensions);\n };\n\n render() {\n const {\n classes,\n configuration,\n model,\n imageSupport,\n uploadSoundSupport,\n onConfigurationChanged,\n onImageUpload,\n onModelChangedByConfig,\n onPromptChanged,\n onRationaleChanged,\n onUpdateImageDimension,\n onTeacherInstructionsChanged,\n onUpdateShapes,\n } = this.props;\n const {\n contentDimensions = {},\n maxImageWidth = {},\n maxImageHeight = {},\n multipleCorrect = {},\n partialScoring = {},\n preserveAspectRatio = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n errors,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n const { shapesError, selectionsError } = errors || {};\n const validationMessage = generateValidationMessage(configuration);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelSettings = {\n multipleCorrect: multipleCorrect.settings && toggle(multipleCorrect.label),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onModelChangedByConfig}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptContainer}>\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptContainer}>\n <EditableHtml\n markup={model.prompt || ''}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n <div className={classes.flexContainer}>\n <Typography className={classes.subheading} variant=\"subheading\">\n Define Hotspot\n </Typography>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'left'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ float: 'right' }} />\n </Tooltip>\n </div>\n\n <HotspotPalette\n hotspotColor={model.hotspotColor}\n hotspotList={model.hotspotList}\n outlineColor={model.outlineColor}\n outlineList={model.outlineList}\n onHotspotColorChange={(color) => this.handleColorChange('hotspot', color)}\n onOutlineColorChange={(color) => this.handleColorChange('outline', color)}\n />\n\n <HotspotContainer\n dimensions={model.dimensions}\n imageUrl={model.imageUrl}\n multipleCorrect={model.multipleCorrect}\n hasErrors={!!shapesError || !!selectionsError}\n hotspotColor={model.hotspotColor}\n outlineColor={model.outlineColor}\n onUpdateImageDimension={onUpdateImageDimension}\n onUpdateShapes={onUpdateShapes}\n onImageUpload={onImageUpload}\n shapes={model.shapes}\n strokeWidth={model.strokeWidth}\n preserveAspectRatioEnabled={preserveAspectRatio.enabled}\n insertImage={imageSupport && imageSupport.add}\n />\n {shapesError && <div className={classes.errorText}>{shapesError}</div>}\n {selectionsError && <div className={classes.errorText}>{selectionsError}</div>}\n\n {model.imageUrl && (\n <React.Fragment>\n <Typography variant=\"subheading\">Image Dimensions</Typography>\n\n <div className={classes.dimensions}>\n <NumberTextField\n key=\"hotspot-manual-width\"\n label=\"Width\"\n value={model.dimensions.width}\n min={0}\n onChange={(e, value) => this.handleOnUpdateImageDimensions(value, 'width')}\n showErrorWhenOutsideRange\n className={classes.field}\n />\n\n <NumberTextField\n key=\"hotspot-manual-height\"\n label=\"Height\"\n value={model.dimensions.height}\n min={0}\n onChange={(e, value) => this.handleOnUpdateImageDimensions(value, 'height')}\n showErrorWhenOutsideRange\n className={classes.field}\n />\n </div>\n </React.Fragment>\n )}\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className={classes.promptContainer}>\n <EditableHtml\n markup={model.rationale || ''}\n onChange={onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nconst styles = (theme) => ({\n dimensions: {\n display: 'flex',\n marginBottom: theme.spacing.unit * 1.5,\n },\n field: {\n flex: 1,\n width: '90%',\n },\n promptContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n subheading: {\n marginRight: theme.spacing.unit,\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nRoot.propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func,\n }),\n onImageUpload: PropTypes.func.isRequired,\n onColorChanged: PropTypes.func.isRequired,\n onPromptChanged: PropTypes.func.isRequired,\n onUpdateImageDimension: PropTypes.func.isRequired,\n onUpdateShapes: PropTypes.func.isRequired,\n onModelChangedByConfig: PropTypes.func.isRequired,\n onRationaleChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n onTeacherInstructionsChanged: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(Root);\n"],"file":"root.js"}
|
|
1
|
+
{"version":3,"sources":["../src/root.jsx"],"names":["Panel","settings","toggle","dropdown","Root","fieldType","color","onColorChanged","props","cType","value","resizeType","model","dimensions","shapes","configuration","preserveAspectRatio","onUpdateImageDimension","onUpdateShapes","nextImageDimensions","updatedDimensions","enabled","shapesArray","updatedShapes","classes","imageSupport","uploadSoundSupport","onConfigurationChanged","onImageUpload","onModelChangedByConfig","onPromptChanged","onRationaleChanged","onTeacherInstructionsChanged","baseInputConfiguration","contentDimensions","maxImageWidth","maxImageHeight","multipleCorrect","partialScoring","prompt","rationale","settingsPanelDisabled","spellCheck","teacherInstructions","withRubric","mathMlOptions","language","languageChoices","errors","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","shapesError","selectionsError","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","toolbarOpts","position","panelSettings","label","options","panelProperties","rubricEnabled","getPluginProps","Object","assign","Settings","Properties","promptContainer","inputConfiguration","flexContainer","subheading","tooltip","hotspotColor","hotspotList","outlineColor","outlineList","handleColorChange","imageUrl","strokeWidth","add","errorText","width","e","handleOnUpdateImageDimensions","field","height","React","Component","styles","theme","display","marginBottom","spacing","unit","flex","paddingTop","marginRight","alignItems","fontSize","typography","whiteSpace","maxWidth","palette","error","main","propTypes","PropTypes","object","isRequired","shape","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { settings, layout, InputContainer, NumberTextField } from '@pie-lib/pie-toolbox/config-ui';\nimport PropTypes from 'prop-types';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport HotspotPalette from './hotspot-palette';\nimport HotspotContainer from './hotspot-container';\nimport { updateImageDimensions, generateValidationMessage, getUpdatedShapes, getAllShapes, groupShapes } from './utils';\n\nconst { Panel, toggle, dropdown } = settings;\n\nexport class Root extends React.Component {\n handleColorChange = (fieldType, color) => {\n const { onColorChanged } = this.props;\n const cType = `${fieldType}Color`;\n\n onColorChanged(cType, color);\n };\n\n handleOnUpdateImageDimensions = (value, resizeType) => {\n const {\n model: { dimensions, shapes },\n configuration: { preserveAspectRatio = {} },\n onUpdateImageDimension,\n onUpdateShapes,\n } = this.props;\n\n const nextImageDimensions = { ...dimensions, [resizeType]: value };\n\n // if preserveAspectRatio.enabled, updateImageDimensions function makes sure aspect ratio is kept\n const updatedDimensions = updateImageDimensions(\n dimensions,\n nextImageDimensions,\n preserveAspectRatio.enabled,\n resizeType,\n );\n // transform shapes map into shapes array\n const shapesArray = getAllShapes(shapes);\n // transform all the shapes to fit the re-sized image\n const updatedShapes = getUpdatedShapes(dimensions, updatedDimensions, shapesArray);\n // transform shapes array back into shapes map\n\n onUpdateShapes(groupShapes(updatedShapes));\n onUpdateImageDimension(updatedDimensions);\n };\n\n render() {\n const {\n classes,\n configuration,\n model,\n imageSupport,\n uploadSoundSupport,\n onConfigurationChanged,\n onImageUpload,\n onModelChangedByConfig,\n onPromptChanged,\n onRationaleChanged,\n onUpdateImageDimension,\n onTeacherInstructionsChanged,\n onUpdateShapes,\n } = this.props;\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n maxImageWidth = {},\n maxImageHeight = {},\n multipleCorrect = {},\n partialScoring = {},\n preserveAspectRatio = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n errors,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n const { shapesError, selectionsError } = errors || {};\n const validationMessage = generateValidationMessage(configuration);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const panelSettings = {\n multipleCorrect: multipleCorrect.settings && toggle(multipleCorrect.label),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n const getPluginProps = (props) => {\n return Object.assign(\n {\n ...baseInputConfiguration,\n },\n props || {},\n );\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onModelChangedByConfig}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptContainer}>\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptContainer}>\n <EditableHtml\n markup={model.prompt || ''}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n <div className={classes.flexContainer}>\n <Typography className={classes.subheading} variant=\"subheading\">\n Define Hotspot\n </Typography>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'left'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ float: 'right' }} />\n </Tooltip>\n </div>\n\n <HotspotPalette\n hotspotColor={model.hotspotColor}\n hotspotList={model.hotspotList}\n outlineColor={model.outlineColor}\n outlineList={model.outlineList}\n onHotspotColorChange={(color) => this.handleColorChange('hotspot', color)}\n onOutlineColorChange={(color) => this.handleColorChange('outline', color)}\n />\n\n <HotspotContainer\n dimensions={model.dimensions}\n imageUrl={model.imageUrl}\n multipleCorrect={model.multipleCorrect}\n hasErrors={!!shapesError || !!selectionsError}\n hotspotColor={model.hotspotColor}\n outlineColor={model.outlineColor}\n onUpdateImageDimension={onUpdateImageDimension}\n onUpdateShapes={onUpdateShapes}\n onImageUpload={onImageUpload}\n shapes={model.shapes}\n strokeWidth={model.strokeWidth}\n preserveAspectRatioEnabled={preserveAspectRatio.enabled}\n insertImage={imageSupport && imageSupport.add}\n />\n {shapesError && <div className={classes.errorText}>{shapesError}</div>}\n {selectionsError && <div className={classes.errorText}>{selectionsError}</div>}\n\n {model.imageUrl && (\n <React.Fragment>\n <Typography variant=\"subheading\">Image Dimensions</Typography>\n\n <div className={classes.dimensions}>\n <NumberTextField\n key=\"hotspot-manual-width\"\n label=\"Width\"\n value={model.dimensions.width}\n min={0}\n onChange={(e, value) => this.handleOnUpdateImageDimensions(value, 'width')}\n showErrorWhenOutsideRange\n className={classes.field}\n />\n\n <NumberTextField\n key=\"hotspot-manual-height\"\n label=\"Height\"\n value={model.dimensions.height}\n min={0}\n onChange={(e, value) => this.handleOnUpdateImageDimensions(value, 'height')}\n showErrorWhenOutsideRange\n className={classes.field}\n />\n </div>\n </React.Fragment>\n )}\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className={classes.promptContainer}>\n <EditableHtml\n markup={model.rationale || ''}\n onChange={onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nconst styles = (theme) => ({\n dimensions: {\n display: 'flex',\n marginBottom: theme.spacing.unit * 1.5,\n },\n field: {\n flex: 1,\n width: '90%',\n },\n promptContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n width: '100%',\n },\n subheading: {\n marginRight: theme.spacing.unit,\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nRoot.propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func,\n delete: PropTypes.func,\n }),\n onImageUpload: PropTypes.func.isRequired,\n onColorChanged: PropTypes.func.isRequired,\n onPromptChanged: PropTypes.func.isRequired,\n onUpdateImageDimension: PropTypes.func.isRequired,\n onUpdateShapes: PropTypes.func.isRequired,\n onModelChangedByConfig: PropTypes.func.isRequired,\n onRationaleChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n onTeacherInstructionsChanged: PropTypes.func.isRequired,\n};\n\nexport default withStyles(styles)(Root);\n"],"file":"root.js"}
|
package/configure/package.json
CHANGED
|
@@ -8,6 +8,17 @@ exports[`Root render renders 1`] = `
|
|
|
8
8
|
<Panel
|
|
9
9
|
configuration={
|
|
10
10
|
Object {
|
|
11
|
+
"baseInputConfiguration": Object {
|
|
12
|
+
"audio": Object {
|
|
13
|
+
"disabled": false,
|
|
14
|
+
},
|
|
15
|
+
"image": Object {
|
|
16
|
+
"disabled": false,
|
|
17
|
+
},
|
|
18
|
+
"video": Object {
|
|
19
|
+
"disabled": false,
|
|
20
|
+
},
|
|
21
|
+
},
|
|
11
22
|
"language": Object {
|
|
12
23
|
"enabled": false,
|
|
13
24
|
"label": "Specify Language",
|
|
@@ -46,10 +57,32 @@ exports[`Root render renders 1`] = `
|
|
|
46
57
|
"settings": false,
|
|
47
58
|
},
|
|
48
59
|
"prompt": Object {
|
|
60
|
+
"inputConfiguration": Object {
|
|
61
|
+
"audio": Object {
|
|
62
|
+
"disabled": false,
|
|
63
|
+
},
|
|
64
|
+
"image": Object {
|
|
65
|
+
"disabled": false,
|
|
66
|
+
},
|
|
67
|
+
"video": Object {
|
|
68
|
+
"disabled": false,
|
|
69
|
+
},
|
|
70
|
+
},
|
|
49
71
|
"label": "Prompt",
|
|
50
72
|
"settings": true,
|
|
51
73
|
},
|
|
52
74
|
"rationale": Object {
|
|
75
|
+
"inputConfiguration": Object {
|
|
76
|
+
"audio": Object {
|
|
77
|
+
"disabled": false,
|
|
78
|
+
},
|
|
79
|
+
"image": Object {
|
|
80
|
+
"disabled": false,
|
|
81
|
+
},
|
|
82
|
+
"video": Object {
|
|
83
|
+
"disabled": false,
|
|
84
|
+
},
|
|
85
|
+
},
|
|
53
86
|
"label": "Rationale",
|
|
54
87
|
"settings": true,
|
|
55
88
|
},
|
|
@@ -60,6 +93,17 @@ exports[`Root render renders 1`] = `
|
|
|
60
93
|
"settings": false,
|
|
61
94
|
},
|
|
62
95
|
"teacherInstructions": Object {
|
|
96
|
+
"inputConfiguration": Object {
|
|
97
|
+
"audio": Object {
|
|
98
|
+
"disabled": false,
|
|
99
|
+
},
|
|
100
|
+
"image": Object {
|
|
101
|
+
"disabled": false,
|
|
102
|
+
},
|
|
103
|
+
"video": Object {
|
|
104
|
+
"disabled": false,
|
|
105
|
+
},
|
|
106
|
+
},
|
|
63
107
|
"label": "Teacher Instructions",
|
|
64
108
|
"settings": true,
|
|
65
109
|
},
|
|
@@ -25,6 +25,11 @@ export default {
|
|
|
25
25
|
strokeWidth: 5,
|
|
26
26
|
},
|
|
27
27
|
configuration: {
|
|
28
|
+
baseInputConfiguration: {
|
|
29
|
+
audio: { disabled: false },
|
|
30
|
+
video: { disabled: false },
|
|
31
|
+
image: { disabled: false },
|
|
32
|
+
},
|
|
28
33
|
multipleCorrect: {
|
|
29
34
|
settings: true,
|
|
30
35
|
label: 'Multiple Correct Responses',
|
|
@@ -36,10 +41,20 @@ export default {
|
|
|
36
41
|
rationale: {
|
|
37
42
|
settings: true,
|
|
38
43
|
label: 'Rationale',
|
|
44
|
+
inputConfiguration: {
|
|
45
|
+
audio: { disabled: false },
|
|
46
|
+
video: { disabled: false },
|
|
47
|
+
image: { disabled: false },
|
|
48
|
+
},
|
|
39
49
|
},
|
|
40
50
|
prompt: {
|
|
41
51
|
settings: true,
|
|
42
52
|
label: 'Prompt',
|
|
53
|
+
inputConfiguration: {
|
|
54
|
+
audio: { disabled: false },
|
|
55
|
+
video: { disabled: false },
|
|
56
|
+
image: { disabled: false },
|
|
57
|
+
},
|
|
43
58
|
},
|
|
44
59
|
settingsPanelDisabled: false,
|
|
45
60
|
spellCheck: {
|
|
@@ -50,6 +65,11 @@ export default {
|
|
|
50
65
|
teacherInstructions: {
|
|
51
66
|
settings: true,
|
|
52
67
|
label: 'Teacher Instructions',
|
|
68
|
+
inputConfiguration: {
|
|
69
|
+
audio: { disabled: false },
|
|
70
|
+
video: { disabled: false },
|
|
71
|
+
image: { disabled: false },
|
|
72
|
+
},
|
|
53
73
|
},
|
|
54
74
|
preserveAspectRatio: {
|
|
55
75
|
settings: false,
|
package/configure/src/root.jsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { settings, layout, InputContainer, NumberTextField } from '@pie-lib/pie-toolbox/config-ui';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
|
-
import {EditableHtml} from '@pie-lib/pie-toolbox/editable-html';
|
|
4
|
+
import { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';
|
|
5
5
|
import { withStyles } from '@material-ui/core/styles';
|
|
6
6
|
import Typography from '@material-ui/core/Typography';
|
|
7
7
|
import Info from '@material-ui/icons/Info';
|
|
@@ -64,6 +64,7 @@ export class Root extends React.Component {
|
|
|
64
64
|
onUpdateShapes,
|
|
65
65
|
} = this.props;
|
|
66
66
|
const {
|
|
67
|
+
baseInputConfiguration = {},
|
|
67
68
|
contentDimensions = {},
|
|
68
69
|
maxImageWidth = {},
|
|
69
70
|
maxImageHeight = {},
|
|
@@ -112,6 +113,15 @@ export class Root extends React.Component {
|
|
|
112
113
|
rubricEnabled: withRubric?.settings && toggle(withRubric?.label),
|
|
113
114
|
};
|
|
114
115
|
|
|
116
|
+
const getPluginProps = (props) => {
|
|
117
|
+
return Object.assign(
|
|
118
|
+
{
|
|
119
|
+
...baseInputConfiguration,
|
|
120
|
+
},
|
|
121
|
+
props || {},
|
|
122
|
+
);
|
|
123
|
+
};
|
|
124
|
+
|
|
115
125
|
return (
|
|
116
126
|
<layout.ConfigLayout
|
|
117
127
|
dimensions={contentDimensions}
|
|
@@ -137,6 +147,7 @@ export class Root extends React.Component {
|
|
|
137
147
|
imageSupport={imageSupport}
|
|
138
148
|
nonEmpty={false}
|
|
139
149
|
toolbarOpts={toolbarOpts}
|
|
150
|
+
pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}
|
|
140
151
|
spellCheck={spellCheckEnabled}
|
|
141
152
|
maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}
|
|
142
153
|
maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}
|
|
@@ -155,6 +166,7 @@ export class Root extends React.Component {
|
|
|
155
166
|
imageSupport={imageSupport}
|
|
156
167
|
nonEmpty={false}
|
|
157
168
|
toolbarOpts={toolbarOpts}
|
|
169
|
+
pluginProps={getPluginProps(prompt?.inputConfiguration)}
|
|
158
170
|
spellCheck={spellCheckEnabled}
|
|
159
171
|
maxImageWidth={defaultImageMaxWidth}
|
|
160
172
|
maxImageHeight={defaultImageMaxHeight}
|
|
@@ -242,6 +254,7 @@ export class Root extends React.Component {
|
|
|
242
254
|
onChange={onRationaleChanged}
|
|
243
255
|
imageSupport={imageSupport}
|
|
244
256
|
toolbarOpts={toolbarOpts}
|
|
257
|
+
pluginProps={getPluginProps(rationale?.inputConfiguration)}
|
|
245
258
|
spellCheck={spellCheckEnabled}
|
|
246
259
|
maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}
|
|
247
260
|
maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}
|
package/docs/config-schema.json
CHANGED
|
@@ -3,6 +3,45 @@
|
|
|
3
3
|
"additionalProperties": false,
|
|
4
4
|
"type": "object",
|
|
5
5
|
"properties": {
|
|
6
|
+
"baseInputConfiguration": {
|
|
7
|
+
"title": "EditableHtmlConfigureProp",
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"audio": {
|
|
11
|
+
"title": "EditableHtmlButtonConfigure",
|
|
12
|
+
"type": "object",
|
|
13
|
+
"properties": {
|
|
14
|
+
"disabled": {
|
|
15
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
16
|
+
"type": "boolean",
|
|
17
|
+
"title": "disabled"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"video": {
|
|
22
|
+
"title": "EditableHtmlButtonConfigure",
|
|
23
|
+
"type": "object",
|
|
24
|
+
"properties": {
|
|
25
|
+
"disabled": {
|
|
26
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
27
|
+
"type": "boolean",
|
|
28
|
+
"title": "disabled"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"image": {
|
|
33
|
+
"title": "EditableHtmlButtonConfigure",
|
|
34
|
+
"type": "object",
|
|
35
|
+
"properties": {
|
|
36
|
+
"disabled": {
|
|
37
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
38
|
+
"type": "boolean",
|
|
39
|
+
"title": "disabled"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
6
45
|
"multipleCorrect": {
|
|
7
46
|
"title": "ConfigureProp",
|
|
8
47
|
"type": "object",
|
|
@@ -36,9 +75,158 @@
|
|
|
36
75
|
}
|
|
37
76
|
},
|
|
38
77
|
"rationale": {
|
|
39
|
-
"title": "
|
|
78
|
+
"title": "EditableHtmlPluginConfigure",
|
|
79
|
+
"type": "object",
|
|
80
|
+
"properties": {
|
|
81
|
+
"inputConfiguration": {
|
|
82
|
+
"title": "EditableHtmlConfigureProp",
|
|
83
|
+
"type": "object",
|
|
84
|
+
"properties": {
|
|
85
|
+
"audio": {
|
|
86
|
+
"title": "EditableHtmlButtonConfigure",
|
|
87
|
+
"type": "object",
|
|
88
|
+
"properties": {
|
|
89
|
+
"disabled": {
|
|
90
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
91
|
+
"type": "boolean",
|
|
92
|
+
"title": "disabled"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"video": {
|
|
97
|
+
"title": "EditableHtmlButtonConfigure",
|
|
98
|
+
"type": "object",
|
|
99
|
+
"properties": {
|
|
100
|
+
"disabled": {
|
|
101
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
102
|
+
"type": "boolean",
|
|
103
|
+
"title": "disabled"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"image": {
|
|
108
|
+
"title": "EditableHtmlButtonConfigure",
|
|
109
|
+
"type": "object",
|
|
110
|
+
"properties": {
|
|
111
|
+
"disabled": {
|
|
112
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
113
|
+
"type": "boolean",
|
|
114
|
+
"title": "disabled"
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"settings": {
|
|
121
|
+
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
122
|
+
"type": "boolean",
|
|
123
|
+
"title": "settings"
|
|
124
|
+
},
|
|
125
|
+
"label": {
|
|
126
|
+
"description": "Indicates the label for the item that has to be displayed in the Settings Panel",
|
|
127
|
+
"type": "string",
|
|
128
|
+
"title": "label"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"prompt": {
|
|
133
|
+
"title": "EditableHtmlPluginConfigure",
|
|
40
134
|
"type": "object",
|
|
41
135
|
"properties": {
|
|
136
|
+
"inputConfiguration": {
|
|
137
|
+
"title": "EditableHtmlConfigureProp",
|
|
138
|
+
"type": "object",
|
|
139
|
+
"properties": {
|
|
140
|
+
"audio": {
|
|
141
|
+
"title": "EditableHtmlButtonConfigure",
|
|
142
|
+
"type": "object",
|
|
143
|
+
"properties": {
|
|
144
|
+
"disabled": {
|
|
145
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
146
|
+
"type": "boolean",
|
|
147
|
+
"title": "disabled"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"video": {
|
|
152
|
+
"title": "EditableHtmlButtonConfigure",
|
|
153
|
+
"type": "object",
|
|
154
|
+
"properties": {
|
|
155
|
+
"disabled": {
|
|
156
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
157
|
+
"type": "boolean",
|
|
158
|
+
"title": "disabled"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"image": {
|
|
163
|
+
"title": "EditableHtmlButtonConfigure",
|
|
164
|
+
"type": "object",
|
|
165
|
+
"properties": {
|
|
166
|
+
"disabled": {
|
|
167
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
168
|
+
"type": "boolean",
|
|
169
|
+
"title": "disabled"
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"settings": {
|
|
176
|
+
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
177
|
+
"type": "boolean",
|
|
178
|
+
"title": "settings"
|
|
179
|
+
},
|
|
180
|
+
"label": {
|
|
181
|
+
"description": "Indicates the label for the item that has to be displayed in the Settings Panel",
|
|
182
|
+
"type": "string",
|
|
183
|
+
"title": "label"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"teacherInstructions": {
|
|
188
|
+
"title": "EditableHtmlPluginConfigure",
|
|
189
|
+
"type": "object",
|
|
190
|
+
"properties": {
|
|
191
|
+
"inputConfiguration": {
|
|
192
|
+
"title": "EditableHtmlConfigureProp",
|
|
193
|
+
"type": "object",
|
|
194
|
+
"properties": {
|
|
195
|
+
"audio": {
|
|
196
|
+
"title": "EditableHtmlButtonConfigure",
|
|
197
|
+
"type": "object",
|
|
198
|
+
"properties": {
|
|
199
|
+
"disabled": {
|
|
200
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
201
|
+
"type": "boolean",
|
|
202
|
+
"title": "disabled"
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
"video": {
|
|
207
|
+
"title": "EditableHtmlButtonConfigure",
|
|
208
|
+
"type": "object",
|
|
209
|
+
"properties": {
|
|
210
|
+
"disabled": {
|
|
211
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
212
|
+
"type": "boolean",
|
|
213
|
+
"title": "disabled"
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"image": {
|
|
218
|
+
"title": "EditableHtmlButtonConfigure",
|
|
219
|
+
"type": "object",
|
|
220
|
+
"properties": {
|
|
221
|
+
"disabled": {
|
|
222
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
223
|
+
"type": "boolean",
|
|
224
|
+
"title": "disabled"
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
},
|
|
42
230
|
"settings": {
|
|
43
231
|
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
44
232
|
"type": "boolean",
|
|
@@ -301,6 +489,56 @@
|
|
|
301
489
|
}
|
|
302
490
|
},
|
|
303
491
|
"definitions": {
|
|
492
|
+
"EditableHtmlConfigureProp": {
|
|
493
|
+
"title": "EditableHtmlConfigureProp",
|
|
494
|
+
"type": "object",
|
|
495
|
+
"properties": {
|
|
496
|
+
"audio": {
|
|
497
|
+
"title": "EditableHtmlButtonConfigure",
|
|
498
|
+
"type": "object",
|
|
499
|
+
"properties": {
|
|
500
|
+
"disabled": {
|
|
501
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
502
|
+
"type": "boolean",
|
|
503
|
+
"title": "disabled"
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
},
|
|
507
|
+
"video": {
|
|
508
|
+
"title": "EditableHtmlButtonConfigure",
|
|
509
|
+
"type": "object",
|
|
510
|
+
"properties": {
|
|
511
|
+
"disabled": {
|
|
512
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
513
|
+
"type": "boolean",
|
|
514
|
+
"title": "disabled"
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
},
|
|
518
|
+
"image": {
|
|
519
|
+
"title": "EditableHtmlButtonConfigure",
|
|
520
|
+
"type": "object",
|
|
521
|
+
"properties": {
|
|
522
|
+
"disabled": {
|
|
523
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
524
|
+
"type": "boolean",
|
|
525
|
+
"title": "disabled"
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
},
|
|
531
|
+
"EditableHtmlButtonConfigure": {
|
|
532
|
+
"title": "EditableHtmlButtonConfigure",
|
|
533
|
+
"type": "object",
|
|
534
|
+
"properties": {
|
|
535
|
+
"disabled": {
|
|
536
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
537
|
+
"type": "boolean",
|
|
538
|
+
"title": "disabled"
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
},
|
|
304
542
|
"ConfigureProp": {
|
|
305
543
|
"title": "ConfigureProp",
|
|
306
544
|
"type": "object",
|
|
@@ -317,6 +555,61 @@
|
|
|
317
555
|
}
|
|
318
556
|
}
|
|
319
557
|
},
|
|
558
|
+
"EditableHtmlPluginConfigure": {
|
|
559
|
+
"title": "EditableHtmlPluginConfigure",
|
|
560
|
+
"type": "object",
|
|
561
|
+
"properties": {
|
|
562
|
+
"inputConfiguration": {
|
|
563
|
+
"title": "EditableHtmlConfigureProp",
|
|
564
|
+
"type": "object",
|
|
565
|
+
"properties": {
|
|
566
|
+
"audio": {
|
|
567
|
+
"title": "EditableHtmlButtonConfigure",
|
|
568
|
+
"type": "object",
|
|
569
|
+
"properties": {
|
|
570
|
+
"disabled": {
|
|
571
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
572
|
+
"type": "boolean",
|
|
573
|
+
"title": "disabled"
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
},
|
|
577
|
+
"video": {
|
|
578
|
+
"title": "EditableHtmlButtonConfigure",
|
|
579
|
+
"type": "object",
|
|
580
|
+
"properties": {
|
|
581
|
+
"disabled": {
|
|
582
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
583
|
+
"type": "boolean",
|
|
584
|
+
"title": "disabled"
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
},
|
|
588
|
+
"image": {
|
|
589
|
+
"title": "EditableHtmlButtonConfigure",
|
|
590
|
+
"type": "object",
|
|
591
|
+
"properties": {
|
|
592
|
+
"disabled": {
|
|
593
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
594
|
+
"type": "boolean",
|
|
595
|
+
"title": "disabled"
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
},
|
|
601
|
+
"settings": {
|
|
602
|
+
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
603
|
+
"type": "boolean",
|
|
604
|
+
"title": "settings"
|
|
605
|
+
},
|
|
606
|
+
"label": {
|
|
607
|
+
"description": "Indicates the label for the item that has to be displayed in the Settings Panel",
|
|
608
|
+
"type": "string",
|
|
609
|
+
"title": "label"
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
},
|
|
320
613
|
"ConfigureMaxImageDimensionsProp": {
|
|
321
614
|
"title": "ConfigureMaxImageDimensionsProp",
|
|
322
615
|
"type": "object",
|
|
@@ -2,6 +2,34 @@ Config Object for @pie-elements/hotspot
|
|
|
2
2
|
|
|
3
3
|
The schema defines the following properties:
|
|
4
4
|
|
|
5
|
+
# `baseInputConfiguration` (object)
|
|
6
|
+
|
|
7
|
+
Properties of the `baseInputConfiguration` object:
|
|
8
|
+
|
|
9
|
+
## `audio` (object)
|
|
10
|
+
|
|
11
|
+
Properties of the `audio` object:
|
|
12
|
+
|
|
13
|
+
### `disabled` (boolean)
|
|
14
|
+
|
|
15
|
+
Indicates if the plugin is disabled or not
|
|
16
|
+
|
|
17
|
+
## `video` (object)
|
|
18
|
+
|
|
19
|
+
Properties of the `video` object:
|
|
20
|
+
|
|
21
|
+
### `disabled` (boolean)
|
|
22
|
+
|
|
23
|
+
Indicates if the plugin is disabled or not
|
|
24
|
+
|
|
25
|
+
## `image` (object)
|
|
26
|
+
|
|
27
|
+
Properties of the `image` object:
|
|
28
|
+
|
|
29
|
+
### `disabled` (boolean)
|
|
30
|
+
|
|
31
|
+
Indicates if the plugin is disabled or not
|
|
32
|
+
|
|
5
33
|
# `multipleCorrect` (object)
|
|
6
34
|
|
|
7
35
|
Properties of the `multipleCorrect` object:
|
|
@@ -30,6 +58,114 @@ Indicates the label for the item that has to be displayed in the Settings Panel
|
|
|
30
58
|
|
|
31
59
|
Properties of the `rationale` object:
|
|
32
60
|
|
|
61
|
+
## `inputConfiguration` (object)
|
|
62
|
+
|
|
63
|
+
Properties of the `inputConfiguration` object:
|
|
64
|
+
|
|
65
|
+
### `audio` (object)
|
|
66
|
+
|
|
67
|
+
Properties of the `audio` object:
|
|
68
|
+
|
|
69
|
+
#### `disabled` (boolean)
|
|
70
|
+
|
|
71
|
+
Indicates if the plugin is disabled or not
|
|
72
|
+
|
|
73
|
+
### `video` (object)
|
|
74
|
+
|
|
75
|
+
Properties of the `video` object:
|
|
76
|
+
|
|
77
|
+
#### `disabled` (boolean)
|
|
78
|
+
|
|
79
|
+
Indicates if the plugin is disabled or not
|
|
80
|
+
|
|
81
|
+
### `image` (object)
|
|
82
|
+
|
|
83
|
+
Properties of the `image` object:
|
|
84
|
+
|
|
85
|
+
#### `disabled` (boolean)
|
|
86
|
+
|
|
87
|
+
Indicates if the plugin is disabled or not
|
|
88
|
+
|
|
89
|
+
## `settings` (boolean)
|
|
90
|
+
|
|
91
|
+
Indicates if the item has to be displayed in the Settings Panel
|
|
92
|
+
|
|
93
|
+
## `label` (string)
|
|
94
|
+
|
|
95
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
96
|
+
|
|
97
|
+
# `prompt` (object)
|
|
98
|
+
|
|
99
|
+
Properties of the `prompt` object:
|
|
100
|
+
|
|
101
|
+
## `inputConfiguration` (object)
|
|
102
|
+
|
|
103
|
+
Properties of the `inputConfiguration` object:
|
|
104
|
+
|
|
105
|
+
### `audio` (object)
|
|
106
|
+
|
|
107
|
+
Properties of the `audio` object:
|
|
108
|
+
|
|
109
|
+
#### `disabled` (boolean)
|
|
110
|
+
|
|
111
|
+
Indicates if the plugin is disabled or not
|
|
112
|
+
|
|
113
|
+
### `video` (object)
|
|
114
|
+
|
|
115
|
+
Properties of the `video` object:
|
|
116
|
+
|
|
117
|
+
#### `disabled` (boolean)
|
|
118
|
+
|
|
119
|
+
Indicates if the plugin is disabled or not
|
|
120
|
+
|
|
121
|
+
### `image` (object)
|
|
122
|
+
|
|
123
|
+
Properties of the `image` object:
|
|
124
|
+
|
|
125
|
+
#### `disabled` (boolean)
|
|
126
|
+
|
|
127
|
+
Indicates if the plugin is disabled or not
|
|
128
|
+
|
|
129
|
+
## `settings` (boolean)
|
|
130
|
+
|
|
131
|
+
Indicates if the item has to be displayed in the Settings Panel
|
|
132
|
+
|
|
133
|
+
## `label` (string)
|
|
134
|
+
|
|
135
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
136
|
+
|
|
137
|
+
# `teacherInstructions` (object)
|
|
138
|
+
|
|
139
|
+
Properties of the `teacherInstructions` object:
|
|
140
|
+
|
|
141
|
+
## `inputConfiguration` (object)
|
|
142
|
+
|
|
143
|
+
Properties of the `inputConfiguration` object:
|
|
144
|
+
|
|
145
|
+
### `audio` (object)
|
|
146
|
+
|
|
147
|
+
Properties of the `audio` object:
|
|
148
|
+
|
|
149
|
+
#### `disabled` (boolean)
|
|
150
|
+
|
|
151
|
+
Indicates if the plugin is disabled or not
|
|
152
|
+
|
|
153
|
+
### `video` (object)
|
|
154
|
+
|
|
155
|
+
Properties of the `video` object:
|
|
156
|
+
|
|
157
|
+
#### `disabled` (boolean)
|
|
158
|
+
|
|
159
|
+
Indicates if the plugin is disabled or not
|
|
160
|
+
|
|
161
|
+
### `image` (object)
|
|
162
|
+
|
|
163
|
+
Properties of the `image` object:
|
|
164
|
+
|
|
165
|
+
#### `disabled` (boolean)
|
|
166
|
+
|
|
167
|
+
Indicates if the plugin is disabled or not
|
|
168
|
+
|
|
33
169
|
## `settings` (boolean)
|
|
34
170
|
|
|
35
171
|
Indicates if the item has to be displayed in the Settings Panel
|
|
@@ -232,6 +368,42 @@ Default: `true`
|
|
|
232
368
|
|
|
233
369
|
The schema defines the following additional types:
|
|
234
370
|
|
|
371
|
+
## `EditableHtmlConfigureProp` (object)
|
|
372
|
+
|
|
373
|
+
Properties of the `EditableHtmlConfigureProp` object:
|
|
374
|
+
|
|
375
|
+
### `audio` (object)
|
|
376
|
+
|
|
377
|
+
Properties of the `audio` object:
|
|
378
|
+
|
|
379
|
+
#### `disabled` (boolean)
|
|
380
|
+
|
|
381
|
+
Indicates if the plugin is disabled or not
|
|
382
|
+
|
|
383
|
+
### `video` (object)
|
|
384
|
+
|
|
385
|
+
Properties of the `video` object:
|
|
386
|
+
|
|
387
|
+
#### `disabled` (boolean)
|
|
388
|
+
|
|
389
|
+
Indicates if the plugin is disabled or not
|
|
390
|
+
|
|
391
|
+
### `image` (object)
|
|
392
|
+
|
|
393
|
+
Properties of the `image` object:
|
|
394
|
+
|
|
395
|
+
#### `disabled` (boolean)
|
|
396
|
+
|
|
397
|
+
Indicates if the plugin is disabled or not
|
|
398
|
+
|
|
399
|
+
## `EditableHtmlButtonConfigure` (object)
|
|
400
|
+
|
|
401
|
+
Properties of the `EditableHtmlButtonConfigure` object:
|
|
402
|
+
|
|
403
|
+
### `disabled` (boolean)
|
|
404
|
+
|
|
405
|
+
Indicates if the plugin is disabled or not
|
|
406
|
+
|
|
235
407
|
## `ConfigureProp` (object)
|
|
236
408
|
|
|
237
409
|
Properties of the `ConfigureProp` object:
|
|
@@ -244,6 +416,46 @@ Indicates if the item has to be displayed in the Settings Panel
|
|
|
244
416
|
|
|
245
417
|
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
246
418
|
|
|
419
|
+
## `EditableHtmlPluginConfigure` (object)
|
|
420
|
+
|
|
421
|
+
Properties of the `EditableHtmlPluginConfigure` object:
|
|
422
|
+
|
|
423
|
+
### `inputConfiguration` (object)
|
|
424
|
+
|
|
425
|
+
Properties of the `inputConfiguration` object:
|
|
426
|
+
|
|
427
|
+
#### `audio` (object)
|
|
428
|
+
|
|
429
|
+
Properties of the `audio` object:
|
|
430
|
+
|
|
431
|
+
##### `disabled` (boolean)
|
|
432
|
+
|
|
433
|
+
Indicates if the plugin is disabled or not
|
|
434
|
+
|
|
435
|
+
#### `video` (object)
|
|
436
|
+
|
|
437
|
+
Properties of the `video` object:
|
|
438
|
+
|
|
439
|
+
##### `disabled` (boolean)
|
|
440
|
+
|
|
441
|
+
Indicates if the plugin is disabled or not
|
|
442
|
+
|
|
443
|
+
#### `image` (object)
|
|
444
|
+
|
|
445
|
+
Properties of the `image` object:
|
|
446
|
+
|
|
447
|
+
##### `disabled` (boolean)
|
|
448
|
+
|
|
449
|
+
Indicates if the plugin is disabled or not
|
|
450
|
+
|
|
451
|
+
### `settings` (boolean)
|
|
452
|
+
|
|
453
|
+
Indicates if the item has to be displayed in the Settings Panel
|
|
454
|
+
|
|
455
|
+
### `label` (string)
|
|
456
|
+
|
|
457
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
458
|
+
|
|
247
459
|
## `ConfigureMaxImageDimensionsProp` (object)
|
|
248
460
|
|
|
249
461
|
Properties of the `ConfigureMaxImageDimensionsProp` object:
|
package/docs/pie-schema.json
CHANGED
|
@@ -261,6 +261,56 @@
|
|
|
261
261
|
"teacherInstructionsEnabled"
|
|
262
262
|
],
|
|
263
263
|
"definitions": {
|
|
264
|
+
"EditableHtmlConfigureProp": {
|
|
265
|
+
"title": "EditableHtmlConfigureProp",
|
|
266
|
+
"type": "object",
|
|
267
|
+
"properties": {
|
|
268
|
+
"audio": {
|
|
269
|
+
"title": "EditableHtmlButtonConfigure",
|
|
270
|
+
"type": "object",
|
|
271
|
+
"properties": {
|
|
272
|
+
"disabled": {
|
|
273
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
274
|
+
"type": "boolean",
|
|
275
|
+
"title": "disabled"
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
"video": {
|
|
280
|
+
"title": "EditableHtmlButtonConfigure",
|
|
281
|
+
"type": "object",
|
|
282
|
+
"properties": {
|
|
283
|
+
"disabled": {
|
|
284
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
285
|
+
"type": "boolean",
|
|
286
|
+
"title": "disabled"
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
"image": {
|
|
291
|
+
"title": "EditableHtmlButtonConfigure",
|
|
292
|
+
"type": "object",
|
|
293
|
+
"properties": {
|
|
294
|
+
"disabled": {
|
|
295
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
296
|
+
"type": "boolean",
|
|
297
|
+
"title": "disabled"
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
"EditableHtmlButtonConfigure": {
|
|
304
|
+
"title": "EditableHtmlButtonConfigure",
|
|
305
|
+
"type": "object",
|
|
306
|
+
"properties": {
|
|
307
|
+
"disabled": {
|
|
308
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
309
|
+
"type": "boolean",
|
|
310
|
+
"title": "disabled"
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
},
|
|
264
314
|
"ConfigureProp": {
|
|
265
315
|
"title": "ConfigureProp",
|
|
266
316
|
"type": "object",
|
|
@@ -277,6 +327,61 @@
|
|
|
277
327
|
}
|
|
278
328
|
}
|
|
279
329
|
},
|
|
330
|
+
"EditableHtmlPluginConfigure": {
|
|
331
|
+
"title": "EditableHtmlPluginConfigure",
|
|
332
|
+
"type": "object",
|
|
333
|
+
"properties": {
|
|
334
|
+
"inputConfiguration": {
|
|
335
|
+
"title": "EditableHtmlConfigureProp",
|
|
336
|
+
"type": "object",
|
|
337
|
+
"properties": {
|
|
338
|
+
"audio": {
|
|
339
|
+
"title": "EditableHtmlButtonConfigure",
|
|
340
|
+
"type": "object",
|
|
341
|
+
"properties": {
|
|
342
|
+
"disabled": {
|
|
343
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
344
|
+
"type": "boolean",
|
|
345
|
+
"title": "disabled"
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
"video": {
|
|
350
|
+
"title": "EditableHtmlButtonConfigure",
|
|
351
|
+
"type": "object",
|
|
352
|
+
"properties": {
|
|
353
|
+
"disabled": {
|
|
354
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
355
|
+
"type": "boolean",
|
|
356
|
+
"title": "disabled"
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
},
|
|
360
|
+
"image": {
|
|
361
|
+
"title": "EditableHtmlButtonConfigure",
|
|
362
|
+
"type": "object",
|
|
363
|
+
"properties": {
|
|
364
|
+
"disabled": {
|
|
365
|
+
"description": "Indicates if the plugin is disabled or not",
|
|
366
|
+
"type": "boolean",
|
|
367
|
+
"title": "disabled"
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
"settings": {
|
|
374
|
+
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
375
|
+
"type": "boolean",
|
|
376
|
+
"title": "settings"
|
|
377
|
+
},
|
|
378
|
+
"label": {
|
|
379
|
+
"description": "Indicates the label for the item that has to be displayed in the Settings Panel",
|
|
380
|
+
"type": "string",
|
|
381
|
+
"title": "label"
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
},
|
|
280
385
|
"ConfigureMaxImageDimensionsProp": {
|
|
281
386
|
"title": "ConfigureMaxImageDimensionsProp",
|
|
282
387
|
"type": "object",
|
package/docs/pie-schema.json.md
CHANGED
|
@@ -184,6 +184,42 @@ The html Element tag name
|
|
|
184
184
|
|
|
185
185
|
The schema defines the following additional types:
|
|
186
186
|
|
|
187
|
+
## `EditableHtmlConfigureProp` (object)
|
|
188
|
+
|
|
189
|
+
Properties of the `EditableHtmlConfigureProp` object:
|
|
190
|
+
|
|
191
|
+
### `audio` (object)
|
|
192
|
+
|
|
193
|
+
Properties of the `audio` object:
|
|
194
|
+
|
|
195
|
+
#### `disabled` (boolean)
|
|
196
|
+
|
|
197
|
+
Indicates if the plugin is disabled or not
|
|
198
|
+
|
|
199
|
+
### `video` (object)
|
|
200
|
+
|
|
201
|
+
Properties of the `video` object:
|
|
202
|
+
|
|
203
|
+
#### `disabled` (boolean)
|
|
204
|
+
|
|
205
|
+
Indicates if the plugin is disabled or not
|
|
206
|
+
|
|
207
|
+
### `image` (object)
|
|
208
|
+
|
|
209
|
+
Properties of the `image` object:
|
|
210
|
+
|
|
211
|
+
#### `disabled` (boolean)
|
|
212
|
+
|
|
213
|
+
Indicates if the plugin is disabled or not
|
|
214
|
+
|
|
215
|
+
## `EditableHtmlButtonConfigure` (object)
|
|
216
|
+
|
|
217
|
+
Properties of the `EditableHtmlButtonConfigure` object:
|
|
218
|
+
|
|
219
|
+
### `disabled` (boolean)
|
|
220
|
+
|
|
221
|
+
Indicates if the plugin is disabled or not
|
|
222
|
+
|
|
187
223
|
## `ConfigureProp` (object)
|
|
188
224
|
|
|
189
225
|
Properties of the `ConfigureProp` object:
|
|
@@ -196,6 +232,46 @@ Indicates if the item has to be displayed in the Settings Panel
|
|
|
196
232
|
|
|
197
233
|
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
198
234
|
|
|
235
|
+
## `EditableHtmlPluginConfigure` (object)
|
|
236
|
+
|
|
237
|
+
Properties of the `EditableHtmlPluginConfigure` object:
|
|
238
|
+
|
|
239
|
+
### `inputConfiguration` (object)
|
|
240
|
+
|
|
241
|
+
Properties of the `inputConfiguration` object:
|
|
242
|
+
|
|
243
|
+
#### `audio` (object)
|
|
244
|
+
|
|
245
|
+
Properties of the `audio` object:
|
|
246
|
+
|
|
247
|
+
##### `disabled` (boolean)
|
|
248
|
+
|
|
249
|
+
Indicates if the plugin is disabled or not
|
|
250
|
+
|
|
251
|
+
#### `video` (object)
|
|
252
|
+
|
|
253
|
+
Properties of the `video` object:
|
|
254
|
+
|
|
255
|
+
##### `disabled` (boolean)
|
|
256
|
+
|
|
257
|
+
Indicates if the plugin is disabled or not
|
|
258
|
+
|
|
259
|
+
#### `image` (object)
|
|
260
|
+
|
|
261
|
+
Properties of the `image` object:
|
|
262
|
+
|
|
263
|
+
##### `disabled` (boolean)
|
|
264
|
+
|
|
265
|
+
Indicates if the plugin is disabled or not
|
|
266
|
+
|
|
267
|
+
### `settings` (boolean)
|
|
268
|
+
|
|
269
|
+
Indicates if the item has to be displayed in the Settings Panel
|
|
270
|
+
|
|
271
|
+
### `label` (string)
|
|
272
|
+
|
|
273
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
274
|
+
|
|
199
275
|
## `ConfigureMaxImageDimensionsProp` (object)
|
|
200
276
|
|
|
201
277
|
Properties of the `ConfigureMaxImageDimensionsProp` object:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/hotspot",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.9.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": "pie-framework/pie-elements",
|
|
6
6
|
"publishConfig": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"author": "pie framework developers",
|
|
20
20
|
"license": "ISC",
|
|
21
|
-
"gitHead": "
|
|
21
|
+
"gitHead": "9830d061505c85ff915033bbaf09dd57e75ceebc",
|
|
22
22
|
"scripts": {
|
|
23
23
|
"postpublish": "../../scripts/postpublish"
|
|
24
24
|
},
|