@pie-element/graphing 3.5.1 → 3.5.4-next.1014

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.
@@ -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":"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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"}