@pie-element/graphing 4.14.1-next.9 → 4.15.1-next.4

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 +1 @@
1
- {"version":3,"sources":["../src/graphing-config.jsx"],"names":["styles","theme","container","display","flexWrap","marginBottom","spacing","unit","gridConfigWrapper","flexDirection","marginRight","graphConfig","subtitleText","marginTop","gridConfig","alignItems","width","gridConfigLabel","padding","gridConfigSelect","flex","GraphingConfig","props","backgroundMarks","model","onChange","labels","title","config","newSelectedGrid","defaultGridConfiguration","oldSelectedGrid","state","oldGridValues","gridValues","oldLabelValues","labelValues","oldDomain","domain","oldRange","range","updatedModel","answers","includeAxes","graph","standardGrid","selectedGrid","domainConstraints","step","labelStep","rangeConstraints","height","plotableAnswers","setState","dialog","isOpened","onClose","onConfirm","event","expanded","graphDimensions","enabled","showPixelGuides","gridConfigurations","value","target","onConfigChange","authoring","availableTools","classes","labelsPlaceholders","showLabels","dimensionsEnabled","showTitle","titlePlaceholder","arrows","coordinatesOnHover","min","max","sizeConstraints","Math","displayedFields","axisLabel","includeAxesEnabled","standardGridEnabled","displayGridSetup","Object","values","some","field","length","changeGridConfiguration","map","index","label","onChangeView","includeArrows","changeLabels","changeBackgroundMarks","changeTitle","React","Component","PropTypes","array","object","isRequired","bool","func","string"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphContainer, GridSetup } from '@pie-lib/graphing';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { MenuItem, Select, Typography, OutlinedInput } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\nimport { applyConstraints, filterPlotableMarks, getGridValues, getLabelValues } from './utils';\nimport { isEqual } from 'lodash';\n\nconst styles = (theme) => ({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: theme.spacing.unit * 2.5,\n },\n gridConfigWrapper: {\n display: 'flex',\n flexDirection: 'column',\n marginRight: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit * 2.5,\n },\n graphConfig: {\n display: 'flex',\n flexDirection: 'column',\n },\n subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit,\n },\n gridConfig: {\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n width: '100%',\n marginBottom: theme.spacing.unit * 2.5,\n },\n gridConfigLabel: {\n padding: `0 ${theme.spacing.unit}px`,\n },\n gridConfigSelect: {\n flex: '1',\n },\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n availableTools: PropTypes.array,\n classes: PropTypes.object.isRequired,\n authoring: PropTypes.object,\n dimensionsEnabled: PropTypes.bool,\n graphDimensions: PropTypes.object,\n gridConfigurations: PropTypes.array,\n labelsPlaceholders: PropTypes.object,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n showLabels: PropTypes.bool,\n showTitle: PropTypes.bool,\n titlePlaceholder: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n const { domain, range, graph } = props.model || {};\n\n const gridValues = {\n domain: getGridValues(domain, graph.width, true),\n range: getGridValues(range, graph.height, true),\n };\n const labelValues = {\n domain: getLabelValues(domain.step),\n range: getLabelValues(range.step),\n };\n\n this.state = {\n gridValues,\n labelValues,\n showPixelGuides: false,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n };\n }\n\n changeBackgroundMarks = (backgroundMarks) => {\n const model = { ...this.props.model, backgroundMarks };\n\n this.props.onChange(model);\n };\n\n changeLabels = (labels) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, labels });\n };\n\n changeTitle = (title) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, title });\n };\n\n onConfigChange = (config, newSelectedGrid) => {\n const { model, onChange } = this.props;\n const { defaultGridConfiguration: oldSelectedGrid = 0 } = model;\n const { gridValues: oldGridValues, labelValues: oldLabelValues, domain: oldDomain, range: oldRange } = this.state;\n const updatedModel = { ...model, ...config };\n const { answers, domain, includeAxes, graph, range, standardGrid } = updatedModel;\n const gridValues = { domain: [], range: [] };\n const labelValues = { domain: [], range: [] };\n const selectedGrid = newSelectedGrid >= 0 ? newSelectedGrid : oldSelectedGrid;\n\n if (includeAxes) {\n const domainConstraints = applyConstraints(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);\n\n gridValues.domain = domainConstraints.gridValues || [];\n labelValues.domain = domainConstraints.labelValues || [];\n }\n\n if (standardGrid) {\n gridValues.range = gridValues.domain;\n labelValues.range = labelValues.domain;\n range.step = domain.step;\n range.labelStep = domain.labelStep;\n } else {\n if (includeAxes) {\n const rangeConstraints = applyConstraints(range, graph.height, oldGridValues.range, oldLabelValues.range);\n\n gridValues.range = rangeConstraints.gridValues || [];\n labelValues.range = rangeConstraints.labelValues || [];\n }\n }\n\n const plotableAnswers = filterPlotableMarks(domain, range, answers);\n\n if (!isEqual(answers, plotableAnswers)) {\n this.setState({\n dialog: {\n isOpened: true,\n onClose: () =>\n this.setState({ dialog: { isOpened: false } }, onChange({ ...model, domain: oldDomain, range: oldRange })),\n onConfirm: () => {\n this.setState(\n {\n gridValues,\n labelValues,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n },\n onChange({ ...updatedModel, answers: plotableAnswers, defaultGridConfiguration: selectedGrid }),\n );\n },\n },\n });\n\n return;\n }\n\n this.setState({ gridValues, labelValues, domain: { ...domain }, range: { ...range } });\n onChange({ ...updatedModel, defaultGridConfiguration: selectedGrid });\n };\n\n onChangeView = (event, expanded) => {\n const { graphDimensions: { enabled } = {} } = this.props;\n\n if (enabled) {\n this.setState({ showPixelGuides: expanded });\n }\n };\n\n changeGridConfiguration = (event) => {\n const { gridConfigurations } = this.props;\n const { value } = event.target;\n\n this.onConfigChange(gridConfigurations?.[value] || {}, value);\n };\n\n render() {\n const {\n authoring = {},\n availableTools = [],\n classes,\n gridConfigurations = [],\n graphDimensions = {},\n labelsPlaceholders,\n model,\n showLabels,\n dimensionsEnabled,\n showTitle,\n titlePlaceholder,\n } = this.props;\n const {\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n defaultGridConfiguration,\n domain,\n includeAxes,\n labels,\n range,\n standardGrid,\n title,\n } = model || {};\n const graph = (model || {}).graph || {};\n const { min, max, step } = graphDimensions || {};\n const { dialog = {}, gridValues, labelValues, showPixelGuides } = this.state;\n\n const sizeConstraints = {\n min: Math.max(150, min),\n max: Math.min(800, max),\n step: step >= 1 ? Math.min(200, step) : 20,\n };\n\n const displayedFields = {\n axisLabel: authoring.axisLabel,\n dimensionsEnabled,\n includeAxesEnabled: authoring.includeAxesEnabled,\n labelStep: authoring.labelStep,\n min: authoring.min,\n max: authoring.max,\n standardGridEnabled: authoring.standardGridEnabled,\n step: authoring.step,\n };\n\n const displayGridSetup =\n authoring.enabled &&\n Object.values(displayedFields).some((field) => (typeof field === 'object' ? field.enabled : field));\n\n return (\n <div className={classes.container}>\n <div className={classes.gridConfigWrapper}>\n {gridConfigurations && gridConfigurations.length ? (\n <div className={classes.gridConfig}>\n <Typography component=\"div\" variant=\"subheading\" className={classes.gridConfigLabel}>\n Grid Configuration\n </Typography>\n\n <Select\n input={<OutlinedInput />}\n className={classes.gridConfigSelect}\n displayEmpty\n onChange={this.changeGridConfiguration}\n value={defaultGridConfiguration}\n >\n {(gridConfigurations || []).map((config, index) => (\n <MenuItem key={index} value={index}>\n {config.label}\n </MenuItem>\n ))}\n </Select>\n </div>\n ) : null}\n\n {displayGridSetup && (\n <GridSetup\n displayedFields={displayedFields}\n domain={domain}\n gridValues={gridValues}\n includeAxes={includeAxes}\n labelValues={labelValues}\n range={range}\n size={graph}\n sizeConstraints={sizeConstraints}\n standardGrid={standardGrid}\n onChange={this.onConfigChange}\n onChangeView={this.onChangeView}\n />\n )}\n </div>\n\n <div className={classes.graphConfig} key=\"graph\">\n <Typography component=\"div\" variant=\"subheading\">\n Define Graph Attributes\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Use this interface to add/edit a title and/or labels, and to set background shapes\n </Typography>\n\n <GraphContainer\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n collapsibleToolbar={true}\n collapsibleToolbarTitle={'Add Background Shapes to Graph'}\n domain={domain}\n key=\"graphing-config\"\n labels={labels}\n labelsPlaceholders={labelsPlaceholders}\n marks={backgroundMarks}\n onChangeLabels={this.changeLabels}\n onChangeMarks={this.changeBackgroundMarks}\n onChangeTitle={this.changeTitle}\n range={range}\n showLabels={showLabels}\n showPixelGuides={showPixelGuides}\n showTitle={showTitle}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n titlePlaceholder={titlePlaceholder}\n toolbarTools={availableTools}\n />\n </div>\n\n <AlertDialog\n open={dialog.isOpened}\n title=\"Warning\"\n text=\"This change would make it impossible for students to plot one or more graph objects in the current correct answers. If you proceed, all such graph objects will be removed from the correct answers.\"\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GraphingConfig);\n"],"file":"graphing-config.js"}
1
+ {"version":3,"sources":["../src/graphing-config.jsx"],"names":["styles","theme","container","display","flexWrap","marginBottom","spacing","unit","gridConfigWrapper","flexDirection","marginRight","graphConfig","subtitleText","marginTop","gridConfig","alignItems","width","gridConfigLabel","padding","gridConfigSelect","flex","GraphingConfig","props","backgroundMarks","model","onChange","labels","title","config","newSelectedGrid","defaultGridConfiguration","oldSelectedGrid","state","oldGridValues","gridValues","oldLabelValues","labelValues","oldDomain","domain","oldRange","range","updatedModel","answers","includeAxes","graph","standardGrid","selectedGrid","domainConstraints","step","labelStep","rangeConstraints","height","plotableAnswers","setState","dialog","isOpened","onClose","onConfirm","event","expanded","graphDimensions","enabled","showPixelGuides","gridConfigurations","value","target","onConfigChange","authoring","availableTools","classes","labelsPlaceholders","showLabels","dimensionsEnabled","showTitle","titlePlaceholder","mathMlOptions","arrows","coordinatesOnHover","min","max","sizeConstraints","Math","displayedFields","axisLabel","includeAxesEnabled","standardGridEnabled","displayGridSetup","Object","values","some","field","length","changeGridConfiguration","map","index","label","onChangeView","includeArrows","changeLabels","changeBackgroundMarks","changeTitle","React","Component","PropTypes","array","object","isRequired","bool","func","string"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphContainer, GridSetup } from '@pie-lib/graphing';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { MenuItem, Select, Typography, OutlinedInput } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\nimport { applyConstraints, filterPlotableMarks, getGridValues, getLabelValues } from './utils';\nimport { isEqual } from 'lodash';\n\nconst styles = (theme) => ({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: theme.spacing.unit * 2.5,\n },\n gridConfigWrapper: {\n display: 'flex',\n flexDirection: 'column',\n marginRight: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit * 2.5,\n },\n graphConfig: {\n display: 'flex',\n flexDirection: 'column',\n },\n subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit,\n },\n gridConfig: {\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n width: '100%',\n marginBottom: theme.spacing.unit * 2.5,\n },\n gridConfigLabel: {\n padding: `0 ${theme.spacing.unit}px`,\n },\n gridConfigSelect: {\n flex: '1',\n },\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n availableTools: PropTypes.array,\n classes: PropTypes.object.isRequired,\n authoring: PropTypes.object,\n dimensionsEnabled: PropTypes.bool,\n graphDimensions: PropTypes.object,\n gridConfigurations: PropTypes.array,\n labelsPlaceholders: PropTypes.object,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n showLabels: PropTypes.bool,\n showTitle: PropTypes.bool,\n titlePlaceholder: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n const { domain, range, graph } = props.model || {};\n\n const gridValues = {\n domain: getGridValues(domain, graph.width, true),\n range: getGridValues(range, graph.height, true),\n };\n const labelValues = {\n domain: getLabelValues(domain.step),\n range: getLabelValues(range.step),\n };\n\n this.state = {\n gridValues,\n labelValues,\n showPixelGuides: false,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n };\n }\n\n changeBackgroundMarks = (backgroundMarks) => {\n const model = { ...this.props.model, backgroundMarks };\n\n this.props.onChange(model);\n };\n\n changeLabels = (labels) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, labels });\n };\n\n changeTitle = (title) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, title });\n };\n\n onConfigChange = (config, newSelectedGrid) => {\n const { model, onChange } = this.props;\n const { defaultGridConfiguration: oldSelectedGrid = 0 } = model;\n const { gridValues: oldGridValues, labelValues: oldLabelValues, domain: oldDomain, range: oldRange } = this.state;\n const updatedModel = { ...model, ...config };\n const { answers, domain, includeAxes, graph, range, standardGrid } = updatedModel;\n const gridValues = { domain: [], range: [] };\n const labelValues = { domain: [], range: [] };\n const selectedGrid = newSelectedGrid >= 0 ? newSelectedGrid : oldSelectedGrid;\n\n if (includeAxes) {\n const domainConstraints = applyConstraints(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);\n\n gridValues.domain = domainConstraints.gridValues || [];\n labelValues.domain = domainConstraints.labelValues || [];\n }\n\n if (standardGrid) {\n gridValues.range = gridValues.domain;\n labelValues.range = labelValues.domain;\n range.step = domain.step;\n range.labelStep = domain.labelStep;\n } else {\n if (includeAxes) {\n const rangeConstraints = applyConstraints(range, graph.height, oldGridValues.range, oldLabelValues.range);\n\n gridValues.range = rangeConstraints.gridValues || [];\n labelValues.range = rangeConstraints.labelValues || [];\n }\n }\n\n const plotableAnswers = filterPlotableMarks(domain, range, answers);\n\n if (!isEqual(answers, plotableAnswers)) {\n this.setState({\n dialog: {\n isOpened: true,\n onClose: () =>\n this.setState({ dialog: { isOpened: false } }, onChange({ ...model, domain: oldDomain, range: oldRange })),\n onConfirm: () => {\n this.setState(\n {\n gridValues,\n labelValues,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n },\n onChange({ ...updatedModel, answers: plotableAnswers, defaultGridConfiguration: selectedGrid }),\n );\n },\n },\n });\n\n return;\n }\n\n this.setState({ gridValues, labelValues, domain: { ...domain }, range: { ...range } });\n onChange({ ...updatedModel, defaultGridConfiguration: selectedGrid });\n };\n\n onChangeView = (event, expanded) => {\n const { graphDimensions: { enabled } = {} } = this.props;\n\n if (enabled) {\n this.setState({ showPixelGuides: expanded });\n }\n };\n\n changeGridConfiguration = (event) => {\n const { gridConfigurations } = this.props;\n const { value } = event.target;\n\n this.onConfigChange(gridConfigurations?.[value] || {}, value);\n };\n\n render() {\n const {\n authoring = {},\n availableTools = [],\n classes,\n gridConfigurations = [],\n graphDimensions = {},\n labelsPlaceholders,\n model,\n showLabels,\n dimensionsEnabled,\n showTitle,\n titlePlaceholder,\n mathMlOptions = {}\n } = this.props;\n const {\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n defaultGridConfiguration,\n domain,\n includeAxes,\n labels,\n range,\n standardGrid,\n title,\n } = model || {};\n const graph = (model || {}).graph || {};\n const { min, max, step } = graphDimensions || {};\n const { dialog = {}, gridValues, labelValues, showPixelGuides } = this.state;\n\n const sizeConstraints = {\n min: Math.max(150, min),\n max: Math.min(800, max),\n step: step >= 1 ? Math.min(200, step) : 20,\n };\n\n const displayedFields = {\n axisLabel: authoring.axisLabel,\n dimensionsEnabled,\n includeAxesEnabled: authoring.includeAxesEnabled,\n labelStep: authoring.labelStep,\n min: authoring.min,\n max: authoring.max,\n standardGridEnabled: authoring.standardGridEnabled,\n step: authoring.step,\n };\n\n const displayGridSetup =\n authoring.enabled &&\n Object.values(displayedFields).some((field) => (typeof field === 'object' ? field.enabled : field));\n\n return (\n <div className={classes.container}>\n <div className={classes.gridConfigWrapper}>\n {gridConfigurations && gridConfigurations.length ? (\n <div className={classes.gridConfig}>\n <Typography component=\"div\" variant=\"subheading\" className={classes.gridConfigLabel}>\n Grid Configuration\n </Typography>\n\n <Select\n input={<OutlinedInput />}\n className={classes.gridConfigSelect}\n displayEmpty\n onChange={this.changeGridConfiguration}\n value={defaultGridConfiguration}\n >\n {(gridConfigurations || []).map((config, index) => (\n <MenuItem key={index} value={index}>\n {config.label}\n </MenuItem>\n ))}\n </Select>\n </div>\n ) : null}\n\n {displayGridSetup && (\n <GridSetup\n displayedFields={displayedFields}\n domain={domain}\n gridValues={gridValues}\n includeAxes={includeAxes}\n labelValues={labelValues}\n range={range}\n size={graph}\n sizeConstraints={sizeConstraints}\n standardGrid={standardGrid}\n onChange={this.onConfigChange}\n onChangeView={this.onChangeView}\n />\n )}\n </div>\n\n <div className={classes.graphConfig} key=\"graph\">\n <Typography component=\"div\" variant=\"subheading\">\n Define Graph Attributes\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Use this interface to add/edit a title and/or labels, and to set background shapes\n </Typography>\n\n <GraphContainer\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n collapsibleToolbar={true}\n collapsibleToolbarTitle={'Add Background Shapes to Graph'}\n domain={domain}\n key=\"graphing-config\"\n labels={labels}\n labelsPlaceholders={labelsPlaceholders}\n marks={backgroundMarks}\n onChangeLabels={this.changeLabels}\n onChangeMarks={this.changeBackgroundMarks}\n onChangeTitle={this.changeTitle}\n range={range}\n showLabels={showLabels}\n showPixelGuides={showPixelGuides}\n showTitle={showTitle}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n titlePlaceholder={titlePlaceholder}\n toolbarTools={availableTools}\n mathMlOptions={mathMlOptions}\n />\n </div>\n\n <AlertDialog\n open={dialog.isOpened}\n title=\"Warning\"\n text=\"This change would make it impossible for students to plot one or more graph objects in the current correct answers. If you proceed, all such graph objects will be removed from the correct answers.\"\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GraphingConfig);\n"],"file":"graphing-config.js"}
@@ -102,7 +102,27 @@ var GraphLinesConfigure = /*#__PURE__*/function (_HTMLElement) {
102
102
  }, {
103
103
  key: "configuration",
104
104
  set: function set(c) {
105
- this._configuration = c;
105
+ this._configuration = c; // if language:enabled is true, then the corresponding default item model should include a language value;
106
+ // if it is false, then the language field should be omitted from the item model.
107
+ // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
108
+ // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
109
+ //TODO: add logic in controller and add tests
110
+
111
+ if (c.language.enabled) {
112
+ var _c$languageChoices, _c$languageChoices$op;
113
+
114
+ if ((_c$languageChoices = c.languageChoices) !== null && _c$languageChoices !== void 0 && (_c$languageChoices$op = _c$languageChoices.options) !== null && _c$languageChoices$op !== void 0 && _c$languageChoices$op.length) {
115
+ this._model.language = c.languageChoices.options[0].value;
116
+ }
117
+ } else {
118
+ if (c.language.settings) {
119
+ if (this._model.language) {
120
+ this._configuration.language.enabled = true;
121
+ }
122
+ } else {
123
+ delete this._model.language;
124
+ }
125
+ }
106
126
 
107
127
  this._render();
108
128
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","sortedAnswers","answers","Object","keys","sort","reduce","result","key","GraphLinesConfigure","model","_model","_render","dispatchEvent","ModelUpdatedEvent","config","_configuration","handler","InsertImageEvent","src","done","DeleteImageEvent","createDefaultModel","defaultValues","configuration","m","c","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","bind","onDeleteSound","ReactDOM","render","HTMLElement","normalizedModel","domain","defaultTool","graph","range","standardGrid","toolbarTools","toolbarToolsNoLabel","filter","tool","normalizedDefaultTool","length","correctAnswer","min","max","step","labelStep","height","width"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Configure from './configure';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport defaultValues from './defaults';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('pie-elements:graphing:configure');\n\n// this function is implemented in controller as well\nconst sortedAnswers = (answers) =>\n Object.keys(answers || {})\n .sort()\n .reduce((result, key) => {\n if (key !== 'correctAnswer') {\n result[key] = answers[key];\n }\n\n return result;\n }, {});\n\nexport default class GraphLinesConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const normalizedModel = { ...defaultValues.model, ...model };\n const {\n answers = {},\n domain = {},\n defaultTool,\n graph = {},\n range = {},\n standardGrid,\n toolbarTools,\n } = normalizedModel;\n\n // added support for models without defaultTool defined; also used in packages/graphing/controller/src/index.js\n const toolbarToolsNoLabel = (toolbarTools || []).filter((tool) => tool !== 'label');\n const normalizedDefaultTool = defaultTool || (toolbarToolsNoLabel.length && toolbarToolsNoLabel[0]) || '';\n\n return {\n ...normalizedModel,\n answers:\n (answers &&\n answers.correctAnswer && {\n correctAnswer: answers.correctAnswer,\n ...sortedAnswers(answers),\n }) ||\n answers,\n defaultTool: normalizedDefaultTool,\n range:\n (standardGrid && {\n ...range,\n min: domain.min,\n max: domain.max,\n step: domain.step,\n labelStep: domain.labelStep,\n }) ||\n range,\n graph: (standardGrid && { ...graph, height: graph.width }) || graph,\n };\n };\n\n constructor() {\n super();\n this._model = GraphLinesConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = GraphLinesConfigure.createDefaultModel(m);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\n this._render();\n }\n\n onModelChanged = (model) => {\n this._model = model;\n this._render();\n\n log('[onModelChanged]: ', this._model);\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n };\n\n onConfigurationChanged = (config) => {\n this._configuration = config;\n this._render();\n };\n\n insertImage = (handler) => {\n this.dispatchEvent(new InsertImageEvent(handler));\n };\n\n onDeleteImage = (src, done) => {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n };\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage,\n delete: this.onDeleteImage,\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","sortedAnswers","answers","Object","keys","sort","reduce","result","key","GraphLinesConfigure","model","_model","_render","dispatchEvent","ModelUpdatedEvent","config","_configuration","handler","InsertImageEvent","src","done","DeleteImageEvent","createDefaultModel","defaultValues","configuration","m","c","language","enabled","languageChoices","options","length","value","settings","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","bind","onDeleteSound","ReactDOM","render","HTMLElement","normalizedModel","domain","defaultTool","graph","range","standardGrid","toolbarTools","toolbarToolsNoLabel","filter","tool","normalizedDefaultTool","correctAnswer","min","max","step","labelStep","height","width"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Configure from './configure';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport defaultValues from './defaults';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('pie-elements:graphing:configure');\n\n// this function is implemented in controller as well\nconst sortedAnswers = (answers) =>\n Object.keys(answers || {})\n .sort()\n .reduce((result, key) => {\n if (key !== 'correctAnswer') {\n result[key] = answers[key];\n }\n\n return result;\n }, {});\n\nexport default class GraphLinesConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const normalizedModel = { ...defaultValues.model, ...model };\n const {\n answers = {},\n domain = {},\n defaultTool,\n graph = {},\n range = {},\n standardGrid,\n toolbarTools,\n } = normalizedModel;\n\n // added support for models without defaultTool defined; also used in packages/graphing/controller/src/index.js\n const toolbarToolsNoLabel = (toolbarTools || []).filter((tool) => tool !== 'label');\n const normalizedDefaultTool = defaultTool || (toolbarToolsNoLabel.length && toolbarToolsNoLabel[0]) || '';\n\n return {\n ...normalizedModel,\n answers:\n (answers &&\n answers.correctAnswer && {\n correctAnswer: answers.correctAnswer,\n ...sortedAnswers(answers),\n }) ||\n answers,\n defaultTool: normalizedDefaultTool,\n range:\n (standardGrid && {\n ...range,\n min: domain.min,\n max: domain.max,\n step: domain.step,\n labelStep: domain.labelStep,\n }) ||\n range,\n graph: (standardGrid && { ...graph, height: graph.width }) || graph,\n };\n };\n\n constructor() {\n super();\n this._model = GraphLinesConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = GraphLinesConfigure.createDefaultModel(m);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n //TODO: add logic in controller and add tests\n if (c.language.enabled) {\n if (c.languageChoices?.options?.length) {\n this._model.language = c.languageChoices.options[0].value;\n }\n } else {\n if (c.language.settings) {\n if (this._model.language) {\n this._configuration.language.enabled = true;\n }\n } else {\n delete this._model.language;\n }\n }\n this._render();\n }\n\n onModelChanged = (model) => {\n this._model = model;\n this._render();\n\n log('[onModelChanged]: ', this._model);\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n };\n\n onConfigurationChanged = (config) => {\n this._configuration = config;\n this._render();\n };\n\n insertImage = (handler) => {\n this.dispatchEvent(new InsertImageEvent(handler));\n };\n\n onDeleteImage = (src, done) => {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n };\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage,\n delete: this.onDeleteImage,\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/graphing-configure",
3
3
  "private": true,
4
- "version": "4.14.0",
4
+ "version": "4.15.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,10 +9,10 @@
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
11
  "@pie-framework/pie-configure-events": "^1.3.0",
12
- "@pie-lib/config-ui": "^11.6.10",
13
- "@pie-lib/editable-html": "^9.6.2",
14
- "@pie-lib/graphing": "^2.12.29",
15
- "@pie-lib/math-rendering": "^2.5.14",
12
+ "@pie-lib/config-ui": "^11.8.1",
13
+ "@pie-lib/editable-html": "^9.6.5",
14
+ "@pie-lib/graphing": "^2.14.1",
15
+ "@pie-lib/math-rendering": "^2.5.15",
16
16
  "classnames": "^2.2.5",
17
17
  "debug": "^4.1.1",
18
18
  "prop-types": "^15.6.2",
@@ -504,6 +504,66 @@
504
504
  }
505
505
  }
506
506
  },
507
+ "language": {
508
+ "title": "ConfigurePropWithEnabled",
509
+ "type": "object",
510
+ "properties": {
511
+ "settings": {
512
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
513
+ "type": "boolean",
514
+ "title": "settings"
515
+ },
516
+ "label": {
517
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
518
+ "type": "string",
519
+ "title": "label"
520
+ },
521
+ "enabled": {
522
+ "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)",
523
+ "type": "boolean",
524
+ "title": "enabled"
525
+ }
526
+ }
527
+ },
528
+ "languageChoices": {
529
+ "description": "Language choices configuration\nOnly available if language is enabled",
530
+ "type": "object",
531
+ "properties": {
532
+ "label": {
533
+ "type": "string",
534
+ "title": "label"
535
+ },
536
+ "options": {
537
+ "type": "array",
538
+ "items": {
539
+ "title": "ConfigureLanguageOptionsProp",
540
+ "type": "object",
541
+ "properties": {
542
+ "value": {
543
+ "description": "Value of the language option",
544
+ "type": "string",
545
+ "title": "value"
546
+ },
547
+ "label": {
548
+ "description": "Label of the language option",
549
+ "type": "string",
550
+ "title": "label"
551
+ }
552
+ },
553
+ "required": [
554
+ "label",
555
+ "value"
556
+ ]
557
+ },
558
+ "title": "options"
559
+ }
560
+ },
561
+ "required": [
562
+ "label",
563
+ "options"
564
+ ],
565
+ "title": "languageChoices"
566
+ },
507
567
  "prompt": {
508
568
  "title": "ConfigureProp",
509
569
  "type": "object",
@@ -689,6 +749,22 @@
689
749
  }
690
750
  }
