@pie-element/graphing 3.5.3 → 3.5.4-next.1008

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +163 -0
  2. package/configure/CHANGELOG.md +152 -0
  3. package/configure/lib/configure.js +108 -47
  4. package/configure/lib/configure.js.map +1 -1
  5. package/configure/lib/correct-response.js +203 -46
  6. package/configure/lib/correct-response.js.map +1 -1
  7. package/configure/lib/defaults.js +49 -7
  8. package/configure/lib/defaults.js.map +1 -1
  9. package/configure/lib/graphing-config.js +162 -183
  10. package/configure/lib/graphing-config.js.map +1 -1
  11. package/configure/lib/index.js +36 -19
  12. package/configure/lib/index.js.map +1 -1
  13. package/configure/lib/utils.js +94 -0
  14. package/configure/lib/utils.js.map +1 -0
  15. package/configure/package.json +4 -4
  16. package/controller/CHANGELOG.md +40 -0
  17. package/controller/lib/defaults.js +9 -1
  18. package/controller/lib/defaults.js.map +1 -1
  19. package/controller/lib/index.js +38 -23
  20. package/controller/lib/index.js.map +1 -1
  21. package/controller/lib/utils.js +8 -6
  22. package/controller/lib/utils.js.map +1 -1
  23. package/controller/package.json +1 -1
  24. package/docs/config-schema.json +282 -0
  25. package/docs/config-schema.json.md +213 -1
  26. package/docs/demo/generate.js +7 -1
  27. package/docs/pie-schema.json +211 -3
  28. package/docs/pie-schema.json.md +150 -2
  29. package/lib/index.js +4 -1
  30. package/lib/index.js.map +1 -1
  31. package/lib/main.js +13 -19
  32. package/lib/main.js.map +1 -1
  33. package/lib/utils.js +3 -1
  34. package/lib/utils.js.map +1 -1
  35. package/package.json +6 -6
  36. package/module/configure.js +0 -1260
  37. package/module/controller.js +0 -21893
  38. package/module/demo.js +0 -92
  39. package/module/element.js +0 -245
  40. package/module/index.html +0 -16
  41. package/module/manifest.json +0 -14
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports["default"] = exports.CorrectResponse = exports.Tools = void 0;
10
+ exports["default"] = exports.Tools = exports.CorrectResponse = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
13
 
12
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
15
 
@@ -35,11 +37,23 @@ var _styles = require("@material-ui/core/styles");
35
37
 
36
38
  var _graphing = require("@pie-lib/graphing");
37
39
 
40
+ var _configUi = require("@pie-lib/config-ui");
41
+
42
+ var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
43
+
38
44
  var _lodash = require("lodash");
39
45
 
46
+ 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); }
47
+
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
+
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
+
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
+
40
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); }; }
41
55
 
42
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
56
+ 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; } }
43
57
 
44
58
  var allTools = _graphing.tools.allTools;
45
59
 
@@ -49,19 +63,22 @@ var styles = function styles(theme) {
49
63
  flex: 1
50
64
  },
51
65
  graphingTools: {
52
- marginTop: theme.spacing.unit * 3,
66
+ margin: "".concat(theme.spacing.unit * 3, "px 0"),
53
67
  color: '#ababab'
54
68
  },
55
69
  availableTools: {
56
- marginTop: theme.spacing.unit * 3,
57
- marginBottom: theme.spacing.unit * 3,
70
+ marginTop: theme.spacing.unit,
58
71
  display: 'flex'
59
72
  },
60
73
  availableTool: {
61
74
  cursor: 'pointer',
62
75
  margin: theme.spacing.unit,
63
76
  padding: theme.spacing.unit,
64
- textTransform: 'capitalize'
77
+ border: '2px solid white',
78
+ textTransform: 'capitalize',
79
+ '&:hover': {
80
+ color: '#4d4d4d'
81
+ }
65
82
  },
