@pie-element/graphing-solution-set 2.3.8 → 2.3.10-next.86

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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.3.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-solution-set@2.3.8...@pie-element/graphing-solution-set@2.3.9) (2025-09-11)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * update pie-lib/pie-toolbox PD-5198, PD-5187 ([f04a94c](https://github.com/pie-framework/pie-elements/commit/f04a94c62a29d77fcb17b473b7de1022ad65eeb4))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [2.3.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-solution-set@2.3.7...@pie-element/graphing-solution-set@2.3.8) (2025-09-09)
7
18
 
8
19
 
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.3.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-solution-set-configure@2.3.8...@pie-element/graphing-solution-set-configure@2.3.9) (2025-09-11)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * update pie-lib/pie-toolbox PD-5198, PD-5187 ([f04a94c](https://github.com/pie-framework/pie-elements/commit/f04a94c62a29d77fcb17b473b7de1022ad65eeb4))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [2.3.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-solution-set-configure@2.3.7...@pie-element/graphing-solution-set-configure@2.3.8) (2025-09-09)
7
18
 
8
19
 
@@ -25,7 +25,7 @@ var _react = _interopRequireDefault(require("react"));
25
25
 
26
26
  var _styles = require("@material-ui/core/styles");
27
27
 
28
- var _configUi = require("@pie-lib/pie-toolbox/config-ui");
28
+ var _configUi = require("@pie-lib/config-ui");
29
29
 
30
30
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
31
 
@@ -33,7 +33,7 @@ var _debug = _interopRequireDefault(require("debug"));
33
33
 
34
34
  var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
35
35
 
36
- var _editableHtml = require("@pie-lib/pie-toolbox/editable-html");
36
+ var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
37
37
 
38
38
  var _graphingConfig = _interopRequireDefault(require("./graphing-config"));
39
39
 
@@ -303,7 +303,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
303
303
  }, (instruction === null || instruction === void 0 ? void 0 : instruction.label) || ''), teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
304
304
  label: teacherInstructions.label,
305
305
  className: classes.promptHolder
306
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
306
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
307
307
  className: classes.prompt,
308
308
  markup: model.teacherInstructions || '',
309
309
  onChange: this.onTeacherInstructionsChange,
@@ -322,7 +322,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
322
322
  })), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
323
323
  label: prompt.label,
324
324
  className: classes.promptHolder
325
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
325
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
326
326
  className: classes.prompt,
327
327
  markup: model.prompt,
328
328
  onChange: this.onPromptChange,
@@ -359,7 +359,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
359
359
  }), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
360
360
  label: rationale.label || 'Rationale',
361
361
  className: classes.promptHolder
362
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
362
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
363
363
  className: classes.prompt,
364
364
  markup: model.rationale || '',