691
751
  },
752
+ "mathMlOptions": {
753
+ "title": "ConfigureMathMLProp",
754
+ "type": "object",
755
+ "properties": {
756
+ "mmlOutput": {
757
+ "description": "Indicates if model should have mathML output instead of latex",
758
+ "type": "number",
759
+ "title": "mmlOutput"
760
+ },
761
+ "mmlEditing": {
762
+ "description": "Indicates if mathML that's already in model should be editable",
763
+ "type": "number",
764
+ "title": "mmlEditing"
765
+ }
766
+ }
767
+ },
692
768
  "showPrompt": {
693
769
  "description": "Determines whether prompt field will be displayed or not",
694
770
  "default": true,
@@ -1383,6 +1459,47 @@
1383
1459
  }
1384
1460
  }
1385
1461
  },
1462
+ "ConfigurePropWithEnabled": {
1463
+ "title": "ConfigurePropWithEnabled",
1464
+ "type": "object",
1465
+ "properties": {
1466
+ "settings": {
1467
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
1468
+ "type": "boolean",
1469
+ "title": "settings"
1470
+ },
1471
+ "label": {
1472
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
1473
+ "type": "string",
1474
+ "title": "label"
1475
+ },
1476
+ "enabled": {
1477
+ "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)",
1478
+ "type": "boolean",
1479
+ "title": "enabled"
1480
+ }
1481
+ }
1482
+ },
1483
+ "ConfigureLanguageOptionsProp": {
1484
+ "title": "ConfigureLanguageOptionsProp",
1485
+ "type": "object",
1486
+ "properties": {
1487
+ "value": {
1488
+ "description": "Value of the language option",
1489
+ "type": "string",
1490
+ "title": "value"
1491
+ },
1492
+ "label": {
1493
+ "description": "Label of the language option",
1494
+ "type": "string",
1495
+ "title": "label"
1496
+ }
1497
+ },
1498
+ "required": [
1499
+ "label",
1500
+ "value"
1501
+ ]
1502
+ },
1386
1503
  "TitleConfigProp": {
1387
1504
  "title": "TitleConfigProp",
1388
1505
  "type": "object",
@@ -1429,6 +1546,22 @@
1429
1546
  "title": "rationale"
1430
1547
  }
