@pie-element/graphing 3.7.13 → 3.7.16
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 +24 -0
- package/configure/CHANGELOG.md +24 -0
- package/configure/lib/configure.js +12 -5
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/correct-response.js +1 -1
- package/configure/lib/defaults.js +5 -0
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/graphing-config.js +2 -2
- package/configure/lib/graphing-config.js.map +1 -1
- package/configure/lib/index.js +2 -2
- package/configure/package.json +4 -4
- package/controller/lib/index.js +4 -3
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +3 -3
- package/docs/config-schema.json +16 -0
- package/docs/config-schema.json.md +12 -0
- package/docs/pie-schema.json +6 -0
- package/docs/pie-schema.json.md +4 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/main.js +2 -2
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,30 @@
|
|
|
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
|
+
## [3.7.16](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing@3.7.15...@pie-element/graphing@3.7.16) (2022-04-12)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-element/graphing
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [3.7.15](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing@3.7.14...@pie-element/graphing@3.7.15) (2022-03-28)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @pie-element/graphing
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [3.7.14](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing@3.7.13...@pie-element/graphing@3.7.14) (2022-03-22)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @pie-element/graphing
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
6
30
|
## [3.7.13](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing@3.7.12...@pie-element/graphing@3.7.13) (2022-03-08)
|
|
7
31
|
|
|
8
32
|
**Note:** Version bump only for package @pie-element/graphing
|
package/configure/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,30 @@
|
|
|
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
|
+
## [3.3.16](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-configure@3.3.15...@pie-element/graphing-configure@3.3.16) (2022-04-12)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-element/graphing-configure
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [3.3.15](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-configure@3.3.14...@pie-element/graphing-configure@3.3.15) (2022-03-28)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @pie-element/graphing-configure
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [3.3.14](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-configure@3.3.13...@pie-element/graphing-configure@3.3.14) (2022-03-22)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @pie-element/graphing-configure
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
6
30
|
## [3.3.13](https://github.com/pie-framework/pie-elements/compare/@pie-element/graphing-configure@3.3.12...@pie-element/graphing-configure@3.3.13) (2022-03-08)
|
|
7
31
|
|
|
8
32
|
**Note:** Version bump only for package @pie-element/graphing-configure
|
|
@@ -39,9 +39,9 @@ var _graphingConfig = _interopRequireDefault(require("./graphing-config"));
|
|
|
39
39
|
|
|
40
40
|
var _correctResponse = _interopRequireDefault(require("./correct-response"));
|
|
41
41
|
|
|
42
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
42
|
+
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; }
|
|
43
43
|
|
|
44
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
44
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
45
45
|
|
|
46
46
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
47
47
|
|
|
@@ -184,6 +184,8 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
184
184
|
teacherInstructions = _ref2$teacherInstruct === void 0 ? {} : _ref2$teacherInstruct,
|
|
185
185
|
_ref2$coordinatesOnHo = _ref2.coordinatesOnHover,
|
|
186
186
|
coordinatesOnHover = _ref2$coordinatesOnHo === void 0 ? {} : _ref2$coordinatesOnHo,
|
|
187
|
+
_ref2$spellCheck = _ref2.spellCheck,
|
|
188
|
+
spellCheck = _ref2$spellCheck === void 0 ? {} : _ref2$spellCheck,
|
|
187
189
|
_ref2$prompt = _ref2.prompt,
|
|
188
190
|
prompt = _ref2$prompt === void 0 ? {} : _ref2$prompt,
|
|
189
191
|
_ref2$authoring = _ref2.authoring,
|
|
@@ -194,7 +196,8 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
194
196
|
var _ref3 = model || {},
|
|
195
197
|
teacherInstructionsEnabled = _ref3.teacherInstructionsEnabled,
|
|
196
198
|
promptEnabled = _ref3.promptEnabled,
|
|
197
|
-
rationaleEnabled = _ref3.rationaleEnabled
|
|
199
|
+
rationaleEnabled = _ref3.rationaleEnabled,
|
|
200
|
+
spellCheckEnabled = _ref3.spellCheckEnabled;
|
|
198
201
|
|
|
199
202
|
return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
|
|
200
203
|
settings: /*#__PURE__*/_react["default"].createElement(Panel, {
|
|
@@ -221,6 +224,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
221
224
|
studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
|
|
222
225
|
promptEnabled: prompt.settings && toggle(prompt.label),
|
|
223
226
|
rationaleEnabled: rationale.settings && toggle(rationale.label),
|
|
227
|
+
spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
|
|
224
228
|
scoringType: scoringType.settings && radio(scoringType.label, ['dichotomous', 'partial scoring'])
|
|
225
229
|
}
|
|
226
230
|
}
|
|
@@ -238,7 +242,8 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
238
242
|
markup: model.teacherInstructions || '',
|
|
239
243
|
onChange: this.onTeacherInstructionsChange,
|
|
240
244
|
imageSupport: imageSupport,
|
|
241
|
-
nonEmpty: false
|
|
245
|
+
nonEmpty: false,
|
|
246
|
+
spellCheck: spellCheckEnabled
|
|
242
247
|
})), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
243
248
|
label: prompt.label,
|
|
244
249
|
className: classes.promptHolder
|
|
@@ -248,6 +253,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
248
253
|
onChange: this.onPromptChange,
|
|
249
254
|
imageSupport: imageSupport,
|
|
250
255
|
nonEmpty: false,
|
|
256
|
+
spellCheck: spellCheckEnabled,
|
|
251
257
|
disableUnderline: true
|
|
252
258
|
})), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
253
259
|
label: rationale.label || 'Rationale',
|
|
@@ -256,7 +262,8 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
256
262
|
className: classes.prompt,
|
|
257
263
|
markup: model.rationale || '',
|
|
258
264
|
onChange: this.onRationaleChange,
|
|
259
|
-
imageSupport: imageSupport
|
|
265
|
+
imageSupport: imageSupport,
|
|
266
|
+
spellCheck: spellCheckEnabled
|
|
260
267
|
})), /*#__PURE__*/_react["default"].createElement(_graphingConfig["default"], {
|
|
261
268
|
authoringEnabled: authoring && authoring.enabled,
|
|
262
269
|
config: config,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/configure.jsx"],"names":["Panel","settings","toggle","radio","checkboxes","log","styles","theme","title","fontSize","display","marginTop","spacing","unit","marginBottom","content","promptHolder","width","paddingBottom","prompt","paddingTop","Configure","rationale","props","onModelChanged","model","teacherInstructions","arrows","left","right","up","down","classes","configuration","onConfigurationChanged","imageSupport","config","graph","padding","labels","scoringType","studentInstructions","coordinatesOnHover","authoring","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","label","Properties","studentInstructionsEnabled","onTeacherInstructionsChange","onPromptChange","onRationaleChange","enabled","React","Component","PropTypes","func","object","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@material-ui/core/Typography';\nimport EditableHtml from '@pie-lib/editable-html';\nimport GraphingConfig from './graphing-config';\nimport CorrectResponse from './correct-response';\n\nconst { Panel, toggle, radio, checkboxes } = 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 content: {\n marginTop: theme.spacing.unit * 2\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n marginTop: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\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 model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired\n };\n\n static defaultProps = { classes: {} };\n\n componentDidMount() {\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 const { onModelChanged, model } = this.props;\n let { arrows } = model || {};\n\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 onModelChanged({ ...model, arrows });\n }\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 {\n classes,\n model,\n configuration,\n onConfigurationChanged,\n onModelChanged,\n imageSupport\n } = this.props;\n const config = model.graph;\n\n const {\n arrows = {},\n title = {},\n padding = {},\n labels = {},\n rationale = {},\n scoringType = {},\n studentInstructions = {},\n teacherInstructions = {},\n coordinatesOnHover = {},\n prompt = {},\n authoring = {}\n } = configuration || {};\n log('[render] model', model);\n const { teacherInstructionsEnabled, promptEnabled, rationaleEnabled } =\n model || {};\n\n return (\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onModelChanged}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n 'Item Type': {\n arrows: arrows.settings && checkboxes(arrows.label, {\n left: arrows.left,\n right: arrows.right,\n up: arrows.up,\n down: arrows.down\n }),\n 'title.enabled': title.settings && toggle(title.label, true),\n padding: padding.settings && toggle(padding.label),\n labels: labels.settings && toggle(labels.label),\n coordinatesOnHover: coordinatesOnHover.settings && toggle(coordinatesOnHover.label),\n },\n Properties: {\n 'authoring.enabled':\n authoring.settings && toggle(authoring.label, true),\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n scoringType:\n scoringType.settings &&\n radio(scoringType.label, ['dichotomous', 'partial scoring'])\n }\n }}\n />\n }\n >\n <div className={classes.content}>\n <Typography component=\"div\" type=\"body1\">\n <span>\n This interaction asks a student to draw a line that meets specific\n criteria. The student will draw the line by clicking on two points\n on the graph.\n </span>\n </Typography>\n\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label || 'Rationale'}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n />\n </InputContainer>\n )}\n\n <GraphingConfig\n authoringEnabled={authoring && authoring.enabled}\n config={config}\n model={model}\n onChange={this.props.onModelChanged}\n />\n\n <CorrectResponse\n config={config}\n model={model}\n onChange={this.props.onModelChanged}\n />\n </div>\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","log","styles","theme","title","fontSize","display","marginTop","spacing","unit","marginBottom","content","promptHolder","width","paddingBottom","prompt","paddingTop","Configure","rationale","props","onModelChanged","model","teacherInstructions","arrows","left","right","up","down","classes","configuration","onConfigurationChanged","imageSupport","config","graph","padding","labels","scoringType","studentInstructions","coordinatesOnHover","spellCheck","authoring","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","label","Properties","studentInstructionsEnabled","onTeacherInstructionsChange","onPromptChange","onRationaleChange","enabled","React","Component","PropTypes","func","object","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@material-ui/core/Typography';\nimport EditableHtml from '@pie-lib/editable-html';\nimport GraphingConfig from './graphing-config';\nimport CorrectResponse from './correct-response';\n\nconst { Panel, toggle, radio, checkboxes } = 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 content: {\n marginTop: theme.spacing.unit * 2\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n marginTop: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\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 model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired\n };\n\n static defaultProps = { classes: {} };\n\n componentDidMount() {\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 const { onModelChanged, model } = this.props;\n let { arrows } = model || {};\n\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 onModelChanged({ ...model, arrows });\n }\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 {\n classes,\n model,\n configuration,\n onConfigurationChanged,\n onModelChanged,\n imageSupport\n } = this.props;\n const config = model.graph;\n\n const {\n arrows = {},\n title = {},\n padding = {},\n labels = {},\n rationale = {},\n scoringType = {},\n studentInstructions = {},\n teacherInstructions = {},\n coordinatesOnHover = {},\n spellCheck = {},\n prompt = {},\n authoring = {}\n } = configuration || {};\n log('[render] model', model);\n const { teacherInstructionsEnabled, promptEnabled, rationaleEnabled, spellCheckEnabled } =\n model || {};\n\n return (\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onModelChanged}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n 'Item Type': {\n arrows: arrows.settings && checkboxes(arrows.label, {\n left: arrows.left,\n right: arrows.right,\n up: arrows.up,\n down: arrows.down\n }),\n 'title.enabled': title.settings && toggle(title.label, true),\n padding: padding.settings && toggle(padding.label),\n labels: labels.settings && toggle(labels.label),\n coordinatesOnHover: coordinatesOnHover.settings && toggle(coordinatesOnHover.label),\n },\n Properties: {\n 'authoring.enabled':\n authoring.settings && toggle(authoring.label, true),\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n scoringType:\n scoringType.settings &&\n radio(scoringType.label, ['dichotomous', 'partial scoring'])\n }\n }}\n />\n }\n >\n <div className={classes.content}>\n <Typography component=\"div\" type=\"body1\">\n <span>\n This interaction asks a student to draw a line that meets specific\n criteria. The student will draw the line by clicking on two points\n on the graph.\n </span>\n </Typography>\n\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptHolder}\n >\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 />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label || 'Rationale'}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n <GraphingConfig\n authoringEnabled={authoring && authoring.enabled}\n config={config}\n model={model}\n onChange={this.props.onModelChanged}\n />\n\n <CorrectResponse\n config={config}\n model={model}\n onChange={this.props.onModelChanged}\n />\n </div>\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
|
|
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports["default"] = exports.
|
|
10
|
+
exports["default"] = exports.Tools = exports.CorrectResponse = void 0;
|
|
11
11
|
|
|
12
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
13
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/defaults.js"],"names":["tools","allTools","model","answers","arrows","left","right","up","down","backgroundMarks","domain","min","max","step","labelStep","axisLabel","graph","width","height","labels","padding","prompt","range","rationale","title","toolbarTools","coordinatesOnHover","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","authoring","settings","label","enabled","scoringType","studentInstructions","teacherInstructions"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["tools","allTools","model","answers","arrows","left","right","up","down","backgroundMarks","domain","min","max","step","labelStep","axisLabel","graph","width","height","labels","padding","prompt","range","rationale","title","toolbarTools","coordinatesOnHover","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","authoring","settings","label","enabled","scoringType","studentInstructions","teacherInstructions","spellCheck"],"mappings":"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","sourcesContent":["import {tools} from '@pie-lib/graphing';\n\nconst {allTools = []} = tools;\n/**\n * NOTE: There's no functionality described for padding\n * so there's no implementation (they are only added in model)\n */\n\nexport default {\n model: {\n answers: {},\n arrows: {\n left: true,\n right: true,\n up: true,\n down: true\n },\n backgroundMarks: [],\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 labels: {},\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 title: '',\n toolbarTools: allTools,\n coordinatesOnHover: false,\n promptEnabled: true,\n rationaleEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n },\n configuration: {\n authoring: {\n settings: false,\n label: 'Allow authoring',\n enabled: false\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 padding: {\n settings: false,\n label: 'Padding'\n },\n labels: {\n settings: false,\n label: 'Labels',\n enabled: true\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: false,\n label: 'Graph Title',\n enabled: true\n },\n spellCheck: {\n label: 'Spellcheck',\n settings:false,\n enabled:true\n },\n coordinatesOnHover: {\n settings: true,\n label: 'Coordinates on Hover'\n }\n }\n};\n"],"file":"defaults.js"}
|
|
@@ -47,9 +47,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
47
47
|
|
|
48
48
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
49
49
|
|
|
50
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
50
|
+
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; }
|
|
51
51
|
|
|
52
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
52
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
53
53
|
|
|
54
54
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
55
55
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphing-config.jsx"],"names":["AuthoringColumn","columnKey","axis","classes","model","rows","key","inputs","label","className","smallInput","type","column","toUpperCase","map","row","input","target","onChangeInputValue","value","event","propTypes","PropTypes","String","object","styles","theme","container","marginTop","spacing","unit","marginBottom","display","flex","settings","flexDirection","width","GraphingConfig","props","onChange","content","backgroundMarks","authoringEnabled","graph","arrows","coordinatesOnHover","domain","labels","range","title","toolbarTools","includeArrows","changeBackgroundMarks","height","React","Component","isRequired","func","bool"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { NumberTextField } from '@pie-lib/config-ui';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { GraphContainer } from '@pie-lib/graphing';\nimport { TextField } from '@material-ui/core';\n\nimport { get, set } from 'lodash';\nimport Typography from '@material-ui/core/Typography';\n\nexport const AuthoringColumn = ({ columnKey, axis, classes, model }) => {\n const rows = [{\n key: '${columnKey}-min-max',\n inputs: [\n {\n key: `${columnKey}.min`,\n label: 'Min value',\n className: classes.smallInput\n },\n {\n key: `${columnKey}.max`,\n label: 'Max value',\n className: classes.smallInput\n }\n ]\n }, {\n key: `${columnKey}-tick-frequency`,\n inputs: [\n {\n key: `${columnKey}.step`,\n label: 'Tick frequency'\n }\n ]\n },\n {\n key: `${columnKey}-tick-label-frequency`,\n inputs: [\n {\n key: `${columnKey}.labelStep`,\n label: 'Tick label frequency'\n }\n ]\n },\n {\n key: `${columnKey}-axis-label`,\n inputs: [\n {\n type: 'text',\n key: `${axis}-axis-label-input`,\n label: `${axis} Axis Label`\n }\n ]\n }\n ];\n\n return (\n <div className={classes.column} key={columnKey}>\n {`${columnKey.toUpperCase()} (${axis.toUpperCase()})`}\n\n {rows.map(row => (\n <div className={classes.row} key={row.key}>\n {row.inputs.map(input => {\n if (input.type === 'text') {\n return (\n <TextField\n className={classes.input}\n label={input.label.toUpperCase()}\n value={model[`${axis}AxisLabel`]}\n onChange={({ target }) => this.onChangeInputValue(`${axis}AxisLabel`, target.value)}\n />\n );\n }\n\n return (\n <TextField\n type=\"number\"\n key={input.key}\n label={input.label.toUpperCase()}\n onChange={(event, value) => this.onChangeInputValue(input.key, value)}\n value={get(model, input.key)}\n className={input.className || classes.input}\n />\n );\n })}\n </div>\n ))}\n </div>\n );\n};\n\nAuthoringColumn.propTypes = {\n axis: PropTypes.String,\n classes: PropTypes.object,\n columnKey: PropTypes.String,\n model: PropTypes.object,\n};\n\nconst styles = theme => ({\n container: {\n marginTop: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit * 3,\n display: 'flex',\n flex: 1,\n },\n column: {\n flex: 1\n },\n row: {\n marginTop: theme.spacing.unit * 2,\n flex: 1\n },\n settings: {\n display: 'flex',\n flexDirection: 'row'\n },\n input: {\n width: 'calc(100% - 32px)'\n },\n smallInput: {\n width: 'calc(50% - 32px)'\n }\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n authoringEnabled: PropTypes.bool,\n };\n\n onChangeInputValue = (key, value) => {\n const { model } = this.props;\n\n set(model, key, value);\n this.props.onChange(model);\n };\n\n renderInput = (key, label, className) => {\n const { classes, model } = this.props;\n\n return (\n <NumberTextField\n key={key}\n label={label.toUpperCase()}\n onChange={(event, value) => this.onChangeInputValue(key, value)}\n value={get(model, key)}\n className={className || classes.input}\n />\n )\n };\n\n renderRow = (key, content) => {\n const { classes } = this.props;\n\n return (\n <div className={classes.row} key={key}>\n {content}\n </div>\n );\n };\n\n changeBackgroundMarks = backgroundMarks => {\n const model = { ...this.props.model, backgroundMarks };\n this.props.onChange(model);\n };\n\n render() {\n const { classes, model, authoringEnabled } = this.props;\n let { graph } = model || {};\n const { arrows, backgroundMarks, coordinatesOnHover, domain, labels, range, title, toolbarTools } = model || {};\n graph = graph || {};\n\n return (\n <div>\n Define Graph Attributes\n\n <div className={classes.container}>\n {\n authoringEnabled && (\n <div className={classnames(classes.column, classes.settings)} key=\"settings\">\n <AuthoringColumn columnKey=\"domain\" axis=\"x\" classes={classes} model={model} />\n <AuthoringColumn columnKey=\"range\" axis=\"y\" classes={classes} model={model} />\n </div>\n )\n }\n\n <div className={classes.column} key=\"graph\">\n <Typography component=\"div\" type=\"body1\">\n <span>Use the tools below to set background shapes</span>\n </Typography>\n\n <GraphContainer\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n domain={domain}\n key=\"graphing-config\"\n labels={labels}\n marks={backgroundMarks}\n onChangeMarks={this.changeBackgroundMarks}\n range={range}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n toolbarTools={toolbarTools}\n />\n </div>\n\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GraphingConfig);\n"],"file":"graphing-config.js"}
|
|
1
|
+
{"version":3,"sources":["../src/graphing-config.jsx"],"names":["AuthoringColumn","columnKey","axis","classes","model","rows","key","inputs","label","className","smallInput","type","column","toUpperCase","map","row","input","target","onChangeInputValue","value","event","propTypes","PropTypes","String","object","styles","theme","container","marginTop","spacing","unit","marginBottom","display","flex","settings","flexDirection","width","GraphingConfig","props","onChange","content","backgroundMarks","authoringEnabled","graph","arrows","coordinatesOnHover","domain","labels","range","title","toolbarTools","includeArrows","changeBackgroundMarks","height","React","Component","isRequired","func","bool"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { NumberTextField } from '@pie-lib/config-ui';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { GraphContainer } from '@pie-lib/graphing';\nimport { TextField } from '@material-ui/core';\n\nimport { get, set } from 'lodash';\nimport Typography from '@material-ui/core/Typography';\n\nexport const AuthoringColumn = ({ columnKey, axis, classes, model }) => {\n const rows = [{\n key: '${columnKey}-min-max',\n inputs: [\n {\n key: `${columnKey}.min`,\n label: 'Min value',\n className: classes.smallInput\n },\n {\n key: `${columnKey}.max`,\n label: 'Max value',\n className: classes.smallInput\n }\n ]\n }, {\n key: `${columnKey}-tick-frequency`,\n inputs: [\n {\n key: `${columnKey}.step`,\n label: 'Tick frequency'\n }\n ]\n },\n {\n key: `${columnKey}-tick-label-frequency`,\n inputs: [\n {\n key: `${columnKey}.labelStep`,\n label: 'Tick label frequency'\n }\n ]\n },\n {\n key: `${columnKey}-axis-label`,\n inputs: [\n {\n type: 'text',\n key: `${axis}-axis-label-input`,\n label: `${axis} Axis Label`\n }\n ]\n }\n ];\n\n return (\n <div className={classes.column} key={columnKey}>\n {`${columnKey.toUpperCase()} (${axis.toUpperCase()})`}\n\n {rows.map(row => (\n <div className={classes.row} key={row.key}>\n {row.inputs.map(input => {\n if (input.type === 'text') {\n return (\n <TextField\n className={classes.input}\n label={input.label.toUpperCase()}\n value={model[`${axis}AxisLabel`]}\n onChange={({ target }) => this.onChangeInputValue(`${axis}AxisLabel`, target.value)}\n />\n );\n }\n\n return (\n <TextField\n type=\"number\"\n key={input.key}\n label={input.label.toUpperCase()}\n onChange={(event, value) => this.onChangeInputValue(input.key, value)}\n value={get(model, input.key)}\n className={input.className || classes.input}\n />\n );\n })}\n </div>\n ))}\n </div>\n );\n};\n\nAuthoringColumn.propTypes = {\n axis: PropTypes.String,\n classes: PropTypes.object,\n columnKey: PropTypes.String,\n model: PropTypes.object,\n};\n\nconst styles = theme => ({\n container: {\n marginTop: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit * 3,\n display: 'flex',\n flex: 1,\n },\n column: {\n flex: 1\n },\n row: {\n marginTop: theme.spacing.unit * 2,\n flex: 1\n },\n settings: {\n display: 'flex',\n flexDirection: 'row'\n },\n input: {\n width: 'calc(100% - 32px)'\n },\n smallInput: {\n width: 'calc(50% - 32px)'\n }\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n authoringEnabled: PropTypes.bool,\n };\n\n onChangeInputValue = (key, value) => {\n const { model } = this.props;\n\n set(model, key, value);\n this.props.onChange(model);\n };\n\n renderInput = (key, label, className) => {\n const { classes, model } = this.props;\n\n return (\n <NumberTextField\n key={key}\n label={label.toUpperCase()}\n onChange={(event, value) => this.onChangeInputValue(key, value)}\n value={get(model, key)}\n className={className || classes.input}\n />\n )\n };\n\n renderRow = (key, content) => {\n const { classes } = this.props;\n\n return (\n <div className={classes.row} key={key}>\n {content}\n </div>\n );\n };\n\n changeBackgroundMarks = backgroundMarks => {\n const model = { ...this.props.model, backgroundMarks };\n this.props.onChange(model);\n };\n\n render() {\n const { classes, model, authoringEnabled } = this.props;\n let { graph } = model || {};\n const { arrows, backgroundMarks, coordinatesOnHover, domain, labels, range, title, toolbarTools } = model || {};\n graph = graph || {};\n\n return (\n <div>\n Define Graph Attributes\n\n <div className={classes.container}>\n {\n authoringEnabled && (\n <div className={classnames(classes.column, classes.settings)} key=\"settings\">\n <AuthoringColumn columnKey=\"domain\" axis=\"x\" classes={classes} model={model} />\n <AuthoringColumn columnKey=\"range\" axis=\"y\" classes={classes} model={model} />\n </div>\n )\n }\n <div className={classes.column} key=\"graph\">\n <Typography component=\"div\" type=\"body1\">\n <span>Use the tools below to set background shapes</span>\n </Typography>\n\n <GraphContainer\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n domain={domain}\n key=\"graphing-config\"\n labels={labels}\n marks={backgroundMarks}\n onChangeMarks={this.changeBackgroundMarks}\n range={range}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n toolbarTools={toolbarTools}\n />\n </div>\n\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GraphingConfig);\n"],"file":"graphing-config.js"}
|
package/configure/lib/index.js
CHANGED
|
@@ -37,9 +37,9 @@ var _defaults = _interopRequireDefault(require("./defaults"));
|
|
|
37
37
|
|
|
38
38
|
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
39
39
|
|
|
40
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
40
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
41
41
|
|
|
42
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
42
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
43
43
|
|
|
44
44
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
45
45
|
|
package/configure/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/graphing-configure",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "3.3.
|
|
4
|
+
"version": "3.3.16",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "src/index.js",
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@material-ui/core": "^3.9.2",
|
|
11
11
|
"@pie-framework/pie-configure-events": "^1.2.0",
|
|
12
|
-
"@pie-lib/config-ui": "^10.
|
|
13
|
-
"@pie-lib/editable-html": "^7.
|
|
14
|
-
"@pie-lib/graphing": "^2.4.
|
|
12
|
+
"@pie-lib/config-ui": "^10.11.0",
|
|
13
|
+
"@pie-lib/editable-html": "^7.20.0",
|
|
14
|
+
"@pie-lib/graphing": "^2.4.16",
|
|
15
15
|
"classnames": "^2.2.5",
|
|
16
16
|
"debug": "^4.1.1",
|
|
17
17
|
"prop-types": "^15.6.2",
|
package/controller/lib/index.js
CHANGED
|
@@ -5,9 +5,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
exports.getBestAnswer = exports.getAnswerCorrected = exports.createCorrectResponseSession = exports.compareMarks = void 0;
|
|
8
9
|
exports.model = model;
|
|
10
|
+
exports.orderCorrectAnswers = exports.normalize = void 0;
|
|
9
11
|
exports.outcome = outcome;
|
|
10
|
-
exports.createCorrectResponseSession = exports.normalize = exports.getBestAnswer = exports.orderCorrectAnswers = exports.getAnswerCorrected = exports.compareMarks = void 0;
|
|
11
12
|
|
|
12
13
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
14
|
|
|
@@ -31,9 +32,9 @@ var _controllerUtils = require("@pie-lib/controller-utils");
|
|
|
31
32
|
|
|
32
33
|
var _excluded = ["prompt", "promptEnabled", "graph", "answers"];
|
|
33
34
|
|
|
34
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
35
|
+
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; }
|
|
35
36
|
|
|
36
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
37
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
37
38
|
|
|
38
39
|
var log = (0, _debug["default"])('@pie-element:graphing:controller');
|
|
39
40
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","initializeGraphMap","point","segment","line","ray","vector","polygon","circle","sine","parabola","compareMarks","mark1","mark2","type","equalMarks","getAnswerCorrected","sessionAnswers","correctAnswers","marks","reduce","correctedAnswer","answer","answerIsCorrect","find","mark","correctness","getPartialScoring","scoringType","env","pS","partialScoring","enabled","orderCorrectAnswers","questionPossibleAnswers","hasOwnProperty","Object","assign","correctAnswer","getBestAnswer","question","session","answers","partialScoringEnabled","possibleAnswers","entries","acc","entry","possibleAnswerKey","possibleAnswer","length","correctMarks","filter","maxScore","score","bestScore","foundOneSolution","parseFloat","toFixed","Math","floor","bestScoreAnswerKey","answersCorrected","map","normalize","defaults","model","Promise","resolve","normalizedQuestion","prompt","promptEnabled","graph","questionProps","arrows","mode","role","left","right","up","down","base","disabled","rationale","size","showToggle","teacherInstructions","rationaleEnabled","teacherInstructionsEnabled","correctResponse","outcome","empty","createCorrectResponseSession","values","firstCorrectAnswer","id"],"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 } from './utils';\n\nimport { partialScoring } from '@pie-lib/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});\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 !!(mark1 && mark2 && mark1.type === mark2.type && equalMarks[mark1.type] && equalMarks[mark1.type](mark1, mark2));\n};\n\nexport const getAnswerCorrected = ({ sessionAnswers, marks: correctAnswers }) => {\n sessionAnswers = sessionAnswers || [];\n correctAnswers = correctAnswers || [];\n\n return 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\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 orderCorrectAnswers = (questionPossibleAnswers) => {\n questionPossibleAnswers = questionPossibleAnswers || {};\n\n if (!questionPossibleAnswers.hasOwnProperty('correctAnswer')) {\n sortedAnswers(questionPossibleAnswers);\n }\n\n return Object.assign({ correctAnswer: questionPossibleAnswers.correctAnswer }, sortedAnswers(questionPossibleAnswers));\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 // 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 orderCorrectAnswers(questionPossibleAnswers);\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((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\n const maxScore = marks.length;\n let score = correctMarks.length;\n\n // if extra placements\n if (correctedAnswer.length > maxScore) {\n score -= correctedAnswer.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 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\nexport const normalize = question => ({ ...defaults, ...question });\n\nexport function model(question, session, env) {\n return new Promise(resolve => {\n const normalizedQuestion = normalize(question);\n const { prompt, promptEnabled, graph, answers, ...questionProps } = 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 const base = {\n ...questionProps,\n answers,\n disabled: env.mode !== 'gather',\n prompt: promptEnabled ? prompt : null,\n rationale: null,\n size: graph,\n showToggle: env.mode === 'evaluate' && !isEmpty(answers),\n teacherInstructions: null,\n arrows\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 (!isEmpty(answers)) {\n const { answersCorrected, bestScoreAnswerKey, bestScore } = getBestAnswer(normalizedQuestion, session, env);\n\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 (env.mode !== 'evaluate' || isEmpty(question.answers)) {\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 firstCorrectAnswer = Object.values(answers)[0] || {};\n\n marks = firstCorrectAnswer.marks || [];\n }\n\n resolve({\n answer: marks,\n id: '1'\n });\n } else {\n resolve(null);\n }\n });\n};\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["log","initializeGraphMap","point","segment","line","ray","vector","polygon","circle","sine","parabola","compareMarks","mark1","mark2","type","equalMarks","getAnswerCorrected","sessionAnswers","correctAnswers","marks","reduce","correctedAnswer","answer","answerIsCorrect","find","mark","correctness","getPartialScoring","scoringType","env","pS","partialScoring","enabled","orderCorrectAnswers","questionPossibleAnswers","hasOwnProperty","Object","assign","correctAnswer","getBestAnswer","question","session","answers","partialScoringEnabled","possibleAnswers","entries","acc","entry","possibleAnswerKey","possibleAnswer","length","correctMarks","filter","maxScore","score","bestScore","foundOneSolution","parseFloat","toFixed","Math","floor","bestScoreAnswerKey","answersCorrected","map","normalize","defaults","model","Promise","resolve","normalizedQuestion","prompt","promptEnabled","graph","questionProps","arrows","mode","role","left","right","up","down","base","disabled","rationale","size","showToggle","teacherInstructions","rationaleEnabled","teacherInstructionsEnabled","correctResponse","outcome","empty","createCorrectResponseSession","values","firstCorrectAnswer","id"],"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 } from './utils';\n\nimport { partialScoring } from '@pie-lib/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});\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 !!(mark1 && mark2 && mark1.type === mark2.type && equalMarks[mark1.type] && equalMarks[mark1.type](mark1, mark2));\n};\n\nexport const getAnswerCorrected = ({ sessionAnswers, marks: correctAnswers }) => {\n sessionAnswers = sessionAnswers || [];\n correctAnswers = correctAnswers || [];\n\n return 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\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 orderCorrectAnswers = (questionPossibleAnswers) => {\n questionPossibleAnswers = questionPossibleAnswers || {};\n\n if (!questionPossibleAnswers.hasOwnProperty('correctAnswer')) {\n sortedAnswers(questionPossibleAnswers);\n }\n\n return Object.assign({ correctAnswer: questionPossibleAnswers.correctAnswer }, sortedAnswers(questionPossibleAnswers));\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 // 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 orderCorrectAnswers(questionPossibleAnswers);\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((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\n const maxScore = marks.length;\n let score = correctMarks.length;\n\n // if extra placements\n if (correctedAnswer.length > maxScore) {\n score -= correctedAnswer.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 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\nexport const normalize = question => ({ ...defaults, ...question });\n\nexport function model(question, session, env) {\n return new Promise(resolve => {\n const normalizedQuestion = normalize(question);\n const { prompt, promptEnabled, graph, answers, ...questionProps } = 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 const base = {\n ...questionProps,\n answers,\n disabled: env.mode !== 'gather',\n prompt: promptEnabled ? prompt : null,\n rationale: null,\n size: graph,\n showToggle: env.mode === 'evaluate' && !isEmpty(answers),\n teacherInstructions: null,\n arrows\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 (!isEmpty(answers)) {\n const { answersCorrected, bestScoreAnswerKey, bestScore } = getBestAnswer(normalizedQuestion, session, env);\n\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 (env.mode !== 'evaluate' || isEmpty(question.answers)) {\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 firstCorrectAnswer = Object.values(answers)[0] || {};\n\n marks = firstCorrectAnswer.marks || [];\n }\n\n resolve({\n answer: marks,\n id: '1'\n });\n } else {\n resolve(null);\n }\n });\n};\n"],"file":"index.js"}
|
package/controller/lib/utils.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.sortedAnswers = exports.removeInvalidSegments = exports.removeDuplicateSegments = exports.equalVector = exports.equalSine = exports.equalSegment = exports.equalRay = exports.equalPolygon = exports.equalPoint = exports.equalParabola = exports.equalMarks = exports.equalLine = exports.equalCircle = exports.constructSegmentsFromPoints = void 0;
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
@@ -19,9 +19,9 @@ var _differenceWith = _interopRequireDefault(require("lodash/differenceWith"));
|
|
|
19
19
|
|
|
20
20
|
var _graphingUtils = require("@pie-lib/graphing-utils");
|
|
21
21
|
|
|
22
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
22
|
+
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; }
|
|
23
23
|
|
|
24
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
25
25
|
|
|
26
26
|
var equalPoint = function equalPoint(A, B) {
|
|
27
27
|
// x1 = x2 & y1 = y2
|
package/docs/config-schema.json
CHANGED
|
@@ -148,6 +148,22 @@
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
},
|
|
151
|
+
"spellCheck": {
|
|
152
|
+
"title": "ConfigureProp",
|
|
153
|
+
"type": "object",
|
|
154
|
+
"properties": {
|
|
155
|
+
"settings": {
|
|
156
|
+
"description": "Indicates if the item has to be displayed in the Settings Panel",
|
|
157
|
+
"type": "boolean",
|
|
158
|
+
"title": "settings"
|
|
159
|
+
},
|
|
160
|
+
"label": {
|
|
161
|
+
"description": "Indicates the label for the item that has to be displayed in the Settings Panel",
|
|
162
|
+
"type": "string",
|
|
163
|
+
"title": "label"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
},
|
|
151
167
|
"rationale": {
|
|
152
168
|
"title": "ConfigureProp",
|
|
153
169
|
"type": "object",
|
|
@@ -111,6 +111,18 @@ Indicates if the item has to be displayed in the Settings Panel
|
|
|
111
111
|
|
|
112
112
|
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
113
113
|
|
|
114
|
+
# `spellCheck` (object)
|
|
115
|
+
|
|
116
|
+
Properties of the `spellCheck` object:
|
|
117
|
+
|
|
118
|
+
## `settings` (boolean)
|
|
119
|
+
|
|
120
|
+
Indicates if the item has to be displayed in the Settings Panel
|
|
121
|
+
|
|
122
|
+
## `label` (string)
|
|
123
|
+
|
|
124
|
+
Indicates the label for the item that has to be displayed in the Settings Panel
|
|
125
|
+
|
|
114
126
|
# `rationale` (object)
|
|
115
127
|
|
|
116
128
|
Properties of the `rationale` object:
|
package/docs/pie-schema.json
CHANGED
|
@@ -1716,6 +1716,11 @@
|
|
|
1716
1716
|
"type": "boolean",
|
|
1717
1717
|
"title": "rationaleEnabled"
|
|
1718
1718
|
},
|
|
1719
|
+
"spellCheckEnabled": {
|
|
1720
|
+
"description": "Indicates if spellcheck is enabled for the author. Default value is true",
|
|
1721
|
+
"type": "boolean",
|
|
1722
|
+
"title": "spellCheckEnabled"
|
|
1723
|
+
},
|
|
1719
1724
|
"studentInstructionsEnabled": {
|
|
1720
1725
|
"description": "Indicates if Student Instructions are enabled",
|
|
1721
1726
|
"type": "boolean",
|
|
@@ -1746,6 +1751,7 @@
|
|
|
1746
1751
|
"id",
|
|
1747
1752
|
"range",
|
|
1748
1753
|
"rationaleEnabled",
|
|
1754
|
+
"spellCheckEnabled",
|
|
1749
1755
|
"studentInstructionsEnabled",
|
|
1750
1756
|
"teacherInstructionsEnabled"
|
|
1751
1757
|
],
|
package/docs/pie-schema.json.md
CHANGED
|
@@ -209,6 +209,10 @@ Additional restrictions:
|
|
|
209
209
|
|
|
210
210
|
Indicates if Rationale are enabled
|
|
211
211
|
|
|
212
|
+
# `spellCheckEnabled` (boolean, required)
|
|
213
|
+
|
|
214
|
+
Indicates if spellcheck is enabled for the author. Default value is true
|
|
215
|
+
|
|
212
216
|
# `studentInstructionsEnabled` (boolean, required)
|
|
213
217
|
|
|
214
218
|
Indicates if Student Instructions are enabled
|
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["Graphing","answer","Array","isArray","length","_session","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","isComplete","_render","m","_model","s","el","React","createElement","Main","model","session","onAnswersChange","changeAnswers","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;IAIqBA,Q;;;;;AACnB,sBAAc;AAAA;;AAAA;AACZ;AADY,
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["Graphing","answer","Array","isArray","length","_session","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","isComplete","_render","m","_model","s","el","React","createElement","Main","model","session","onAnswersChange","changeAnswers","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;IAIqBA,Q;;;;;AACnB,sBAAc;AAAA;;AAAA;AACZ;AADY,mGAsBD,UAAAC,MAAM;AAAA,aAAIC,KAAK,CAACC,OAAN,CAAcF,MAAd,KAAyBA,MAAM,CAACG,MAAP,GAAgB,CAA7C;AAAA,KAtBL;AAAA,sGAwBE,UAAAH,MAAM,EAAI;AACxB,YAAKI,QAAL,CAAcJ,MAAd,GAAuB,iCAAqBA,MAArB,CAAvB;;AAEA,YAAKK,aAAL,CACE,IAAIC,oCAAJ,CACE,MAAKC,OAAL,CAAaC,WAAb,EADF,EAEE,MAAKC,UAAL,CAAgB,MAAKL,QAAL,CAAcJ,MAA9B,CAFF,CADF;;AAOA,YAAKU,OAAL;AACD,KAnCa;AAAA;AAEb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKC,MAAL,GAAcD,CAAd;;AACA,WAAKD,OAAL;AACD;;;SAOD,eAAc;AACZ,aAAO,KAAKN,QAAZ;AACD,K;SAPD,aAAYS,CAAZ,EAAe;AACb,WAAKT,QAAL,GAAgBS,CAAhB;;AACA,WAAKH,OAAL;AACD;;;WAMD,6BAAoB;AAClB,WAAKA,OAAL;AACD;;;WAiBD,mBAAU;AAAA;;AACR,UAAI,CAAC,KAAKE,MAAN,IAAgB,CAAC,KAAKR,QAA1B,EAAoC;AAClC;AACD;;AAED,UAAMU,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCC,QAAAA,KAAK,EAAE,KAAKN,MADuB;AAEnCO,QAAAA,OAAO,EAAE,KAAKf,QAFqB;AAGnCgB,QAAAA,eAAe,EAAE,KAAKC;AAHa,OAA1B,CAAX;;AAMAC,2BAASC,MAAT,CAAgBT,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,uCAAW,MAAX;AACD,OAFD;AAGD;;;kDApDmCU,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nimport { removeInvalidAnswers } from './utils';\nimport Main from './main';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n }\n\n set model(m) {\n this._model = m;\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n isComplete = answer => Array.isArray(answer) && answer.length > 0;\n\n changeAnswers = answer => {\n this._session.answer = removeInvalidAnswers(answer);\n\n this.dispatchEvent(\n new SessionChangedEvent(\n this.tagName.toLowerCase(),\n this.isComplete(this._session.answer)\n )\n );\n\n this._render();\n };\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onAnswersChange: this.changeAnswers\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n}\n"],"file":"index.js"}
|
package/lib/main.js
CHANGED
|
@@ -33,9 +33,9 @@ var _renderUi = require("@pie-lib/render-ui");
|
|
|
33
33
|
|
|
34
34
|
var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
|
|
35
35
|
|
|
36
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
36
|
+
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; }
|
|
37
37
|
|
|
38
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
38
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
39
39
|
|
|
40
40
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
41
41
|
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "3.7.
|
|
7
|
+
"version": "3.7.16",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@material-ui/core": "^3.9.2",
|
|
15
15
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
16
|
-
"@pie-lib/correct-answer-toggle": "2.3.
|
|
17
|
-
"@pie-lib/graphing": "^2.4.
|
|
18
|
-
"@pie-lib/math-rendering": "^2.3.
|
|
19
|
-
"@pie-lib/render-ui": "^4.12.
|
|
16
|
+
"@pie-lib/correct-answer-toggle": "2.3.35",
|
|
17
|
+
"@pie-lib/graphing": "^2.4.16",
|
|
18
|
+
"@pie-lib/math-rendering": "^2.3.13",
|
|
19
|
+
"@pie-lib/render-ui": "^4.12.5",
|
|
20
20
|
"classnames": "^2.2.5",
|
|
21
21
|
"debug": "^4.1.1",
|
|
22
22
|
"react": "^16.8.1",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"author": "",
|
|
26
26
|
"license": "ISC",
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "de8f41ecfc06944b7bc890a167f81818d2bf1845",
|
|
28
28
|
"main": "lib/index.js",
|
|
29
29
|
"module": "src/index.js"
|
|
30
30
|
}
|