@instructure/quiz-core 20.8.1-rc.0 → 20.8.1-rc.2
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/es/moderating/components/events/ResponseEvent.js +2 -1
- package/es/moderating/components/resources/ModerateTable/presenter.js +46 -11
- package/es/moderating/components/resources/ModerateTableRow/presenter.js +8 -2
- package/lib/moderating/components/events/ResponseEvent.js +2 -1
- package/lib/moderating/components/resources/ModerateTable/presenter.js +50 -12
- package/lib/moderating/components/resources/ModerateTableRow/presenter.js +8 -2
- package/package.json +9 -9
|
@@ -60,7 +60,8 @@ export var ResponseEvent = (_dec = themeable(theme, styles), _dec(_class = (_tem
|
|
|
60
60
|
var strippedItemBody = extractTextFromHtml(this.itemBody);
|
|
61
61
|
return /*#__PURE__*/React.createElement("span", null, this.hasMedia() && /*#__PURE__*/React.createElement(IconImageSolid, {
|
|
62
62
|
className: styles.answerMediaIcon
|
|
63
|
-
}), t('Answered: {question}', {
|
|
63
|
+
}), t('Answered question {position}: {question}', {
|
|
64
|
+
position: this.props.event.getIn(['eventData', 'position']),
|
|
64
65
|
question: strippedItemBody
|
|
65
66
|
}));
|
|
66
67
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
1
2
|
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
2
3
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
4
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
@@ -10,11 +11,14 @@ var _dec, _class, _class2, _temp;
|
|
|
10
11
|
import React, { Component } from 'react';
|
|
11
12
|
import PropTypes from 'prop-types';
|
|
12
13
|
import ImmutablePropTypes from 'react-immutable-proptypes';
|
|
14
|
+
import classNames from 'classnames';
|
|
13
15
|
import { Text } from '@instructure/ui-text';
|
|
14
16
|
import { Link } from '@instructure/ui-link';
|
|
15
17
|
import { Flex } from '@instructure/ui-flex';
|
|
16
18
|
import { ScreenReaderContent } from '@instructure/ui-a11y-content';
|
|
17
19
|
import { Table } from '@instructure/ui-table';
|
|
20
|
+
import { IconButton } from '@instructure/ui-buttons';
|
|
21
|
+
import { IconInfoLine, IconConfigureLine } from '@instructure/ui-icons';
|
|
18
22
|
import { themeable } from '@instructure/ui-themeable';
|
|
19
23
|
import t from '@instructure/quiz-i18n/es/format-message';
|
|
20
24
|
import ModerateTableRow from "../ModerateTableRow/index.js";
|
|
@@ -23,24 +27,27 @@ import OutstandingQuizzesModal from "../OutstandingQuizzesModal/index.js";
|
|
|
23
27
|
import ModerateTray from "../../sidebar/ModerateTray/index.js";
|
|
24
28
|
import Spinner from "../../../../common/components/shared/spinner/Spinner.js";
|
|
25
29
|
var styles = {
|
|
26
|
-
componentId: '
|
|
30
|
+
componentId: 'eDRzW',
|
|
27
31
|
template: function template(theme) {
|
|
28
|
-
return "\n\n.
|
|
32
|
+
return "\n\n.eDRzW_bwKH{display:block;margin:".concat(theme.emptyTextMargin || 'inherit', " 0 0 0}\n\n.eDRzW_xNcP{background-color:").concat(theme.pageBackgroundColor || 'inherit', ";flex:1;overflow:auto}\n\n.eDRzW_eeML{display:inline-block;transition:transform 0.3s}\n\n.eDRzW_XujX{transform:scaleX(-1)}");
|
|
29
33
|
},
|
|
30
|
-
'emptyText': '
|
|
31
|
-
'page': '
|
|
34
|
+
'emptyText': 'eDRzW_bwKH',
|
|
35
|
+
'page': 'eDRzW_xNcP',
|
|
36
|
+
'scoreToggleWrapper': 'eDRzW_eeML',
|
|
37
|
+
'mirror': 'eDRzW_XujX'
|
|
32
38
|
};
|
|
33
39
|
import theme from "./theme.js";
|
|
34
40
|
import ResetQuiz from "../../sidebar/ResetQuiz/index.js";
|
|
35
41
|
import { OUTSTANDING_QUIZZES_MODAL } from '@instructure/quiz-common';
|
|
36
|
-
import { IconInfoLine } from '@instructure/ui-icons';
|
|
37
42
|
import { chunk } from 'lodash';
|
|
38
43
|
|
|
39
44
|
var _ref2 = /*#__PURE__*/React.createElement(Flex.Item, null, /*#__PURE__*/React.createElement(IconInfoLine, null));
|
|
40
45
|
|
|
41
|
-
var _ref4 = /*#__PURE__*/React.createElement(
|
|
46
|
+
var _ref4 = /*#__PURE__*/React.createElement(IconConfigureLine, null);
|
|
42
47
|
|
|
43
|
-
var _ref5 = /*#__PURE__*/React.createElement(
|
|
48
|
+
var _ref5 = /*#__PURE__*/React.createElement(Spinner, null);
|
|
49
|
+
|
|
50
|
+
var _ref6 = /*#__PURE__*/React.createElement(ResetQuiz, null);
|
|
44
51
|
|
|
45
52
|
export var ModerateTable = (_dec = themeable(theme, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
46
53
|
_inherits(ModerateTable, _Component);
|
|
@@ -58,6 +65,7 @@ export var ModerateTable = (_dec = themeable(theme, styles), _dec(_class = (_tem
|
|
|
58
65
|
|
|
59
66
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
60
67
|
_this.state = {
|
|
68
|
+
displayScoreAsPercentage: true,
|
|
61
69
|
// To support voiceover when the table changes
|
|
62
70
|
moderatePanelIterations: 0,
|
|
63
71
|
selectedStudent: null,
|
|
@@ -150,6 +158,18 @@ export var ModerateTable = (_dec = themeable(theme, styles), _dec(_class = (_tem
|
|
|
150
158
|
_this.pollAutogradingStatus(submittedQuizSessions);
|
|
151
159
|
};
|
|
152
160
|
|
|
161
|
+
_this.handleScoreToggle = function () {
|
|
162
|
+
_this.setState(function (prevState) {
|
|
163
|
+
return {
|
|
164
|
+
displayScoreAsPercentage: !prevState.displayScoreAsPercentage
|
|
165
|
+
};
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
_this.scoreToggleScreenreaderMessage = function () {
|
|
170
|
+
return _this.state.displayScoreAsPercentage ? t('Toggle scores to raw points') : t('Toggle scores to percentages');
|
|
171
|
+
};
|
|
172
|
+
|
|
153
173
|
_this.openModalOnClick = function () {
|
|
154
174
|
_this.props.openModal(OUTSTANDING_QUIZZES_MODAL);
|
|
155
175
|
};
|
|
@@ -231,7 +251,8 @@ export var ModerateTable = (_dec = themeable(theme, styles), _dec(_class = (_tem
|
|
|
231
251
|
onModerateLogClick: onModerateLogClick,
|
|
232
252
|
rowData: rowData,
|
|
233
253
|
shouldRenderModerateButton: shouldRenderModerateButton,
|
|
234
|
-
focusTarget: _this2.state.selectedStudent
|
|
254
|
+
focusTarget: _this2.state.selectedStudent,
|
|
255
|
+
displayScoreAsPercentage: _this2.state.displayScoreAsPercentage
|
|
235
256
|
});
|
|
236
257
|
});
|
|
237
258
|
}
|
|
@@ -291,6 +312,20 @@ export var ModerateTable = (_dec = themeable(theme, styles), _dec(_class = (_tem
|
|
|
291
312
|
afterSubmit: this.props.afterManualSubmit
|
|
292
313
|
})));
|
|
293
314
|
}
|
|
315
|
+
}, {
|
|
316
|
+
key: "renderScoreToggle",
|
|
317
|
+
value: function renderScoreToggle() {
|
|
318
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
319
|
+
className: classNames(styles.scoreToggleWrapper, _defineProperty({}, styles.mirror, !this.state.displayScoreAsPercentage))
|
|
320
|
+
}, /*#__PURE__*/React.createElement(IconButton, {
|
|
321
|
+
size: "small",
|
|
322
|
+
margin: "0 x-small",
|
|
323
|
+
withBackground: false,
|
|
324
|
+
withBorder: false,
|
|
325
|
+
screenReaderLabel: this.scoreToggleScreenreaderMessage(),
|
|
326
|
+
onClick: this.handleScoreToggle
|
|
327
|
+
}, _ref4));
|
|
328
|
+
}
|
|
294
329
|
}, {
|
|
295
330
|
key: "renderTable",
|
|
296
331
|
value: function renderTable() {
|
|
@@ -305,7 +340,7 @@ export var ModerateTable = (_dec = themeable(theme, styles), _dec(_class = (_tem
|
|
|
305
340
|
id: "moderation-table-attempts"
|
|
306
341
|
}, t('Attempts')), !this.props.anonymousGrading && /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
307
342
|
id: "moderation-table-score"
|
|
308
|
-
}, t('Score')), !this.props.anonymousGrading && /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
343
|
+
}, t('Score'), this.renderScoreToggle()), !this.props.anonymousGrading && /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
309
344
|
id: "moderation-table-time"
|
|
310
345
|
}, t('Time')), !this.props.anonymousGrading && /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
311
346
|
id: "moderation-table-log"
|
|
@@ -325,7 +360,7 @@ export var ModerateTable = (_dec = themeable(theme, styles), _dec(_class = (_tem
|
|
|
325
360
|
isFetching = _this$props5.isFetching,
|
|
326
361
|
tableData = _this$props5.tableData,
|
|
327
362
|
emptyMessage = _this$props5.emptyMessage;
|
|
328
|
-
if (isFetching || this.state.isWaiting) return
|
|
363
|
+
if (isFetching || this.state.isWaiting) return _ref5;
|
|
329
364
|
if (tableData.length) return this.renderTable();
|
|
330
365
|
return /*#__PURE__*/React.createElement("span", {
|
|
331
366
|
className: styles.emptyText
|
|
@@ -340,7 +375,7 @@ export var ModerateTable = (_dec = themeable(theme, styles), _dec(_class = (_tem
|
|
|
340
375
|
className: styles.page
|
|
341
376
|
}, /*#__PURE__*/React.createElement(ModerateTray, {
|
|
342
377
|
onClose: this.onCloseTray
|
|
343
|
-
}, !this.props.anonymousGrading &&
|
|
378
|
+
}, !this.props.anonymousGrading && _ref6, this.props.children), this.renderContent());
|
|
344
379
|
}
|
|
345
380
|
}]);
|
|
346
381
|
|
|
@@ -143,8 +143,12 @@ export var ModerateTableRow = (_dec = themeable(theme, styles), _dec(_class = (_
|
|
|
143
143
|
var message = t('No Score');
|
|
144
144
|
|
|
145
145
|
if (result.get('score') != null) {
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
if (_this3.props.displayScoreAsPercentage) {
|
|
147
|
+
var percentage = result.get('score') / result.get('pointsPossible');
|
|
148
|
+
message = _this3.formatPercentMax2FractionDigits(percentage);
|
|
149
|
+
} else {
|
|
150
|
+
message = "".concat(t.number(result.get('score')), "/").concat(t.number(result.get('pointsPossible')));
|
|
151
|
+
}
|
|
148
152
|
}
|
|
149
153
|
|
|
150
154
|
if (result.get('pointsPossible') === 0) {
|
|
@@ -360,6 +364,7 @@ export var ModerateTableRow = (_dec = themeable(theme, styles), _dec(_class = (_
|
|
|
360
364
|
return ModerateTableRow;
|
|
361
365
|
}(withI18nSupport(Component)), _class2.propTypes = {
|
|
362
366
|
anonymousGrading: PropTypes.bool.isRequired,
|
|
367
|
+
displayScoreAsPercentage: PropTypes.bool,
|
|
363
368
|
onModerateButtonClick: PropTypes.func.isRequired,
|
|
364
369
|
onModerateLogClick: PropTypes.func.isRequired,
|
|
365
370
|
onAccommodationsClick: PropTypes.func,
|
|
@@ -380,6 +385,7 @@ export var ModerateTableRow = (_dec = themeable(theme, styles), _dec(_class = (_
|
|
|
380
385
|
shouldRenderModerateButton: PropTypes.bool,
|
|
381
386
|
focusTarget: PropTypes.string
|
|
382
387
|
}, _class2.defaultProps = {
|
|
388
|
+
displayScoreAsPercentage: true,
|
|
383
389
|
shouldRenderModerateButton: true,
|
|
384
390
|
focusTarget: null,
|
|
385
391
|
onAccommodationsClick: null
|
|
@@ -83,7 +83,8 @@ var ResponseEvent = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles),
|
|
|
83
83
|
var strippedItemBody = (0, _quizInteractions.extractTextFromHtml)(this.itemBody);
|
|
84
84
|
return /*#__PURE__*/_react.default.createElement("span", null, this.hasMedia() && /*#__PURE__*/_react.default.createElement(_uiIcons.IconImageSolid, {
|
|
85
85
|
className: styles.answerMediaIcon
|
|
86
|
-
}), (0, _formatMessage.default)('Answered: {question}', {
|
|
86
|
+
}), (0, _formatMessage.default)('Answered question {position}: {question}', {
|
|
87
|
+
position: this.props.event.getIn(['eventData', 'position']),
|
|
87
88
|
question: strippedItemBody
|
|
88
89
|
}));
|
|
89
90
|
}
|
|
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.default = exports.ModerateTable = void 0;
|
|
11
11
|
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
12
14
|
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
13
15
|
|
|
14
16
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
@@ -27,6 +29,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
27
29
|
|
|
28
30
|
var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
|
|
29
31
|
|
|
32
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
33
|
+
|
|
30
34
|
var _uiText = require("@instructure/ui-text");
|
|
31
35
|
|
|
32
36
|
var _uiLink = require("@instructure/ui-link");
|
|
@@ -37,6 +41,10 @@ var _uiA11yContent = require("@instructure/ui-a11y-content");
|
|
|
37
41
|
|
|
38
42
|
var _uiTable = require("@instructure/ui-table");
|
|
39
43
|
|
|
44
|
+
var _uiButtons = require("@instructure/ui-buttons");
|
|
45
|
+
|
|
46
|
+
var _uiIcons = require("@instructure/ui-icons");
|
|
47
|
+
|
|
40
48
|
var _uiThemeable = require("@instructure/ui-themeable");
|
|
41
49
|
|
|
42
50
|
var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
|
|
@@ -57,26 +65,28 @@ var _index5 = _interopRequireDefault(require("../../sidebar/ResetQuiz/index.js")
|
|
|
57
65
|
|
|
58
66
|
var _quizCommon = require("@instructure/quiz-common");
|
|
59
67
|
|
|
60
|
-
var _uiIcons = require("@instructure/ui-icons");
|
|
61
|
-
|
|
62
68
|
var _lodash = require("lodash");
|
|
63
69
|
|
|
64
70
|
var _dec, _class, _class2, _temp;
|
|
65
71
|
|
|
66
72
|
var styles = {
|
|
67
|
-
componentId: '
|
|
73
|
+
componentId: 'eDRzW',
|
|
68
74
|
template: function template(theme) {
|
|
69
|
-
return "\n\n.
|
|
75
|
+
return "\n\n.eDRzW_bwKH{display:block;margin:".concat(theme.emptyTextMargin || 'inherit', " 0 0 0}\n\n.eDRzW_xNcP{background-color:").concat(theme.pageBackgroundColor || 'inherit', ";flex:1;overflow:auto}\n\n.eDRzW_eeML{display:inline-block;transition:transform 0.3s}\n\n.eDRzW_XujX{transform:scaleX(-1)}");
|
|
70
76
|
},
|
|
71
|
-
'emptyText': '
|
|
72
|
-
'page': '
|
|
77
|
+
'emptyText': 'eDRzW_bwKH',
|
|
78
|
+
'page': 'eDRzW_xNcP',
|
|
79
|
+
'scoreToggleWrapper': 'eDRzW_eeML',
|
|
80
|
+
'mirror': 'eDRzW_XujX'
|
|
73
81
|
};
|
|
74
82
|
|
|
75
83
|
var _ref2 = /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, /*#__PURE__*/_react.default.createElement(_uiIcons.IconInfoLine, null));
|
|
76
84
|
|
|
77
|
-
var _ref4 = /*#__PURE__*/_react.default.createElement(
|
|
85
|
+
var _ref4 = /*#__PURE__*/_react.default.createElement(_uiIcons.IconConfigureLine, null);
|
|
86
|
+
|
|
87
|
+
var _ref5 = /*#__PURE__*/_react.default.createElement(_Spinner.default, null);
|
|
78
88
|
|
|
79
|
-
var
|
|
89
|
+
var _ref6 = /*#__PURE__*/_react.default.createElement(_index5.default, null);
|
|
80
90
|
|
|
81
91
|
var ModerateTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
82
92
|
(0, _inherits2.default)(ModerateTable, _Component);
|
|
@@ -94,6 +104,7 @@ var ModerateTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles),
|
|
|
94
104
|
|
|
95
105
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
96
106
|
_this.state = {
|
|
107
|
+
displayScoreAsPercentage: true,
|
|
97
108
|
// To support voiceover when the table changes
|
|
98
109
|
moderatePanelIterations: 0,
|
|
99
110
|
selectedStudent: null,
|
|
@@ -184,6 +195,18 @@ var ModerateTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles),
|
|
|
184
195
|
_this.pollAutogradingStatus(submittedQuizSessions);
|
|
185
196
|
};
|
|
186
197
|
|
|
198
|
+
_this.handleScoreToggle = function () {
|
|
199
|
+
_this.setState(function (prevState) {
|
|
200
|
+
return {
|
|
201
|
+
displayScoreAsPercentage: !prevState.displayScoreAsPercentage
|
|
202
|
+
};
|
|
203
|
+
});
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
_this.scoreToggleScreenreaderMessage = function () {
|
|
207
|
+
return _this.state.displayScoreAsPercentage ? (0, _formatMessage.default)('Toggle scores to raw points') : (0, _formatMessage.default)('Toggle scores to percentages');
|
|
208
|
+
};
|
|
209
|
+
|
|
187
210
|
_this.openModalOnClick = function () {
|
|
188
211
|
_this.props.openModal(_quizCommon.OUTSTANDING_QUIZZES_MODAL);
|
|
189
212
|
};
|
|
@@ -263,7 +286,8 @@ var ModerateTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles),
|
|
|
263
286
|
onModerateLogClick: onModerateLogClick,
|
|
264
287
|
rowData: rowData,
|
|
265
288
|
shouldRenderModerateButton: shouldRenderModerateButton,
|
|
266
|
-
focusTarget: _this2.state.selectedStudent
|
|
289
|
+
focusTarget: _this2.state.selectedStudent,
|
|
290
|
+
displayScoreAsPercentage: _this2.state.displayScoreAsPercentage
|
|
267
291
|
});
|
|
268
292
|
});
|
|
269
293
|
}
|
|
@@ -323,6 +347,20 @@ var ModerateTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles),
|
|
|
323
347
|
afterSubmit: this.props.afterManualSubmit
|
|
324
348
|
})));
|
|
325
349
|
}
|
|
350
|
+
}, {
|
|
351
|
+
key: "renderScoreToggle",
|
|
352
|
+
value: function renderScoreToggle() {
|
|
353
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
354
|
+
className: (0, _classnames.default)(styles.scoreToggleWrapper, (0, _defineProperty2.default)({}, styles.mirror, !this.state.displayScoreAsPercentage))
|
|
355
|
+
}, /*#__PURE__*/_react.default.createElement(_uiButtons.IconButton, {
|
|
356
|
+
size: "small",
|
|
357
|
+
margin: "0 x-small",
|
|
358
|
+
withBackground: false,
|
|
359
|
+
withBorder: false,
|
|
360
|
+
screenReaderLabel: this.scoreToggleScreenreaderMessage(),
|
|
361
|
+
onClick: this.handleScoreToggle
|
|
362
|
+
}, _ref4));
|
|
363
|
+
}
|
|
326
364
|
}, {
|
|
327
365
|
key: "renderTable",
|
|
328
366
|
value: function renderTable() {
|
|
@@ -337,7 +375,7 @@ var ModerateTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles),
|
|
|
337
375
|
id: "moderation-table-attempts"
|
|
338
376
|
}, (0, _formatMessage.default)('Attempts')), !this.props.anonymousGrading && /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
339
377
|
id: "moderation-table-score"
|
|
340
|
-
}, (0, _formatMessage.default)('Score')), !this.props.anonymousGrading && /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
378
|
+
}, (0, _formatMessage.default)('Score'), this.renderScoreToggle()), !this.props.anonymousGrading && /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
341
379
|
id: "moderation-table-time"
|
|
342
380
|
}, (0, _formatMessage.default)('Time')), !this.props.anonymousGrading && /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
343
381
|
id: "moderation-table-log"
|
|
@@ -357,7 +395,7 @@ var ModerateTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles),
|
|
|
357
395
|
isFetching = _this$props5.isFetching,
|
|
358
396
|
tableData = _this$props5.tableData,
|
|
359
397
|
emptyMessage = _this$props5.emptyMessage;
|
|
360
|
-
if (isFetching || this.state.isWaiting) return
|
|
398
|
+
if (isFetching || this.state.isWaiting) return _ref5;
|
|
361
399
|
if (tableData.length) return this.renderTable();
|
|
362
400
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
363
401
|
className: styles.emptyText
|
|
@@ -372,7 +410,7 @@ var ModerateTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles),
|
|
|
372
410
|
className: styles.page
|
|
373
411
|
}, /*#__PURE__*/_react.default.createElement(_index4.default, {
|
|
374
412
|
onClose: this.onCloseTray
|
|
375
|
-
}, !this.props.anonymousGrading &&
|
|
413
|
+
}, !this.props.anonymousGrading && _ref6, this.props.children), this.renderContent());
|
|
376
414
|
}
|
|
377
415
|
}]);
|
|
378
416
|
ModerateTable.displayName = "ModerateTable";
|
|
@@ -175,8 +175,12 @@ var ModerateTableRow = (_dec = (0, _uiThemeable.themeable)(_theme.default, style
|
|
|
175
175
|
var message = (0, _formatMessage.default)('No Score');
|
|
176
176
|
|
|
177
177
|
if (result.get('score') != null) {
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
if (_this3.props.displayScoreAsPercentage) {
|
|
179
|
+
var percentage = result.get('score') / result.get('pointsPossible');
|
|
180
|
+
message = _this3.formatPercentMax2FractionDigits(percentage);
|
|
181
|
+
} else {
|
|
182
|
+
message = "".concat(_formatMessage.default.number(result.get('score')), "/").concat(_formatMessage.default.number(result.get('pointsPossible')));
|
|
183
|
+
}
|
|
180
184
|
}
|
|
181
185
|
|
|
182
186
|
if (result.get('pointsPossible') === 0) {
|
|
@@ -391,6 +395,7 @@ var ModerateTableRow = (_dec = (0, _uiThemeable.themeable)(_theme.default, style
|
|
|
391
395
|
return ModerateTableRow;
|
|
392
396
|
}((0, _quizCommon.withI18nSupport)(_react.Component)), _class2.propTypes = {
|
|
393
397
|
anonymousGrading: _propTypes.default.bool.isRequired,
|
|
398
|
+
displayScoreAsPercentage: _propTypes.default.bool,
|
|
394
399
|
onModerateButtonClick: _propTypes.default.func.isRequired,
|
|
395
400
|
onModerateLogClick: _propTypes.default.func.isRequired,
|
|
396
401
|
onAccommodationsClick: _propTypes.default.func,
|
|
@@ -411,6 +416,7 @@ var ModerateTableRow = (_dec = (0, _uiThemeable.themeable)(_theme.default, style
|
|
|
411
416
|
shouldRenderModerateButton: _propTypes.default.bool,
|
|
412
417
|
focusTarget: _propTypes.default.string
|
|
413
418
|
}, _class2.defaultProps = {
|
|
419
|
+
displayScoreAsPercentage: true,
|
|
414
420
|
shouldRenderModerateButton: true,
|
|
415
421
|
focusTarget: null,
|
|
416
422
|
onAccommodationsClick: null
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instructure/quiz-core",
|
|
3
|
-
"version": "20.8.1-rc.
|
|
3
|
+
"version": "20.8.1-rc.2+bc1306e58",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "The Quiz React SDK by Instructure Inc.",
|
|
6
6
|
"author": "Instructure, Inc. Engineering and Product Design",
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
"@instructure/emotion": "^8.51.0",
|
|
45
45
|
"@instructure/grading-utils": "^1.0.0",
|
|
46
46
|
"@instructure/outcomes-ui": "^3.1.0",
|
|
47
|
-
"@instructure/quiz-common": "20.8.1-rc.
|
|
48
|
-
"@instructure/quiz-i18n": "20.8.1-rc.
|
|
49
|
-
"@instructure/quiz-interactions": "20.8.1-rc.
|
|
50
|
-
"@instructure/quiz-number-input": "20.8.1-rc.
|
|
51
|
-
"@instructure/quiz-rce": "20.8.1-rc.
|
|
47
|
+
"@instructure/quiz-common": "20.8.1-rc.2+bc1306e58",
|
|
48
|
+
"@instructure/quiz-i18n": "20.8.1-rc.2+bc1306e58",
|
|
49
|
+
"@instructure/quiz-interactions": "20.8.1-rc.2+bc1306e58",
|
|
50
|
+
"@instructure/quiz-number-input": "20.8.1-rc.2+bc1306e58",
|
|
51
|
+
"@instructure/quiz-rce": "20.8.1-rc.2+bc1306e58",
|
|
52
52
|
"@instructure/ui-a11y-content": "^8.51.0",
|
|
53
53
|
"@instructure/ui-alerts": "^8.51.0",
|
|
54
54
|
"@instructure/ui-avatar": "^8.51.0",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
"file-saver": "~2.0.5",
|
|
113
113
|
"humps": "^2.0.0",
|
|
114
114
|
"immutable": "^3.8.1",
|
|
115
|
-
"instructure-validations": "20.8.1-rc.
|
|
115
|
+
"instructure-validations": "20.8.1-rc.2+bc1306e58",
|
|
116
116
|
"ipaddr.js": "^1.5.4",
|
|
117
117
|
"isomorphic-fetch": "^2.2.0",
|
|
118
118
|
"isuuid": "^0.1.0",
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
"intl": "^1.2.4",
|
|
164
164
|
"jquery": "^2.2.3",
|
|
165
165
|
"most-subject": "^5.3.0",
|
|
166
|
-
"quiz-presets": "20.8.1-rc.
|
|
166
|
+
"quiz-presets": "20.8.1-rc.2+bc1306e58",
|
|
167
167
|
"react": "^16.8.6",
|
|
168
168
|
"react-addons-test-utils": "^15.6.2",
|
|
169
169
|
"react-dom": "^16.8.6",
|
|
@@ -179,5 +179,5 @@
|
|
|
179
179
|
"publishConfig": {
|
|
180
180
|
"access": "public"
|
|
181
181
|
},
|
|
182
|
-
"gitHead": "
|
|
182
|
+
"gitHead": "bc1306e580538ad70310d908839cf09aa59d240e"
|
|
183
183
|
}
|