1431
1548
  }
1549
+ },
1550
+ "ConfigureMathMLProp": {
1551
+ "title": "ConfigureMathMLProp",
1552
+ "type": "object",
1553
+ "properties": {
1554
+ "mmlOutput": {
1555
+ "description": "Indicates if model should have mathML output instead of latex",
1556
+ "type": "number",
1557
+ "title": "mmlOutput"
1558
+ },
1559
+ "mmlEditing": {
1560
+ "description": "Indicates if mathML that's already in model should be editable",
1561
+ "type": "number",
1562
+ "title": "mmlEditing"
1563
+ }
1564
+ }
1432
1565
  }
1433
1566
  },
1434
1567
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -357,6 +357,46 @@ Indicates the label for the item that has to be displayed in the Settings Panel
357
357
  Indicates the value of the item if it affects config-ui
358
358
  (eg.: if item is a switch and displaying an input on the config-ui depends on the switch value: on/off)
359
359
 
360
+ # `language` (object)
361
+
362
+ Properties of the `language` object:
363
+
364
+ ## `settings` (boolean)
365
+
366
+ Indicates if the item has to be displayed in the Settings Panel
367
+
368
+ ## `label` (string)
369
+
370
+ Indicates the label for the item that has to be displayed in the Settings Panel
371
+
372
+ ## `enabled` (boolean)
373
+
374
+ Indicates the value of the item if it affects config-ui
375
+ (eg.: if item is a switch and displaying an input on the config-ui depends on the switch value: on/off)
376
+
377
+ # `languageChoices` (object)
378
+
379
+ Language choices configuration
380
+ Only available if language is enabled
381
+
382
+ Properties of the `languageChoices` object:
383
+
384
+ ## `label` (string, required)
385
+
386
+ ## `options` (array, required)
387
+
388
+ The object is an array with all elements of the type `object`.
389
+
390
+ The array object has the following properties:
391
+
392
+ ### `value` (string, required)
393
+
394
+ Value of the language option
395
+
396
+ ### `label` (string, required)
397
+
398
+ Label of the language option
399
+
360
400
  # `prompt` (object)
