@pie-lib/rubric 0.6.9-next.39 → 0.6.9-next.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/authoring.js CHANGED
@@ -1,101 +1,59 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = exports.RubricType = exports.RawAuthoring = exports.PointConfig = void 0;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
12
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
13
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
14
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
27
-
28
17
  var _react = _interopRequireDefault(require("react"));
29
-
30
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
-
32
19
  var _styles = require("@material-ui/core/styles");
33
-
34
20
  var _classnames = _interopRequireDefault(require("classnames"));
35
-
36
21
  var _OutlinedInput = _interopRequireDefault(require("@material-ui/core/OutlinedInput"));
37
-
38
22
  var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
39
-
40
23
  var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
41
-
42
24
  var _FormControl = _interopRequireDefault(require("@material-ui/core/FormControl"));
43
-
44
25
  var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
45
-
46
26
  var _times = _interopRequireDefault(require("lodash/times"));
47
-
48
27
  var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
49
-
50
28
  var _FormGroup = _interopRequireDefault(require("@material-ui/core/FormGroup"));
51
-
52
29
  var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
53
-
54
30
  var _grey = _interopRequireDefault(require("@material-ui/core/colors/grey"));
55
-
56
31
  var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
57
-
58
32
  var _DragIndicator = _interopRequireDefault(require("@material-ui/icons/DragIndicator"));
59
-
60
33
  var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
61
-
62
34
  var _reactBeautifulDnd = require("react-beautiful-dnd");
63
-
64
35
  var _debug = _interopRequireDefault(require("debug"));
65
-
66
36
  var _takeRight = _interopRequireDefault(require("lodash/takeRight"));
67
-
68
37
  var _pointMenu = _interopRequireDefault(require("./point-menu"));
69
-
70
38
  var _range = _interopRequireDefault(require("lodash/range"));
71
-
72
39
  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; }
73
-
74
40
  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; }
75
-
76
41
  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); }; }
77
-
78
42
  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; } }
79
-
80
43
  var log = (0, _debug["default"])('pie-lib:rubric:authoring');
81
-
82
44
  var reorder = function reorder(list, startIndex, endIndex) {
83
45
  var result = Array.from(list);
84
-
85
46
  var _result$splice = result.splice(startIndex, 1),
86
- _result$splice2 = (0, _slicedToArray2["default"])(_result$splice, 1),
87
- removed = _result$splice2[0];
88
-
47
+ _result$splice2 = (0, _slicedToArray2["default"])(_result$splice, 1),
48
+ removed = _result$splice2[0];
89
49
  result.splice(endIndex, 0, removed);
90
50
  return result;
91
51
  };
92
-
93
52
  var RubricType = _propTypes["default"].shape({
94
53
  excludeZero: _propTypes["default"].bool,
95
54
  points: _propTypes["default"].arrayOf(_propTypes["default"].string),
96
55
  sampleAnswers: _propTypes["default"].arrayOf(_propTypes["default"].string)
97
56
  });
98
-
99
57
  exports.RubricType = RubricType;
100
58
  var MaxPoints = (0, _styles.withStyles)(function (theme) {
101
59
  return {
@@ -106,9 +64,9 @@ var MaxPoints = (0, _styles.withStyles)(function (theme) {
106
64
  };
107
65
  })(function (props) {
108
66
  var value = props.value,
109
- _onChange = props.onChange,
110
- max = props.max,
111
- classes = props.classes;
67
+ _onChange = props.onChange,
68
+ max = props.max,
69
+ classes = props.classes;
112
70
  return /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
113
71
  className: classes.formControl,
114
72
  variant: "outlined"
@@ -129,13 +87,13 @@ var MaxPoints = (0, _styles.withStyles)(function (theme) {
129
87
  value: v
130
88
  }, v);
131
89
  })));
132
- }); // if the value is null or 'null', the Sample Answer input field for that point will not be dispalyed
133
- // if the value is '', the Sample Answer input field will be empty
90
+ });
134
91
 
92
+ // if the value is null or 'null', the Sample Answer input field for that point will not be dispalyed
93
+ // if the value is '', the Sample Answer input field will be empty
135
94
  var checkSampleAnswer = function checkSampleAnswer(sampleAnswer) {
136
95
  return sampleAnswer === null || sampleAnswer === 'null';
137
96
  };
