@pie-lib/rubric 0.28.3-next.2 → 0.28.3-next.205
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -67
- package/lib/authoring.js +222 -302
- package/lib/authoring.js.map +1 -1
- package/lib/index.js +1 -5
- package/lib/index.js.map +1 -1
- package/lib/point-menu.js +27 -74
- package/lib/point-menu.js.map +1 -1
- package/package.json +10 -17
- package/src/__tests__/rubric.test.jsx +127 -39
- package/src/authoring.jsx +163 -198
- package/src/point-menu.jsx +8 -15
- package/esm/index.css +0 -847
- package/esm/index.js +0 -226008
- package/esm/index.js.map +0 -1
- package/esm/package.json +0 -3
- package/src/__tests__/__snapshots__/rubric.test.jsx.snap +0 -48
package/lib/authoring.js
CHANGED
|
@@ -1,254 +1,240 @@
|
|
|
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
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
11
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
12
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
24
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
15
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
27
|
-
|
|
28
16
|
var _react = _interopRequireDefault(require("react"));
|
|
29
|
-
|
|
30
17
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
|
-
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
|
|
39
|
-
|
|
40
|
-
var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
|
|
41
|
-
|
|
42
|
-
var _FormControl = _interopRequireDefault(require("@material-ui/core/FormControl"));
|
|
43
|
-
|
|
44
|
-
var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
|
|
45
|
-
|
|
18
|
+
var _styles = require("@mui/material/styles");
|
|
19
|
+
var _InputLabel = _interopRequireDefault(require("@mui/material/InputLabel"));
|
|
20
|
+
var _OutlinedInput = _interopRequireDefault(require("@mui/material/OutlinedInput"));
|
|
21
|
+
var _Select = _interopRequireDefault(require("@mui/material/Select"));
|
|
22
|
+
var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
|
|
23
|
+
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
46
24
|
var _times = _interopRequireDefault(require("lodash/times"));
|
|
47
|
-
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
var _grey = _interopRequireDefault(require("@material-ui/core/colors/grey"));
|
|
55
|
-
|
|
56
|
-
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
57
|
-
|
|
58
|
-
var _DragIndicator = _interopRequireDefault(require("@material-ui/icons/DragIndicator"));
|
|
59
|
-
|
|
60
|
-
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
61
|
-
|
|
62
|
-
var _reactBeautifulDnd = require("react-beautiful-dnd");
|
|
63
|
-
|
|
25
|
+
var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
|
|
26
|
+
var _FormGroup = _interopRequireDefault(require("@mui/material/FormGroup"));
|
|
27
|
+
var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
|
|
28
|
+
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
29
|
+
var _DragIndicator = _interopRequireDefault(require("@mui/icons-material/DragIndicator"));
|
|
30
|
+
var _dnd = require("@hello-pangea/dnd");
|
|
64
31
|
var _debug = _interopRequireDefault(require("debug"));
|
|
65
|
-
|
|
66
32
|
var _takeRight = _interopRequireDefault(require("lodash/takeRight"));
|
|
67
|
-
|
|
68
33
|
var _pointMenu = _interopRequireDefault(require("./point-menu"));
|
|
69
|
-
|
|
70
34
|
var _range = _interopRequireDefault(require("lodash/range"));
|
|
71
|
-
|
|
35
|
+
var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
|
|
72
36
|
var _configUi = require("@pie-lib/config-ui");
|
|
73
|
-
|
|
74
|
-
function ownKeys(
|
|
75
|
-
|
|
76
|
-
function
|
|
77
|
-
|
|
78
|
-
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); }; }
|
|
79
|
-
|
|
80
|
-
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; } }
|
|
81
|
-
|
|
37
|
+
var _colors = require("@mui/material/colors");
|
|
38
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
39
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
40
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
41
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
82
42
|
var log = (0, _debug["default"])('pie-lib:rubric:authoring');
|
|
83
|
-
|
|
84
43
|
var reorder = function reorder(list, startIndex, endIndex) {
|
|
85
44
|
var result = Array.from(list);
|
|
86
|
-
|
|
87
45
|
var _result$splice = result.splice(startIndex, 1),
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
46
|
+
_result$splice2 = (0, _slicedToArray2["default"])(_result$splice, 1),
|
|
47
|
+
removed = _result$splice2[0];
|
|
91
48
|
result.splice(endIndex, 0, removed);
|
|
92
49
|
return result;
|
|
93
50
|
};
|
|
94
|
-
|
|
95
|
-
var RubricType = _propTypes["default"].shape({
|
|
51
|
+
var RubricType = exports.RubricType = _propTypes["default"].shape({
|
|
96
52
|
excludeZero: _propTypes["default"].bool,
|
|
97
53
|
points: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
98
54
|
sampleAnswers: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
99
55
|
maxPoints: _propTypes["default"].number,
|
|
100
56
|
rubriclessInstruction: _propTypes["default"].string
|
|
101
57
|
});
|
|
102
|
-
|
|
103
|
-
exports.RubricType = RubricType;
|
|
104
|
-
var MaxPoints = (0, _styles.withStyles)(function (theme) {
|
|
105
|
-
return {
|
|
106
|
-
formControl: {
|
|
107
|
-
minWidth: '120px',
|
|
108
|
-
margin: theme.spacing.unit
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
})(function (props) {
|
|
58
|
+
var MaxPoints = function MaxPoints(props) {
|
|
112
59
|
var value = props.value,
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
60
|
+
_onChange = props.onChange,
|
|
61
|
+
max = props.max;
|
|
62
|
+
var labelId = 'max-points-label';
|
|
116
63
|
return /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
|
|
117
|
-
|
|
64
|
+
sx: {
|
|
65
|
+
minWidth: 120,
|
|
66
|
+
m: 1
|
|
67
|
+
},
|
|
118
68
|
variant: "outlined"
|
|
119
69
|
}, /*#__PURE__*/_react["default"].createElement(_InputLabel["default"], {
|
|
120
|
-
|
|
121
|
-
htmlFor: "..."
|
|
70
|
+
id: labelId
|
|
122
71
|
}, "Max Points"), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
72
|
+
labelId: labelId,
|
|
73
|
+
label: "Max Points",
|
|
123
74
|
value: value,
|
|
124
75
|
onChange: function onChange(e) {
|
|
125
76
|
return _onChange(e.target.value);
|
|
126
77
|
},
|
|
127
78
|
input: /*#__PURE__*/_react["default"].createElement(_OutlinedInput["default"], {
|
|
128
|
-
|
|
129
|
-
})
|
|
79
|
+
label: "Max Points"
|
|
80
|
+
}),
|
|
81
|
+
MenuProps: {
|
|
82
|
+
transitionDuration: {
|
|
83
|
+
enter: 225,
|
|
84
|
+
exit: 195
|
|
85
|
+
}
|
|
86
|
+
}
|
|
130
87
|
}, (0, _range["default"])(1, max + 1).map(function (v) {
|
|
131
88
|
return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
|
|
132
89
|
key: "".concat(v),
|
|
133
90
|
value: v
|
|
134
91
|
}, v);
|
|
135
92
|
})));
|
|
136
|
-
}
|
|
137
|
-
// if the value is '', the Sample Answer input field will be empty
|
|
93
|
+
};
|
|
138
94
|
|
|
95
|
+
// if the value is null or 'null', the Sample Answer input field for that point will not be dispalyed
|
|
96
|
+
// if the value is '', the Sample Answer input field will be empty
|
|
139
97
|
var checkSampleAnswer = function checkSampleAnswer(sampleAnswer) {
|
|
140
98
|
return sampleAnswer === null || sampleAnswer === 'null';
|
|
141
99
|
};
|
|
142
|
-
|
|
143
|
-
var PointConfig = (0, _styles.withStyles)(function (theme) {
|
|
100
|
+
var Row = (0, _styles.styled)('div')(function () {
|
|
144
101
|
return {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
},
|
|
171
|
-
errorText: {
|
|
172
|
-
fontSize: theme.typography.fontSize - 2,
|
|
173
|
-
color: theme.palette.error.main,
|
|
174
|
-
paddingLeft: theme.spacing.unit * 3,
|
|
175
|
-
paddingTop: theme.spacing.unit
|
|
176
|
-
}
|
|
102
|
+
display: 'flex',
|
|
103
|
+
width: '100%',
|
|
104
|
+
position: 'relative'
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
var EditorDiv = (0, _styles.styled)('div')(function (_ref) {
|
|
108
|
+
var theme = _ref.theme;
|
|
109
|
+
return {
|
|
110
|
+
width: '100%',
|
|
111
|
+
backgroundColor: "".concat(theme.palette.common.white)
|
|
112
|
+
};
|
|
113
|
+
});
|
|
114
|
+
var DragIndicatorStyled = (0, _styles.styled)(_DragIndicator["default"])(function (_ref2) {
|
|
115
|
+
var theme = _ref2.theme;
|
|
116
|
+
return {
|
|
117
|
+
paddingTop: theme.spacing(1),
|
|
118
|
+
color: _colors.grey[500]
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
var PointsLabel = (0, _styles.styled)(_Typography["default"])(function (_ref3) {
|
|
122
|
+
var theme = _ref3.theme;
|
|
123
|
+
return {
|
|
124
|
+
color: _colors.grey[500],
|
|
125
|
+
paddingBottom: theme.spacing(1),
|
|
126
|
+
textTransform: 'uppercase'
|
|
177
127
|
};
|
|
178
|
-
})
|
|
128
|
+
});
|
|
129
|
+
var SampleAnswersEditor = (0, _styles.styled)('div')(function (_ref4) {
|
|
130
|
+
var theme = _ref4.theme;
|
|
131
|
+
return {
|
|
132
|
+
paddingLeft: theme.spacing(3)
|
|
133
|
+
};
|
|
134
|
+
});
|
|
135
|
+
var ErrorText = (0, _styles.styled)('div')(function (_ref5) {
|
|
136
|
+
var theme = _ref5.theme;
|
|
137
|
+
return {
|
|
138
|
+
fontSize: theme.typography.fontSize - 2,
|
|
139
|
+
color: theme.palette.error.main,
|
|
140
|
+
paddingLeft: theme.spacing(3),
|
|
141
|
+
paddingTop: theme.spacing(1)
|
|
142
|
+
};
|
|
143
|
+
});
|
|
144
|
+
var PointMenuWrapper = (0, _styles.styled)('div')(function () {
|
|
145
|
+
return {
|
|
146
|
+
position: 'absolute',
|
|
147
|
+
right: 0
|
|
148
|
+
};
|
|
149
|
+
});
|
|
150
|
+
var PointConfig = exports.PointConfig = function PointConfig(props) {
|
|
179
151
|
var points = props.points,
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
pluginOpts = _props$pluginOpts === void 0 ? {} : _props$pluginOpts;
|
|
152
|
+
content = props.content,
|
|
153
|
+
sampleAnswer = props.sampleAnswer,
|
|
154
|
+
_props$mathMlOptions = props.mathMlOptions,
|
|
155
|
+
mathMlOptions = _props$mathMlOptions === void 0 ? {} : _props$mathMlOptions,
|
|
156
|
+
error = props.error,
|
|
157
|
+
_props$pluginOpts = props.pluginOpts,
|
|
158
|
+
pluginOpts = _props$pluginOpts === void 0 ? {} : _props$pluginOpts;
|
|
188
159
|
var pointsLabel = "".concat(points, " ").concat(points <= 1 ? 'pt' : 'pts');
|
|
189
160
|
var showSampleAnswer = checkSampleAnswer(sampleAnswer);
|
|
190
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
191
|
-
|
|
192
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
193
|
-
variant: "overline",
|
|
194
|
-
className: classes.pointsLabel
|
|
195
|
-
}, pointsLabel), /*#__PURE__*/_react["default"].createElement("div", {
|
|
196
|
-
className: classes.row
|
|
197
|
-
}, /*#__PURE__*/_react["default"].createElement(_DragIndicator["default"], {
|
|
198
|
-
className: classes.dragIndicator
|
|
199
|
-
}), /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
200
|
-
className: classes.editor,
|
|
161
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(PointsLabel, {
|
|
162
|
+
variant: "overline"
|
|
163
|
+
}, pointsLabel), /*#__PURE__*/_react["default"].createElement(Row, null, /*#__PURE__*/_react["default"].createElement(DragIndicatorStyled, null), /*#__PURE__*/_react["default"].createElement(EditorDiv, null, /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], {
|
|
201
164
|
error: error,
|
|
202
165
|
pluginProps: pluginOpts,
|
|
203
166
|
markup: content,
|
|
204
167
|
onChange: props.onChange,
|
|
205
168
|
mathMlOptions: mathMlOptions
|
|
206
|
-
}), /*#__PURE__*/_react["default"].createElement(_pointMenu["default"], {
|
|
207
|
-
classes: {
|
|
208
|
-
icon: classes.pointMenu
|
|
209
|
-
},
|
|
169
|
+
})), /*#__PURE__*/_react["default"].createElement(PointMenuWrapper, null, /*#__PURE__*/_react["default"].createElement(_pointMenu["default"], {
|
|
210
170
|
showSampleAnswer: showSampleAnswer,
|
|
211
171
|
onChange: props.onMenuChange
|
|
212
|
-
})), error && /*#__PURE__*/_react["default"].createElement("
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
217
|
-
variant: "overline",
|
|
218
|
-
className: classes.dragIndicator
|
|
219
|
-
}, "Sample Response"), /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
220
|
-
className: classes.editor,
|
|
172
|
+
}))), error && /*#__PURE__*/_react["default"].createElement(ErrorText, null, error), !showSampleAnswer && /*#__PURE__*/_react["default"].createElement(SampleAnswersEditor, null, /*#__PURE__*/_react["default"].createElement(DragIndicatorStyled, {
|
|
173
|
+
as: _Typography["default"],
|
|
174
|
+
variant: "overline"
|
|
175
|
+
}, "Sample Response"), /*#__PURE__*/_react["default"].createElement(EditorDiv, null, /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], {
|
|
221
176
|
markup: sampleAnswer,
|
|
222
177
|
pluginProps: pluginOpts,
|
|
223
178
|
onChange: props.onSampleChange,
|
|
224
179
|
mathMlOptions: mathMlOptions
|
|
225
|
-
})));
|
|
180
|
+
}))));
|
|
181
|
+
};
|
|
182
|
+
var Container = (0, _styles.styled)('div')(function (_ref6) {
|
|
183
|
+
var theme = _ref6.theme;
|
|
184
|
+
return {
|
|
185
|
+
backgroundColor: _colors.grey[200],
|
|
186
|
+
borderWidth: 1,
|
|
187
|
+
borderStyle: 'solid',
|
|
188
|
+
borderColor: _colors.grey[300],
|
|
189
|
+
padding: theme.spacing(2),
|
|
190
|
+
margin: theme.spacing(1)
|
|
191
|
+
};
|
|
226
192
|
});
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
193
|
+
var InputContainerWrapper = (0, _styles.styled)('div')(function (_ref7) {
|
|
194
|
+
var theme = _ref7.theme;
|
|
195
|
+
return {
|
|
196
|
+
width: '100%',
|
|
197
|
+
paddingTop: theme.spacing(2),
|
|
198
|
+
marginBottom: theme.spacing(2),
|
|
199
|
+
'& MuiFormControl-root': {
|
|
200
|
+
width: '100%'
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
});
|
|
204
|
+
var Rubricless = (0, _styles.styled)('div')(function () {
|
|
205
|
+
return {
|
|
206
|
+
display: 'none'
|
|
207
|
+
};
|
|
208
|
+
});
|
|
209
|
+
var ConfigHolder = (0, _styles.styled)('div')(function (_ref8) {
|
|
210
|
+
var theme = _ref8.theme;
|
|
211
|
+
return {
|
|
212
|
+
paddingTop: theme.spacing(1),
|
|
213
|
+
paddingBottom: theme.spacing(1)
|
|
214
|
+
};
|
|
215
|
+
});
|
|
216
|
+
var RubricTitle = (0, _styles.styled)(_Typography["default"])(function (_ref9) {
|
|
217
|
+
var theme = _ref9.theme;
|
|
218
|
+
return {
|
|
219
|
+
paddingLeft: theme.spacing(1),
|
|
220
|
+
margin: theme.spacing(1)
|
|
221
|
+
};
|
|
222
|
+
});
|
|
223
|
+
var RawAuthoring = exports.RawAuthoring = /*#__PURE__*/function (_React$Component) {
|
|
234
224
|
function RawAuthoring() {
|
|
235
225
|
var _this;
|
|
236
|
-
|
|
237
226
|
(0, _classCallCheck2["default"])(this, RawAuthoring);
|
|
238
|
-
|
|
239
227
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
240
228
|
args[_key] = arguments[_key];
|
|
241
229
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragEnd", function (result) {
|
|
230
|
+
_this = _callSuper(this, RawAuthoring, [].concat(args));
|
|
231
|
+
(0, _defineProperty2["default"])(_this, "dragEnd", function (result) {
|
|
245
232
|
if (!result.destination) {
|
|
246
233
|
return;
|
|
247
234
|
}
|
|
248
|
-
|
|
249
235
|
var _this$props = _this.props,
|
|
250
|
-
|
|
251
|
-
|
|
236
|
+
value = _this$props.value,
|
|
237
|
+
onChange = _this$props.onChange;
|
|
252
238
|
var points = reorder(value.points, result.source.index, result.destination.index);
|
|
253
239
|
var sampleAnswers = reorder(value.sampleAnswers, result.source.index, result.destination.index);
|
|
254
240
|
onChange(_objectSpread(_objectSpread({}, value), {}, {
|
|
@@ -256,23 +242,22 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
|
|
|
256
242
|
sampleAnswers: sampleAnswers
|
|
257
243
|
}));
|
|
258
244
|
});
|
|
259
|
-
(0, _defineProperty2["default"])(
|
|
245
|
+
(0, _defineProperty2["default"])(_this, "changeRubriclessInstruction", function (input) {
|
|
260
246
|
var _this$props2 = _this.props,
|
|
261
|
-
|
|
262
|
-
|
|
247
|
+
value = _this$props2.value,
|
|
248
|
+
onChange = _this$props2.onChange;
|
|
263
249
|
onChange(_objectSpread(_objectSpread({}, value), {}, {
|
|
264
250
|
rubriclessInstruction: input
|
|
265
251
|
}));
|
|
266
252
|
});
|
|
267
|
-
(0, _defineProperty2["default"])(
|
|
253
|
+
(0, _defineProperty2["default"])(_this, "changeMaxPoints", function (maxPoints) {
|
|
268
254
|
var _this$props3 = _this.props,
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
255
|
+
value = _this$props3.value,
|
|
256
|
+
onChange = _this$props3.onChange,
|
|
257
|
+
rubricless = _this$props3.rubricless;
|
|
272
258
|
var currentMax = value.points.length - 1;
|
|
273
259
|
log('current', currentMax, 'new: ', maxPoints);
|
|
274
260
|
var points, sampleAnswers;
|
|
275
|
-
|
|
276
261
|
if (maxPoints > currentMax) {
|
|
277
262
|
points = (0, _times["default"])(maxPoints - currentMax).map(function () {
|
|
278
263
|
return '';
|
|
@@ -281,13 +266,11 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
|
|
|
281
266
|
return null;
|
|
282
267
|
}).concat(value.sampleAnswers);
|
|
283
268
|
}
|
|
284
|
-
|
|
285
269
|
if (maxPoints < currentMax) {
|
|
286
270
|
log('less than');
|
|
287
271
|
points = (0, _takeRight["default"])(value.points, maxPoints + 1);
|
|
288
272
|
sampleAnswers = (0, _takeRight["default"])(value.sampleAnswers, maxPoints + 1);
|
|
289
273
|
}
|
|
290
|
-
|
|
291
274
|
if (points && !rubricless) {
|
|
292
275
|
onChange(_objectSpread(_objectSpread({}, value), {}, {
|
|
293
276
|
points: points,
|
|
@@ -300,31 +283,29 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
|
|
|
300
283
|
}));
|
|
301
284
|
}
|
|
302
285
|
});
|
|
303
|
-
(0, _defineProperty2["default"])(
|
|
286
|
+
(0, _defineProperty2["default"])(_this, "changeContent", function (index, content, type) {
|
|
304
287
|
// type could be 'points' or 'sampleAnswers'
|
|
305
288
|
log("changeModel[".concat(type, "]:"), index, content);
|
|
306
|
-
|
|
307
289
|
if (type !== 'points' && type !== 'sampleAnswers') {
|
|
308
290
|
return;
|
|
309
291
|
}
|
|
310
|
-
|
|
311
292
|
var _this$props4 = _this.props,
|
|
312
|
-
|
|
313
|
-
|
|
293
|
+
value = _this$props4.value,
|
|
294
|
+
onChange = _this$props4.onChange;
|
|
314
295
|
var items = value[type] && Array.from(value[type]);
|
|
315
296
|
items.splice(index, 1, content);
|
|
316
297
|
log("changeModel[".concat(type, "]:"), items);
|
|
317
298
|
onChange(_objectSpread(_objectSpread({}, value), {}, (0, _defineProperty2["default"])({}, type, items)));
|
|
318
299
|
});
|
|
319
|
-
(0, _defineProperty2["default"])(
|
|
300
|
+
(0, _defineProperty2["default"])(_this, "excludeZeros", function () {
|
|
320
301
|
var _this$props5 = _this.props,
|
|
321
|
-
|
|
322
|
-
|
|
302
|
+
value = _this$props5.value,
|
|
303
|
+
onChange = _this$props5.onChange;
|
|
323
304
|
onChange(_objectSpread(_objectSpread({}, value), {}, {
|
|
324
305
|
excludeZero: !value.excludeZero
|
|
325
306
|
}));
|
|
326
307
|
});
|
|
327
|
-
(0, _defineProperty2["default"])(
|
|
308
|
+
(0, _defineProperty2["default"])(_this, "shouldRenderPoint", function (index, value) {
|
|
328
309
|
if (!value.excludeZero) {
|
|
329
310
|
return true;
|
|
330
311
|
} else {
|
|
@@ -333,15 +314,13 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
|
|
|
333
314
|
} else if (index === value.points.length - 1) {
|
|
334
315
|
return false;
|
|
335
316
|
}
|
|
336
|
-
|
|
337
317
|
return true;
|
|
338
318
|
}
|
|
339
319
|
});
|
|
340
|
-
(0, _defineProperty2["default"])(
|
|
320
|
+
(0, _defineProperty2["default"])(_this, "onPointMenuChange", function (index, clickedItem) {
|
|
341
321
|
if (clickedItem === 'sample') {
|
|
342
322
|
var value = _this.props.value;
|
|
343
323
|
var sampleAnswers = Array.from(value.sampleAnswers || []);
|
|
344
|
-
|
|
345
324
|
if (checkSampleAnswer(sampleAnswers[index])) {
|
|
346
325
|
// an empty string will display an empty Sample Answer input field
|
|
347
326
|
_this.changeContent(index, '', 'sampleAnswers');
|
|
@@ -353,59 +332,49 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
|
|
|
353
332
|
});
|
|
354
333
|
return _this;
|
|
355
334
|
}
|
|
356
|
-
|
|
357
|
-
(0, _createClass2["default"])(RawAuthoring, [{
|
|
335
|
+
(0, _inherits2["default"])(RawAuthoring, _React$Component);
|
|
336
|
+
return (0, _createClass2["default"])(RawAuthoring, [{
|
|
358
337
|
key: "render",
|
|
359
338
|
value: function render() {
|
|
360
339
|
var _this2 = this;
|
|
361
|
-
|
|
362
340
|
var _this$props6 = this.props,
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
_ref2$maxMaxPoints = _ref2.maxMaxPoints,
|
|
392
|
-
maxMaxPoints = _ref2$maxMaxPoints === void 0 ? 10 : _ref2$maxMaxPoints;
|
|
393
|
-
|
|
394
|
-
var _ref3 = errors || {},
|
|
395
|
-
pointsDescriptorsErrors = _ref3.pointsDescriptorsErrors;
|
|
396
|
-
|
|
341
|
+
value = _this$props6.value,
|
|
342
|
+
_this$props6$mathMlOp = _this$props6.mathMlOptions,
|
|
343
|
+
mathMlOptions = _this$props6$mathMlOp === void 0 ? {} : _this$props6$mathMlOp,
|
|
344
|
+
_this$props6$config = _this$props6.config,
|
|
345
|
+
config = _this$props6$config === void 0 ? {} : _this$props6$config,
|
|
346
|
+
_this$props6$rubricle = _this$props6.rubricless,
|
|
347
|
+
rubricless = _this$props6$rubricle === void 0 ? false : _this$props6$rubricle,
|
|
348
|
+
_this$props6$pluginOp = _this$props6.pluginOpts,
|
|
349
|
+
pluginOpts = _this$props6$pluginOp === void 0 ? {} : _this$props6$pluginOp;
|
|
350
|
+
var _ref0 = value || {},
|
|
351
|
+
_ref0$excludeZeroEnab = _ref0.excludeZeroEnabled,
|
|
352
|
+
excludeZeroEnabled = _ref0$excludeZeroEnab === void 0 ? true : _ref0$excludeZeroEnab,
|
|
353
|
+
_ref0$maxPointsEnable = _ref0.maxPointsEnabled,
|
|
354
|
+
maxPointsEnabled = _ref0$maxPointsEnable === void 0 ? true : _ref0$maxPointsEnable,
|
|
355
|
+
_ref0$errors = _ref0.errors,
|
|
356
|
+
errors = _ref0$errors === void 0 ? {} : _ref0$errors,
|
|
357
|
+
_ref0$rubriclessInstr = _ref0.rubriclessInstructionEnabled,
|
|
358
|
+
rubriclessInstructionEnabled = _ref0$rubriclessInstr === void 0 ? false : _ref0$rubriclessInstr,
|
|
359
|
+
_ref0$maxPoints = _ref0.maxPoints,
|
|
360
|
+
maxPoints = _ref0$maxPoints === void 0 ? 10 : _ref0$maxPoints;
|
|
361
|
+
// rubric will contain a max value for maxPoints
|
|
362
|
+
var _ref1 = config || {},
|
|
363
|
+
_ref1$rubriclessInstr = _ref1.rubriclessInstruction,
|
|
364
|
+
rubriclessInstruction = _ref1$rubriclessInstr === void 0 ? {} : _ref1$rubriclessInstr,
|
|
365
|
+
_ref1$maxMaxPoints = _ref1.maxMaxPoints,
|
|
366
|
+
maxMaxPoints = _ref1$maxMaxPoints === void 0 ? 10 : _ref1$maxMaxPoints;
|
|
367
|
+
var _ref10 = errors || {},
|
|
368
|
+
pointsDescriptorsErrors = _ref10.pointsDescriptorsErrors;
|
|
397
369
|
if (value && Number.isFinite(value.maxPoints)) {
|
|
398
370
|
// eslint-disable-next-line no-console
|
|
399
371
|
console.warn('maxPoints is deprecated - remove from model');
|
|
400
|
-
}
|
|
401
|
-
|
|
372
|
+
}
|
|
402
373
|
|
|
374
|
+
// for rubric value is computed based on points
|
|
403
375
|
var maxPointsValue = !rubricless ? value.points.length - 1 : maxPoints;
|
|
404
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
405
|
-
|
|
406
|
-
}, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
407
|
-
variant: "h5",
|
|
408
|
-
className: classes.rubricTitle
|
|
376
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(RubricTitle, {
|
|
377
|
+
variant: "h5"
|
|
409
378
|
}, "Rubric"), /*#__PURE__*/_react["default"].createElement(_FormGroup["default"], {
|
|
410
379
|
row: true
|
|
411
380
|
}, maxPointsEnabled && /*#__PURE__*/_react["default"].createElement(MaxPoints, {
|
|
@@ -419,11 +388,9 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
|
|
|
419
388
|
checked: value.excludeZero,
|
|
420
389
|
onChange: this.excludeZeros
|
|
421
390
|
})
|
|
422
|
-
})), rubriclessInstructionEnabled && rubricless && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
423
|
-
label: rubriclessInstruction.label
|
|
424
|
-
|
|
425
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
426
|
-
className: classes.input,
|
|
391
|
+
})), rubriclessInstructionEnabled && rubricless && /*#__PURE__*/_react["default"].createElement(InputContainerWrapper, null, /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
392
|
+
label: rubriclessInstruction.label
|
|
393
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtmlTipTap["default"], {
|
|
427
394
|
markup: value.rubriclessInstruction || '',
|
|
428
395
|
onChange: this.changeRubriclessInstruction,
|
|
429
396
|
pluginProps: pluginOpts,
|
|
@@ -435,23 +402,20 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
|
|
|
435
402
|
language: 'special'
|
|
436
403
|
}],
|
|
437
404
|
mathMlOptions: mathMlOptions
|
|
438
|
-
})), /*#__PURE__*/_react["default"].createElement("div", {
|
|
439
|
-
className: rubricless ? classes.rubricless : classes.container
|
|
440
|
-
}, /*#__PURE__*/_react["default"].createElement(_reactBeautifulDnd.DragDropContext, {
|
|
405
|
+
}))), /*#__PURE__*/_react["default"].createElement("div", null, rubricless ? /*#__PURE__*/_react["default"].createElement(Rubricless, null) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_dnd.DragDropContext, {
|
|
441
406
|
onDragEnd: this.dragEnd
|
|
442
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
407
|
+
}, /*#__PURE__*/_react["default"].createElement(_dnd.Droppable, {
|
|
443
408
|
droppableId: "droppable"
|
|
444
409
|
}, function (provided) {
|
|
445
410
|
return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, provided.droppableProps, {
|
|
446
411
|
ref: provided.innerRef
|
|
447
412
|
}), value.points.map(function (p, index) {
|
|
448
|
-
return _this2.shouldRenderPoint(index, value) && /*#__PURE__*/_react["default"].createElement(
|
|
413
|
+
return _this2.shouldRenderPoint(index, value) && /*#__PURE__*/_react["default"].createElement(_dnd.Draggable, {
|
|
449
414
|
key: "".concat(p.points, "-").concat(index),
|
|
450
415
|
index: index,
|
|
451
416
|
draggableId: index.toString()
|
|
452
417
|
}, function (provided) {
|
|
453
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
454
|
-
className: classes.configHolder,
|
|
418
|
+
return /*#__PURE__*/_react["default"].createElement(ConfigHolder, (0, _extends2["default"])({
|
|
455
419
|
ref: provided.innerRef
|
|
456
420
|
}, provided.draggableProps, provided.dragHandleProps), /*#__PURE__*/_react["default"].createElement(PointConfig, {
|
|
457
421
|
points: value.points.length - 1 - index,
|
|
@@ -472,16 +436,11 @@ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
|
|
|
472
436
|
}));
|
|
473
437
|
});
|
|
474
438
|
}), provided.placeholder);
|
|
475
|
-
}))));
|
|
439
|
+
})))));
|
|
476
440
|
}
|
|
477
441
|
}]);
|
|
478
|
-
|
|
479
|
-
}(_react["default"].Component);
|
|
480
|
-
|
|
481
|
-
exports.RawAuthoring = RawAuthoring;
|
|
442
|
+
}(_react["default"].Component); // styles migrated to styled-components above
|
|
482
443
|
(0, _defineProperty2["default"])(RawAuthoring, "propTypes", {
|
|
483
|
-
classes: _propTypes["default"].object.isRequired,
|
|
484
|
-
className: _propTypes["default"].string,
|
|
485
444
|
value: RubricType,
|
|
486
445
|
config: _propTypes["default"].object,
|
|
487
446
|
pluginOpts: _propTypes["default"].object,
|
|
@@ -489,69 +448,32 @@ exports.RawAuthoring = RawAuthoring;
|
|
|
489
448
|
onChange: _propTypes["default"].func
|
|
490
449
|
});
|
|
491
450
|
(0, _defineProperty2["default"])(RawAuthoring, "defaultProps", {});
|
|
492
|
-
|
|
493
|
-
var styles = function styles(theme) {
|
|
494
|
-
return {
|
|
495
|
-
container: {
|
|
496
|
-
backgroundColor: _grey["default"][200],
|
|
497
|
-
borderWidth: 1,
|
|
498
|
-
borderStyle: 'solid',
|
|
499
|
-
borderColor: _grey["default"][300],
|
|
500
|
-
padding: theme.spacing.unit * 2,
|
|
501
|
-
margin: theme.spacing.unit
|
|
502
|
-
},
|
|
503
|
-
inputContainer: {
|
|
504
|
-
width: '100%',
|
|
505
|
-
paddingTop: theme.spacing.unit * 2,
|
|
506
|
-
marginBottom: theme.spacing.unit * 2
|
|
507
|
-
},
|
|
508
|
-
rubricless: {
|
|
509
|
-
display: 'none'
|
|
510
|
-
},
|
|
511
|
-
configHolder: {
|
|
512
|
-
paddingTop: theme.spacing.unit,
|
|
513
|
-
paddingBottom: theme.spacing.unit
|
|
514
|
-
},
|
|
515
|
-
rubricTitle: {
|
|
516
|
-
paddingLeft: theme.spacing.unit,
|
|
517
|
-
margin: theme.spacing.unit
|
|
518
|
-
}
|
|
519
|
-
};
|
|
520
|
-
};
|
|
521
|
-
|
|
522
|
-
var StyledRawAuthoring = (0, _styles.withStyles)(styles)(RawAuthoring);
|
|
523
|
-
|
|
524
451
|
var Reverse = function Reverse(props) {
|
|
525
|
-
var
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
452
|
+
var _ref11 = props || {},
|
|
453
|
+
_ref11$rubricless = _ref11.rubricless,
|
|
454
|
+
rubricless = _ref11$rubricless === void 0 ? false : _ref11$rubricless,
|
|
455
|
+
_ref11$config = _ref11.config,
|
|
456
|
+
config = _ref11$config === void 0 ? {} : _ref11$config,
|
|
457
|
+
_ref11$pluginOpts = _ref11.pluginOpts,
|
|
458
|
+
pluginOpts = _ref11$pluginOpts === void 0 ? {} : _ref11$pluginOpts;
|
|
533
459
|
var points = Array.from(props.value.points || []).reverse();
|
|
534
460
|
var sampleAnswers = Array.from(props.value.sampleAnswers || []).reverse();
|
|
535
|
-
|
|
536
461
|
if (points.length > sampleAnswers.length) {
|
|
537
462
|
sampleAnswers = (0, _times["default"])(points.length - sampleAnswers.length).map(function () {
|
|
538
463
|
return null;
|
|
539
464
|
}).concat(sampleAnswers);
|
|
540
465
|
}
|
|
541
|
-
|
|
542
466
|
var value = _objectSpread(_objectSpread({}, props.value), {}, {
|
|
543
467
|
points: points,
|
|
544
468
|
sampleAnswers: sampleAnswers
|
|
545
469
|
});
|
|
546
|
-
|
|
547
470
|
var onChange = function onChange(value) {
|
|
548
471
|
props.onChange(_objectSpread(_objectSpread({}, value), {}, {
|
|
549
472
|
points: Array.from(value.points || []).reverse(),
|
|
550
473
|
sampleAnswers: Array.from(value.sampleAnswers || []).reverse()
|
|
551
474
|
}));
|
|
552
475
|
};
|
|
553
|
-
|
|
554
|
-
return /*#__PURE__*/_react["default"].createElement(StyledRawAuthoring, {
|
|
476
|
+
return /*#__PURE__*/_react["default"].createElement(RawAuthoring, {
|
|
555
477
|
value: value,
|
|
556
478
|
config: config,
|
|
557
479
|
onChange: onChange,
|
|
@@ -559,7 +481,6 @@ var Reverse = function Reverse(props) {
|
|
|
559
481
|
pluginOpts: pluginOpts
|
|
560
482
|
});
|
|
561
483
|
};
|
|
562
|
-
|
|
563
484
|
Reverse.propTypes = {
|
|
564
485
|
value: RubricType,
|
|
565
486
|
config: _propTypes["default"].object,
|
|
@@ -568,6 +489,5 @@ Reverse.propTypes = {
|
|
|
568
489
|
getIndex: _propTypes["default"].func,
|
|
569
490
|
onChange: _propTypes["default"].func
|
|
570
491
|
};
|
|
571
|
-
var _default = Reverse;
|
|
572
|
-
exports["default"] = _default;
|
|
492
|
+
var _default = exports["default"] = Reverse;
|
|
573
493
|
//# sourceMappingURL=authoring.js.map
|