361
401
 
362
402
  Properties of the `prompt` object:
@@ -498,6 +538,18 @@ Indicates if the item has to be displayed in the Settings Panel
498
538
 
499
539
  Indicates the label for the item that has to be displayed in the Settings Panel
500
540
 
541
+ # `mathMlOptions` (object)
542
+
543
+ Properties of the `mathMlOptions` object:
544
+
545
+ ## `mmlOutput` (number)
546
+
547
+ Indicates if model should have mathML output instead of latex
548
+
549
+ ## `mmlEditing` (number)
550
+
551
+ Indicates if mathML that's already in model should be editable
552
+
501
553
  # `showPrompt` (boolean)
502
554
 
503
555
  Determines whether prompt field will be displayed or not
@@ -989,6 +1041,35 @@ Indicates the label for the item that has to be displayed in the Settings Panel
989
1041
  Indicates the value of the item if it affects config-ui
990
1042
  (eg.: if item is a switch and displaying an input on the config-ui depends on the switch value: on/off)
991
1043
 
1044
+ ## `ConfigurePropWithEnabled` (object)
1045
+
1046
+ Properties of the `ConfigurePropWithEnabled` object:
1047
+
1048
+ ### `settings` (boolean)
1049
+
1050
+ Indicates if the item has to be displayed in the Settings Panel
1051
+
1052
+ ### `label` (string)
1053
+
1054
+ Indicates the label for the item that has to be displayed in the Settings Panel
1055
+
1056
+ ### `enabled` (boolean)
1057
+
1058
+ Indicates the value of the item if it affects config-ui
1059
+ (eg.: if item is a switch and displaying an input on the config-ui depends on the switch value: on/off)
1060
+
1061
+ ## `ConfigureLanguageOptionsProp` (object)
1062
+
1063
+ Properties of the `ConfigureLanguageOptionsProp` object:
1064
+
1065
+ ### `value` (string, required)
1066
+
1067
+ Value of the language option
1068
+
1069
+ ### `label` (string, required)
1070
+
1071
+ Label of the language option
1072
+
992
1073
  ## `TitleConfigProp` (object)
