@pie-element/charting 6.0.1-next.47 → 6.0.1-next.62

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.
@@ -54,7 +54,8 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
54
54
  var log = (0, _debug["default"])('@pie-element:graphing:configure');
55
55
  var Panel = _configUi.settings.Panel,
56
56
  toggle = _configUi.settings.toggle,
57
- radio = _configUi.settings.radio;
57
+ radio = _configUi.settings.radio,
58
+ dropdown = _configUi.settings.dropdown;
58
59
 
59
60
  var styles = function styles(theme) {
60
61
  return {
@@ -203,7 +204,11 @@ var Configure = /*#__PURE__*/function (_React$Component) {
203
204
  availableChartTypes = _ref2$availableChartT === void 0 ? {} : _ref2$availableChartT,
204
205
  _ref2$mathMlOptions = _ref2.mathMlOptions,
205
206
  mathMlOptions = _ref2$mathMlOptions === void 0 ? {} : _ref2$mathMlOptions,
206
- chartTypeLabel = _ref2.chartTypeLabel;
207
+ chartTypeLabel = _ref2.chartTypeLabel,
208
+ _ref2$language = _ref2.language,
209
+ language = _ref2$language === void 0 ? {} : _ref2$language,
210
+ _ref2$languageChoices = _ref2.languageChoices,
211
+ languageChoices = _ref2$languageChoices === void 0 ? {} : _ref2$languageChoices;
207
212
 
208
213
  var _ref3 = model || {},
209
214
  errors = _ref3.errors,
@@ -235,7 +240,9 @@ var Configure = /*#__PURE__*/function (_React$Component) {
235
240
  spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
236
241
  promptEnabled: prompt.settings && toggle(prompt.label),
237
242
  scoringType: scoringType.settings && radio(scoringType.label, ['all or nothing', 'partial scoring']),
238
- rubricEnabled: (withRubric === null || withRubric === void 0 ? void 0 : withRubric.settings) && toggle(withRubric === null || withRubric === void 0 ? void 0 : withRubric.label)
243
+ rubricEnabled: (withRubric === null || withRubric === void 0 ? void 0 : withRubric.settings) && toggle(withRubric === null || withRubric === void 0 ? void 0 : withRubric.label),
244
+ 'language.enabled': language.settings && toggle(language.label, true),
245
+ language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options)
239
246
  };
240
247
  return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
241
248
  dimensions: contentDimensions,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/configure.jsx"],"names":["log","Panel","settings","toggle","radio","styles","theme","title","fontSize","display","marginTop","spacing","unit","marginBottom","promptHolder","width","paddingTop","description","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","maxImageWidth","maxImageHeight","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","titlePlaceholder","withRubric","chartingOptions","availableChartTypes","mathMlOptions","chartTypeLabel","errors","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","studentNewCategoryDefaultLabel","categoryErrors","correctAnswerErrors","showPixeGuides","showInConfigPanel","defaultImageMaxWidth","defaultImageMaxHeight","panelItemType","changeInteractiveEnabled","changeInteractive","settingsLabel","changeEditableEnabled","changeEditable","changeAddCategoryEnabled","addCategory","panelProperties","label","studentInstructionsEnabled","rubricEnabled","Settings","Properties","onTeacherInstructionsChange","language","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/charting';\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@material-ui/core/Typography';\nimport EditableHtml from '@pie-lib/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 } = 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});\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 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 } = configuration || {};\n const { errors, promptEnabled, rationaleEnabled, spellCheckEnabled, teacherInstructionsEnabled, studentNewCategoryDefaultLabel } = model || {};\n const { categoryErrors, correctAnswerErrors } = 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 };\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 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.\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 spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\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 </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 spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
1
+ {"version":3,"sources":["../src/configure.jsx"],"names":["log","Panel","settings","toggle","radio","dropdown","styles","theme","title","fontSize","display","marginTop","spacing","unit","marginBottom","promptHolder","width","paddingTop","description","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","maxImageWidth","maxImageHeight","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","titlePlaceholder","withRubric","chartingOptions","availableChartTypes","mathMlOptions","chartTypeLabel","language","languageChoices","errors","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","studentNewCategoryDefaultLabel","categoryErrors","correctAnswerErrors","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/charting';\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@material-ui/core/Typography';\nimport EditableHtml from '@pie-lib/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 } = 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});\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 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 { errors, promptEnabled, rationaleEnabled, spellCheckEnabled, teacherInstructionsEnabled, studentNewCategoryDefaultLabel } = model || {};\n const { categoryErrors, correctAnswerErrors } = 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 };\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 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.\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 spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\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 </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 spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
@@ -134,6 +134,15 @@ var _default = {
134
134
  settings: false,
135
135
  label: 'Add Rubric'
136
136
  },
137
+ language: {
138
+ settings: false,
139
+ label: 'Specify Language',
140
+ enabled: false
141
+ },
142
+ languageChoices: {
143
+ label: 'Language Choices',
144
+ options: []
145
+ },
137
146
  chartingOptions: {
138
147
  changeInteractive: {
139
148
  settings: false,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["model","addCategoryEnabled","chartType","correctAnswer","data","domain","graph","width","height","prompt","promptEnabled","rationale","range","label","max","min","scoringType","title","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","studentNewCategoryDefaultLabel","changeInteractiveEnabled","changeEditableEnabled","changeAddCategoryEnabled","configuration","spellCheck","settings","enabled","chartDimensions","showInConfigPanel","step","authorNewCategoryDefaults","interactive","editable","availableChartTypes","bar","histogram","lineDot","lineCross","dotPlot","linePlot","chartTypeLabel","settingsPanelDisabled","studentInstructions","teacherInstructions","titlePlaceholder","labelsPlaceholders","left","right","top","bottom","maxImageWidth","maxImageHeight","withRubric","chartingOptions","changeInteractive","authoringLabel","settingsLabel","changeEditable","addCategory","mathMlOptions","mmlOutput","mmlEditing"],"mappings":"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","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 chartType: 'lineCross',\n correctAnswer: {},\n data: [],\n domain: {},\n graph: {\n width: 480,\n height: 480,\n },\n prompt: '',\n promptEnabled: true,\n rationale: '',\n range: {\n label: '',\n max: 1,\n min: 0,\n },\n scoringType: 'all or nothing',\n title: '',\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n studentNewCategoryDefaultLabel: 'New Category',\n changeInteractiveEnabled: true,\n changeEditableEnabled: true,\n changeAddCategoryEnabled: true,\n },\n configuration: {\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 },\n rationale: {\n settings: true,\n label: 'Rationale',\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 },\n title: {\n settings: false,\n label: 'Chart Title',\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 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"],"file":"defaults.js"}
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["model","addCategoryEnabled","chartType","correctAnswer","data","domain","graph","width","height","prompt","promptEnabled","rationale","range","label","max","min","scoringType","title","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","studentNewCategoryDefaultLabel","changeInteractiveEnabled","changeEditableEnabled","changeAddCategoryEnabled","configuration","spellCheck","settings","enabled","chartDimensions","showInConfigPanel","step","authorNewCategoryDefaults","interactive","editable","availableChartTypes","bar","histogram","lineDot","lineCross","dotPlot","linePlot","chartTypeLabel","settingsPanelDisabled","studentInstructions","teacherInstructions","titlePlaceholder","labelsPlaceholders","left","right","top","bottom","maxImageWidth","maxImageHeight","withRubric","language","languageChoices","options","chartingOptions","changeInteractive","authoringLabel","settingsLabel","changeEditable","addCategory","mathMlOptions","mmlOutput","mmlEditing"],"mappings":"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","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 chartType: 'lineCross',\n correctAnswer: {},\n data: [],\n domain: {},\n graph: {\n width: 480,\n height: 480,\n },\n prompt: '',\n promptEnabled: true,\n rationale: '',\n range: {\n label: '',\n max: 1,\n min: 0,\n },\n scoringType: 'all or nothing',\n title: '',\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n studentNewCategoryDefaultLabel: 'New Category',\n changeInteractiveEnabled: true,\n changeEditableEnabled: true,\n changeAddCategoryEnabled: true,\n },\n configuration: {\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 },\n rationale: {\n settings: true,\n label: 'Rationale',\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 },\n title: {\n settings: false,\n label: 'Chart Title',\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"],"file":"defaults.js"}
@@ -215,7 +215,8 @@ function model(question, session, env) {
215
215
  teacherInstructionsEnabled = normalizedQuestion.teacherInstructionsEnabled,
216
216
  correctAnswer = normalizedQuestion.correctAnswer,
217
217
  scoringType = normalizedQuestion.scoringType,
218
- studentNewCategoryDefaultLabel = normalizedQuestion.studentNewCategoryDefaultLabel;
218
+ studentNewCategoryDefaultLabel = normalizedQuestion.studentNewCategoryDefaultLabel,
219
+ language = normalizedQuestion.language;
219
220
  var correctInfo = {
220
221
  correctness: 'incorrect',
221
222
  score: '0%'
@@ -234,7 +235,8 @@ function model(question, session, env) {
234
235
  correctness: correctInfo,
235
236
  disabled: env.mode !== 'gather',
236
237
  scoringType: scoringType,
237
- studentNewCategoryDefaultLabel: studentNewCategoryDefaultLabel
238
+ studentNewCategoryDefaultLabel: studentNewCategoryDefaultLabel,
239
+ language: language
238
240
  };
239
241
  var answers = filterCategories(getScore(normalizedQuestion, session, env).answers);
240
242
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","lowerCase","string","toLowerCase","checkLabelsEquality","givenAnswerLabel","correctAnswerLabel","setCorrectness","answers","partialScoring","map","answer","correctness","value","label","normalize","question","addCategoryEnabled","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","getScore","session","env","correctAnswer","data","initialData","scoringType","isPartialScoring","enabled","undefined","correctAnswers","defaultAnswers","filterCategories","result","maxScore","score","scoreForLabelAndValueEditable","corrAnswer","forEach","index","defaultAnswer","editable","interactive","length","slice","parseFloat","toFixed","categories","deletable","rest","model","Promise","resolve","normalizedQuestion","chartType","domain","graph","prompt","range","rationale","title","teacherInstructions","studentNewCategoryDefaultLabel","correctInfo","base","size","disabled","mode","correctedAnswer","role","outcome","empty","createCorrectResponseSession","id","validate","correctData","errors","correctAnswerErrors","categoryErrors","category","identicalAnswer","some","c","categoriesError","identicalError"],"mappings":"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","sourcesContent":["import debug from 'debug';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport pick from 'lodash/pick';\n\nimport { partialScoring } from '@pie-lib/controller-utils';\n\nconst log = debug('@pie-element:graphing:controller');\n\nconst lowerCase = (string) => (string || '').toLowerCase();\n\nexport const checkLabelsEquality = (givenAnswerLabel, correctAnswerLabel) =>\n lowerCase(givenAnswerLabel) === lowerCase(correctAnswerLabel);\n\nexport const setCorrectness = (answers, partialScoring) =>\n answers\n ? answers.map((answer) => ({\n ...answer,\n correctness: {\n value: partialScoring ? 'incorrect' : 'correct',\n label: partialScoring ? 'incorrect' : 'correct',\n },\n }))\n : [];\n\nexport const normalize = (question) => ({\n addCategoryEnabled: true,\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n ...question,\n});\n\nexport const getScore = (question, session, env = {}) => {\n const { correctAnswer, data: initialData = [], scoringType } = question;\n\n const isPartialScoring = partialScoring.enabled(\n { partialScoring: scoringType !== undefined ? scoringType === 'partial scoring' : scoringType },\n env,\n );\n\n const { data: correctAnswers = [] } = correctAnswer || {};\n const defaultAnswers = filterCategories(initialData);\n\n let answers = setCorrectness((session && session.answer) || defaultAnswers, isPartialScoring);\n\n let result = 0;\n\n if (isPartialScoring) {\n // if score type is \"partial scoring\"\n // maxScore is calculated based on the correct response\n // score is calculated based on the given response\n let maxScore = 0;\n let score = 0;\n\n const scoreForLabelAndValueEditable = (answer, corrAnswer) => {\n const { value, label } = answer;\n\n maxScore += 2;\n\n if (value === corrAnswer.value) {\n score += 1;\n answer.correctness.value = 'correct';\n }\n\n if (checkLabelsEquality(label, corrAnswer.label)) {\n score += 1;\n answer.correctness.label = 'correct';\n }\n };\n\n // if given answer has more categories than the correct answers, the \"extra\" will be ignored\n correctAnswers.forEach((corrAnswer, index) => {\n const defaultAnswer = defaultAnswers[index];\n const answer = answers[index];\n\n // if there is a corresponding category at the same position in the given answer\n if (answer) {\n // if there is a corresponding category at the same position in the default answer\n if (defaultAnswer) {\n // if category's label (in default answer) was not editable\n // it means that this category values only one point (only the value can be changed)\n if (!defaultAnswer.editable && answer.interactive) {\n maxScore += 1;\n\n if (answer.value === corrAnswer.value) {\n score += 1;\n answer.correctness.value = 'correct';\n }\n answer.correctness.label = 'correct';\n\n // if category's label (in default answer) was editable\n // it means that this category values 2 points (both label and value can be changed)\n } else if (defaultAnswer.editable && answer.interactive) {\n scoreForLabelAndValueEditable(answer, corrAnswer);\n } else if (!answer.interactive) {\n answer.correctness.value = 'correct';\n answer.correctness.label = 'correct';\n }\n } else {\n // if there is not a corresponding category at the same position in the default answer\n scoreForLabelAndValueEditable(answer, corrAnswer);\n }\n } else {\n // if there is not a corresponding category at the same position in the given answer\n // it means that the given answer has less categories than the correct answer\n maxScore += 2;\n }\n });\n\n result = maxScore ? score / maxScore : 0;\n } else {\n // if scoring type is \"all or nothing\"\n // the length on correct answers and length of given answer have to match\n result = correctAnswers.length === answers.length ? 1 : 0;\n\n if (result) {\n // if there is at least one difference between the correct answer and the given answer\n // the result will be incorrect\n correctAnswers.forEach((corrAnswer, index) => {\n const { value, label } = answers[index];\n\n if (value !== corrAnswer.value) {\n result = 0;\n answers[index].correctness.value = 'incorrect';\n }\n if (lowerCase(label) !== lowerCase(corrAnswer.label)) {\n result = 0;\n answers[index].correctness.label = 'incorrect';\n }\n });\n } else {\n answers = [\n ...answers.slice(0, correctAnswers.length),\n ...setCorrectness(answers.slice(correctAnswers.length), true),\n ];\n }\n }\n\n return {\n score: parseFloat(result.toFixed(2)),\n answers,\n };\n};\n\n// eslint-disable-next-line no-unused-vars\nexport const filterCategories = (categories) => (categories ? categories.map(({ deletable, ...rest }) => rest) : []);\n\nexport function model(question, session, env) {\n return new Promise((resolve) => {\n const normalizedQuestion = normalize(question);\n const {\n addCategoryEnabled,\n chartType,\n data,\n domain,\n graph,\n prompt,\n promptEnabled,\n range,\n rationale,\n title,\n rationaleEnabled,\n teacherInstructions,\n teacherInstructionsEnabled,\n correctAnswer,\n scoringType,\n studentNewCategoryDefaultLabel,\n } = normalizedQuestion;\n\n const correctInfo = { correctness: 'incorrect', score: '0%' };\n\n const base = {\n addCategoryEnabled,\n chartType,\n data: filterCategories(data),\n domain,\n graph,\n prompt: promptEnabled ? prompt : null,\n range,\n rationale,\n title,\n size: graph,\n correctness: correctInfo,\n disabled: env.mode !== 'gather',\n scoringType,\n studentNewCategoryDefaultLabel,\n };\n\n const answers = filterCategories(getScore(normalizedQuestion, session, env).answers);\n\n if (env.mode === 'view') {\n // eslint-disable-next-line no-unused-vars\n base.correctedAnswer = answers.map(({ correctness, ...rest }) => {\n return { ...rest, interactive: false };\n });\n\n base.addCategoryEnabled = false;\n }\n\n if (env.mode === 'evaluate') {\n base.correctedAnswer = answers;\n base.correctAnswer = correctAnswer;\n base.addCategoryEnabled = false;\n }\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n base.rationale = rationaleEnabled ? rationale : null;\n base.teacherInstructions = teacherInstructionsEnabled ? teacherInstructions : null;\n } else {\n base.rationale = null;\n base.teacherInstructions = null;\n }\n\n log('base: ', base);\n resolve(base);\n });\n}\n\nexport function outcome(model, session, env) {\n return new Promise((resolve) => {\n resolve({\n score: getScore(model, session, env).score,\n empty: !session || isEmpty(session),\n });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { correctAnswer } = question;\n\n let answers = correctAnswer && correctAnswer.data;\n\n // for IBX preview mode\n if (env.mode === 'gather') {\n const { data } = question;\n\n answers = ((correctAnswer && correctAnswer.data) || []).map((answer, index) => {\n return {\n ...data[index],\n ...answer,\n };\n });\n }\n\n resolve({\n answer: answers,\n id: '1',\n });\n } else {\n return resolve(null);\n }\n });\n};\n\nexport const validate = (model = {}) => {\n const { correctAnswer, data } = model || {};\n const { data: correctData } = correctAnswer || {};\n const categories = correctData || [];\n\n const errors = {};\n const correctAnswerErrors = {};\n const categoryErrors = {};\n\n categories.forEach((category, index) => {\n const { label } = category;\n\n if (label === '' || label === '<div></div>') {\n categoryErrors[index] = 'Content should not be empty.';\n } else {\n const identicalAnswer = categories.slice(index + 1).some((c) => c.label === label);\n\n if (identicalAnswer) {\n categoryErrors[index + 1] = 'Content should be unique.';\n }\n }\n });\n\n if (categories.length < 1 || categories.length > 20) {\n correctAnswerErrors.categoriesError = 'The correct answer should include between 1 and 20 categories.';\n } else if (\n isEqual(\n data.map((category) => pick(category, 'value', 'label')),\n correctData.map((category) => pick(category, 'value', 'label')),\n )\n ) {\n correctAnswerErrors.identicalError = 'Correct answer should not be identical to the chart’s initial state';\n }\n\n if (!isEmpty(categoryErrors)) {\n errors.categoryErrors = categoryErrors;\n }\n\n if (!isEmpty(correctAnswerErrors)) {\n errors.correctAnswerErrors = correctAnswerErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","lowerCase","string","toLowerCase","checkLabelsEquality","givenAnswerLabel","correctAnswerLabel","setCorrectness","answers","partialScoring","map","answer","correctness","value","label","normalize","question","addCategoryEnabled","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","getScore","session","env","correctAnswer","data","initialData","scoringType","isPartialScoring","enabled","undefined","correctAnswers","defaultAnswers","filterCategories","result","maxScore","score","scoreForLabelAndValueEditable","corrAnswer","forEach","index","defaultAnswer","editable","interactive","length","slice","parseFloat","toFixed","categories","deletable","rest","model","Promise","resolve","normalizedQuestion","chartType","domain","graph","prompt","range","rationale","title","teacherInstructions","studentNewCategoryDefaultLabel","language","correctInfo","base","size","disabled","mode","correctedAnswer","role","outcome","empty","createCorrectResponseSession","id","validate","correctData","errors","correctAnswerErrors","categoryErrors","category","identicalAnswer","some","c","categoriesError","identicalError"],"mappings":"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","sourcesContent":["import debug from 'debug';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport pick from 'lodash/pick';\n\nimport { partialScoring } from '@pie-lib/controller-utils';\n\nconst log = debug('@pie-element:graphing:controller');\n\nconst lowerCase = (string) => (string || '').toLowerCase();\n\nexport const checkLabelsEquality = (givenAnswerLabel, correctAnswerLabel) =>\n lowerCase(givenAnswerLabel) === lowerCase(correctAnswerLabel);\n\nexport const setCorrectness = (answers, partialScoring) =>\n answers\n ? answers.map((answer) => ({\n ...answer,\n correctness: {\n value: partialScoring ? 'incorrect' : 'correct',\n label: partialScoring ? 'incorrect' : 'correct',\n },\n }))\n : [];\n\nexport const normalize = (question) => ({\n addCategoryEnabled: true,\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n ...question,\n});\n\nexport const getScore = (question, session, env = {}) => {\n const { correctAnswer, data: initialData = [], scoringType } = question;\n\n const isPartialScoring = partialScoring.enabled(\n { partialScoring: scoringType !== undefined ? scoringType === 'partial scoring' : scoringType },\n env,\n );\n\n const { data: correctAnswers = [] } = correctAnswer || {};\n const defaultAnswers = filterCategories(initialData);\n\n let answers = setCorrectness((session && session.answer) || defaultAnswers, isPartialScoring);\n\n let result = 0;\n\n if (isPartialScoring) {\n // if score type is \"partial scoring\"\n // maxScore is calculated based on the correct response\n // score is calculated based on the given response\n let maxScore = 0;\n let score = 0;\n\n const scoreForLabelAndValueEditable = (answer, corrAnswer) => {\n const { value, label } = answer;\n\n maxScore += 2;\n\n if (value === corrAnswer.value) {\n score += 1;\n answer.correctness.value = 'correct';\n }\n\n if (checkLabelsEquality(label, corrAnswer.label)) {\n score += 1;\n answer.correctness.label = 'correct';\n }\n };\n\n // if given answer has more categories than the correct answers, the \"extra\" will be ignored\n correctAnswers.forEach((corrAnswer, index) => {\n const defaultAnswer = defaultAnswers[index];\n const answer = answers[index];\n\n // if there is a corresponding category at the same position in the given answer\n if (answer) {\n // if there is a corresponding category at the same position in the default answer\n if (defaultAnswer) {\n // if category's label (in default answer) was not editable\n // it means that this category values only one point (only the value can be changed)\n if (!defaultAnswer.editable && answer.interactive) {\n maxScore += 1;\n\n if (answer.value === corrAnswer.value) {\n score += 1;\n answer.correctness.value = 'correct';\n }\n answer.correctness.label = 'correct';\n\n // if category's label (in default answer) was editable\n // it means that this category values 2 points (both label and value can be changed)\n } else if (defaultAnswer.editable && answer.interactive) {\n scoreForLabelAndValueEditable(answer, corrAnswer);\n } else if (!answer.interactive) {\n answer.correctness.value = 'correct';\n answer.correctness.label = 'correct';\n }\n } else {\n // if there is not a corresponding category at the same position in the default answer\n scoreForLabelAndValueEditable(answer, corrAnswer);\n }\n } else {\n // if there is not a corresponding category at the same position in the given answer\n // it means that the given answer has less categories than the correct answer\n maxScore += 2;\n }\n });\n\n result = maxScore ? score / maxScore : 0;\n } else {\n // if scoring type is \"all or nothing\"\n // the length on correct answers and length of given answer have to match\n result = correctAnswers.length === answers.length ? 1 : 0;\n\n if (result) {\n // if there is at least one difference between the correct answer and the given answer\n // the result will be incorrect\n correctAnswers.forEach((corrAnswer, index) => {\n const { value, label } = answers[index];\n\n if (value !== corrAnswer.value) {\n result = 0;\n answers[index].correctness.value = 'incorrect';\n }\n if (lowerCase(label) !== lowerCase(corrAnswer.label)) {\n result = 0;\n answers[index].correctness.label = 'incorrect';\n }\n });\n } else {\n answers = [\n ...answers.slice(0, correctAnswers.length),\n ...setCorrectness(answers.slice(correctAnswers.length), true),\n ];\n }\n }\n\n return {\n score: parseFloat(result.toFixed(2)),\n answers,\n };\n};\n\n// eslint-disable-next-line no-unused-vars\nexport const filterCategories = (categories) => (categories ? categories.map(({ deletable, ...rest }) => rest) : []);\n\nexport function model(question, session, env) {\n return new Promise((resolve) => {\n const normalizedQuestion = normalize(question);\n const {\n addCategoryEnabled,\n chartType,\n data,\n domain,\n graph,\n prompt,\n promptEnabled,\n range,\n rationale,\n title,\n rationaleEnabled,\n teacherInstructions,\n teacherInstructionsEnabled,\n correctAnswer,\n scoringType,\n studentNewCategoryDefaultLabel,\n language\n } = normalizedQuestion;\n\n const correctInfo = { correctness: 'incorrect', score: '0%' };\n\n const base = {\n addCategoryEnabled,\n chartType,\n data: filterCategories(data),\n domain,\n graph,\n prompt: promptEnabled ? prompt : null,\n range,\n rationale,\n title,\n size: graph,\n correctness: correctInfo,\n disabled: env.mode !== 'gather',\n scoringType,\n studentNewCategoryDefaultLabel,\n language\n };\n\n const answers = filterCategories(getScore(normalizedQuestion, session, env).answers);\n\n if (env.mode === 'view') {\n // eslint-disable-next-line no-unused-vars\n base.correctedAnswer = answers.map(({ correctness, ...rest }) => {\n return { ...rest, interactive: false };\n });\n\n base.addCategoryEnabled = false;\n }\n\n if (env.mode === 'evaluate') {\n base.correctedAnswer = answers;\n base.correctAnswer = correctAnswer;\n base.addCategoryEnabled = false;\n }\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n base.rationale = rationaleEnabled ? rationale : null;\n base.teacherInstructions = teacherInstructionsEnabled ? teacherInstructions : null;\n } else {\n base.rationale = null;\n base.teacherInstructions = null;\n }\n\n log('base: ', base);\n resolve(base);\n });\n}\n\nexport function outcome(model, session, env) {\n return new Promise((resolve) => {\n resolve({\n score: getScore(model, session, env).score,\n empty: !session || isEmpty(session),\n });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { correctAnswer } = question;\n\n let answers = correctAnswer && correctAnswer.data;\n\n // for IBX preview mode\n if (env.mode === 'gather') {\n const { data } = question;\n\n answers = ((correctAnswer && correctAnswer.data) || []).map((answer, index) => {\n return {\n ...data[index],\n ...answer,\n };\n });\n }\n\n resolve({\n answer: answers,\n id: '1',\n });\n } else {\n return resolve(null);\n }\n });\n};\n\nexport const validate = (model = {}) => {\n const { correctAnswer, data } = model || {};\n const { data: correctData } = correctAnswer || {};\n const categories = correctData || [];\n\n const errors = {};\n const correctAnswerErrors = {};\n const categoryErrors = {};\n\n categories.forEach((category, index) => {\n const { label } = category;\n\n if (label === '' || label === '<div></div>') {\n categoryErrors[index] = 'Content should not be empty.';\n } else {\n const identicalAnswer = categories.slice(index + 1).some((c) => c.label === label);\n\n if (identicalAnswer) {\n categoryErrors[index + 1] = 'Content should be unique.';\n }\n }\n });\n\n if (categories.length < 1 || categories.length > 20) {\n correctAnswerErrors.categoriesError = 'The correct answer should include between 1 and 20 categories.';\n } else if (\n isEqual(\n data.map((category) => pick(category, 'value', 'label')),\n correctData.map((category) => pick(category, 'value', 'label')),\n )\n ) {\n correctAnswerErrors.identicalError = 'Correct answer should not be identical to the chart’s initial state';\n }\n\n if (!isEmpty(categoryErrors)) {\n errors.categoryErrors = categoryErrors;\n }\n\n if (!isEmpty(correctAnswerErrors)) {\n errors.correctAnswerErrors = correctAnswerErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
@@ -400,6 +400,66 @@
400
400
  "type": "string",
401
401
  "title": "chartTypeLabel"
402
402
  },
403
+ "language": {
404
+ "title": "ConfigurePropWithEnabled",
405
+ "type": "object",
406
+ "properties": {
407
+ "settings": {
408
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
409
+ "type": "boolean",
410
+ "title": "settings"
411
+ },
412
+ "label": {
413
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
414
+ "type": "string",
415
+ "title": "label"
416
+ },
417
+ "enabled": {
418
+ "description": "Indicates the value of the item if it affects config-ui\n(eg.: if item is a switch and displaying an input on the config-ui depends on the switch value: on/off)",
419
+ "type": "boolean",
420
+ "title": "enabled"
421
+ }
422
+ }
423
+ },
424
+ "languageChoices": {
425
+ "description": "Language choices configuration\nOnly available if language is enabled",
426
+ "type": "object",
427
+ "properties": {
428
+ "label": {
429
+ "type": "string",
430
+ "title": "label"
431
+ },
432
+ "options": {
433
+ "type": "array",
434
+ "items": {
435
+ "title": "ConfigureLanguageOptionsProp",
436
+ "type": "object",
437
+ "properties": {
438
+ "value": {
439
+ "description": "Value of the language option",
440
+ "type": "string",
441
+ "title": "value"
442
+ },
443
+ "label": {
444
+ "description": "Label of the language option",
445
+ "type": "string",
446
+ "title": "label"
447
+ }
448
+ },
449
+ "required": [
450
+ "label",
451
+ "value"
452
+ ]
453
+ },
454
+ "title": "options"
455
+ }
456
+ },
457
+ "required": [
458
+ "label",
459
+ "options"
460
+ ],
461
+ "title": "languageChoices"
462
+ },
403
463
  "showPrompt": {
404
464
  "description": "Determines whether prompt field will be displayed or not",
405
465
  "default": true,
@@ -742,6 +802,26 @@
742
802
  "lineDot",
743
803
  "linePlot"
744
804
  ]
805
+ },
806
+ "ConfigureLanguageOptionsProp": {
807
+ "title": "ConfigureLanguageOptionsProp",
808
+ "type": "object",
809
+ "properties": {
810
+ "value": {
811
+ "description": "Value of the language option",
812
+ "type": "string",
813
+ "title": "value"
814
+ },
815
+ "label": {
816
+ "description": "Label of the language option",
817
+ "type": "string",
818
+ "title": "label"
819
+ }
820
+ },
821
+ "required": [
822
+ "label",
823
+ "value"
824
+ ]
745
825
  }
746
826
  },
747
827
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -300,6 +300,46 @@ Indicates if line plot is available and the label used for it.
300
300
 
301
301
  Indicates the label for the chart type
302
302
 
303
+ # `language` (object)
304
+
305
+ Properties of the `language` object:
306
+
307
+ ## `settings` (boolean)
308
+
309
+ Indicates if the item has to be displayed in the Settings Panel
310
+
311
+ ## `label` (string)
312
+
313
+ Indicates the label for the item that has to be displayed in the Settings Panel
314
+
315
+ ## `enabled` (boolean)
316
+
317
+ Indicates the value of the item if it affects config-ui
318
+ (eg.: if item is a switch and displaying an input on the config-ui depends on the switch value: on/off)
319
+
320
+ # `languageChoices` (object)
321
+
322
+ Language choices configuration
323
+ Only available if language is enabled
324
+
325
+ Properties of the `languageChoices` object:
326
+
327
+ ## `label` (string, required)
328
+
329
+ ## `options` (array, required)
330
+
331
+ The object is an array with all elements of the type `object`.
332
+
333
+ The array object has the following properties:
334
+
335
+ ### `value` (string, required)
336
+
337
+ Value of the language option
338
+
339
+ ### `label` (string, required)
340
+
341
+ Label of the language option
342
+
303
343
  # `showPrompt` (boolean)
304
344
 
305
345
  Determines whether prompt field will be displayed or not
@@ -562,4 +602,16 @@ Indicates if dot plot is available and the label used for it.
562
602
 
563
603
  ### `linePlot` (string, required)
564
604
 
565
- Indicates if line plot is available and the label used for it.
605
+ Indicates if line plot is available and the label used for it.
606
+
607
+ ## `ConfigureLanguageOptionsProp` (object)
608
+
609
+ Properties of the `ConfigureLanguageOptionsProp` object:
610
+
611
+ ### `value` (string, required)
612
+
613
+ Value of the language option
614
+
615
+ ### `label` (string, required)
616
+
617
+ Label of the language option
@@ -523,6 +523,11 @@
523
523
  "type": "string",
524
524
  "title": "studentNewCategoryDefaultLabel"
525
525
  },
526
+ "language": {
527
+ "description": "Indicates the language of the component\nSupported options: en, es, en_US, en-US, es_ES, es-ES, es_MX, es-MX",
528
+ "type": "string",
529
+ "title": "language"
530
+ },
526
531
  "id": {
527
532
  "description": "Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.",
528
533
  "type": "string",
@@ -830,6 +835,26 @@
830
835
  "linePlot"
831
836
  ]
832
837
  },
838
+ "ConfigureLanguageOptionsProp": {
839
+ "title": "ConfigureLanguageOptionsProp",
840
+ "type": "object",
841
+ "properties": {
842
+ "value": {
843
+ "description": "Value of the language option",
844
+ "type": "string",
845
+ "title": "value"
846
+ },
847
+ "label": {
848
+ "description": "Label of the language option",
849
+ "type": "string",
850
+ "title": "label"
851
+ }
852
+ },
853
+ "required": [
854
+ "label",
855
+ "value"
856
+ ]
857
+ },
833
858
  "Answer": {
834
859
  "title": "Answer",
835
860
  "type": "object",
@@ -182,6 +182,11 @@ Indicates if teacher can enable/disable addCategoryEnabled
182
182
 
183
183
  Label for new category in correct response and player's chart
184
184
 
185
+ # `language` (string)
186
+
187
+ Indicates the language of the component
188
+ Supported options: en, es, en_US, en-US, es_ES, es-ES, es_MX, es-MX
189
+
185
190
  # `id` (string, required)
186
191
 
187
192
  Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.
@@ -402,6 +407,18 @@ Indicates if dot plot is available and the label used for it.
402
407
 
403
408
  Indicates if line plot is available and the label used for it.
404
409
 
410
+ ## `ConfigureLanguageOptionsProp` (object)
411
+
412
+ Properties of the `ConfigureLanguageOptionsProp` object:
413
+
414
+ ### `value` (string, required)
415
+
416
+ Value of the language option
417
+
418
+ ### `label` (string, required)
419
+
420
+ Label of the language option
421
+
405
422
  ## `Answer` (object)
406
423
 
407
424
  Properties of the `Answer` object:
package/lib/main.js CHANGED
@@ -94,7 +94,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
94
94
  studentNewCategoryDefaultLabel = model.studentNewCategoryDefaultLabel,
95
95
  rationale = model.rationale,
96
96
  correctedAnswer = model.correctedAnswer,
97
- correctAnswer = model.correctAnswer;
97
+ correctAnswer = model.correctAnswer,
98
+ language = model.language;
98
99
  var correctData = correctAnswer && correctAnswer.data ? correctAnswer.data.map(function (data) {
99
100
  return _objectSpread(_objectSpread({}, data), {}, {
100
101
  interactive: false,
@@ -130,7 +131,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
130
131
  title: title,
131
132
  onDataChange: this.changeData,
132
133
  addCategoryEnabled: false,
133
- categoryDefaultLabel: studentNewCategoryDefaultLabel
134
+ categoryDefaultLabel: studentNewCategoryDefaultLabel,
135
+ language: language
134
136
  }) : /*#__PURE__*/_react["default"].createElement(_charting.Chart, {
135
137
  className: classes.chart,
136
138
  chartType: chartType,
@@ -142,7 +144,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
142
144
  title: title,
143
145
  onDataChange: this.changeData,
144
146
  addCategoryEnabled: addCategoryEnabled,
145
- categoryDefaultLabel: studentNewCategoryDefaultLabel
147
+ categoryDefaultLabel: studentNewCategoryDefaultLabel,
148
+ language: language
146
149
  }), rationale && (0, _renderUi.hasText)(rationale) && /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
147
150
  labels: {
148
151
  hidden: 'Show Rationale',
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","classes","teacherInstructions","prompt","chartType","size","domain","range","title","addCategoryEnabled","studentNewCategoryDefaultLabel","rationale","correctedAnswer","correctAnswer","correctData","map","interactive","editable","showToggle","length","mainContainer","collapsible","hidden","visible","toggleCorrect","chart","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","changeData","nextProps","prevState","newCategories","defaultCategories","nextCategories","React","Component","PropTypes","object","isRequired","func","array","styles","theme","color","text","backgroundColor","background","overflowX","overflowY","marginTop","spacing","unit","marginBottom"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAEaA,I;;;;;AAUX,gBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,mGAqBN,UAACC,IAAD;AAAA,aACX,MAAKC,QAAL,CACE;AACEC,QAAAA,UAAU,EAAEF;AADd,OADF,EAIE;AAAA,eAAM,MAAKD,KAAL,CAAWI,eAAX,CAA2BH,IAA3B,CAAN;AAAA,OAJF,CADW;AAAA,KArBM;AAAA,sGA6BH,UAACI,cAAD;AAAA,aAAoB,MAAKH,QAAL,CAAc;AAAEG,QAAAA,cAAc,EAAdA;AAAF,OAAd,CAApB;AAAA,KA7BG;AAGjB,UAAKC,KAAL,GAAa;AACXH,MAAAA,UAAU,EAAEH,KAAK,CAACG,UAAN,IAAoBH,KAAK,CAACO,KAAN,CAAYN,IADjC;AAEXI,MAAAA,cAAc,EAAE;AAFL,KAAb;AAHiB;AAOlB;;;;WAwBD,kBAAS;AACP,wBAAuC,KAAKC,KAA5C;AAAA,UAAQH,UAAR,eAAQA,UAAR;AAAA,UAAoBE,cAApB,eAAoBA,cAApB;AACA,wBAA2B,KAAKL,KAAhC;AAAA,UAAQO,KAAR,eAAQA,KAAR;AAAA,UAAeC,OAAf,eAAeA,OAAf;AACA,UACEC,mBADF,GAaIF,KAbJ,CACEE,mBADF;AAAA,UAEEC,MAFF,GAaIH,KAbJ,CAEEG,MAFF;AAAA,UAGEC,SAHF,GAaIJ,KAbJ,CAGEI,SAHF;AAAA,UAIEC,IAJF,GAaIL,KAbJ,CAIEK,IAJF;AAAA,UAKEC,MALF,GAaIN,KAbJ,CAKEM,MALF;AAAA,UAMEC,KANF,GAaIP,KAbJ,CAMEO,KANF;AAAA,UAOEC,KAPF,GAaIR,KAbJ,CAOEQ,KAPF;AAAA,UAQEC,kBARF,GAaIT,KAbJ,CAQES,kBARF;AAAA,UASEC,8BATF,GAaIV,KAbJ,CASEU,8BATF;AAAA,UAUEC,SAVF,GAaIX,KAbJ,CAUEW,SAVF;AAAA,UAWEC,eAXF,GAaIZ,KAbJ,CAWEY,eAXF;AAAA,UAYEC,aAZF,GAaIb,KAbJ,CAYEa,aAZF;AAeA,UAAMC,WAAW,GACfD,aAAa,IAAIA,aAAa,CAACnB,IAA/B,GACImB,aAAa,CAACnB,IAAd,CAAmBqB,GAAnB,CAAuB,UAACrB,IAAD,EAAU;AAC/B,+CACKA,IADL;AAEEsB,UAAAA,WAAW,EAAE,KAFf;AAGEC,UAAAA,QAAQ,EAAE;AAHZ;AAKD,OAND,CADJ,GAQI,EATN;AAWA,UAAMC,UAAU,GAAGJ,WAAW,IAAIA,WAAW,CAACK,MAAZ,GAAqB,CAAvD;AAEA,0BACE;AAAK,QAAA,SAAS,EAAElB,OAAO,CAACmB;AAAxB,SACGlB,mBAAmB,IAAI,uBAAQA,mBAAR,CAAvB,iBACC,gCAAC,qBAAD;AACE,QAAA,SAAS,EAAED,OAAO,CAACoB,WADrB;AAEE,QAAA,MAAM,EAAE;AACNC,UAAAA,MAAM,EAAE,2BADF;AAENC,UAAAA,OAAO,EAAE;AAFH;AAFV,sBAOE,gCAAC,uBAAD;AAAe,QAAA,MAAM,EAAErB;AAAvB,QAPF,CAFJ,EAaGC,MAAM,iBAAI,gCAAC,uBAAD;AAAe,QAAA,SAAS,EAAC,QAAzB;AAAkC,QAAA,MAAM,EAAEA;AAA1C,QAbb,eAeE,gCAAC,+BAAD;AAAqB,QAAA,IAAI,EAAEe,UAA3B;AAAuC,QAAA,OAAO,EAAEpB,cAAhD;AAAgE,QAAA,QAAQ,EAAE,KAAK0B;AAA/E,QAfF,EAiBG1B,cAAc,IAAIoB,UAAlB,gBACC,gCAAC,eAAD;AACE,QAAA,SAAS,EAAEjB,OAAO,CAACwB,KADrB;AAEE,QAAA,SAAS,EAAErB,SAFb;AAGE,QAAA,IAAI,EAAEC,IAHR;AAIE,QAAA,MAAM,EAAEC,MAJV;AAKE,QAAA,KAAK,EAAEC,KALT;AAME,QAAA,MAAM,EAAE,CACNmB,qBAAWC,GAAX,EADM,EAEND,qBAAWE,SAAX,EAFM,EAGNF,qBAAWG,OAAX,EAHM,EAINH,qBAAWI,SAAX,EAJM,EAKNJ,qBAAWK,OAAX,EALM,EAMNL,qBAAWM,QAAX,EANM,CANV;AAcE,QAAA,IAAI,EAAElB,WAAW,IAAIlB,UAdvB;AAeE,QAAA,KAAK,EAAEY,KAfT;AAgBE,QAAA,YAAY,EAAE,KAAKyB,UAhBrB;AAiBE,QAAA,kBAAkB,EAAE,KAjBtB;AAkBE,QAAA,oBAAoB,EAAEvB;AAlBxB,QADD,gBAsBC,gCAAC,eAAD;AACE,QAAA,SAAS,EAAET,OAAO,CAACwB,KADrB;AAEE,QAAA,SAAS,EAAErB,SAFb;AAGE,QAAA,IAAI,EAAEC,IAHR;AAIE,QAAA,MAAM,EAAEC,MAJV;AAKE,QAAA,KAAK,EAAEC,KALT;AAME,QAAA,MAAM,EAAE,CACNmB,qBAAWC,GAAX,EADM,EAEND,qBAAWE,SAAX,EAFM,EAGNF,qBAAWG,OAAX,EAHM,EAINH,qBAAWI,SAAX,EAJM,EAKNJ,qBAAWK,OAAX,EALM,EAMNL,qBAAWM,QAAX,EANM,CANV;AAcE,QAAA,IAAI,EAAEpB,eAAe,IAAIhB,UAd3B;AAeE,QAAA,KAAK,EAAEY,KAfT;AAgBE,QAAA,YAAY,EAAE,KAAKyB,UAhBrB;AAiBE,QAAA,kBAAkB,EAAExB,kBAjBtB;AAkBE,QAAA,oBAAoB,EAAEC;AAlBxB,QAvCJ,EA6DGC,SAAS,IAAI,uBAAQA,SAAR,CAAb,iBACC,gCAAC,qBAAD;AAAa,QAAA,MAAM,EAAE;AAAEW,UAAAA,MAAM,EAAE,gBAAV;AAA4BC,UAAAA,OAAO,EAAE;AAArC;AAArB,sBACE,gCAAC,uBAAD;AAAe,QAAA,MAAM,EAAEZ;AAAvB,QADF,CA9DJ,CADF;AAqED;;;WA1HD,kCAAgCuB,SAAhC,EAA2CC,SAA3C,EAAsD;AACpD,UAAoBC,aAApB,GAAoFF,SAApF,CAAQtC,UAAR;AAAA,6BAAoFsC,SAApF,CAAmClC,KAAnC;AAAA,uDAA6E,EAA7E;AAAA,mDAA4CN,IAA5C;AAAA,UAAkD2C,iBAAlD,sCAAsE,EAAtE;AACA,UAAQzC,UAAR,GAAuBuC,SAAvB,CAAQvC,UAAR;AACA,UAAM0C,cAAc,GAAG,yBAAQF,aAAR,IAAyBA,aAAzB,GAAyCC,iBAAhE;;AAEA,UAAI,CAAC,yBAAQC,cAAR,EAAwB1C,UAAxB,CAAL,EAA0C;AACxC,eAAO;AAAEA,UAAAA,UAAU,EAAE0C;AAAd,SAAP;AACD;;AAED,aAAO,IAAP;AACD;;;EA7BuBC,kBAAMC,S;;;iCAAnBhD,I,eACQ;AACjBS,EAAAA,OAAO,EAAEwC,sBAAUC,MADF;AAEjB1C,EAAAA,KAAK,EAAEyC,sBAAUC,MAAV,CAAiBC,UAFP;AAGjB9C,EAAAA,eAAe,EAAE4C,sBAAUG,IAHV;AAIjBhD,EAAAA,UAAU,EAAE6C,sBAAUI;AAJL,C;iCADRrD,I,kBAQW;AAAES,EAAAA,OAAO,EAAE;AAAX,C;;AAwIxB,IAAM6C,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzB3B,IAAAA,aAAa,EAAE;AACb4B,MAAAA,KAAK,EAAEA,gBAAMC,IAAN,EADM;AAEbC,MAAAA,eAAe,EAAEF,gBAAMG,UAAN,EAFJ;AAGbC,MAAAA,SAAS,EAAE,QAHE;AAIbC,MAAAA,SAAS,EAAE;AAJE,KADU;AAOzB5B,IAAAA,KAAK,EAAE;AACL6B,MAAAA,SAAS,EAAEP,KAAK,CAACQ,OAAN,CAAcC,IAAd,GAAqB,CAD3B;AAELC,MAAAA,YAAY,EAAEV,KAAK,CAACQ,OAAN,CAAcC,IAAd,GAAqB;AAF9B,KAPkB;AAWzBnC,IAAAA,WAAW,EAAE;AACXoC,MAAAA,YAAY,EAAEV,KAAK,CAACQ,OAAN,CAAcC,IAAd,GAAqB;AADxB;AAXY,GAAZ;AAAA,CAAf;;eAgBe,wBAAWV,MAAX,EAAmBtD,IAAnB,C","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/render-ui';\nimport { Chart, chartTypes } from '@pie-lib/charting';\nimport isArray from 'lodash/isArray';\nimport isEqual from 'lodash/isEqual';\nimport CorrectAnswerToggle from '@pie-lib/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 static getDerivedStateFromProps(nextProps, prevState) {\n const { categories: newCategories, model: { data: defaultCategories = [] } = {} } = nextProps;\n const { categories } = prevState;\n const nextCategories = isArray(newCategories) ? newCategories : defaultCategories;\n\n if (!isEqual(nextCategories, categories)) {\n return { categories: nextCategories };\n }\n\n return null;\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 } = 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 show={showToggle} toggled={showingCorrect} onToggle={this.toggleCorrect} />\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 />\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 />\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","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","nextProps","prevState","newCategories","defaultCategories","nextCategories","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/render-ui';\nimport { Chart, chartTypes } from '@pie-lib/charting';\nimport isArray from 'lodash/isArray';\nimport isEqual from 'lodash/isEqual';\nimport CorrectAnswerToggle from '@pie-lib/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 static getDerivedStateFromProps(nextProps, prevState) {\n const { categories: newCategories, model: { data: defaultCategories = [] } = {} } = nextProps;\n const { categories } = prevState;\n const nextCategories = isArray(newCategories) ? newCategories : defaultCategories;\n\n if (!isEqual(nextCategories, categories)) {\n return { categories: nextCategories };\n }\n\n return null;\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 show={showToggle} toggled={showingCorrect} onToggle={this.toggleCorrect} />\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": "6.0.1-next.47+de41d6516",
7
+ "version": "6.0.1-next.62+339ca667a",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -17,6 +17,7 @@
17
17
  "@pie-lib/correct-answer-toggle": "^2.3.76",
18
18
  "@pie-lib/math-rendering": "^2.5.15",
19
19
  "@pie-lib/render-ui": "^4.14.26",
20
+ "@pie-lib/translator": "^2.0.0",
20
21
  "classnames": "^2.2.5",
21
22
  "debug": "^4.1.1",
22
23
  "lodash": "^4.17.15",
@@ -25,7 +26,7 @@
25
26
  },
26
27
  "author": "",
27
28
  "license": "ISC",
28
- "gitHead": "de41d651639fba66ed94d99a6b74579295800365",
29
+ "gitHead": "339ca667a18a4667ec4dbbe3206b381dde933fe9",
29
30
  "main": "lib/index.js",
30
31
  "module": "src/index.js"
31
32
  }