365
365
  onChange: this.onRationaleChange,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/configure.jsx"],"names":["Panel","settings","toggle","radio","checkboxes","textField","dropdown","log","styles","theme","title","fontSize","display","marginTop","spacing","unit","marginBottom","promptHolder","width","paddingTop","description","Configure","rationale","props","onModelChanged","model","prompt","teacherInstructions","configuration","graphDimensions","arrows","showTitle","titleEnabled","showDimensions","dimensionsEnabled","left","right","up","down","undefined","enabled","classes","onConfigurationChanged","imageSupport","uploadSoundSupport","authoring","coordinatesOnHover","contentDimensions","gridConfigurations","instruction","labels","padding","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","withRubric","language","languageChoices","mathMlOptions","errors","extraCSSRules","labelsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","defaultImageMaxWidth","defaultImageMaxHeight","labelsPlaceholders","top","bottom","panelItemType","label","options","panelProperties","studentInstructionsEnabled","rubricEnabled","Settings","Properties","onTeacherInstructionsChange","onPromptChange","placeholder","onRationaleChange","React","Component","PropTypes","func","object","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { settings, layout, InputContainer } from '@pie-lib/pie-toolbox/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@material-ui/core/Typography';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport GraphingConfig from './graphing-config';\nimport CorrectResponse from './correct-response';\nimport intersection from 'lodash/intersection';\n\nconst { Panel, toggle, radio, checkboxes, textField, dropdown } = settings;\nconst log = debug('@pie-element:graphing-solution-set:configure');\n\nconst styles = (theme) => ({\n title: {\n fontSize: '1.1rem',\n display: 'block',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit,\n },\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n marginTop: theme.spacing.unit * 2,\n },\n description: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n});\n\nexport class Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n };\n\n static defaultProps = { classes: {} };\n\n /*\n * Triggered when configure component is mounted\n * */\n componentDidMount() {\n const { configuration, onModelChanged, model } = this.props;\n const { title, graphDimensions } = configuration || {};\n let { arrows, titleEnabled: showTitle, dimensionsEnabled: showDimensions } = model || {};\n // This is used for offering support for old models which have the property arrows: boolean\n // Same thing is set in the controller: packages/graphing/controller/src/index.js - model\n if (typeof arrows === 'boolean') {\n if (arrows) {\n arrows = { left: true, right: true, up: true, down: true };\n } else {\n arrows = { left: false, right: false, up: false, down: false };\n }\n }\n const titleEnabled = showTitle === undefined || showTitle === null ? title.enabled : showTitle;\n const dimensionsEnabled =\n showDimensions === undefined || showDimensions === null ? graphDimensions.enabled : showDimensions;\n onModelChanged && onModelChanged({ ...model, arrows, titleEnabled, dimensionsEnabled });\n }\n\n /*\n * Triggered when the rationale is changed\n * @param {string} rationale - The new rationale\n * */\n onRationaleChange = (rationale) => {\n const { onModelChanged, model } = this.props;\n onModelChanged({ ...model, rationale });\n };\n\n /*\n * Triggered when the prompt is changed\n * @param {string} prompt - The new prompt\n * */\n onPromptChange = (prompt) => {\n const { onModelChanged, model } = this.props;\n onModelChanged({ ...model, prompt });\n };\n\n /*\n * Triggered when the teacher instructions are changed\n * @param {string} teacherInstructions - The new teacher instructions\n * */\n onTeacherInstructionsChange = (teacherInstructions) => {\n const { onModelChanged, model } = this.props;\n onModelChanged({ ...model, teacherInstructions });\n };\n\n /*\n * Render the component\n * */\n render() {\n const { classes, model, configuration, onConfigurationChanged, onModelChanged, imageSupport, uploadSoundSupport } =\n this.props;\n const {\n arrows = {},\n authoring = {},\n coordinatesOnHover = {},\n contentDimensions = {},\n gridConfigurations = [],\n graphDimensions = {},\n instruction = {},\n labels = {},\n padding = {},\n prompt = {},\n rationale = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n title = {},\n maxImageWidth = {},\n maxImageHeight = {},\n withRubric = {},\n language = {},\n languageChoices = {},\n mathMlOptions = {},\n } = configuration || {};\n const {\n errors = {},\n extraCSSRules,\n labelsEnabled,\n dimensionsEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n titleEnabled,\n } = model || {};\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n const labelsPlaceholders = {\n top: labels.top,\n right: labels.right,\n bottom: labels.bottom,\n left: labels.left,\n };\n const panelItemType = {\n arrows:\n arrows.settings &&\n checkboxes(arrows.label, {\n left: arrows.left,\n right: arrows.right,\n up: arrows.up,\n down: arrows.down,\n }),\n titleEnabled: title.settings && toggle(title.label),\n padding: padding.settings && toggle(padding.label),\n labelsEnabled: labels.settings && toggle(labels.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n dimensionsEnabled: graphDimensions.settings && toggle(graphDimensions.label),\n coordinatesOnHover: coordinatesOnHover.settings && toggle(coordinatesOnHover.label),\n };\n const panelProperties = {\n 'authoring.enabled': authoring.settings && toggle(authoring.label, true),\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['dichotomous', 'partial scoring']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n instruction: instruction.settings && textField(instruction.label),\n };\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onModelChanged}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelItemType,\n Properties: panelProperties,\n }}\n />\n }\n >\n <Typography component=\"div\" type=\"body1\" className={classes.description}>\n {instruction?.label || ''}\n </Typography>\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n disableUnderline\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n <GraphingConfig\n authoring={authoring}\n gridConfigurations={gridConfigurations}\n graphDimensions={graphDimensions}\n labelsPlaceholders={labelsPlaceholders}\n model={model}\n showLabels={labelsEnabled}\n dimensionsEnabled={dimensionsEnabled}\n showTitle={titleEnabled}\n titlePlaceholder={title.placeholder}\n onChange={this.props.onModelChanged}\n mathMlOptions={mathMlOptions}\n />\n <CorrectResponse\n errors={errors}\n model={model}\n onChange={this.props.onModelChanged}\n mathMlOptions={mathMlOptions}\n />\n {rationaleEnabled && (\n <InputContainer label={rationale.label || 'Rationale'} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
1
+ {"version":3,"sources":["../src/configure.jsx"],"names":["Panel","settings","toggle","radio","checkboxes","textField","dropdown","log","styles","theme","title","fontSize","display","marginTop","spacing","unit","marginBottom","promptHolder","width","paddingTop","description","Configure","rationale","props","onModelChanged","model","prompt","teacherInstructions","configuration","graphDimensions","arrows","showTitle","titleEnabled","showDimensions","dimensionsEnabled","left","right","up","down","undefined","enabled","classes","onConfigurationChanged","imageSupport","uploadSoundSupport","authoring","coordinatesOnHover","contentDimensions","gridConfigurations","instruction","labels","padding","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","withRubric","language","languageChoices","mathMlOptions","errors","extraCSSRules","labelsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","defaultImageMaxWidth","defaultImageMaxHeight","labelsPlaceholders","top","bottom","panelItemType","label","options","panelProperties","studentInstructionsEnabled","rubricEnabled","Settings","Properties","onTeacherInstructionsChange","onPromptChange","placeholder","onRationaleChange","React","Component","PropTypes","func","object","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@material-ui/core/Typography';\nimport EditableHtml from '@pie-lib/editable-html';\nimport GraphingConfig from './graphing-config';\nimport CorrectResponse from './correct-response';\nimport intersection from 'lodash/intersection';\n\nconst { Panel, toggle, radio, checkboxes, textField, dropdown } = settings;\nconst log = debug('@pie-element:graphing-solution-set:configure');\n\nconst styles = (theme) => ({\n title: {\n fontSize: '1.1rem',\n display: 'block',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit,\n },\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n marginTop: theme.spacing.unit * 2,\n },\n description: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n});\n\nexport class Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n };\n\n static defaultProps = { classes: {} };\n\n /*\n * Triggered when configure component is mounted\n * */\n componentDidMount() {\n const { configuration, onModelChanged, model } = this.props;\n const { title, graphDimensions } = configuration || {};\n let { arrows, titleEnabled: showTitle, dimensionsEnabled: showDimensions } = model || {};\n // This is used for offering support for old models which have the property arrows: boolean\n // Same thing is set in the controller: packages/graphing/controller/src/index.js - model\n if (typeof arrows === 'boolean') {\n if (arrows) {\n arrows = { left: true, right: true, up: true, down: true };\n } else {\n arrows = { left: false, right: false, up: false, down: false };\n }\n }\n const titleEnabled = showTitle === undefined || showTitle === null ? title.enabled : showTitle;\n const dimensionsEnabled =\n showDimensions === undefined || showDimensions === null ? graphDimensions.enabled : showDimensions;\n onModelChanged && onModelChanged({ ...model, arrows, titleEnabled, dimensionsEnabled });\n }\n\n /*\n * Triggered when the rationale is changed\n * @param {string} rationale - The new rationale\n * */\n onRationaleChange = (rationale) => {\n const { onModelChanged, model } = this.props;\n onModelChanged({ ...model, rationale });\n };\n\n /*\n * Triggered when the prompt is changed\n * @param {string} prompt - The new prompt\n * */\n onPromptChange = (prompt) => {\n const { onModelChanged, model } = this.props;\n onModelChanged({ ...model, prompt });\n };\n\n /*\n * Triggered when the teacher instructions are changed\n * @param {string} teacherInstructions - The new teacher instructions\n * */\n onTeacherInstructionsChange = (teacherInstructions) => {\n const { onModelChanged, model } = this.props;\n onModelChanged({ ...model, teacherInstructions });\n };\n\n /*\n * Render the component\n * */\n render() {\n const { classes, model, configuration, onConfigurationChanged, onModelChanged, imageSupport, uploadSoundSupport } =\n this.props;\n const {\n arrows = {},\n authoring = {},\n coordinatesOnHover = {},\n contentDimensions = {},\n gridConfigurations = [],\n graphDimensions = {},\n instruction = {},\n labels = {},\n padding = {},\n prompt = {},\n rationale = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n title = {},\n maxImageWidth = {},\n maxImageHeight = {},\n withRubric = {},\n language = {},\n languageChoices = {},\n mathMlOptions = {},\n } = configuration || {};\n const {\n errors = {},\n extraCSSRules,\n labelsEnabled,\n dimensionsEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n titleEnabled,\n } = model || {};\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n const labelsPlaceholders = {\n top: labels.top,\n right: labels.right,\n bottom: labels.bottom,\n left: labels.left,\n };\n const panelItemType = {\n arrows:\n arrows.settings &&\n checkboxes(arrows.label, {\n left: arrows.left,\n right: arrows.right,\n up: arrows.up,\n down: arrows.down,\n }),\n titleEnabled: title.settings && toggle(title.label),\n padding: padding.settings && toggle(padding.label),\n labelsEnabled: labels.settings && toggle(labels.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n dimensionsEnabled: graphDimensions.settings && toggle(graphDimensions.label),\n coordinatesOnHover: coordinatesOnHover.settings && toggle(coordinatesOnHover.label),\n };\n const panelProperties = {\n 'authoring.enabled': authoring.settings && toggle(authoring.label, true),\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['dichotomous', 'partial scoring']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n instruction: instruction.settings && textField(instruction.label),\n };\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onModelChanged}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelItemType,\n Properties: panelProperties,\n }}\n />\n }\n >\n <Typography component=\"div\" type=\"body1\" className={classes.description}>\n {instruction?.label || ''}\n </Typography>\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n disableUnderline\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n <GraphingConfig\n authoring={authoring}\n gridConfigurations={gridConfigurations}\n graphDimensions={graphDimensions}\n labelsPlaceholders={labelsPlaceholders}\n model={model}\n showLabels={labelsEnabled}\n dimensionsEnabled={dimensionsEnabled}\n showTitle={titleEnabled}\n titlePlaceholder={title.placeholder}\n onChange={this.props.onModelChanged}\n mathMlOptions={mathMlOptions}\n />\n <CorrectResponse\n errors={errors}\n model={model}\n onChange={this.props.onModelChanged}\n mathMlOptions={mathMlOptions}\n />\n {rationaleEnabled && (\n <InputContainer label={rationale.label || 'Rationale'} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
@@ -29,9 +29,9 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
29
29
 
30
30
  var _styles = require("@material-ui/core/styles");
31
31
 
32
- var _graphingSolutionSet = require("@pie-lib/pie-toolbox/graphing-solution-set");
32
+ var _graphingSolutionSet = require("@pie-lib/graphing-solution-set");
33
33
 
34
- var _configUi = require("@pie-lib/pie-toolbox/config-ui");
34
+ var _configUi = require("@pie-lib/config-ui");
35
35
 
36
36
  var _lodash = require("lodash");
37
37
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/correct-response.jsx"],"names":["styles","theme","column","flex","graphingTools","color","palette","grey","availableTool","cursor","margin","spacing","unit","padding","border","common","white","textTransform","selectedTool","background","container","borderRadius","button","width","responseTitle","display","alignItems","marginTop","iconButton","marginLeft","black","name","marginBottom","tooltip","fontSize","typography","whiteSpace","maxWidth","subtitleText","toolsHeader","justifyContent","defaultTool","defaultToolSelect","menuItem","noDefaultTool","error","main","errorMessage","graphError","radioButtonClass","height","radioButton","CorrectResponse","dialog","open","callback","setState","marks","props","model","onChange","gssLineData","length","fill","lineType","answers","title","text","onConfirm","correctAnswer","lineA","lineB","handleAlertDialog","onClose","e","value","changeLine","filter","mark","type","Number","parseInt","pop","numberOfLines","point","sections","section","polygon","points","building","closed","isSolution","push","oldSelectedTool","domain","range","lines","handleGssLineDataChange","polygons","onConfirmText","classes","errors","mathMlOptions","state","arrows","coordinatesOnHover","graph","labels","labelsEnabled","titleEnabled","correctAnswerErrors","changeNumberOfLines","includeArrows","newMarks","changeMarks","onResetClick","onChangeGssLineData","onSolutionSetSelected","React","Component","PropTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { GraphContainer as Graph } from '@pie-lib/pie-toolbox/graphing-solution-set';\nimport { AlertDialog } from '@pie-lib/pie-toolbox/config-ui';\nimport { set } from 'lodash';\nimport { RadioGroup, Typography } from '@material-ui/core';\nimport Radio from '@material-ui/core/Radio';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport { findSectionsInSolutionSet, pointInsidePolygon, checkIfLinesAreAdded } from './utils';\n\nconst styles = (theme) => ({\n column: {\n flex: 1,\n },\n graphingTools: {\n color: theme.palette.grey['A200'],\n },\n availableTool: {\n cursor: 'pointer',\n margin: theme.spacing.unit,\n padding: theme.spacing.unit,\n border: `2px solid ${theme.palette.common.white}`,\n textTransform: 'capitalize',\n '&:hover': {\n color: theme.palette.grey[800],\n },\n },\n selectedTool: {\n background: theme.palette.grey['A100'],\n border: `2px solid ${theme.palette.grey['A200']}`,\n },\n container: {\n border: `2px solid ${theme.palette.grey['A200']}`,\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit * 4}px ${theme.spacing.unit * 2}px`,\n background: theme.palette.grey[50],\n },\n button: {\n margin: `${theme.spacing.unit * 2.5}px 0`,\n cursor: 'pointer',\n background: theme.palette.grey[200],\n padding: theme.spacing.unit * 1.5,\n width: 'fit-content',\n borderRadius: '4px',\n '&:hover': {\n background: theme.palette.grey['A100'],\n },\n },\n responseTitle: {\n display: 'flex',\n alignItems: 'center',\n marginTop: theme.spacing.unit * 2.5,\n },\n iconButton: {\n marginLeft: '6px',\n color: theme.palette.grey[600],\n '&:hover': {\n cursor: 'pointer',\n color: theme.palette.common.black,\n },\n },\n name: {\n marginBottom: theme.spacing.unit / 2,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit,\n },\n toolsHeader: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n defaultTool: {\n display: 'flex',\n alignItems: 'center',\n width: '300px',\n },\n defaultToolSelect: {\n marginLeft: theme.spacing.unit,\n textTransform: 'uppercase',\n color: theme.palette.grey[800],\n },\n menuItem: {\n textTransform: 'uppercase',\n },\n noDefaultTool: {\n padding: theme.spacing.unit / 2,\n },\n error: {\n color: theme.palette.error.main,\n },\n errorMessage: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n marginTop: theme.spacing.unit,\n },\n graphError: {\n border: `2px solid ${theme.palette.error.main}`,\n },\n radioButtonClass: {\n height: '20px',\n width: 'fit-content',\n padding: '.5rem 0',\n },\n radioButton: {\n color: '#000000 !important',\n },\n});\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\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 { classes, 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 marks,\n answers,\n } = model || {};\n const { correctAnswerErrors = '' } = errors || {};\n return (\n <div>\n <Typography component=\"div\" variant=\"subheading\">\n Define Line Type(s) and Correct Response\n </Typography>\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Use this interface to choose how many lines students will be able to draw, and to define the correct answer.\n </Typography>\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Choose Number of Lines\n </Typography>\n <RadioGroup name=\"numberOfLines\" value={gssLineData.numberOfLines} onChange={this.changeNumberOfLines}>\n <FormControlLabel\n className={classes.radioButtonClass}\n value=\"1\"\n control={<Radio checked={gssLineData.numberOfLines === 1} className={classes.radioButton} />}\n label=\"One\"\n />\n <FormControlLabel\n className={classes.radioButtonClass}\n value=\"2\"\n control={<Radio checked={gssLineData.numberOfLines === 2} className={classes.radioButton} />}\n label=\"Two\"\n />\n </RadioGroup>\n <React.Fragment>\n <Graph\n className={correctAnswerErrors['correctAnswer'] && classes.graphError}\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 <div className={classes.errorMessage}>{correctAnswerErrors['correctAnswer']}</div>\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 withStyles(styles)(CorrectResponse);\n"],"file":"correct-response.js"}
1
+ {"version":3,"sources":["../src/correct-response.jsx"],"names":["styles","theme","column","flex","graphingTools","color","palette","grey","availableTool","cursor","margin","spacing","unit","padding","border","common","white","textTransform","selectedTool","background","container","borderRadius","button","width","responseTitle","display","alignItems","marginTop","iconButton","marginLeft","black","name","marginBottom","tooltip","fontSize","typography","whiteSpace","maxWidth","subtitleText","toolsHeader","justifyContent","defaultTool","defaultToolSelect","menuItem","noDefaultTool","error","main","errorMessage","graphError","radioButtonClass","height","radioButton","CorrectResponse","dialog","open","callback","setState","marks","props","model","onChange","gssLineData","length","fill","lineType","answers","title","text","onConfirm","correctAnswer","lineA","lineB","handleAlertDialog","onClose","e","value","changeLine","filter","mark","type","Number","parseInt","pop","numberOfLines","point","sections","section","polygon","points","building","closed","isSolution","push","oldSelectedTool","domain","range","lines","handleGssLineDataChange","polygons","onConfirmText","classes","errors","mathMlOptions","state","arrows","coordinatesOnHover","graph","labels","labelsEnabled","titleEnabled","correctAnswerErrors","changeNumberOfLines","includeArrows","newMarks","changeMarks","onResetClick","onChangeGssLineData","onSolutionSetSelected","React","Component","PropTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/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 '@material-ui/core';\nimport Radio from '@material-ui/core/Radio';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport { findSectionsInSolutionSet, pointInsidePolygon, checkIfLinesAreAdded } from './utils';\n\nconst styles = (theme) => ({\n column: {\n flex: 1,\n },\n graphingTools: {\n color: theme.palette.grey['A200'],\n },\n availableTool: {\n cursor: 'pointer',\n margin: theme.spacing.unit,\n padding: theme.spacing.unit,\n border: `2px solid ${theme.palette.common.white}`,\n textTransform: 'capitalize',\n '&:hover': {\n color: theme.palette.grey[800],\n },\n },\n selectedTool: {\n background: theme.palette.grey['A100'],\n border: `2px solid ${theme.palette.grey['A200']}`,\n },\n container: {\n border: `2px solid ${theme.palette.grey['A200']}`,\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit * 4}px ${theme.spacing.unit * 2}px`,\n background: theme.palette.grey[50],\n },\n button: {\n margin: `${theme.spacing.unit * 2.5}px 0`,\n cursor: 'pointer',\n background: theme.palette.grey[200],\n padding: theme.spacing.unit * 1.5,\n width: 'fit-content',\n borderRadius: '4px',\n '&:hover': {\n background: theme.palette.grey['A100'],\n },\n },\n responseTitle: {\n display: 'flex',\n alignItems: 'center',\n marginTop: theme.spacing.unit * 2.5,\n },\n iconButton: {\n marginLeft: '6px',\n color: theme.palette.grey[600],\n '&:hover': {\n cursor: 'pointer',\n color: theme.palette.common.black,\n },\n },\n name: {\n marginBottom: theme.spacing.unit / 2,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit,\n },\n toolsHeader: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n defaultTool: {\n display: 'flex',\n alignItems: 'center',\n width: '300px',\n },\n defaultToolSelect: {\n marginLeft: theme.spacing.unit,\n textTransform: 'uppercase',\n color: theme.palette.grey[800],\n },\n menuItem: {\n textTransform: 'uppercase',\n },\n noDefaultTool: {\n padding: theme.spacing.unit / 2,\n },\n error: {\n color: theme.palette.error.main,\n },\n errorMessage: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n marginTop: theme.spacing.unit,\n },\n graphError: {\n border: `2px solid ${theme.palette.error.main}`,\n },\n radioButtonClass: {\n height: '20px',\n width: 'fit-content',\n padding: '.5rem 0',\n },\n radioButton: {\n color: '#000000 !important',\n },\n});\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\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 { classes, 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 marks,\n answers,\n } = model || {};\n const { correctAnswerErrors = '' } = errors || {};\n return (\n <div>\n <Typography component=\"div\" variant=\"subheading\">\n Define Line Type(s) and Correct Response\n </Typography>\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Use this interface to choose how many lines students will be able to draw, and to define the correct answer.\n </Typography>\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Choose Number of Lines\n </Typography>\n <RadioGroup name=\"numberOfLines\" value={gssLineData.numberOfLines} onChange={this.changeNumberOfLines}>\n <FormControlLabel\n className={classes.radioButtonClass}\n value=\"1\"\n control={<Radio checked={gssLineData.numberOfLines === 1} className={classes.radioButton} />}\n label=\"One\"\n />\n <FormControlLabel\n className={classes.radioButtonClass}\n value=\"2\"\n control={<Radio checked={gssLineData.numberOfLines === 2} className={classes.radioButton} />}\n label=\"Two\"\n />\n </RadioGroup>\n <React.Fragment>\n <Graph\n className={correctAnswerErrors['correctAnswer'] && classes.graphError}\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 <div className={classes.errorMessage}>{correctAnswerErrors['correctAnswer']}</div>\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 withStyles(styles)(CorrectResponse);\n"],"file":"correct-response.js"}
@@ -29,9 +29,9 @@ var React = _interopRequireWildcard(require("react"));
29
29
 
30
30
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
31
 
32
- var _graphingSolutionSet = require("@pie-lib/pie-toolbox/graphing-solution-set");
32
+ var _graphingSolutionSet = require("@pie-lib/graphing-solution-set");
33
33
 
34
- var _configUi = require("@pie-lib/pie-toolbox/config-ui");
34
+ var _configUi = require("@pie-lib/config-ui");
35
35
 
36
36
  var _core = require("@material-ui/core");
37
37
 
@@ -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/pie-toolbox/graphing-solution-set';\nimport { AlertDialog } from '@pie-lib/pie-toolbox/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,"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"}
@@ -35,7 +35,7 @@ var _debug = _interopRequireDefault(require("debug"));
35
35
 
36
36
  var _defaults = _interopRequireDefault(require("./defaults"));
37
37
 
38
- var _mathRendering = require("@pie-lib/pie-toolbox/math-rendering");
38
+ var _mathRendering = require("@pie-lib/math-rendering");
39
39
 
40
40
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
41
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","sortedAnswers","answers","Object","keys","sort","reduce","result","key","GraphLinesConfigure","model","_model","_render","dispatchEvent","ModelUpdatedEvent","config","_configuration","handler","InsertImageEvent","src","done","DeleteImageEvent","createDefaultModel","defaultValues","configuration","m","c","language","enabled","languageChoices","options","length","value","settings","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","bind","onDeleteSound","ReactDOM","render","HTMLElement","normalizedModel","domain","graph","range","standardGrid","correctAnswer","min","max","step","labelStep","height","width"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Configure from './configure';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport defaultValues from './defaults';\nimport { renderMath } from '@pie-lib/pie-toolbox/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._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 ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","sortedAnswers","answers","Object","keys","sort","reduce","result","key","GraphLinesConfigure","model","_model","_render","dispatchEvent","ModelUpdatedEvent","config","_configuration","handler","InsertImageEvent","src","done","DeleteImageEvent","createDefaultModel","defaultValues","configuration","m","c","language","enabled","languageChoices","options","length","value","settings","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","bind","onDeleteSound","ReactDOM","render","HTMLElement","normalizedModel","domain","graph","range","standardGrid","correctAnswer","min","max","step","labelStep","height","width"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Configure from './configure';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport defaultValues from './defaults';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('pie-elements:graphing-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._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 ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/graphing-solution-set-configure",
3
3
  "private": true,
4
- "version": "2.3.8",
4
+ "version": "2.3.9",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,7 +9,10 @@
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
11
  "@pie-framework/pie-configure-events": "^1.3.0",
12
- "@pie-lib/pie-toolbox": "2.25.1",
12
+ "@pie-lib/config-ui": "^11.24.0",
13
+ "@pie-lib/editable-html": "^11.16.0",
14
+ "@pie-lib/graphing-solution-set": "^2.29.0",
15
+ "@pie-lib/math-rendering": "^3.17.0",
13
16
  "classnames": "^2.2.5",
14
17
  "debug": "^4.1.1",
15
18
  "prop-types": "^15.6.2",
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.3.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-solution-set-controller@2.3.8...@pie-element/graphing-solution-set-controller@2.3.9) (2025-09-11)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * update pie-lib/pie-toolbox PD-5198, PD-5187 ([f04a94c](https://github.com/pie-framework/pie-elements/commit/f04a94c62a29d77fcb17b473b7de1022ad65eeb4))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [2.3.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-solution-set-controller@2.3.7...@pie-element/graphing-solution-set-controller@2.3.8) (2025-09-09)
7
18
 
8
19
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/graphing-solution-set-controller",
3
3
  "private": true,
4
- "version": "2.3.8",
4
+ "version": "2.3.9",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,7 +9,6 @@
9
9
  "test": "./node_modules/.bin/jest"
10
10
  },
11
11
  "dependencies": {
12
- "@pie-lib/pie-toolbox": "2.25.1",
13
12
  "debug": "^4.1.1"
14
13
  },
15
14
  "devDependencies": {
package/lib/index.js CHANGED
@@ -35,7 +35,7 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
35
35
 
36
36
  var _piePlayerEvents = require("@pie-framework/pie-player-events");
37
37
 
38
- var _mathRendering = require("@pie-lib/pie-toolbox/math-rendering");
38
+ var _mathRendering = require("@pie-lib/math-rendering");
39
39
 
40
40
  var _utils = require("./utils");
41
41
 
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["Graphing","answer","Array","isArray","length","isUndoOperation","gssData","_model","selectedTool","fill","lineType","_session","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","isComplete","_render","session","m","s","gssLineData","domain","range","section","filter","mark","type","numberOfLines","sections","lineA","lineB","el","React","createElement","Main","model","onAnswersChange","changeAnswers","setGssData","ReactDOM","render","HTMLElement"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/pie-toolbox/math-rendering';\nimport { findSectionsInSolutionSet, removeInvalidAnswers } from './utils';\nimport Main from './main';\nimport { set } from 'lodash';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n }\n\n /*\n * Function to set model\n * @param {object} m - Model object\n * */\n set model(m) {\n this._model = m;\n this._render();\n }\n\n /*\n * Function to set session\n * @param {object} s - Session object\n * */\n set session(s) {\n this._session = s;\n if (!this._session.answer) {\n this._session.answer = [];\n }\n const { answer } = this._session || {};\n const { gssLineData, domain, range } = this._model;\n let section = answer && answer.filter((mark) => mark.type === 'polygon').length > 0;\n if (gssLineData.numberOfLines === 1) {\n this._model.gssData = {\n numberOfLines: 1,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n };\n } else {\n this._model.gssData = {\n numberOfLines: 2,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n lineB: {\n lineType: answer && answer.length > 1 ? answer[1].fill : 'Solid',\n },\n };\n }\n if (section) {\n this._model.gssData = findSectionsInSolutionSet(this._model.gssData, answer, domain, range);\n }\n this._render();\n }\n\n /*\n * Function to get session\n * */\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n /*\n * Is complete function\n * @param {object} answer - Answer object\n * */\n isComplete = (answer) => Array.isArray(answer) && answer.length > 0;\n\n /*\n * Callback function to change answers\n * @param {object} answer - Answer object\n * @param {boolean} isUndoOperation - Boolean value to check if undo operation is performed\n * */\n changeAnswers = (answer, isUndoOperation) => {\n // avoid removeInvalidObjects when undo or redo operations are executed\n // in order to preserve the logic of undo and redo\n const { gssData } = this._model;\n if (gssData.selectedTool === 'lineA' && answer.length > 0) {\n answer[0].fill = gssData['lineA'].lineType;\n }\n if (gssData.selectedTool === 'lineB' && answer.length > 1) {\n answer[1].fill = gssData['lineB'].lineType;\n }\n if (answer.length === 0) {\n gssData.selectedTool = 'lineA';\n this._model.gssData = gssData;\n }\n if (!isUndoOperation) {\n this._session.answer = removeInvalidAnswers(answer);\n } else {\n this._session.answer = answer;\n }\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Function to set gssData object and session object\n * @param {object} gssData - GSS Data object\n * @param {object} session - Session object\n * */\n setGssData = (gssData, session) => {\n this._model.gssData = gssData;\n this._session = session;\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Render function\n * */\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onAnswersChange: this.changeAnswers,\n setGssData: this.setGssData,\n });\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["Graphing","answer","Array","isArray","length","isUndoOperation","gssData","_model","selectedTool","fill","lineType","_session","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","isComplete","_render","session","m","s","gssLineData","domain","range","section","filter","mark","type","numberOfLines","sections","lineA","lineB","el","React","createElement","Main","model","onAnswersChange","changeAnswers","setGssData","ReactDOM","render","HTMLElement"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { findSectionsInSolutionSet, removeInvalidAnswers } from './utils';\nimport Main from './main';\nimport { set } from 'lodash';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n }\n\n /*\n * Function to set model\n * @param {object} m - Model object\n * */\n set model(m) {\n this._model = m;\n this._render();\n }\n\n /*\n * Function to set session\n * @param {object} s - Session object\n * */\n set session(s) {\n this._session = s;\n if (!this._session.answer) {\n this._session.answer = [];\n }\n const { answer } = this._session || {};\n const { gssLineData, domain, range } = this._model;\n let section = answer && answer.filter((mark) => mark.type === 'polygon').length > 0;\n if (gssLineData.numberOfLines === 1) {\n this._model.gssData = {\n numberOfLines: 1,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n };\n } else {\n this._model.gssData = {\n numberOfLines: 2,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n lineB: {\n lineType: answer && answer.length > 1 ? answer[1].fill : 'Solid',\n },\n };\n }\n if (section) {\n this._model.gssData = findSectionsInSolutionSet(this._model.gssData, answer, domain, range);\n }\n this._render();\n }\n\n /*\n * Function to get session\n * */\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n /*\n * Is complete function\n * @param {object} answer - Answer object\n * */\n isComplete = (answer) => Array.isArray(answer) && answer.length > 0;\n\n /*\n * Callback function to change answers\n * @param {object} answer - Answer object\n * @param {boolean} isUndoOperation - Boolean value to check if undo operation is performed\n * */\n changeAnswers = (answer, isUndoOperation) => {\n // avoid removeInvalidObjects when undo or redo operations are executed\n // in order to preserve the logic of undo and redo\n const { gssData } = this._model;\n if (gssData.selectedTool === 'lineA' && answer.length > 0) {\n answer[0].fill = gssData['lineA'].lineType;\n }\n if (gssData.selectedTool === 'lineB' && answer.length > 1) {\n answer[1].fill = gssData['lineB'].lineType;\n }\n if (answer.length === 0) {\n gssData.selectedTool = 'lineA';\n this._model.gssData = gssData;\n }\n if (!isUndoOperation) {\n this._session.answer = removeInvalidAnswers(answer);\n } else {\n this._session.answer = answer;\n }\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Function to set gssData object and session object\n * @param {object} gssData - GSS Data object\n * @param {object} session - Session object\n * */\n setGssData = (gssData, session) => {\n this._model.gssData = gssData;\n this._session = session;\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Render function\n * */\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onAnswersChange: this.changeAnswers,\n setGssData: this.setGssData,\n });\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n}\n"],"file":"index.js"}
package/lib/main.js CHANGED
@@ -27,15 +27,15 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
27
27
 
28
28
  var _styles = require("@material-ui/core/styles");
29
29
 
30
- var _graphingSolutionSet = require("@pie-lib/pie-toolbox/graphing-solution-set");
30
+ var _graphingSolutionSet = require("@pie-lib/graphing-solution-set");
31
31
 
32
- var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
32
+ var _renderUi = require("@pie-lib/render-ui");
33
33
 
34
- var _correctAnswerToggle = require("@pie-lib/pie-toolbox/correct-answer-toggle");
34
+ var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
35
35
 
36
36
  var _utils = require("./utils");
37
37
 
38
- var _configUi = require("@pie-lib/pie-toolbox/config-ui");
38
+ var _configUi = require("@pie-lib/config-ui");
39
39
 
40
40
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
41
 
@@ -334,7 +334,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
334
334
  })), prompt && /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