993
1074
 
994
1075
  Properties of the `TitleConfigProp` object:
@@ -1024,4 +1105,16 @@ Indicates the max dimension for images in prompt - this is also the default dime
1024
1105
 
1025
1106
  ### `rationale` (number)
1026
1107
 
1027
- Indicates the max dimension for images in rationale
1108
+ Indicates the max dimension for images in rationale
1109
+
1110
+ ## `ConfigureMathMLProp` (object)
1111
+
1112
+ Properties of the `ConfigureMathMLProp` object:
1113
+
1114
+ ### `mmlOutput` (number)
1115
+
1116
+ Indicates if model should have mathML output instead of latex
1117
+
1118
+ ### `mmlEditing` (number)
1119
+
1120
+ Indicates if mathML that's already in model should be editable
@@ -153,4 +153,5 @@ exports.model = (id, element) => ({
153
153
  rationale: 'Rationale goes here',
154
154
  title: 'Graph title',
155
155
  rubricEnabled: false,
156
+ language: 'es_ES'
156
157
  });
@@ -1367,6 +1367,11 @@
1367
1367
  "top"
1368
1368
  ]
1369
1369
  },
1370
+ "language": {
1371
+ "description": "Indicates the language of the component\nSupported options: en, es, en_US, en-US, es_ES, es-ES, es_MX, es-MX",
1372
+ "type": "string",
1373
+ "title": "language"
1374
+ },
1370
1375
  "padding": {
1371
1376
  "description": "Indicates if padding is enabled",
1372
1377
  "type": "boolean",
@@ -2197,6 +2202,47 @@
2197
2202
  }