66
83
  selectedTool: {
67
84
  background: '#d8d8d8',
@@ -70,7 +87,7 @@ var styles = function styles(theme) {
70
87
  container: {
71
88
  border: '2px solid #ababab',
72
89
  borderRadius: '4px',
73
- padding: "".concat(theme.spacing.unit * 2, "px ").concat(theme.spacing.unit * 4, "px"),
90
+ padding: "0 ".concat(theme.spacing.unit * 4, "px ").concat(theme.spacing.unit * 2, "px"),
74
91
  background: '#fafafa'
75
92
  },
76
93
  button: {
@@ -79,7 +96,26 @@ var styles = function styles(theme) {
79
96
  background: '#eee',
80
97
  padding: theme.spacing.unit * 2,
81
98
  width: 'fit-content',
82
- borderRadius: '4px'
99
+ borderRadius: '4px',
100
+ '&:hover': {
101
+ background: '#d8d8d8'
102
+ }
103
+ },
104
+ responseTitle: {
105
+ display: 'flex',
106
+ alignItems: 'center',
107
+ marginTop: '20px'
108
+ },
109
+ iconButton: {
110
+ marginLeft: '6px',
111
+ color: '#6d6d6d',
112
+ '&:hover': {
113
+ cursor: 'pointer',
114
+ color: '#000000'
115
+ }
116
+ },
117
+ name: {
118
+ margin: '5px 0'
83
119
  }
84
120
  };
85
121
  };
@@ -132,6 +168,18 @@ var CorrectResponse = /*#__PURE__*/function (_React$Component) {
132
168
  }
133
169
 
134
170
  _this = _super.call.apply(_super, [this].concat(args));
171
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
172
+ dialog: {
173
+ open: false
174
+ }
175
+ });
176
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleAlertDialog", function (open, callback) {
177
+ return _this.setState({
178
+ dialog: {
179
+ open: open
180
+ }
181
+ }, callback);
182
+ });
135
183
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMarks", function (key, marks) {
136
184
  var _this$props = _this.props,
137
185
  model = _this$props.model,
@@ -139,6 +187,21 @@ var CorrectResponse = /*#__PURE__*/function (_React$Component) {
139
187
  (0, _lodash.set)(model, "answers.".concat(key, ".marks"), marks);
140
188
  onChange(model);
141
189
  });
190
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "filterMarks", function (tool) {
191
+ var answers = _this.props.model.answers;
192
+ return Object.entries(answers || {}).reduce(function (object, _ref2) {
193
+ var _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
194
+ key = _ref3[0],
195
+ answer = _ref3[1];
196
+
197
+ object[key] = _objectSpread(_objectSpread({}, answer), {}, {
198
+ marks: (answer.marks || []).filter(function (mark) {
199
+ return mark.type !== tool;
200
+ })
201
+ });
202
+ return object;
203
+ }, {});
204
+ });
142
205
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeToolbarTools", function (toolbarTools) {
143
206
  var _this$props2 = _this.props,
144
207
  model = _this$props2.model,
@@ -146,28 +209,62 @@ var CorrectResponse = /*#__PURE__*/function (_React$Component) {
146
209
  model.toolbarTools = toolbarTools;
147
210
  onChange(model);
148
211
  });
212
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateModel", function (props) {
213
+ var _this$props3 = _this.props,
214
+ model = _this$props3.model,
215
+ onChange = _this$props3.onChange;
216
+ onChange(_objectSpread(_objectSpread({}, model), props));
217
+ });
149
218
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleToolBarTool", function (tool) {
150
- var toolbarTools = _this.props.model.toolbarTools;
219
+ var _this$props$model = _this.props.model,
220
+ toolbarTools = _this$props$model.toolbarTools,
221
+ _this$props$model$ans = _this$props$model.answers,
222
+ answers = _this$props$model$ans === void 0 ? {} : _this$props$model$ans;
223
+ var updatedToolbarTools = (0, _toConsumableArray2["default"])(toolbarTools);
151
224
  var index = toolbarTools.findIndex(function (t) {
152
225
  return tool === t;
153
226
  });
154
227
 
155
228
  if (index >= 0) {
156
- var update = (0, _toConsumableArray2["default"])(toolbarTools);
157
- update.splice(index, 1);
158
-
159
- _this.changeToolbarTools(update);
229
+ var updatedAnswers = _this.filterMarks(tool);
230
+
231
+ updatedToolbarTools.splice(index, 1);
232
+
233
+ if (!(0, _lodash.isEqual)(answers, updatedAnswers)) {
234
+ _this.setState({
235
+ dialog: {
236
+ open: true,
237
+ title: 'Warning',
238
+ text: "Correct answer includes one or more ".concat(tool, " objects and all of them will be deleted."),
239
+ onConfirm: function onConfirm() {
240
+ return _this.handleAlertDialog(false, _this.updateModel({
241
+ toolbarTools: updatedToolbarTools,
242
+ answers: updatedAnswers
243
+ }));
244
+ },
245
+ onClose: function onClose() {
246
+ return _this.handleAlertDialog(false);
247
+ }
248
+ }
249
+ });
250
+
251
+ return;
252
+ }
160
253
  } else {
161
- _this.changeToolbarTools([].concat((0, _toConsumableArray2["default"])(toolbarTools), [tool]));
254
+ updatedToolbarTools.push(tool);
162
255
  }
