@pie-element/graphing 3.5.4-next.1016 → 3.5.4-next.1034

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.
@@ -39,6 +39,8 @@ var _graphingConfig = _interopRequireDefault(require("./graphing-config"));
39
39
 
40
40
  var _correctResponse = _interopRequireDefault(require("./correct-response"));
41
41
 
42
+ var _intersection = _interopRequireDefault(require("lodash/intersection"));
43
+
42
44
  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
45
 
44
46
  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; }
@@ -122,14 +124,18 @@ var Configure = /*#__PURE__*/function (_React$Component) {
122
124
  (0, _createClass2["default"])(Configure, [{
123
125
  key: "componentDidMount",
124
126
  value: function componentDidMount() {
125
- // This is used for offering support for old models which have the property arrows: boolean
126
- // Same thing is set in the controller: packages/graphing/controller/src/index.js - model
127
127
  var _this$props4 = this.props,
128
+ configuration = _this$props4.configuration,
128
129
  onModelChanged = _this$props4.onModelChanged,
129
130
  model = _this$props4.model;
130
131
 
131
- var _ref = model || {},
132
- arrows = _ref.arrows;
132
+ var _ref = configuration || {},
133
+ availableTools = _ref.availableTools;
134
+
135
+ var _ref2 = model || {},
136
+ arrows = _ref2.arrows; // This is used for offering support for old models which have the property arrows: boolean
137
+ // Same thing is set in the controller: packages/graphing/controller/src/index.js - model
138
+
133
139
 
134
140
  if (typeof arrows === 'boolean') {
135
141
  if (arrows) {
@@ -147,11 +153,13 @@ var Configure = /*#__PURE__*/function (_React$Component) {
147
153
  down: false
148
154
  };
149
155
  }
150
-
151
- onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
152
- arrows: arrows
153
- }));
154
156
  }
157
+
158
+ var toolbarTools = (0, _intersection["default"])(availableTools || [], model.toolbarTools || []);
159
+ onModelChanged && onModelChanged(_objectSpread(_objectSpread({}, model), {}, {
160
+ arrows: arrows,
161
+ toolbarTools: toolbarTools
162
+ }));
155
163
  }
156
164
  }, {
157
165
  key: "render",
@@ -164,43 +172,45 @@ var Configure = /*#__PURE__*/function (_React$Component) {
164
172
  onModelChanged = _this$props5.onModelChanged,
165
173
  imageSupport = _this$props5.imageSupport;
166
174
 
167
- var _ref2 = configuration || {},
168
- _ref2$arrows = _ref2.arrows,
169
- arrows = _ref2$arrows === void 0 ? {} : _ref2$arrows,
170
- _ref2$authoring = _ref2.authoring,
171
- authoring = _ref2$authoring === void 0 ? {} : _ref2$authoring,
172
- _ref2$coordinatesOnHo = _ref2.coordinatesOnHover,
173
- coordinatesOnHover = _ref2$coordinatesOnHo === void 0 ? {} : _ref2$coordinatesOnHo,
174
- _ref2$graphDimensions = _ref2.graphDimensions,
175
- graphDimensions = _ref2$graphDimensions === void 0 ? {} : _ref2$graphDimensions,
176
- _ref2$labels = _ref2.labels,
177
- labels = _ref2$labels === void 0 ? {} : _ref2$labels,
178
- _ref2$padding = _ref2.padding,
179
- padding = _ref2$padding === void 0 ? {} : _ref2$padding,
180
- _ref2$prompt = _ref2.prompt,
181
- prompt = _ref2$prompt === void 0 ? {} : _ref2$prompt,
182
- _ref2$title = _ref2.title,
183
- title = _ref2$title === void 0 ? {} : _ref2$title,
184
- _ref2$rationale = _ref2.rationale,
185
- rationale = _ref2$rationale === void 0 ? {} : _ref2$rationale,
186
- _ref2$scoringType = _ref2.scoringType,
187
- scoringType = _ref2$scoringType === void 0 ? {} : _ref2$scoringType,
188
- _ref2$spellCheck = _ref2.spellCheck,
189
- spellCheck = _ref2$spellCheck === void 0 ? {} : _ref2$spellCheck,
190
- _ref2$studentInstruct = _ref2.studentInstructions,
191
- studentInstructions = _ref2$studentInstruct === void 0 ? {} : _ref2$studentInstruct,
192
- _ref2$teacherInstruct = _ref2.teacherInstructions,
193
- teacherInstructions = _ref2$teacherInstruct === void 0 ? {} : _ref2$teacherInstruct,
194
- _ref2$maxImageWidth = _ref2.maxImageWidth,
195
- maxImageWidth = _ref2$maxImageWidth === void 0 ? {} : _ref2$maxImageWidth,
196
- _ref2$maxImageHeight = _ref2.maxImageHeight,
197
- maxImageHeight = _ref2$maxImageHeight === void 0 ? {} : _ref2$maxImageHeight;
198
-
199
- var _ref3 = model || {},
200
- teacherInstructionsEnabled = _ref3.teacherInstructionsEnabled,
201
- promptEnabled = _ref3.promptEnabled,
202
- rationaleEnabled = _ref3.rationaleEnabled,
203
- spellCheckEnabled = _ref3.spellCheckEnabled;
175
+ var _ref3 = configuration || {},
176
+ _ref3$arrows = _ref3.arrows,
177
+ arrows = _ref3$arrows === void 0 ? {} : _ref3$arrows,
178
+ _ref3$authoring = _ref3.authoring,
179
+ authoring = _ref3$authoring === void 0 ? {} : _ref3$authoring,
180
+ _ref3$availableTools = _ref3.availableTools,
181
+ availableTools = _ref3$availableTools === void 0 ? [] : _ref3$availableTools,
182
+ _ref3$coordinatesOnHo = _ref3.coordinatesOnHover,
183
+ coordinatesOnHover = _ref3$coordinatesOnHo === void 0 ? {} : _ref3$coordinatesOnHo,
184
+ _ref3$graphDimensions = _ref3.graphDimensions,
185
+ graphDimensions = _ref3$graphDimensions === void 0 ? {} : _ref3$graphDimensions,
186
+ _ref3$labels = _ref3.labels,
187
+ labels = _ref3$labels === void 0 ? {} : _ref3$labels,
188
+ _ref3$padding = _ref3.padding,
189
+ padding = _ref3$padding === void 0 ? {} : _ref3$padding,
190
+ _ref3$prompt = _ref3.prompt,
191
+ prompt = _ref3$prompt === void 0 ? {} : _ref3$prompt,
192
+ _ref3$title = _ref3.title,
193
+ title = _ref3$title === void 0 ? {} : _ref3$title,
194
+ _ref3$rationale = _ref3.rationale,
195
+ rationale = _ref3$rationale === void 0 ? {} : _ref3$rationale,
196
+ _ref3$scoringType = _ref3.scoringType,
197
+ scoringType = _ref3$scoringType === void 0 ? {} : _ref3$scoringType,
198
+ _ref3$spellCheck = _ref3.spellCheck,
199
+ spellCheck = _ref3$spellCheck === void 0 ? {} : _ref3$spellCheck,
200
+ _ref3$studentInstruct = _ref3.studentInstructions,
201
+ studentInstructions = _ref3$studentInstruct === void 0 ? {} : _ref3$studentInstruct,
202
+ _ref3$teacherInstruct = _ref3.teacherInstructions,
203
+ teacherInstructions = _ref3$teacherInstruct === void 0 ? {} : _ref3$teacherInstruct,
204
+ _ref3$maxImageWidth = _ref3.maxImageWidth,
205
+ maxImageWidth = _ref3$maxImageWidth === void 0 ? {} : _ref3$maxImageWidth,
206
+ _ref3$maxImageHeight = _ref3.maxImageHeight,
207
+ maxImageHeight = _ref3$maxImageHeight === void 0 ? {} : _ref3$maxImageHeight;
208
+
209
+ var _ref4 = model || {},
210
+ teacherInstructionsEnabled = _ref4.teacherInstructionsEnabled,
211
+ promptEnabled = _ref4.promptEnabled,
212
+ rationaleEnabled = _ref4.rationaleEnabled,
213
+ spellCheckEnabled = _ref4.spellCheckEnabled;
204
214
 
205
215
  log('[render] model', model);
206
216
  var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
@@ -277,11 +287,13 @@ var Configure = /*#__PURE__*/function (_React$Component) {
277
287
  maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
278
288
  maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight
279
289
  })), /*#__PURE__*/_react["default"].createElement(_graphingConfig["default"], {
280
- authoringEnabled: authoring && authoring.enabled,
290
+ authoring: authoring,
291
+ availableTools: availableTools,
281
292
  graphDimensions: graphDimensions,
282
293
  model: model,
283
294
  onChange: this.props.onModelChanged
284
295
  }), /*#__PURE__*/_react["default"].createElement(_correctResponse["default"], {
296
+ availableTools: availableTools,
285
297
  model: model,
286
298
  onChange: this.props.onModelChanged
287
299
  })));