2198
2203
  }
2199
2204
  },
2205
+ "ConfigurePropWithEnabled": {
2206
+ "title": "ConfigurePropWithEnabled",
2207
+ "type": "object",
2208
+ "properties": {
2209
+ "settings": {
2210
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
2211
+ "type": "boolean",
2212
+ "title": "settings"
2213
+ },
2214
+ "label": {
2215
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
2216
+ "type": "string",
2217
+ "title": "label"
2218
+ },
2219
+ "enabled": {
2220
+ "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)",
2221
+ "type": "boolean",
2222
+ "title": "enabled"
2223
+ }
2224
+ }
2225
+ },
2226
+ "ConfigureLanguageOptionsProp": {
2227
+ "title": "ConfigureLanguageOptionsProp",
2228
+ "type": "object",
2229
+ "properties": {
2230
+ "value": {
2231
+ "description": "Value of the language option",
2232
+ "type": "string",
2233
+ "title": "value"
2234
+ },
2235
+ "label": {
2236
+ "description": "Label of the language option",
2237
+ "type": "string",
2238
+ "title": "label"
2239
+ }
2240
+ },
2241
+ "required": [
2242
+ "label",
2243
+ "value"
2244
+ ]
2245
+ },
2200
2246
  "TitleConfigProp": {
2201
2247
  "title": "TitleConfigProp",
2202
2248
  "type": "object",
@@ -2244,6 +2290,22 @@
2244
2290
  }