138
-
139
97
  var PointConfig = (0, _styles.withStyles)(function (theme) {
140
98
  return {
141
99
  pointConfig: {},
@@ -167,9 +125,9 @@ var PointConfig = (0, _styles.withStyles)(function (theme) {
167
125
  };
168
126
  })(function (props) {
169
127
  var points = props.points,
170
- content = props.content,
171
- classes = props.classes,
172
- sampleAnswer = props.sampleAnswer;
128
+ content = props.content,
129
+ classes = props.classes,
130
+ sampleAnswer = props.sampleAnswer;
173
131
  var pointsLabel = "".concat(points, " ").concat(points <= 1 ? 'pt' : 'pts');
174
132
  var showSampleAnswer = checkSampleAnswer(sampleAnswer);
175
133
  return /*#__PURE__*/_react["default"].createElement("div", {
@@ -203,30 +161,23 @@ var PointConfig = (0, _styles.withStyles)(function (theme) {
203
161
  })));
204
162
  });
205
163
  exports.PointConfig = PointConfig;
206
-
207
164
  var RawAuthoring = /*#__PURE__*/function (_React$Component) {
208
165
  (0, _inherits2["default"])(RawAuthoring, _React$Component);
209
-
210
166
  var _super = _createSuper(RawAuthoring);
211
-
212
167
  function RawAuthoring() {
213
168
  var _this;
214
-
215
169
  (0, _classCallCheck2["default"])(this, RawAuthoring);
216
-
217
170
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
218
171
  args[_key] = arguments[_key];
219
172
  }
220
-
221
173
  _this = _super.call.apply(_super, [this].concat(args));
222
174
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragEnd", function (result) {
223
175
  if (!result.destination) {
224
176
  return;
225
177
  }
226
-
227
178
  var _this$props = _this.props,
228
- value = _this$props.value,
229
- onChange = _this$props.onChange;
179
+ value = _this$props.value,
180
+ onChange = _this$props.onChange;
230
181
  var points = reorder(value.points, result.source.index, result.destination.index);
231
182
  var sampleAnswers = reorder(value.sampleAnswers, result.source.index, result.destination.index);
232
183
  onChange(_objectSpread(_objectSpread({}, value), {}, {
@@ -236,12 +187,11 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
236
187
  });
237
188
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMaxPoints", function (maxPoints) {
238
189
  var _this$props2 = _this.props,
239
- value = _this$props2.value,
240
- onChange = _this$props2.onChange;
190
+ value = _this$props2.value,
191
+ onChange = _this$props2.onChange;
241
192
  var currentMax = value.points.length - 1;
242
193
  log('current', currentMax, 'new: ', maxPoints);
243
194
  var points, sampleAnswers;
244
-
245
195
  if (maxPoints > currentMax) {
246
196
  points = (0, _times["default"])(maxPoints - currentMax).map(function () {
247
197
  return '';
@@ -250,13 +200,11 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
250
200
  return null;
251
201
  }).concat(value.sampleAnswers);
252
202
  }
253
-
254
203
  if (maxPoints < currentMax) {
255
204
  log('less than');
256
205
  points = (0, _takeRight["default"])(value.points, maxPoints + 1);
257
206
  sampleAnswers = (0, _takeRight["default"])(value.sampleAnswers, maxPoints + 1);
258
207
  }
259
-
260
208
  if (points) {
261
209
  onChange(_objectSpread(_objectSpread({}, value), {}, {
262
210
  points: points,
@@ -267,14 +215,12 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
267
215
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeContent", function (index, content, type) {
268
216
  // type could be 'points' or 'sampleAnswers'
269
217
  log("changeModel[".concat(type, "]:"), index, content);
270
-
271
218
  if (type !== 'points' && type !== 'sampleAnswers') {
272
219
  return;
273
220
  }
274
-
275
221
  var _this$props3 = _this.props,
276
- value = _this$props3.value,
277
- onChange = _this$props3.onChange;
222
+ value = _this$props3.value,
223
+ onChange = _this$props3.onChange;
278
224
  var items = value[type] && Array.from(value[type]);
279
225
  items.splice(index, 1, content);
280
226
  log("changeModel[".concat(type, "]:"), items);
@@ -282,8 +228,8 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
282
228
  });
283
229
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "excludeZeros", function () {
284
230
  var _this$props4 = _this.props,
285
- value = _this$props4.value,
286
- onChange = _this$props4.onChange;
231
+ value = _this$props4.value,
232
+ onChange = _this$props4.onChange;
287
233
  onChange(_objectSpread(_objectSpread({}, value), {}, {
288
234
  excludeZero: !value.excludeZero
289
235
  }));
@@ -297,7 +243,6 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
297
243
  } else if (index === value.points.length - 1) {
298
244
  return false;
299
245
  }
300
-
301
246
  return true;
302
247
  }
303
248
  });
@@ -305,7 +250,6 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
305
250
  if (clickedItem === 'sample') {
306
251
  var value = _this.props.value;
307
252
  var sampleAnswers = Array.from(value.sampleAnswers || []);
308
-
309
253
  if (checkSampleAnswer(sampleAnswers[index])) {
310
254
  // an empty string will display an empty Sample Answer input field
311
255
  _this.changeContent(index, '', 'sampleAnswers');
@@ -317,28 +261,23 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
317
261
  });
318
262
  return _this;
319
263
  }
320
-
321
264
  (0, _createClass2["default"])(RawAuthoring, [{
322
265
  key: "render",
323
266
  value: function render() {
324
267
  var _this2 = this;
325
-
326
268
  var _this$props5 = this.props,
327
- classes = _this$props5.classes,
328
- className = _this$props5.className,
329
- value = _this$props5.value;
330
-
269
+ classes = _this$props5.classes,
270
+ className = _this$props5.className,
271
+ value = _this$props5.value;
331
272
  var _ref = value || {},
332
- _ref$excludeZeroEnabl = _ref.excludeZeroEnabled,
333
- excludeZeroEnabled = _ref$excludeZeroEnabl === void 0 ? true : _ref$excludeZeroEnabl,
334
- _ref$maxPointsEnabled = _ref.maxPointsEnabled,
335
- maxPointsEnabled = _ref$maxPointsEnabled === void 0 ? true : _ref$maxPointsEnabled;
336
-
273
+ _ref$excludeZeroEnabl = _ref.excludeZeroEnabled,
274
+ excludeZeroEnabled = _ref$excludeZeroEnabl === void 0 ? true : _ref$excludeZeroEnabl,
275
+ _ref$maxPointsEnabled = _ref.maxPointsEnabled,
276
+ maxPointsEnabled = _ref$maxPointsEnabled === void 0 ? true : _ref$maxPointsEnabled;
337
277
  if (value && Number.isFinite(value.maxPoints)) {
338
278
  // eslint-disable-next-line no-console
339
279
  console.warn('maxPoints is deprecated - remove from model');
340
280
  }
341
-
342
281
  return /*#__PURE__*/_react["default"].createElement("div", {
343
282
  className: (0, _classnames["default"])(classes["class"], className)
344
283
  }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
@@ -395,7 +334,6 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
395
334
  }]);
396
335
  return RawAuthoring;
397
336
  }(_react["default"].Component);
398
-
399
337
  exports.RawAuthoring = RawAuthoring;
400
338
  (0, _defineProperty2["default"])(RawAuthoring, "propTypes", {
401
339
  classes: _propTypes["default"].object.isRequired,
@@ -404,7 +342,6 @@ exports.RawAuthoring = RawAuthoring;
404
342
  onChange: _propTypes["default"].func
405
343
  });
406
344
  (0, _defineProperty2["default"])(RawAuthoring, "defaultProps", {});
407
-
408
345
  var styles = function styles(theme) {
409
346
  return {
410
347
  container: {
@@ -425,37 +362,30 @@ var styles = function styles(theme) {
425
362
  }
426
363
  };
427
364
  };
428
-
429
365
  var StyledRawAuthoring = (0, _styles.withStyles)(styles)(RawAuthoring);
430
-
431
366
  var Reverse = function Reverse(props) {
432
367
  var points = Array.from(props.value.points || []).reverse();
433
368
  var sampleAnswers = Array.from(props.value.sampleAnswers || []).reverse();
434
-
435
369
  if (points.length > sampleAnswers.length) {
436
370
  sampleAnswers = (0, _times["default"])(points.length - sampleAnswers.length).map(function () {
437
371
  return null;
438
372
  }).concat(sampleAnswers);
439
373
  }
440
-
441
374
  var value = _objectSpread(_objectSpread({}, props.value), {}, {
442
375
  points: points,
443
376
  sampleAnswers: sampleAnswers
444
377
  });
445
-
446
378
  var onChange = function onChange(value) {
447
379
  props.onChange(_objectSpread(_objectSpread({}, value), {}, {
448
380
  points: Array.from(value.points || []).reverse(),
449
381
  sampleAnswers: Array.from(value.sampleAnswers || []).reverse()
450
382
  }));
451
383
  };
452
-
453
384
  return /*#__PURE__*/_react["default"].createElement(StyledRawAuthoring, {
454
385
  value: value,
455
386
  onChange: onChange
456
387
  });
457
388
  };
458
-
459
389
  Reverse.propTypes = {
460
390
  value: RubricType,
461
391
  getIndex: _propTypes["default"].func,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/authoring.jsx"],"names":["log","reorder","list","startIndex","endIndex","result","Array","from","splice","removed","RubricType","PropTypes","shape","excludeZero","bool","points","arrayOf","string","sampleAnswers","MaxPoints","theme","formControl","minWidth","margin","spacing","unit","props","value","onChange","max","classes","e","target","map","v","checkSampleAnswer","sampleAnswer","PointConfig","pointConfig","row","display","width","position","editor","backgroundColor","dragIndicator","paddingTop","color","grey","pointsLabel","paddingBottom","textTransform","sampleAnswersEditor","paddingLeft","pointMenu","right","content","showSampleAnswer","icon","onMenuChange","onSampleChange","RawAuthoring","destination","source","index","maxPoints","currentMax","length","concat","type","items","clickedItem","changeContent","className","excludeZeroEnabled","maxPointsEnabled","Number","isFinite","console","warn","rubricTitle","changeMaxPoints","excludeZeros","container","dragEnd","provided","droppableProps","innerRef","p","shouldRenderPoint","toString","configHolder","draggableProps","dragHandleProps","onPointMenuChange","placeholder","React","Component","object","isRequired","func","styles","borderWidth","borderStyle","borderColor","padding","StyledRawAuthoring","Reverse","reverse","propTypes","getIndex"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport FormControl from '@material-ui/core/FormControl';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport times from 'lodash/times';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport FormGroup from '@material-ui/core/FormGroup';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport grey from '@material-ui/core/colors/grey';\nimport Typography from '@material-ui/core/Typography';\nimport DragIndicator from '@material-ui/icons/DragIndicator';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';\nimport debug from 'debug';\nimport takeRight from 'lodash/takeRight';\nimport PointMenu from './point-menu';\n\nimport range from 'lodash/range';\nconst log = debug('pie-lib:rubric:authoring');\n\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n\nexport const RubricType = PropTypes.shape({\n excludeZero: PropTypes.bool,\n points: PropTypes.arrayOf(PropTypes.string),\n sampleAnswers: PropTypes.arrayOf(PropTypes.string),\n});\n\nconst MaxPoints = withStyles((theme) => ({\n formControl: {\n minWidth: '120px',\n margin: theme.spacing.unit,\n },\n}))((props) => {\n const { value, onChange, max, classes } = props;\n\n return (\n <FormControl className={classes.formControl} variant=\"outlined\">\n <InputLabel width={100} htmlFor=\"...\">\n Max Points\n </InputLabel>\n <Select value={value} onChange={(e) => onChange(e.target.value)} input={<OutlinedInput labelWidth={80} />}>\n {range(1, max).map((v) => (\n <MenuItem key={`${v}`} value={v}>\n {v}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n});\n\n// if the value is null or 'null', the Sample Answer input field for that point will not be dispalyed\n// if the value is '', the Sample Answer input field will be empty\nconst checkSampleAnswer = (sampleAnswer) => sampleAnswer === null || sampleAnswer === 'null';\n\nexport const PointConfig = withStyles((theme) => ({\n pointConfig: {},\n row: {\n display: 'flex',\n width: '100%',\n position: 'relative',\n },\n editor: {\n width: '100%',\n backgroundColor: 'white !important',\n },\n dragIndicator: {\n paddingTop: theme.spacing.unit,\n color: grey[500],\n },\n pointsLabel: {\n color: grey[500],\n paddingBottom: theme.spacing.unit,\n textTransform: 'uppercase',\n },\n sampleAnswersEditor: {\n paddingLeft: theme.spacing.unit * 3,\n },\n pointMenu: {\n position: 'absolute',\n right: 0,\n },\n}))((props) => {\n const { points, content, classes, sampleAnswer } = props;\n const pointsLabel = `${points} ${points <= 1 ? 'pt' : 'pts'}`;\n const showSampleAnswer = checkSampleAnswer(sampleAnswer);\n\n return (\n <div className={classes.pointConfig}>\n <Typography variant=\"overline\" className={classes.pointsLabel}>\n {pointsLabel}\n </Typography>\n <div className={classes.row}>\n <DragIndicator className={classes.dragIndicator} />\n <EditableHtml className={classes.editor} markup={content} onChange={props.onChange} />\n <PointMenu\n classes={{\n icon: classes.pointMenu,\n }}\n showSampleAnswer={showSampleAnswer}\n onChange={props.onMenuChange}\n />\n </div>\n {!showSampleAnswer && (\n <div className={classes.sampleAnswersEditor}>\n <Typography variant=\"overline\" className={classes.dragIndicator}>\n Sample Response\n </Typography>\n <EditableHtml className={classes.editor} markup={sampleAnswer} onChange={props.onSampleChange} />\n </div>\n )}\n </div>\n );\n});\n\nexport class RawAuthoring extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n value: RubricType,\n onChange: PropTypes.func,\n };\n\n static defaultProps = {};\n\n dragEnd = (result) => {\n if (!result.destination) {\n return;\n }\n\n const { value, onChange } = this.props;\n\n const points = reorder(value.points, result.source.index, result.destination.index);\n const sampleAnswers = reorder(value.sampleAnswers, result.source.index, result.destination.index);\n\n onChange({ ...value, points, sampleAnswers });\n };\n\n changeMaxPoints = (maxPoints) => {\n const { value, onChange } = this.props;\n const currentMax = value.points.length - 1;\n\n log('current', currentMax, 'new: ', maxPoints);\n\n let points, sampleAnswers;\n if (maxPoints > currentMax) {\n points = times(maxPoints - currentMax)\n .map(() => '')\n .concat(value.points);\n sampleAnswers = times(maxPoints - currentMax)\n .map(() => null)\n .concat(value.sampleAnswers);\n }\n\n if (maxPoints < currentMax) {\n log('less than');\n points = takeRight(value.points, maxPoints + 1);\n sampleAnswers = takeRight(value.sampleAnswers, maxPoints + 1);\n }\n\n if (points) {\n onChange({ ...value, points, sampleAnswers });\n }\n };\n\n changeContent = (index, content, type) => {\n // type could be 'points' or 'sampleAnswers'\n log(`changeModel[${type}]:`, index, content);\n\n if (type !== 'points' && type !== 'sampleAnswers') {\n return;\n }\n\n const { value, onChange } = this.props;\n const items = value[type] && Array.from(value[type]);\n\n items.splice(index, 1, content);\n log(`changeModel[${type}]:`, items);\n\n onChange({ ...value, [type]: items });\n };\n\n excludeZeros = () => {\n const { value, onChange } = this.props;\n\n onChange({ ...value, excludeZero: !value.excludeZero });\n };\n\n shouldRenderPoint = (index, value) => {\n if (!value.excludeZero) {\n return true;\n } else {\n if (index < value.points.length - 1) {\n return true;\n } else if (index === value.points.length - 1) {\n return false;\n }\n\n return true;\n }\n };\n\n onPointMenuChange = (index, clickedItem) => {\n if (clickedItem === 'sample') {\n const { value } = this.props;\n const sampleAnswers = Array.from(value.sampleAnswers || []);\n\n if (checkSampleAnswer(sampleAnswers[index])) {\n // an empty string will display an empty Sample Answer input field\n this.changeContent(index, '', 'sampleAnswers');\n } else {\n // when the content is null or 'null', the Sample Answer input field will not be displayed\n this.changeContent(index, null, 'sampleAnswers');\n }\n }\n };\n\n render() {\n const { classes, className, value } = this.props;\n let { excludeZeroEnabled = true, maxPointsEnabled = true } = value || {};\n\n if (value && Number.isFinite(value.maxPoints)) {\n // eslint-disable-next-line no-console\n console.warn('maxPoints is deprecated - remove from model');\n }\n\n return (\n <div className={classNames(classes.class, className)}>\n <Typography variant=\"h5\" className={classes.rubricTitle}>\n Rubric\n </Typography>\n <FormGroup row>\n {maxPointsEnabled && <MaxPoints max={10} value={value.points.length - 1} onChange={this.changeMaxPoints} />}\n {excludeZeroEnabled && (\n <FormControlLabel\n label=\"Exclude zeros\"\n control={<Checkbox checked={value.excludeZero} onChange={this.excludeZeros} />}\n />\n )}\n </FormGroup>\n <div className={classes.container}>\n <DragDropContext onDragEnd={this.dragEnd}>\n <Droppable droppableId=\"droppable\">\n {(provided) => (\n <div {...provided.droppableProps} ref={provided.innerRef}>\n {value.points.map(\n (p, index) =>\n this.shouldRenderPoint(index, value) && (\n <Draggable key={`${p.points}-${index}`} index={index} draggableId={index.toString()}>\n {(provided) => (\n <div\n className={classes.configHolder}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n >\n <PointConfig\n points={value.points.length - 1 - index}\n content={p}\n sampleAnswer={value.sampleAnswers && value.sampleAnswers[index]}\n onChange={(content) => this.changeContent(index, content, 'points')}\n onSampleChange={(content) => this.changeContent(index, content, 'sampleAnswers')}\n onMenuChange={(clickedItem) => this.onPointMenuChange(index, clickedItem)}\n />\n </div>\n )}\n </Draggable>\n ),\n )}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n container: {\n backgroundColor: grey[200],\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: grey[300],\n padding: theme.spacing.unit * 2,\n margin: theme.spacing.unit,\n },\n configHolder: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n },\n rubricTitle: {\n paddingLeft: theme.spacing.unit,\n margin: theme.spacing.unit,\n },\n});\n\nconst StyledRawAuthoring = withStyles(styles)(RawAuthoring);\n\nconst Reverse = (props) => {\n const points = Array.from(props.value.points || []).reverse();\n let sampleAnswers = Array.from(props.value.sampleAnswers || []).reverse();\n\n if (points.length > sampleAnswers.length) {\n sampleAnswers = times(points.length - sampleAnswers.length)\n .map(() => null)\n .concat(sampleAnswers);\n }\n\n const value = { ...props.value, points, sampleAnswers };\n\n const onChange = (value) => {\n props.onChange({\n ...value,\n points: Array.from(value.points || []).reverse(),\n sampleAnswers: Array.from(value.sampleAnswers || []).reverse(),\n });\n };\n\n return <StyledRawAuthoring value={value} onChange={onChange} />;\n};\n\nReverse.propTypes = {\n value: RubricType,\n getIndex: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default Reverse;\n"],"file":"authoring.js"}
1
+ {"version":3,"file":"authoring.js","names":["log","debug","reorder","list","startIndex","endIndex","result","Array","from","splice","removed","RubricType","PropTypes","shape","excludeZero","bool","points","arrayOf","string","sampleAnswers","MaxPoints","withStyles","theme","formControl","minWidth","margin","spacing","unit","props","value","onChange","max","classes","e","target","range","map","v","checkSampleAnswer","sampleAnswer","PointConfig","pointConfig","row","display","width","position","editor","backgroundColor","dragIndicator","paddingTop","color","grey","pointsLabel","paddingBottom","textTransform","sampleAnswersEditor","paddingLeft","pointMenu","right","content","showSampleAnswer","icon","onMenuChange","onSampleChange","RawAuthoring","destination","source","index","maxPoints","currentMax","length","times","concat","takeRight","type","items","clickedItem","changeContent","className","excludeZeroEnabled","maxPointsEnabled","Number","isFinite","console","warn","classNames","rubricTitle","changeMaxPoints","excludeZeros","container","dragEnd","provided","droppableProps","innerRef","p","shouldRenderPoint","toString","configHolder","draggableProps","dragHandleProps","onPointMenuChange","placeholder","React","Component","object","isRequired","func","styles","borderWidth","borderStyle","borderColor","padding","StyledRawAuthoring","Reverse","reverse","propTypes","getIndex"],"sources":["../src/authoring.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport FormControl from '@material-ui/core/FormControl';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport times from 'lodash/times';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport FormGroup from '@material-ui/core/FormGroup';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport grey from '@material-ui/core/colors/grey';\nimport Typography from '@material-ui/core/Typography';\nimport DragIndicator from '@material-ui/icons/DragIndicator';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';\nimport debug from 'debug';\nimport takeRight from 'lodash/takeRight';\nimport PointMenu from './point-menu';\n\nimport range from 'lodash/range';\nconst log = debug('pie-lib:rubric:authoring');\n\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n\nexport const RubricType = PropTypes.shape({\n excludeZero: PropTypes.bool,\n points: PropTypes.arrayOf(PropTypes.string),\n sampleAnswers: PropTypes.arrayOf(PropTypes.string),\n});\n\nconst MaxPoints = withStyles((theme) => ({\n formControl: {\n minWidth: '120px',\n margin: theme.spacing.unit,\n },\n}))((props) => {\n const { value, onChange, max, classes } = props;\n\n return (\n <FormControl className={classes.formControl} variant=\"outlined\">\n <InputLabel width={100} htmlFor=\"...\">\n Max Points\n </InputLabel>\n <Select value={value} onChange={(e) => onChange(e.target.value)} input={<OutlinedInput labelWidth={80} />}>\n {range(1, max).map((v) => (\n <MenuItem key={`${v}`} value={v}>\n {v}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n});\n\n// if the value is null or 'null', the Sample Answer input field for that point will not be dispalyed\n// if the value is '', the Sample Answer input field will be empty\nconst checkSampleAnswer = (sampleAnswer) => sampleAnswer === null || sampleAnswer === 'null';\n\nexport const PointConfig = withStyles((theme) => ({\n pointConfig: {},\n row: {\n display: 'flex',\n width: '100%',\n position: 'relative',\n },\n editor: {\n width: '100%',\n backgroundColor: 'white !important',\n },\n dragIndicator: {\n paddingTop: theme.spacing.unit,\n color: grey[500],\n },\n pointsLabel: {\n color: grey[500],\n paddingBottom: theme.spacing.unit,\n textTransform: 'uppercase',\n },\n sampleAnswersEditor: {\n paddingLeft: theme.spacing.unit * 3,\n },\n pointMenu: {\n position: 'absolute',\n right: 0,\n },\n}))((props) => {\n const { points, content, classes, sampleAnswer } = props;\n const pointsLabel = `${points} ${points <= 1 ? 'pt' : 'pts'}`;\n const showSampleAnswer = checkSampleAnswer(sampleAnswer);\n\n return (\n <div className={classes.pointConfig}>\n <Typography variant=\"overline\" className={classes.pointsLabel}>\n {pointsLabel}\n </Typography>\n <div className={classes.row}>\n <DragIndicator className={classes.dragIndicator} />\n <EditableHtml className={classes.editor} markup={content} onChange={props.onChange} />\n <PointMenu\n classes={{\n icon: classes.pointMenu,\n }}\n showSampleAnswer={showSampleAnswer}\n onChange={props.onMenuChange}\n />\n </div>\n {!showSampleAnswer && (\n <div className={classes.sampleAnswersEditor}>\n <Typography variant=\"overline\" className={classes.dragIndicator}>\n Sample Response\n </Typography>\n <EditableHtml className={classes.editor} markup={sampleAnswer} onChange={props.onSampleChange} />\n </div>\n )}\n </div>\n );\n});\n\nexport class RawAuthoring extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n value: RubricType,\n onChange: PropTypes.func,\n };\n\n static defaultProps = {};\n\n dragEnd = (result) => {\n if (!result.destination) {\n return;\n }\n\n const { value, onChange } = this.props;\n\n const points = reorder(value.points, result.source.index, result.destination.index);\n const sampleAnswers = reorder(value.sampleAnswers, result.source.index, result.destination.index);\n\n onChange({ ...value, points, sampleAnswers });\n };\n\n changeMaxPoints = (maxPoints) => {\n const { value, onChange } = this.props;\n const currentMax = value.points.length - 1;\n\n log('current', currentMax, 'new: ', maxPoints);\n\n let points, sampleAnswers;\n if (maxPoints > currentMax) {\n points = times(maxPoints - currentMax)\n .map(() => '')\n .concat(value.points);\n sampleAnswers = times(maxPoints - currentMax)\n .map(() => null)\n .concat(value.sampleAnswers);\n }\n\n if (maxPoints < currentMax) {\n log('less than');\n points = takeRight(value.points, maxPoints + 1);\n sampleAnswers = takeRight(value.sampleAnswers, maxPoints + 1);\n }\n\n if (points) {\n onChange({ ...value, points, sampleAnswers });\n }\n };\n\n changeContent = (index, content, type) => {\n // type could be 'points' or 'sampleAnswers'\n log(`changeModel[${type}]:`, index, content);\n\n if (type !== 'points' && type !== 'sampleAnswers') {\n return;\n }\n\n const { value, onChange } = this.props;\n const items = value[type] && Array.from(value[type]);\n\n items.splice(index, 1, content);\n log(`changeModel[${type}]:`, items);\n\n onChange({ ...value, [type]: items });\n };\n\n excludeZeros = () => {\n const { value, onChange } = this.props;\n\n onChange({ ...value, excludeZero: !value.excludeZero });\n };\n\n shouldRenderPoint = (index, value) => {\n if (!value.excludeZero) {\n return true;\n } else {\n if (index < value.points.length - 1) {\n return true;\n } else if (index === value.points.length - 1) {\n return false;\n }\n\n return true;\n }\n };\n\n onPointMenuChange = (index, clickedItem) => {\n if (clickedItem === 'sample') {\n const { value } = this.props;\n const sampleAnswers = Array.from(value.sampleAnswers || []);\n\n if (checkSampleAnswer(sampleAnswers[index])) {\n // an empty string will display an empty Sample Answer input field\n this.changeContent(index, '', 'sampleAnswers');\n } else {\n // when the content is null or 'null', the Sample Answer input field will not be displayed\n this.changeContent(index, null, 'sampleAnswers');\n }\n }\n };\n\n render() {\n const { classes, className, value } = this.props;\n let { excludeZeroEnabled = true, maxPointsEnabled = true } = value || {};\n\n if (value && Number.isFinite(value.maxPoints)) {\n // eslint-disable-next-line no-console\n console.warn('maxPoints is deprecated - remove from model');\n }\n\n return (\n <div className={classNames(classes.class, className)}>\n <Typography variant=\"h5\" className={classes.rubricTitle}>\n Rubric\n </Typography>\n <FormGroup row>\n {maxPointsEnabled && <MaxPoints max={10} value={value.points.length - 1} onChange={this.changeMaxPoints} />}\n {excludeZeroEnabled && (\n <FormControlLabel\n label=\"Exclude zeros\"\n control={<Checkbox checked={value.excludeZero} onChange={this.excludeZeros} />}\n />\n )}\n </FormGroup>\n <div className={classes.container}>\n <DragDropContext onDragEnd={this.dragEnd}>\n <Droppable droppableId=\"droppable\">\n {(provided) => (\n <div {...provided.droppableProps} ref={provided.innerRef}>\n {value.points.map(\n (p, index) =>\n this.shouldRenderPoint(index, value) && (\n <Draggable key={`${p.points}-${index}`} index={index} draggableId={index.toString()}>\n {(provided) => (\n <div\n className={classes.configHolder}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n >\n <PointConfig\n points={value.points.length - 1 - index}\n content={p}\n sampleAnswer={value.sampleAnswers && value.sampleAnswers[index]}\n onChange={(content) => this.changeContent(index, content, 'points')}\n onSampleChange={(content) => this.changeContent(index, content, 'sampleAnswers')}\n onMenuChange={(clickedItem) => this.onPointMenuChange(index, clickedItem)}\n />\n </div>\n )}\n </Draggable>\n ),\n )}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n container: {\n backgroundColor: grey[200],\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: grey[300],\n padding: theme.spacing.unit * 2,\n margin: theme.spacing.unit,\n },\n configHolder: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n },\n rubricTitle: {\n paddingLeft: theme.spacing.unit,\n margin: theme.spacing.unit,\n },\n});\n\nconst StyledRawAuthoring = withStyles(styles)(RawAuthoring);\n\nconst Reverse = (props) => {\n const points = Array.from(props.value.points || []).reverse();\n let sampleAnswers = Array.from(props.value.sampleAnswers || []).reverse();\n\n if (points.length > sampleAnswers.length) {\n sampleAnswers = times(points.length - sampleAnswers.length)\n .map(() => null)\n .concat(sampleAnswers);\n }\n\n const value = { ...props.value, points, sampleAnswers };\n\n const onChange = (value) => {\n props.onChange({\n ...value,\n points: Array.from(value.points || []).reverse(),\n sampleAnswers: Array.from(value.sampleAnswers || []).reverse(),\n });\n };\n\n return <StyledRawAuthoring value={value} onChange={onChange} />;\n};\n\nReverse.propTypes = {\n value: RubricType,\n getIndex: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default Reverse;\n"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -12,9 +11,7 @@ Object.defineProperty(exports, "Authoring", {
12
11
  }
13
12
  });
14
13
  exports.RUBRIC_TYPES = void 0;
15
-
16
14
  var _authoring = _interopRequireDefault(require("./authoring"));
17
-
18
15
  var RUBRIC_TYPES = {
19
16
  SIMPLE_RUBRIC: 'simpleRubric',
20
17
  MULTI_TRAIT_RUBRIC: 'multiTraitRubric'
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["RUBRIC_TYPES","SIMPLE_RUBRIC","MULTI_TRAIT_RUBRIC"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,YAAY,GAAG;AACnBC,EAAAA,aAAa,EAAE,cADI;AAEnBC,EAAAA,kBAAkB,EAAE;AAFD,CAArB","sourcesContent":["import Authoring from './authoring';\n\nconst RUBRIC_TYPES = {\n SIMPLE_RUBRIC: 'simpleRubric',\n MULTI_TRAIT_RUBRIC: 'multiTraitRubric',\n};\n\nexport { Authoring, RUBRIC_TYPES };\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["RUBRIC_TYPES","SIMPLE_RUBRIC","MULTI_TRAIT_RUBRIC"],"sources":["../src/index.js"],"sourcesContent":["import Authoring from './authoring';\n\nconst RUBRIC_TYPES = {\n SIMPLE_RUBRIC: 'simpleRubric',\n MULTI_TRAIT_RUBRIC: 'multiTraitRubric',\n};\n\nexport { Authoring, RUBRIC_TYPES };\n"],"mappings":";;;;;;;;;;;;;AAAA;AAEA,IAAMA,YAAY,GAAG;EACnBC,aAAa,EAAE,cAAc;EAC7BC,kBAAkB,EAAE;AACtB,CAAC;AAAC"}
package/lib/point-menu.js CHANGED
@@ -1,52 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = exports.IconMenu = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
10
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
15
  var _Menu = _interopRequireDefault(require("@material-ui/core/Menu"));
25
-
26
16
  var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
27
-
28
17
  var _MoreVert = _interopRequireDefault(require("@material-ui/icons/MoreVert"));
29
-
30
18
  var _MoreHoriz = _interopRequireDefault(require("@material-ui/icons/MoreHoriz"));
31
-
32
19
  var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
33
-
34
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
35
-
36
21
  var _react = _interopRequireDefault(require("react"));
37
-
38
22
  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); }; }
39
-
40
23
  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; } }