@@ -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","authoring","coordinatesOnHover","graphDimensions","labels","padding","scoringType","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","defaultImageMaxWidth","defaultImageMaxHeight","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 {\n arrows = {},\n authoring = {},\n coordinatesOnHover = {},\n graphDimensions = {},\n labels = {},\n padding = {},\n prompt = {},\n title = {},\n rationale = {},\n scoringType = {},\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n maxImageWidth = {},\n maxImageHeight = {}\n } = configuration || {};\n const { teacherInstructionsEnabled, promptEnabled, rationaleEnabled, spellCheckEnabled } =\n model || {};\n\n log('[render] model', model);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\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 maxImageWidth={maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight}\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 maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\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 maxImageWidth={maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight}\n />\n </InputContainer>\n )}\n\n <GraphingConfig\n authoringEnabled={authoring && authoring.enabled}\n graphDimensions={graphDimensions}\n model={model}\n onChange={this.props.onModelChanged}\n />\n\n <CorrectResponse\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","configuration","availableTools","arrows","left","right","up","down","toolbarTools","classes","onConfigurationChanged","imageSupport","authoring","coordinatesOnHover","graphDimensions","labels","padding","scoringType","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","defaultImageMaxWidth","defaultImageMaxHeight","label","Properties","studentInstructionsEnabled","onTeacherInstructionsChange","onPromptChange","onRationaleChange","React","Component","PropTypes","func","object","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@material-ui/core/Typography';\nimport EditableHtml from '@pie-lib/editable-html';\nimport GraphingConfig from './graphing-config';\nimport CorrectResponse from './correct-response';\nimport intersection from 'lodash/intersection';\n\nconst { Panel, toggle, radio, checkboxes } = 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 const { configuration, onModelChanged, model } = this.props;\n const { availableTools } = configuration || {};\n let { arrows } = 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 = {\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 toolbarTools = intersection(availableTools || [], model.toolbarTools || []);\n\n onModelChanged && onModelChanged({ ...model, arrows, toolbarTools });\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 {\n arrows = {},\n authoring = {},\n availableTools = [],\n coordinatesOnHover = {},\n graphDimensions = {},\n labels = {},\n padding = {},\n prompt = {},\n title = {},\n rationale = {},\n scoringType = {},\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n maxImageWidth = {},\n maxImageHeight = {}\n } = configuration || {};\n const { teacherInstructionsEnabled, promptEnabled, rationaleEnabled, spellCheckEnabled } =\n model || {};\n\n log('[render] model', model);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\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 maxImageWidth={maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight}\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 maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\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 maxImageWidth={maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight}\n />\n </InputContainer>\n )}\n\n <GraphingConfig\n authoring={authoring}\n availableTools={availableTools}\n graphDimensions={graphDimensions}\n model={model}\n onChange={this.props.onModelChanged}\n />\n\n <CorrectResponse\n availableTools={availableTools}\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"}
@@ -57,8 +57,6 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
57
57
 