2245
2291
  }
2246
2292
  },
2293
+ "ConfigureMathMLProp": {
2294
+ "title": "ConfigureMathMLProp",
2295
+ "type": "object",
2296
+ "properties": {
2297
+ "mmlOutput": {
2298
+ "description": "Indicates if model should have mathML output instead of latex",
2299
+ "type": "number",
2300
+ "title": "mmlOutput"
2301
+ },
2302
+ "mmlEditing": {
2303
+ "description": "Indicates if mathML that's already in model should be editable",
2304
+ "type": "number",
2305
+ "title": "mmlEditing"
2306
+ }
2307
+ }
2308
+ },
2247
2309
  "Answer": {
2248
2310
  "title": "Answer",
2249
2311
  "type": "object",
@@ -156,6 +156,11 @@ Label for left side of the graph
156
156
 
157
157
  Label for right side of the graph
158
158
 
159
+ # `language` (string)
160
+
161
+ Indicates the language of the component
162
+ Supported options: en, es, en_US, en-US, es_ES, es-ES, es_MX, es-MX
163
+
159
164
  # `padding` (boolean)
160
165
 
161
166
  Indicates if padding is enabled
@@ -712,6 +717,35 @@ Indicates the label for the item that has to be displayed in the Settings Panel
712
717
  Indicates the value of the item if it affects config-ui
713
718
  (eg.: if item is a switch and displaying an input on the config-ui depends on the switch value: on/off)
714
719
 
720
+ ## `ConfigurePropWithEnabled` (object)
721
+
722
+ Properties of the `ConfigurePropWithEnabled` object:
723
+
724
+ ### `settings` (boolean)
725
+
726
+ Indicates if the item has to be displayed in the Settings Panel
727
+
728
+ ### `label` (string)
729
+
730
+ Indicates the label for the item that has to be displayed in the Settings Panel
731
+
732
+ ### `enabled` (boolean)
733
+
734
+ Indicates the value of the item if it affects config-ui
735
+ (eg.: if item is a switch and displaying an input on the config-ui depends on the switch value: on/off)
736
+
737
+ ## `ConfigureLanguageOptionsProp` (object)
738
+
739
+ Properties of the `ConfigureLanguageOptionsProp` object:
740
+
741
+ ### `value` (string, required)
742
+
743
+ Value of the language option
744
+
745
+ ### `label` (string, required)
746
+
747
+ Label of the language option
748
+
715
749
  ## `TitleConfigProp` (object)
716
750
 
717
751
  Properties of the `TitleConfigProp` object:
@@ -749,6 +783,18 @@ Indicates the max dimension for images in prompt - this is also the default dime
749
783
 
750
784
  Indicates the max dimension for images in rationale
751
785
 
786
+ ## `ConfigureMathMLProp` (object)
787
+
788
+ Properties of the `ConfigureMathMLProp` object:
789
+
790
+ ### `mmlOutput` (number)
791
+
792
+ Indicates if model should have mathML output instead of latex
793
+
794
+ ### `mmlEditing` (number)
795
+
796
+ Indicates if mathML that's already in model should be editable
797
+
752
798
  ## `Answer` (object)
753
799
 
754
800
  Properties of the `Answer` object: