@pie-element/graphing 6.1.6-next.3 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
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
+ # [6.2.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing@6.1.5...@pie-element/graphing@6.2.0) (2024-10-29)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * fixed all tests after updating pie-toolbox [PD-1460] ([9f5293d](https://github.com/pie-framework/pie-elements/commit/9f5293d618edc06f69fabb27a042ec5eee66e151))
12
+
13
+
14
+ ### Features
15
+
16
+ * fixed most of the tests, waiting on PR merge to fix the rest [PD-1460] ([9b12daf](https://github.com/pie-framework/pie-elements/commit/9b12dafc8e7d8dd8cd9bef71dce37d0c62760355))
17
+ * used configlayout, preview layout or uilayout to enable extraCSSRules inside author and player elements [PD-1460] ([eeebb02](https://github.com/pie-framework/pie-elements/commit/eeebb02f200208620c1af56366a22bf65944ba3e))
18
+
19
+
20
+
21
+
22
+
6
23
  ## [6.1.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing@6.1.4...@pie-element/graphing@6.1.5) (2024-10-28)
7
24
 
8
25
 
@@ -3,6 +3,22 @@
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
+ # [6.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-configure@6.0.7...@pie-element/graphing-configure@6.1.0) (2024-10-29)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * fixed all tests after updating pie-toolbox [PD-1460] ([9f5293d](https://github.com/pie-framework/pie-elements/commit/9f5293d618edc06f69fabb27a042ec5eee66e151))
12
+
13
+
14
+ ### Features
15
+
16
+ * used configlayout, preview layout or uilayout to enable extraCSSRules inside author and player elements [PD-1460] ([eeebb02](https://github.com/pie-framework/pie-elements/commit/eeebb02f200208620c1af56366a22bf65944ba3e))
17
+
18
+
19
+
20
+
21
+
6
22
  ## [6.0.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-configure@6.0.6...@pie-element/graphing-configure@6.0.7) (2024-10-28)
7
23
 
8
24
 
@@ -239,6 +239,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
239
239
  var _ref4 = model || {},
240
240
  _ref4$errors = _ref4.errors,
241
241
  errors = _ref4$errors === void 0 ? {} : _ref4$errors,
242
+ extraCSSRules = _ref4.extraCSSRules,
242
243
  labelsEnabled = _ref4.labelsEnabled,
243
244
  dimensionsEnabled = _ref4.dimensionsEnabled,
244
245
  promptEnabled = _ref4.promptEnabled,
@@ -294,6 +295,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
294
295
  };
295
296
 
296
297
  return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
298
+ extraCSSRules: extraCSSRules,
297
299
  dimensions: contentDimensions,
298
300
  hideSettings: settingsPanelDisabled,
299
301
  settings: /*#__PURE__*/_react["default"].createElement(Panel, {
@@ -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","errorText","typography","color","palette","error","main","Configure","rationale","props","onModelChanged","model","prompt","teacherInstructions","configuration","availableTools","graphDimensions","arrows","showTitle","titleEnabled","showDimensions","dimensionsEnabled","left","right","up","down","toolbarTools","undefined","enabled","classes","onConfigurationChanged","imageSupport","uploadSoundSupport","authoring","baseInputConfiguration","coordinatesOnHover","contentDimensions","gridConfigurations","instruction","labels","padding","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","withRubric","language","languageChoices","mathMlOptions","removeIncompleteTool","errors","labelsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","promptError","rationaleError","teacherInstructionsError","defaultImageMaxWidth","defaultImageMaxHeight","labelsPlaceholders","top","bottom","panelItemType","label","options","panelProperties","studentInstructionsEnabled","rubricEnabled","getPluginProps","Settings","Properties","onTeacherInstructionsChange","inputConfiguration","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: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 },\n description: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\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 componentDidMount() {\n const { configuration, onModelChanged, model } = this.props;\n const { availableTools, title, graphDimensions } = configuration || {};\n let { arrows, titleEnabled: showTitle, dimensionsEnabled: showDimensions } = model || {};\n\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\n const toolbarTools = intersection(availableTools || [], model.toolbarTools || []);\n const titleEnabled = showTitle === undefined || showTitle === null ? title.enabled : showTitle;\n const dimensionsEnabled =\n showDimensions === undefined || showDimensions === null ? graphDimensions.enabled : showDimensions;\n\n onModelChanged && onModelChanged({ ...model, arrows, toolbarTools, titleEnabled, dimensionsEnabled });\n }\n\n onRationaleChange = (rationale) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, rationale });\n };\n\n onPromptChange = (prompt) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, prompt });\n };\n\n onTeacherInstructionsChange = (teacherInstructions) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, teacherInstructions });\n };\n\n render() {\n const { classes, model, configuration, onConfigurationChanged, onModelChanged, imageSupport, uploadSoundSupport } =\n this.props;\n const {\n arrows = {},\n authoring = {},\n availableTools = [],\n baseInputConfiguration = {},\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 removeIncompleteTool = false,\n } = configuration || {};\n const {\n errors = {},\n labelsEnabled,\n dimensionsEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n titleEnabled,\n } = model || {};\n const {\n prompt: promptError,\n rationale: rationaleError,\n teacherInstructions: teacherInstructionsError,\n } = errors || {};\n\n log('[render] model', model);\n\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\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\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\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onModelChanged}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelItemType,\n Properties: panelProperties,\n }}\n />\n }\n >\n <Typography component=\"div\" type=\"body1\" className={classes.description}>\n {instruction?.label || ''}\n </Typography>\n\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChange}\n imageSupport={imageSupport}\n error={teacherInstructionsError}\n nonEmpty={false}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\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 {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n error={promptError}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n disableUnderline\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n <GraphingConfig\n authoring={authoring}\n availableTools={availableTools}\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 removeIncompleteTool={removeIncompleteTool}\n />\n\n <CorrectResponse\n availableTools={availableTools}\n errors={errors}\n model={model}\n onChange={this.props.onModelChanged}\n mathMlOptions={mathMlOptions}\n removeIncompleteTool={removeIncompleteTool}\n />\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label || 'Rationale'} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n error={rationaleError}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\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 {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\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","errorText","typography","color","palette","error","main","Configure","rationale","props","onModelChanged","model","prompt","teacherInstructions","configuration","availableTools","graphDimensions","arrows","showTitle","titleEnabled","showDimensions","dimensionsEnabled","left","right","up","down","toolbarTools","undefined","enabled","classes","onConfigurationChanged","imageSupport","uploadSoundSupport","authoring","baseInputConfiguration","coordinatesOnHover","contentDimensions","gridConfigurations","instruction","labels","padding","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","withRubric","language","languageChoices","mathMlOptions","removeIncompleteTool","errors","extraCSSRules","labelsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","promptError","rationaleError","teacherInstructionsError","defaultImageMaxWidth","defaultImageMaxHeight","labelsPlaceholders","top","bottom","panelItemType","label","options","panelProperties","studentInstructionsEnabled","rubricEnabled","getPluginProps","Settings","Properties","onTeacherInstructionsChange","inputConfiguration","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: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 },\n description: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\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 componentDidMount() {\n const { configuration, onModelChanged, model } = this.props;\n const { availableTools, title, graphDimensions } = configuration || {};\n let { arrows, titleEnabled: showTitle, dimensionsEnabled: showDimensions } = model || {};\n\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\n const toolbarTools = intersection(availableTools || [], model.toolbarTools || []);\n const titleEnabled = showTitle === undefined || showTitle === null ? title.enabled : showTitle;\n const dimensionsEnabled =\n showDimensions === undefined || showDimensions === null ? graphDimensions.enabled : showDimensions;\n\n onModelChanged && onModelChanged({ ...model, arrows, toolbarTools, titleEnabled, dimensionsEnabled });\n }\n\n onRationaleChange = (rationale) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, rationale });\n };\n\n onPromptChange = (prompt) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, prompt });\n };\n\n onTeacherInstructionsChange = (teacherInstructions) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, teacherInstructions });\n };\n\n render() {\n const { classes, model, configuration, onConfigurationChanged, onModelChanged, imageSupport, uploadSoundSupport } =\n this.props;\n const {\n arrows = {},\n authoring = {},\n availableTools = [],\n baseInputConfiguration = {},\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 removeIncompleteTool = false,\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 {\n prompt: promptError,\n rationale: rationaleError,\n teacherInstructions: teacherInstructionsError,\n } = errors || {};\n\n log('[render] model', model);\n\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\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\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\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\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\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 error={teacherInstructionsError}\n nonEmpty={false}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\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 {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n error={promptError}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n disableUnderline\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n <GraphingConfig\n authoring={authoring}\n availableTools={availableTools}\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 removeIncompleteTool={removeIncompleteTool}\n />\n\n <CorrectResponse\n availableTools={availableTools}\n errors={errors}\n model={model}\n onChange={this.props.onModelChanged}\n mathMlOptions={mathMlOptions}\n removeIncompleteTool={removeIncompleteTool}\n />\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label || 'Rationale'} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n error={rationaleError}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\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 {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/graphing-configure",
3
3
  "private": true,
