@pie-element/graphing-solution-set 5.0.0-next.42 → 5.1.0-next.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/correct-response.js +10 -10
- package/configure/lib/correct-response.js.map +1 -1
- package/configure/lib/graphing-config.js +3 -3
- package/configure/lib/graphing-config.js.map +1 -1
- package/configure/lib/utils.js +3 -4
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +7 -7
- package/controller/lib/index.js +11 -13
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +7 -11
- package/controller/lib/utils.js.map +1 -1
- package/controller/package.json +1 -1
- package/package.json +13 -10
- package/module/configure.js +0 -1
- package/module/controller.js +0 -21914
- package/module/demo.js +0 -79
- package/module/element.js +0 -1
- package/module/index.html +0 -21
- package/module/manifest.json +0 -22
- package/module/print-demo.js +0 -117
- package/module/print.html +0 -18
|
@@ -11,7 +11,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
11
11
|
var _styles = require("@mui/material/styles");
|
|
12
12
|
var _graphingSolutionSet = require("@pie-lib/graphing-solution-set");
|
|
13
13
|
var _configUi = require("@pie-lib/config-ui");
|
|
14
|
-
var
|
|
14
|
+
var _lodashEs = require("lodash-es");
|
|
15
15
|
var _material = require("@mui/material");
|
|
16
16
|
var _Radio = _interopRequireDefault(require("@mui/material/Radio"));
|
|
17
17
|
var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
|
|
@@ -76,9 +76,9 @@ class CorrectResponse extends React.Component {
|
|
|
76
76
|
}
|
|
77
77
|
if (marks.length === 0) {
|
|
78
78
|
gssLineData.selectedTool = 'lineA';
|
|
79
|
-
(0,
|
|
79
|
+
(0, _lodashEs.set)(model, 'gssLineData', gssLineData);
|
|
80
80
|
}
|
|
81
|
-
(0,
|
|
81
|
+
(0, _lodashEs.set)(model, 'answers.correctAnswer.marks', marks);
|
|
82
82
|
onChange(model);
|
|
83
83
|
});
|
|
84
84
|
/*
|
|
@@ -104,8 +104,8 @@ class CorrectResponse extends React.Component {
|
|
|
104
104
|
gssLineData.selectedTool = 'lineA';
|
|
105
105
|
gssLineData.lineA.lineType = 'Solid';
|
|
106
106
|
if (gssLineData.lineB) gssLineData.lineB.lineType = 'Solid';
|
|
107
|
-
(0,
|
|
108
|
-
(0,
|
|
107
|
+
(0, _lodashEs.set)(model, 'answers', answers);
|
|
108
|
+
(0, _lodashEs.set)(model, 'gssLineData', gssLineData);
|
|
109
109
|
onChange(model);
|
|
110
110
|
this.handleAlertDialog(false);
|
|
111
111
|
},
|
|
@@ -170,8 +170,8 @@ class CorrectResponse extends React.Component {
|
|
|
170
170
|
};
|
|
171
171
|
}
|
|
172
172
|
//reset solution set
|
|
173
|
-
(0,
|
|
174
|
-
(0,
|
|
173
|
+
(0, _lodashEs.set)(model, 'answers', answers);
|
|
174
|
+
(0, _lodashEs.set)(model, 'gssLineData', gssLineData);
|
|
175
175
|
onChange(model);
|
|
176
176
|
});
|
|
177
177
|
/*
|
|
@@ -204,7 +204,7 @@ class CorrectResponse extends React.Component {
|
|
|
204
204
|
break;
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
|
-
(0,
|
|
207
|
+
(0, _lodashEs.set)(model, 'answers', answers);
|
|
208
208
|
onChange(model);
|
|
209
209
|
});
|
|
210
210
|
/*
|
|
@@ -306,8 +306,8 @@ class CorrectResponse extends React.Component {
|
|
|
306
306
|
});
|
|
307
307
|
gssLineData.selectedTool = 'lineB';
|
|
308
308
|
}
|
|
309
|
-
(0,
|
|
310
|
-
(0,
|
|
309
|
+
(0, _lodashEs.set)(model, 'gssLineData', gssLineData);
|
|
310
|
+
(0, _lodashEs.set)(model, 'answers', answers);
|
|
311
311
|
onChange(model);
|
|
312
312
|
});
|
|
313
313
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correct-response.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_graphingSolutionSet","_configUi","_lodash","_material","_Radio","_FormControlLabel","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SubtitleText","styled","Typography","theme","marginTop","spacing","marginBottom","RadioButtonClass","FormControlLabel","height","width","padding","StyledRadio","Radio","color","ErrorMessage","fontSize","typography","palette","error","main","paddingTop","CorrectResponse","Component","constructor","args","_defineProperty2","dialog","open","callback","setState","marks","model","onChange","props","gssLineData","selectedTool","length","fill","lineType","answers","title","text","onConfirm","correctAnswer","lineA","lineB","handleAlertDialog","onClose","value","changeLine","filter","mark","type","Number","parseInt","pop","numberOfLines","point","section","sections","pointInsidePolygon","polygon","points","building","closed","isSolution","push","oldSelectedTool","domain","range","lines","checkIfLinesAreAdded","findSectionsInSolutionSet","handleGssLineDataChange","polygons","onConfirmText","render","errors","mathMlOptions","state","arrows","coordinatesOnHover","graph","labels","labelsEnabled","titleEnabled","correctAnswerErrors","createElement","component","variant","RadioGroup","name","changeNumberOfLines","control","checked","label","Fragment","GraphContainer","style","border","axesSettings","includeArrows","backgroundMarks","disabledLabels","disabledTitle","draggableTools","onChangeMarks","newMarks","changeMarks","onCustomReset","onResetClick","showLabels","showTitle","size","onChangeGssLineData","onSolutionSetSelected","toolbarTools","AlertDialog","exports","PropTypes","object","isRequired","func","_default"],"sources":["../src/correct-response.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { GraphContainer as Graph } from '@pie-lib/graphing-solution-set';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { set } from 'lodash';\nimport { RadioGroup, Typography } from '@mui/material';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport { findSectionsInSolutionSet, pointInsidePolygon, checkIfLinesAreAdded } from './utils';\n\nconst SubtitleText = styled(Typography)(({ theme }) => ({\n marginTop: theme.spacing(1.5),\n marginBottom: theme.spacing(1),\n}));\n\nconst RadioButtonClass = styled(FormControlLabel)({\n height: '20px',\n width: 'fit-content',\n padding: '.5rem 0',\n});\n\nconst StyledRadio = styled(Radio)({\n color: '#000000 !important',\n});\n\nconst ErrorMessage = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n errors: PropTypes.object,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n state = {\n dialog: {\n open: false,\n },\n };\n\n /*\n * Function to handle the alert dialog open and close\n * @param {boolean} open - open or close the dialog\n * @param {function} callback - callback function to be called after setting the state\n * */\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n /*\n * Function to change the marks on the graph\n * @param {array} marks - marks to be added on the graph\n * */\n changeMarks = (marks) => {\n const { model, onChange } = this.props;\n const { gssLineData } = model;\n if (gssLineData.selectedTool === 'lineA' && marks.length > 0) {\n marks[0].fill = gssLineData['lineA'].lineType;\n }\n if (gssLineData.selectedTool === 'lineB' && marks.length > 1) {\n marks[1].fill = gssLineData['lineB'].lineType;\n }\n if (marks.length === 0) {\n gssLineData.selectedTool = 'lineA';\n set(model, 'gssLineData', gssLineData);\n }\n set(model, 'answers.correctAnswer.marks', marks);\n onChange(model);\n };\n\n /*\n * Reset the graph to original state and remove all the elements added on the graph\n * */\n onResetClick = () => {\n const { model, onChange } = this.props;\n const { gssLineData, answers } = model;\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'This will remove all the elements added on the graph and reset graph to original state. Are you sure you want to continue?',\n onConfirm: () => {\n // Reset the graph to original state\n answers.correctAnswer.marks = [];\n gssLineData.selectedTool = 'lineA';\n gssLineData.lineA.lineType = 'Solid';\n if (gssLineData.lineB) gssLineData.lineB.lineType = 'Solid';\n set(model, 'answers', answers);\n set(model, 'gssLineData', gssLineData);\n onChange(model);\n this.handleAlertDialog(false);\n },\n onClose: () => this.handleAlertDialog(false),\n },\n });\n };\n\n /*\n * Function to change the number of lines on the graph\n * @param {object} e - event object\n * @param {number} value - number of lines to be added on the graph\n * */\n changeNumberOfLines = (e, value) => {\n const { model } = this.props;\n let gssLineData = model.gssLineData;\n if (gssLineData.selectedTool === 'solutionSet') {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Changing number of lines after adding solution set will remove added solution set. Are you sure you want to continue?',\n onConfirm: () => {\n this.changeLine(e, value);\n this.handleAlertDialog(false);\n },\n onClose: () => this.handleAlertDialog(false),\n },\n });\n } else {\n this.changeLine(e, value);\n }\n };\n\n /*\n * Function to change the number of line on the graph\n * @param {object} e - event object\n * @param {number} value - number of lines to be added on the graph\n * */\n changeLine = (e, value) => {\n const { model, onChange } = this.props;\n const { answers } = model;\n let gssLineData = model.gssLineData;\n //remove polygon from correct answer\n answers.correctAnswer.marks = answers.correctAnswer.marks.filter((mark) => mark.type !== 'polygon');\n if (Number.parseInt(value) === 1) {\n //remove lineB from gssLineData and correct answer\n delete gssLineData.lineB;\n if (answers.correctAnswer.marks.length > 1) answers.correctAnswer.marks.pop();\n gssLineData.numberOfLines = 1;\n gssLineData.selectedTool = 'lineA';\n } else {\n gssLineData.numberOfLines = 2;\n if (answers.correctAnswer.marks.length > 0) gssLineData.selectedTool = 'lineB';\n gssLineData.lineB = {\n lineType: 'Solid',\n };\n }\n //reset solution set\n set(model, 'answers', answers);\n set(model, 'gssLineData', gssLineData);\n onChange(model);\n };\n\n /*\n * Function to handle the changes to solution set on the graph\n * @param {object} point - point selected on the graph\n * */\n onSolutionSetSelected = (point) => {\n const { model, onChange } = this.props;\n const { answers, gssLineData } = model;\n for (const section of gssLineData.sections) {\n //check if the point is inside the polygon\n if (pointInsidePolygon(point, section)) {\n let polygon = {\n points: section,\n building: false,\n type: 'polygon',\n closed: true,\n isSolution: true,\n };\n //remove old answer section from correct answer\n answers.correctAnswer.marks = answers.correctAnswer.marks.filter((mark) => mark.type !== 'polygon');\n //add new answer section to correct answer\n answers.correctAnswer.marks.push(polygon);\n break;\n }\n }\n set(model, 'answers', answers);\n onChange(model);\n };\n\n /*\n * Function to handle the changes to line data on the graph\n * @param {object} gssLineData - line data on the graph\n * @param {string} oldSelectedTool - old selected tool\n * */\n onChangeGssLineData = (gssLineData, oldSelectedTool) => {\n const { model } = this.props;\n const { answers, domain, range } = model;\n //handle solution set changes\n if (gssLineData.selectedTool === 'solutionSet') {\n let lines = answers.correctAnswer.marks.filter((mark) => mark.type !== 'polygon');\n if (!checkIfLinesAreAdded(gssLineData, lines)) {\n gssLineData.selectedTool = oldSelectedTool;\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please define the line(s) and then select a solution set for the item.',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n } else {\n let lines = answers.correctAnswer.marks.filter((mark) => mark.type !== 'polygon');\n gssLineData = findSectionsInSolutionSet(gssLineData, lines, domain, range);\n }\n this.handleGssLineDataChange(gssLineData, answers);\n } else {\n let polygons = answers.correctAnswer.marks.filter((mark) => mark.type === 'polygon');\n if (oldSelectedTool === 'solutionSet' && polygons.length > 0) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Changing a line after adding a solution set will clear your selected solution set. Click \\'Clear Solution Set\\' to change the line. Otherwise, click \\'Cancel\\'.',\n onConfirm: () => {\n answers.correctAnswer.marks = answers.correctAnswer.marks.filter((mark) => mark.type !== 'polygon');\n this.handleGssLineDataChange(gssLineData, answers);\n this.handleAlertDialog(false);\n },\n onConfirmText: 'CLEAR SOLUTION SET',\n onClose: () => {\n gssLineData.selectedTool = oldSelectedTool;\n this.handleGssLineDataChange(gssLineData, answers);\n this.handleAlertDialog(false);\n },\n },\n });\n } else {\n this.handleGssLineDataChange(gssLineData, answers);\n }\n }\n };\n\n /*\n * Function to handle the changes to line data on the graph\n * @param {object} gssLineData - line data on the graph\n * @param {object} answers - correct answer\n * */\n handleGssLineDataChange = (gssLineData, answers) => {\n const { model, onChange } = this.props;\n //handle line type changes from solid to dashed and vice versa\n if (answers.correctAnswer.marks.length > 0 && answers.correctAnswer.marks[0] && gssLineData.lineA) {\n answers.correctAnswer.marks[0].fill = gssLineData.lineA.lineType;\n }\n if (answers.correctAnswer.marks.length > 1 && answers.correctAnswer.marks[1] && gssLineData.lineB) {\n answers.correctAnswer.marks[1].fill = gssLineData.lineB.lineType;\n }\n //check if line is added to the graph before switching to lineB\n if (\n (gssLineData.selectedTool === 'lineB' && answers.correctAnswer.marks.length === 0) ||\n (gssLineData.selectedTool === 'lineB' && answers.correctAnswer.marks[0].building)\n ) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please add Line A to the graph before adding Line B',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n gssLineData.selectedTool = 'lineA';\n }\n //check if lineB is added to the graph before switching to lineA\n if (\n gssLineData.selectedTool === 'lineA' &&\n answers.correctAnswer.marks.length > 1 &&\n answers.correctAnswer.marks[1].building\n ) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please add Line B to the graph before switching to Line A',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n gssLineData.selectedTool = 'lineB';\n }\n set(model, 'gssLineData', gssLineData);\n set(model, 'answers', answers);\n onChange(model);\n };\n\n /*\n * Function to update the model\n * @param {object} props - updated props\n * */\n updateModel = (props) => {\n const { model, onChange } = this.props;\n onChange({\n ...model,\n ...props,\n });\n };\n\n /*\n * Render the component\n * */\n render() {\n const { errors, model, mathMlOptions = {} } = this.props;\n const { dialog } = this.state;\n //get the default values to GssLineData\n const {\n gssLineData = {\n numberOfLines: 1,\n selectedTool: 'lineA',\n lineA: {\n lineType: 'Solid',\n },\n },\n arrows,\n coordinatesOnHover,\n domain,\n graph = {},\n labels,\n labelsEnabled,\n range,\n title,\n titleEnabled,\n answers,\n } = model || {};\n const { correctAnswerErrors = '' } = errors || {};\n return (\n <div>\n <Typography component=\"div\" variant=\"h6\">\n Define Line Type(s) and Correct Response\n </Typography>\n <SubtitleText component=\"div\" variant=\"body1\">\n Use this interface to choose how many lines students will be able to draw, and to define the correct answer.\n </SubtitleText>\n <SubtitleText component=\"div\" variant=\"body1\">\n Choose Number of Lines\n </SubtitleText>\n <RadioGroup name=\"numberOfLines\" value={gssLineData.numberOfLines} onChange={this.changeNumberOfLines}>\n <RadioButtonClass\n value=\"1\"\n control={<StyledRadio checked={gssLineData.numberOfLines === 1} />}\n label=\"One\"\n />\n <RadioButtonClass\n value=\"2\"\n control={<StyledRadio checked={gssLineData.numberOfLines === 2} />}\n label=\"Two\"\n />\n </RadioGroup>\n <React.Fragment>\n <Graph\n style={correctAnswerErrors['correctAnswer'] && { border: '2px solid red' }}\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n draggableTools={true}\n labels={labels}\n marks={answers && answers.correctAnswer && answers.correctAnswer.marks ? answers.correctAnswer.marks : []}\n onChangeMarks={(newMarks) => this.changeMarks(newMarks)}\n onCustomReset={this.onResetClick}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n gssLineData={gssLineData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n mathMlOptions={mathMlOptions}\n />\n {correctAnswerErrors['correctAnswer'] && (\n <ErrorMessage>{correctAnswerErrors['correctAnswer']}</ErrorMessage>\n )}\n </React.Fragment>\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n onConfirmText={dialog.onConfirmText ? dialog.onConfirmText : 'OK'}\n />\n </div>\n );\n }\n}\n\nexport default CorrectResponse;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"correct-response.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_graphingSolutionSet","_configUi","_lodashEs","_material","_Radio","_FormControlLabel","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SubtitleText","styled","Typography","theme","marginTop","spacing","marginBottom","RadioButtonClass","FormControlLabel","height","width","padding","StyledRadio","Radio","color","ErrorMessage","fontSize","typography","palette","error","main","paddingTop","CorrectResponse","Component","constructor","args","_defineProperty2","dialog","open","callback","setState","marks","model","onChange","props","gssLineData","selectedTool","length","fill","lineType","answers","title","text","onConfirm","correctAnswer","lineA","lineB","handleAlertDialog","onClose","value","changeLine","filter","mark","type","Number","parseInt","pop","numberOfLines","point","section","sections","pointInsidePolygon","polygon","points","building","closed","isSolution","push","oldSelectedTool","domain","range","lines","checkIfLinesAreAdded","findSectionsInSolutionSet","handleGssLineDataChange","polygons","onConfirmText","render","errors","mathMlOptions","state","arrows","coordinatesOnHover","graph","labels","labelsEnabled","titleEnabled","correctAnswerErrors","createElement","component","variant","RadioGroup","name","changeNumberOfLines","control","checked","label","Fragment","GraphContainer","style","border","axesSettings","includeArrows","backgroundMarks","disabledLabels","disabledTitle","draggableTools","onChangeMarks","newMarks","changeMarks","onCustomReset","onResetClick","showLabels","showTitle","size","onChangeGssLineData","onSolutionSetSelected","toolbarTools","AlertDialog","exports","PropTypes","object","isRequired","func","_default"],"sources":["../src/correct-response.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { GraphContainer as Graph } from '@pie-lib/graphing-solution-set';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { set } from 'lodash-es';\nimport { RadioGroup, Typography } from '@mui/material';\nimport Radio from '@mui/material/Radio';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport { findSectionsInSolutionSet, pointInsidePolygon, checkIfLinesAreAdded } from './utils';\n\nconst SubtitleText = styled(Typography)(({ theme }) => ({\n marginTop: theme.spacing(1.5),\n marginBottom: theme.spacing(1),\n}));\n\nconst RadioButtonClass = styled(FormControlLabel)({\n height: '20px',\n width: 'fit-content',\n padding: '.5rem 0',\n});\n\nconst StyledRadio = styled(Radio)({\n color: '#000000 !important',\n});\n\nconst ErrorMessage = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n errors: PropTypes.object,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n state = {\n dialog: {\n open: false,\n },\n };\n\n /*\n * Function to handle the alert dialog open and close\n * @param {boolean} open - open or close the dialog\n * @param {function} callback - callback function to be called after setting the state\n * */\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n /*\n * Function to change the marks on the graph\n * @param {array} marks - marks to be added on the graph\n * */\n changeMarks = (marks) => {\n const { model, onChange } = this.props;\n const { gssLineData } = model;\n if (gssLineData.selectedTool === 'lineA' && marks.length > 0) {\n marks[0].fill = gssLineData['lineA'].lineType;\n }\n if (gssLineData.selectedTool === 'lineB' && marks.length > 1) {\n marks[1].fill = gssLineData['lineB'].lineType;\n }\n if (marks.length === 0) {\n gssLineData.selectedTool = 'lineA';\n set(model, 'gssLineData', gssLineData);\n }\n set(model, 'answers.correctAnswer.marks', marks);\n onChange(model);\n };\n\n /*\n * Reset the graph to original state and remove all the elements added on the graph\n * */\n onResetClick = () => {\n const { model, onChange } = this.props;\n const { gssLineData, answers } = model;\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'This will remove all the elements added on the graph and reset graph to original state. Are you sure you want to continue?',\n onConfirm: () => {\n // Reset the graph to original state\n answers.correctAnswer.marks = [];\n gssLineData.selectedTool = 'lineA';\n gssLineData.lineA.lineType = 'Solid';\n if (gssLineData.lineB) gssLineData.lineB.lineType = 'Solid';\n set(model, 'answers', answers);\n set(model, 'gssLineData', gssLineData);\n onChange(model);\n this.handleAlertDialog(false);\n },\n onClose: () => this.handleAlertDialog(false),\n },\n });\n };\n\n /*\n * Function to change the number of lines on the graph\n * @param {object} e - event object\n * @param {number} value - number of lines to be added on the graph\n * */\n changeNumberOfLines = (e, value) => {\n const { model } = this.props;\n let gssLineData = model.gssLineData;\n if (gssLineData.selectedTool === 'solutionSet') {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Changing number of lines after adding solution set will remove added solution set. Are you sure you want to continue?',\n onConfirm: () => {\n this.changeLine(e, value);\n this.handleAlertDialog(false);\n },\n onClose: () => this.handleAlertDialog(false),\n },\n });\n } else {\n this.changeLine(e, value);\n }\n };\n\n /*\n * Function to change the number of line on the graph\n * @param {object} e - event object\n * @param {number} value - number of lines to be added on the graph\n * */\n changeLine = (e, value) => {\n const { model, onChange } = this.props;\n const { answers } = model;\n let gssLineData = model.gssLineData;\n //remove polygon from correct answer\n answers.correctAnswer.marks = answers.correctAnswer.marks.filter((mark) => mark.type !== 'polygon');\n if (Number.parseInt(value) === 1) {\n //remove lineB from gssLineData and correct answer\n delete gssLineData.lineB;\n if (answers.correctAnswer.marks.length > 1) answers.correctAnswer.marks.pop();\n gssLineData.numberOfLines = 1;\n gssLineData.selectedTool = 'lineA';\n } else {\n gssLineData.numberOfLines = 2;\n if (answers.correctAnswer.marks.length > 0) gssLineData.selectedTool = 'lineB';\n gssLineData.lineB = {\n lineType: 'Solid',\n };\n }\n //reset solution set\n set(model, 'answers', answers);\n set(model, 'gssLineData', gssLineData);\n onChange(model);\n };\n\n /*\n * Function to handle the changes to solution set on the graph\n * @param {object} point - point selected on the graph\n * */\n onSolutionSetSelected = (point) => {\n const { model, onChange } = this.props;\n const { answers, gssLineData } = model;\n for (const section of gssLineData.sections) {\n //check if the point is inside the polygon\n if (pointInsidePolygon(point, section)) {\n let polygon = {\n points: section,\n building: false,\n type: 'polygon',\n closed: true,\n isSolution: true,\n };\n //remove old answer section from correct answer\n answers.correctAnswer.marks = answers.correctAnswer.marks.filter((mark) => mark.type !== 'polygon');\n //add new answer section to correct answer\n answers.correctAnswer.marks.push(polygon);\n break;\n }\n }\n set(model, 'answers', answers);\n onChange(model);\n };\n\n /*\n * Function to handle the changes to line data on the graph\n * @param {object} gssLineData - line data on the graph\n * @param {string} oldSelectedTool - old selected tool\n * */\n onChangeGssLineData = (gssLineData, oldSelectedTool) => {\n const { model } = this.props;\n const { answers, domain, range } = model;\n //handle solution set changes\n if (gssLineData.selectedTool === 'solutionSet') {\n let lines = answers.correctAnswer.marks.filter((mark) => mark.type !== 'polygon');\n if (!checkIfLinesAreAdded(gssLineData, lines)) {\n gssLineData.selectedTool = oldSelectedTool;\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please define the line(s) and then select a solution set for the item.',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n } else {\n let lines = answers.correctAnswer.marks.filter((mark) => mark.type !== 'polygon');\n gssLineData = findSectionsInSolutionSet(gssLineData, lines, domain, range);\n }\n this.handleGssLineDataChange(gssLineData, answers);\n } else {\n let polygons = answers.correctAnswer.marks.filter((mark) => mark.type === 'polygon');\n if (oldSelectedTool === 'solutionSet' && polygons.length > 0) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Changing a line after adding a solution set will clear your selected solution set. Click \\'Clear Solution Set\\' to change the line. Otherwise, click \\'Cancel\\'.',\n onConfirm: () => {\n answers.correctAnswer.marks = answers.correctAnswer.marks.filter((mark) => mark.type !== 'polygon');\n this.handleGssLineDataChange(gssLineData, answers);\n this.handleAlertDialog(false);\n },\n onConfirmText: 'CLEAR SOLUTION SET',\n onClose: () => {\n gssLineData.selectedTool = oldSelectedTool;\n this.handleGssLineDataChange(gssLineData, answers);\n this.handleAlertDialog(false);\n },\n },\n });\n } else {\n this.handleGssLineDataChange(gssLineData, answers);\n }\n }\n };\n\n /*\n * Function to handle the changes to line data on the graph\n * @param {object} gssLineData - line data on the graph\n * @param {object} answers - correct answer\n * */\n handleGssLineDataChange = (gssLineData, answers) => {\n const { model, onChange } = this.props;\n //handle line type changes from solid to dashed and vice versa\n if (answers.correctAnswer.marks.length > 0 && answers.correctAnswer.marks[0] && gssLineData.lineA) {\n answers.correctAnswer.marks[0].fill = gssLineData.lineA.lineType;\n }\n if (answers.correctAnswer.marks.length > 1 && answers.correctAnswer.marks[1] && gssLineData.lineB) {\n answers.correctAnswer.marks[1].fill = gssLineData.lineB.lineType;\n }\n //check if line is added to the graph before switching to lineB\n if (\n (gssLineData.selectedTool === 'lineB' && answers.correctAnswer.marks.length === 0) ||\n (gssLineData.selectedTool === 'lineB' && answers.correctAnswer.marks[0].building)\n ) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please add Line A to the graph before adding Line B',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n gssLineData.selectedTool = 'lineA';\n }\n //check if lineB is added to the graph before switching to lineA\n if (\n gssLineData.selectedTool === 'lineA' &&\n answers.correctAnswer.marks.length > 1 &&\n answers.correctAnswer.marks[1].building\n ) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please add Line B to the graph before switching to Line A',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n gssLineData.selectedTool = 'lineB';\n }\n set(model, 'gssLineData', gssLineData);\n set(model, 'answers', answers);\n onChange(model);\n };\n\n /*\n * Function to update the model\n * @param {object} props - updated props\n * */\n updateModel = (props) => {\n const { model, onChange } = this.props;\n onChange({\n ...model,\n ...props,\n });\n };\n\n /*\n * Render the component\n * */\n render() {\n const { errors, model, mathMlOptions = {} } = this.props;\n const { dialog } = this.state;\n //get the default values to GssLineData\n const {\n gssLineData = {\n numberOfLines: 1,\n selectedTool: 'lineA',\n lineA: {\n lineType: 'Solid',\n },\n },\n arrows,\n coordinatesOnHover,\n domain,\n graph = {},\n labels,\n labelsEnabled,\n range,\n title,\n titleEnabled,\n answers,\n } = model || {};\n const { correctAnswerErrors = '' } = errors || {};\n return (\n <div>\n <Typography component=\"div\" variant=\"h6\">\n Define Line Type(s) and Correct Response\n </Typography>\n <SubtitleText component=\"div\" variant=\"body1\">\n Use this interface to choose how many lines students will be able to draw, and to define the correct answer.\n </SubtitleText>\n <SubtitleText component=\"div\" variant=\"body1\">\n Choose Number of Lines\n </SubtitleText>\n <RadioGroup name=\"numberOfLines\" value={gssLineData.numberOfLines} onChange={this.changeNumberOfLines}>\n <RadioButtonClass\n value=\"1\"\n control={<StyledRadio checked={gssLineData.numberOfLines === 1} />}\n label=\"One\"\n />\n <RadioButtonClass\n value=\"2\"\n control={<StyledRadio checked={gssLineData.numberOfLines === 2} />}\n label=\"Two\"\n />\n </RadioGroup>\n <React.Fragment>\n <Graph\n style={correctAnswerErrors['correctAnswer'] && { border: '2px solid red' }}\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n draggableTools={true}\n labels={labels}\n marks={answers && answers.correctAnswer && answers.correctAnswer.marks ? answers.correctAnswer.marks : []}\n onChangeMarks={(newMarks) => this.changeMarks(newMarks)}\n onCustomReset={this.onResetClick}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n gssLineData={gssLineData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n mathMlOptions={mathMlOptions}\n />\n {correctAnswerErrors['correctAnswer'] && (\n <ErrorMessage>{correctAnswerErrors['correctAnswer']}</ErrorMessage>\n )}\n </React.Fragment>\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n onConfirmText={dialog.onConfirmText ? dialog.onConfirmText : 'OK'}\n />\n </div>\n );\n }\n}\n\nexport default CorrectResponse;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ var _configUi = require("@pie-lib/config-ui");
|
|
|
13
13
|
var _material = require("@mui/material");
|
|
14
14
|
var _styles = require("@mui/material/styles");
|
|
15
15
|
var _utils = require("./utils");
|
|
16
|
-
var
|
|
16
|
+
var _lodashEs = require("lodash-es");
|
|
17
17
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
18
|
const Container = (0, _styles.styled)('div')(({
|
|
19
19
|
theme
|
|
@@ -145,10 +145,10 @@ class GraphingConfig extends React.Component {
|
|
|
145
145
|
labelValues.range = rangeConstraints.labelValues || [];
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
-
const filteredAnswers = (0,
|
|
148
|
+
const filteredAnswers = (0, _lodashEs.cloneDeep)(answers);
|
|
149
149
|
filteredAnswers.correctAnswer.marks = answers.correctAnswer.marks.filter(mark => mark.type !== 'polygon');
|
|
150
150
|
const plotableAnswers = (0, _utils.filterPlotableMarks)(domain, range, filteredAnswers);
|
|
151
|
-
if (!(0,
|
|
151
|
+
if (!(0, _lodashEs.isEqual)(filteredAnswers, plotableAnswers)) {
|
|
152
152
|
this.setState({
|
|
153
153
|
dialog: {
|
|
154
154
|
isOpened: true,
|
|
@@ -1 +1 @@
|
|
|
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":[]}
|
|
1
|
+
{"version":3,"file":"graphing-config.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_graphingSolutionSet","_configUi","_material","_styles","_utils","_lodashEs","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-es';\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/utils.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.pointInsidePolygon = exports.getLabelValues = exports.getGridValues = exports.findSectionsInSolutionSet = exports.filterPlotableMarks = exports.checkIfLinesAreAdded = exports.applyConstraints = exports.VALID_LABEL_VALUES = void 0;
|
|
8
|
-
var
|
|
7
|
+
var _lodashEs = require("lodash-es");
|
|
9
8
|
/*Valid grid values*/
|
|
10
9
|
const VALID_GRID_VALUES = [0.01, 0.02, 0.04, 0.05, 0.0625, 0.1, 0.125, 0.2, 0.25, 0.5, 1, 2, 3, 4, 5, 8, 10, 12, 15, 20, 40, 50, 64, 100, 500, 1000];
|
|
11
10
|
|
|
@@ -73,7 +72,7 @@ exports.getLabelValues = getLabelValues;
|
|
|
73
72
|
const applyConstraints = (axis, size, oldGridValues, oldLabelValues) => {
|
|
74
73
|
const gridValues = getGridValues(axis, size);
|
|
75
74
|
let labelValues = getLabelValues(axis.step);
|
|
76
|
-
if (!(0,
|
|
75
|
+
if (!(0, _lodashEs.isEqual)(oldGridValues, gridValues) && !gridValues.includes(axis.step)) {
|
|
77
76
|
const preferredValues = getGridValues(axis, size, true);
|
|
78
77
|
const lowestValue = preferredValues[0] || 1;
|
|
79
78
|
axis.step = lowestValue;
|
|
@@ -86,7 +85,7 @@ const applyConstraints = (axis, size, oldGridValues, oldLabelValues) => {
|
|
|
86
85
|
labelValues
|
|
87
86
|
};
|
|
88
87
|
}
|
|
89
|
-
if (!(0,
|
|
88
|
+
if (!(0, _lodashEs.isEqual)(oldLabelValues, labelValues) && !labelValues.includes(axis.labelStep)) {
|
|
90
89
|
axis.labelStep = axis.step;
|
|
91
90
|
}
|
|
92
91
|
return {
|