41
-
42
24
  var IconMenu = /*#__PURE__*/function (_React$Component) {
43
25
  (0, _inherits2["default"])(IconMenu, _React$Component);
44
-
45
26
  var _super = _createSuper(IconMenu);
46
-
47
27
  function IconMenu(props) {
48
28
  var _this;
49
-
50
29
  (0, _classCallCheck2["default"])(this, IconMenu);
51
30
  _this = _super.call(this, props);
52
31
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClick", function (event) {
@@ -66,29 +45,24 @@ var IconMenu = /*#__PURE__*/function (_React$Component) {
66
45
  };
67
46
  return _this;
68
47
  }
69
-
70
48
  (0, _createClass2["default"])(IconMenu, [{
71
49
  key: "render",
72
50
  value: function render() {
73
51
  var _this2 = this;
74
-
75
52
  var _this$props = this.props,
76
- opts = _this$props.opts,
77
- onClick = _this$props.onClick,
78
- classes = _this$props.classes;
53
+ opts = _this$props.opts,
54
+ onClick = _this$props.onClick,
55
+ classes = _this$props.classes;
79
56
  var _this$state = this.state,
80
- open = _this$state.open,
81
- anchorEl = _this$state.anchorEl;
57
+ open = _this$state.open,
58
+ anchorEl = _this$state.anchorEl;
82
59
  var keys = Object.keys(opts) || [];
83
-
84
60
  var handleMenuClick = function handleMenuClick(key) {
85
61
  return function () {
86
62
  onClick(key);
87
-
88
63
  _this2.handleRequestClose();
89
64
  };
90
65
  };
91
-
92
66
  var iconColor = open ? 'inherit' : 'disabled';
93
67
  return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
94
68
  onClick: this.handleClick
@@ -120,31 +94,26 @@ var IconMenu = /*#__PURE__*/function (_React$Component) {
120
94
  }]);
121
95
  return IconMenu;
122
96
  }(_react["default"].Component);
123
-
124
97
  exports.IconMenu = IconMenu;
125
98
  (0, _defineProperty2["default"])(IconMenu, "propTypes", {
126
99
  opts: _propTypes["default"].object,
127
100
  onClick: _propTypes["default"].func.isRequired,
128
101
  classes: _propTypes["default"].object.isRequired
129
102
  });
130
-
131
103
  var PointMenu = /*#__PURE__*/function (_React$Component2) {
132
104
  (0, _inherits2["default"])(PointMenu, _React$Component2);
133
-
134
105
  var _super2 = _createSuper(PointMenu);
135
-
136
106
  function PointMenu() {
137
107
  (0, _classCallCheck2["default"])(this, PointMenu);
138
108
  return _super2.apply(this, arguments);
139
109
  }
140
-
141
110
  (0, _createClass2["default"])(PointMenu, [{
142
111
  key: "render",
143
112
  value: function render() {
144
113
  var _this$props2 = this.props,
145
- onChange = _this$props2.onChange,
146
- classes = _this$props2.classes,
147
- showSampleAnswer = _this$props2.showSampleAnswer;
114
+ onChange = _this$props2.onChange,
115
+ classes = _this$props2.classes,
116
+ showSampleAnswer = _this$props2.showSampleAnswer;
148
117
  var sampleText = showSampleAnswer ? 'Provide Sample Response' : 'Remove Sample Response';
149
118
  return /*#__PURE__*/_react["default"].createElement(IconMenu, {
150
119
  onClick: function onClick(key) {
@@ -159,7 +128,6 @@ var PointMenu = /*#__PURE__*/function (_React$Component2) {
159
128
  }]);
160
129
  return PointMenu;
161
130
  }(_react["default"].Component);
162
-
163
131
  exports["default"] = PointMenu;
164
132
  (0, _defineProperty2["default"])(PointMenu, "propTypes", {
165
133
  onChange: _propTypes["default"].func.isRequired,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/point-menu.jsx"],"names":["IconMenu","props","event","setState","open","anchorEl","currentTarget","state","undefined","opts","onClick","classes","keys","Object","handleMenuClick","key","handleRequestClose","iconColor","handleClick","icon","transform","vertical","horizontal","map","k","index","React","Component","PropTypes","object","func","isRequired","PointMenu","onChange","showSampleAnswer","sampleText","sample","bool"],"mappings":"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","sourcesContent":["import Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nexport class IconMenu extends React.Component {\n static propTypes = {\n opts: PropTypes.object,\n onClick: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: undefined,\n open: false,\n };\n }\n\n handleClick = (event) => this.setState({ open: true, anchorEl: event.currentTarget });\n\n handleRequestClose = () => this.setState({ open: false });\n\n render() {\n const { opts, onClick, classes } = this.props;\n const { open, anchorEl } = this.state;\n const keys = Object.keys(opts) || [];\n\n const handleMenuClick = (key) => () => {\n onClick(key);\n this.handleRequestClose();\n };\n\n const iconColor = open ? 'inherit' : 'disabled';\n\n return (\n <div>\n <div onClick={this.handleClick}>\n <IconButton className={classes.icon}>\n {open ? <MoreVertIcon color={iconColor} /> : <MoreHorizIcon color={iconColor} />}\n </IconButton>\n </div>\n <Menu\n id=\"point-menu\"\n anchorEl={anchorEl}\n open={open}\n onClose={this.handleRequestClose}\n style={{ transform: 'translate(-15px, -15px)' }}\n transformOrigin={{\n vertical: 'center',\n horizontal: 'right',\n }}\n >\n {keys.map((k, index) => (\n <MenuItem key={index} onClick={handleMenuClick(k)}>\n {opts[k]}\n </MenuItem>\n ))}\n </Menu>\n </div>\n );\n }\n}\n\nexport default class PointMenu extends React.Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n showSampleAnswer: PropTypes.bool.isRequired,\n };\n\n static defaultProps = {\n classes: {},\n };\n\n render() {\n const { onChange, classes, showSampleAnswer } = this.props;\n const sampleText = showSampleAnswer ? 'Provide Sample Response' : 'Remove Sample Response';\n\n return (\n <IconMenu\n onClick={(key) => onChange(key)}\n opts={{\n sample: sampleText,\n }}\n classes={classes}\n />\n );\n }\n}\n"],"file":"point-menu.js"}
1
+ {"version":3,"file":"point-menu.js","names":["IconMenu","props","event","setState","open","anchorEl","currentTarget","state","undefined","opts","onClick","classes","keys","Object","handleMenuClick","key","handleRequestClose","iconColor","handleClick","icon","transform","vertical","horizontal","map","k","index","React","Component","PropTypes","object","func","isRequired","PointMenu","onChange","showSampleAnswer","sampleText","sample","bool"],"sources":["../src/point-menu.jsx"],"sourcesContent":["import Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nexport class IconMenu extends React.Component {\n static propTypes = {\n opts: PropTypes.object,\n onClick: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: undefined,\n open: false,\n };\n }\n\n handleClick = (event) => this.setState({ open: true, anchorEl: event.currentTarget });\n\n handleRequestClose = () => this.setState({ open: false });\n\n render() {\n const { opts, onClick, classes } = this.props;\n const { open, anchorEl } = this.state;\n const keys = Object.keys(opts) || [];\n\n const handleMenuClick = (key) => () => {\n onClick(key);\n this.handleRequestClose();\n };\n\n const iconColor = open ? 'inherit' : 'disabled';\n\n return (\n <div>\n <div onClick={this.handleClick}>\n <IconButton className={classes.icon}>\n {open ? <MoreVertIcon color={iconColor} /> : <MoreHorizIcon color={iconColor} />}\n </IconButton>\n </div>\n <Menu\n id=\"point-menu\"\n anchorEl={anchorEl}\n open={open}\n onClose={this.handleRequestClose}\n style={{ transform: 'translate(-15px, -15px)' }}\n transformOrigin={{\n vertical: 'center',\n horizontal: 'right',\n }}\n >\n {keys.map((k, index) => (\n <MenuItem key={index} onClick={handleMenuClick(k)}>\n {opts[k]}\n </MenuItem>\n ))}\n </Menu>\n </div>\n );\n }\n}\n\nexport default class PointMenu extends React.Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n showSampleAnswer: PropTypes.bool.isRequired,\n };\n\n static defaultProps = {\n classes: {},\n };\n\n render() {\n const { onChange, classes, showSampleAnswer } = this.props;\n const sampleText = showSampleAnswer ? 'Provide Sample Response' : 'Remove Sample Response';\n\n return (\n <IconMenu\n onClick={(key) => onChange(key)}\n opts={{\n sample: sampleText,\n }}\n classes={classes}\n />\n );\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-lib/rubric",
3
- "version": "0.6.9-next.39+72140f59",
3
+ "version": "0.6.9-next.53+cbb2d706",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -9,7 +9,7 @@
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.3",
11
11
  "@material-ui/icons": "^3.0.2",
12
- "@pie-lib/editable-html": "^9.3.1-next.39+72140f59",
12
+ "@pie-lib/editable-html": "^9.3.1-next.53+cbb2d706",
13
13
  "debug": "^4.1.1",
14
14
  "editable-html": "npm:@pie-lib/editable-html@^7.21.0",
15
15
  "lodash": "^4.17.11",
@@ -18,5 +18,5 @@
18
18
  "react-beautiful-dnd": "^11.0.2",
19
19
  "react-dom": "^16.9.0"
20
20
  },
21
- "gitHead": "72140f59f228efdef892425f7b454fbc39d5320a"
21
+ "gitHead": "cbb2d70637263fd7d0bf2a0a7d0b4b75e2a7370c"
22
22
  }