@pie-element/number-line 8.15.4-next.7 → 8.16.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 CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [8.16.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line@8.15.3...@pie-element/number-line@8.16.0) (2024-07-16)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * tests and removed console logs ([7ed58af](https://github.com/pie-framework/pie-elements/commit/7ed58af1a1c1b58b8dfa8a575de77493795a2a45))
12
+ * udate pie-lib/pie-toolbox PD-3622, PD-3627, PD-3629, PD-3630, PD-3631 ([1e50c85](https://github.com/pie-framework/pie-elements/commit/1e50c859e2b5133e1ff9ef81f4169e49e76d9e4b))
13
+ * **number-line:** clean up controller defaults initialElements PD-3934 ([e5d0b59](https://github.com/pie-framework/pie-elements/commit/e5d0b5964d58a9a01d0a990df5c049eb5158a12d))
14
+ * **passage:** render math content in student side PD-3885 ([36207b8](https://github.com/pie-framework/pie-elements/commit/36207b8b28f0cdea42e881124cf0d0f79294cb7c))
15
+
16
+
17
+ ### Features
18
+
19
+ * **number-line:** add Settings Panel and authoring view settings PD-3932 ([4bb438a](https://github.com/pie-framework/pie-elements/commit/4bb438a8dd9b00ab91af4a6f7c2390004f41f1f6))
20
+ * **number-line:** add settingsPanelDisabled configuration to control visibility of Settings Panel PD-3932 ([fef917e](https://github.com/pie-framework/pie-elements/commit/fef917e9c94f3964cb715a91b8b852fa4e16f120))
21
+ * **number-line:** add teacher instructions to player side PD-3933 ([7b30987](https://github.com/pie-framework/pie-elements/commit/7b30987bec201acba1306a9124354a774bf2e4fd))
22
+ * **number-line:** update schemas & update snapshots PD-3932 ([d45ac6c](https://github.com/pie-framework/pie-elements/commit/d45ac6c560109067863159d65c23decc366e1037))
23
+
24
+
25
+
26
+
27
+
6
28
  ## [8.15.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line@8.15.2...@pie-element/number-line@8.15.3) (2024-07-10)
7
29
 
8
30
 
@@ -3,6 +3,25 @@
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
+ # [7.15.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-configure@7.14.3...@pie-element/number-line-configure@7.15.0) (2024-07-16)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * tests and removed console logs ([7ed58af](https://github.com/pie-framework/pie-elements/commit/7ed58af1a1c1b58b8dfa8a575de77493795a2a45))
12
+ * udate pie-lib/pie-toolbox PD-3622, PD-3627, PD-3629, PD-3630, PD-3631 ([1e50c85](https://github.com/pie-framework/pie-elements/commit/1e50c859e2b5133e1ff9ef81f4169e49e76d9e4b))
13
+
14
+
15
+ ### Features
16
+
17
+ * **number-line:** add Settings Panel and authoring view settings PD-3932 ([4bb438a](https://github.com/pie-framework/pie-elements/commit/4bb438a8dd9b00ab91af4a6f7c2390004f41f1f6))
18
+ * **number-line:** add settingsPanelDisabled configuration to control visibility of Settings Panel PD-3932 ([fef917e](https://github.com/pie-framework/pie-elements/commit/fef917e9c94f3964cb715a91b8b852fa4e16f120))
19
+ * **number-line:** update schemas & update snapshots PD-3932 ([d45ac6c](https://github.com/pie-framework/pie-elements/commit/d45ac6c560109067863159d65c23decc366e1037))
20
+
21
+
22
+
23
+
24
+
6
25
  ## [7.14.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/number-line-configure@7.14.2...@pie-element/number-line-configure@7.14.3) (2024-07-10)
7
26
 
8
27
 
@@ -31,6 +31,9 @@ var model = {
31
31
  initialElements: []
32
32
  },
33
33
  widthEnabled: true,
34
+ promptEnabled: true,
35
+ rationaleEnabled: true,
36
+ teacherInstructionsEnabled: true,
34
37
  feedback: {
35
38
  correct: {
36
39
  "default": 'Correct',
@@ -80,6 +83,22 @@ var configuration = {
80
83
  }
81
84
  }
82
85
  },
86
+ rationale: {
87
+ settings: true,
88
+ label: 'Rationale',
89
+ required: false,
90
+ inputConfiguration: {
91
+ audio: {
92
+ disabled: false
93
+ },
94
+ video: {
95
+ disabled: false
96
+ },
97
+ image: {
98
+ disabled: false
99
+ }
100
+ }
101
+ },
83
102
  teacherInstructions: {
84
103
  settings: true,
85
104
  label: 'Teacher Instructions',
@@ -98,6 +117,8 @@ var configuration = {
98
117
  },
99
118
  title: {
100
119
  label: 'Title',
120
+ settings: true,
121
+ enabled: true,
101
122
  inputConfiguration: {
102
123
  audio: {
103
124
  disabled: false
@@ -118,11 +139,6 @@ var configuration = {
118
139
  max: 800,
119
140
  step: 20
120
141
  },
121
- spellCheck: {
122
- label: 'Spellcheck',
123
- settings: false,
124
- enabled: true
125
- },
126
142
  mathMlOptions: {
127
143
  mmlOutput: false,
128
144
  mmlEditing: false
@@ -136,9 +152,15 @@ var configuration = {
136
152
  label: 'Language Choices',
137
153
  options: []
138
154
  },
155
+ spellCheck: {
156
+ label: 'Spellcheck',
157
+ settings: false,
158
+ enabled: true
159
+ },
139
160
  maxMaxElements: 20,
140
161
  hidePointConfigButtons: false,
141
- availableTools: ['PF', 'LFF', 'LEF', 'LFE', 'LEE', 'RFN', 'RFP', 'REN', 'REP']
162
+ availableTools: ['PF', 'LFF', 'LEF', 'LFE', 'LEE', 'RFN', 'RFP', 'REN', 'REP'],
163
+ settingsPanelDisabled: false
142
164
  };
143
165
  exports.configuration = configuration;
144
166
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["model","correctResponse","graph","domain","min","max","ticks","minor","major","tickIntervalType","arrows","left","right","maxNumberOfPoints","width","initialType","exhibitOnly","toolbarEditorPosition","availableTypes","PF","initialElements","widthEnabled","feedback","correct","type","incorrect","partial","configuration","baseInputConfiguration","audio","disabled","video","image","instruction","settings","enabled","label","prompt","required","inputConfiguration","teacherInstructions","title","numberLineDimensions","step","spellCheck","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options","maxMaxElements","hidePointConfigButtons","availableTools"],"mappings":"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","sourcesContent":["export const model = {\n correctResponse: [],\n graph: {\n domain: {\n min: -1,\n max: 1,\n },\n ticks: {\n minor: 0.125,\n major: 0.5,\n tickIntervalType: 'Decimal',\n },\n arrows: {\n left: true,\n right: true,\n },\n maxNumberOfPoints: 1,\n width: 500,\n initialType: 'PF',\n exhibitOnly: false,\n toolbarEditorPosition: 'bottom',\n availableTypes: {\n PF: true,\n },\n initialElements: [],\n },\n widthEnabled: true,\n feedback: {\n correct: {\n default: 'Correct',\n type: 'none',\n },\n incorrect: {\n default: 'Incorrect',\n type: 'none',\n },\n partial: {\n default: 'Nearly',\n type: 'none',\n },\n },\n};\n\nexport const configuration = {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n instruction: {\n settings: false,\n enabled: true,\n label:\n 'Number line questions involve plotting points or other objects. To create one, first set up the number line, then select the plotting tools students will be offered and use them to define the correct answer.',\n },\n prompt: {\n settings: true,\n label: 'Item Stem',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n title: {\n label: 'Title',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n numberLineDimensions: {\n settings: true,\n label: 'Width',\n enabled: true,\n min: 200,\n max: 800,\n step: 20,\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\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 maxMaxElements: 20,\n hidePointConfigButtons: false,\n availableTools: ['PF', 'LFF', 'LEF', 'LFE', 'LEE', 'RFN', 'RFP', 'REN', 'REP'],\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["model","correctResponse","graph","domain","min","max","ticks","minor","major","tickIntervalType","arrows","left","right","maxNumberOfPoints","width","initialType","exhibitOnly","toolbarEditorPosition","availableTypes","PF","initialElements","widthEnabled","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","feedback","correct","type","incorrect","partial","configuration","baseInputConfiguration","audio","disabled","video","image","instruction","settings","enabled","label","prompt","required","inputConfiguration","rationale","teacherInstructions","title","numberLineDimensions","step","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options","spellCheck","maxMaxElements","hidePointConfigButtons","availableTools","settingsPanelDisabled"],"mappings":"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","sourcesContent":["export const model = {\n correctResponse: [],\n graph: {\n domain: {\n min: -1,\n max: 1,\n },\n ticks: {\n minor: 0.125,\n major: 0.5,\n tickIntervalType: 'Decimal',\n },\n arrows: {\n left: true,\n right: true,\n },\n maxNumberOfPoints: 1,\n width: 500,\n initialType: 'PF',\n exhibitOnly: false,\n toolbarEditorPosition: 'bottom',\n availableTypes: {\n PF: true,\n },\n initialElements: [],\n },\n widthEnabled: true,\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n feedback: {\n correct: {\n default: 'Correct',\n type: 'none',\n },\n incorrect: {\n default: 'Incorrect',\n type: 'none',\n },\n partial: {\n default: 'Nearly',\n type: 'none',\n },\n },\n};\n\nexport const configuration = {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n instruction: {\n settings: false,\n enabled: true,\n label:\n 'Number line questions involve plotting points or other objects. To create one, first set up the number line, then select the plotting tools students will be offered and use them to define the correct answer.',\n },\n prompt: {\n settings: true,\n label: 'Item Stem',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n title: {\n label: 'Title',\n settings: true,\n enabled: true,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n numberLineDimensions: {\n settings: true,\n label: 'Width',\n enabled: true,\n min: 200,\n max: 800,\n step: 20,\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 spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n maxMaxElements: 20,\n hidePointConfigButtons: false,\n availableTools: ['PF', 'LFF', 'LEF', 'LFE', 'LEE', 'RFN', 'RFP', 'REN', 'REP'],\n settingsPanelDisabled: false,\n};\n"],"file":"defaults.js"}
@@ -119,6 +119,11 @@ var NumberLine = /*#__PURE__*/function (_HTMLElement) {
119
119
 
120
120
  _this._rerender();
121
121
  });
122
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigurationChanged", function (config) {
123
+ _this._configuration = config;
124
+
125
+ _this._render();
126
+ });
122
127
  _this._model = NumberLine.createDefaultModel();
123
128
  _this._configuration = defaults.configuration;
124
129
  return _this;
@@ -192,6 +197,7 @@ var NumberLine = /*#__PURE__*/function (_HTMLElement) {
192
197
  model: this._model,
193
198
  configuration: this._configuration,
194
199
  onChange: this.onChange,
200
+ onConfigurationChanged: this.onConfigurationChanged,
195
201
  uploadSoundSupport: {
196
202
  add: this.insertSound.bind(this),
197
203
  "delete": this.onDeleteSound.bind(this)
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["updateTicks","model","graph","domain","labelStep","ticks","minor","major","min","Number","toFixed","max","match","fraction","step","math","evaluate","NumberLine","pieAuthors","document","querySelectorAll","hasPlayerAsParent","Array","from","some","author","contains","_modelCopy","_model","o","dispatchEvent","ModelUpdatedEvent","_rerender","createDefaultModel","_configuration","defaults","configuration","m","c","newConfiguration","resetModelAfterConfigurationIsSet","language","enabled","languageChoices","options","length","value","settings","find","option","push","label","handler","InsertSoundEvent","src","done","DeleteSoundEvent","element","React","createElement","Main","onChange","uploadSoundSupport","add","insertSound","bind","onDeleteSound","ReactDOM","render","HTMLElement","normalizedModel"],"mappings":"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","sourcesContent":["import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ModelUpdatedEvent, InsertSoundEvent, DeleteSoundEvent } from '@pie-framework/pie-configure-events';\nimport * as defaults from './defaults';\nimport * as math from 'mathjs';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { tickUtils } from '@pie-element/number-line';\n\n// this function is duplicated in controller; at some point, use the same shared function\nconst updateTicks = (model) => {\n const { graph: { domain, labelStep, ticks = {} } = {} } = model;\n const { minor, major } = ticks;\n\n if (domain) {\n domain.min = Number((domain.min || 0).toFixed(2));\n domain.max = Number((domain.max || 0).toFixed(2));\n }\n\n if (labelStep && typeof labelStep === 'string' && labelStep.match(/^[1-9][0-9]*\\/[1-9][0-9]*$/g)) {\n model.graph.fraction = true;\n\n // update the ticks frequency and label value to match the label step if needed\n const step = math.evaluate(labelStep);\n\n if (step !== major) {\n ticks.major = step;\n ticks.minor = step / (major / minor);\n }\n }\n\n return model;\n};\n\nexport default class NumberLine extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const c = defaults.configuration;\n let language = model.language || '';\n\n if (!language && c.language && c.language.enabled) {\n if (c.languageChoices?.options?.length) {\n language = c.languageChoices.options[0].value;\n }\n }\n\n const normalizedModel = {\n ...defaults.model,\n ...model,\n language,\n };\n\n return updateTicks(normalizedModel);\n };\n\n constructor() {\n super();\n this._model = NumberLine.createDefaultModel();\n this._configuration = defaults.configuration;\n }\n\n set model(m) {\n this._model = NumberLine.createDefaultModel(m);\n this._modelCopy = cloneDeep(this._model);\n\n this._rerender();\n }\n\n resetModelAfterConfigurationIsSet = () => {\n // In environments that use pie-player-components, model is set before configuration.\n // This is the reason why sometimes the model gets altered non-reversible\n // (altered using default configuration instead of client configuration, because at that point client configuration was not set yet)\n // Therefore, in such environments, we will make sure to keep a modelCopy (initialised in set model) and use it to reset\n // the model in set configuration (resetModelAfterConfigurationIsSet) if set configuration is ever called\n const pieAuthors = document.querySelectorAll('pie-author');\n this.hasPlayerAsParent = Array.from(pieAuthors).some(author => author.contains(this));\n\n if (this.hasPlayerAsParent) {\n if (this._modelCopy) {\n this._model = this._modelCopy;\n } else {\n delete this._modelCopy;\n }\n }\n }\n\n set configuration(c) {\n const newConfiguration = {\n ...defaults.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\n this.resetModelAfterConfigurationIsSet();\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find((option) => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this._rerender();\n }\n\n onChange = (o) => {\n this._model = { ...this._model, ...o };\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n\n this._rerender();\n };\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _rerender() {\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onChange: this.onChange,\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["updateTicks","model","graph","domain","labelStep","ticks","minor","major","min","Number","toFixed","max","match","fraction","step","math","evaluate","NumberLine","pieAuthors","document","querySelectorAll","hasPlayerAsParent","Array","from","some","author","contains","_modelCopy","_model","o","dispatchEvent","ModelUpdatedEvent","_rerender","config","_configuration","_render","createDefaultModel","defaults","configuration","m","c","newConfiguration","resetModelAfterConfigurationIsSet","language","enabled","languageChoices","options","length","value","settings","find","option","push","label","handler","InsertSoundEvent","src","done","DeleteSoundEvent","element","React","createElement","Main","onChange","onConfigurationChanged","uploadSoundSupport","add","insertSound","bind","onDeleteSound","ReactDOM","render","HTMLElement","normalizedModel"],"mappings":"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","sourcesContent":["import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ModelUpdatedEvent, InsertSoundEvent, DeleteSoundEvent } from '@pie-framework/pie-configure-events';\nimport * as defaults from './defaults';\nimport * as math from 'mathjs';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { tickUtils } from '@pie-element/number-line';\n\n// this function is duplicated in controller; at some point, use the same shared function\nconst updateTicks = (model) => {\n const { graph: { domain, labelStep, ticks = {} } = {} } = model;\n const { minor, major } = ticks;\n\n if (domain) {\n domain.min = Number((domain.min || 0).toFixed(2));\n domain.max = Number((domain.max || 0).toFixed(2));\n }\n\n if (labelStep && typeof labelStep === 'string' && labelStep.match(/^[1-9][0-9]*\\/[1-9][0-9]*$/g)) {\n model.graph.fraction = true;\n\n // update the ticks frequency and label value to match the label step if needed\n const step = math.evaluate(labelStep);\n\n if (step !== major) {\n ticks.major = step;\n ticks.minor = step / (major / minor);\n }\n }\n\n return model;\n};\n\nexport default class NumberLine extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const c = defaults.configuration;\n let language = model.language || '';\n\n if (!language && c.language && c.language.enabled) {\n if (c.languageChoices?.options?.length) {\n language = c.languageChoices.options[0].value;\n }\n }\n\n const normalizedModel = {\n ...defaults.model,\n ...model,\n language,\n };\n\n return updateTicks(normalizedModel);\n };\n\n constructor() {\n super();\n this._model = NumberLine.createDefaultModel();\n this._configuration = defaults.configuration;\n }\n\n set model(m) {\n this._model = NumberLine.createDefaultModel(m);\n this._modelCopy = cloneDeep(this._model);\n\n this._rerender();\n }\n\n resetModelAfterConfigurationIsSet = () => {\n // In environments that use pie-player-components, model is set before configuration.\n // This is the reason why sometimes the model gets altered non-reversible\n // (altered using default configuration instead of client configuration, because at that point client configuration was not set yet)\n // Therefore, in such environments, we will make sure to keep a modelCopy (initialised in set model) and use it to reset\n // the model in set configuration (resetModelAfterConfigurationIsSet) if set configuration is ever called\n const pieAuthors = document.querySelectorAll('pie-author');\n this.hasPlayerAsParent = Array.from(pieAuthors).some(author => author.contains(this));\n\n if (this.hasPlayerAsParent) {\n if (this._modelCopy) {\n this._model = this._modelCopy;\n } else {\n delete this._modelCopy;\n }\n }\n }\n\n set configuration(c) {\n const newConfiguration = {\n ...defaults.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\n this.resetModelAfterConfigurationIsSet();\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find((option) => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this._rerender();\n }\n\n onChange = (o) => {\n this._model = { ...this._model, ...o };\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n\n this._rerender();\n };\n\n onConfigurationChanged = (config) => {\n this._configuration = config;\n this._render();\n };\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _rerender() {\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onChange: this.onChange,\n onConfigurationChanged: this.onConfigurationChanged,\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
@@ -96,6 +96,8 @@ var lineIsSwitched = _numberLine.dataConverter.lineIsSwitched,
96
96
  switchGraphLine = _numberLine.dataConverter.switchGraphLine,
97
97
  toGraphFormat = _numberLine.dataConverter.toGraphFormat,
98
98
  toSessionFormat = _numberLine.dataConverter.toSessionFormat;
99
+ var Panel = _configUi.settings.Panel,
100
+ toggle = _configUi.settings.toggle;
99
101
  var minorLimits = {};
100
102
  var minorValues = {};
101
103
  var majorValues = {};
@@ -559,46 +561,76 @@ var Main = /*#__PURE__*/function (_React$Component) {
559
561
  }
560
562
 
561
563
  (0, _createClass2["default"])(Main, [{
562
- key: "render",
563
- value: function render() {
564
- var _this2 = this;
565
-
564
+ key: "componentDidMount",
565
+ value: function componentDidMount() {
566
566
  var _this$props8 = this.props,
567
- classes = _this$props8.classes,
568
- model = _this$props8.model,
569
- _onChange = _this$props8.onChange,
570
567
  configuration = _this$props8.configuration,
571
- uploadSoundSupport = _this$props8.uploadSoundSupport;
568
+ model = _this$props8.model,
569
+ onChange = _this$props8.onChange;
572
570
 
573
571
  var _ref4 = configuration || {},
574
- _ref4$baseInputConfig = _ref4.baseInputConfiguration,
575
- baseInputConfiguration = _ref4$baseInputConfig === void 0 ? {} : _ref4$baseInputConfig,
576
- _ref4$contentDimensio = _ref4.contentDimensions,
577
- contentDimensions = _ref4$contentDimensio === void 0 ? {} : _ref4$contentDimensio,
578
- _ref4$instruction = _ref4.instruction,
579
- instruction = _ref4$instruction === void 0 ? {} : _ref4$instruction,
580
- _ref4$teacherInstruct = _ref4.teacherInstructions,
581
- teacherInstructions = _ref4$teacherInstruct === void 0 ? {} : _ref4$teacherInstruct,
582
- _ref4$title = _ref4.title,
583
- title = _ref4$title === void 0 ? {} : _ref4$title,
584
- _ref4$prompt = _ref4.prompt,
585
- prompt = _ref4$prompt === void 0 ? {} : _ref4$prompt,
586
- _ref4$mathMlOptions = _ref4.mathMlOptions,
587
- mathMlOptions = _ref4$mathMlOptions === void 0 ? {} : _ref4$mathMlOptions,
588
- _ref4$numberLineDimen = _ref4.numberLineDimensions,
589
- numberLineDimensions = _ref4$numberLineDimen === void 0 ? {} : _ref4$numberLineDimen,
590
- _ref4$maxMaxElements = _ref4.maxMaxElements,
591
- maxMaxElements = _ref4$maxMaxElements === void 0 ? 20 : _ref4$maxMaxElements,
592
- _ref4$hidePointConfig = _ref4.hidePointConfigButtons,
593
- hidePointConfigButtons = _ref4$hidePointConfig === void 0 ? false : _ref4$hidePointConfig,
594
- _ref4$availableTools = _ref4.availableTools,
595
- availableTools = _ref4$availableTools === void 0 ? ['PF'] : _ref4$availableTools;
572
+ title = _ref4.title;
596
573
 
597
574
  var _ref5 = model || {},
598
- _ref5$errors = _ref5.errors,
599
- errors = _ref5$errors === void 0 ? {} : _ref5$errors,
600
- spellCheckEnabled = _ref5.spellCheckEnabled,
601
- toolbarEditorPosition = _ref5.toolbarEditorPosition;
575
+ showTitle = _ref5.titleEnabled;
576
+
577
+ var titleEnabled = showTitle === undefined || showTitle === null ? title.enabled : showTitle;
578
+ onChange && onChange(_objectSpread(_objectSpread({}, model), {}, {
579
+ titleEnabled: titleEnabled
580
+ }));
581
+ }
582
+ }, {
583
+ key: "render",
584
+ value: function render() {
585
+ var _this2 = this;
586
+
587
+ var _this$props9 = this.props,
588
+ classes = _this$props9.classes,
589
+ model = _this$props9.model,
590
+ _onChange = _this$props9.onChange,
591
+ configuration = _this$props9.configuration,
592
+ onConfigurationChanged = _this$props9.onConfigurationChanged,
593
+ uploadSoundSupport = _this$props9.uploadSoundSupport;
594
+
595
+ var _ref6 = configuration || {},
596
+ _ref6$baseInputConfig = _ref6.baseInputConfiguration,
597
+ baseInputConfiguration = _ref6$baseInputConfig === void 0 ? {} : _ref6$baseInputConfig,
598
+ _ref6$contentDimensio = _ref6.contentDimensions,
599
+ contentDimensions = _ref6$contentDimensio === void 0 ? {} : _ref6$contentDimensio,
600
+ _ref6$instruction = _ref6.instruction,
601
+ instruction = _ref6$instruction === void 0 ? {} : _ref6$instruction,
602
+ _ref6$teacherInstruct = _ref6.teacherInstructions,
603
+ teacherInstructions = _ref6$teacherInstruct === void 0 ? {} : _ref6$teacherInstruct,
604
+ _ref6$title = _ref6.title,
605
+ title = _ref6$title === void 0 ? {} : _ref6$title,
606
+ _ref6$prompt = _ref6.prompt,
607
+ prompt = _ref6$prompt === void 0 ? {} : _ref6$prompt,
608
+ _ref6$rationale = _ref6.rationale,
609
+ rationale = _ref6$rationale === void 0 ? {} : _ref6$rationale,
610
+ _ref6$spellCheck = _ref6.spellCheck,
611
+ spellCheck = _ref6$spellCheck === void 0 ? {} : _ref6$spellCheck,
612
+ _ref6$mathMlOptions = _ref6.mathMlOptions,
613
+ mathMlOptions = _ref6$mathMlOptions === void 0 ? {} : _ref6$mathMlOptions,
614
+ _ref6$numberLineDimen = _ref6.numberLineDimensions,
615
+ numberLineDimensions = _ref6$numberLineDimen === void 0 ? {} : _ref6$numberLineDimen,
616
+ _ref6$maxMaxElements = _ref6.maxMaxElements,
617
+ maxMaxElements = _ref6$maxMaxElements === void 0 ? 20 : _ref6$maxMaxElements,
618
+ _ref6$hidePointConfig = _ref6.hidePointConfigButtons,
619
+ hidePointConfigButtons = _ref6$hidePointConfig === void 0 ? false : _ref6$hidePointConfig,
620
+ _ref6$availableTools = _ref6.availableTools,
621
+ availableTools = _ref6$availableTools === void 0 ? ['PF'] : _ref6$availableTools,
622
+ _ref6$settingsPanelDi = _ref6.settingsPanelDisabled,
623
+ settingsPanelDisabled = _ref6$settingsPanelDi === void 0 ? false : _ref6$settingsPanelDi;
624
+
625
+ var _ref7 = model || {},
626
+ _ref7$errors = _ref7.errors,
627
+ errors = _ref7$errors === void 0 ? {} : _ref7$errors,
628
+ spellCheckEnabled = _ref7.spellCheckEnabled,
629
+ toolbarEditorPosition = _ref7.toolbarEditorPosition,
630
+ teacherInstructionsEnabled = _ref7.teacherInstructionsEnabled,
631
+ titleEnabled = _ref7.titleEnabled,
632
+ promptEnabled = _ref7.promptEnabled,
633
+ rationaleEnabled = _ref7.rationaleEnabled;
602
634
 
603
635
  var graph = model.graph;
604
636
  graph = this.reloadTicksData(graph);
@@ -606,14 +638,15 @@ var Main = /*#__PURE__*/function (_React$Component) {
606
638
  dialog = _this$state.dialog,
607
639
  correctAnswerDialog = _this$state.correctAnswerDialog;
608
640
 
609
- var _ref6 = errors || {},
610
- correctResponseError = _ref6.correctResponseError,
611
- domainError = _ref6.domainError,
612
- maxError = _ref6.maxError,
613
- pointsError = _ref6.pointsError,
614
- promptError = _ref6.prompt,
615
- teacherInstructionsError = _ref6.teacherInstructions,
616
- widthError = _ref6.widthError;
641
+ var _ref8 = errors || {},
642
+ correctResponseError = _ref8.correctResponseError,
643
+ domainError = _ref8.domainError,
644
+ maxError = _ref8.maxError,
645
+ pointsError = _ref8.pointsError,
646
+ promptError = _ref8.prompt,
647
+ rationaleError = _ref8.rationale,
648
+ teacherInstructionsError = _ref8.teacherInstructions,
649
+ widthError = _ref8.widthError;
617
650
 
618
651
  var validationMessage = (0, _utils.generateValidationMessage)();
619
652
  var correctResponse = (0, _cloneDeep["default"])(model.correctResponse || []).map(toGraphFormat);
@@ -622,6 +655,13 @@ var Main = /*#__PURE__*/function (_React$Component) {
622
655
  var toolbarOpts = {
623
656
  position: toolbarEditorPosition === 'top' ? 'top' : 'bottom'
624
657
  };
658
+ var panelProperties = {
659
+ teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
660
+ titleEnabled: title.settings && toggle(title.label),
661
+ promptEnabled: prompt.settings && toggle(prompt.label),
662
+ rationaleEnabled: rationale.settings && toggle(rationale.label),
663
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label)
664
+ };
625
665
 
626
666
  var getPluginProps = function getPluginProps() {
627
667
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -630,13 +670,21 @@ var Main = /*#__PURE__*/function (_React$Component) {
630
670
 
631
671
  return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
632
672
  dimensions: contentDimensions,
633
- hideSettings: true,
634
- settings: null
673
+ hideSettings: settingsPanelDisabled,
674
+ settings: /*#__PURE__*/_react["default"].createElement(Panel, {
675
+ model: model,
676
+ configuration: configuration,
677
+ onChangeModel: _onChange,
678
+ onChangeConfiguration: onConfigurationChanged,
679
+ groups: {
680
+ Properties: panelProperties
681
+ }
682
+ })
635
683
  }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
636
684
  component: "div",
637
685
  type: "body1",
638
686
  className: classes.description
639
- }, instruction.label), teacherInstructions.settings && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
687
+ }, instruction.label), teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
640
688
  label: teacherInstructions.label,
641
689
  className: classes.promptContainer
642
690
  }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
@@ -662,7 +710,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
662
710
  mathMlOptions: mathMlOptions
663
711
  }), teacherInstructionsError && /*#__PURE__*/_react["default"].createElement("div", {
664
712
  className: classes.errorText
665
- }, teacherInstructionsError)), prompt.settings && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
713
+ }, teacherInstructionsError)), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
666
714
  label: prompt.label,
667
715
  className: classes.promptContainer
668
716
  }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
@@ -748,7 +796,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
748
796
  maxWidth: numberLineDimensions.max,
749
797
  maxHeight: 70,
750
798
  model: trimModel(initialModel)
751
- }), /*#__PURE__*/_react["default"].createElement(_configUi.FormSection, {
799
+ }), titleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.FormSection, {
752
800
  label: (title === null || title === void 0 ? void 0 : title.label) || 'Title',
753
801
  className: classes.title
754
802
  }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
@@ -844,7 +892,31 @@ var Main = /*#__PURE__*/function (_React$Component) {
844
892
  },
845
893
  onConfirmText: 'OK',
846
894
  onCloseText: 'Cancel'
847
- }));
895
+ }), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
896
+ label: rationale.label || 'Rationale',
897
+ className: classes.promptContainer
898
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
899
+ className: classes.prompt,
900
+ markup: model.rationale || '',
901
+ onChange: function onChange(rationale) {
902
+ return _onChange({
903
+ rationale: rationale
904
+ });
905
+ },
906
+ error: rationaleError,
907
+ toolbarOpts: toolbarOpts,
908
+ spellCheck: spellCheckEnabled,
909
+ pluginProps: getPluginProps(rationale === null || rationale === void 0 ? void 0 : rationale.inputConfiguration),
910
+ uploadSoundSupport: uploadSoundSupport,
911
+ languageCharactersProps: [{
912
+ language: 'spanish'
913
+ }, {
914
+ language: 'special'
915
+ }],
916
+ mathMlOptions: mathMlOptions
917
+ }), rationaleError && /*#__PURE__*/_react["default"].createElement("div", {
918
+ className: classes.errorText
919
+ }, rationaleError)));
848
920
  }
849
921
  }]);
850
922
  return Main;
@@ -855,6 +927,7 @@ exports.Main = Main;
855
927
  classes: _propTypes["default"].object.isRequired,
856
928
  model: _propTypes["default"].object.isRequired,
857
929
  configuration: _propTypes["default"].object.isRequired,
930
+ onConfigurationChanged: _propTypes["default"].func.isRequired,
858
931
  onChange: _propTypes["default"].func.isRequired,
859
932
  uploadSoundSupport: _propTypes["default"].object.isRequired
860
933
  });