256
+
257
+ _this.updateModel({
258
+ toolbarTools: updatedToolbarTools
259
+ });
163
260
  });
164
261
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "addAlternateResponse", function () {
165
- var _this$props3 = _this.props,
166
- model = _this$props3.model,
167
- onChange = _this$props3.onChange;
262
+ var _this$props4 = _this.props,
263
+ model = _this$props4.model,
264
+ onChange = _this$props4.onChange;
168
265
 
169
- var _ref2 = model || {},
170
- answers = _ref2.answers;
266
+ var _ref4 = model || {},
267
+ answers = _ref4.answers;
171
268
 
172
269
  var answersKeys = Object.keys(answers || {});
173
270
  (0, _lodash.set)(model, "answers.".concat("alternate".concat(answersKeys.length)), {
@@ -176,6 +273,44 @@ var CorrectResponse = /*#__PURE__*/function (_React$Component) {
176
273
  });
177
274
  onChange(model);
178
275
  });
276
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteAlternateResponse", function (key, answer) {
277
+ var _this$props5 = _this.props,
278
+ model = _this$props5.model,
279
+ onChange = _this$props5.onChange;
280
+
281
+ var _ref5 = model || {},
282
+ answers = _ref5.answers;
283
+
284
+ var _ref6 = answer || {},
285
+ _ref6$marks = _ref6.marks,
286
+ marks = _ref6$marks === void 0 ? [] : _ref6$marks,
287
+ name = _ref6.name;
288
+
289
+ var deleteAnswer = function deleteAnswer() {
290
+ delete answers[key];
291
+ onChange(model);
292
+ };
293
+
294
+ if (marks.length) {
295
+ _this.setState({
296
+ dialog: {
297
+ open: true,
298
+ title: 'Warning',
299
+ text: "".concat(name, " includes one or more shapes and the entire response will be deleted."),
300
+ onConfirm: function onConfirm() {
301
+ return _this.handleAlertDialog(false, deleteAnswer);
302
+ },
303
+ onClose: function onClose() {
304
+ return _this.handleAlertDialog(false);
305
+ }
306
+ }
307
+ });
308
+
309
+ return;
310
+ }
311
+
312
+ deleteAnswer();
313
+ });
179
314
  return _this;
180
315
  }
181
316
 
