@pie-element/graphing-solution-set 4.3.4-next.3 → 5.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/lib/configure.js +288 -376
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/correct-response.js +309 -475
- package/configure/lib/correct-response.js.map +1 -1
- package/configure/lib/defaults.js +2 -4
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/graphing-config.js +329 -363
- package/configure/lib/graphing-config.js.map +1 -1
- package/configure/lib/index.js +126 -181
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/utils.js +178 -301
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +11 -8
- package/controller/lib/defaults.js +2 -4
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +146 -218
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +85 -142
- package/controller/lib/utils.js.map +1 -1
- package/controller/package.json +3 -3
- package/lib/index.js +120 -170
- package/lib/index.js.map +1 -1
- package/lib/main.js +261 -350
- package/lib/main.js.map +1 -1
- package/lib/utils.js +142 -231
- package/lib/utils.js.map +1 -1
- package/package.json +13 -10
- package/esm/configure.js +0 -43958
- package/esm/configure.js.map +0 -1
- package/esm/controller.js +0 -22735
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -26572
- package/esm/element.js.map +0 -1
- package/esm/package.json +0 -3
|
@@ -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","labels","model","onChange","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","filteredAnswers","correctAnswer","marks","filter","mark","type","plotableAnswers","setState","dialog","isOpened","onClose","onConfirm","gssLineData","sections","selectedTool","event","expanded","graphDimensions","enabled","showPixelGuides","gridConfigurations","value","target","onConfigChange","authoring","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","changeTitle","React","Component","availableTools","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-solution-set';\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, cloneDeep } 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 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 this.state = {\n gridValues,\n labelValues,\n showPixelGuides: false,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n };\n }\n\n /*\n * Function to change labels\n * @param {object} labels - labels object\n * */\n changeLabels = (labels) => {\n const { model, onChange } = this.props;\n onChange({ ...model, labels });\n };\n\n /*\n * Function to change title\n * @param {string} title - title string\n * */\n changeTitle = (title) => {\n const { model, onChange } = this.props;\n onChange({ ...model, title });\n };\n\n /*\n * Function to change grid configuration\n * @param {object} config - grid configuration object\n * @param {number} newSelectedGrid - new selected grid\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 = true, graph, range, standardGrid } = updatedModel;\n const gridValues = { domain: [], range: [] };\n const labelValues = { domain: [], range: [] };\n const selectedGrid = newSelectedGrid >= 0 ? newSelectedGrid : oldSelectedGrid;\n if (includeAxes) {\n const domainConstraints = applyConstraints(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);\n gridValues.domain = domainConstraints.gridValues || [];\n labelValues.domain = domainConstraints.labelValues || [];\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 gridValues.range = rangeConstraints.gridValues || [];\n labelValues.range = rangeConstraints.labelValues || [];\n }\n }\n const filteredAnswers = cloneDeep(answers);\n filteredAnswers.correctAnswer.marks = answers.correctAnswer.marks.filter((mark) => mark.type !== 'polygon');\n const plotableAnswers = filterPlotableMarks(domain, range, filteredAnswers);\n if (!isEqual(filteredAnswers, 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 updatedModel.gssLineData.sections = [];\n updatedModel.gssLineData.selectedTool = 'lineA';\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 return;\n }\n this.setState({ gridValues, labelValues, domain: { ...domain }, range: { ...range } });\n onChange({ ...updatedModel, defaultGridConfiguration: selectedGrid });\n };\n\n /*\n * Function to change view\n * @param {object} event - event object\n * @param {boolean} expanded - expanded boolean\n * */\n onChangeView = (event, expanded) => {\n const { graphDimensions: { enabled } = {} } = this.props;\n if (enabled) {\n this.setState({ showPixelGuides: expanded });\n }\n };\n\n /*\n * Function to change grid configuration\n * @param {object} event - event object\n * */\n changeGridConfiguration = (event) => {\n const { gridConfigurations } = this.props;\n const { value } = event.target;\n this.onConfigChange(gridConfigurations?.[value] || {}, value);\n };\n\n /*\n * Render the component\n * */\n render() {\n const {\n authoring = {},\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 { arrows, coordinatesOnHover, defaultGridConfiguration, domain, labels, range, standardGrid, title } =\n model || {};\n const graph = (model || {}).graph || {};\n const { min, max, step } = graphDimensions || {};\n const { dialog = {}, gridValues, labelValues, showPixelGuides } = this.state;\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 const displayedFields = {\n axisLabel: authoring.axisLabel,\n dimensionsEnabled,\n includeAxesEnabled: false, //Setting false by default as per requirement\n labelStep: authoring.labelStep,\n min: authoring.min,\n max: authoring.max,\n standardGridEnabled: authoring.standardGridEnabled,\n step: authoring.step,\n };\n const displayGridSetup =\n authoring.enabled &&\n Object.values(displayedFields).some((field) => (typeof field === 'object' ? field.enabled : field));\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 <Select\n input={<OutlinedInput labelWidth={10} />}\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 {displayGridSetup && (\n <GridSetup\n displayedFields={displayedFields}\n domain={domain}\n gridValues={gridValues}\n includeAxes={true} //Setting true by default as per requirement\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 <div className={classes.graphConfig} key=\"graph\">\n <Typography component=\"div\" variant=\"subheading\">\n Define Graph Attributes\n </Typography>\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Use this interface to add/edit a title and/or labels\n </Typography>\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={[]}\n onChangeLabels={this.changeLabels}\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 disableToolbar={true}\n mathMlOptions={mathMlOptions}\n />\n </div>\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,"file":"graphing-config.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_graphingSolutionSet","_configUi","_material","_styles","_utils","_lodash","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Container","styled","theme","display","flexWrap","marginBottom","spacing","GridConfigWrapper","flexDirection","marginRight","GraphConfig","SubtitleText","Typography","marginTop","GridConfig","alignItems","width","GridConfigLabel","padding","GridConfigSelect","Select","flex","GraphingConfig","Component","constructor","props","_defineProperty2","labels","model","onChange","title","config","newSelectedGrid","defaultGridConfiguration","oldSelectedGrid","gridValues","oldGridValues","labelValues","oldLabelValues","domain","oldDomain","range","oldRange","state","updatedModel","answers","includeAxes","graph","standardGrid","selectedGrid","domainConstraints","applyConstraints","step","labelStep","rangeConstraints","height","filteredAnswers","cloneDeep","correctAnswer","marks","filter","mark","type","plotableAnswers","filterPlotableMarks","isEqual","setState","dialog","isOpened","onClose","onConfirm","gssLineData","sections","selectedTool","event","expanded","graphDimensions","enabled","showPixelGuides","gridConfigurations","value","target","onConfigChange","getGridValues","getLabelValues","render","authoring","labelsPlaceholders","showLabels","dimensionsEnabled","showTitle","titlePlaceholder","mathMlOptions","arrows","coordinatesOnHover","min","max","sizeConstraints","Math","displayedFields","axisLabel","includeAxesEnabled","standardGridEnabled","displayGridSetup","values","some","field","createElement","length","component","variant","input","OutlinedInput","labelWidth","displayEmpty","changeGridConfiguration","MenuProps","transitionDuration","enter","exit","map","index","MenuItem","key","label","GridSetup","size","onChangeView","GraphContainer","axesSettings","includeArrows","backgroundMarks","collapsibleToolbar","collapsibleToolbarTitle","onChangeLabels","changeLabels","onChangeTitle","changeTitle","disableToolbar","AlertDialog","open","text","exports","availableTools","PropTypes","array","object","bool","isRequired","func","string","_default"],"sources":["../src/graphing-config.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphContainer, GridSetup } from '@pie-lib/graphing-solution-set';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { MenuItem, Select, Typography, OutlinedInput } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport { applyConstraints, filterPlotableMarks, getGridValues, getLabelValues } from './utils';\nimport { isEqual, cloneDeep } from 'lodash';\n\nconst Container = styled('div')(({ theme }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: theme.spacing(2.5),\n}));\n\nconst GridConfigWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n marginRight: theme.spacing(3),\n marginBottom: theme.spacing(2.5),\n}));\n\nconst GraphConfig = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n});\n\nconst SubtitleText = styled(Typography)(({ theme }) => ({\n marginTop: theme.spacing(1.5),\n marginBottom: theme.spacing(1),\n}));\n\nconst GridConfig = styled('div')(({ theme }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n width: '100%',\n marginBottom: theme.spacing(2.5),\n}));\n\nconst GridConfigLabel = styled(Typography)(({ theme }) => ({\n padding: `0 ${theme.spacing(1)}`,\n}));\n\nconst GridConfigSelect = styled(Select)({\n flex: '1',\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n availableTools: PropTypes.array,\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 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 this.state = {\n gridValues,\n labelValues,\n showPixelGuides: false,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n };\n }\n\n /*\n * Function to change labels\n * @param {object} labels - labels object\n * */\n changeLabels = (labels) => {\n const { model, onChange } = this.props;\n onChange({ ...model, labels });\n };\n\n /*\n * Function to change title\n * @param {string} title - title string\n * */\n changeTitle = (title) => {\n const { model, onChange } = this.props;\n onChange({ ...model, title });\n };\n\n /*\n * Function to change grid configuration\n * @param {object} config - grid configuration object\n * @param {number} newSelectedGrid - new selected grid\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 = true, graph, range, standardGrid } = updatedModel;\n const gridValues = { domain: [], range: [] };\n const labelValues = { domain: [], range: [] };\n const selectedGrid = newSelectedGrid >= 0 ? newSelectedGrid : oldSelectedGrid;\n if (includeAxes) {\n const domainConstraints = applyConstraints(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);\n gridValues.domain = domainConstraints.gridValues || [];\n labelValues.domain = domainConstraints.labelValues || [];\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 gridValues.range = rangeConstraints.gridValues || [];\n labelValues.range = rangeConstraints.labelValues || [];\n }\n }\n const filteredAnswers = cloneDeep(answers);\n filteredAnswers.correctAnswer.marks = answers.correctAnswer.marks.filter((mark) => mark.type !== 'polygon');\n const plotableAnswers = filterPlotableMarks(domain, range, filteredAnswers);\n if (!isEqual(filteredAnswers, 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 updatedModel.gssLineData.sections = [];\n updatedModel.gssLineData.selectedTool = 'lineA';\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 return;\n }\n this.setState({ gridValues, labelValues, domain: { ...domain }, range: { ...range } });\n onChange({ ...updatedModel, defaultGridConfiguration: selectedGrid });\n };\n\n /*\n * Function to change view\n * @param {object} event - event object\n * @param {boolean} expanded - expanded boolean\n * */\n onChangeView = (event, expanded) => {\n const { graphDimensions: { enabled } = {} } = this.props;\n if (enabled) {\n this.setState({ showPixelGuides: expanded });\n }\n };\n\n /*\n * Function to change grid configuration\n * @param {object} event - event object\n * */\n changeGridConfiguration = (event) => {\n const { gridConfigurations } = this.props;\n const { value } = event.target;\n this.onConfigChange(gridConfigurations?.[value] || {}, value);\n };\n\n /*\n * Render the component\n * */\n render() {\n const {\n authoring = {},\n gridConfigurations = [],\n graphDimensions = {},\n labelsPlaceholders,\n model,\n showLabels,\n dimensionsEnabled,\n showTitle,\n titlePlaceholder,\n mathMlOptions = {},\n } = this.props;\n const { arrows, coordinatesOnHover, defaultGridConfiguration, domain, labels, range, standardGrid, title } =\n model || {};\n const graph = (model || {}).graph || {};\n const { min, max, step } = graphDimensions || {};\n const { dialog = {}, gridValues, labelValues, showPixelGuides } = this.state;\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 const displayedFields = {\n axisLabel: authoring.axisLabel,\n dimensionsEnabled,\n includeAxesEnabled: false, //Setting false by default as per requirement\n labelStep: authoring.labelStep,\n min: authoring.min,\n max: authoring.max,\n standardGridEnabled: authoring.standardGridEnabled,\n step: authoring.step,\n };\n const displayGridSetup =\n authoring.enabled &&\n Object.values(displayedFields).some((field) => (typeof field === 'object' ? field.enabled : field));\n return (\n <Container>\n <GridConfigWrapper>\n {gridConfigurations && gridConfigurations.length ? (\n <GridConfig>\n <GridConfigLabel component=\"div\" variant=\"h6\">\n Grid Configuration\n </GridConfigLabel>\n <GridConfigSelect\n input={<OutlinedInput labelWidth={10} />}\n displayEmpty\n onChange={this.changeGridConfiguration}\n value={defaultGridConfiguration}\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n >\n {(gridConfigurations || []).map((config, index) => (\n <MenuItem key={index} value={index}>\n {config.label}\n </MenuItem>\n ))}\n </GridConfigSelect>\n </GridConfig>\n ) : null}\n {displayGridSetup && (\n <GridSetup\n displayedFields={displayedFields}\n domain={domain}\n gridValues={gridValues}\n includeAxes={true} //Setting true by default as per requirement\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 </GridConfigWrapper>\n <GraphConfig key=\"graph\">\n <Typography component=\"div\" variant=\"h6\">\n Define Graph Attributes\n </Typography>\n <SubtitleText component=\"div\" variant=\"body1\">\n Use this interface to add/edit a title and/or labels\n </SubtitleText>\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={[]}\n onChangeLabels={this.changeLabels}\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 disableToolbar={true}\n mathMlOptions={mathMlOptions}\n />\n </GraphConfig>\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 </Container>\n );\n }\n}\n\nexport default GraphingConfig;\n"],"mappings":"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","ignoreList":[]}
|
package/configure/lib/index.js
CHANGED
|
@@ -1,218 +1,163 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
|
-
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
23
|
-
|
|
7
|
+
exports.default = void 0;
|
|
24
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
9
|
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
29
|
-
|
|
10
|
+
var _client = require("react-dom/client");
|
|
30
11
|
var _configure = _interopRequireDefault(require("./configure"));
|
|
31
|
-
|
|
32
12
|
var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
|
|
33
|
-
|
|
34
13
|
var _debug = _interopRequireDefault(require("debug"));
|
|
35
|
-
|
|
36
14
|
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
37
|
-
|
|
38
15
|
var _mathRendering = require("@pie-lib/math-rendering");
|
|
16
|
+
const log = (0, _debug.default)('pie-elements:graphing-solution-set:configure');
|
|
39
17
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
var GraphLinesConfigure = /*#__PURE__*/function (_HTMLElement) {
|
|
61
|
-
(0, _inherits2["default"])(GraphLinesConfigure, _HTMLElement);
|
|
62
|
-
|
|
63
|
-
var _super = _createSuper(GraphLinesConfigure);
|
|
64
|
-
|
|
65
|
-
function GraphLinesConfigure() {
|
|
66
|
-
var _this;
|
|
67
|
-
|
|
68
|
-
(0, _classCallCheck2["default"])(this, GraphLinesConfigure);
|
|
69
|
-
_this = _super.call(this);
|
|
70
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onModelChanged", function (model) {
|
|
71
|
-
_this._model = model;
|
|
72
|
-
|
|
73
|
-
_this._render();
|
|
74
|
-
|
|
75
|
-
log('[onModelChanged]: ', _this._model);
|
|
76
|
-
|
|
77
|
-
_this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(_this._model));
|
|
18
|
+
// this function is implemented in controller as well
|
|
19
|
+
const sortedAnswers = answers => Object.keys(answers || {}).sort().reduce((result, key) => {
|
|
20
|
+
if (key !== 'correctAnswer') {
|
|
21
|
+
result[key] = answers[key];
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
24
|
+
}, {});
|
|
25
|
+
class GraphLinesConfigure extends HTMLElement {
|
|
26
|
+
constructor() {
|
|
27
|
+
super();
|
|
28
|
+
/*
|
|
29
|
+
* Triggered when the model is changed
|
|
30
|
+
* @param {object} model - the new model
|
|
31
|
+
* */
|
|
32
|
+
(0, _defineProperty2.default)(this, "onModelChanged", model => {
|
|
33
|
+
this._model = model;
|
|
34
|
+
this._render();
|
|
35
|
+
log('[onModelChanged]: ', this._model);
|
|
36
|
+
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model));
|
|
78
37
|
});
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
38
|
+
/*
|
|
39
|
+
* Triggered when the configuration is changed
|
|
40
|
+
* @param {object} config - the new configuration
|
|
41
|
+
* */
|
|
42
|
+
(0, _defineProperty2.default)(this, "onConfigurationChanged", config => {
|
|
43
|
+
this._configuration = config;
|
|
44
|
+
this._render();
|
|
83
45
|
});
|
|
84
|
-
(0, _defineProperty2
|
|
85
|
-
|
|
46
|
+
(0, _defineProperty2.default)(this, "insertImage", handler => {
|
|
47
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
|
|
86
48
|
});
|
|
87
|
-
(0, _defineProperty2
|
|
88
|
-
|
|
49
|
+
(0, _defineProperty2.default)(this, "onDeleteImage", (src, done) => {
|
|
50
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
|
|
89
51
|
});
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
52
|
+
this._root = null;
|
|
53
|
+
this._model = GraphLinesConfigure.createDefaultModel();
|
|
54
|
+
this._configuration = _defaults.default.configuration;
|
|
93
55
|
}
|
|
56
|
+
|
|
94
57
|
/*
|
|
95
58
|
* Function to set the model
|
|
96
59
|
* */
|
|
60
|
+
set model(m) {
|
|
61
|
+
this._model = GraphLinesConfigure.createDefaultModel(m);
|
|
62
|
+
this._render();
|
|
63
|
+
}
|
|
97
64
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
// if it is false, then the language field should be omitted from the item model.
|
|
117
|
-
// if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
|
|
118
|
-
// then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
|
|
119
|
-
//TODO: add logic in controller and add tests
|
|
120
|
-
|
|
121
|
-
if ((_c$language = c.language) !== null && _c$language !== void 0 && _c$language.enabled) {
|
|
122
|
-
var _c$languageChoices, _c$languageChoices$op;
|
|
123
|
-
|
|
124
|
-
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) {
|
|
125
|
-
this._model.language = c.languageChoices.options[0].value;
|
|
65
|
+
/*
|
|
66
|
+
* Function to set the configuration
|
|
67
|
+
* */
|
|
68
|
+
set configuration(c) {
|
|
69
|
+
this._configuration = c;
|
|
70
|
+
// if language:enabled is true, then the corresponding default item model should include a language value;
|
|
71
|
+
// if it is false, then the language field should be omitted from the item model.
|
|
72
|
+
// if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
|
|
73
|
+
// then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
|
|
74
|
+
//TODO: add logic in controller and add tests
|
|
75
|
+
if (c.language?.enabled) {
|
|
76
|
+
if (c.languageChoices?.options?.length) {
|
|
77
|
+
this._model.language = c.languageChoices.options[0].value;
|
|
78
|
+
}
|
|
79
|
+
} else {
|
|
80
|
+
if (c.language.settings) {
|
|
81
|
+
if (this._model.language) {
|
|
82
|
+
this._configuration.language.enabled = true;
|
|
126
83
|
}
|
|
127
84
|
} else {
|
|
128
|
-
|
|
129
|
-
if (this._model.language) {
|
|
130
|
-
this._configuration.language.enabled = true;
|
|
131
|
-
}
|
|
132
|
-
} else {
|
|
133
|
-
delete this._model.language;
|
|
134
|
-
}
|
|
85
|
+
delete this._model.language;
|
|
135
86
|
}
|
|
136
|
-
|
|
137
|
-
this._render();
|
|
138
|
-
}
|
|
139
|
-
/*
|
|
140
|
-
* Triggered when the model is changed
|
|
141
|
-
* @param {object} model - the new model
|
|
142
|
-
* */
|
|
143
|
-
|
|
144
|
-
}, {
|
|
145
|
-
key: "insertSound",
|
|
146
|
-
value: function insertSound(handler) {
|
|
147
|
-
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
148
87
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}, {
|
|
159
|
-
key: "_render",
|
|
160
|
-
value: function _render() {
|
|
161
|
-
var _this2 = this;
|
|
162
|
-
|
|
163
|
-
if (this._model) {
|
|
164
|
-
var el = /*#__PURE__*/_react["default"].createElement(_configure["default"], {
|
|
165
|
-
onModelChanged: this.onModelChanged,
|
|
166
|
-
onConfigurationChanged: this.onConfigurationChanged,
|
|
167
|
-
model: this._model,
|
|
168
|
-
configuration: this._configuration,
|
|
169
|
-
imageSupport: {
|
|
170
|
-
add: this.insertImage,
|
|
171
|
-
"delete": this.onDeleteImage
|
|
172
|
-
},
|
|
173
|
-
uploadSoundSupport: {
|
|
174
|
-
add: this.insertSound.bind(this),
|
|
175
|
-
"delete": this.onDeleteSound.bind(this)
|
|
176
|
-
}
|
|
177
|
-
});
|
|
88
|
+
this._render();
|
|
89
|
+
}
|
|
90
|
+
insertSound(handler) {
|
|
91
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
92
|
+
}
|
|
93
|
+
onDeleteSound(src, done) {
|
|
94
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
|
|
95
|
+
}
|
|
178
96
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
97
|
+
/*
|
|
98
|
+
* Render the component
|
|
99
|
+
* */
|
|
100
|
+
_render() {
|
|
101
|
+
if (this._model) {
|
|
102
|
+
const el = /*#__PURE__*/_react.default.createElement(_configure.default, {
|
|
103
|
+
onModelChanged: this.onModelChanged,
|
|
104
|
+
onConfigurationChanged: this.onConfigurationChanged,
|
|
105
|
+
model: this._model,
|
|
106
|
+
configuration: this._configuration,
|
|
107
|
+
imageSupport: {
|
|
108
|
+
add: this.insertImage,
|
|
109
|
+
delete: this.onDeleteImage
|
|
110
|
+
},
|
|
111
|
+
uploadSoundSupport: {
|
|
112
|
+
add: this.insertSound.bind(this),
|
|
113
|
+
delete: this.onDeleteSound.bind(this)
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
if (!this._root) {
|
|
117
|
+
this._root = (0, _client.createRoot)(this);
|
|
182
118
|
}
|
|
119
|
+
this._root.render(el);
|
|
120
|
+
queueMicrotask(() => {
|
|
121
|
+
(0, _mathRendering.renderMath)(this);
|
|
122
|
+
});
|
|
183
123
|
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
124
|
+
}
|
|
125
|
+
disconnectedCallback() {
|
|
126
|
+
if (this._root) {
|
|
127
|
+
this._root.unmount();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
exports.default = GraphLinesConfigure;
|
|
132
|
+
(0, _defineProperty2.default)(GraphLinesConfigure, "createDefaultModel", (model = {}) => {
|
|
133
|
+
const normalizedModel = {
|
|
134
|
+
..._defaults.default.model,
|
|
135
|
+
...model
|
|
136
|
+
};
|
|
137
|
+
const {
|
|
138
|
+
answers = {},
|
|
139
|
+
domain = {},
|
|
140
|
+
graph = {},
|
|
141
|
+
range = {},
|
|
142
|
+
standardGrid
|
|
143
|
+
} = normalizedModel;
|
|
144
|
+
return {
|
|
145
|
+
...normalizedModel,
|
|
146
|
+
answers: answers && answers.correctAnswer && {
|
|
147
|
+
correctAnswer: answers.correctAnswer,
|
|
148
|
+
...sortedAnswers(answers)
|
|
149
|
+
} || answers,
|
|
150
|
+
range: standardGrid && {
|
|
151
|
+
...range,
|
|
208
152
|
min: domain.min,
|
|
209
153
|
max: domain.max,
|
|
210
154
|
step: domain.step,
|
|
211
155
|
labelStep: domain.labelStep
|
|
212
|
-
}
|
|
213
|
-
graph: standardGrid &&
|
|
156
|
+
} || range,
|
|
157
|
+
graph: standardGrid && {
|
|
158
|
+
...graph,
|
|
214
159
|
height: graph.width
|
|
215
|
-
}
|
|
216
|
-
}
|
|
160
|
+
} || graph
|
|
161
|
+
};
|
|
217
162
|
});
|
|
218
163
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_configure","_pieConfigureEvents","_debug","_defaults","_mathRendering","log","debug","sortedAnswers","answers","Object","keys","sort","reduce","result","key","GraphLinesConfigure","HTMLElement","constructor","_defineProperty2","default","model","_model","_render","dispatchEvent","ModelUpdatedEvent","config","_configuration","handler","InsertImageEvent","src","done","DeleteImageEvent","_root","createDefaultModel","defaultValues","configuration","m","c","language","enabled","languageChoices","options","length","value","settings","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","onConfigurationChanged","imageSupport","add","insertImage","delete","onDeleteImage","uploadSoundSupport","bind","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","exports","normalizedModel","domain","graph","range","standardGrid","correctAnswer","min","max","step","labelStep","height","width"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\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-solution-set: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 { answers = {}, domain = {}, graph = {}, range = {}, standardGrid } = normalizedModel;\n return {\n ...normalizedModel,\n answers:\n (answers &&\n answers.correctAnswer && {\n correctAnswer: answers.correctAnswer,\n ...sortedAnswers(answers),\n }) ||\n answers,\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._root = null;\n this._model = GraphLinesConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n /*\n * Function to set the model\n * */\n set model(m) {\n this._model = GraphLinesConfigure.createDefaultModel(m);\n this._render();\n }\n\n /*\n * Function to set the configuration\n * */\n set configuration(c) {\n this._configuration = c;\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 /*\n * Triggered when the model is changed\n * @param {object} model - the new model\n * */\n onModelChanged = (model) => {\n this._model = model;\n this._render();\n log('[onModelChanged]: ', this._model);\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n };\n\n /*\n * Triggered when the configuration is changed\n * @param {object} config - the new configuration\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 /*\n * Render the component\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 if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|