58
58
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
59
59
 
60
- var allTools = _graphing.tools.allTools;
61
-
62
60
  var styles = function styles(theme) {
63
61
  return {
64
62
  column: {
@@ -148,17 +146,25 @@ var styles = function styles(theme) {
148
146
 
149
147
  var Tools = function Tools(_ref) {
150
148
  var classes = _ref.classes,
149
+ availableTools = _ref.availableTools,
151
150
  defaultTool = _ref.defaultTool,
152
151
  toolbarTools = _ref.toolbarTools,
153
152
  toggleToolBarTool = _ref.toggleToolBarTool,
154
153
  onDefaultToolChange = _ref.onDefaultToolChange;
155
- // label has to be placed at the end of the list
156
- var allToolsNoLabel = (allTools || []).filter(function (tool) {
157
- return tool !== 'label';
158
- });
154
+ var allTools = availableTools || [];
155
+ var isLabelAvailable = allTools.includes('label');
159
156
  var toolbarToolsNoLabel = (toolbarTools || []).filter(function (tool) {
160
157
  return tool !== 'label';
161
158
  });
159
+
160
+ if (isLabelAvailable) {
161
+ // label has to be placed at the end of the list
162
+ var allToolsNoLabel = allTools.filter(function (tool) {
163
+ return tool !== 'label';
164
+ });
165
+ allTools = [].concat((0, _toConsumableArray2["default"])(allToolsNoLabel), ['label']);
166
+ }
167
+
162
168
  return /*#__PURE__*/React.createElement("div", {
163
169
  className: classes.graphingTools
164
170
  }, /*#__PURE__*/React.createElement("div", {
@@ -178,7 +184,7 @@ var Tools = function Tools(_ref) {
178
184
  }, tool);
179
185
  })))), /*#__PURE__*/React.createElement("div", {
180
186
  className: classes.availableTools
181
- }, [].concat((0, _toConsumableArray2["default"])(allToolsNoLabel), ['label']).map(function (tool) {
187
+ }, allTools.map(function (tool) {
182
188
  var selected = toolbarTools.find(function (t) {
183
189
  return t === tool;
184
190
  });
@@ -388,6 +394,7 @@ var CorrectResponse = /*#__PURE__*/function (_React$Component) {
388
394
  var _this2 = this;
389
395
 
390
396
  var _this$props6 = this.props,
397
+ availableTools = _this$props6.availableTools,
391
398
  classes = _this$props6.classes,
392
399
  model = _this$props6.model;
393
400
  var dialog = this.state.dialog;
@@ -416,6 +423,7 @@ var CorrectResponse = /*#__PURE__*/function (_React$Component) {
416
423
  className: classes.subtitleText
417
424
  }, /*#__PURE__*/React.createElement("span", null, "Use this interface to choose which graphing tools students will be able to use, and to define the correct answer")), /*#__PURE__*/React.createElement(Tools, {
418
425
  classes: classes,
426
+ availableTools: availableTools,
419
427
  defaultTool: defaultTool,
420
428
  onDefaultToolChange: this.onDefaultToolChange,
421
429
  toggleToolBarTool: this.toggleToolBarTool,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/correct-response.jsx"],"names":["allTools","tools","styles","theme","column","flex","graphingTools","color","availableTools","marginTop","spacing","unit","display","availableTool","cursor","margin","padding","border","textTransform","selectedTool","background","container","borderRadius","button","width","responseTitle","alignItems","iconButton","marginLeft","name","subtitleText","marginBottom","toolsHeader","justifyContent","defaultTool","defaultToolSelect","menuItem","noDefaultTool","Tools","classes","toolbarTools","toggleToolBarTool","onDefaultToolChange","allToolsNoLabel","filter","tool","toolbarToolsNoLabel","length","map","index","selected","find","t","toUpperCase","propTypes","PropTypes","object","isRequired","arrayOf","string","func","CorrectResponse","dialog","open","callback","setState","key","marks","props","model","onChange","answers","Object","entries","reduce","answer","mark","type","updatedToolbarTools","newDefaultTool","findIndex","updatedAnswers","filterMarks","splice","title","text","onConfirm","handleAlertDialog","updateModel","onClose","push","event","value","target","answersKeys","keys","deleteAnswer","state","arrows","backgroundMarks","coordinatesOnHover","domain","graph","labels","range","deleteAlternateResponse","includeArrows","newMarks","changeMarks","height","addAlternateResponse","React","Component","String"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { GraphContainer as Graph, tools } from '@pie-lib/graphing';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport Delete from '@material-ui/icons/Delete';\nimport { set, isEqual } from 'lodash';\nimport { MenuItem, Select, Typography } from '@material-ui/core';\n\nconst { allTools } = tools;\n\nconst styles = theme => ({\n column: {\n flex: 1\n },\n graphingTools: {\n color: '#ababab'\n },\n availableTools: {\n marginTop: theme.spacing.unit,\n display: 'flex'\n },\n availableTool: {\n cursor: 'pointer',\n margin: theme.spacing.unit,\n padding: theme.spacing.unit,\n border: '2px solid white',\n textTransform: 'capitalize',\n '&:hover': {\n color: '#4d4d4d'\n }\n },\n selectedTool: {\n background: '#d8d8d8',\n border: '2px solid #ababab'\n },\n container: {\n border: '2px solid #ababab',\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit * 4}px ${theme.spacing.unit * 2}px`,\n background: '#fafafa'\n },\n button: {\n margin: `${theme.spacing.unit * 3}px 0`,\n cursor: 'pointer',\n background: '#eee',\n padding: theme.spacing.unit * 1.5,\n width: 'fit-content',\n borderRadius: '4px',\n '&:hover': {\n background: '#d8d8d8'\n }\n },\n responseTitle: {\n display: 'flex',\n alignItems: 'center',\n marginTop: '20px'\n },\n iconButton: {\n marginLeft: '6px',\n color: '#6d6d6d',\n '&:hover': {\n cursor: 'pointer',\n color: '#000000'\n }\n },\n name: {\n margin: '5px 0'\n },\n subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit\n },\n toolsHeader: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between'\n },\n defaultTool: {\n display: 'flex',\n alignItems: 'center',\n width: '300px'\n },\n defaultToolSelect: {\n marginLeft: theme.spacing.unit,\n textTransform: 'uppercase',\n color: '#4d4d4d'\n },\n menuItem: {\n textTransform: 'uppercase',\n },\n noDefaultTool: {\n padding: theme.spacing.unit / 2\n }\n});\n\nexport const Tools = ({ classes, defaultTool, toolbarTools, toggleToolBarTool, onDefaultToolChange }) => {\n // label has to be placed at the end of the list\n const allToolsNoLabel = (allTools || []).filter(tool => tool !== 'label');\n const toolbarToolsNoLabel = (toolbarTools || []).filter(tool => tool !== 'label');\n\n return (\n <div className={classes.graphingTools}>\n <div className={classes.toolsHeader}>\n <span>GRAPHING TOOLS</span>\n {toolbarToolsNoLabel.length > 0 && (\n <div className={classes.defaultTool}>\n <span>Default graphing tool:</span>\n <Select\n className={classes.defaultToolSelect}\n onChange={onDefaultToolChange}\n value={defaultTool}\n disableUnderline\n >\n {toolbarToolsNoLabel.map((tool, index) =>\n <MenuItem key={index} className={classes.menuItem} value={tool}>{tool}</MenuItem>)}\n </Select>\n </div>\n )}\n </div>\n <div className={classes.availableTools}>\n {([...allToolsNoLabel, 'label']).map(tool => {\n const selected = toolbarTools.find(t => t === tool);\n\n return (\n <div\n key={tool}\n className={classnames(\n classes.availableTool,\n selected && classes.selectedTool\n )}\n onClick={() => toggleToolBarTool(tool)}\n >\n {tool.toUpperCase()}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nTools.propTypes = {\n classes: PropTypes.object.isRequired,\n toolbarTools: PropTypes.arrayOf(PropTypes.string),\n toggleToolBarTool: PropTypes.func\n};\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n toolbarTools: PropTypes.arrayOf(PropTypes.String)\n };\n\n state = {\n dialog: {\n open: false\n }\n };\n\n handleAlertDialog = (open, callback) =>\n this.setState({\n dialog: { open }\n }, callback);\n\n changeMarks = (key, marks) => {\n const { model, onChange } = this.props;\n\n set(model, `answers.${key}.marks`, marks);\n onChange(model);\n };\n\n filterMarks = (tool) => {\n const { model: { answers }} = this.props;\n\n return Object.entries(answers || {}).reduce((object, [key, answer]) => {\n object[key] = {\n ...answer,\n marks: (answer.marks || []).filter(mark => mark.type !== tool)\n };\n\n return object;\n }, {});\n };\n\n changeToolbarTools = toolbarTools => {\n const { model, onChange } = this.props;\n model.toolbarTools = toolbarTools;\n\n onChange(model);\n };\n\n updateModel = props => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n ...props\n });\n };\n\n toggleToolBarTool = tool => {\n const { model: { defaultTool, toolbarTools, answers = {}}} = this.props;\n const updatedToolbarTools = [ ...toolbarTools ];\n let newDefaultTool = defaultTool;\n\n const index = toolbarTools.findIndex(t => tool === t);\n\n if (index >= 0) {\n const updatedAnswers = this.filterMarks(tool);\n updatedToolbarTools.splice(index, 1);\n\n if (tool === defaultTool) {\n const toolbarToolsNoLabel = (updatedToolbarTools || []).filter(tool => tool !== 'label');\n newDefaultTool = toolbarToolsNoLabel.length && toolbarToolsNoLabel[0] || '';\n }\n\n if (!isEqual(answers, updatedAnswers)) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `Correct answer includes one or more ${tool} objects and all of them will be deleted.`,\n onConfirm: () => this.handleAlertDialog(\n false, this.updateModel({\n toolbarTools: updatedToolbarTools,\n answers: updatedAnswers,\n defaultTool: newDefaultTool\n })),\n onClose: () => this.handleAlertDialog(false)\n }\n });\n\n return;\n }\n } else {\n updatedToolbarTools.push(tool);\n\n if (defaultTool === '' && tool !== 'label') {\n newDefaultTool = tool;\n }\n }\n\n this.updateModel({\n toolbarTools: updatedToolbarTools,\n defaultTool: newDefaultTool\n });\n };\n\n onDefaultToolChange = event => {\n const { value } = event.target;\n\n this.updateModel( { defaultTool: value });\n }\n\n addAlternateResponse = () => {\n const { model, onChange } = this.props;\n const { answers } = model || {};\n const answersKeys = Object.keys(answers || {});\n\n set(\n model,\n `answers.${`alternate${answersKeys.length}`}`,\n { name: `Alternate ${answersKeys.length}`, marks: [] }\n );\n onChange(model);\n };\n\n deleteAlternateResponse = (key, answer) => {\n const { model, onChange } = this.props;\n const { answers } = model || {};\n const { marks = [], name } = answer || {};\n\n const deleteAnswer = () => {\n delete answers[key];\n onChange(model);\n };\n\n if (marks.length) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `${name} includes one or more shapes and the entire response will be deleted.`,\n onConfirm: () => this.handleAlertDialog(false, deleteAnswer),\n onClose: () => this.handleAlertDialog(false)\n }\n });\n\n return;\n }\n\n deleteAnswer();\n };\n\n render() {\n const { classes, model } = this.props;\n const { dialog } = this.state;\n const {\n answers = {},\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n defaultTool,\n domain,\n graph = {},\n labels,\n range,\n title,\n toolbarTools\n } = model || {};\n\n return (\n <div>\n <Typography component=\"div\" variant=\"subheading\">\n <span>Define Tool Set and Correct Response</span>\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n <span>Use this interface to choose which graphing tools students will be able to use, and to define the correct answer</span>\n </Typography>\n\n <Tools\n classes={classes}\n defaultTool={defaultTool}\n onDefaultToolChange={this.onDefaultToolChange}\n toggleToolBarTool={this.toggleToolBarTool}\n toolbarTools={toolbarTools}\n />\n\n {Object.entries(answers || {}).map(([key, answer]) => {\n const { marks = [], name } = answer || {};\n\n return (\n <div key={`correct-response-graph-${name}`}>\n <div className={classes.responseTitle}>\n <p className={classes.name}>{name}</p>\n {key !== 'correctAnswer' &&\n <Delete\n className={classes.iconButton}\n onClick={() => this.deleteAlternateResponse(key, answer)}\n />}\n </div>\n\n <Graph\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={backgroundMarks}\n coordinatesOnHover={coordinatesOnHover}\n domain={domain}\n labels={labels}\n marks={marks}\n onChangeMarks={newMarks => this.changeMarks(key, newMarks)}\n range={range}\n size={{width: graph.width, height: graph.height}}\n title={title}\n toolbarTools={toolbarTools}\n />\n </div>\n )\n })}\n\n <div className={classes.button} onClick={this.addAlternateResponse}>\n ADD ALTERNATE\n </div>\n\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n );\n }\n};\n\nexport default withStyles(styles)(CorrectResponse);\n"],"file":"correct-response.js"}
1
+ {"version":3,"sources":["../src/correct-response.jsx"],"names":["styles","theme","column","flex","graphingTools","color","availableTools","marginTop","spacing","unit","display","availableTool","cursor","margin","padding","border","textTransform","selectedTool","background","container","borderRadius","button","width","responseTitle","alignItems","iconButton","marginLeft","name","subtitleText","marginBottom","toolsHeader","justifyContent","defaultTool","defaultToolSelect","menuItem","noDefaultTool","Tools","classes","toolbarTools","toggleToolBarTool","onDefaultToolChange","allTools","isLabelAvailable","includes","toolbarToolsNoLabel","filter","tool","allToolsNoLabel","length","map","index","selected","find","t","toUpperCase","propTypes","PropTypes","object","isRequired","arrayOf","string","func","CorrectResponse","dialog","open","callback","setState","key","marks","props","model","onChange","answers","Object","entries","reduce","answer","mark","type","updatedToolbarTools","newDefaultTool","findIndex","updatedAnswers","filterMarks","splice","title","text","onConfirm","handleAlertDialog","updateModel","onClose","push","event","value","target","answersKeys","keys","deleteAnswer","state","arrows","backgroundMarks","coordinatesOnHover","domain","graph","labels","range","deleteAlternateResponse","includeArrows","newMarks","changeMarks","height","addAlternateResponse","React","Component","String"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { GraphContainer as Graph } from '@pie-lib/graphing';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport Delete from '@material-ui/icons/Delete';\nimport { set, isEqual } from 'lodash';\nimport { MenuItem, Select, Typography } from '@material-ui/core';\n\nconst styles = theme => ({\n column: {\n flex: 1\n },\n graphingTools: {\n color: '#ababab'\n },\n availableTools: {\n marginTop: theme.spacing.unit,\n display: 'flex'\n },\n availableTool: {\n cursor: 'pointer',\n margin: theme.spacing.unit,\n padding: theme.spacing.unit,\n border: '2px solid white',\n textTransform: 'capitalize',\n '&:hover': {\n color: '#4d4d4d'\n }\n },\n selectedTool: {\n background: '#d8d8d8',\n border: '2px solid #ababab'\n },\n container: {\n border: '2px solid #ababab',\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit * 4}px ${theme.spacing.unit * 2}px`,\n background: '#fafafa'\n },\n button: {\n margin: `${theme.spacing.unit * 3}px 0`,\n cursor: 'pointer',\n background: '#eee',\n padding: theme.spacing.unit * 1.5,\n width: 'fit-content',\n borderRadius: '4px',\n '&:hover': {\n background: '#d8d8d8'\n }\n },\n responseTitle: {\n display: 'flex',\n alignItems: 'center',\n marginTop: '20px'\n },\n iconButton: {\n marginLeft: '6px',\n color: '#6d6d6d',\n '&:hover': {\n cursor: 'pointer',\n color: '#000000'\n }\n },\n name: {\n margin: '5px 0'\n },\n subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit\n },\n toolsHeader: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between'\n },\n defaultTool: {\n display: 'flex',\n alignItems: 'center',\n width: '300px'\n },\n defaultToolSelect: {\n marginLeft: theme.spacing.unit,\n textTransform: 'uppercase',\n color: '#4d4d4d'\n },\n menuItem: {\n textTransform: 'uppercase',\n },\n noDefaultTool: {\n padding: theme.spacing.unit / 2\n }\n});\n\nexport const Tools = ({ classes, availableTools, defaultTool, toolbarTools, toggleToolBarTool, onDefaultToolChange }) => {\n let allTools = availableTools || [];\n const isLabelAvailable = allTools.includes('label');\n const toolbarToolsNoLabel = (toolbarTools || []).filter(tool => tool !== 'label');\n\n if (isLabelAvailable) {\n // label has to be placed at the end of the list\n const allToolsNoLabel = allTools.filter(tool => tool !== 'label');\n allTools = [ ...allToolsNoLabel, 'label'];\n }\n\n return (\n <div className={classes.graphingTools}>\n <div className={classes.toolsHeader}>\n <span>GRAPHING TOOLS</span>\n {toolbarToolsNoLabel.length > 0 && (\n <div className={classes.defaultTool}>\n <span>Default graphing tool:</span>\n <Select\n className={classes.defaultToolSelect}\n onChange={onDefaultToolChange}\n value={defaultTool}\n disableUnderline\n >\n {toolbarToolsNoLabel.map((tool, index) =>\n <MenuItem key={index} className={classes.menuItem} value={tool}>{tool}</MenuItem>)}\n </Select>\n </div>\n )}\n </div>\n <div className={classes.availableTools}>\n {allTools.map(tool => {\n const selected = toolbarTools.find(t => t === tool);\n\n return (\n <div\n key={tool}\n className={classnames(\n classes.availableTool,\n selected && classes.selectedTool\n )}\n onClick={() => toggleToolBarTool(tool)}\n >\n {tool.toUpperCase()}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nTools.propTypes = {\n classes: PropTypes.object.isRequired,\n toolbarTools: PropTypes.arrayOf(PropTypes.string),\n toggleToolBarTool: PropTypes.func\n};\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n toolbarTools: PropTypes.arrayOf(PropTypes.String)\n };\n\n state = {\n dialog: {\n open: false\n }\n };\n\n handleAlertDialog = (open, callback) =>\n this.setState({\n dialog: { open }\n }, callback);\n\n changeMarks = (key, marks) => {\n const { model, onChange } = this.props;\n\n set(model, `answers.${key}.marks`, marks);\n onChange(model);\n };\n\n filterMarks = (tool) => {\n const { model: { answers }} = this.props;\n\n return Object.entries(answers || {}).reduce((object, [key, answer]) => {\n object[key] = {\n ...answer,\n marks: (answer.marks || []).filter(mark => mark.type !== tool)\n };\n\n return object;\n }, {});\n };\n\n changeToolbarTools = toolbarTools => {\n const { model, onChange } = this.props;\n model.toolbarTools = toolbarTools;\n\n onChange(model);\n };\n\n updateModel = props => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n ...props\n });\n };\n\n toggleToolBarTool = tool => {\n const { model: { defaultTool, toolbarTools, answers = {}}} = this.props;\n const updatedToolbarTools = [ ...toolbarTools ];\n let newDefaultTool = defaultTool;\n\n const index = toolbarTools.findIndex(t => tool === t);\n\n if (index >= 0) {\n const updatedAnswers = this.filterMarks(tool);\n updatedToolbarTools.splice(index, 1);\n\n if (tool === defaultTool) {\n const toolbarToolsNoLabel = (updatedToolbarTools || []).filter(tool => tool !== 'label');\n newDefaultTool = toolbarToolsNoLabel.length && toolbarToolsNoLabel[0] || '';\n }\n\n if (!isEqual(answers, updatedAnswers)) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `Correct answer includes one or more ${tool} objects and all of them will be deleted.`,\n onConfirm: () => this.handleAlertDialog(\n false, this.updateModel({\n toolbarTools: updatedToolbarTools,\n answers: updatedAnswers,\n defaultTool: newDefaultTool\n })),\n onClose: () => this.handleAlertDialog(false)\n }\n });\n\n return;\n }\n } else {\n updatedToolbarTools.push(tool);\n\n if (defaultTool === '' && tool !== 'label') {\n newDefaultTool = tool;\n }\n }\n\n this.updateModel({\n toolbarTools: updatedToolbarTools,\n defaultTool: newDefaultTool\n });\n };\n\n onDefaultToolChange = event => {\n const { value } = event.target;\n\n this.updateModel( { defaultTool: value });\n }\n\n addAlternateResponse = () => {\n const { model, onChange } = this.props;\n const { answers } = model || {};\n const answersKeys = Object.keys(answers || {});\n\n set(\n model,\n `answers.${`alternate${answersKeys.length}`}`,\n { name: `Alternate ${answersKeys.length}`, marks: [] }\n );\n onChange(model);\n };\n\n deleteAlternateResponse = (key, answer) => {\n const { model, onChange } = this.props;\n const { answers } = model || {};\n const { marks = [], name } = answer || {};\n\n const deleteAnswer = () => {\n delete answers[key];\n onChange(model);\n };\n\n if (marks.length) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `${name} includes one or more shapes and the entire response will be deleted.`,\n onConfirm: () => this.handleAlertDialog(false, deleteAnswer),\n onClose: () => this.handleAlertDialog(false)\n }\n });\n\n return;\n }\n\n deleteAnswer();\n };\n\n render() {\n const { availableTools, classes, model } = this.props;\n const { dialog } = this.state;\n const {\n answers = {},\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n defaultTool,\n domain,\n graph = {},\n labels,\n range,\n title,\n toolbarTools\n } = model || {};\n\n return (\n <div>\n <Typography component=\"div\" variant=\"subheading\">\n <span>Define Tool Set and Correct Response</span>\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n <span>Use this interface to choose which graphing tools students will be able to use, and to define the correct answer</span>\n </Typography>\n\n <Tools\n classes={classes}\n availableTools={availableTools}\n defaultTool={defaultTool}\n onDefaultToolChange={this.onDefaultToolChange}\n toggleToolBarTool={this.toggleToolBarTool}\n toolbarTools={toolbarTools}\n />\n\n {Object.entries(answers || {}).map(([key, answer]) => {\n const { marks = [], name } = answer || {};\n\n return (\n <div key={`correct-response-graph-${name}`}>\n <div className={classes.responseTitle}>\n <p className={classes.name}>{name}</p>\n {key !== 'correctAnswer' &&\n <Delete\n className={classes.iconButton}\n onClick={() => this.deleteAlternateResponse(key, answer)}\n />}\n </div>\n\n <Graph\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={backgroundMarks}\n coordinatesOnHover={coordinatesOnHover}\n domain={domain}\n labels={labels}\n marks={marks}\n onChangeMarks={newMarks => this.changeMarks(key, newMarks)}\n range={range}\n size={{width: graph.width, height: graph.height}}\n title={title}\n toolbarTools={toolbarTools}\n />\n </div>\n )\n })}\n\n <div className={classes.button} onClick={this.addAlternateResponse}>\n ADD ALTERNATE\n </div>\n\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n );\n }\n};\n\nexport default withStyles(styles)(CorrectResponse);\n"],"file":"correct-response.js"}
@@ -54,8 +54,30 @@ var _default = {
54
54
  configuration: {
55
55
  authoring: {
56
56
  settings: false,
57
- label: 'Allow authoring',
58
- enabled: false
57
+ label: 'Customize Grid Setup',
58
+ enabled: true,
59
+ includeAxesEnabled: true,
60
+ standardGridEnabled: true,
61
+ min: {
62
+ label: 'Min Value',
63
+ enabled: true
64
+ },
65
+ max: {
66
+ label: 'Max Value',
67
+ enabled: true
68
+ },
69
+ axisLabel: {
70
+ label: 'Label',
71
+ enabled: true
72
+ },
73
+ step: {
74
+ label: 'Grid Interval',
75
+ enabled: true
76
+ },
77
+ labelStep: {
78
+ label: 'Label Interval',
79
+ enabled: true
80
+ }
59
81
  },
60
82
  arrows: {
61
83
  settings: true,
@@ -115,6 +137,7 @@ var _default = {
115
137
  label: 'Graph Title',
116
138
  enabled: true
117
139
  },
140
+ availableTools: allTools,
118
141
  spellCheck: {
119
142
  label: 'Spellcheck',
120
143
  settings: false,
@@ -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","includeAxes","labels","padding","prompt","range","rationale","standardGrid","title","toolbarTools","coordinatesOnHover","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","authoring","settings","label","enabled","graphDimensions","scoringType","studentInstructions","teacherInstructions","spellCheck","maxImageWidth","maxImageHeight"],"mappings":"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","sourcesContent":["import { tools } from '@pie-lib/graphing';\n\nconst { allTools = [] } = tools;\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 includeAxes: true,\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 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 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 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: 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 maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n }\n }\n};\n"],"file":"defaults.js"}
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","includeAxes","labels","padding","prompt","range","rationale","standardGrid","title","toolbarTools","coordinatesOnHover","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","authoring","settings","label","enabled","includeAxesEnabled","standardGridEnabled","graphDimensions","scoringType","studentInstructions","teacherInstructions","availableTools","spellCheck","maxImageWidth","maxImageHeight"],"mappings":"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","sourcesContent":["import { tools } from '@pie-lib/graphing';\n\nconst { allTools = [] } = tools;\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 includeAxes: true,\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 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 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 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: 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 availableTools: allTools,\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 }\n};\n"],"file":"defaults.js"}
@@ -2,13 +2,15 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
6
 
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports["default"] = exports.GraphingConfig = void 0;
11
11
 
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
12
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
15
 
14
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -37,7 +39,7 @@ var _utils = require("./utils");
37
39
 
38
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
41
 
40
- 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; }
42
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
41
43
 
42
44
  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
45
 
@@ -47,9 +49,6 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
47
49
 
48
50
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
49
51
 
50
- var _tools$allTools = _graphing.tools.allTools,
51
- allTools = _tools$allTools === void 0 ? [] : _tools$allTools;
52
-
53
52
  var styles = function styles(theme) {
54
53
  return {
55
54
  container: {
@@ -166,9 +165,14 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
166
165
  key: "render",
167
166
  value: function render() {
168
167
  var _this$props2 = this.props,
168
+ _this$props2$authorin = _this$props2.authoring,
169
+ authoring = _this$props2$authorin === void 0 ? {} : _this$props2$authorin,
170
+ _this$props2$availabl = _this$props2.availableTools,
171
+ availableTools = _this$props2$availabl === void 0 ? [] : _this$props2$availabl,
169
172
  classes = _this$props2.classes,
170
173
  model = _this$props2.model,
171
- graphDimensions = _this$props2.graphDimensions;
174
+ _this$props2$graphDim = _this$props2.graphDimensions,
175
+ graphDimensions = _this$props2$graphDim === void 0 ? {} : _this$props2$graphDim;
172
176
 
173
177
  var _ref2 = model || {},
174
178
  arrows = _ref2.arrows,
@@ -184,7 +188,7 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
184
188
  var graph = (model || {}).graph || {};
185
189
 
186
190
  var _ref3 = graphDimensions || {},
187
- enabled = _ref3.enabled,
191
+ dimensionsEnabled = _ref3.enabled,
188
192
  min = _ref3.min,
189
193
  max = _ref3.max,
190
194
  step = _ref3.step;
@@ -197,13 +201,27 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
197
201
  max: Math.min(800, max),
198
202
  step: step >= 1 ? Math.min(200, step) : 20
199
203
  };
204
+ var displayedFields = {
205
+ axisLabel: authoring.axisLabel,
206
+ dimensionsEnabled: dimensionsEnabled,
207
+ includeAxesEnabled: authoring.includeAxesEnabled,
208
+ labelStep: authoring.labelStep,
209
+ min: authoring.min,
210
+ max: authoring.max,
211
+ standardGridEnabled: authoring.standardGridEnabled,
212
+ step: authoring.step
213
+ };
214
+ var displayGridSetup = authoring.enabled && Object.values(displayedFields).some(function (field) {
215
+ return (0, _typeof2["default"])(field) === 'object' ? field.enabled : field;
216
+ });
200
217
  return /*#__PURE__*/React.createElement("div", {
201
218
  className: classes.container
202
219
  }, /*#__PURE__*/React.createElement("div", {
203
220
  className: classes.gridConfig
204
- }, /*#__PURE__*/React.createElement(_graphing.GridSetup, {
221
+ }, displayGridSetup && /*#__PURE__*/React.createElement(_graphing.GridSetup, {
222
+ displayedFields: displayedFields,
205
223
  domain: domain,
206
- dimensionsEnabled: enabled,
224
+ dimensionsEnabled: dimensionsEnabled,
207
225
  gridValues: gridValues,
208
226
  includeAxes: includeAxes,
209
227
  labelValues: labelValues,
@@ -241,7 +259,7 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
241
259
  height: graph.height
242
260
  },
243
261
  title: title,
244
- toolbarTools: allTools
262
+ toolbarTools: availableTools
245
263
  })));
246
264
  }
247
265
  }]);
@@ -251,7 +269,7 @@ var GraphingConfig = /*#__PURE__*/function (_React$Component) {
251
269
  exports.GraphingConfig = GraphingConfig;
252
270
  (0, _defineProperty2["default"])(GraphingConfig, "propTypes", {
253
271
  classes: _propTypes["default"].object.isRequired,
254
- authoringEnabled: _propTypes["default"].bool,
272
+ authoring: _propTypes["default"].object,
255
273
  graphDimensions: _propTypes["default"].object,
256
274
  model: _propTypes["default"].object.isRequired,
257
275
  onChange: _propTypes["default"].func.isRequired