@@ -184,48 +319,63 @@ var CorrectResponse = /*#__PURE__*/function (_React$Component) {
184
319
  value: function render() {
185
320
  var _this2 = this;
186
321
 
187
- var _this$props4 = this.props,
188
- classes = _this$props4.classes,
189
- model = _this$props4.model;
190
-
191
- var _ref3 = model || {},
192
- graph = _ref3.graph;
322
+ var _this$props6 = this.props,
323
+ classes = _this$props6.classes,
324
+ model = _this$props6.model;
325
+ var dialog = this.state.dialog;
326
+
327
+ var _ref7 = model || {},
328
+ _ref7$answers = _ref7.answers,
329
+ answers = _ref7$answers === void 0 ? {} : _ref7$answers,
330
+ arrows = _ref7.arrows,
331
+ backgroundMarks = _ref7.backgroundMarks,
332
+ coordinatesOnHover = _ref7.coordinatesOnHover,
333
+ domain = _ref7.domain,
334
+ _ref7$graph = _ref7.graph,
335
+ graph = _ref7$graph === void 0 ? {} : _ref7$graph,
336
+ labels = _ref7.labels,
337
+ range = _ref7.range,
338
+ title = _ref7.title,
339
+ toolbarTools = _ref7.toolbarTools;
193
340
 
194
- var _ref4 = model || {},
195
- answers = _ref4.answers,
196
- arrows = _ref4.arrows,
197
- backgroundMarks = _ref4.backgroundMarks,
198
- domain = _ref4.domain,
199
- labels = _ref4.labels,
200
- range = _ref4.range,
201
- title = _ref4.title,
202
- toolbarTools = _ref4.toolbarTools;
203
-
204
- graph = graph || {};
205
- var answersKeys = Object.keys(answers || {});
206
341
  return /*#__PURE__*/React.createElement("div", null, "Define Correct Response", /*#__PURE__*/React.createElement(Tools, {
207
342
  classes: classes,
208
343
  toggleToolBarTool: this.toggleToolBarTool,
209
344
  toolbarTools: toolbarTools
210
345
  }), /*#__PURE__*/React.createElement("div", {
211
346
  className: classes.container
212
- }, answersKeys.map(function (mark) {
213
- var _ref5 = answers[mark] || {},
214
- marks = _ref5.marks,
215
- name = _ref5.name;
347
+ }, Object.entries(answers || {}).map(function (_ref8) {
348
+ var _ref9 = (0, _slicedToArray2["default"])(_ref8, 2),
349
+ key = _ref9[0],
350
+ answer = _ref9[1];
351
+
352
+ var _ref10 = answer || {},
353
+ _ref10$marks = _ref10.marks,
354
+ marks = _ref10$marks === void 0 ? [] : _ref10$marks,
355
+ name = _ref10.name;
216
356
 
217
357
  return /*#__PURE__*/React.createElement("div", {
218
358
  key: "correct-response-graph-".concat(name)
219
- }, /*#__PURE__*/React.createElement("p", null, name), /*#__PURE__*/React.createElement(_graphing.GraphContainer, {
359
+ }, /*#__PURE__*/React.createElement("div", {
360
+ className: classes.responseTitle
361
+ }, /*#__PURE__*/React.createElement("p", {
362
+ className: classes.name
363
+ }, name), key !== 'correctAnswer' && /*#__PURE__*/React.createElement(_Delete["default"], {
364
+ className: classes.iconButton,
365
+ onClick: function onClick() {
366
+ return _this2.deleteAlternateResponse(key, answer);
367
+ }
368
+ })), /*#__PURE__*/React.createElement(_graphing.GraphContainer, {
220
369
  axesSettings: {
221
370
  includeArrows: arrows
222
371
  },
223
372
  backgroundMarks: backgroundMarks,
373
+ coordinatesOnHover: coordinatesOnHover,
224
374
  domain: domain,
225
375
  labels: labels,
226
376
  marks: marks,
227
377
  onChangeMarks: function onChangeMarks(newMarks) {
228
- return _this2.changeMarks(mark, newMarks);
378
+ return _this2.changeMarks(key, newMarks);
229
379
  },
230
380
  range: range,
231
381
  size: {
@@ -238,7 +388,13 @@ var CorrectResponse = /*#__PURE__*/function (_React$Component) {
238
388
  }), /*#__PURE__*/React.createElement("div", {
239
389
  className: classes.button,
240
390
  onClick: this.addAlternateResponse
241
- }, "ADD ALTERNATE")));
391
+ }, "ADD ALTERNATE")), /*#__PURE__*/React.createElement(_configUi.AlertDialog, {
392
+ open: dialog.open,
393
+ title: dialog.title,
394
+ text: dialog.text,
395
+ onClose: dialog.onClose,
396
+ onConfirm: dialog.onConfirm
397
+ }));
242
398
  }
243
399
  }]);
244
400
  return CorrectResponse;
@@ -251,6 +407,7 @@ exports.CorrectResponse = CorrectResponse;
251
407
  onChange: _propTypes["default"].func.isRequired,
252
408
  toolbarTools: _propTypes["default"].arrayOf(_propTypes["default"].String)
253
409
  });
410
+ ;
254
411
 
255
412
  var _default = (0, _styles.withStyles)(styles)(CorrectResponse);