335
335
  className: "prompt",
336
336
  prompt: prompt
337
- }), /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle.CorrectAnswerToggle, {
337
+ }), /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
338
338
  show: showToggle,
339
339
  toggled: showingCorrect,
340
340
  onToggle: this.toggleCorrect,
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["Main","showingCorrect","dialog","open","callback","setState","props","model","session","setGssData","gssData","title","text","onConfirm","answer","selectedTool","lineA","lineType","lineB","handleAlertDialog","onClose","point","disabled","sections","section","polygon","points","building","type","closed","isSolution","filter","mark","push","oldSelectedTool","domain","range","lines","handleGssDataChange","polygons","length","onConfirmText","fill","classes","onAnswersChange","state","answersCorrected","arrows","coordinatesOnHover","correctResponse","defaultTool","extraCSSRules","labels","labelsEnabled","prompt","rationale","size","showToggle","titleEnabled","teacherInstructions","language","gssLineData","marks","showRationale","showTeacherInstructions","mainContainer","hidden","visible","toggleCorrect","graph","includeArrows","map","i","correctness","onChangeGssLineData","onSolutionSetSelected","onResetClick","React","Component","PropTypes","object","isRequired","func","styles","theme","color","backgroundColor","background","marginBottom","spacing","unit","marginTop"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { GraphContainer } from '@pie-lib/pie-toolbox/graphing-solution-set';\nimport { color, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/pie-toolbox/render-ui';\nimport { CorrectAnswerToggle } from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport { findSectionsInSolutionSet, pointInsidePolygon, checkIfLinesAreAdded } from './utils';\nimport { AlertDialog } from '@pie-lib/pie-toolbox/config-ui';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n session: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n };\n\n static defaultProps = {\n classes: {},\n };\n\n state = {\n showingCorrect: false,\n dialog: {\n open: false,\n },\n };\n\n /*\n * Function to handle the AlertDialog\n * @param {boolean} open - open state of 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 toggle the correct answer\n * @param {boolean} showingCorrect - state of the correct answer\n * */\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n /*\n * Reset the graph to original state\n * */\n onResetClick = () => {\n const { model, session, setGssData } = this.props;\n let { gssData } = 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 session.answer = [];\n gssData.selectedTool = 'lineA';\n gssData.lineA.lineType = 'Solid';\n if (gssData.lineB) gssData.lineB.lineType = 'Solid';\n // Set the gssData and session\n setGssData(gssData, session);\n this.handleAlertDialog(false);\n },\n onClose: () => this.handleAlertDialog(false),\n },\n });\n };\n\n /*\n * Function to handle the event of solution set selected\n * @param {object} point - point selected on the graph\n * */\n onSolutionSetSelected = (point) => {\n const { model, session, setGssData } = this.props;\n const { gssData, disabled } = model;\n if (disabled) {\n return;\n }\n for (const section of gssData.sections) {\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 session.answer = session.answer.filter((mark) => mark.type !== 'polygon');\n session.answer.push(polygon);\n break;\n }\n }\n setGssData(gssData, session);\n };\n\n /*\n * Function to handle the event of change in GSS Line Data\n * @param {object} gssData - GSS Line Data\n * @param {string} oldSelectedTool - old selected tool\n * */\n onChangeGssLineData = (gssData, oldSelectedTool) => {\n const { model, session } = this.props;\n const { domain, range, disabled } = model;\n if (disabled) {\n return;\n }\n if (gssData.selectedTool === 'solutionSet') {\n let lines = session.answer.filter((mark) => mark.type !== 'polygon');\n if (!checkIfLinesAreAdded(gssData, lines)) {\n gssData.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 = session.answer.filter((mark) => mark.type !== 'polygon');\n gssData = findSectionsInSolutionSet(gssData, lines, domain, range);\n }\n this.handleGssDataChange(gssData, session);\n } else {\n let polygons = session.answer.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 session.answer = session.answer.filter((mark) => mark.type !== 'polygon');\n this.handleGssDataChange(gssData, session);\n this.handleAlertDialog(false);\n },\n onConfirmText: 'CLEAR SOLUTION SET',\n onClose: () => {\n gssData.selectedTool = oldSelectedTool;\n this.handleGssDataChange(gssData, session);\n this.handleAlertDialog(false);\n },\n },\n });\n } else {\n this.handleGssDataChange(gssData, session);\n }\n }\n };\n\n /*\n * Function to handle the event of change in GSS Data\n * @param {object} gssData - GSS Data\n * @param {object} session - session data\n * */\n handleGssDataChange = (gssData, session) => {\n const { setGssData } = this.props;\n if (session.answer && session.answer.length > 0 && session.answer[0] && gssData.lineA) {\n session.answer[0].fill = gssData.lineA.lineType;\n }\n if (session.answer && session.answer.length > 1 && session.answer[1] && gssData.lineB) {\n session.answer[1].fill = gssData.lineB.lineType;\n }\n if (\n (gssData.selectedTool === 'lineB' && session.answer.length === 0) ||\n (gssData.selectedTool === 'lineB' && session.answer[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 gssData.selectedTool = 'lineA';\n }\n if (gssData.selectedTool === 'lineA' && session.answer.length > 1 && session.answer[1].building) {\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 gssData.selectedTool = 'lineB';\n }\n setGssData(gssData, session);\n };\n\n /*\n * Render the component\n * */\n render() {\n const { model, classes, onAnswersChange, session } = this.props;\n const { showingCorrect, dialog } = this.state;\n const { answer } = session || {};\n const {\n answersCorrected,\n arrows,\n coordinatesOnHover,\n correctResponse,\n defaultTool,\n disabled,\n domain,\n extraCSSRules,\n labels,\n labelsEnabled,\n prompt,\n range,\n rationale,\n size,\n showToggle,\n title,\n titleEnabled,\n teacherInstructions,\n language,\n gssLineData,\n gssData,\n } = model || {};\n const marks = answersCorrected || answer || [];\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions = model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n return (\n <UiLayout extraCSSRules={extraCSSRules} className={classes.mainContainer}>\n {showTeacherInstructions && (\n <Collapsible\n className={classes.teacherInstructions}\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n {showingCorrect && showToggle ? (\n <GraphContainer\n className={classes.graph}\n axesSettings={{ includeArrows: arrows }}\n coordinatesOnHover={coordinatesOnHover}\n disabled={true}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={correctResponse.map((i) => ({ ...i, correctness: 'correct' }))}\n onChangeMarks={onAnswersChange}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n language={language}\n gssLineData={gssLineData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n />\n ) : (\n <GraphContainer\n className={classes.graph}\n axesSettings={{ includeArrows: arrows }}\n coordinatesOnHover={coordinatesOnHover}\n defaultTool={defaultTool}\n disabled={disabled}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={marks}\n onChangeMarks={onAnswersChange}\n onCustomReset={this.onResetClick}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n language={language}\n gssLineData={gssData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n />\n )}\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\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 </UiLayout>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n teacherInstructions: {\n marginBottom: theme.spacing.unit * 2,\n },\n graph: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["Main","showingCorrect","dialog","open","callback","setState","props","model","session","setGssData","gssData","title","text","onConfirm","answer","selectedTool","lineA","lineType","lineB","handleAlertDialog","onClose","point","disabled","sections","section","polygon","points","building","type","closed","isSolution","filter","mark","push","oldSelectedTool","domain","range","lines","handleGssDataChange","polygons","length","onConfirmText","fill","classes","onAnswersChange","state","answersCorrected","arrows","coordinatesOnHover","correctResponse","defaultTool","extraCSSRules","labels","labelsEnabled","prompt","rationale","size","showToggle","titleEnabled","teacherInstructions","language","gssLineData","marks","showRationale","showTeacherInstructions","mainContainer","hidden","visible","toggleCorrect","graph","includeArrows","map","i","correctness","onChangeGssLineData","onSolutionSetSelected","onResetClick","React","Component","PropTypes","object","isRequired","func","styles","theme","color","backgroundColor","background","marginBottom","spacing","unit","marginTop"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { GraphContainer } from '@pie-lib/graphing-solution-set';\nimport { color, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/render-ui';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { findSectionsInSolutionSet, pointInsidePolygon, checkIfLinesAreAdded } from './utils';\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n session: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n };\n\n static defaultProps = {\n classes: {},\n };\n\n state = {\n showingCorrect: false,\n dialog: {\n open: false,\n },\n };\n\n /*\n * Function to handle the AlertDialog\n * @param {boolean} open - open state of 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 toggle the correct answer\n * @param {boolean} showingCorrect - state of the correct answer\n * */\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n /*\n * Reset the graph to original state\n * */\n onResetClick = () => {\n const { model, session, setGssData } = this.props;\n let { gssData } = 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 session.answer = [];\n gssData.selectedTool = 'lineA';\n gssData.lineA.lineType = 'Solid';\n if (gssData.lineB) gssData.lineB.lineType = 'Solid';\n // Set the gssData and session\n setGssData(gssData, session);\n this.handleAlertDialog(false);\n },\n onClose: () => this.handleAlertDialog(false),\n },\n });\n };\n\n /*\n * Function to handle the event of solution set selected\n * @param {object} point - point selected on the graph\n * */\n onSolutionSetSelected = (point) => {\n const { model, session, setGssData } = this.props;\n const { gssData, disabled } = model;\n if (disabled) {\n return;\n }\n for (const section of gssData.sections) {\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 session.answer = session.answer.filter((mark) => mark.type !== 'polygon');\n session.answer.push(polygon);\n break;\n }\n }\n setGssData(gssData, session);\n };\n\n /*\n * Function to handle the event of change in GSS Line Data\n * @param {object} gssData - GSS Line Data\n * @param {string} oldSelectedTool - old selected tool\n * */\n onChangeGssLineData = (gssData, oldSelectedTool) => {\n const { model, session } = this.props;\n const { domain, range, disabled } = model;\n if (disabled) {\n return;\n }\n if (gssData.selectedTool === 'solutionSet') {\n let lines = session.answer.filter((mark) => mark.type !== 'polygon');\n if (!checkIfLinesAreAdded(gssData, lines)) {\n gssData.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 = session.answer.filter((mark) => mark.type !== 'polygon');\n gssData = findSectionsInSolutionSet(gssData, lines, domain, range);\n }\n this.handleGssDataChange(gssData, session);\n } else {\n let polygons = session.answer.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 session.answer = session.answer.filter((mark) => mark.type !== 'polygon');\n this.handleGssDataChange(gssData, session);\n this.handleAlertDialog(false);\n },\n onConfirmText: 'CLEAR SOLUTION SET',\n onClose: () => {\n gssData.selectedTool = oldSelectedTool;\n this.handleGssDataChange(gssData, session);\n this.handleAlertDialog(false);\n },\n },\n });\n } else {\n this.handleGssDataChange(gssData, session);\n }\n }\n };\n\n /*\n * Function to handle the event of change in GSS Data\n * @param {object} gssData - GSS Data\n * @param {object} session - session data\n * */\n handleGssDataChange = (gssData, session) => {\n const { setGssData } = this.props;\n if (session.answer && session.answer.length > 0 && session.answer[0] && gssData.lineA) {\n session.answer[0].fill = gssData.lineA.lineType;\n }\n if (session.answer && session.answer.length > 1 && session.answer[1] && gssData.lineB) {\n session.answer[1].fill = gssData.lineB.lineType;\n }\n if (\n (gssData.selectedTool === 'lineB' && session.answer.length === 0) ||\n (gssData.selectedTool === 'lineB' && session.answer[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 gssData.selectedTool = 'lineA';\n }\n if (gssData.selectedTool === 'lineA' && session.answer.length > 1 && session.answer[1].building) {\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 gssData.selectedTool = 'lineB';\n }\n setGssData(gssData, session);\n };\n\n /*\n * Render the component\n * */\n render() {\n const { model, classes, onAnswersChange, session } = this.props;\n const { showingCorrect, dialog } = this.state;\n const { answer } = session || {};\n const {\n answersCorrected,\n arrows,\n coordinatesOnHover,\n correctResponse,\n defaultTool,\n disabled,\n domain,\n extraCSSRules,\n labels,\n labelsEnabled,\n prompt,\n range,\n rationale,\n size,\n showToggle,\n title,\n titleEnabled,\n teacherInstructions,\n language,\n gssLineData,\n gssData,\n } = model || {};\n const marks = answersCorrected || answer || [];\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n return (\n <UiLayout extraCSSRules={extraCSSRules} className={classes.mainContainer}>\n {showTeacherInstructions && (\n <Collapsible\n className={classes.teacherInstructions}\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n {showingCorrect && showToggle ? (\n <GraphContainer\n className={classes.graph}\n axesSettings={{ includeArrows: arrows }}\n coordinatesOnHover={coordinatesOnHover}\n disabled={true}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={correctResponse.map((i) => ({ ...i, correctness: 'correct' }))}\n onChangeMarks={onAnswersChange}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n language={language}\n gssLineData={gssLineData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n />\n ) : (\n <GraphContainer\n className={classes.graph}\n axesSettings={{ includeArrows: arrows }}\n coordinatesOnHover={coordinatesOnHover}\n defaultTool={defaultTool}\n disabled={disabled}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={marks}\n onChangeMarks={onAnswersChange}\n onCustomReset={this.onResetClick}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n language={language}\n gssLineData={gssData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n />\n )}\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\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 </UiLayout>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n teacherInstructions: {\n marginBottom: theme.spacing.unit * 2,\n },\n graph: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "2.3.8",
7
+ "version": "2.3.10-next.86+260752f06",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -13,7 +13,11 @@
13
13
  "dependencies": {
14
14
  "@material-ui/core": "^3.9.2",
15
15
  "@pie-framework/pie-player-events": "^0.1.0",
16
- "@pie-lib/pie-toolbox": "2.25.1",
16
+ "@pie-lib/config-ui": "^11.24.0",
17
+ "@pie-lib/correct-answer-toggle": "^2.20.0",
18
+ "@pie-lib/graphing-solution-set": "^2.29.0",
19
+ "@pie-lib/math-rendering": "^3.17.0",
20
+ "@pie-lib/render-ui": "^4.30.0",
17
21
  "classnames": "^2.2.5",
18
22
  "debug": "^4.1.1",
19
23
  "react": "^16.8.1",
@@ -21,7 +25,7 @@
21
25
  },
22
26
  "author": "",
23
27
  "license": "ISC",
24
- "gitHead": "f80de41c9acc8412b3bc5fcf8d95681e76c105d0",
28
+ "gitHead": "260752f06b5e03f581d3a2533a3007e567d7655a",
25
29
  "main": "lib/index.js",
26
30
  "module": "src/index.js"
27
31
  }