@pie-element/graphing 5.5.1 → 5.5.2-next.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/lib/configure.js +22 -3
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/defaults.js +6 -3
- package/configure/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +12 -0
- package/controller/lib/index.js.map +1 -1
- package/docs/config-schema.json +39 -3
- package/docs/config-schema.json.md +28 -0
- package/docs/pie-schema.json +21 -0
- package/docs/pie-schema.json.md +16 -0
- package/package.json +2 -2
|
@@ -72,6 +72,11 @@ var styles = function styles(theme) {
|
|
|
72
72
|
},
|
|
73
73
|
description: {
|
|
74
74
|
marginBottom: theme.spacing.unit * 2.5
|
|
75
|
+
},
|
|
76
|
+
errorText: {
|
|
77
|
+
fontSize: theme.typography.fontSize - 2,
|
|
78
|
+
color: theme.palette.error.main,
|
|
79
|
+
paddingTop: theme.spacing.unit
|
|
75
80
|
}
|
|
76
81
|
};
|
|
77
82
|
};
|
|
@@ -238,6 +243,11 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
238
243
|
teacherInstructionsEnabled = _ref4.teacherInstructionsEnabled,
|
|
239
244
|
titleEnabled = _ref4.titleEnabled;
|
|
240
245
|
|
|
246
|
+
var _ref5 = errors || {},
|
|
247
|
+
promptError = _ref5.prompt,
|
|
248
|
+
rationaleError = _ref5.rationale,
|
|
249
|
+
teacherInstructionsError = _ref5.teacherInstructions;
|
|
250
|
+
|
|
241
251
|
log('[render] model', model);
|
|
242
252
|
var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
|
|
243
253
|
var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
|
|
@@ -298,6 +308,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
298
308
|
markup: model.teacherInstructions || '',
|
|
299
309
|
onChange: this.onTeacherInstructionsChange,
|
|
300
310
|
imageSupport: imageSupport,
|
|
311
|
+
error: teacherInstructionsError,
|
|
301
312
|
nonEmpty: false,
|
|
302
313
|
spellCheck: spellCheckEnabled,
|
|
303
314
|
maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
|
|
@@ -309,7 +320,9 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
309
320
|
language: 'special'
|
|
310
321
|
}],
|
|
311
322
|
mathMlOptions: mathMlOptions
|
|
312
|
-
})
|
|
323
|
+
}), teacherInstructionsError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
324
|
+
className: classes.errorText
|
|
325
|
+
}, teacherInstructionsError)), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
313
326
|
label: prompt.label,
|
|
314
327
|
className: classes.promptHolder
|
|
315
328
|
}, /*#__PURE__*/_react["default"].createElement(_editableHtml.EditableHtml, {
|
|
@@ -317,6 +330,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
317
330
|
markup: model.prompt,
|
|
318
331
|
onChange: this.onPromptChange,
|
|
319
332
|
imageSupport: imageSupport,
|
|
333
|
+
error: promptError,
|
|
320
334
|
nonEmpty: false,
|
|
321
335
|
spellCheck: spellCheckEnabled,
|
|
322
336
|
disableUnderline: true,
|
|
@@ -329,7 +343,9 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
329
343
|
language: 'special'
|
|
330
344
|
}],
|
|
331
345
|
mathMlOptions: mathMlOptions
|
|
332
|
-
})
|
|
346
|
+
}), promptError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
347
|
+
className: classes.errorText
|
|
348
|
+
}, promptError)), /*#__PURE__*/_react["default"].createElement(_graphingConfig["default"], {
|
|
333
349
|
authoring: authoring,
|
|
334
350
|
availableTools: availableTools,
|
|
335
351
|
gridConfigurations: gridConfigurations,
|
|
@@ -356,6 +372,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
356
372
|
markup: model.rationale || '',
|
|
357
373
|
onChange: this.onRationaleChange,
|
|
358
374
|
imageSupport: imageSupport,
|
|
375
|
+
error: rationaleError,
|
|
359
376
|
spellCheck: spellCheckEnabled,
|
|
360
377
|
maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
|
|
361
378
|
maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
|
|
@@ -366,7 +383,9 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
366
383
|
language: 'special'
|
|
367
384
|
}],
|
|
368
385
|
mathMlOptions: mathMlOptions
|
|
369
|
-
})
|
|
386
|
+
}), rationaleError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
387
|
+
className: classes.errorText
|
|
388
|
+
}, rationaleError)));
|
|
370
389
|
}
|
|
371
390
|
}]);
|
|
372
391
|
return Configure;
|
|
@@ -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","availableTools","graphDimensions","arrows","showTitle","titleEnabled","showDimensions","dimensionsEnabled","left","right","up","down","toolbarTools","undefined","enabled","classes","onConfigurationChanged","imageSupport","uploadSoundSupport","authoring","coordinatesOnHover","contentDimensions","gridConfigurations","instruction","labels","padding","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","withRubric","language","languageChoices","mathMlOptions","errors","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: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});\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 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 labelsEnabled,\n dimensionsEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n titleEnabled,\n } = model || {};\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 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 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\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\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 />\n\n <CorrectResponse\n availableTools={availableTools}\n errors={errors}\n model={model}\n onChange={this.props.onModelChanged}\n mathMlOptions={mathMlOptions}\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 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","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","coordinatesOnHover","contentDimensions","gridConfigurations","instruction","labels","padding","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","withRubric","language","languageChoices","mathMlOptions","errors","labelsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","promptError","rationaleError","teacherInstructionsError","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: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 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 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 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 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 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 />\n\n <CorrectResponse\n availableTools={availableTools}\n errors={errors}\n model={model}\n onChange={this.props.onModelChanged}\n mathMlOptions={mathMlOptions}\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 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"}
|
|
@@ -315,11 +315,13 @@ var _default = {
|
|
|
315
315
|
},
|
|
316
316
|
prompt: {
|
|
317
317
|
settings: true,
|
|
318
|
-
label: 'Item Stem'
|
|
318
|
+
label: 'Item Stem',
|
|
319
|
+
required: false
|
|
319
320
|
},
|
|
320
321
|
rationale: {
|
|
321
322
|
settings: true,
|
|
322
|
-
label: 'Rationale'
|
|
323
|
+
label: 'Rationale',
|
|
324
|
+
required: false
|
|
323
325
|
},
|
|
324
326
|
scoringType: {
|
|
325
327
|
settings: false,
|
|
@@ -331,7 +333,8 @@ var _default = {
|
|
|
331
333
|
},
|
|
332
334
|
teacherInstructions: {
|
|
333
335
|
settings: true,
|
|
334
|
-
label: 'Teacher Instructions'
|
|
336
|
+
label: 'Teacher Instructions',
|
|
337
|
+
required: false
|
|
335
338
|
},
|
|
336
339
|
title: {
|
|
337
340
|
settings: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["allTools","model","answers","correctAnswer","name","marks","arrows","left","right","up","down","backgroundMarks","defaultGridConfiguration","domain","min","max","step","labelStep","axisLabel","graph","width","height","includeAxes","labels","labelsEnabled","padding","prompt","range","rationale","standardGrid","title","toolbarTools","coordinatesOnHover","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","availableTools","authoring","settings","label","enabled","includeAxesEnabled","standardGridEnabled","gridConfigurations","top","bottom","graphDimensions","scoringType","studentInstructions","teacherInstructions","placeholder","instruction","settingsPanelDisabled","spellCheck","maxImageWidth","maxImageHeight","withRubric","language","languageChoices","options","mathMlOptions","mmlOutput","mmlEditing"],"mappings":"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","sourcesContent":["const allTools = [\n 'circle',\n 'line',\n 'label',\n 'parabola',\n 'point',\n 'polygon',\n 'ray',\n 'segment',\n 'sine',\n 'vector',\n // 'absolute', // - not available as default\n // 'exponential', // - not available as default\n];\n\nexport default {\n model: {\n answers: {\n correctAnswer: {\n name: 'Correct Answer',\n marks: [],\n },\n },\n arrows: {\n left: true,\n right: true,\n up: true,\n down: true,\n },\n backgroundMarks: [],\n defaultGridConfiguration: 0,\n domain: {\n min: -5,\n max: 5,\n step: 1,\n labelStep: 1,\n axisLabel: 'x',\n },\n graph: {\n width: 500,\n height: 500,\n },\n includeAxes: true,\n labels: {},\n labelsEnabled: true,\n padding: true,\n prompt: '',\n range: {\n min: -5,\n max: 5,\n step: 1,\n labelStep: 1,\n axisLabel: 'y',\n },\n rationale: '',\n standardGrid: false,\n title: '',\n toolbarTools: allTools,\n coordinatesOnHover: false,\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n },\n configuration: {\n availableTools: allTools,\n authoring: {\n settings: false,\n label: 'Customize Grid Setup',\n enabled: true,\n includeAxesEnabled: true,\n standardGridEnabled: true,\n min: {\n label: 'Min Value',\n enabled: true,\n },\n max: {\n label: 'Max Value',\n enabled: true,\n },\n axisLabel: {\n label: 'Label',\n enabled: true,\n },\n step: {\n label: 'Grid Interval',\n enabled: true,\n },\n labelStep: {\n label: 'Label Interval',\n enabled: true,\n },\n },\n arrows: {\n settings: true,\n label: 'Include Arrows',\n left: {\n label: 'left',\n },\n right: {\n label: 'right',\n },\n up: {\n label: 'up',\n },\n down: {\n label: 'down',\n },\n },\n gridConfigurations: [\n {\n label: '4-quadrant coordinate grid, -10 to 10',\n arrows: {\n left: true,\n right: true,\n up: true,\n down: true,\n },\n domain: {\n min: -10,\n max: 10,\n step: 1,\n padding: 0,\n labelStep: 1,\n axisLabel: '<i>x</i>',\n },\n graph: {\n width: 480,\n height: 480,\n },\n includeAxes: true,\n labels: {\n top: '',\n right: '',\n bottom: '',\n left: '',\n },\n padding: true,\n range: {\n min: -10,\n max: 10,\n step: 1,\n padding: 0,\n labelStep: 1,\n axisLabel: '<i>y</i>',\n },\n standardGrid: true,\n title: '',\n },\n {\n label: '0 to 10 on both axes',\n arrows: {\n left: false,\n right: true,\n up: true,\n down: false,\n },\n domain: {\n min: 0,\n max: 10,\n step: 1,\n padding: 0,\n labelStep: 1,\n axisLabel: '<i>x</i>',\n },\n graph: {\n width: 480,\n height: 480,\n },\n includeAxes: true,\n labels: {\n top: '',\n right: '',\n bottom: '',\n left: '',\n },\n padding: true,\n range: {\n min: 0,\n max: 10,\n step: 1,\n padding: 0,\n labelStep: 1,\n axisLabel: '<i>y</i>',\n },\n standardGrid: true,\n title: '',\n },\n {\n label: '0 to 20 on both axes',\n arrows: {\n left: false,\n right: true,\n up: true,\n down: false,\n },\n domain: {\n min: 0,\n max: 20,\n step: 1,\n padding: 0,\n labelStep: 1,\n axisLabel: '<i>x</i>',\n },\n graph: {\n width: 480,\n height: 480,\n },\n includeAxes: true,\n labels: {\n top: '',\n right: '',\n bottom: '',\n left: '',\n },\n padding: true,\n range: {\n min: 0,\n max: 20,\n step: 1,\n padding: 0,\n labelStep: 1,\n axisLabel: '<i>y</i>',\n },\n standardGrid: true,\n title: '',\n },\n {\n label: 'Sample Data Graph',\n arrows: {\n left: false,\n right: true,\n up: true,\n down: false,\n },\n domain: {\n min: 0,\n max: 30,\n step: 1,\n padding: 0,\n labelStep: 2,\n axisLabel: '<i>t</i>',\n },\n graph: {\n width: 480,\n height: 480,\n },\n includeAxes: true,\n labels: {\n top: '',\n right: '',\n bottom: 'Time (seconds)',\n left: 'Distance (meters)',\n },\n padding: true,\n range: {\n min: 0,\n max: 80,\n step: 5,\n padding: 0,\n labelStep: 10,\n axisLabel: '<i>d</i>',\n },\n standardGrid: false,\n title: 'Distance as a function of time',\n },\n {\n label: 'No Visible Axes',\n arrows: {\n left: false,\n right: false,\n up: false,\n down: false,\n },\n domain: {\n min: 1,\n max: 21,\n step: 1,\n padding: 0,\n labelStep: 0,\n axisLabel: '',\n },\n graph: {\n width: 480,\n height: 480,\n },\n includeAxes: false,\n labels: {\n top: '',\n right: '',\n bottom: '',\n left: '',\n },\n padding: true,\n range: {\n min: 1,\n max: 21,\n step: 1,\n padding: 0,\n labelStep: 0,\n axisLabel: '',\n },\n standardGrid: false,\n title: '',\n },\n ],\n graphDimensions: {\n settings: false,\n label: 'Graph Dimensions',\n enabled: true,\n min: 150,\n max: 800,\n step: 20,\n },\n padding: {\n settings: false,\n label: 'Padding',\n },\n labels: {\n settings: true,\n label: 'Graph Labels',\n enabled: true,\n top: 'Click here to add a top label',\n right: 'Click here to add a right label',\n bottom: 'Click here to add a bottom label',\n left: 'Click here to add a left label',\n },\n prompt: {\n settings: true,\n label: 'Item Stem',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n },\n title: {\n settings: true,\n label: 'Graph Title',\n enabled: true,\n placeholder: 'Click here to add a title for this graph',\n },\n instruction: {\n settings: false,\n label:\n 'Graphing questions involve plotting points, lines, or other objects on a graph. To create one, first configure the grid, then select the plotting tools students will be offered, and use them to define the correct answer.',\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n coordinatesOnHover: {\n settings: true,\n label: 'Coordinates on Hover',\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n },\n};\n"],"file":"defaults.js"}
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["allTools","model","answers","correctAnswer","name","marks","arrows","left","right","up","down","backgroundMarks","defaultGridConfiguration","domain","min","max","step","labelStep","axisLabel","graph","width","height","includeAxes","labels","labelsEnabled","padding","prompt","range","rationale","standardGrid","title","toolbarTools","coordinatesOnHover","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","availableTools","authoring","settings","label","enabled","includeAxesEnabled","standardGridEnabled","gridConfigurations","top","bottom","graphDimensions","required","scoringType","studentInstructions","teacherInstructions","placeholder","instruction","settingsPanelDisabled","spellCheck","maxImageWidth","maxImageHeight","withRubric","language","languageChoices","options","mathMlOptions","mmlOutput","mmlEditing"],"mappings":"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","sourcesContent":["const allTools = [\n 'circle',\n 'line',\n 'label',\n 'parabola',\n 'point',\n 'polygon',\n 'ray',\n 'segment',\n 'sine',\n 'vector',\n // 'absolute', // - not available as default\n // 'exponential', // - not available as default\n];\n\nexport default {\n model: {\n answers: {\n correctAnswer: {\n name: 'Correct Answer',\n marks: [],\n },\n },\n arrows: {\n left: true,\n right: true,\n up: true,\n down: true,\n },\n backgroundMarks: [],\n defaultGridConfiguration: 0,\n domain: {\n min: -5,\n max: 5,\n step: 1,\n labelStep: 1,\n axisLabel: 'x',\n },\n graph: {\n width: 500,\n height: 500,\n },\n includeAxes: true,\n labels: {},\n labelsEnabled: true,\n padding: true,\n prompt: '',\n range: {\n min: -5,\n max: 5,\n step: 1,\n labelStep: 1,\n axisLabel: 'y',\n },\n rationale: '',\n standardGrid: false,\n title: '',\n toolbarTools: allTools,\n coordinatesOnHover: false,\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n },\n configuration: {\n availableTools: allTools,\n authoring: {\n settings: false,\n label: 'Customize Grid Setup',\n enabled: true,\n includeAxesEnabled: true,\n standardGridEnabled: true,\n min: {\n label: 'Min Value',\n enabled: true,\n },\n max: {\n label: 'Max Value',\n enabled: true,\n },\n axisLabel: {\n label: 'Label',\n enabled: true,\n },\n step: {\n label: 'Grid Interval',\n enabled: true,\n },\n labelStep: {\n label: 'Label Interval',\n enabled: true,\n },\n },\n arrows: {\n settings: true,\n label: 'Include Arrows',\n left: {\n label: 'left',\n },\n right: {\n label: 'right',\n },\n up: {\n label: 'up',\n },\n down: {\n label: 'down',\n },\n },\n gridConfigurations: [\n {\n label: '4-quadrant coordinate grid, -10 to 10',\n arrows: {\n left: true,\n right: true,\n up: true,\n down: true,\n },\n domain: {\n min: -10,\n max: 10,\n step: 1,\n padding: 0,\n labelStep: 1,\n axisLabel: '<i>x</i>',\n },\n graph: {\n width: 480,\n height: 480,\n },\n includeAxes: true,\n labels: {\n top: '',\n right: '',\n bottom: '',\n left: '',\n },\n padding: true,\n range: {\n min: -10,\n max: 10,\n step: 1,\n padding: 0,\n labelStep: 1,\n axisLabel: '<i>y</i>',\n },\n standardGrid: true,\n title: '',\n },\n {\n label: '0 to 10 on both axes',\n arrows: {\n left: false,\n right: true,\n up: true,\n down: false,\n },\n domain: {\n min: 0,\n max: 10,\n step: 1,\n padding: 0,\n labelStep: 1,\n axisLabel: '<i>x</i>',\n },\n graph: {\n width: 480,\n height: 480,\n },\n includeAxes: true,\n labels: {\n top: '',\n right: '',\n bottom: '',\n left: '',\n },\n padding: true,\n range: {\n min: 0,\n max: 10,\n step: 1,\n padding: 0,\n labelStep: 1,\n axisLabel: '<i>y</i>',\n },\n standardGrid: true,\n title: '',\n },\n {\n label: '0 to 20 on both axes',\n arrows: {\n left: false,\n right: true,\n up: true,\n down: false,\n },\n domain: {\n min: 0,\n max: 20,\n step: 1,\n padding: 0,\n labelStep: 1,\n axisLabel: '<i>x</i>',\n },\n graph: {\n width: 480,\n height: 480,\n },\n includeAxes: true,\n labels: {\n top: '',\n right: '',\n bottom: '',\n left: '',\n },\n padding: true,\n range: {\n min: 0,\n max: 20,\n step: 1,\n padding: 0,\n labelStep: 1,\n axisLabel: '<i>y</i>',\n },\n standardGrid: true,\n title: '',\n },\n {\n label: 'Sample Data Graph',\n arrows: {\n left: false,\n right: true,\n up: true,\n down: false,\n },\n domain: {\n min: 0,\n max: 30,\n step: 1,\n padding: 0,\n labelStep: 2,\n axisLabel: '<i>t</i>',\n },\n graph: {\n width: 480,\n height: 480,\n },\n includeAxes: true,\n labels: {\n top: '',\n right: '',\n bottom: 'Time (seconds)',\n left: 'Distance (meters)',\n },\n padding: true,\n range: {\n min: 0,\n max: 80,\n step: 5,\n padding: 0,\n labelStep: 10,\n axisLabel: '<i>d</i>',\n },\n standardGrid: false,\n title: 'Distance as a function of time',\n },\n {\n label: 'No Visible Axes',\n arrows: {\n left: false,\n right: false,\n up: false,\n down: false,\n },\n domain: {\n min: 1,\n max: 21,\n step: 1,\n padding: 0,\n labelStep: 0,\n axisLabel: '',\n },\n graph: {\n width: 480,\n height: 480,\n },\n includeAxes: false,\n labels: {\n top: '',\n right: '',\n bottom: '',\n left: '',\n },\n padding: true,\n range: {\n min: 1,\n max: 21,\n step: 1,\n padding: 0,\n labelStep: 0,\n axisLabel: '',\n },\n standardGrid: false,\n title: '',\n },\n ],\n graphDimensions: {\n settings: false,\n label: 'Graph Dimensions',\n enabled: true,\n min: 150,\n max: 800,\n step: 20,\n },\n padding: {\n settings: false,\n label: 'Padding',\n },\n labels: {\n settings: true,\n label: 'Graph Labels',\n enabled: true,\n top: 'Click here to add a top label',\n right: 'Click here to add a right label',\n bottom: 'Click here to add a bottom label',\n left: 'Click here to add a left label',\n },\n prompt: {\n settings: true,\n label: 'Item Stem',\n required: false,\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n required: false,\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n required: false,\n },\n title: {\n settings: true,\n label: 'Graph Title',\n enabled: true,\n placeholder: 'Click here to add a title for this graph',\n },\n instruction: {\n settings: false,\n label:\n 'Graphing questions involve plotting points, lines, or other objects on a graph. To create one, first configure the grid, then select the plotting tools students will be offered, and use them to define the correct answer.',\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n coordinatesOnHover: {\n settings: true,\n label: 'Coordinates on Hover',\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n },\n};\n"],"file":"defaults.js"}
|
package/controller/lib/index.js
CHANGED
|
@@ -370,8 +370,13 @@ var createCorrectResponseSession = function createCorrectResponseSession(questio
|
|
|
370
370
|
|
|
371
371
|
exports.createCorrectResponseSession = createCorrectResponseSession;
|
|
372
372
|
|
|
373
|
+
var getInnerText = function getInnerText(html) {
|
|
374
|
+
return (html || '').replaceAll(/<[^>]*>/g, '');
|
|
375
|
+
};
|
|
376
|
+
|
|
373
377
|
var validate = function validate() {
|
|
374
378
|
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
379
|
+
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
375
380
|
var answers = model.answers,
|
|
376
381
|
toolbarTools = model.toolbarTools;
|
|
377
382
|
var errors = {};
|
|
@@ -384,6 +389,13 @@ var validate = function validate() {
|
|
|
384
389
|
errors.toolbarToolsError = 'There should be at least 1 tool defined.';
|
|
385
390
|
}
|
|
386
391
|
|
|
392
|
+
['teacherInstructions', 'prompt', 'rationale'].forEach(function (field) {
|
|
393
|
+
var _config$field;
|
|
394
|
+
|
|
395
|
+
if ((_config$field = config[field]) !== null && _config$field !== void 0 && _config$field.required && !getInnerText(model[field])) {
|
|
396
|
+
errors[field] = 'This field is required';
|
|
397
|
+
}
|
|
398
|
+
});
|
|
387
399
|
Object.entries(answers || {}).forEach(function (_ref11) {
|
|
388
400
|
var _ref12 = (0, _slicedToArray2["default"])(_ref11, 2),
|
|
389
401
|
key = _ref12[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","initializeGraphMap","point","segment","line","ray","vector","polygon","circle","sine","parabola","absolute","exponential","compareMarks","mark1","mark2","type","equalMarks","getAnswerCorrected","sessionAnswers","correctAnswers","marks","rez","reduce","correctedAnswer","answer","answerIsCorrect","find","mark","correctness","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","defaultTool","prompt","promptEnabled","graph","toolbarTools","questionProps","arrows","mode","role","left","right","up","down","toolbarToolsNoLabel","tool","normalizedDefaultTool","base","disabled","rationale","size","showToggle","teacherInstructions","rationaleEnabled","teacherInstructionsEnabled","correctResponse","outcome","empty","createCorrectResponseSession","values","id","validate","errors","correctAnswerErrors","toolbarToolsError"],"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\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 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\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 // 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 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;\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\nexport const validate = (model = {}) => {\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 Object.entries(answers || {}).forEach(([key, value]) => {\n if (!value.marks.length) {\n correctAnswerErrors[key] = 'At least 1 graph object should be defined.';\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","compareMarks","mark1","mark2","type","equalMarks","getAnswerCorrected","sessionAnswers","correctAnswers","marks","rez","reduce","correctedAnswer","answer","answerIsCorrect","find","mark","correctness","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","defaultTool","prompt","promptEnabled","graph","toolbarTools","questionProps","arrows","mode","role","left","right","up","down","toolbarToolsNoLabel","tool","normalizedDefaultTool","base","disabled","rationale","size","showToggle","teacherInstructions","rationaleEnabled","teacherInstructionsEnabled","correctResponse","outcome","empty","createCorrectResponseSession","values","id","getInnerText","html","replaceAll","validate","config","errors","correctAnswerErrors","toolbarToolsError","field","required"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,kCAAN,CAAZ;;AAEA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB;AAAA,SAAO;AAChCC,IAAAA,KAAK,EAAE,EADyB;AAEhCC,IAAAA,OAAO,EAAE,EAFuB;AAGhCC,IAAAA,IAAI,EAAE,EAH0B;AAIhCC,IAAAA,GAAG,EAAE,EAJ2B;AAKhCC,IAAAA,MAAM,EAAE,EALwB;AAMhCC,IAAAA,OAAO,EAAE,EANuB;AAOhCC,IAAAA,MAAM,EAAE,EAPwB;AAQhCC,IAAAA,IAAI,EAAE,EAR0B;AAShCC,IAAAA,QAAQ,EAAE,EATsB;AAUhCC,IAAAA,QAAQ,EAAE,EAVsB;AAWhCC,IAAAA,WAAW,EAAE;AAXmB,GAAP;AAAA,CAA3B;;AAcO,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAQC,KAAR,EAAkB;AAC5C;AACA;AACA,SAAO,CAAC,EACND,KAAK,IACLC,KADA,IAEAD,KAAK,CAACE,IAAN,KAAeD,KAAK,CAACC,IAFrB,IAGAC,kBAAWH,KAAK,CAACE,IAAjB,CAHA,IAIAC,kBAAWH,KAAK,CAACE,IAAjB,EAAuBF,KAAvB,EAA8BC,KAA9B,CALM,CAAR;AAOD,CAVM;;;;AAYA,IAAMG,kBAAkB,GAAG,SAArBA,kBAAqB,OAA+C;AAAA,MAA5CC,cAA4C,QAA5CA,cAA4C;AAAA,MAArBC,cAAqB,QAA5BC,KAA4B;AAC/EF,EAAAA,cAAc,GAAGA,cAAc,IAAI,EAAnC;AACAC,EAAAA,cAAc,GAAGA,cAAc,IAAI,EAAnC;AAEA,MAAME,GAAG,GAAG,2BAAUH,cAAV,EAA0BI,MAA1B,CAAiC,UAACC,eAAD,EAAkBC,MAAlB,EAA6B;AACxE,QAAMC,eAAe,GAAGN,cAAc,CAACO,IAAf,CAAoB,UAACC,IAAD;AAAA,aAAUf,YAAY,CAACY,MAAD,EAASG,IAAT,CAAtB;AAAA,KAApB,CAAxB;AAEAH,IAAAA,MAAM,CAACI,WAAP,GAAqBH,eAAe,GAAG,SAAH,GAAe,WAAnD;AAEA,yDAAWF,eAAX,IAA4BC,MAA5B;AACD,GANW,EAMT,EANS,CAAZ,CAJ+E,CAY/E;;AACA,MAAMK,cAAc,GAAG,2BAAUV,cAAV,EAA0BG,MAA1B,CAAiC,UAACC,eAAD,EAAkBC,MAAlB,EAA6B;AACnF,QAAMM,WAAW,GAAGZ,cAAc,CAACQ,IAAf,CAAoB,UAACC,IAAD;AAAA,aAAUf,YAAY,CAACY,MAAD,EAASG,IAAT,CAAtB;AAAA,KAApB,CAApB;;AAEA,QAAI,CAACG,WAAL,EAAkB;AAChB;AACA,2DAAWP,eAAX,oCAAiCC,MAAjC;AAAyCI,QAAAA,WAAW,EAAE;AAAtD;AACD;;AAED,WAAOL,eAAP;AACD,GATsB,EASpB,EAToB,CAAvB;AAWA,uDAAWF,GAAX,uCAAmBQ,cAAnB;AACD,CAzBM;;;;AA2BP,IAAME,iBAAiB,GAAG,SAApBA,iBAAoB,QAA0B;AAAA,MAAvBC,WAAuB,SAAvBA,WAAuB;AAAA,MAAVC,GAAU,SAAVA,GAAU;AAClD,MAAIC,EAAE,GAAGF,WAAT,CADkD,CAGlD;AACA;AACA;;AACA,MAAIA,WAAJ,EAAiB;AACfE,IAAAA,EAAE,GAAGF,WAAW,KAAK,iBAArB;AACD;;AAED,SAAOG,gCAAeC,OAAf,CAAuB;AAAED,IAAAA,cAAc,EAAED;AAAlB,GAAvB,EAA+CD,GAA/C,CAAP;AACD,CAXD;;AAaO,IAAMI,aAAa,GAAG,SAAhBA,aAAgB,CAACC,QAAD,EAAWC,OAAX,EAAiC;AAAA,MAAbN,GAAa,uEAAP,EAAO;;AAC5D;AACA,cAA6DK,QAAQ,IAAI,EAAzE;AAAA,4BAAME,OAAN;AAAA,MAAeC,uBAAf,8BAAyC,EAAzC;AAAA,MAA6CT,WAA7C,SAA6CA,WAA7C;;AACA,cAAiBO,OAAO,IAAI,EAA5B;AAAA,MAAMf,MAAN,SAAMA,MAAN,CAH4D,CAK5D;;;AACAkB,EAAAA,MAAM,CAACC,OAAP,CAAeF,uBAAuB,IAAI,EAA1C,EAA8CG,OAA9C,CACE;AAAA;AAAA,QAAEC,GAAF;AAAA,QAAOC,KAAP;;AAAA,WACGL,uBAAuB,CAACI,GAAD,CAAvB,mCAAoCC,KAApC;AAA2C1B,MAAAA,KAAK,EAAE0B,KAAF,aAAEA,KAAF,uBAAEA,KAAK,CAAE1B,KAAP,CAAa2B,MAAb,CAAoB,UAACpB,IAAD;AAAA,eAAU,CAACA,IAAI,CAACqB,QAAhB;AAAA,OAApB;AAAlD,MADH;AAAA,GADF,EAN4D,CAW5D;;AACAxB,EAAAA,MAAM,GAAGA,MAAM,IAAI,EAAnB,CAZ4D,CAc5D;;AACA,MAAI,yBAAQiB,uBAAR,CAAJ,EAAsC;AACpCA,IAAAA,uBAAuB,GAAG;AAAEQ,MAAAA,aAAa,EAAEjD,kBAAkB;AAAnC,KAA1B;AACD,GAFD,MAEO;AACLyC,IAAAA,uBAAuB;AACrBQ,MAAAA,aAAa,EAAER,uBAAuB,CAACQ;AADlB,OAElB,0BAAcR,uBAAd,CAFkB,CAAvB;AAID;;AAED,MAAMS,qBAAqB,GAAGnB,iBAAiB,CAAC;AAAEC,IAAAA,WAAW,EAAXA,WAAF;AAAeC,IAAAA,GAAG,EAAHA;AAAf,GAAD,CAA/C,CAxB4D,CA0B5D;;AACA,MAAMf,cAAc,GAAG,0BAASM,MAAT,EAAiBZ,YAAjB,CAAvB,CA3B4D,CA4B5D;;AACA,MAAMuC,eAAe,GAAGT,MAAM,CAACC,OAAP,CAAeF,uBAAf,CAAxB;AAEA,SAAOU,eAAe,CAAC7B,MAAhB,CACL,UAAC8B,GAAD,EAAMC,KAAN,EAAgB;AACd;AACA,QAAMC,iBAAiB,GAAGD,KAAK,CAAC,CAAD,CAA/B;AACA,QAAME,cAAc,GAAGF,KAAK,CAAC,CAAD,CAAL,IAAY,EAAnC;AACA,QAAMjC,KAAN,GAAgBmC,cAAhB,CAAMnC,KAAN;;AAEA,QAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACoC,MAArB,EAA6B;AAC3B,aAAOJ,GAAP;AACD,KARa,CAUd;;;AACA,QAAM7B,eAAe,GAAGN,kBAAkB,CAAC;AAAEC,MAAAA,cAAc,EAAdA,cAAF;AAAkBE,MAAAA,KAAK,EAALA;AAAlB,KAAD,CAA1C;AACA,QAAMqC,YAAY,GAAGlC,eAAe,CAACwB,MAAhB,CAAuB,UAACvB,MAAD;AAAA,aAAYA,MAAM,CAACI,WAAP,KAAuB,SAAnC;AAAA,KAAvB,CAArB,CAZc,CAad;AACA;;AACA,QAAM8B,qBAAqB,GAAGnC,eAAe,CAACwB,MAAhB,CAAuB,UAACvB,MAAD;AAAA,aAAYA,MAAM,CAACI,WAAP,KAAuB,SAAnC;AAAA,KAAvB,CAA9B;AAEA,QAAM+B,QAAQ,GAAGvC,KAAK,CAACoC,MAAvB;AACA,QAAII,KAAK,GAAGH,YAAY,CAACD,MAAzB,CAlBc,CAoBd;;AACA,QAAIE,qBAAqB,CAACF,MAAtB,GAA+BG,QAAnC,EAA6C;AAC3CC,MAAAA,KAAK,IAAIF,qBAAqB,CAACF,MAAtB,GAA+BG,QAAxC;AACD;;AAED,QAAIC,KAAK,GAAG,CAAZ,EAAe;AACbA,MAAAA,KAAK,GAAG,CAAR;AACD;;AAED,QAAIA,KAAK,GAAGD,QAAR,GAAmBP,GAAG,CAACS,SAAvB,IAAoC,CAACT,GAAG,CAACU,gBAA7C,EAA+D;AAC7D,UAAIZ,qBAAJ,EAA2B;AACzBE,QAAAA,GAAG,CAACS,SAAJ,GAAgBE,UAAU,CAAC,CAACH,KAAK,GAAGD,QAAT,EAAmBK,OAAnB,CAA2B,CAA3B,CAAD,CAA1B;AACD,OAFD,MAEO;AACLZ,QAAAA,GAAG,CAACS,SAAJ,GAAgBI,IAAI,CAACC,KAAL,CAAWN,KAAK,GAAGD,QAAnB,CAAhB;AACD;;AAEDP,MAAAA,GAAG,CAACe,kBAAJ,GAAyBb,iBAAzB;AACAF,MAAAA,GAAG,CAACgB,gBAAJ,GAAuB7C,eAAvB;AACA6B,MAAAA,GAAG,CAACU,gBAAJ,GAAuB,IAAvB;AACD;;AAED,WAAOV,GAAP;AACD,GA3CI,EA4CL;AACES,IAAAA,SAAS,EAAE,CADb;AAEEM,IAAAA,kBAAkB,EAAE,IAFtB;AAGE;AACAC,IAAAA,gBAAgB,EAAE,2BAAUlD,cAAV,EAA0BmD,GAA1B,CAA8B,UAAC7C,MAAD;AAAA,6CAAkBA,MAAlB;AAA0BI,QAAAA,WAAW,EAAE;AAAvC;AAAA,KAA9B,CAJpB;AAKEkC,IAAAA,gBAAgB,EAAE;AALpB,GA5CK,CAAP;AAoDD,CAnFM;;;;AAqFA,IAAMQ,SAAS,GAAG,SAAZA,SAAY,CAAChC,QAAD;AAAA,yCAAoBiC,oBAApB,GAAiCjC,QAAjC;AAAA,CAAlB;;;;AAEA,SAASkC,KAAT,CAAelC,QAAf,EAAyBC,OAAzB,EAAkCN,GAAlC,EAAuC;AAC5C,SAAO,IAAIwC,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAMC,kBAAkB,GAAGL,SAAS,CAAChC,QAAD,CAApC,CAD8B,CAE9B;AACA;;AACAC,IAAAA,OAAO,CAACf,MAAR,GAAiB,iCAAqBe,OAAO,CAACf,MAA7B,CAAjB,CAJ8B,CAK9B;;AACA,gBACEmD,kBAAkB,IAAI,EADxB;AAAA,QAAQC,WAAR,SAAQA,WAAR;AAAA,QAAqBC,MAArB,SAAqBA,MAArB;AAAA,QAA6BC,aAA7B,SAA6BA,aAA7B;AAAA,QAA4CC,KAA5C,SAA4CA,KAA5C;AAAA,QAAmDvC,OAAnD,SAAmDA,OAAnD;AAAA,QAA4DwC,YAA5D,SAA4DA,YAA5D;AAAA,QAA6EC,aAA7E;;AAEA,QAAMC,MAAN,GAAiBP,kBAAjB,CAAMO,MAAN;;AACA,gBAAuBjD,GAAG,IAAI,EAA9B;AAAA,QAAQkD,IAAR,SAAQA,IAAR;AAAA,QAAcC,IAAd,SAAcA,IAAd,CAT8B,CAW9B;AACA;;;AACA,QAAI,OAAOF,MAAP,KAAkB,SAAtB,EAAiC;AAC/B,UAAIA,MAAJ,EAAY;AACVA,QAAAA,MAAM,GAAG;AACPG,UAAAA,IAAI,EAAE,IADC;AAEPC,UAAAA,KAAK,EAAE,IAFA;AAGPC,UAAAA,EAAE,EAAE,IAHG;AAIPC,UAAAA,IAAI,EAAE;AAJC,SAAT;AAMD,OAPD,MAOO;AACLN,QAAAA,MAAM,GAAG;AACPG,UAAAA,IAAI,EAAE,KADC;AAEPC,UAAAA,KAAK,EAAE,KAFA;AAGPC,UAAAA,EAAE,EAAE,KAHG;AAIPC,UAAAA,IAAI,EAAE;AAJC,SAAT;AAMD;AACF,KA7B6B,CA+B9B;;;AACA,QAAMC,mBAAmB,GAAG,CAACT,YAAY,IAAI,EAAjB,EAAqBjC,MAArB,CAA4B,UAAC2C,IAAD;AAAA,aAAUA,IAAI,KAAK,OAAnB;AAAA,KAA5B,CAA5B;AACA,QAAMC,qBAAqB,GAAGf,WAAW,IAAKa,mBAAmB,CAACjC,MAApB,IAA8BiC,mBAAmB,CAAC,CAAD,CAAjE,IAAyE,EAAvG;;AAEA,QAAMG,IAAI,mCACLX,aADK;AAERzC,MAAAA,OAAO,EAAPA,OAFQ;AAGR0C,MAAAA,MAAM,EAANA,MAHQ;AAIRN,MAAAA,WAAW,EAAEe,qBAJL;AAKRE,MAAAA,QAAQ,EAAE5D,GAAG,CAACkD,IAAJ,KAAa,QALf;AAMRN,MAAAA,MAAM,EAAEC,aAAa,GAAGD,MAAH,GAAY,IANzB;AAORiB,MAAAA,SAAS,EAAE,IAPH;AAQRC,MAAAA,IAAI,EAAEhB,KARE;AASRiB,MAAAA,UAAU,EACR/D,GAAG,CAACkD,IAAJ,KAAa,UAAb,IACA,CAAC,yBAAQ3C,OAAR,CADD,IAEAA,OAAO,CAACS,aAFR,IAGAT,OAAO,CAACS,aAAR,CAAsB7B,KAHtB,IAIA,CAAC,yBAAQoB,OAAO,CAACS,aAAR,CAAsB7B,KAA9B,CAdK;AAeR6E,MAAAA,mBAAmB,EAAE,IAfb;AAgBRjB,MAAAA,YAAY,EAAZA;AAhBQ,MAAV;;AAmBA,QAAII,IAAI,KAAK,YAAT,KAA0BD,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,UAAtD,CAAJ,EAAuE;AACrE,kBAAyFR,kBAAkB,IAAI,EAA/G;AAAA,UAAQmB,SAAR,SAAQA,SAAR;AAAA,UAAmBI,gBAAnB,SAAmBA,gBAAnB;AAAA,UAAqCD,mBAArC,SAAqCA,mBAArC;AAAA,UAA0DE,0BAA1D,SAA0DA,0BAA1D;;AAEAP,MAAAA,IAAI,CAACE,SAAL,GAAiBI,gBAAgB,GAAGJ,SAAH,GAAe,IAAhD;AACAF,MAAAA,IAAI,CAACK,mBAAL,GAA2BE,0BAA0B,GAAGF,mBAAH,GAAyB,IAA9E;AACD;;AAED,QAAId,IAAI,KAAK,UAAb,EAAyB;AACvB,UACE,CAAC,yBAAQ3C,OAAR,CAAD,IACAA,OAAO,CAACS,aADR,IAEAT,OAAO,CAACS,aAAR,CAAsB7B,KAFtB,IAGA,CAAC,yBAAQoB,OAAO,CAACS,aAAR,CAAsB7B,KAA9B,CAJH,EAKE;AACA,6BAA4DiB,aAAa,CAACsC,kBAAD,EAAqBpC,OAArB,EAA8BN,GAA9B,CAAzE;AAAA,YAAQmC,gBAAR,kBAAQA,gBAAR;AAAA,YAA0BD,kBAA1B,kBAA0BA,kBAA1B;AAAA,YAA8CN,SAA9C,kBAA8CA,SAA9C,CADA,CAEA;;;AACA+B,QAAAA,IAAI,CAACxB,gBAAL,GAAwBA,gBAAxB;AACAwB,QAAAA,IAAI,CAACQ,eAAL,GAAuBjC,kBAAkB,GAAG,CAAC3B,OAAO,CAAC2B,kBAAD,CAAP,IAA+B,EAAhC,EAAoC/C,KAAvC,GAA+C,EAAxF;AACAwE,QAAAA,IAAI,CAACI,UAAL,GAAkBJ,IAAI,CAACI,UAAL,IAAmBnC,SAAS,KAAK,CAAnD;AACD,OAXD,MAWO;AACL+B,QAAAA,IAAI,CAACxB,gBAAL,GAAyB7B,OAAO,IAAIA,OAAO,CAACf,MAApB,IAA+B,EAAvD;AACAoE,QAAAA,IAAI,CAACQ,eAAL,GAAuB,EAAvB;AACD;AACF;;AAEDrG,IAAAA,GAAG,CAAC,QAAD,EAAW6F,IAAX,CAAH;AACAlB,IAAAA,OAAO,CAACkB,IAAD,CAAP;AACD,GAjFM,CAAP;AAkFD;;AAEM,SAASS,OAAT,CAAiB/D,QAAjB,EAA2BC,OAA3B,EAA8C;AAAA,MAAVN,GAAU,uEAAJ,EAAI;AACnD,SAAO,IAAIwC,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAI,CAACnC,OAAD,IAAY,yBAAQA,OAAR,CAAhB,EAAkC;AAChCmC,MAAAA,OAAO,CAAC;AAAEd,QAAAA,KAAK,EAAE,CAAT;AAAY0C,QAAAA,KAAK,EAAE;AAAnB,OAAD,CAAP;AACD;;AAED,QACErE,GAAG,CAACkD,IAAJ,KAAa,UAAb,IACA,yBAAQ7C,QAAQ,CAACE,OAAjB,CADA,IAECF,QAAQ,CAACE,OAAT,IAAoBF,QAAQ,CAACE,OAAT,CAAiBS,aAArC,IAAsD,yBAAQX,QAAQ,CAACE,OAAT,CAAiBS,aAAjB,CAA+B7B,KAAvC,CAHzD,EAIE;AACAsD,MAAAA,OAAO,CAAC;AAAEd,QAAAA,KAAK,EAAE;AAAT,OAAD,CAAP;AACD;;AAED,0BAAsBvB,aAAa,CAACC,QAAD,EAAWC,OAAX,EAAoBN,GAApB,CAAnC;AAAA,QAAQ4B,SAAR,mBAAQA,SAAR;;AAEAa,IAAAA,OAAO,CAAC;AAAEd,MAAAA,KAAK,EAAEC;AAAT,KAAD,CAAP;AACD,GAhBM,CAAP;AAiBD;;AAEM,IAAM0C,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACjE,QAAD,EAAWL,GAAX,EAAmB;AAC7D,SAAO,IAAIwC,OAAJ,CAAY,UAACC,OAAD,EAAa;AAC9B,QAAIzC,GAAG,CAACkD,IAAJ,KAAa,UAAb,IAA2BlD,GAAG,CAACmD,IAAJ,KAAa,YAA5C,EAA0D;AACxD,mBAAoB9C,QAAQ,IAAI,EAAhC;AAAA,UAAQE,OAAR,UAAQA,OAAR;;AACA,UAAIpB,KAAK,GAAG,EAAZ;;AAEA,UAAIoB,OAAO,IAAIE,MAAM,CAAC8D,MAAP,CAAchE,OAAd,CAAf,EAAuC;AACrC,YAAMS,aAAa,GAAGT,OAAO,CAACS,aAAR,IAAyBP,MAAM,CAAC8D,MAAP,CAAchE,OAAd,EAAuB,CAAvB,CAAzB,IAAsD,EAA5E;AACApB,QAAAA,KAAK,GAAG6B,aAAa,CAAC7B,KAAd,IAAuB,EAA/B;AACD;;AAEDsD,MAAAA,OAAO,CAAC;AACNlD,QAAAA,MAAM,EAAEJ,KADF;AAENqF,QAAAA,EAAE,EAAE;AAFE,OAAD,CAAP;AAID,KAbD,MAaO;AACL/B,MAAAA,OAAO,CAAC,IAAD,CAAP;AACD;AACF,GAjBM,CAAP;AAkBD,CAnBM;;;;AAqBP,IAAMgC,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD;AAAA,SAAU,CAACA,IAAI,IAAI,EAAT,EAAaC,UAAb,CAAwB,UAAxB,EAAoC,EAApC,CAAV;AAAA,CAArB;;AAEO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,GAA6B;AAAA,MAA5BrC,KAA4B,uEAApB,EAAoB;AAAA,MAAhBsC,MAAgB,uEAAP,EAAO;AACnD,MAAQtE,OAAR,GAAkCgC,KAAlC,CAAQhC,OAAR;AAAA,MAAiBwC,YAAjB,GAAkCR,KAAlC,CAAiBQ,YAAjB;AACA,MAAM+B,MAAM,GAAG,EAAf;AACA,MAAMC,mBAAmB,GAAG,EAA5B;AACA,MAAMvB,mBAAmB,GAAG,CAACT,YAAY,IAAI,EAAjB,EAAqBjC,MAArB,CAA4B,UAAC2C,IAAD;AAAA,WAAUA,IAAI,KAAK,OAAnB;AAAA,GAA5B,CAA5B;;AAEA,MAAI,CAACD,mBAAmB,CAACjC,MAAzB,EAAiC;AAC/BuD,IAAAA,MAAM,CAACE,iBAAP,GAA2B,0CAA3B;AACD;;AAED,GAAC,qBAAD,EAAwB,QAAxB,EAAkC,WAAlC,EAA+CrE,OAA/C,CAAuD,UAACsE,KAAD,EAAW;AAAA;;AAChE,QAAI,iBAAAJ,MAAM,CAACI,KAAD,CAAN,wDAAeC,QAAf,IAA2B,CAACT,YAAY,CAAClC,KAAK,CAAC0C,KAAD,CAAN,CAA5C,EAA4D;AAC1DH,MAAAA,MAAM,CAACG,KAAD,CAAN,GAAgB,wBAAhB;AACD;AACF,GAJD;AAMAxE,EAAAA,MAAM,CAACC,OAAP,CAAeH,OAAO,IAAI,EAA1B,EAA8BI,OAA9B,CAAsC,kBAAkB;AAAA;AAAA,QAAhBC,GAAgB;AAAA,QAAXC,KAAW;;AACtD,QAAI,CAACA,KAAK,CAAC1B,KAAN,CAAYoC,MAAjB,EAAyB;AACvBwD,MAAAA,mBAAmB,CAACnE,GAAD,CAAnB,GAA2B,4CAA3B;AACD,KAHqD,CAItD;;;AACA,QAAIC,KAAK,CAAC1B,KAAN,CAAYoC,MAAZ,GAAqB,CAAzB,EAA4B;AAC1BV,MAAAA,KAAK,CAAC1B,KAAN,CAAYwB,OAAZ,CAAoB,UAACjB,IAAD,EAAU;AAC5B,YAAIA,IAAI,CAACqB,QAAT,EAAmB;AACjBgE,UAAAA,mBAAmB,CAACnE,GAAD,CAAnB,GAA2B,mDAA3B;AACD;AACF,OAJD;AAKD;AACF,GAZD;;AAcA,MAAI,CAAC,yBAAQmE,mBAAR,CAAL,EAAmC;AACjCD,IAAAA,MAAM,CAACC,mBAAP,GAA6BA,mBAA7B;AACD;;AAED,SAAOD,MAAP;AACD,CAnCM","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\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 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\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 // 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 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;\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\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\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 && !getInnerText(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 // 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"}
|
package/docs/config-schema.json
CHANGED
|
@@ -565,9 +565,14 @@
|
|
|
565
565
|
"title": "languageChoices"
|
|
566
566
|
},
|
|
567
567
|
"prompt": {
|
|
568
|
-
"title": "
|
|
568
|
+
"title": "ConfigureRequiredProp",
|
|
569
569
|
"type": "object",
|
|
570
570
|
"properties": {
|
|
571
|
+
"required": {
|
|
572
|
+
"description": "Indicates if the item is required and the value cannot be empty",
|
|
573
|
+
"type": "boolean",
|
|
574
|
+
"title": "required"
|
|
575
|
+
},
|
|
571
576
|
"settings": {
|
|
572
577
|
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
573
578
|
"type": "boolean",
|
|
@@ -602,9 +607,14 @@
|
|
|
602
607
|
}
|
|
603
608
|
},
|
|
604
609
|
"rationale": {
|
|
605
|
-
"title": "
|
|
610
|
+
"title": "ConfigureRequiredProp",
|
|
606
611
|
"type": "object",
|
|
607
612
|
"properties": {
|
|
613
|
+
"required": {
|
|
614
|
+
"description": "Indicates if the item is required and the value cannot be empty",
|
|
615
|
+
"type": "boolean",
|
|
616
|
+
"title": "required"
|
|
617
|
+
},
|
|
608
618
|
"settings": {
|
|
609
619
|
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
610
620
|
"type": "boolean",
|
|
@@ -650,9 +660,14 @@
|
|
|
650
660
|
}
|
|
651
661
|
},
|
|
652
662
|
"teacherInstructions": {
|
|
653
|
-
"title": "
|
|
663
|
+
"title": "ConfigureRequiredProp",
|
|
654
664
|
"type": "object",
|
|
655
665
|
"properties": {
|
|
666
|
+
"required": {
|
|
667
|
+
"description": "Indicates if the item is required and the value cannot be empty",
|
|
668
|
+
"type": "boolean",
|
|
669
|
+
"title": "required"
|
|
670
|
+
},
|
|
656
671
|
"settings": {
|
|
657
672
|
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
658
673
|
"type": "boolean",
|
|
@@ -1500,6 +1515,27 @@
|
|
|
1500
1515
|
"value"
|
|
1501
1516
|
]
|
|
1502
1517
|
},
|
|
1518
|
+
"ConfigureRequiredProp": {
|
|
1519
|
+
"title": "ConfigureRequiredProp",
|
|
1520
|
+
"type": "object",
|
|
1521
|
+
"properties": {
|
|
1522
|
+
"required": {
|
|
1523
|
+
"description": "Indicates if the item is required and the value cannot be empty",
|
|
1524
|
+
"type": "boolean",
|
|
1525
|
+
"title": "required"
|
|
1526
|
+
},
|
|
1527
|
+
"settings": {
|
|
1528
|
+
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
1529
|
+
"type": "boolean",
|
|
1530
|
+
"title": "settings"
|
|
1531
|
+
},
|
|
1532
|
+
"label": {
|
|
1533
|
+
"description": "Indicates the label for the item that has to be displayed in the Settings Panel",
|
|
1534
|
+
"type": "string",
|
|
1535
|
+
"title": "label"
|
|
1536
|
+
}
|
|
1537
|
+
}
|
|
1538
|
+
},
|
|
1503
1539
|
"TitleConfigProp": {
|
|
1504
1540
|
"title": "TitleConfigProp",
|
|
1505
1541
|
"type": "object",
|
|
@@ -401,6 +401,10 @@ Label of the language option
|
|
|
401
401
|
|
|
402
402
|
Properties of the `prompt` object:
|
|
403
403
|
|
|
404
|
+
## `required` (boolean)
|
|
405
|
+
|
|
406
|
+
Indicates if the item is required and the value cannot be empty
|
|
407
|
+
|
|
404
408
|
## `settings` (boolean)
|
|
405
409
|
|
|
406
410
|
Indicates if the item has to be displayed in the Settings Panel
|
|
@@ -429,6 +433,10 @@ Indicates the label for the item that has to be displayed in the Settings Panel
|
|
|
429
433
|
|
|
430
434
|
Properties of the `rationale` object:
|
|
431
435
|
|
|
436
|
+
## `required` (boolean)
|
|
437
|
+
|
|
438
|
+
Indicates if the item is required and the value cannot be empty
|
|
439
|
+
|
|
432
440
|
## `settings` (boolean)
|
|
433
441
|
|
|
434
442
|
Indicates if the item has to be displayed in the Settings Panel
|
|
@@ -465,6 +473,10 @@ Indicates the label for the item that has to be displayed in the Settings Panel
|
|
|
465
473
|
|
|
466
474
|
Properties of the `teacherInstructions` object:
|
|
467
475
|
|
|
476
|
+
## `required` (boolean)
|
|
477
|
+
|
|
478
|
+
Indicates if the item is required and the value cannot be empty
|
|
479
|
+
|
|
468
480
|
## `settings` (boolean)
|
|
469
481
|
|
|
470
482
|
Indicates if the item has to be displayed in the Settings Panel
|
|
@@ -1070,6 +1082,22 @@ Value of the language option
|
|
|
1070
1082
|
|
|
1071
1083
|
Label of the language option
|
|
1072
1084
|
|
|
1085
|
+
## `ConfigureRequiredProp` (object)
|
|
1086
|
+
|
|
1087
|
+
Properties of the `ConfigureRequiredProp` object:
|
|
1088
|
+
|
|
1089
|
+
### `required` (boolean)
|
|
1090
|
+
|
|
1091
|
+
Indicates if the item is required and the value cannot be empty
|
|
1092
|
+
|
|
1093
|
+
### `settings` (boolean)
|
|
1094
|
+
|
|
1095
|
+
Indicates if the item has to be displayed in the Settings Panel
|
|
1096
|
+
|
|
1097
|
+
### `label` (string)
|
|
1098
|
+
|
|
1099
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
1100
|
+
|
|
1073
1101
|
## `TitleConfigProp` (object)
|
|
1074
1102
|
|
|
1075
1103
|
Properties of the `TitleConfigProp` object:
|
package/docs/pie-schema.json
CHANGED
|
@@ -2243,6 +2243,27 @@
|
|
|
2243
2243
|
"value"
|
|
2244
2244
|
]
|
|
2245
2245
|
},
|
|
2246
|
+
"ConfigureRequiredProp": {
|
|
2247
|
+
"title": "ConfigureRequiredProp",
|
|
2248
|
+
"type": "object",
|
|
2249
|
+
"properties": {
|
|
2250
|
+
"required": {
|
|
2251
|
+
"description": "Indicates if the item is required and the value cannot be empty",
|
|
2252
|
+
"type": "boolean",
|
|
2253
|
+
"title": "required"
|
|
2254
|
+
},
|
|
2255
|
+
"settings": {
|
|
2256
|
+
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
2257
|
+
"type": "boolean",
|
|
2258
|
+
"title": "settings"
|
|
2259
|
+
},
|
|
2260
|
+
"label": {
|
|
2261
|
+
"description": "Indicates the label for the item that has to be displayed in the Settings Panel",
|
|
2262
|
+
"type": "string",
|
|
2263
|
+
"title": "label"
|
|
2264
|
+
}
|
|
2265
|
+
}
|
|
2266
|
+
},
|
|
2246
2267
|
"TitleConfigProp": {
|
|
2247
2268
|
"title": "TitleConfigProp",
|
|
2248
2269
|
"type": "object",
|
package/docs/pie-schema.json.md
CHANGED
|
@@ -746,6 +746,22 @@ Value of the language option
|
|
|
746
746
|
|
|
747
747
|
Label of the language option
|
|
748
748
|
|
|
749
|
+
## `ConfigureRequiredProp` (object)
|
|
750
|
+
|
|
751
|
+
Properties of the `ConfigureRequiredProp` object:
|
|
752
|
+
|
|
753
|
+
### `required` (boolean)
|
|
754
|
+
|
|
755
|
+
Indicates if the item is required and the value cannot be empty
|
|
756
|
+
|
|
757
|
+
### `settings` (boolean)
|
|
758
|
+
|
|
759
|
+
Indicates if the item has to be displayed in the Settings Panel
|
|
760
|
+
|
|
761
|
+
### `label` (string)
|
|
762
|
+
|
|
763
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
764
|
+
|
|
749
765
|
## `TitleConfigProp` (object)
|
|
750
766
|
|
|
751
767
|
Properties of the `TitleConfigProp` object:
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "5.5.
|
|
7
|
+
"version": "5.5.2-next.12+9df520faa",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"author": "",
|
|
23
23
|
"license": "ISC",
|
|
24
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "9df520faa7b811c0f662aabd9622f1a8ca45e468",
|
|
25
25
|
"main": "lib/index.js",
|
|
26
26
|
"module": "src/index.js"
|
|
27
27
|
}
|