256
413
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/correct-response.jsx"],"names":["allTools","tools","styles","theme","column","flex","graphingTools","marginTop","spacing","unit","color","availableTools","marginBottom","display","availableTool","cursor","margin","padding","textTransform","selectedTool","background","border","container","borderRadius","button","width","Tools","classes","toolbarTools","toggleToolBarTool","allToolsNoLabel","filter","tool","map","selected","find","t","toUpperCase","propTypes","PropTypes","object","isRequired","arrayOf","string","func","CorrectResponse","key","marks","props","model","onChange","index","findIndex","update","splice","changeToolbarTools","answers","answersKeys","Object","keys","length","name","graph","arrows","backgroundMarks","domain","labels","range","title","mark","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';\n\nconst { allTools } = tools;\n\nimport { set } from 'lodash';\n\nconst styles = theme => ({\n column: {\n flex: 1\n },\n graphingTools: {\n marginTop: theme.spacing.unit * 3,\n color: '#ababab'\n },\n availableTools: {\n marginTop: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit * 3,\n display: 'flex'\n },\n availableTool: {\n cursor: 'pointer',\n margin: theme.spacing.unit,\n padding: theme.spacing.unit,\n textTransform: 'capitalize'\n },\n selectedTool: {\n background: '#d8d8d8',\n border: '2px solid #ababab'\n },\n container: {\n border: '2px solid #ababab',\n borderRadius: '4px',\n padding: `${theme.spacing.unit * 2}px ${theme.spacing.unit * 4}px`,\n background: '#fafafa'\n },\n button: {\n marginTop: theme.spacing.unit * 3,\n cursor: 'pointer',\n background: '#eee',\n padding: theme.spacing.unit * 2,\n width: 'fit-content',\n borderRadius: '4px'\n }\n});\n\nexport const Tools = ({ classes, toolbarTools, toggleToolBarTool }) => {\n // label has to be placed at the end of the list\n const allToolsNoLabel = (allTools || []).filter(tool => tool !== 'label');\n\n return (\n <div className={classes.graphingTools}>\n GRAPHING TOOLS\n\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 changeMarks = (key, marks) => {\n const { model, onChange } = this.props;\n\n set(model, `answers.${key}.marks`, marks);\n onChange(model);\n };\n\n changeToolbarTools = toolbarTools => {\n const { model, onChange } = this.props;\n model.toolbarTools = toolbarTools;\n\n onChange(model);\n };\n\n toggleToolBarTool = tool => {\n const { toolbarTools } = this.props.model;\n\n const index = toolbarTools.findIndex(t => tool === t);\n\n if (index >= 0) {\n const update = [...toolbarTools];\n update.splice(index, 1);\n this.changeToolbarTools(update);\n } else {\n this.changeToolbarTools([...toolbarTools, tool]);\n }\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 render() {\n const { classes, model } = this.props;\n let { graph } = model || {};\n const { answers, arrows, backgroundMarks, domain, labels, range, title, toolbarTools } = model || {};\n graph = graph || {};\n\n const answersKeys = Object.keys(answers || {});\n\n return (\n <div>\n Define Correct Response\n <Tools\n classes={classes}\n toggleToolBarTool={this.toggleToolBarTool}\n toolbarTools={toolbarTools}\n />\n\n <div className={classes.container}>\n {answersKeys.map(mark => {\n const { marks, name } = answers[mark] || {};\n\n return (\n <div key={`correct-response-graph-${name}`}>\n <p>{name}</p>\n\n <Graph\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={backgroundMarks}\n domain={domain}\n labels={labels}\n marks={marks}\n onChangeMarks={newMarks => this.changeMarks(mark, 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 </div>\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":["allTools","tools","styles","theme","column","flex","graphingTools","margin","spacing","unit","color","availableTools","marginTop","display","availableTool","cursor","padding","border","textTransform","selectedTool","background","container","borderRadius","button","width","responseTitle","alignItems","iconButton","marginLeft","name","Tools","classes","toolbarTools","toggleToolBarTool","allToolsNoLabel","filter","tool","map","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","index","findIndex","updatedAnswers","filterMarks","splice","title","text","onConfirm","handleAlertDialog","updateModel","onClose","push","answersKeys","keys","length","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';\n\nconst { allTools } = tools;\n\nconst styles = theme => ({\n column: {\n flex: 1\n },\n graphingTools: {\n margin: `${theme.spacing.unit * 3}px 0`,\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 marginTop: theme.spacing.unit * 3,\n cursor: 'pointer',\n background: '#eee',\n padding: theme.spacing.unit * 2,\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});\n\nexport const Tools = ({ classes, toolbarTools, toggleToolBarTool }) => {\n // label has to be placed at the end of the list\n const allToolsNoLabel = (allTools || []).filter(tool => tool !== 'label');\n\n return (\n <div className={classes.graphingTools}>\n GRAPHING TOOLS\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: { toolbarTools, answers = {}}} = this.props;\n const updatedToolbarTools = [ ...toolbarTools ];\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 (!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 })),\n onClose: () => this.handleAlertDialog(false)\n }\n });\n\n return;\n }\n } else {\n updatedToolbarTools.push(tool);\n }\n\n this.updateModel({ toolbarTools: updatedToolbarTools });\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 domain,\n graph = {},\n labels,\n range,\n title,\n toolbarTools\n } = model || {};\n\n return (\n <div>\n Define Correct Response\n <Tools\n classes={classes}\n toggleToolBarTool={this.toggleToolBarTool}\n toolbarTools={toolbarTools}\n />\n\n <div className={classes.container}>\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 </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"}
@@ -9,15 +9,15 @@ var _graphing = require("@pie-lib/graphing");
9
9
 
10
10
  var _tools$allTools = _graphing.tools.allTools,
