@pie-element/charting 12.2.2-beta.4 → 12.2.2-beta.6

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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"configure.js","names":["_react","_interopRequireDefault","require","_styles","_charting","_configUi","_propTypes","_debug","_Typography","_editableHtmlTipTap","_chartingConfig","_correctResponse","_utils","log","debug","Panel","toggle","radio","dropdown","textField","settings","PromptHolder","styled","InputContainer","theme","width","paddingTop","spacing","marginBottom","Description","Typography","ErrorText","fontSize","typography","color","palette","error","main","charts","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","Configure","React","Component","constructor","props","_defineProperty2","default","rationale","onModelChanged","model","prompt","teacherInstructions","chartType","config","gridValues","oldGridValues","labelValues","oldLabelValues","state","updatedModel","graph","range","rangeConstraints","applyConstraints","height","setState","getGridValues","getLabelValues","step","render","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","baseInputConfiguration","contentDimensions","chartDimensions","authorNewCategoryDefaults","labelsPlaceholders","instruction","maxImageWidth","maxImageHeight","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","titlePlaceholder","withRubric","chartingOptions","availableChartTypes","mathMlOptions","chartTypeLabel","language","languageChoices","labelsCharactersLimit","errors","extraCSSRules","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","getPluginProps","createElement","layout","ConfigLayout","dimensions","hideSettings","onChangeModel","onChangeConfiguration","groups","Settings","Properties","component","type","markup","onChange","onTeacherInstructionsChange","nonEmpty","pluginProps","inputConfiguration","languageCharactersProps","onPromptChange","disableUnderline","ConfigureChartPanel","onConfigChange","showPixelGuides","onRationaleChange","exports","PropTypes","func","object","isRequired","_default"],"sources":["../src/configure.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { chartTypes, ConfigureChartPanel } from '@pie-lib/charting';\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@mui/material/Typography';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\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 PromptHolder = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nconst Description = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\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 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 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 { configuration, imageSupport, model, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n\n log('[render] model', model);\n\n const { graph } = model;\n const {\n baseInputConfiguration = {},\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 labelsCharactersLimit,\n } = configuration || {};\n const {\n errors,\n extraCSSRules,\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 const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\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 <Description component=\"div\" type=\"body1\">\n {instruction?.label || ''}\n </Description>\n\n {teacherInstructionsEnabled && (\n <PromptHolder label={teacherInstructions.label}>\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\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 && <ErrorText>{teacherInstructionsError}</ErrorText>}\n </PromptHolder>\n )}\n\n {promptEnabled && (\n <PromptHolder label={prompt.label}>\n <EditableHtml\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={promptError}\n spellCheck={spellCheckEnabled}\n disableUnderline\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <ErrorText>{promptError}</ErrorText>}\n </PromptHolder>\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 labelsCharactersLimit={labelsCharactersLimit}\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 labelsPlaceholders={labelsPlaceholders}\n />\n\n {rationaleEnabled && (\n <PromptHolder label={rationale.label || 'Rationale'}>\n <EditableHtml\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n error={rationaleError}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\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 && <ErrorText>{rationaleError}</ErrorText>}\n </PromptHolder>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default Configure;\n"],"mappings":"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","ignoreList":[]}
@@ -1,244 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.getUpdatedCategories = exports.default = exports.CorrectResponse = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var React = _interopRequireWildcard(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _styles = require("@mui/material/styles");
12
- var _charting = require("@pie-lib/charting");
13
- var _lodashEs = require("lodash-es");
14
- var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
15
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
- const Container = (0, _styles.styled)('div')(({
17
- theme
18
- }) => ({
19
- marginBottom: theme.spacing(2.5),
20
- display: 'flex',
21
- flex: 1
22
- }));
23
- const Column = (0, _styles.styled)('div')({
24
- flex: 1
25
- });
26
- const ChartError = (0, _styles.styled)('div')(({
27
- theme
28
- }) => ({
29
- border: `2px solid ${theme.palette.error.main}`
30
- }));
31
- const ErrorText = (0, _styles.styled)(_Typography.default)(({
32
- theme
33
- }) => ({
34
- fontSize: theme.typography.fontSize - 2,
35
- color: theme.palette.error.main,
36
- paddingTop: theme.spacing(1)
37
- }));
38
- const Title = (0, _styles.styled)('div')(({
39
- theme
40
- }) => ({
41
- marginBottom: theme.spacing(1)
42
- }));
43
- const addCategoryProps = (correctAnswer, data) => correctAnswer.map((correct, index) => ({
44
- ...correct,
45
- editable: index < data.length ? data[index].editable : true,
46
- interactive: index < data.length ? data[index].interactive : true,
47
- deletable: index >= data.length ? true : false
48
- }));
49
- const updateCorrectResponseData = (correctAnswer, data) => {
50
- if (!correctAnswer) {
51
- return data;
52
- }
53
- const correctAnswerData = [...correctAnswer];
54
- let correctResponseDefinition = [];
55
- (data || []).forEach((category, currentIndex) => {
56
- const editable = category.editable;
57
- const interactive = category.interactive;
58
- const label = editable && correctAnswer[currentIndex]?.label ? correctAnswer[currentIndex].label : category.label;
59
- const value = interactive && correctAnswer[currentIndex]?.value || interactive && correctAnswer[currentIndex]?.value == 0 ? correctAnswer[currentIndex].value : category.value;
60
- correctResponseDefinition[currentIndex] = {
61
- label: label,
62
- value: value,
63
- editable: category.editable,
64
- interactive: category.interactive
65
- };
66
- });
67
- if (correctResponseDefinition.length < correctAnswer.length) {
68
- const missingCategories = (correctAnswerData || []).slice(correctResponseDefinition.length, correctAnswer.length);
69
- return addCategoryProps((correctResponseDefinition || []).concat(missingCategories), data);
70
- }
71
- return correctResponseDefinition;
72
- };
73
- const insertCategory = (correctAnswer, data) => {
74
- const positionToInsert = data.length - 1;
75
- // eslint-disable-next-line no-unused-vars
76
- const {
77
- editable,
78
- interactive,
79
- deletable,
80
- ...categoryToInsert
81
- } = data[data.length - 1];
82
- (correctAnswer || []).splice(positionToInsert, 0, categoryToInsert);
83
- const correctAnswerData = [...correctAnswer];
84
- return addCategoryProps(correctAnswerData, data);
85
- };
86
- const removeCategory = (correctAnswer, data, positionToRemove) => {
87
- (correctAnswer || []).splice(positionToRemove, 1);
88
- const correctAnswerData = [...correctAnswer];
89
- return addCategoryProps(correctAnswerData, data);
90
- };
91
- const getUpdatedCategories = (nextProps, prevProps, prevState) => {
92
- const nextData = nextProps && nextProps.model && nextProps.model.data || [];
93
- const data = prevProps && prevProps.model && prevProps.model.data || [];
94
- const nextCorrectAnswerDataCopy = (0, _lodashEs.cloneDeep)(nextProps && nextProps.model && nextProps.model.correctAnswer && nextProps.model.correctAnswer.data || []);
95
- const categoriesCopy = (0, _lodashEs.cloneDeep)(prevState ? prevState.categories : []);
96
- let nextCategories = [];
97
-
98
- // Handle categories insertion in Define Chart
99
- if (nextData.length > data.length) {
100
- nextCategories = insertCategory(nextCorrectAnswerDataCopy, nextData);
101
- return nextCategories;
102
- }
103
-
104
- // Handle categories removal from Define Chart
105
- if (nextData.length < data.length) {
106
- let removedIndex = nextData.length;
107
-
108
- // we need to remove the category from the correct answer data and categories, from the same index it was removed from the data
109
- // index is a property of the nextData category
110
- for (let index = 0; index < nextData.length; index++) {
111
- if (nextData[index].index !== index) {
112
- removedIndex = index;
113
- break;
114
- }
115
- }
116
- nextCategories = removeCategory(categoriesCopy, nextData, removedIndex);
117
- return nextCategories;
118
- }
119
-
120
- // Handle category value or label changes in Define Chart
121
- // Handle categories update in Define Correct Response Chart
122
- nextCategories = updateCorrectResponseData(nextCorrectAnswerDataCopy, nextData);
123
- return nextCategories;
124
- };
125
- exports.getUpdatedCategories = getUpdatedCategories;
126
- class CorrectResponse extends React.Component {
127
- constructor(props) {
128
- super(props);
129
- (0, _defineProperty2.default)(this, "changeData", data => {
130
- const {
131
- model,
132
- onChange
133
- } = this.props;
134
- const {
135
- correctAnswer
136
- } = model || {};
137
- onChange({
138
- ...model,
139
- correctAnswer: {
140
- ...correctAnswer,
141
- // eslint-disable-next-line no-unused-vars
142
- data: data.map(({
143
- interactive,
144
- editable,
145
- index,
146
- ...keepAttrs
147
- }) => keepAttrs)
148
- }
149
- });
150
- });
151
- this.state = {
152
- categories: []
153
- };
154
- }
155
- componentDidMount() {
156
- const initialCategories = getUpdatedCategories(this.props, this.props, null);
157
- this.setState({
158
- categories: initialCategories || updateCorrectResponseData(this.props.model.correctAnswer.data, this.props.model.data)
159
- });
160
- }
161
- componentDidUpdate(prevProps, prevState) {
162
- const nextCategories = getUpdatedCategories(this.props, prevProps, prevState);
163
- if (nextCategories && !(0, _lodashEs.isEqual)(nextCategories, this.state.categories)) {
164
- this.changeData(nextCategories);
165
- this.setState({
166
- categories: nextCategories
167
- });
168
- }
169
- }
170
- render() {
171
- const {
172
- model,
173
- charts,
174
- error,
175
- studentNewCategoryDefaultLabel,
176
- correctAnswerErrors,
177
- mathMlOptions = {},
178
- labelsPlaceholders = {}
179
- } = this.props;
180
- const {
181
- categories
182
- } = this.state;
183
- const {
184
- domain = {},
185
- range = {}
186
- } = model || {};
187
- const {
188
- identicalError,
189
- categoriesError
190
- } = correctAnswerErrors || {};
191
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Title, null, "Define Correct Response"), /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Column, {
192
- key: "graph"
193
- }, /*#__PURE__*/React.createElement(_Typography.default, {
194
- component: "div",
195
- type: "body1"
196
- }, /*#__PURE__*/React.createElement("span", null, "Use the tools below to define the correct answer.")), identicalError || categoriesError ? /*#__PURE__*/React.createElement(ChartError, {
197
- key: `correct-response-graph-${model.correctAnswer.name}`
198
- }, /*#__PURE__*/React.createElement(_charting.Chart, {
199
- chartType: model.chartType,
200
- size: model.graph,
201
- domain: domain,
202
- range: range,
203
- charts: charts,
204
- data: categories,
205
- title: model.title,
206
- onDataChange: this.changeData,
207
- addCategoryEnabled: model.addCategoryEnabled,
208
- categoryDefaultLabel: studentNewCategoryDefaultLabel,
209
- error: error,
210
- mathMlOptions: mathMlOptions,
211
- labelsPlaceholders: labelsPlaceholders
212
- })) : /*#__PURE__*/React.createElement("div", {
213
- key: `correct-response-graph-${model.correctAnswer.name}`
214
- }, /*#__PURE__*/React.createElement(_charting.Chart, {
215
- chartType: model.chartType,
216
- size: model.graph,
217
- domain: domain,
218
- range: range,
219
- charts: charts,
220
- data: categories,
221
- title: model.title,
222
- onDataChange: this.changeData,
223
- addCategoryEnabled: model.addCategoryEnabled,
224
- categoryDefaultLabel: studentNewCategoryDefaultLabel,
225
- error: error,
226
- mathMlOptions: mathMlOptions,
227
- labelsPlaceholders: labelsPlaceholders
228
- })), (identicalError || categoriesError) && /*#__PURE__*/React.createElement(ErrorText, {
229
- component: "div",
230
- type: "body1"
231
- }, /*#__PURE__*/React.createElement("span", null, identicalError || categoriesError)))));
232
- }
233
- }
234
- exports.CorrectResponse = CorrectResponse;
235
- (0, _defineProperty2.default)(CorrectResponse, "propTypes", {
236
- correctAnswerErrors: _propTypes.default.object,
237
- studentNewCategoryDefaultLabel: _propTypes.default.string,
238
- model: _propTypes.default.object.isRequired,
239
- onChange: _propTypes.default.func.isRequired,
240
- charts: _propTypes.default.array,
241
- error: _propTypes.default.string
242
- });
243
- var _default = exports.default = CorrectResponse;
244
- //# sourceMappingURL=correct-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"correct-response.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_charting","_lodashEs","_Typography","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Container","styled","theme","marginBottom","spacing","display","flex","Column","ChartError","border","palette","error","main","ErrorText","Typography","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","cloneDeep","categoriesCopy","categories","nextCategories","removedIndex","exports","CorrectResponse","Component","constructor","props","_defineProperty2","onChange","keepAttrs","state","componentDidMount","initialCategories","setState","componentDidUpdate","isEqual","changeData","render","charts","studentNewCategoryDefaultLabel","correctAnswerErrors","mathMlOptions","labelsPlaceholders","domain","range","identicalError","categoriesError","createElement","key","component","type","name","Chart","chartType","size","graph","title","onDataChange","addCategoryEnabled","categoryDefaultLabel","PropTypes","object","string","isRequired","func","array","_default"],"sources":["../src/correct-response.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { Chart } from '@pie-lib/charting';\nimport { cloneDeep, isEqual } from 'lodash-es';\n\nimport Typography from '@mui/material/Typography';\n\nconst Container = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n display: 'flex',\n flex: 1,\n}));\n\nconst Column = styled('div')({\n flex: 1,\n});\n\nconst ChartError = styled('div')(({ theme }) => ({\n border: `2px solid ${theme.palette.error.main}`,\n}));\n\nconst ErrorText = styled(Typography)(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nconst Title = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(1),\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(\n (nextProps && nextProps.model && nextProps.model.correctAnswer && nextProps.model.correctAnswer.data) || [],\n );\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 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 model,\n charts,\n error,\n studentNewCategoryDefaultLabel,\n correctAnswerErrors,\n mathMlOptions = {},\n labelsPlaceholders = {},\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 <Title>Define Correct Response</Title>\n <Container>\n <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 {identicalError || categoriesError ? (\n <ChartError key={`correct-response-graph-${model.correctAnswer.name}`}>\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 labelsPlaceholders={labelsPlaceholders}\n />\n </ChartError>\n ) : (\n <div key={`correct-response-graph-${model.correctAnswer.name}`}>\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 labelsPlaceholders={labelsPlaceholders}\n />\n </div>\n )}\n\n {(identicalError || categoriesError) && (\n <ErrorText component=\"div\" type=\"body1\">\n <span>{identicalError || categoriesError}</span>\n </ErrorText>\n )}\n </Column>\n </Container>\n </div>\n );\n }\n}\n\nexport default CorrectResponse;\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAEA,IAAAM,WAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAAkD,SAAAD,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAElD,MAAMkB,SAAS,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EAC9CC,YAAY,EAAED,KAAK,CAACE,OAAO,CAAC,GAAG,CAAC;EAChCC,OAAO,EAAE,MAAM;EACfC,IAAI,EAAE;AACR,CAAC,CAAC,CAAC;AAEH,MAAMC,MAAM,GAAG,IAAAN,cAAM,EAAC,KAAK,CAAC,CAAC;EAC3BK,IAAI,EAAE;AACR,CAAC,CAAC;AAEF,MAAME,UAAU,GAAG,IAAAP,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EAC/CO,MAAM,EAAE,aAAaP,KAAK,CAACQ,OAAO,CAACC,KAAK,CAACC,IAAI;AAC/C,CAAC,CAAC,CAAC;AAEH,MAAMC,SAAS,GAAG,IAAAZ,cAAM,EAACa,mBAAU,CAAC,CAAC,CAAC;EAAEZ;AAAM,CAAC,MAAM;EACnDa,QAAQ,EAAEb,KAAK,CAACc,UAAU,CAACD,QAAQ,GAAG,CAAC;EACvCE,KAAK,EAAEf,KAAK,CAACQ,OAAO,CAACC,KAAK,CAACC,IAAI;EAC/BM,UAAU,EAAEhB,KAAK,CAACE,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,MAAMe,KAAK,GAAG,IAAAlB,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EAC1CC,YAAY,EAAED,KAAK,CAACE,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,MAAMgB,gBAAgB,GAAGA,CAACC,aAAa,EAAEC,IAAI,KAC3CD,aAAa,CAACE,GAAG,CAAC,CAACC,OAAO,EAAEC,KAAK,MAAM;EACrC,GAAGD,OAAO;EACVE,QAAQ,EAAED,KAAK,GAAGH,IAAI,CAACK,MAAM,GAAGL,IAAI,CAACG,KAAK,CAAC,CAACC,QAAQ,GAAG,IAAI;EAC3DE,WAAW,EAAEH,KAAK,GAAGH,IAAI,CAACK,MAAM,GAAGL,IAAI,CAACG,KAAK,CAAC,CAACG,WAAW,GAAG,IAAI;EACjEC,SAAS,EAAEJ,KAAK,IAAIH,IAAI,CAACK,MAAM,GAAG,IAAI,GAAG;AAC3C,CAAC,CAAC,CAAC;AAEL,MAAMG,yBAAyB,GAAGA,CAACT,aAAa,EAAEC,IAAI,KAAK;EACzD,IAAI,CAACD,aAAa,EAAE;IAClB,OAAOC,IAAI;EACb;EAEA,MAAMS,iBAAiB,GAAG,CAAC,GAAGV,aAAa,CAAC;EAC5C,IAAIW,yBAAyB,GAAG,EAAE;EAElC,CAACV,IAAI,IAAI,EAAE,EAAEW,OAAO,CAAC,CAACC,QAAQ,EAAEC,YAAY,KAAK;IAC/C,MAAMT,QAAQ,GAAGQ,QAAQ,CAACR,QAAQ;IAClC,MAAME,WAAW,GAAGM,QAAQ,CAACN,WAAW;IACxC,MAAMQ,KAAK,GAAGV,QAAQ,IAAIL,aAAa,CAACc,YAAY,CAAC,EAAEC,KAAK,GAAGf,aAAa,CAACc,YAAY,CAAC,CAACC,KAAK,GAAGF,QAAQ,CAACE,KAAK;IACjH,MAAMC,KAAK,GACRT,WAAW,IAAIP,aAAa,CAACc,YAAY,CAAC,EAAEE,KAAK,IAAMT,WAAW,IAAIP,aAAa,CAACc,YAAY,CAAC,EAAEE,KAAK,IAAI,CAAE,GAC3GhB,aAAa,CAACc,YAAY,CAAC,CAACE,KAAK,GACjCH,QAAQ,CAACG,KAAK;IAEpBL,yBAAyB,CAACG,YAAY,CAAC,GAAG;MACxCC,KAAK,EAAEA,KAAK;MACZC,KAAK,EAAEA,KAAK;MACZX,QAAQ,EAAEQ,QAAQ,CAACR,QAAQ;MAC3BE,WAAW,EAAEM,QAAQ,CAACN;IACxB,CAAC;EACH,CAAC,CAAC;EAEF,IAAII,yBAAyB,CAACL,MAAM,GAAGN,aAAa,CAACM,MAAM,EAAE;IAC3D,MAAMW,iBAAiB,GAAG,CAACP,iBAAiB,IAAI,EAAE,EAAEQ,KAAK,CAACP,yBAAyB,CAACL,MAAM,EAAEN,aAAa,CAACM,MAAM,CAAC;IAEjH,OAAOP,gBAAgB,CAAC,CAACY,yBAAyB,IAAI,EAAE,EAAEQ,MAAM,CAACF,iBAAiB,CAAC,EAAEhB,IAAI,CAAC;EAC5F;EAEA,OAAOU,yBAAyB;AAClC,CAAC;AAED,MAAMS,cAAc,GAAGA,CAACpB,aAAa,EAAEC,IAAI,KAAK;EAC9C,MAAMoB,gBAAgB,GAAGpB,IAAI,CAACK,MAAM,GAAG,CAAC;EACxC;EACA,MAAM;IAAED,QAAQ;IAAEE,WAAW;IAAEC,SAAS;IAAE,GAAGc;EAAiB,CAAC,GAAGrB,IAAI,CAACA,IAAI,CAACK,MAAM,GAAG,CAAC,CAAC;EAEvF,CAACN,aAAa,IAAI,EAAE,EAAEuB,MAAM,CAACF,gBAAgB,EAAE,CAAC,EAAEC,gBAAgB,CAAC;EACnE,MAAMZ,iBAAiB,GAAG,CAAC,GAAGV,aAAa,CAAC;EAE5C,OAAOD,gBAAgB,CAACW,iBAAiB,EAAET,IAAI,CAAC;AAClD,CAAC;AAED,MAAMuB,cAAc,GAAGA,CAACxB,aAAa,EAAEC,IAAI,EAAEwB,gBAAgB,KAAK;EAChE,CAACzB,aAAa,IAAI,EAAE,EAAEuB,MAAM,CAACE,gBAAgB,EAAE,CAAC,CAAC;EACjD,MAAMf,iBAAiB,GAAG,CAAC,GAAGV,aAAa,CAAC;EAE5C,OAAOD,gBAAgB,CAACW,iBAAiB,EAAET,IAAI,CAAC;AAClD,CAAC;AAEM,MAAMyB,oBAAoB,GAAGA,CAACC,SAAS,EAAEC,SAAS,EAAEC,SAAS,KAAK;EACvE,MAAMC,QAAQ,GAAIH,SAAS,IAAIA,SAAS,CAACI,KAAK,IAAIJ,SAAS,CAACI,KAAK,CAAC9B,IAAI,IAAK,EAAE;EAC7E,MAAMA,IAAI,GAAI2B,SAAS,IAAIA,SAAS,CAACG,KAAK,IAAIH,SAAS,CAACG,KAAK,CAAC9B,IAAI,IAAK,EAAE;EACzE,MAAM+B,yBAAyB,GAAG,IAAAC,mBAAS,EACxCN,SAAS,IAAIA,SAAS,CAACI,KAAK,IAAIJ,SAAS,CAACI,KAAK,CAAC/B,aAAa,IAAI2B,SAAS,CAACI,KAAK,CAAC/B,aAAa,CAACC,IAAI,IAAK,EAC3G,CAAC;EAED,MAAMiC,cAAc,GAAG,IAAAD,mBAAS,EAACJ,SAAS,GAAGA,SAAS,CAACM,UAAU,GAAG,EAAE,CAAC;EAEvE,IAAIC,cAAc,GAAG,EAAE;;EAEvB;EACA,IAAIN,QAAQ,CAACxB,MAAM,GAAGL,IAAI,CAACK,MAAM,EAAE;IACjC8B,cAAc,GAAGhB,cAAc,CAACY,yBAAyB,EAAEF,QAAQ,CAAC;IACpE,OAAOM,cAAc;EACvB;;EAEA;EACA,IAAIN,QAAQ,CAACxB,MAAM,GAAGL,IAAI,CAACK,MAAM,EAAE;IACjC,IAAI+B,YAAY,GAAGP,QAAQ,CAACxB,MAAM;;IAElC;IACA;IACA,KAAK,IAAIF,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG0B,QAAQ,CAACxB,MAAM,EAAEF,KAAK,EAAE,EAAE;MACpD,IAAI0B,QAAQ,CAAC1B,KAAK,CAAC,CAACA,KAAK,KAAKA,KAAK,EAAE;QACnCiC,YAAY,GAAGjC,KAAK;QACpB;MACF;IACF;IAEAgC,cAAc,GAAGZ,cAAc,CAACU,cAAc,EAAEJ,QAAQ,EAAEO,YAAY,CAAC;IACvE,OAAOD,cAAc;EACvB;;EAEA;EACA;EACAA,cAAc,GAAG3B,yBAAyB,CAACuB,yBAAyB,EAAEF,QAAQ,CAAC;EAE/E,OAAOM,cAAc;AACvB,CAAC;AAACE,OAAA,CAAAZ,oBAAA,GAAAA,oBAAA;AAEK,MAAMa,eAAe,SAASxF,KAAK,CAACyF,SAAS,CAAC;EAUnDC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAAC,IAAAC,gBAAA,CAAAzE,OAAA,sBAMD+B,IAAI,IAAK;MACrB,MAAM;QAAE8B,KAAK;QAAEa;MAAS,CAAC,GAAG,IAAI,CAACF,KAAK;MACtC,MAAM;QAAE1C;MAAc,CAAC,GAAG+B,KAAK,IAAI,CAAC,CAAC;MAErCa,QAAQ,CAAC;QACP,GAAGb,KAAK;QACR/B,aAAa,EAAE;UACb,GAAGA,aAAa;UAChB;UACAC,IAAI,EAAEA,IAAI,CAACC,GAAG,CAAC,CAAC;YAAEK,WAAW;YAAEF,QAAQ;YAAED,KAAK;YAAE,GAAGyC;UAAU,CAAC,KAAKA,SAAS;QAC9E;MACF,CAAC,CAAC;IACJ,CAAC;IAjBC,IAAI,CAACC,KAAK,GAAG;MACXX,UAAU,EAAE;IACd,CAAC;EACH;EAgBAY,iBAAiBA,CAAA,EAAG;IAClB,MAAMC,iBAAiB,GAAGtB,oBAAoB,CAAC,IAAI,CAACgB,KAAK,EAAE,IAAI,CAACA,KAAK,EAAE,IAAI,CAAC;IAE5E,IAAI,CAACO,QAAQ,CAAC;MACZd,UAAU,EACRa,iBAAiB,IAAIvC,yBAAyB,CAAC,IAAI,CAACiC,KAAK,CAACX,KAAK,CAAC/B,aAAa,CAACC,IAAI,EAAE,IAAI,CAACyC,KAAK,CAACX,KAAK,CAAC9B,IAAI;IAC7G,CAAC,CAAC;EACJ;EAEAiD,kBAAkBA,CAACtB,SAAS,EAAEC,SAAS,EAAE;IACvC,MAAMO,cAAc,GAAGV,oBAAoB,CAAC,IAAI,CAACgB,KAAK,EAAEd,SAAS,EAAEC,SAAS,CAAC;IAE7E,IAAIO,cAAc,IAAI,CAAC,IAAAe,iBAAO,EAACf,cAAc,EAAE,IAAI,CAACU,KAAK,CAACX,UAAU,CAAC,EAAE;MACrE,IAAI,CAACiB,UAAU,CAAChB,cAAc,CAAC;MAC/B,IAAI,CAACa,QAAQ,CAAC;QAAEd,UAAU,EAAEC;MAAe,CAAC,CAAC;IAC/C;EACF;EAEAiB,MAAMA,CAAA,EAAG;IACP,MAAM;MACJtB,KAAK;MACLuB,MAAM;MACNhE,KAAK;MACLiE,8BAA8B;MAC9BC,mBAAmB;MACnBC,aAAa,GAAG,CAAC,CAAC;MAClBC,kBAAkB,GAAG,CAAC;IACxB,CAAC,GAAG,IAAI,CAAChB,KAAK;IACd,MAAM;MAAEP;IAAW,CAAC,GAAG,IAAI,CAACW,KAAK;IAEjC,MAAM;MAAEa,MAAM,GAAG,CAAC,CAAC;MAAEC,KAAK,GAAG,CAAC;IAAE,CAAC,GAAG7B,KAAK,IAAI,CAAC,CAAC;IAC/C,MAAM;MAAE8B,cAAc;MAAEC;IAAgB,CAAC,GAAGN,mBAAmB,IAAI,CAAC,CAAC;IAErE,oBACEzG,KAAA,CAAAgH,aAAA,2BACEhH,KAAA,CAAAgH,aAAA,CAACjE,KAAK,QAAC,yBAA8B,CAAC,eACtC/C,KAAA,CAAAgH,aAAA,CAACpF,SAAS,qBACR5B,KAAA,CAAAgH,aAAA,CAAC7E,MAAM;MAAC8E,GAAG,EAAC;IAAO,gBACjBjH,KAAA,CAAAgH,aAAA,CAACxG,WAAA,CAAAW,OAAU;MAAC+F,SAAS,EAAC,KAAK;MAACC,IAAI,EAAC;IAAO,gBACtCnH,KAAA,CAAAgH,aAAA,eAAM,mDAAuD,CACnD,CAAC,EAEZF,cAAc,IAAIC,eAAe,gBAChC/G,KAAA,CAAAgH,aAAA,CAAC5E,UAAU;MAAC6E,GAAG,EAAE,0BAA0BjC,KAAK,CAAC/B,aAAa,CAACmE,IAAI;IAAG,gBACpEpH,KAAA,CAAAgH,aAAA,CAAC1G,SAAA,CAAA+G,KAAK;MACJC,SAAS,EAAEtC,KAAK,CAACsC,SAAU;MAC3BC,IAAI,EAAEvC,KAAK,CAACwC,KAAM;MAClBZ,MAAM,EAAEA,MAAO;MACfC,KAAK,EAAEA,KAAM;MACbN,MAAM,EAAEA,MAAO;MACfrD,IAAI,EAAEkC,UAAW;MACjBqC,KAAK,EAAEzC,KAAK,CAACyC,KAAM;MACnBC,YAAY,EAAE,IAAI,CAACrB,UAAW;MAC9BsB,kBAAkB,EAAE3C,KAAK,CAAC2C,kBAAmB;MAC7CC,oBAAoB,EAAEpB,8BAA+B;MACrDjE,KAAK,EAAEA,KAAM;MACbmE,aAAa,EAAEA,aAAc;MAC7BC,kBAAkB,EAAEA;IAAmB,CACxC,CACS,CAAC,gBAEb3G,KAAA,CAAAgH,aAAA;MAAKC,GAAG,EAAE,0BAA0BjC,KAAK,CAAC/B,aAAa,CAACmE,IAAI;IAAG,gBAC7DpH,KAAA,CAAAgH,aAAA,CAAC1G,SAAA,CAAA+G,KAAK;MACJC,SAAS,EAAEtC,KAAK,CAACsC,SAAU;MAC3BC,IAAI,EAAEvC,KAAK,CAACwC,KAAM;MAClBZ,MAAM,EAAEA,MAAO;MACfC,KAAK,EAAEA,KAAM;MACbN,MAAM,EAAEA,MAAO;MACfrD,IAAI,EAAEkC,UAAW;MACjBqC,KAAK,EAAEzC,KAAK,CAACyC,KAAM;MACnBC,YAAY,EAAE,IAAI,CAACrB,UAAW;MAC9BsB,kBAAkB,EAAE3C,KAAK,CAAC2C,kBAAmB;MAC7CC,oBAAoB,EAAEpB,8BAA+B;MACrDjE,KAAK,EAAEA,KAAM;MACbmE,aAAa,EAAEA,aAAc;MAC7BC,kBAAkB,EAAEA;IAAmB,CACxC,CACE,CACN,EAEA,CAACG,cAAc,IAAIC,eAAe,kBACjC/G,KAAA,CAAAgH,aAAA,CAACvE,SAAS;MAACyE,SAAS,EAAC,KAAK;MAACC,IAAI,EAAC;IAAO,gBACrCnH,KAAA,CAAAgH,aAAA,eAAOF,cAAc,IAAIC,eAAsB,CACtC,CAEP,CACC,CACR,CAAC;EAEV;AACF;AAACxB,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAAA,IAAAI,gBAAA,CAAAzE,OAAA,EAzHYqE,eAAe,eACP;EACjBiB,mBAAmB,EAAEoB,kBAAS,CAACC,MAAM;EACrCtB,8BAA8B,EAAEqB,kBAAS,CAACE,MAAM;EAChD/C,KAAK,EAAE6C,kBAAS,CAACC,MAAM,CAACE,UAAU;EAClCnC,QAAQ,EAAEgC,kBAAS,CAACI,IAAI,CAACD,UAAU;EACnCzB,MAAM,EAAEsB,kBAAS,CAACK,KAAK;EACvB3F,KAAK,EAAEsF,kBAAS,CAACE;AACnB,CAAC;AAAA,IAAAI,QAAA,GAAA5C,OAAA,CAAApE,OAAA,GAmHYqE,eAAe","ignoreList":[]}
@@ -1,233 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- /**
8
- * NOTE: There's no functionality described for graphTitle,
9
- * rationale, scoringType, studentInstructions, teacherInstructions
10
- * so there's no implementation (they are only added in model)
11
- */
12
- // const createCategory = (label, value) => ({
13
- // label,
14
- // value,
15
- // interactive: true,
16
- // editable: true
17
- // });
18
- var _default = exports.default = {
19
- model: {
20
- addCategoryEnabled: true,
21
- changeAddCategoryEnabled: false,
22
- changeEditableEnabled: false,
23
- changeInteractiveEnabled: false,
24
- chartType: 'lineCross',
25
- correctAnswer: {},
26
- data: [],
27
- domain: {},
28
- graph: {
29
- width: 480,
30
- height: 480
31
- },
32
- prompt: '',
33
- promptEnabled: true,
34
- range: {
35
- label: '',
36
- max: 1,
37
- min: 0,
38
- labelStep: 1
39
- },
40
- rationale: '',
41
- rationaleEnabled: true,
42
- scoringType: 'all or nothing',
43
- studentInstructionsEnabled: true,
44
- studentNewCategoryDefaultLabel: 'New Category',
45
- teacherInstructions: '',
46
- teacherInstructionsEnabled: true,
47
- title: ''
48
- },
49
- configuration: {
50
- baseInputConfiguration: {
51
- h3: {
52
- disabled: true
53
- },
54
- audio: {
55
- disabled: false
56
- },
57
- video: {
58
- disabled: false
59
- },
60
- image: {
61
- disabled: false
62
- },
63
- textAlign: {
64
- disabled: true
65
- },
66
- showParagraphs: {
67
- disabled: false
68
- },
69
- separateParagraphs: {
70
- disabled: true
71
- }
72
- },
73
- spellCheck: {
74
- label: 'Spellcheck',
75
- settings: false,
76
- enabled: true
77
- },
78
- chartDimensions: {
79
- settings: false,
80
- label: 'Chart Dimensions',
81
- showInConfigPanel: true,
82
- width: {
83
- min: 50,
84
- max: 700,
85
- step: 20
86
- },
87
- height: {
88
- min: 400,
89
- max: 700,
90
- step: 20
91
- }
92
- },
93
- authorNewCategoryDefaults: {
94
- settings: false,
95
- label: 'Category',
96
- interactive: true,
97
- editable: false
98
- },
99
- availableChartTypes: {
100
- bar: 'Bar Chart',
101
- histogram: 'Histogram',
102
- lineDot: 'Line Chart ●',
103
- lineCross: 'Line Chart x',
104
- dotPlot: 'Dot/Line Plot ⬤',
105
- linePlot: 'Dot/Line Plot X'
106
- },
107
- chartTypeLabel: 'ChartType',
108
- studentNewCategoryDefaultLabel: {
109
- settings: false,
110
- label: 'Category'
111
- },
112
- prompt: {
113
- settings: true,
114
- label: 'Item Stem',
115
- required: false,
116
- inputConfiguration: {
117
- audio: {
118
- disabled: false
119
- },
120
- video: {
121
- disabled: false
122
- },
123
- image: {
124
- disabled: false
125
- }
126
- }
127
- },
128
- rationale: {
129
- settings: true,
130
- label: 'Rationale',
131
- required: false,
132
- inputConfiguration: {
133
- audio: {
134
- disabled: false
135
- },
136
- video: {
137
- disabled: false
138
- },
139
- image: {
140
- disabled: false
141
- }
142
- }
143
- },
144
- scoringType: {
145
- settings: false,
146
- label: 'Scoring Type'
147
- },
148
- settingsPanelDisabled: false,
149
- studentInstructions: {
150
- settings: false,
151
- label: 'Student Instructions'
152
- },
153
- teacherInstructions: {
154
- settings: true,
155
- label: 'Teacher Instructions',
156
- required: false,
157
- inputConfiguration: {
158
- audio: {
159
- disabled: false
160
- },
161
- video: {
162
- disabled: false
163
- },
164
- image: {
165
- disabled: false
166
- }
167
- }
168
- },
169
- title: {
170
- settings: false,
171
- label: 'Chart Title'
172
- },
173
- instruction: {
174
- settings: false,
175
- label: 'This item type provides various types of interactive charts. Depending upon how an item is configured,\n' + ' students can change the heights of bars (or other similar chart elements) created by the author; relabel bars\n' + ' created by the author; and/or add new bars, label them, and set their heights.'
176
- },
177
- titlePlaceholder: {
178
- settings: false,
179
- label: 'Click here to add a title'
180
- },
181
- labelsPlaceholders: {
182
- left: 'Click here to add a label for this axis',
183
- right: '',
184
- top: '',
185
- bottom: 'Click here to add a label for this axis'
186
- },
187
- maxImageWidth: {
188
- teacherInstructions: 300,
189
- prompt: 300,
190
- rationale: 300
191
- },
192
- maxImageHeight: {
193
- teacherInstructions: 300,
194
- prompt: 300,
195
- rationale: 300
196
- },
197
- withRubric: {
198
- settings: false,
199
- label: 'Add Rubric'
200
- },
201
- language: {
202
- settings: false,
203
- label: 'Specify Language',
204
- enabled: false
205
- },
206
- languageChoices: {
207
- label: 'Language Choices',
208
- options: []
209
- },
210
- chartingOptions: {
211
- changeInteractive: {
212
- settings: false,
213
- authoringLabel: 'Student can set value',
214
- settingsLabel: 'Allow non-interactive categories'
215
- },
216
- changeEditable: {
217
- settings: false,
218
- authoringLabel: 'Student can edit name',
219
- settingsLabel: 'Allow editable category names'
220
- },
221
- addCategory: {
222
- settings: false,
223
- authoringLabel: 'Student can add categories',
224
- settingsLabel: 'Allow changes to whether students can add categories'
225
- },
226
- mathMlOptions: {
227
- mmlOutput: false,
228
- mmlEditing: false
229
- }
230
- }
231
- }
232
- };
233
- //# sourceMappingURL=defaults.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaults.js","names":["_default","exports","default","model","addCategoryEnabled","changeAddCategoryEnabled","changeEditableEnabled","changeInteractiveEnabled","chartType","correctAnswer","data","domain","graph","width","height","prompt","promptEnabled","range","label","max","min","labelStep","rationale","rationaleEnabled","scoringType","studentInstructionsEnabled","studentNewCategoryDefaultLabel","teacherInstructions","teacherInstructionsEnabled","title","configuration","baseInputConfiguration","h3","disabled","audio","video","image","textAlign","showParagraphs","separateParagraphs","spellCheck","settings","enabled","chartDimensions","showInConfigPanel","step","authorNewCategoryDefaults","interactive","editable","availableChartTypes","bar","histogram","lineDot","lineCross","dotPlot","linePlot","chartTypeLabel","required","inputConfiguration","settingsPanelDisabled","studentInstructions","instruction","titlePlaceholder","labelsPlaceholders","left","right","top","bottom","maxImageWidth","maxImageHeight","withRubric","language","languageChoices","options","chartingOptions","changeInteractive","authoringLabel","settingsLabel","changeEditable","addCategory","mathMlOptions","mmlOutput","mmlEditing"],"sources":["../src/defaults.js"],"sourcesContent":["/**\n * NOTE: There's no functionality described for graphTitle,\n * rationale, scoringType, studentInstructions, teacherInstructions\n * so there's no implementation (they are only added in model)\n */\n\n// const createCategory = (label, value) => ({\n// label,\n// value,\n// interactive: true,\n// editable: true\n// });\n\nexport default {\n model: {\n addCategoryEnabled: true,\n changeAddCategoryEnabled: false,\n changeEditableEnabled: false,\n changeInteractiveEnabled: false,\n chartType: 'lineCross',\n correctAnswer: {},\n data: [],\n domain: {},\n graph: { width: 480, height: 480 },\n prompt: '',\n promptEnabled: true,\n range: { label: '', max: 1, min: 0, labelStep: 1 },\n rationale: '',\n rationaleEnabled: true,\n scoringType: 'all or nothing',\n studentInstructionsEnabled: true,\n studentNewCategoryDefaultLabel: 'New Category',\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n title: '',\n },\n configuration: {\n baseInputConfiguration: {\n h3: { disabled: true },\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n chartDimensions: {\n settings: false,\n label: 'Chart Dimensions',\n showInConfigPanel: true,\n width: {\n min: 50,\n max: 700,\n step: 20,\n },\n height: {\n min: 400,\n max: 700,\n step: 20,\n },\n },\n authorNewCategoryDefaults: {\n settings: false,\n label: 'Category',\n interactive: true,\n editable: false,\n },\n availableChartTypes: {\n bar: 'Bar Chart',\n histogram: 'Histogram',\n lineDot: 'Line Chart ●',\n lineCross: 'Line Chart x',\n dotPlot: 'Dot/Line Plot ⬤',\n linePlot: 'Dot/Line Plot X',\n },\n chartTypeLabel: 'ChartType',\n studentNewCategoryDefaultLabel: {\n settings: false,\n label: 'Category',\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 scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n settingsPanelDisabled: false,\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\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 settings: false,\n label: 'Chart Title',\n },\n instruction: {\n settings: false,\n label:\n 'This item type provides various types of interactive charts. Depending upon how an item is configured,\\n' +\n ' students can change the heights of bars (or other similar chart elements) created by the author; relabel bars\\n' +\n ' created by the author; and/or add new bars, label them, and set their heights.',\n },\n titlePlaceholder: {\n settings: false,\n label: 'Click here to add a title',\n },\n labelsPlaceholders: {\n left: 'Click here to add a label for this axis',\n right: '',\n top: '',\n bottom: 'Click here to add a label for this axis',\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n chartingOptions: {\n changeInteractive: {\n settings: false,\n authoringLabel: 'Student can set value',\n settingsLabel: 'Allow non-interactive categories',\n },\n changeEditable: {\n settings: false,\n authoringLabel: 'Student can edit name',\n settingsLabel: 'Allow editable category names',\n },\n addCategory: {\n settings: false,\n authoringLabel: 'Student can add categories',\n settingsLabel: 'Allow changes to whether students can add categories',\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n },\n },\n};\n"],"mappings":"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","ignoreList":[]}