@pie-element/charting 7.2.0 → 7.2.2-next.5
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/configure.js +4 -4
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/correct-response.js +10 -13
- package/configure/lib/correct-response.js.map +1 -1
- package/configure/package.json +1 -1
- package/lib/main.js +2 -2
- package/lib/main.js.map +1 -1
- 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
|
+
## [7.2.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/charting@7.2.0...@pie-element/charting@7.2.1) (2023-12-19)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **charting:** fix state sync issues in Define Correct Response Chart when Define Chart data is modified or removed PD-3164 ([baa04e6](https://github.com/pie-framework/pie-elements/commit/baa04e6942c1f8e4279f2b83327c142464fde6e5))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [7.2.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/charting@7.1.1...@pie-element/charting@7.2.0) (2023-12-19)
|
|
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
|
+
## [7.1.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/charting-configure@7.1.0...@pie-element/charting-configure@7.1.1) (2023-12-19)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **charting:** fix state sync issues in Define Correct Response Chart when Define Chart data is modified or removed PD-3164 ([baa04e6](https://github.com/pie-framework/pie-elements/commit/baa04e6942c1f8e4279f2b83327c142464fde6e5))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [7.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/charting-configure@7.0.3...@pie-element/charting-configure@7.1.0) (2023-12-19)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -35,7 +35,7 @@ var _debug = _interopRequireDefault(require("debug"));
|
|
|
35
35
|
|
|
36
36
|
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
37
37
|
|
|
38
|
-
var _editableHtml =
|
|
38
|
+
var _editableHtml = require("@pie-lib/pie-toolbox/editable-html");
|
|
39
39
|
|
|
40
40
|
var _chartingConfig = _interopRequireDefault(require("./charting-config"));
|
|
41
41
|
|
|
@@ -276,7 +276,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
276
276
|
}, (instruction === null || instruction === void 0 ? void 0 : instruction.label) || ''), teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
277
277
|
label: teacherInstructions.label,
|
|
278
278
|
className: classes.promptHolder
|
|
279
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml
|
|
279
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
|
|
280
280
|
className: classes.prompt,
|
|
281
281
|
markup: model.teacherInstructions || '',
|
|
282
282
|
onChange: this.onTeacherInstructionsChange,
|
|
@@ -298,7 +298,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
298
298
|
}, teacherInstructionsError)), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
299
299
|
label: prompt.label,
|
|
300
300
|
className: classes.promptHolder
|
|
301
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml
|
|
301
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
|
|
302
302
|
className: classes.prompt,
|
|
303
303
|
markup: model.prompt,
|
|
304
304
|
onChange: this.onPromptChange,
|
|
@@ -350,7 +350,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
350
350
|
}), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
351
351
|
label: rationale.label || 'Rationale',
|
|
352
352
|
className: classes.promptHolder
|
|
353
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml
|
|
353
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
|
|
354
354
|
className: classes.prompt,
|
|
355
355
|
markup: model.rationale || '',
|
|
356
356
|
onChange: this.onRationaleChange,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/configure.jsx"],"names":["log","Panel","settings","toggle","radio","dropdown","textField","styles","theme","title","fontSize","display","marginTop","spacing","unit","marginBottom","promptHolder","width","paddingTop","description","errorText","typography","color","palette","error","main","charts","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","Configure","props","rationale","onModelChanged","model","prompt","teacherInstructions","chartType","config","state","oldGridValues","gridValues","oldLabelValues","labelValues","updatedModel","graph","range","rangeConstraints","height","setState","step","classes","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","contentDimensions","chartDimensions","authorNewCategoryDefaults","labelsPlaceholders","instruction","maxImageWidth","maxImageHeight","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","titlePlaceholder","withRubric","chartingOptions","availableChartTypes","mathMlOptions","chartTypeLabel","language","languageChoices","errors","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","studentNewCategoryDefaultLabel","categoryErrors","correctAnswerErrors","promptError","rationaleError","teacherInstructionsError","showPixeGuides","showInConfigPanel","defaultImageMaxWidth","defaultImageMaxHeight","panelItemType","changeInteractiveEnabled","changeInteractive","settingsLabel","changeEditableEnabled","changeEditable","changeAddCategoryEnabled","addCategory","panelProperties","label","studentInstructionsEnabled","rubricEnabled","enabled","options","Settings","Properties","onTeacherInstructionsChange","onPromptChange","onConfigChange","onRationaleChange","React","Component","PropTypes","func","object","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { chartTypes, ConfigureChartPanel } from '@pie-lib/pie-toolbox/charting';\nimport { settings, layout, InputContainer } from '@pie-lib/pie-toolbox/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@material-ui/core/Typography';\nimport EditableHtml from '@pie-lib/pie-toolbox/editable-html';\n\nimport ChartingConfig from './charting-config';\nimport CorrectResponse from './correct-response';\nimport { applyConstraints, getGridValues, getLabelValues } from './utils';\n\nconst log = debug('@pie-element:graphing:configure');\nconst { Panel, toggle, radio, dropdown, textField } = settings;\n\nconst styles = (theme) => ({\n title: {\n fontSize: '1.1rem',\n display: 'block',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit,\n },\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n description: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nconst charts = [\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n];\n\nexport class Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n chartingOptions: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n const { range = {}, graph } = props.model || {};\n const gridValues = { range: getGridValues(range, graph.height, true) };\n const labelValues = { range: getLabelValues(range.step || 1) };\n\n this.state = { gridValues, labelValues };\n }\n\n static defaultProps = { classes: {} };\n\n onRationaleChange = (rationale) => this.props.onModelChanged({ ...this.props.model, rationale });\n\n onPromptChange = (prompt) => this.props.onModelChanged({ ...this.props.model, prompt });\n\n onTeacherInstructionsChange = (teacherInstructions) =>\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n\n onChartTypeChange = (chartType) => this.props.onModelChanged({ ...this.props.model, chartType });\n\n onConfigChange = (config) => {\n const { model, onModelChanged } = this.props;\n const { gridValues: oldGridValues, labelValues: oldLabelValues } = this.state;\n const updatedModel = { ...model, ...config };\n const { graph, range } = updatedModel;\n const gridValues = {};\n const labelValues = {};\n\n const rangeConstraints = applyConstraints(range, graph.height, oldGridValues.range, oldLabelValues.range);\n\n gridValues.range = rangeConstraints.gridValues;\n labelValues.range = rangeConstraints.labelValues;\n\n this.setState({ gridValues, labelValues });\n onModelChanged(updatedModel);\n };\n\n render() {\n const { classes, configuration, imageSupport, model, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n\n log('[render] model', model);\n\n const { graph } = model;\n const {\n contentDimensions = {},\n chartDimensions = {},\n authorNewCategoryDefaults = {},\n labelsPlaceholders = {},\n instruction = {},\n maxImageWidth = {},\n maxImageHeight = {},\n prompt = {},\n rationale = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n titlePlaceholder = {},\n withRubric = {},\n chartingOptions = {},\n availableChartTypes = {},\n mathMlOptions = {},\n chartTypeLabel,\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n errors,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n studentNewCategoryDefaultLabel,\n } = model || {};\n const {\n categoryErrors,\n correctAnswerErrors,\n prompt: promptError,\n rationale: rationaleError,\n teacherInstructions: teacherInstructionsError,\n } = errors || {};\n const { gridValues, labelValues } = this.state;\n const showPixeGuides = chartDimensions.showInConfigPanel || true;\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelItemType = {\n changeInteractiveEnabled:\n chartingOptions.changeInteractive?.settings && toggle(chartingOptions.changeInteractive.settingsLabel),\n changeEditableEnabled:\n chartingOptions.changeEditable?.settings && toggle(chartingOptions.changeEditable.settingsLabel),\n changeAddCategoryEnabled:\n chartingOptions.addCategory?.settings && toggle(chartingOptions.addCategory.settingsLabel),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['all or nothing', 'partial scoring']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n instruction: instruction.settings && textField(instruction.label),\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onModelChanged}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelItemType,\n Properties: panelProperties,\n }}\n />\n }\n >\n <Typography component=\"div\" type=\"body1\" className={classes.description}>\n {instruction?.label || ''}\n </Typography>\n\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\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 {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={promptError}\n spellCheck={spellCheckEnabled}\n disableUnderline\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n <ConfigureChartPanel\n model={model}\n onChange={this.onConfigChange}\n gridValues={gridValues}\n labelValues={labelValues}\n chartDimensions={chartDimensions}\n charts={charts}\n studentNewCategoryDefaultLabel={studentNewCategoryDefaultLabel}\n availableChartTypes={availableChartTypes}\n chartTypeLabel={chartTypeLabel}\n />\n\n <ChartingConfig\n model={model}\n onChange={onModelChanged}\n charts={charts}\n labelsPlaceholders={labelsPlaceholders}\n titlePlaceholder={titlePlaceholder}\n showPixelGuides={showPixeGuides}\n authorNewCategoryDefaults={authorNewCategoryDefaults}\n chartingOptions={chartingOptions}\n mathMlOptions={mathMlOptions}\n />\n\n <CorrectResponse\n config={graph}\n model={model}\n onChange={onModelChanged}\n charts={charts}\n error={categoryErrors}\n correctAnswerErrors={correctAnswerErrors}\n studentNewCategoryDefaultLabel={studentNewCategoryDefaultLabel}\n mathMlOptions={mathMlOptions}\n />\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label || 'Rationale'} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n error={rationaleError}\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 {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
|
|
1
|
+
{"version":3,"sources":["../src/configure.jsx"],"names":["log","Panel","settings","toggle","radio","dropdown","textField","styles","theme","title","fontSize","display","marginTop","spacing","unit","marginBottom","promptHolder","width","paddingTop","description","errorText","typography","color","palette","error","main","charts","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","Configure","props","rationale","onModelChanged","model","prompt","teacherInstructions","chartType","config","state","oldGridValues","gridValues","oldLabelValues","labelValues","updatedModel","graph","range","rangeConstraints","height","setState","step","classes","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","contentDimensions","chartDimensions","authorNewCategoryDefaults","labelsPlaceholders","instruction","maxImageWidth","maxImageHeight","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","titlePlaceholder","withRubric","chartingOptions","availableChartTypes","mathMlOptions","chartTypeLabel","language","languageChoices","errors","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","studentNewCategoryDefaultLabel","categoryErrors","correctAnswerErrors","promptError","rationaleError","teacherInstructionsError","showPixeGuides","showInConfigPanel","defaultImageMaxWidth","defaultImageMaxHeight","panelItemType","changeInteractiveEnabled","changeInteractive","settingsLabel","changeEditableEnabled","changeEditable","changeAddCategoryEnabled","addCategory","panelProperties","label","studentInstructionsEnabled","rubricEnabled","enabled","options","Settings","Properties","onTeacherInstructionsChange","onPromptChange","onConfigChange","onRationaleChange","React","Component","PropTypes","func","object","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { chartTypes, ConfigureChartPanel } from '@pie-lib/pie-toolbox/charting';\nimport { settings, layout, InputContainer } from '@pie-lib/pie-toolbox/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@material-ui/core/Typography';\nimport {EditableHtml} from '@pie-lib/pie-toolbox/editable-html';\n\nimport ChartingConfig from './charting-config';\nimport CorrectResponse from './correct-response';\nimport { applyConstraints, getGridValues, getLabelValues } from './utils';\n\nconst log = debug('@pie-element:graphing:configure');\nconst { Panel, toggle, radio, dropdown, textField } = settings;\n\nconst styles = (theme) => ({\n title: {\n fontSize: '1.1rem',\n display: 'block',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit,\n },\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n description: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nconst charts = [\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n];\n\nexport class Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n chartingOptions: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n const { range = {}, graph } = props.model || {};\n const gridValues = { range: getGridValues(range, graph.height, true) };\n const labelValues = { range: getLabelValues(range.step || 1) };\n\n this.state = { gridValues, labelValues };\n }\n\n static defaultProps = { classes: {} };\n\n onRationaleChange = (rationale) => this.props.onModelChanged({ ...this.props.model, rationale });\n\n onPromptChange = (prompt) => this.props.onModelChanged({ ...this.props.model, prompt });\n\n onTeacherInstructionsChange = (teacherInstructions) =>\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n\n onChartTypeChange = (chartType) => this.props.onModelChanged({ ...this.props.model, chartType });\n\n onConfigChange = (config) => {\n const { model, onModelChanged } = this.props;\n const { gridValues: oldGridValues, labelValues: oldLabelValues } = this.state;\n const updatedModel = { ...model, ...config };\n const { graph, range } = updatedModel;\n const gridValues = {};\n const labelValues = {};\n\n const rangeConstraints = applyConstraints(range, graph.height, oldGridValues.range, oldLabelValues.range);\n\n gridValues.range = rangeConstraints.gridValues;\n labelValues.range = rangeConstraints.labelValues;\n\n this.setState({ gridValues, labelValues });\n onModelChanged(updatedModel);\n };\n\n render() {\n const { classes, configuration, imageSupport, model, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n\n log('[render] model', model);\n\n const { graph } = model;\n const {\n contentDimensions = {},\n chartDimensions = {},\n authorNewCategoryDefaults = {},\n labelsPlaceholders = {},\n instruction = {},\n maxImageWidth = {},\n maxImageHeight = {},\n prompt = {},\n rationale = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n titlePlaceholder = {},\n withRubric = {},\n chartingOptions = {},\n availableChartTypes = {},\n mathMlOptions = {},\n chartTypeLabel,\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n errors,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n studentNewCategoryDefaultLabel,\n } = model || {};\n const {\n categoryErrors,\n correctAnswerErrors,\n prompt: promptError,\n rationale: rationaleError,\n teacherInstructions: teacherInstructionsError,\n } = errors || {};\n const { gridValues, labelValues } = this.state;\n const showPixeGuides = chartDimensions.showInConfigPanel || true;\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelItemType = {\n changeInteractiveEnabled:\n chartingOptions.changeInteractive?.settings && toggle(chartingOptions.changeInteractive.settingsLabel),\n changeEditableEnabled:\n chartingOptions.changeEditable?.settings && toggle(chartingOptions.changeEditable.settingsLabel),\n changeAddCategoryEnabled:\n chartingOptions.addCategory?.settings && toggle(chartingOptions.addCategory.settingsLabel),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['all or nothing', 'partial scoring']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n instruction: instruction.settings && textField(instruction.label),\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onModelChanged}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelItemType,\n Properties: panelProperties,\n }}\n />\n }\n >\n <Typography component=\"div\" type=\"body1\" className={classes.description}>\n {instruction?.label || ''}\n </Typography>\n\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\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 {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={promptError}\n spellCheck={spellCheckEnabled}\n disableUnderline\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n <ConfigureChartPanel\n model={model}\n onChange={this.onConfigChange}\n gridValues={gridValues}\n labelValues={labelValues}\n chartDimensions={chartDimensions}\n charts={charts}\n studentNewCategoryDefaultLabel={studentNewCategoryDefaultLabel}\n availableChartTypes={availableChartTypes}\n chartTypeLabel={chartTypeLabel}\n />\n\n <ChartingConfig\n model={model}\n onChange={onModelChanged}\n charts={charts}\n labelsPlaceholders={labelsPlaceholders}\n titlePlaceholder={titlePlaceholder}\n showPixelGuides={showPixeGuides}\n authorNewCategoryDefaults={authorNewCategoryDefaults}\n chartingOptions={chartingOptions}\n mathMlOptions={mathMlOptions}\n />\n\n <CorrectResponse\n config={graph}\n model={model}\n onChange={onModelChanged}\n charts={charts}\n error={categoryErrors}\n correctAnswerErrors={correctAnswerErrors}\n studentNewCategoryDefaultLabel={studentNewCategoryDefaultLabel}\n mathMlOptions={mathMlOptions}\n />\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label || 'Rationale'} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n error={rationaleError}\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 {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
|
|
@@ -163,10 +163,16 @@ var getUpdatedCategories = function getUpdatedCategories(nextProps, prevProps, p
|
|
|
163
163
|
|
|
164
164
|
|
|
165
165
|
if (nextData.length < data.length) {
|
|
166
|
-
var removedIndex =
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
166
|
+
var removedIndex = nextData.length; // we need to remove the category from the correct answer data and categories, from the same index it was removed from the data
|
|
167
|
+
// index is a property of the nextData category
|
|
168
|
+
|
|
169
|
+
for (var index = 0; index < nextData.length; index++) {
|
|
170
|
+
if (nextData[index].index !== index) {
|
|
171
|
+
removedIndex = index;
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
170
176
|
nextCategories = removeCategory(categoriesCopy, nextData, removedIndex);
|
|
171
177
|
return nextCategories;
|
|
172
178
|
} // Handle category value or label changes in Define Chart
|
|
@@ -174,15 +180,6 @@ var getUpdatedCategories = function getUpdatedCategories(nextProps, prevProps, p
|
|
|
174
180
|
|
|
175
181
|
|
|
176
182
|
nextCategories = updateCorrectResponseData(nextCorrectAnswerDataCopy, nextData);
|
|
177
|
-
nextCorrectAnswerDataCopy.forEach(function (answer, currentIndex) {
|
|
178
|
-
var dataExists = currentIndex < nextData.length;
|
|
179
|
-
nextCorrectAnswerDataCopy[currentIndex] = {
|
|
180
|
-
editable: dataExists ? nextData[currentIndex].editable : true,
|
|
181
|
-
interactive: dataExists ? nextData[currentIndex].interactive : true,
|
|
182
|
-
label: dataExists && nextData[currentIndex].editable ? answer.label : dataExists ? nextData[currentIndex].label : answer.label,
|
|
183
|
-
value: dataExists && nextData[currentIndex].interactive ? answer.value : dataExists ? nextData[currentIndex].value : answer.value
|
|
184
|
-
};
|
|
185
|
-
});
|
|
186
183
|
return nextCategories;
|
|
187
184
|
};
|
|
188
185
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/correct-response.jsx"],"names":["styles","theme","container","marginBottom","spacing","unit","display","flex","button","marginTop","cursor","background","palette","grey","padding","width","borderRadius","column","chartError","border","error","main","errorText","fontSize","typography","color","paddingTop","title","addCategoryProps","correctAnswer","data","map","correct","index","editable","length","interactive","deletable","updateCorrectResponseData","correctAnswerData","correctResponseDefinition","forEach","category","currentIndex","label","value","missingCategories","slice","concat","insertCategory","positionToInsert","categoryToInsert","splice","removeCategory","positionToRemove","getUpdatedCategories","nextProps","prevProps","prevState","nextData","model","nextCorrectAnswerDataCopy","categoriesCopy","categories","nextCategories","removedIndex","findIndex","item","answer","dataExists","CorrectResponse","props","onChange","keepAttrs","state","initialCategories","setState","changeData","classes","charts","studentNewCategoryDefaultLabel","correctAnswerErrors","mathMlOptions","domain","range","identicalError","categoriesError","name","chartType","graph","addCategoryEnabled","React","Component","PropTypes","object","isRequired","string","func","array"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Chart } from '@pie-lib/pie-toolbox/charting';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport Typography from '@material-ui/core/Typography';\n\nconst styles = (theme) => ({\n container: {\n marginBottom: theme.spacing.unit * 2.5,\n display: 'flex',\n flex: 1,\n },\n button: {\n marginTop: theme.spacing.unit * 3,\n cursor: 'pointer',\n background: theme.palette.grey[200],\n padding: theme.spacing.unit * 2,\n width: 'fit-content',\n borderRadius: '4px',\n },\n column: {\n flex: 1,\n },\n chartError: {\n border: `2px solid ${theme.palette.error.main}`,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n title: {\n marginBottom: theme.spacing.unit,\n },\n});\n\nconst addCategoryProps = (correctAnswer, data) =>\n correctAnswer.map((correct, index) => ({\n ...correct,\n editable: index < data.length ? data[index].editable : true,\n interactive: index < data.length ? data[index].interactive : true,\n deletable: index >= data.length ? true : false,\n }));\n\nconst updateCorrectResponseData = (correctAnswer, data) => {\n if (!correctAnswer) {\n return data;\n }\n\n const correctAnswerData = [...correctAnswer];\n let correctResponseDefinition = [];\n\n (data || []).forEach((category, currentIndex) => {\n const editable = category.editable;\n const interactive = category.interactive;\n const label = editable && correctAnswer[currentIndex]?.label ? correctAnswer[currentIndex].label : category.label;\n const value =\n (interactive && correctAnswer[currentIndex]?.value) || (interactive && correctAnswer[currentIndex]?.value == 0)\n ? correctAnswer[currentIndex].value\n : category.value;\n\n correctResponseDefinition[currentIndex] = {\n label: label,\n value: value,\n editable: category.editable,\n interactive: category.interactive,\n };\n });\n\n if (correctResponseDefinition.length < correctAnswer.length) {\n const missingCategories = (correctAnswerData || []).slice(correctResponseDefinition.length, correctAnswer.length);\n\n return addCategoryProps((correctResponseDefinition || []).concat(missingCategories), data);\n }\n\n return correctResponseDefinition;\n};\n\nconst insertCategory = (correctAnswer, data) => {\n const positionToInsert = data.length - 1;\n // eslint-disable-next-line no-unused-vars\n const { editable, interactive, deletable, ...categoryToInsert } = data[data.length - 1];\n\n (correctAnswer || []).splice(positionToInsert, 0, categoryToInsert);\n const correctAnswerData = [...correctAnswer];\n\n return addCategoryProps(correctAnswerData, data);\n};\n\nconst removeCategory = (correctAnswer, data, positionToRemove) => {\n (correctAnswer || []).splice(positionToRemove, 1);\n const correctAnswerData = [...correctAnswer];\n\n return addCategoryProps(correctAnswerData, data);\n};\n\nexport const getUpdatedCategories = (nextProps, prevProps, prevState) => {\n const nextData = (nextProps && nextProps.model && nextProps.model.data) || [];\n const data = (prevProps && prevProps.model && prevProps.model.data) || [];\n const nextCorrectAnswerDataCopy = cloneDeep((nextProps && nextProps.model && nextProps.model.correctAnswer && nextProps.model.correctAnswer.data) || []);\n\n const categoriesCopy = cloneDeep(prevState ? prevState.categories : []);\n\n let nextCategories = [];\n\n // Handle categories insertion in Define Chart\n if (nextData.length > data.length) {\n nextCategories = insertCategory(nextCorrectAnswerDataCopy, nextData);\n return nextCategories;\n }\n\n // Handle categories removal from Define Chart\n if (nextData.length < data.length) {\n let removedIndex = data.findIndex((item, index) => item.index !== index);\n removedIndex = removedIndex === -1 ? nextData.length : removedIndex;\n\n nextCategories = removeCategory(categoriesCopy, nextData, removedIndex);\n return nextCategories;\n }\n\n // Handle category value or label changes in Define Chart\n // Handle categories update in Define Correct Response Chart\n nextCategories = updateCorrectResponseData(nextCorrectAnswerDataCopy, nextData);\n\n nextCorrectAnswerDataCopy.forEach((answer, currentIndex) => {\n const dataExists = currentIndex < nextData.length;\n nextCorrectAnswerDataCopy[currentIndex] = {\n editable: dataExists ? nextData[currentIndex].editable : true,\n interactive: dataExists ? nextData[currentIndex].interactive : true,\n label:\n dataExists && nextData[currentIndex].editable\n ? answer.label\n : dataExists\n ? nextData[currentIndex].label\n : answer.label,\n value:\n dataExists && nextData[currentIndex].interactive\n ? answer.value\n : dataExists\n ? nextData[currentIndex].value\n : answer.value,\n };\n });\n\n return nextCategories;\n};\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n correctAnswerErrors: PropTypes.object,\n studentNewCategoryDefaultLabel: PropTypes.string,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n charts: PropTypes.array,\n error: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n categories: [],\n };\n }\n\n changeData = (data) => {\n const { model, onChange } = this.props;\n const { correctAnswer } = model || {};\n\n onChange({\n ...model,\n correctAnswer: {\n ...correctAnswer,\n // eslint-disable-next-line no-unused-vars\n data: data.map(({ interactive, editable, index, ...keepAttrs }) => keepAttrs),\n },\n });\n };\n\n componentDidMount() {\n const initialCategories = getUpdatedCategories(this.props, this.props, null);\n\n this.setState({\n categories:\n initialCategories || updateCorrectResponseData(this.props.model.correctAnswer.data, this.props.model.data),\n });\n }\n\n componentDidUpdate(prevProps, prevState) {\n const nextCategories = getUpdatedCategories(this.props, prevProps, prevState);\n\n if (nextCategories && !isEqual(nextCategories, this.state.categories)) {\n this.changeData(nextCategories);\n this.setState({ categories: nextCategories });\n }\n }\n\n render() {\n const {\n classes,\n model,\n charts,\n error,\n studentNewCategoryDefaultLabel,\n correctAnswerErrors,\n mathMlOptions = {},\n } = this.props;\n const { categories } = this.state;\n\n const { domain = {}, range = {} } = model || {};\n const { identicalError, categoriesError } = correctAnswerErrors || {};\n\n return (\n <div>\n <div className={classes.title}>Define Correct Response</div>\n <div className={classes.container}>\n <div className={classes.column} key=\"graph\">\n <Typography component=\"div\" type=\"body1\">\n <span>Use the tools below to define the correct answer.</span>\n </Typography>\n\n <div\n key={`correct-response-graph-${model.correctAnswer.name}`}\n className={identicalError || categoriesError ? classes.chartError : ''}\n >\n <Chart\n chartType={model.chartType}\n size={model.graph}\n domain={domain}\n range={range}\n charts={charts}\n data={categories}\n title={model.title}\n onDataChange={this.changeData}\n addCategoryEnabled={model.addCategoryEnabled}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n error={error}\n mathMlOptions={mathMlOptions}\n />\n </div>\n\n {(identicalError || categoriesError) && (\n <Typography component=\"div\" type=\"body1\" className={classes.errorText}>\n <span>{identicalError || categoriesError}</span>\n </Typography>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(CorrectResponse);\n"],"file":"correct-response.js"}
|
|
1
|
+
{"version":3,"sources":["../src/correct-response.jsx"],"names":["styles","theme","container","marginBottom","spacing","unit","display","flex","button","marginTop","cursor","background","palette","grey","padding","width","borderRadius","column","chartError","border","error","main","errorText","fontSize","typography","color","paddingTop","title","addCategoryProps","correctAnswer","data","map","correct","index","editable","length","interactive","deletable","updateCorrectResponseData","correctAnswerData","correctResponseDefinition","forEach","category","currentIndex","label","value","missingCategories","slice","concat","insertCategory","positionToInsert","categoryToInsert","splice","removeCategory","positionToRemove","getUpdatedCategories","nextProps","prevProps","prevState","nextData","model","nextCorrectAnswerDataCopy","categoriesCopy","categories","nextCategories","removedIndex","CorrectResponse","props","onChange","keepAttrs","state","initialCategories","setState","changeData","classes","charts","studentNewCategoryDefaultLabel","correctAnswerErrors","mathMlOptions","domain","range","identicalError","categoriesError","name","chartType","graph","addCategoryEnabled","React","Component","PropTypes","object","isRequired","string","func","array"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Chart } from '@pie-lib/pie-toolbox/charting';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport Typography from '@material-ui/core/Typography';\n\nconst styles = (theme) => ({\n container: {\n marginBottom: theme.spacing.unit * 2.5,\n display: 'flex',\n flex: 1,\n },\n button: {\n marginTop: theme.spacing.unit * 3,\n cursor: 'pointer',\n background: theme.palette.grey[200],\n padding: theme.spacing.unit * 2,\n width: 'fit-content',\n borderRadius: '4px',\n },\n column: {\n flex: 1,\n },\n chartError: {\n border: `2px solid ${theme.palette.error.main}`,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n title: {\n marginBottom: theme.spacing.unit,\n },\n});\n\nconst addCategoryProps = (correctAnswer, data) =>\n correctAnswer.map((correct, index) => ({\n ...correct,\n editable: index < data.length ? data[index].editable : true,\n interactive: index < data.length ? data[index].interactive : true,\n deletable: index >= data.length ? true : false,\n }));\n\nconst updateCorrectResponseData = (correctAnswer, data) => {\n if (!correctAnswer) {\n return data;\n }\n\n const correctAnswerData = [...correctAnswer];\n let correctResponseDefinition = [];\n\n (data || []).forEach((category, currentIndex) => {\n const editable = category.editable;\n const interactive = category.interactive;\n const label = editable && correctAnswer[currentIndex]?.label ? correctAnswer[currentIndex].label : category.label;\n const value =\n (interactive && correctAnswer[currentIndex]?.value) || (interactive && correctAnswer[currentIndex]?.value == 0)\n ? correctAnswer[currentIndex].value\n : category.value;\n\n correctResponseDefinition[currentIndex] = {\n label: label,\n value: value,\n editable: category.editable,\n interactive: category.interactive,\n };\n });\n\n if (correctResponseDefinition.length < correctAnswer.length) {\n const missingCategories = (correctAnswerData || []).slice(correctResponseDefinition.length, correctAnswer.length);\n\n return addCategoryProps((correctResponseDefinition || []).concat(missingCategories), data);\n }\n\n return correctResponseDefinition;\n};\n\nconst insertCategory = (correctAnswer, data) => {\n const positionToInsert = data.length - 1;\n // eslint-disable-next-line no-unused-vars\n const { editable, interactive, deletable, ...categoryToInsert } = data[data.length - 1];\n\n (correctAnswer || []).splice(positionToInsert, 0, categoryToInsert);\n const correctAnswerData = [...correctAnswer];\n\n return addCategoryProps(correctAnswerData, data);\n};\n\nconst removeCategory = (correctAnswer, data, positionToRemove) => {\n (correctAnswer || []).splice(positionToRemove, 1);\n const correctAnswerData = [...correctAnswer];\n\n return addCategoryProps(correctAnswerData, data);\n};\n\nexport const getUpdatedCategories = (nextProps, prevProps, prevState) => {\n const nextData = (nextProps && nextProps.model && nextProps.model.data) || [];\n const data = (prevProps && prevProps.model && prevProps.model.data) || [];\n const nextCorrectAnswerDataCopy = cloneDeep((nextProps && nextProps.model && nextProps.model.correctAnswer && nextProps.model.correctAnswer.data) || []);\n\n const categoriesCopy = cloneDeep(prevState ? prevState.categories : []);\n\n let nextCategories = [];\n\n // Handle categories insertion in Define Chart\n if (nextData.length > data.length) {\n nextCategories = insertCategory(nextCorrectAnswerDataCopy, nextData);\n return nextCategories;\n }\n\n // Handle categories removal from Define Chart\n if (nextData.length < data.length) {\n let removedIndex = nextData.length;\n\n // we need to remove the category from the correct answer data and categories, from the same index it was removed from the data\n // index is a property of the nextData category\n for (let index = 0; index < nextData.length; index++) {\n if (nextData[index].index !== index) {\n removedIndex = index;\n break;\n }\n }\n \n nextCategories = removeCategory(categoriesCopy, nextData, removedIndex);\n return nextCategories;\n }\n\n // Handle category value or label changes in Define Chart\n // Handle categories update in Define Correct Response Chart\n nextCategories = updateCorrectResponseData(nextCorrectAnswerDataCopy, nextData);\n\n return nextCategories;\n};\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n correctAnswerErrors: PropTypes.object,\n studentNewCategoryDefaultLabel: PropTypes.string,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n charts: PropTypes.array,\n error: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n categories: [],\n };\n }\n\n changeData = (data) => {\n const { model, onChange } = this.props;\n const { correctAnswer } = model || {};\n\n onChange({\n ...model,\n correctAnswer: {\n ...correctAnswer,\n // eslint-disable-next-line no-unused-vars\n data: data.map(({ interactive, editable, index, ...keepAttrs }) => keepAttrs),\n },\n });\n };\n\n componentDidMount() {\n const initialCategories = getUpdatedCategories(this.props, this.props, null);\n\n this.setState({\n categories:\n initialCategories || updateCorrectResponseData(this.props.model.correctAnswer.data, this.props.model.data),\n });\n }\n\n componentDidUpdate(prevProps, prevState) {\n const nextCategories = getUpdatedCategories(this.props, prevProps, prevState);\n\n if (nextCategories && !isEqual(nextCategories, this.state.categories)) {\n this.changeData(nextCategories);\n this.setState({ categories: nextCategories });\n }\n }\n\n render() {\n const {\n classes,\n model,\n charts,\n error,\n studentNewCategoryDefaultLabel,\n correctAnswerErrors,\n mathMlOptions = {},\n } = this.props;\n const { categories } = this.state;\n\n const { domain = {}, range = {} } = model || {};\n const { identicalError, categoriesError } = correctAnswerErrors || {};\n\n return (\n <div>\n <div className={classes.title}>Define Correct Response</div>\n <div className={classes.container}>\n <div className={classes.column} key=\"graph\">\n <Typography component=\"div\" type=\"body1\">\n <span>Use the tools below to define the correct answer.</span>\n </Typography>\n\n <div\n key={`correct-response-graph-${model.correctAnswer.name}`}\n className={identicalError || categoriesError ? classes.chartError : ''}\n >\n <Chart\n chartType={model.chartType}\n size={model.graph}\n domain={domain}\n range={range}\n charts={charts}\n data={categories}\n title={model.title}\n onDataChange={this.changeData}\n addCategoryEnabled={model.addCategoryEnabled}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n error={error}\n mathMlOptions={mathMlOptions}\n />\n </div>\n\n {(identicalError || categoriesError) && (\n <Typography component=\"div\" type=\"body1\" className={classes.errorText}>\n <span>{identicalError || categoriesError}</span>\n </Typography>\n )}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(CorrectResponse);\n"],"file":"correct-response.js"}
|
package/configure/package.json
CHANGED
package/lib/main.js
CHANGED
|
@@ -35,7 +35,7 @@ var _isArray = _interopRequireDefault(require("lodash/isArray"));
|
|
|
35
35
|
|
|
36
36
|
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
37
37
|
|
|
38
|
-
var _correctAnswerToggle =
|
|
38
|
+
var _correctAnswerToggle = require("@pie-lib/pie-toolbox/correct-answer-toggle");
|
|
39
39
|
|
|
40
40
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
41
41
|
|
|
@@ -129,7 +129,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
129
129
|
})), prompt && /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
130
130
|
className: "prompt",
|
|
131
131
|
prompt: prompt
|
|
132
|
-
}), /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle
|
|
132
|
+
}), /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle.CorrectAnswerToggle, {
|
|
133
133
|
show: showToggle,
|
|
134
134
|
toggled: showingCorrect,
|
|
135
135
|
onToggle: this.toggleCorrect,
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["Main","props","data","setState","categories","onAnswersChange","showingCorrect","state","model","prevProps","classes","teacherInstructions","prompt","chartType","size","domain","range","title","addCategoryEnabled","studentNewCategoryDefaultLabel","rationale","correctedAnswer","correctAnswer","language","correctData","map","interactive","editable","showToggle","length","mainContainer","collapsible","hidden","visible","toggleCorrect","chart","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","changeData","React","Component","PropTypes","object","isRequired","func","array","styles","theme","color","text","backgroundColor","background","overflowX","overflowY","marginTop","spacing","unit","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color, Collapsible, hasText, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport { Chart, chartTypes } from '@pie-lib/pie-toolbox/charting';\nimport isArray from 'lodash/isArray';\nimport isEqual from 'lodash/isEqual';\nimport CorrectAnswerToggle from '@pie-lib/pie-toolbox/correct-answer-toggle';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n categories: PropTypes.array,\n };\n\n static defaultProps = { classes: {} };\n\n constructor(props) {\n super(props);\n\n this.state = {\n categories: props.categories || props.model.data,\n showingCorrect: false,\n };\n }\n\n componentDidUpdate(prevProps) {\n if (!isEqual(prevProps.categories, this.props.categories)) {\n this.setState({ categories: this.props.categories });\n } else if (!isEqual(prevProps.model.data, this.props.model.data)) {\n this.setState({ categories: this.props.model.data });\n }\n}\n\n\n changeData = (data) =>\n this.setState(\n {\n categories: data,\n },\n () => this.props.onAnswersChange(data),\n );\n\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n render() {\n const { categories, showingCorrect } = this.state;\n const { model, classes } = this.props;\n const {\n teacherInstructions,\n prompt,\n chartType,\n size,\n domain,\n range,\n title,\n addCategoryEnabled,\n studentNewCategoryDefaultLabel,\n rationale,\n correctedAnswer,\n correctAnswer,\n language\n } = model;\n\n const correctData =\n correctAnswer && correctAnswer.data\n ? correctAnswer.data.map((data) => {\n return {\n ...data,\n interactive: false,\n editable: false,\n };\n })\n : [];\n\n const showToggle = correctData && correctData.length > 0;\n\n return (\n <div className={classes.mainContainer}>\n {teacherInstructions && hasText(teacherInstructions) && (\n <Collapsible\n className={classes.collapsible}\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n\n {showingCorrect && showToggle ? (\n <Chart\n className={classes.chart}\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctData || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={false}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n />\n ) : (\n <Chart\n className={classes.chart}\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctedAnswer || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={addCategoryEnabled}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n />\n )}\n\n {rationale && hasText(rationale) && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n overflowX: 'scroll',\n overflowY: 'hidden',\n },\n chart: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["Main","props","data","setState","categories","onAnswersChange","showingCorrect","state","model","prevProps","classes","teacherInstructions","prompt","chartType","size","domain","range","title","addCategoryEnabled","studentNewCategoryDefaultLabel","rationale","correctedAnswer","correctAnswer","language","correctData","map","interactive","editable","showToggle","length","mainContainer","collapsible","hidden","visible","toggleCorrect","chart","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","changeData","React","Component","PropTypes","object","isRequired","func","array","styles","theme","color","text","backgroundColor","background","overflowX","overflowY","marginTop","spacing","unit","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color, Collapsible, hasText, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport { Chart, chartTypes } from '@pie-lib/pie-toolbox/charting';\nimport isArray from 'lodash/isArray';\nimport isEqual from 'lodash/isEqual';\nimport {CorrectAnswerToggle} from '@pie-lib/pie-toolbox/correct-answer-toggle';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n categories: PropTypes.array,\n };\n\n static defaultProps = { classes: {} };\n\n constructor(props) {\n super(props);\n\n this.state = {\n categories: props.categories || props.model.data,\n showingCorrect: false,\n };\n }\n\n componentDidUpdate(prevProps) {\n if (!isEqual(prevProps.categories, this.props.categories)) {\n this.setState({ categories: this.props.categories });\n } else if (!isEqual(prevProps.model.data, this.props.model.data)) {\n this.setState({ categories: this.props.model.data });\n }\n}\n\n\n changeData = (data) =>\n this.setState(\n {\n categories: data,\n },\n () => this.props.onAnswersChange(data),\n );\n\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n render() {\n const { categories, showingCorrect } = this.state;\n const { model, classes } = this.props;\n const {\n teacherInstructions,\n prompt,\n chartType,\n size,\n domain,\n range,\n title,\n addCategoryEnabled,\n studentNewCategoryDefaultLabel,\n rationale,\n correctedAnswer,\n correctAnswer,\n language\n } = model;\n\n const correctData =\n correctAnswer && correctAnswer.data\n ? correctAnswer.data.map((data) => {\n return {\n ...data,\n interactive: false,\n editable: false,\n };\n })\n : [];\n\n const showToggle = correctData && correctData.length > 0;\n\n return (\n <div className={classes.mainContainer}>\n {teacherInstructions && hasText(teacherInstructions) && (\n <Collapsible\n className={classes.collapsible}\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n\n {showingCorrect && showToggle ? (\n <Chart\n className={classes.chart}\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctData || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={false}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n />\n ) : (\n <Chart\n className={classes.chart}\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctedAnswer || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={addCategoryEnabled}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n />\n )}\n\n {rationale && hasText(rationale) && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n overflowX: 'scroll',\n overflowY: 'hidden',\n },\n chart: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "7.2.
|
|
7
|
+
"version": "7.2.2-next.5+c24bcb996",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"author": "",
|
|
24
24
|
"license": "ISC",
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "c24bcb9966a4f9b7f6cf88a4151599f526412ca5",
|
|
26
26
|
"main": "lib/index.js",
|
|
27
27
|
"module": "src/index.js"
|
|
28
28
|
}
|