11
11
  allTools = _tools$allTools === void 0 ? [] : _tools$allTools;
12
- /**
13
- * NOTE: There's no functionality described for padding
14
- * so there's no implementation (they are only added in model)
15
- */
16
-
17
12
  var _default = {
18
13
  model: {
19
14
  answers: {},
20
- arrows: true,
15
+ arrows: {
16
+ left: true,
17
+ right: true,
18
+ up: true,
19
+ down: true
20
+ },
21
21
  backgroundMarks: [],
22
22
  domain: {
23
23
  min: -5,
@@ -30,6 +30,7 @@ var _default = {
30
30
  width: 500,
31
31
  height: 500
32
32
  },
33
+ includeAxes: true,
33
34
  labels: {},
34
35
  padding: true,
35
36
  prompt: '',
@@ -41,8 +42,10 @@ var _default = {
41
42
  axisLabel: 'y'
42
43
  },
43
44
  rationale: '',
45
+ standardGrid: false,
44
46
  title: '',
45
47
  toolbarTools: allTools,
48
+ coordinatesOnHover: false,
46
49
  promptEnabled: true,
47
50
  rationaleEnabled: true,
48
51
  teacherInstructionsEnabled: true,
@@ -55,8 +58,28 @@ var _default = {
55
58
  enabled: false
56
59
  },
57
60
  arrows: {
61
+ settings: true,
62
+ label: 'Include Arrows',
63
+ left: {
64
+ label: 'left'
65
+ },
66
+ right: {
67
+ label: 'right'
68
+ },
69
+ up: {
70
+ label: 'up'
71
+ },
72
+ down: {
73
+ label: 'down'
74
+ }
75
+ },
76
+ graphDimensions: {
58
77
  settings: false,
59
- label: 'Include arrows'
78
+ label: 'Graph Dimensions',
79
+ enabled: true,
80
+ min: 150,
81
+ max: 800,
82
+ step: 20
60
83
  },
61
84
  padding: {
62
85
  settings: false,
@@ -91,6 +114,25 @@ var _default = {
91
114
  settings: false,
92
115
  label: 'Graph Title',
93
116
  enabled: true
117
+ },
118
+ spellCheck: {
119
+ label: 'Spellcheck',
120
+ settings: false,
121
+ enabled: true
122
+ },
123
+ coordinatesOnHover: {
124
+ settings: true,
125
+ label: 'Coordinates on Hover'
126
+ },
127
+ maxImageWidth: {
128
+ teacherInstructions: 300,
129
+ prompt: 300,
130
+ rationale: 300
131
+ },
132
+ maxImageHeight: {
133
+ teacherInstructions: 300,
134
+ prompt: 300,
135
+ rationale: 300
94
136
  }
95
137
  }
96
138
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["tools","allTools","model","answers","arrows","backgroundMarks","domain","min","max","step","labelStep","axisLabel","graph","width","height","labels","padding","prompt","range","rationale","title","toolbarTools","promptEnabled","rationaleEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","authoring","settings","label","enabled","scoringType","studentInstructions","teacherInstructions"],"mappings":";;;;;;;AAAA;;sBAE0BA,e,CAAlBC,Q;IAAAA,Q,gCAAW,E;AACnB;AACA;AACA;AACA;;eAEe;AACbC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,EADJ;AAELC,IAAAA,MAAM,EAAE,IAFH;AAGLC,IAAAA,eAAe,EAAE,EAHZ;AAILC,IAAAA,MAAM,EAAE;AACNC,MAAAA,GAAG,EAAE,CAAC,CADA;AAENC,MAAAA,GAAG,EAAE,CAFC;AAGNC,MAAAA,IAAI,EAAE,CAHA;AAINC,MAAAA,SAAS,EAAE,CAJL;AAKNC,MAAAA,SAAS,EAAE;AALL,KAJH;AAWLC,IAAAA,KAAK,EAAE;AACLC,MAAAA,KAAK,EAAE,GADF;AAELC,MAAAA,MAAM,EAAE;AAFH,KAXF;AAeLC,IAAAA,MAAM,EAAE,EAfH;AAgBLC,IAAAA,OAAO,EAAE,IAhBJ;AAiBLC,IAAAA,MAAM,EAAE,EAjBH;AAkBLC,IAAAA,KAAK,EAAE;AACLX,MAAAA,GAAG,EAAE,CAAC,CADD;AAELC,MAAAA,GAAG,EAAE,CAFA;AAGLC,MAAAA,IAAI,EAAE,CAHD;AAILC,MAAAA,SAAS,EAAE,CAJN;AAKLC,MAAAA,SAAS,EAAE;AALN,KAlBF;AAyBLQ,IAAAA,SAAS,EAAE,EAzBN;AA0BLC,IAAAA,KAAK,EAAE,EA1BF;AA2BLC,IAAAA,YAAY,EAAEpB,QA3BT;AA4BLqB,IAAAA,aAAa,EAAE,IA5BV;AA6BLC,IAAAA,gBAAgB,EAAE,IA7Bb;AA8BLC,IAAAA,0BAA0B,EAAE,IA9BvB;AA+BLC,IAAAA,0BAA0B,EAAE;AA/BvB,GADM;AAkCbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,SAAS,EAAE;AACTC,MAAAA,QAAQ,EAAE,KADD;AAETC,MAAAA,KAAK,EAAE,iBAFE;AAGTC,MAAAA,OAAO,EAAE;AAHA,KADE;AAMb1B,IAAAA,MAAM,EAAE;AACNwB,MAAAA,QAAQ,EAAE,KADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KANK;AAUbb,IAAAA,OAAO,EAAE;AACPY,MAAAA,QAAQ,EAAE,KADH;AAEPC,MAAAA,KAAK,EAAE;AAFA,KAVI;AAcbd,IAAAA,MAAM,EAAE;AACNa,MAAAA,QAAQ,EAAE,KADJ;AAENC,MAAAA,KAAK,EAAE,QAFD;AAGNC,MAAAA,OAAO,EAAE;AAHH,KAdK;AAmBbb,IAAAA,MAAM,EAAE;AACNW,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KAnBK;AAuBbV,IAAAA,SAAS,EAAE;AACTS,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE;AAFE,KAvBE;AA2BbE,IAAAA,WAAW,EAAE;AACXH,MAAAA,QAAQ,EAAE,KADC;AAEXC,MAAAA,KAAK,EAAE;AAFI,KA3BA;AA+BbG,IAAAA,mBAAmB,EAAE;AACnBJ,MAAAA,QAAQ,EAAE,KADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KA/BR;AAmCbI,IAAAA,mBAAmB,EAAE;AACnBL,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAnCR;AAuCbT,IAAAA,KAAK,EAAE;AACLQ,MAAAA,QAAQ,EAAE,KADL;AAELC,MAAAA,KAAK,EAAE,aAFF;AAGLC,MAAAA,OAAO,EAAE;AAHJ;AAvCM;AAlCF,C","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: true,\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 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: false,\n label: 'Include arrows'\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 }\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","graphDimensions","scoringType","studentInstructions","teacherInstructions","spellCheck","maxImageWidth","maxImageHeight"],"mappings":";;;;;;;AAAA;;AAEA,sBAA0BA,eAA1B,CAAQC,QAAR;AAAA,IAAQA,QAAR,gCAAmB,EAAnB;eAEe;AACbC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,EADJ;AAELC,IAAAA,MAAM,EAAE;AACNC,MAAAA,IAAI,EAAE,IADA;AAENC,MAAAA,KAAK,EAAE,IAFD;AAGNC,MAAAA,EAAE,EAAE,IAHE;AAINC,MAAAA,IAAI,EAAE;AAJA,KAFH;AAQLC,IAAAA,eAAe,EAAE,EARZ;AASLC,IAAAA,MAAM,EAAE;AACNC,MAAAA,GAAG,EAAE,CAAC,CADA;AAENC,MAAAA,GAAG,EAAE,CAFC;AAGNC,MAAAA,IAAI,EAAE,CAHA;AAINC,MAAAA,SAAS,EAAE,CAJL;AAKNC,MAAAA,SAAS,EAAE;AALL,KATH;AAgBLC,IAAAA,KAAK,EAAE;AACLC,MAAAA,KAAK,EAAE,GADF;AAELC,MAAAA,MAAM,EAAE;AAFH,KAhBF;AAoBLC,IAAAA,WAAW,EAAE,IApBR;AAqBLC,IAAAA,MAAM,EAAE,EArBH;AAsBLC,IAAAA,OAAO,EAAE,IAtBJ;AAuBLC,IAAAA,MAAM,EAAE,EAvBH;AAwBLC,IAAAA,KAAK,EAAE;AACLZ,MAAAA,GAAG,EAAE,CAAC,CADD;AAELC,MAAAA,GAAG,EAAE,CAFA;AAGLC,MAAAA,IAAI,EAAE,CAHD;AAILC,MAAAA,SAAS,EAAE,CAJN;AAKLC,MAAAA,SAAS,EAAE;AALN,KAxBF;AA+BLS,IAAAA,SAAS,EAAE,EA/BN;AAgCLC,IAAAA,YAAY,EAAE,KAhCT;AAiCLC,IAAAA,KAAK,EAAE,EAjCF;AAkCLC,IAAAA,YAAY,EAAE1B,QAlCT;AAmCL2B,IAAAA,kBAAkB,EAAE,KAnCf;AAoCLC,IAAAA,aAAa,EAAE,IApCV;AAqCLC,IAAAA,gBAAgB,EAAE,IArCb;AAsCLC,IAAAA,0BAA0B,EAAE,IAtCvB;AAuCLC,IAAAA,0BAA0B,EAAE;AAvCvB,GADM;AA0CbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,SAAS,EAAE;AACTC,MAAAA,QAAQ,EAAE,KADD;AAETC,MAAAA,KAAK,EAAE,iBAFE;AAGTC,MAAAA,OAAO,EAAE;AAHA,KADE;AAMbjC,IAAAA,MAAM,EAAE;AACN+B,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE,gBAFD;AAGN/B,MAAAA,IAAI,EAAE;AACJ+B,QAAAA,KAAK,EAAE;AADH,OAHA;AAMN9B,MAAAA,KAAK,EAAE;AACL8B,QAAAA,KAAK,EAAE;AADF,OAND;AASN7B,MAAAA,EAAE,EAAE;AACF6B,QAAAA,KAAK,EAAE;AADL,OATE;AAYN5B,MAAAA,IAAI,EAAE;AACJ4B,QAAAA,KAAK,EAAE;AADH;AAZA,KANK;AAsBbE,IAAAA,eAAe,EAAE;AACfH,MAAAA,QAAQ,EAAE,KADK;AAEfC,MAAAA,KAAK,EAAE,kBAFQ;AAGfC,MAAAA,OAAO,EAAE,IAHM;AAIf1B,MAAAA,GAAG,EAAE,GAJU;AAKfC,MAAAA,GAAG,EAAE,GALU;AAMfC,MAAAA,IAAI,EAAE;AANS,KAtBJ;AA8BbQ,IAAAA,OAAO,EAAE;AACPc,MAAAA,QAAQ,EAAE,KADH;AAEPC,MAAAA,KAAK,EAAE;AAFA,KA9BI;AAkCbhB,IAAAA,MAAM,EAAE;AACNe,MAAAA,QAAQ,EAAE,KADJ;AAENC,MAAAA,KAAK,EAAE,QAFD;AAGNC,MAAAA,OAAO,EAAE;AAHH,KAlCK;AAuCbf,IAAAA,MAAM,EAAE;AACNa,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KAvCK;AA2CbZ,IAAAA,SAAS,EAAE;AACTW,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE;AAFE,KA3CE;AA+CbG,IAAAA,WAAW,EAAE;AACXJ,MAAAA,QAAQ,EAAE,KADC;AAEXC,MAAAA,KAAK,EAAE;AAFI,KA/CA;AAmDbI,IAAAA,mBAAmB,EAAE;AACnBL,MAAAA,QAAQ,EAAE,KADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAnDR;AAuDbK,IAAAA,mBAAmB,EAAE;AACnBN,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAvDR;AA2DbV,IAAAA,KAAK,EAAE;AACLS,MAAAA,QAAQ,EAAE,KADL;AAELC,MAAAA,KAAK,EAAE,aAFF;AAGLC,MAAAA,OAAO,EAAE;AAHJ,KA3DM;AAgEbK,IAAAA,UAAU,EAAE;AACVN,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAC,KAFC;AAGVE,MAAAA,OAAO,EAAC;AAHE,KAhEC;AAqEbT,IAAAA,kBAAkB,EAAE;AAClBO,MAAAA,QAAQ,EAAE,IADQ;AAElBC,MAAAA,KAAK,EAAE;AAFW,KArEP;AAyEbO,IAAAA,aAAa,EAAE;AACbF,MAAAA,mBAAmB,EAAE,GADR;AAEbnB,MAAAA,MAAM,EAAE,GAFK;AAGbE,MAAAA,SAAS,EAAE;AAHE,KAzEF;AA8EboB,IAAAA,cAAc,EAAE;AACdH,MAAAA,mBAAmB,EAAE,GADP;AAEdnB,MAAAA,MAAM,EAAE,GAFM;AAGdE,MAAAA,SAAS,EAAE;AAHG;AA9EH;AA1CF,C","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"}