4
- "version": "6.0.7",
4
+ "version": "6.1.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,7 +9,7 @@
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.0.15",
12
+ "@pie-lib/pie-toolbox": "2.1.0",
13
13
  "classnames": "^2.2.5",
14
14
  "debug": "^4.1.1",
15
15
  "lodash": "^4.17.15",
@@ -3,6 +3,22 @@
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
+ # [6.1.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-controller@6.0.6...@pie-element/graphing-controller@6.1.0) (2024-10-29)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * fixed all tests after updating pie-toolbox [PD-1460] ([9f5293d](https://github.com/pie-framework/pie-elements/commit/9f5293d618edc06f69fabb27a042ec5eee66e151))
12
+
13
+
14
+ ### Features
15
+
16
+ * used configlayout, preview layout or uilayout to enable extraCSSRules inside author and player elements [PD-1460] ([eeebb02](https://github.com/pie-framework/pie-elements/commit/eeebb02f200208620c1af56366a22bf65944ba3e))
17
+
18
+
19
+
20
+
21
+
6
22
  ## [6.0.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-controller@6.0.5...@pie-element/graphing-controller@6.0.6) (2024-10-28)
7
23
 
8
24
 
@@ -33,7 +33,7 @@ var _utils = require("./utils");
33
33
 
34
34
  var _controllerUtils = require("@pie-lib/pie-toolbox/controller-utils");
35
35
 
36
- var _excluded = ["defaultTool", "prompt", "promptEnabled", "graph", "answers", "toolbarTools"];
36
+ var _excluded = ["defaultTool", "extraCSSRules", "prompt", "promptEnabled", "graph", "answers", "toolbarTools"];
37
37
 
38
38
  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; }
39
39
 
@@ -259,6 +259,7 @@ function model(question, session, env) {
259
259
 
260
260
  var _ref7 = normalizedQuestion || {},
261
261
  defaultTool = _ref7.defaultTool,
262
+ extraCSSRules = _ref7.extraCSSRules,
262
263
  prompt = _ref7.prompt,
263
264
  promptEnabled = _ref7.promptEnabled,
264
265
  graph = _ref7.graph,
@@ -309,7 +310,8 @@ function model(question, session, env) {
309
310
  showKeyLegend: env.mode === 'evaluate',
310
311
  showToggle: env.mode === 'evaluate' && !(0, _isEmpty["default"])(answers) && answers.correctAnswer && answers.correctAnswer.marks && !(0, _isEmpty["default"])(answers.correctAnswer.marks),
311
312
  teacherInstructions: null,
312
- toolbarTools: toolbarTools
313
+ toolbarTools: toolbarTools,
314
+ extraCSSRules: extraCSSRules
313
315
  });
314
316
 
315
317
  if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","initializeGraphMap","point","segment","line","ray","vector","polygon","circle","sine","parabola","absolute","exponential","graphObjectsOrder","incorrect","correct","missing","compareMarks","mark1","mark2","type","equalMarks","comparLabelMarks","label","getAnswerCorrected","sessionAnswers","correctAnswers","marks","rez","reduce","correctedAnswer","answer","answerIsCorrect","find","mark","correctness","correctnesslabel","correctlabel","missingAnswers","answerIndex","getPartialScoring","scoringType","env","pS","partialScoring","enabled","getBestAnswer","question","session","answers","questionPossibleAnswers","Object","entries","forEach","key","value","filter","building","correctAnswer","partialScoringEnabled","possibleAnswers","acc","entry","possibleAnswerKey","possibleAnswer","length","correctMarks","scoredCorrectedAnswer","maxScore","score","bestScore","foundOneSolution","parseFloat","toFixed","Math","floor","bestScoreAnswerKey","answersCorrected","map","normalize","defaults","model","Promise","resolve","normalizedQuestion","undefined","defaultTool","prompt","promptEnabled","graph","toolbarTools","questionProps","arrows","mode","role","left","right","up","down","toolbarToolsNoLabel","tool","normalizedDefaultTool","base","disabled","rationale","size","showKeyLegend","showToggle","teacherInstructions","rationaleEnabled","teacherInstructionsEnabled","sort","a","b","correctResponse","outcome","empty","createCorrectResponseSession","values","id","getInnerText","html","replaceAll","getContent","replace","validate","config","errors","correctAnswerErrors","toolbarToolsError","field","required"],"mappings":"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","sourcesContent":["import debug from 'debug';\n\nimport cloneDeep from 'lodash/cloneDeep';\nimport uniqWith from 'lodash/uniqWith';\nimport isEmpty from 'lodash/isEmpty';\nimport defaults from './defaults';\nimport { equalMarks, sortedAnswers, removeInvalidAnswers } from './utils';\n\nimport { partialScoring } from '@pie-lib/pie-toolbox/controller-utils';\n\nconst log = debug('@pie-element:graphing:controller');\n\nconst initializeGraphMap = () => ({\n point: [],\n segment: [],\n line: [],\n ray: [],\n vector: [],\n polygon: [],\n circle: [],\n sine: [],\n parabola: [],\n absolute: [],\n exponential: [],\n});\n\nconst graphObjectsOrder = {\n incorrect: 0,\n correct: 1,\n missing: 2,\n};\n\nexport const compareMarks = (mark1, mark2) => {\n // marks can be compared with equalMarks[type] function only if they have the same type;\n // if type is different, they are clearly not equal\n return !!(\n mark1 &&\n mark2 &&\n mark1.type === mark2.type &&\n equalMarks[mark1.type] &&\n equalMarks[mark1.type](mark1, mark2)\n );\n};\n\nexport const comparLabelMarks = (mark1, mark2) => {\n return mark1.label === mark2.label ? 'correct' : 'incorrect';\n};\n\nexport const getAnswerCorrected = ({ sessionAnswers, marks: correctAnswers }) => {\n sessionAnswers = sessionAnswers || [];\n correctAnswers = correctAnswers || [];\n\n const rez = cloneDeep(sessionAnswers).reduce((correctedAnswer, answer) => {\n const answerIsCorrect = correctAnswers.find((mark) => compareMarks(answer, mark));\n\n answer.correctness = answerIsCorrect ? 'correct' : 'incorrect';\n if (answerIsCorrect) {\n answer.correctnesslabel = comparLabelMarks(answer, answerIsCorrect);\n answer.correctlabel = answerIsCorrect.label ? answerIsCorrect.label : '';\n answer.label = answer.label ? answer.label : '';\n }\n return [...correctedAnswer, answer];\n }, []);\n\n // add missing objects from correct answer\n const missingAnswers = cloneDeep(correctAnswers).reduce((correctedAnswer, answer) => {\n const answerIndex = sessionAnswers.find((mark) => compareMarks(answer, mark));\n\n if (!answerIndex) {\n // means that corrected answer is missing from session, so we mark it as missing object\n return [...correctedAnswer, { ...answer, correctness: 'missing' }];\n }\n\n return correctedAnswer;\n }, []);\n\n return [...rez, ...missingAnswers];\n};\n\nconst getPartialScoring = ({ scoringType, env }) => {\n let pS = scoringType;\n\n // if scoringType is undefined, partialScoring should be considered undefined (not set)\n // because partialScoring.enabled is using that information\n // if it has a value, we check if it is partial scoring or dichotomous\n if (scoringType) {\n pS = scoringType === 'partial scoring';\n }\n\n return partialScoring.enabled({ partialScoring: pS }, env);\n};\n\nexport const getBestAnswer = (question, session, env = {}) => {\n // questionPossibleAnswers contains all possible answers (correct response and alternates);\n let { answers: questionPossibleAnswers = {}, scoringType } = question || {};\n let { answer } = session || {};\n\n // filter the incomplete objects\n Object.entries(questionPossibleAnswers || {}).forEach(\n ([key, value]) =>\n (questionPossibleAnswers[key] = { ...value, marks: value?.marks.filter((mark) => !mark.building) }),\n );\n\n // initialize answer if no values\n answer = answer || [];\n\n // initialize one possible answer if no values\n if (isEmpty(questionPossibleAnswers)) {\n questionPossibleAnswers = { correctAnswer: initializeGraphMap() };\n } else {\n questionPossibleAnswers = {\n correctAnswer: questionPossibleAnswers.correctAnswer,\n ...sortedAnswers(questionPossibleAnswers),\n };\n }\n\n const partialScoringEnabled = getPartialScoring({ scoringType, env });\n\n // student's answers without DUPLICATES\n const sessionAnswers = uniqWith(answer, compareMarks);\n // array of possible answers entries\n const possibleAnswers = Object.entries(questionPossibleAnswers);\n\n return possibleAnswers.reduce(\n (acc, entry) => {\n // iterating each possible answer (main + alternates)\n const possibleAnswerKey = entry[0];\n const possibleAnswer = entry[1] || {};\n let { marks } = possibleAnswer;\n\n if (!marks || !marks.length) {\n return acc;\n }\n\n // returns array of marks, each having 'correctness' property\n const correctedAnswer = getAnswerCorrected({ sessionAnswers, marks });\n const correctMarks = correctedAnswer.filter((answer) => answer.correctness === 'correct');\n // filter out missing objects because they do not affect the calculation of the score\n // only correct and incorrect are needed\n const scoredCorrectedAnswer = correctedAnswer.filter((answer) => answer.correctness !== 'missing');\n\n const maxScore = marks.length;\n let score = correctMarks.length;\n\n // if extra placements\n if (scoredCorrectedAnswer.length > maxScore) {\n score -= scoredCorrectedAnswer.length - maxScore;\n }\n\n if (score < 0) {\n score = 0;\n }\n\n if (score / maxScore > acc.bestScore || !acc.foundOneSolution) {\n if (partialScoringEnabled) {\n acc.bestScore = parseFloat((score / maxScore).toFixed(2));\n } else {\n acc.bestScore = Math.floor(score / maxScore);\n }\n\n acc.bestScoreAnswerKey = possibleAnswerKey;\n acc.answersCorrected = correctedAnswer;\n acc.foundOneSolution = true;\n }\n\n return acc;\n },\n {\n bestScore: 0,\n bestScoreAnswerKey: null,\n // initially we just suppose all the answers are incorrect\n answersCorrected: cloneDeep(sessionAnswers).map((answer) => ({ ...answer, correctness: 'incorrect' })),\n foundOneSolution: false,\n },\n );\n};\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\nexport function model(question, session, env) {\n return new Promise((resolve) => {\n const normalizedQuestion = normalize(question);\n\n // added a sanity check for session for environments where it is not passed initially (ex. pie-website)\n if (session === undefined || session === null) {\n session = {};\n }\n // ensure removing of invalid answers\n // need this if undo redo was last operation\n session.answer = removeInvalidAnswers(session.answer);\n // console.log('normalizedQuestion', normalizedQuestion);\n const { defaultTool, prompt, promptEnabled, graph, answers, toolbarTools, ...questionProps } =\n normalizedQuestion || {};\n let { arrows } = normalizedQuestion;\n const { mode, role } = env || {};\n\n // This is used for offering support for old models which have the property arrows: boolean\n // Same thing is set in authoring : packages/graphing/configure/src/configure.jsx - componentDidMount\n if (typeof arrows === 'boolean') {\n if (arrows) {\n arrows = {\n left: true,\n right: true,\n up: true,\n down: true,\n };\n } else {\n arrows = {\n left: false,\n right: false,\n up: false,\n down: false,\n };\n }\n }\n\n // added support for models without defaultTool defined; also used in packages/graphing/configure/src/index.js\n const toolbarToolsNoLabel = (toolbarTools || []).filter((tool) => tool !== 'label');\n const normalizedDefaultTool = defaultTool || (toolbarToolsNoLabel.length && toolbarToolsNoLabel[0]) || '';\n\n const base = {\n ...questionProps,\n answers,\n arrows,\n defaultTool: normalizedDefaultTool,\n disabled: env.mode !== 'gather',\n prompt: promptEnabled ? prompt : null,\n rationale: null,\n size: graph,\n showKeyLegend: env.mode === 'evaluate',\n showToggle:\n env.mode === 'evaluate' &&\n !isEmpty(answers) &&\n answers.correctAnswer &&\n answers.correctAnswer.marks &&\n !isEmpty(answers.correctAnswer.marks),\n teacherInstructions: null,\n toolbarTools,\n };\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n const { rationale, rationaleEnabled, teacherInstructions, teacherInstructionsEnabled } = normalizedQuestion || {};\n\n base.rationale = rationaleEnabled ? rationale : null;\n base.teacherInstructions = teacherInstructionsEnabled ? teacherInstructions : null;\n }\n\n if (mode === 'evaluate') {\n if (\n !isEmpty(answers) &&\n answers.correctAnswer &&\n answers.correctAnswer.marks &&\n !isEmpty(answers.correctAnswer.marks)\n ) {\n const { answersCorrected, bestScoreAnswerKey, bestScore } = getBestAnswer(normalizedQuestion, session, env);\n // array of marks from session with 'correctness' property set\n base.answersCorrected = answersCorrected.sort(\n (a, b) => graphObjectsOrder[a.correctness] - graphObjectsOrder[b.correctness],\n );\n base.correctResponse = bestScoreAnswerKey ? (answers[bestScoreAnswerKey] || {}).marks : [];\n base.showToggle = base.showToggle && bestScore !== 1;\n } else {\n base.answersCorrected = (session && session.answer) || [];\n base.correctResponse = [];\n }\n }\n\n log('base: ', base);\n resolve(base);\n });\n}\n\nexport function outcome(question, session, env = {}) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n }\n\n if (\n env.mode !== 'evaluate' ||\n isEmpty(question.answers) ||\n (question.answers && question.answers.correctAnswer && isEmpty(question.answers.correctAnswer.marks))\n ) {\n resolve({ score: 0 });\n }\n\n const { bestScore } = getBestAnswer(question, session, env);\n\n resolve({ score: bestScore });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { answers } = question || {};\n let marks = [];\n\n if (answers && Object.values(answers)) {\n const correctAnswer = answers.correctAnswer || Object.values(answers)[0] || {};\n marks = correctAnswer.marks || [];\n }\n\n resolve({\n answer: marks,\n id: '1',\n });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img and iframe\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { answers, toolbarTools } = model;\n const errors = {};\n const correctAnswerErrors = {};\n const toolbarToolsNoLabel = (toolbarTools || []).filter((tool) => tool !== 'label');\n\n if (!toolbarToolsNoLabel.length) {\n errors.toolbarToolsError = 'There should be at least 1 tool defined.';\n }\n\n ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n Object.entries(answers || {}).forEach(([key, value]) => {\n if (!value.marks.length) {\n correctAnswerErrors[key] = 'At least 1 graph object should be defined.';\n }\n\n // check if all graph objects are correctly defined with respect to root, edge and from, to\n if (value.marks.length > 0) {\n value.marks.forEach((mark) => {\n if (mark.building) {\n correctAnswerErrors[key] = 'At least 1 graph object is not correctly defined.';\n }\n });\n }\n });\n\n if (!isEmpty(correctAnswerErrors)) {\n errors.correctAnswerErrors = correctAnswerErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","initializeGraphMap","point","segment","line","ray","vector","polygon","circle","sine","parabola","absolute","exponential","graphObjectsOrder","incorrect","correct","missing","compareMarks","mark1","mark2","type","equalMarks","comparLabelMarks","label","getAnswerCorrected","sessionAnswers","correctAnswers","marks","rez","reduce","correctedAnswer","answer","answerIsCorrect","find","mark","correctness","correctnesslabel","correctlabel","missingAnswers","answerIndex","getPartialScoring","scoringType","env","pS","partialScoring","enabled","getBestAnswer","question","session","answers","questionPossibleAnswers","Object","entries","forEach","key","value","filter","building","correctAnswer","partialScoringEnabled","possibleAnswers","acc","entry","possibleAnswerKey","possibleAnswer","length","correctMarks","scoredCorrectedAnswer","maxScore","score","bestScore","foundOneSolution","parseFloat","toFixed","Math","floor","bestScoreAnswerKey","answersCorrected","map","normalize","defaults","model","Promise","resolve","normalizedQuestion","undefined","defaultTool","extraCSSRules","prompt","promptEnabled","graph","toolbarTools","questionProps","arrows","mode","role","left","right","up","down","toolbarToolsNoLabel","tool","normalizedDefaultTool","base","disabled","rationale","size","showKeyLegend","showToggle","teacherInstructions","rationaleEnabled","teacherInstructionsEnabled","sort","a","b","correctResponse","outcome","empty","createCorrectResponseSession","values","id","getInnerText","html","replaceAll","getContent","replace","validate","config","errors","correctAnswerErrors","toolbarToolsError","field","required"],"mappings":"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","sourcesContent":["import debug from 'debug';\n\nimport cloneDeep from 'lodash/cloneDeep';\nimport uniqWith from 'lodash/uniqWith';\nimport isEmpty from 'lodash/isEmpty';\nimport defaults from './defaults';\nimport { equalMarks, sortedAnswers, removeInvalidAnswers } from './utils';\n\nimport { partialScoring } from '@pie-lib/pie-toolbox/controller-utils';\n\nconst log = debug('@pie-element:graphing:controller');\n\nconst initializeGraphMap = () => ({\n point: [],\n segment: [],\n line: [],\n ray: [],\n vector: [],\n polygon: [],\n circle: [],\n sine: [],\n parabola: [],\n absolute: [],\n exponential: [],\n});\n\nconst graphObjectsOrder = {\n incorrect: 0,\n correct: 1,\n missing: 2,\n};\n\nexport const compareMarks = (mark1, mark2) => {\n // marks can be compared with equalMarks[type] function only if they have the same type;\n // if type is different, they are clearly not equal\n return !!(\n mark1 &&\n mark2 &&\n mark1.type === mark2.type &&\n equalMarks[mark1.type] &&\n equalMarks[mark1.type](mark1, mark2)\n );\n};\n\nexport const comparLabelMarks = (mark1, mark2) => {\n return mark1.label === mark2.label ? 'correct' : 'incorrect';\n};\n\nexport const getAnswerCorrected = ({ sessionAnswers, marks: correctAnswers }) => {\n sessionAnswers = sessionAnswers || [];\n correctAnswers = correctAnswers || [];\n\n const rez = cloneDeep(sessionAnswers).reduce((correctedAnswer, answer) => {\n const answerIsCorrect = correctAnswers.find((mark) => compareMarks(answer, mark));\n\n answer.correctness = answerIsCorrect ? 'correct' : 'incorrect';\n if (answerIsCorrect) {\n answer.correctnesslabel = comparLabelMarks(answer, answerIsCorrect);\n answer.correctlabel = answerIsCorrect.label ? answerIsCorrect.label : '';\n answer.label = answer.label ? answer.label : '';\n }\n return [...correctedAnswer, answer];\n }, []);\n\n // add missing objects from correct answer\n const missingAnswers = cloneDeep(correctAnswers).reduce((correctedAnswer, answer) => {\n const answerIndex = sessionAnswers.find((mark) => compareMarks(answer, mark));\n\n if (!answerIndex) {\n // means that corrected answer is missing from session, so we mark it as missing object\n return [...correctedAnswer, { ...answer, correctness: 'missing' }];\n }\n\n return correctedAnswer;\n }, []);\n\n return [...rez, ...missingAnswers];\n};\n\nconst getPartialScoring = ({ scoringType, env }) => {\n let pS = scoringType;\n\n // if scoringType is undefined, partialScoring should be considered undefined (not set)\n // because partialScoring.enabled is using that information\n // if it has a value, we check if it is partial scoring or dichotomous\n if (scoringType) {\n pS = scoringType === 'partial scoring';\n }\n\n return partialScoring.enabled({ partialScoring: pS }, env);\n};\n\nexport const getBestAnswer = (question, session, env = {}) => {\n // questionPossibleAnswers contains all possible answers (correct response and alternates);\n let { answers: questionPossibleAnswers = {}, scoringType } = question || {};\n let { answer } = session || {};\n\n // filter the incomplete objects\n Object.entries(questionPossibleAnswers || {}).forEach(\n ([key, value]) =>\n (questionPossibleAnswers[key] = { ...value, marks: value?.marks.filter((mark) => !mark.building) }),\n );\n\n // initialize answer if no values\n answer = answer || [];\n\n // initialize one possible answer if no values\n if (isEmpty(questionPossibleAnswers)) {\n questionPossibleAnswers = { correctAnswer: initializeGraphMap() };\n } else {\n questionPossibleAnswers = {\n correctAnswer: questionPossibleAnswers.correctAnswer,\n ...sortedAnswers(questionPossibleAnswers),\n };\n }\n\n const partialScoringEnabled = getPartialScoring({ scoringType, env });\n\n // student's answers without DUPLICATES\n const sessionAnswers = uniqWith(answer, compareMarks);\n // array of possible answers entries\n const possibleAnswers = Object.entries(questionPossibleAnswers);\n\n return possibleAnswers.reduce(\n (acc, entry) => {\n // iterating each possible answer (main + alternates)\n const possibleAnswerKey = entry[0];\n const possibleAnswer = entry[1] || {};\n let { marks } = possibleAnswer;\n\n if (!marks || !marks.length) {\n return acc;\n }\n\n // returns array of marks, each having 'correctness' property\n const correctedAnswer = getAnswerCorrected({ sessionAnswers, marks });\n const correctMarks = correctedAnswer.filter((answer) => answer.correctness === 'correct');\n // filter out missing objects because they do not affect the calculation of the score\n // only correct and incorrect are needed\n const scoredCorrectedAnswer = correctedAnswer.filter((answer) => answer.correctness !== 'missing');\n\n const maxScore = marks.length;\n let score = correctMarks.length;\n\n // if extra placements\n if (scoredCorrectedAnswer.length > maxScore) {\n score -= scoredCorrectedAnswer.length - maxScore;\n }\n\n if (score < 0) {\n score = 0;\n }\n\n if (score / maxScore > acc.bestScore || !acc.foundOneSolution) {\n if (partialScoringEnabled) {\n acc.bestScore = parseFloat((score / maxScore).toFixed(2));\n } else {\n acc.bestScore = Math.floor(score / maxScore);\n }\n\n acc.bestScoreAnswerKey = possibleAnswerKey;\n acc.answersCorrected = correctedAnswer;\n acc.foundOneSolution = true;\n }\n\n return acc;\n },\n {\n bestScore: 0,\n bestScoreAnswerKey: null,\n // initially we just suppose all the answers are incorrect\n answersCorrected: cloneDeep(sessionAnswers).map((answer) => ({ ...answer, correctness: 'incorrect' })),\n foundOneSolution: false,\n },\n );\n};\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\nexport function model(question, session, env) {\n return new Promise((resolve) => {\n const normalizedQuestion = normalize(question);\n\n // added a sanity check for session for environments where it is not passed initially (ex. pie-website)\n if (session === undefined || session === null) {\n session = {};\n }\n // ensure removing of invalid answers\n // need this if undo redo was last operation\n session.answer = removeInvalidAnswers(session.answer);\n // console.log('normalizedQuestion', normalizedQuestion);\n const { defaultTool, extraCSSRules, prompt, promptEnabled, graph, answers, toolbarTools, ...questionProps } =\n normalizedQuestion || {};\n let { arrows } = normalizedQuestion;\n const { mode, role } = env || {};\n\n // This is used for offering support for old models which have the property arrows: boolean\n // Same thing is set in authoring : packages/graphing/configure/src/configure.jsx - componentDidMount\n if (typeof arrows === 'boolean') {\n if (arrows) {\n arrows = {\n left: true,\n right: true,\n up: true,\n down: true,\n };\n } else {\n arrows = {\n left: false,\n right: false,\n up: false,\n down: false,\n };\n }\n }\n\n // added support for models without defaultTool defined; also used in packages/graphing/configure/src/index.js\n const toolbarToolsNoLabel = (toolbarTools || []).filter((tool) => tool !== 'label');\n const normalizedDefaultTool = defaultTool || (toolbarToolsNoLabel.length && toolbarToolsNoLabel[0]) || '';\n\n const base = {\n ...questionProps,\n answers,\n arrows,\n defaultTool: normalizedDefaultTool,\n disabled: env.mode !== 'gather',\n prompt: promptEnabled ? prompt : null,\n rationale: null,\n size: graph,\n showKeyLegend: env.mode === 'evaluate',\n showToggle:\n env.mode === 'evaluate' &&\n !isEmpty(answers) &&\n answers.correctAnswer &&\n answers.correctAnswer.marks &&\n !isEmpty(answers.correctAnswer.marks),\n teacherInstructions: null,\n toolbarTools,\n extraCSSRules,\n };\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n const { rationale, rationaleEnabled, teacherInstructions, teacherInstructionsEnabled } = normalizedQuestion || {};\n\n base.rationale = rationaleEnabled ? rationale : null;\n base.teacherInstructions = teacherInstructionsEnabled ? teacherInstructions : null;\n }\n\n if (mode === 'evaluate') {\n if (\n !isEmpty(answers) &&\n answers.correctAnswer &&\n answers.correctAnswer.marks &&\n !isEmpty(answers.correctAnswer.marks)\n ) {\n const { answersCorrected, bestScoreAnswerKey, bestScore } = getBestAnswer(normalizedQuestion, session, env);\n // array of marks from session with 'correctness' property set\n base.answersCorrected = answersCorrected.sort(\n (a, b) => graphObjectsOrder[a.correctness] - graphObjectsOrder[b.correctness],\n );\n base.correctResponse = bestScoreAnswerKey ? (answers[bestScoreAnswerKey] || {}).marks : [];\n base.showToggle = base.showToggle && bestScore !== 1;\n } else {\n base.answersCorrected = (session && session.answer) || [];\n base.correctResponse = [];\n }\n }\n\n log('base: ', base);\n resolve(base);\n });\n}\n\nexport function outcome(question, session, env = {}) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n }\n\n if (\n env.mode !== 'evaluate' ||\n isEmpty(question.answers) ||\n (question.answers && question.answers.correctAnswer && isEmpty(question.answers.correctAnswer.marks))\n ) {\n resolve({ score: 0 });\n }\n\n const { bestScore } = getBestAnswer(question, session, env);\n\n resolve({ score: bestScore });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { answers } = question || {};\n let marks = [];\n\n if (answers && Object.values(answers)) {\n const correctAnswer = answers.correctAnswer || Object.values(answers)[0] || {};\n marks = correctAnswer.marks || [];\n }\n\n resolve({\n answer: marks,\n id: '1',\n });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img and iframe\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { answers, toolbarTools } = model;\n const errors = {};\n const correctAnswerErrors = {};\n const toolbarToolsNoLabel = (toolbarTools || []).filter((tool) => tool !== 'label');\n\n if (!toolbarToolsNoLabel.length) {\n errors.toolbarToolsError = 'There should be at least 1 tool defined.';\n }\n\n ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n Object.entries(answers || {}).forEach(([key, value]) => {\n if (!value.marks.length) {\n correctAnswerErrors[key] = 'At least 1 graph object should be defined.';\n }\n\n // check if all graph objects are correctly defined with respect to root, edge and from, to\n if (value.marks.length > 0) {\n value.marks.forEach((mark) => {\n if (mark.building) {\n correctAnswerErrors[key] = 'At least 1 graph object is not correctly defined.';\n }\n });\n }\n });\n\n if (!isEmpty(correctAnswerErrors)) {\n errors.correctAnswerErrors = correctAnswerErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/graphing-controller",
3
3
  "private": true,
4
- "version": "6.0.6",
4
+ "version": "6.1.0",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -9,7 +9,7 @@
9
9
  "test": "./node_modules/.bin/jest"
10
10
  },
11
11
  "dependencies": {
12
- "@pie-lib/pie-toolbox": "2.0.15",
12
+ "@pie-lib/pie-toolbox": "2.1.0",
13
13
  "debug": "^4.1.1"
14
14
  },
15
15
  "devDependencies": {
package/lib/main.js CHANGED
@@ -89,6 +89,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
89
89
  defaultTool = _ref2.defaultTool,
90
90
  disabled = _ref2.disabled,
91
91
  domain = _ref2.domain,
92
+ extraCSSRules = _ref2.extraCSSRules,
92
93
  labels = _ref2.labels,
93
94
  labelsEnabled = _ref2.labelsEnabled,
94
95
  prompt = _ref2.prompt,
@@ -106,7 +107,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
106
107
 
107
108
  var marks = answersCorrected || answer || [];
108
109
  var isLabelAvailable = (toolbarTools === null || toolbarTools === void 0 ? void 0 : toolbarTools.includes('label')) || false;
109
- return /*#__PURE__*/_react["default"].createElement("div", {
110
+ return /*#__PURE__*/_react["default"].createElement(_renderUi.UiLayout, {
111
+ extraCSSRules: extraCSSRules,
110
112
  className: classes.mainContainer
111
113
  }, teacherInstructions && (0, _renderUi.hasText)(teacherInstructions) && /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
112
114
  className: classes.teacherInstructions,
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["Main","showingCorrect","setState","props","model","classes","onAnswersChange","session","state","answer","answersCorrected","arrows","backgroundMarks","coordinatesOnHover","correctResponse","defaultTool","disabled","domain","labels","labelsEnabled","prompt","range","rationale","showKeyLegend","showToggle","title","titleEnabled","teacherInstructions","toolbarTools","language","size","graph","marks","isLabelAvailable","includes","mainContainer","hidden","visible","toggleCorrect","includeArrows","map","i","correctness","React","Component","PropTypes","object","isRequired","func","styles","theme","color","text","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, KeyLegend } from '@pie-lib/pie-toolbox/graphing';\nimport { color, Collapsible, hasText, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport { CorrectAnswerToggle } from '@pie-lib/pie-toolbox/correct-answer-toggle';\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 = { showingCorrect: false };\n\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n render() {\n const { model, classes, onAnswersChange, session } = this.props;\n const { showingCorrect } = this.state;\n const { answer } = session || {};\n const {\n answersCorrected,\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n correctResponse,\n defaultTool,\n disabled,\n domain,\n labels,\n labelsEnabled,\n prompt,\n range,\n rationale,\n showKeyLegend,\n showToggle,\n title,\n titleEnabled,\n teacherInstructions,\n toolbarTools,\n language,\n } = model || {};\n const size = model?.size || model?.graph || {}; // need this for models that are not processed by controller\n const marks = answersCorrected || answer || [];\n const isLabelAvailable = toolbarTools?.includes('label') || false;\n return (\n <div className={classes.mainContainer}>\n {teacherInstructions && hasText(teacherInstructions) && (\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\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n\n {showingCorrect && showToggle ? (\n <GraphContainer\n className={classes.graph}\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={backgroundMarks}\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 toolbarTools={toolbarTools}\n language={language}\n />\n ) : (\n <GraphContainer\n className={classes.graph}\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={backgroundMarks}\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 range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n toolbarTools={toolbarTools}\n language={language}\n limitLabeling={true}\n />\n )}\n {showKeyLegend && !showingCorrect && <KeyLegend isLabelAvailable={isLabelAvailable}></KeyLegend>}\n {rationale && hasText(rationale) && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\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","setState","props","model","classes","onAnswersChange","session","state","answer","answersCorrected","arrows","backgroundMarks","coordinatesOnHover","correctResponse","defaultTool","disabled","domain","extraCSSRules","labels","labelsEnabled","prompt","range","rationale","showKeyLegend","showToggle","title","titleEnabled","teacherInstructions","toolbarTools","language","size","graph","marks","isLabelAvailable","includes","mainContainer","hidden","visible","toggleCorrect","includeArrows","map","i","correctness","React","Component","PropTypes","object","isRequired","func","styles","theme","color","text","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, KeyLegend } from '@pie-lib/pie-toolbox/graphing';\nimport { color, Collapsible, hasText, PreviewPrompt, UiLayout } from '@pie-lib/pie-toolbox/render-ui';\nimport { CorrectAnswerToggle } from '@pie-lib/pie-toolbox/correct-answer-toggle';\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 = { showingCorrect: false };\n\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n render() {\n const { model, classes, onAnswersChange, session } = this.props;\n const { showingCorrect } = this.state;\n const { answer } = session || {};\n const {\n answersCorrected,\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n correctResponse,\n defaultTool,\n disabled,\n domain,\n extraCSSRules,\n labels,\n labelsEnabled,\n prompt,\n range,\n rationale,\n showKeyLegend,\n showToggle,\n title,\n titleEnabled,\n teacherInstructions,\n toolbarTools,\n language,\n } = model || {};\n const size = model?.size || model?.graph || {}; // need this for models that are not processed by controller\n const marks = answersCorrected || answer || [];\n const isLabelAvailable = toolbarTools?.includes('label') || false;\n return (\n <UiLayout extraCSSRules={extraCSSRules} className={classes.mainContainer}>\n {teacherInstructions && hasText(teacherInstructions) && (\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\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n\n {showingCorrect && showToggle ? (\n <GraphContainer\n className={classes.graph}\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={backgroundMarks}\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 toolbarTools={toolbarTools}\n language={language}\n />\n ) : (\n <GraphContainer\n className={classes.graph}\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={backgroundMarks}\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 range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n toolbarTools={toolbarTools}\n language={language}\n limitLabeling={true}\n />\n )}\n {showKeyLegend && !showingCorrect && <KeyLegend isLabelAvailable={isLabelAvailable}></KeyLegend>}\n {rationale && hasText(rationale) && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\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": "6.1.6-next.3+59535a35f",
7
+ "version": "6.2.0",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "postpublish": "../../scripts/postpublish"
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "@material-ui/core": "^3.9.2",
14
14
  "@pie-framework/pie-player-events": "^0.1.0",
15
- "@pie-lib/pie-toolbox": "2.0.15",
15
+ "@pie-lib/pie-toolbox": "2.1.0",
16
16
  "classnames": "^2.2.5",
17
17
  "debug": "^4.1.1",
18
18
  "react": "^16.8.1",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "author": "",
22
22
  "license": "ISC",
23
- "gitHead": "59535a35fed818c74f3d6d6cc41b352c1ed939eb",
23
+ "gitHead": "0ceacdb80b0be7b4cae60b1eff7974170b088358",
24
24
  "main": "lib/index.js",
25
25
  "module": "src/index.js"
26
26
  }