@instructure/quiz-core 20.7.1-rc.1 → 20.7.1-rc.11
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/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/index.js +120 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/styles.js +38 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/theme.js +11 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/index.js +55 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +9 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +8 -2
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +34 -39
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/index.js +3 -1
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +17 -4
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/index.js +140 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/styles.js +46 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/theme.js +19 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/index.js +80 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +10 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +8 -2
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +33 -38
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/index.js +3 -1
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +24 -5
- package/package.json +9 -9
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
4
|
+
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
5
|
+
|
|
6
|
+
var _dec, _class, _class2, _temp;
|
|
7
|
+
|
|
8
|
+
/** @jsx jsx */
|
|
9
|
+
import { scoreDistributionType } from "../../../propTypes.js";
|
|
10
|
+
import { Component } from 'react';
|
|
11
|
+
import t from '@instructure/quiz-i18n/es/format-message';
|
|
12
|
+
import { Table } from '@instructure/ui-table';
|
|
13
|
+
import PropTypes from 'prop-types';
|
|
14
|
+
import { withStyle, jsx } from '@instructure/emotion';
|
|
15
|
+
import generateStyle from "./styles.js";
|
|
16
|
+
import generateComponentTheme from "./theme.js";
|
|
17
|
+
export var ScoreDistributionTypeTable = (_dec = withStyle(generateStyle, generateComponentTheme), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
18
|
+
_inherits(ScoreDistributionTypeTable, _Component);
|
|
19
|
+
|
|
20
|
+
var _super = _createSuper(ScoreDistributionTypeTable);
|
|
21
|
+
|
|
22
|
+
function ScoreDistributionTypeTable() {
|
|
23
|
+
var _this;
|
|
24
|
+
|
|
25
|
+
_classCallCheck(this, ScoreDistributionTypeTable);
|
|
26
|
+
|
|
27
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
28
|
+
args[_key] = arguments[_key];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
32
|
+
|
|
33
|
+
_this.renderFirstCell = function (content) {
|
|
34
|
+
return jsx("div", {
|
|
35
|
+
css: _this.props.styles.firstTextContainer
|
|
36
|
+
}, content);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
_this.renderCell = function (content) {
|
|
40
|
+
return jsx("div", {
|
|
41
|
+
css: _this.props.styles.textContainer
|
|
42
|
+
}, content);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
_this.renderRow = function (choice, choiceIndex) {
|
|
46
|
+
var count = choice.count,
|
|
47
|
+
score = choice.score,
|
|
48
|
+
percentage = choice.percentage;
|
|
49
|
+
return jsx(Table.Row, {
|
|
50
|
+
key: choiceIndex
|
|
51
|
+
}, jsx(Table.Cell, {
|
|
52
|
+
themeOverride: {
|
|
53
|
+
padding: '0'
|
|
54
|
+
}
|
|
55
|
+
}, _this.renderFirstCell(score)), jsx(Table.Cell, {
|
|
56
|
+
themeOverride: {
|
|
57
|
+
padding: '0'
|
|
58
|
+
}
|
|
59
|
+
}, _this.renderCell(count)), jsx(Table.Cell, {
|
|
60
|
+
themeOverride: {
|
|
61
|
+
padding: '0'
|
|
62
|
+
},
|
|
63
|
+
textAlign: "center"
|
|
64
|
+
}, _this.renderCell("".concat(percentage, "%"))));
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
return _this;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
_createClass(ScoreDistributionTypeTable, [{
|
|
71
|
+
key: "componentDidMount",
|
|
72
|
+
value: function componentDidMount() {
|
|
73
|
+
this.props.makeStyles();
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
key: "componentDidUpdate",
|
|
77
|
+
value: function componentDidUpdate() {
|
|
78
|
+
this.props.makeStyles();
|
|
79
|
+
}
|
|
80
|
+
}, {
|
|
81
|
+
key: "render",
|
|
82
|
+
value: function render() {
|
|
83
|
+
var _this$props = this.props,
|
|
84
|
+
scores = _this$props.scores,
|
|
85
|
+
itemId = _this$props.itemId,
|
|
86
|
+
styles = _this$props.styles;
|
|
87
|
+
var pointsHeaderId = "answer-frequency-summary-points-".concat(itemId);
|
|
88
|
+
var respondentsHeaderId = "answer-frequency-summary-respondents-".concat(itemId);
|
|
89
|
+
var percentageHeaderId = "answer-frequency-summary-percentage-".concat(itemId);
|
|
90
|
+
return jsx("div", {
|
|
91
|
+
css: styles.tableContainer
|
|
92
|
+
}, jsx(Table, {
|
|
93
|
+
caption: t('Score Frequency Summary'),
|
|
94
|
+
elementRef: this.setTableRef
|
|
95
|
+
}, jsx(Table.Head, null, jsx(Table.Row, null, jsx(Table.ColHeader, {
|
|
96
|
+
id: pointsHeaderId,
|
|
97
|
+
height: "47px"
|
|
98
|
+
}, t('Points')), jsx(Table.ColHeader, {
|
|
99
|
+
id: respondentsHeaderId,
|
|
100
|
+
height: "47px",
|
|
101
|
+
textAlign: "center"
|
|
102
|
+
}, t('Respondents')), jsx(Table.ColHeader, {
|
|
103
|
+
id: percentageHeaderId,
|
|
104
|
+
height: "47px",
|
|
105
|
+
textAlign: "center"
|
|
106
|
+
}, t('%')))), jsx(Table.Body, null, scores.map(this.renderRow))));
|
|
107
|
+
}
|
|
108
|
+
}]);
|
|
109
|
+
|
|
110
|
+
ScoreDistributionTypeTable.displayName = "ScoreDistributionTypeTable";
|
|
111
|
+
return ScoreDistributionTypeTable;
|
|
112
|
+
}(Component), _class2.propTypes = {
|
|
113
|
+
itemId: PropTypes.number.isRequired,
|
|
114
|
+
scores: PropTypes.arrayOf(scoreDistributionType).isRequired,
|
|
115
|
+
// eslint-disable-next-line react/require-default-props
|
|
116
|
+
makeStyles: PropTypes.func,
|
|
117
|
+
// eslint-disable-next-line react/require-default-props,react/forbid-prop-types
|
|
118
|
+
styles: PropTypes.object
|
|
119
|
+
}, _temp)) || _class);
|
|
120
|
+
export default ScoreDistributionTypeTable;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var generateStyle = function generateStyle(componentTheme) {
|
|
2
|
+
var borderBottom = "solid 0.0625rem ".concat(componentTheme.colorGray);
|
|
3
|
+
return {
|
|
4
|
+
tableContainer: {
|
|
5
|
+
width: 'calc(25% + 350px)',
|
|
6
|
+
maxWidth: '100%',
|
|
7
|
+
'& table': {
|
|
8
|
+
borderCollapse: 'separate',
|
|
9
|
+
borderSpacing: '0 1px',
|
|
10
|
+
'& thead tr': {
|
|
11
|
+
'& th, & td': {
|
|
12
|
+
borderBottom: borderBottom
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
'& tbody tr': {
|
|
16
|
+
'& th, & td': {
|
|
17
|
+
width: '33.33%',
|
|
18
|
+
borderBottom: borderBottom
|
|
19
|
+
},
|
|
20
|
+
'& th': {
|
|
21
|
+
fontWeight: 400
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
textContainer: {
|
|
27
|
+
height: 'calc(100% - 4px)',
|
|
28
|
+
display: 'flex',
|
|
29
|
+
alignItems: 'center',
|
|
30
|
+
justifyContent: 'center'
|
|
31
|
+
},
|
|
32
|
+
firstTextContainer: {
|
|
33
|
+
padding: componentTheme.cellPadding
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export default generateStyle;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var generateComponentTheme = function generateComponentTheme(_ref) {
|
|
2
|
+
var spacing = _ref.spacing,
|
|
3
|
+
colors = _ref.colors;
|
|
4
|
+
return {
|
|
5
|
+
tableBottomPadding: spacing === null || spacing === void 0 ? void 0 : spacing.medium,
|
|
6
|
+
colorGray: colors === null || colors === void 0 ? void 0 : colors.tiara,
|
|
7
|
+
cellPadding: "".concat(spacing === null || spacing === void 0 ? void 0 : spacing.small, " ").concat(spacing === null || spacing === void 0 ? void 0 : spacing.small)
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default generateComponentTheme;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
3
|
+
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
4
|
+
import React, { Component } from 'react';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import ScoreDistributionTypeTable from "./Table/index.js";
|
|
7
|
+
import { scoreDistributionTypeAnswerSummaryPropType } from "../../propTypes.js";
|
|
8
|
+
import AggregationTable from "../shared/AggregationTable/index.js";
|
|
9
|
+
import { AfsPartsContainer } from "../shared/AfsPartsContainer/presenter.js";
|
|
10
|
+
import AfsTableWrapper from "../shared/AfsTableWrapper/index.js";
|
|
11
|
+
import t from '@instructure/quiz-i18n/es/format-message';
|
|
12
|
+
export var ScoreDistributionType = /*#__PURE__*/function (_Component) {
|
|
13
|
+
_inherits(ScoreDistributionType, _Component);
|
|
14
|
+
|
|
15
|
+
var _super = _createSuper(ScoreDistributionType);
|
|
16
|
+
|
|
17
|
+
function ScoreDistributionType() {
|
|
18
|
+
var _this;
|
|
19
|
+
|
|
20
|
+
_classCallCheck(this, ScoreDistributionType);
|
|
21
|
+
|
|
22
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
23
|
+
args[_key] = arguments[_key];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
27
|
+
|
|
28
|
+
_this.render = function () {
|
|
29
|
+
var _this$props = _this.props,
|
|
30
|
+
answerSummary = _this$props.answerSummary,
|
|
31
|
+
itemId = _this$props.itemId;
|
|
32
|
+
return /*#__PURE__*/React.createElement(AfsTableWrapper, {
|
|
33
|
+
tableHeader: t('Score Frequency Summary')
|
|
34
|
+
}, /*#__PURE__*/React.createElement(AfsPartsContainer, {
|
|
35
|
+
afsTable: /*#__PURE__*/React.createElement(ScoreDistributionTypeTable, {
|
|
36
|
+
itemId: itemId,
|
|
37
|
+
scores: answerSummary.score_distribution
|
|
38
|
+
}),
|
|
39
|
+
aggregationTable: /*#__PURE__*/React.createElement(AggregationTable, {
|
|
40
|
+
itemId: itemId,
|
|
41
|
+
answerSummary: answerSummary
|
|
42
|
+
})
|
|
43
|
+
}));
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
return _this;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return ScoreDistributionType;
|
|
50
|
+
}(Component);
|
|
51
|
+
ScoreDistributionType.propTypes = {
|
|
52
|
+
itemId: PropTypes.number,
|
|
53
|
+
answerSummary: scoreDistributionTypeAnswerSummaryPropType
|
|
54
|
+
}.isRequired;
|
|
55
|
+
export default ScoreDistributionType;
|
package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js
CHANGED
|
@@ -8,6 +8,7 @@ import ChoiceType from "./ChoiceType/index.js";
|
|
|
8
8
|
import RichFillBlankType from "./RichFillBlankType/index.js";
|
|
9
9
|
import AggregationType from "./AggregationType/index.js";
|
|
10
10
|
import { MatchingType, OrderingType, CategorizationType } from "./MatchingType/index.js";
|
|
11
|
+
import { ScoreDistributionType } from "./ScoreDistributionType/index.js";
|
|
11
12
|
import { afsFlags, answerSummaryPropType } from "../propTypes.js";
|
|
12
13
|
export var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
|
|
13
14
|
_inherits(AnswerFrequencySummary, _Component);
|
|
@@ -62,6 +63,14 @@ export var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
|
|
|
62
63
|
if (afsFlags.fillInTheBlankEnabled) {
|
|
63
64
|
_this.afsTableComponentMap.set('rich-fill-blank', RichFillBlankType);
|
|
64
65
|
}
|
|
66
|
+
|
|
67
|
+
if (afsFlags.essayEnabled) {
|
|
68
|
+
_this.afsTableComponentMap.set('essay', ScoreDistributionType);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (afsFlags.fileUploadEnabled) {
|
|
72
|
+
_this.afsTableComponentMap.set('file-upload', ScoreDistributionType);
|
|
73
|
+
}
|
|
65
74
|
};
|
|
66
75
|
|
|
67
76
|
_this.render = function () {
|
|
@@ -28,6 +28,11 @@ export var AfsTableWrapper = (_dec = withStyle(generateStyle, null), _dec(_class
|
|
|
28
28
|
|
|
29
29
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
30
30
|
|
|
31
|
+
_this.getHeader = function () {
|
|
32
|
+
var tableHeader = _this.props.tableHeader;
|
|
33
|
+
return tableHeader || t('Answer Frequency Summary');
|
|
34
|
+
};
|
|
35
|
+
|
|
31
36
|
_this.render = function () {
|
|
32
37
|
return jsx(Flex, {
|
|
33
38
|
direction: "row",
|
|
@@ -41,7 +46,7 @@ export var AfsTableWrapper = (_dec = withStyle(generateStyle, null), _dec(_class
|
|
|
41
46
|
level: "h3",
|
|
42
47
|
weight: "bold",
|
|
43
48
|
color: "primary"
|
|
44
|
-
},
|
|
49
|
+
}, _this.getHeader()), _this.props.children)));
|
|
45
50
|
};
|
|
46
51
|
|
|
47
52
|
return _this;
|
|
@@ -50,5 +55,6 @@ export var AfsTableWrapper = (_dec = withStyle(generateStyle, null), _dec(_class
|
|
|
50
55
|
return AfsTableWrapper;
|
|
51
56
|
}(Component), _class2.propTypes = {
|
|
52
57
|
children: PropTypes.node.isRequired,
|
|
53
|
-
styles: PropTypes.object
|
|
58
|
+
styles: PropTypes.object,
|
|
59
|
+
tableHeader: PropTypes.string
|
|
54
60
|
}, _temp)) || _class);
|
|
@@ -9,28 +9,28 @@ import t from '@instructure/quiz-i18n/es/format-message';
|
|
|
9
9
|
import { Table } from '@instructure/ui-table';
|
|
10
10
|
import { onlyAggregatePropType } from "../../../propTypes.js";
|
|
11
11
|
import PropTypes from 'prop-types';
|
|
12
|
-
import { IconCheckSolid, IconXSolid, IconNoSolid,
|
|
12
|
+
import { IconCheckSolid, IconXSolid, IconNoSolid, IconGradebookSolid } from '@instructure/ui-icons';
|
|
13
13
|
import { themeable } from '@instructure/ui-themeable';
|
|
14
14
|
import theme from "./theme.js";
|
|
15
15
|
var styles = {
|
|
16
|
-
componentId: '
|
|
16
|
+
componentId: 'fMmrG',
|
|
17
17
|
template: function template(theme) {
|
|
18
|
-
return "\n\n.
|
|
18
|
+
return "\n\n.fMmrG_cvRx{align-items:center;display:flex;height:100%;justify-content:center;min-height:47px;width:46px}\n\n.fMmrG_fPIL{min-width:500px}\n\n.fMmrG_fPIL table{border-collapse:separate;border-spacing:0 12px}\n\n.fMmrG_fPIL thead th{border-color:".concat(theme.colorHeaderBottomBorder || 'inherit', ";border-style:solid;border-width:0 0 1px 0}\n\n.fMmrG_fPIL table tbody tr td{border-style:solid;border-width:2px 0 2px 0;width:33.33%}\n\n.fMmrG_fPIL table tbody tr th:first-child{border-radius:4px 0 0 4px;border-style:solid;border-width:2px 0 2px 2px;font-weight:400}\n\n.fMmrG_fPIL table tbody tr td:last-child{border-radius:0 4px 4px 0;border-style:solid;border-width:2px 2px 2px 0}\n\n.fMmrG_dzqP table tbody tr:first-child td,.fMmrG_dzqP table tbody tr:first-child th{border-color:").concat(theme.colorGrey || 'inherit', "}\n\n.fMmrG_fZpZ table tbody tr:first-child td,.fMmrG_fZpZ table tbody tr:first-child th{border-color:").concat(theme.colorGreen || 'inherit', "}\n\n.fMmrG_fZpZ table tbody tr:nth-child(2) td,.fMmrG_fZpZ table tbody tr:nth-child(2) th{border-color:").concat(theme.colorRed || 'inherit', "}\n\n.fMmrG_dgTJ table tbody tr:first-child td,.fMmrG_dgTJ table tbody tr:first-child th{border-color:").concat(theme.colorGreen || 'inherit', "}\n\n.fMmrG_dgTJ table tbody tr:nth-child(2) td,.fMmrG_dgTJ table tbody tr:nth-child(2) th{border-color:").concat(theme.colorRed || 'inherit', "}\n\n.fMmrG_dgTJ table tbody tr:nth-child(3) td,.fMmrG_dgTJ table tbody tr:nth-child(3) th{border-color:").concat(theme.colorGrey || 'inherit', "}\n\n.fMmrG_bYLj table tbody tr:first-child td,.fMmrG_bYLj table tbody tr:first-child th{border-color:").concat(theme.colorGreen || 'inherit', "}\n\n.fMmrG_bYLj table tbody tr:nth-child(2) td,.fMmrG_bYLj table tbody tr:nth-child(2) th{border-color:").concat(theme.colorBlue || 'inherit', "}\n\n.fMmrG_bYLj table tbody tr:nth-child(3) td,.fMmrG_bYLj table tbody tr:nth-child(3) th{border-color:").concat(theme.colorRed || 'inherit', "}\n\n.fMmrG_bYLj table tbody tr:nth-child(4) td,.fMmrG_bYLj table tbody tr:nth-child(4) th{border-color:").concat(theme.colorGrey || 'inherit', "}\n\n.fMmrG_bvau{background-color:").concat(theme.colorGreen || 'inherit', "}\n\n.fMmrG_cxOH{background-color:").concat(theme.colorRed || 'inherit', "}\n\n.fMmrG_dsqS{background-color:").concat(theme.colorBlue || 'inherit', "}\n\n.fMmrG_eKcq{background-color:").concat(theme.colorGrey || 'inherit', "}\n\n.fMmrG_euQM{padding:12px 0 12px 10px}\n\n.fMmrG_fuuc{padding-left:45px}\n\n.fMmrG_vDgC svg{fill:#fff}\n\n.fMmrG_fHMm{border-color:").concat(theme.colorHeaderBottomBorder || 'inherit', ";border-style:solid;border-width:0 0 1px 0}");
|
|
19
19
|
},
|
|
20
|
-
'iconWrapper': '
|
|
21
|
-
'collapsingTable': '
|
|
22
|
-
'onlyNoanswer': '
|
|
23
|
-
'correctIncorrect': '
|
|
24
|
-
'correctIncorrectNoanswer': '
|
|
25
|
-
'
|
|
26
|
-
'correctBackground': '
|
|
27
|
-
'incorrectBackground': '
|
|
28
|
-
'
|
|
29
|
-
'noAnswerBackground': '
|
|
30
|
-
'labelWrapper': '
|
|
31
|
-
'firstHeaderCell': '
|
|
32
|
-
'iconWhite': '
|
|
33
|
-
'headerCell': '
|
|
20
|
+
'iconWrapper': 'fMmrG_cvRx',
|
|
21
|
+
'collapsingTable': 'fMmrG_fPIL',
|
|
22
|
+
'onlyNoanswer': 'fMmrG_dzqP',
|
|
23
|
+
'correctIncorrect': 'fMmrG_fZpZ',
|
|
24
|
+
'correctIncorrectNoanswer': 'fMmrG_dgTJ',
|
|
25
|
+
'correctIncorrectNoanswerGraded': 'fMmrG_bYLj',
|
|
26
|
+
'correctBackground': 'fMmrG_bvau',
|
|
27
|
+
'incorrectBackground': 'fMmrG_cxOH',
|
|
28
|
+
'gradedBackground': 'fMmrG_dsqS',
|
|
29
|
+
'noAnswerBackground': 'fMmrG_eKcq',
|
|
30
|
+
'labelWrapper': 'fMmrG_euQM',
|
|
31
|
+
'firstHeaderCell': 'fMmrG_fuuc',
|
|
32
|
+
'iconWhite': 'fMmrG_vDgC',
|
|
33
|
+
'headerCell': 'fMmrG_fHMm'
|
|
34
34
|
};
|
|
35
35
|
import { Flex } from '@instructure/ui-flex';
|
|
36
36
|
import classNames from 'classnames';
|
|
@@ -40,11 +40,11 @@ import { noAnswerMissing } from "./popoverContent.js";
|
|
|
40
40
|
var noAnswerKey = 'noAnswer';
|
|
41
41
|
var incorrectKey = 'incorrect';
|
|
42
42
|
var correctKey = 'correct';
|
|
43
|
-
var
|
|
43
|
+
var gradedKey = 'graded';
|
|
44
44
|
|
|
45
45
|
var _ref = /*#__PURE__*/React.createElement(IconCheckSolid, null);
|
|
46
46
|
|
|
47
|
-
var _ref2 = /*#__PURE__*/React.createElement(
|
|
47
|
+
var _ref2 = /*#__PURE__*/React.createElement(IconGradebookSolid, null);
|
|
48
48
|
|
|
49
49
|
var _ref3 = /*#__PURE__*/React.createElement(IconXSolid, null);
|
|
50
50
|
|
|
@@ -122,9 +122,9 @@ export var AggregationTable = (_dec = themeable(theme, styles), _dec(_class = (_
|
|
|
122
122
|
}, /*#__PURE__*/React.createElement(Text, null, concatenatedPercentage)));
|
|
123
123
|
};
|
|
124
124
|
|
|
125
|
-
_this.
|
|
126
|
-
var
|
|
127
|
-
return !!
|
|
125
|
+
_this.gradedExist = function () {
|
|
126
|
+
var graded = _this.props.answerSummary.graded;
|
|
127
|
+
return !!graded;
|
|
128
128
|
};
|
|
129
129
|
|
|
130
130
|
_this.correctExist = function () {
|
|
@@ -142,24 +142,19 @@ export var AggregationTable = (_dec = themeable(theme, styles), _dec(_class = (_
|
|
|
142
142
|
return !!no_answer;
|
|
143
143
|
};
|
|
144
144
|
|
|
145
|
-
_this.getCorrectLabel = function () {
|
|
146
|
-
return _this.partialCorrectExist() ? t('Fully correct') : t('Correct');
|
|
147
|
-
};
|
|
148
|
-
|
|
149
145
|
_this.renderCorrect = function () {
|
|
150
146
|
var aggregate = _this.props.answerSummary.aggregate;
|
|
151
147
|
var correct = aggregate.correct;
|
|
152
148
|
var correctCount = correct.count || 0;
|
|
153
149
|
var correctPercentage = correct.percentage || 0;
|
|
154
|
-
return _this.renderRow(correctKey, _ref,
|
|
150
|
+
return _this.renderRow(correctKey, _ref, t('Correct'), correctCount, correctPercentage);
|
|
155
151
|
};
|
|
156
152
|
|
|
157
|
-
_this.
|
|
158
|
-
var
|
|
159
|
-
var
|
|
160
|
-
var
|
|
161
|
-
|
|
162
|
-
return _this.renderRow(partialCorrectKey, _ref2, t('Partially correct'), partialCorrectCount, partialCorrectPercentage);
|
|
153
|
+
_this.renderGraded = function () {
|
|
154
|
+
var graded = _this.props.answerSummary.graded;
|
|
155
|
+
var gradedCount = graded.count || 0;
|
|
156
|
+
var gradedPercentage = graded.percentage || 0;
|
|
157
|
+
return _this.renderRow(gradedKey, _ref2, t('Graded'), gradedCount, gradedPercentage);
|
|
163
158
|
};
|
|
164
159
|
|
|
165
160
|
_this.renderIncorrect = function () {
|
|
@@ -180,16 +175,16 @@ export var AggregationTable = (_dec = themeable(theme, styles), _dec(_class = (_
|
|
|
180
175
|
_this.getColorProfile = function () {
|
|
181
176
|
var colorProfile;
|
|
182
177
|
|
|
183
|
-
var
|
|
178
|
+
var correctIncorrectNoAnswerGraded = _this.gradedExist() && _this.noAnswerExist() && _this.correctExist() && _this.incorrectExist();
|
|
184
179
|
|
|
185
|
-
var correctIncorrectNoAnswer = !_this.
|
|
180
|
+
var correctIncorrectNoAnswer = !_this.gradedExist() && _this.noAnswerExist() && _this.correctExist() && _this.incorrectExist();
|
|
186
181
|
|
|
187
|
-
var onlyNoAnswer = _this.noAnswerExist() && !_this.
|
|
182
|
+
var onlyNoAnswer = _this.noAnswerExist() && !_this.gradedExist() && !_this.correctExist() && !_this.incorrectExist();
|
|
188
183
|
|
|
189
184
|
if (correctIncorrectNoAnswer) {
|
|
190
185
|
colorProfile = 'correctIncorrectNoanswer';
|
|
191
|
-
} else if (
|
|
192
|
-
colorProfile = '
|
|
186
|
+
} else if (correctIncorrectNoAnswerGraded) {
|
|
187
|
+
colorProfile = 'correctIncorrectNoanswerGraded';
|
|
193
188
|
} else if (onlyNoAnswer) {
|
|
194
189
|
colorProfile = 'onlyNoanswer';
|
|
195
190
|
} else {
|
|
@@ -205,7 +200,7 @@ export var AggregationTable = (_dec = themeable(theme, styles), _dec(_class = (_
|
|
|
205
200
|
className: classNames(styles.collapsingTable, styles[_this.getColorProfile()])
|
|
206
201
|
}, /*#__PURE__*/React.createElement(Table, {
|
|
207
202
|
caption: t('Answer Frequency Summary Aggregates')
|
|
208
|
-
}, _this.renderHeaderRow(popover), /*#__PURE__*/React.createElement(Table.Body, null, _this.correctExist() && _this.renderCorrect(), _this.
|
|
203
|
+
}, _this.renderHeaderRow(popover), /*#__PURE__*/React.createElement(Table.Body, null, _this.correctExist() && _this.renderCorrect(), _this.gradedExist() && _this.renderGraded(), _this.incorrectExist() && _this.renderIncorrect(), _this.noAnswerExist() && _this.renderNoAnswer())));
|
|
209
204
|
};
|
|
210
205
|
|
|
211
206
|
return _this;
|
|
@@ -13,7 +13,9 @@ function mapStateToProps(_state) {
|
|
|
13
13
|
trueFalseEnabled: featureOn('ia_true_false_afs'),
|
|
14
14
|
choiceEnabled: featureOn('ia_choice_afs'),
|
|
15
15
|
multiAnswerEnabled: featureOn('ia_multi_answer_afs'),
|
|
16
|
-
fillInTheBlankEnabled: featureOn('ia_rich_fill_blank_afs')
|
|
16
|
+
fillInTheBlankEnabled: featureOn('ia_rich_fill_blank_afs'),
|
|
17
|
+
essayEnabled: featureOn('ia_essay_afs'),
|
|
18
|
+
fileUploadEnabled: featureOn('ia_file_upload_afs')
|
|
17
19
|
}
|
|
18
20
|
};
|
|
19
21
|
}
|
|
@@ -32,11 +32,11 @@ export var aggregateDetailPropType = PropTypes.shape({
|
|
|
32
32
|
});
|
|
33
33
|
export var aggregatePropType = PropTypes.shape({
|
|
34
34
|
correct: aggregateDetailPropType.isRequired,
|
|
35
|
-
incorrect: aggregateDetailPropType.isRequired
|
|
36
|
-
partial_correct: aggregateDetailPropType
|
|
35
|
+
incorrect: aggregateDetailPropType.isRequired
|
|
37
36
|
});
|
|
38
37
|
export var onlyAggregatePropType = PropTypes.shape({
|
|
39
38
|
no_answer: aggregateDetailPropType,
|
|
39
|
+
graded: aggregateDetailPropType,
|
|
40
40
|
aggregate: aggregatePropType
|
|
41
41
|
});
|
|
42
42
|
export var choiceTypeObject = PropTypes.shape({
|
|
@@ -50,6 +50,17 @@ export var choiceTypeAnswerSummaryPropType = PropTypes.shape({
|
|
|
50
50
|
no_answer: aggregateDetailPropType,
|
|
51
51
|
aggregate: aggregatePropType
|
|
52
52
|
});
|
|
53
|
+
export var scoreDistributionTypeAnswerSummaryPropType = PropTypes.shape({
|
|
54
|
+
no_answer: aggregateDetailPropType.isRequired,
|
|
55
|
+
aggregate: aggregatePropType.isRequired,
|
|
56
|
+
graded: aggregateDetailPropType.isRequired,
|
|
57
|
+
score_distribution: PropTypes.arrayOf(scoreDistributionType).isRequired
|
|
58
|
+
});
|
|
59
|
+
export var scoreDistributionType = PropTypes.shape({
|
|
60
|
+
count: PropTypes.number.isRequired,
|
|
61
|
+
score: PropTypes.number.isRequired,
|
|
62
|
+
percentage: PropTypes.number.isRequired
|
|
63
|
+
});
|
|
53
64
|
export var matchingTypeAnswerSummaryPropType = PropTypes.shape({
|
|
54
65
|
questions: PropTypes.objectOf(PropTypes.shape({
|
|
55
66
|
body: PropTypes.string,
|
|
@@ -77,7 +88,7 @@ export var richFillBlankTypeAnswerSummaryPropType = PropTypes.shape({
|
|
|
77
88
|
no_answer: aggregateDetailPropType,
|
|
78
89
|
aggregate: aggregatePropType
|
|
79
90
|
});
|
|
80
|
-
export var answerSummaryPropType = PropTypes.oneOfType([choiceTypeAnswerSummaryPropType, onlyAggregatePropType, matchingTypeAnswerSummaryPropType, richFillBlankTypeAnswerSummaryPropType]);
|
|
91
|
+
export var answerSummaryPropType = PropTypes.oneOfType([choiceTypeAnswerSummaryPropType, onlyAggregatePropType, matchingTypeAnswerSummaryPropType, richFillBlankTypeAnswerSummaryPropType, scoreDistributionTypeAnswerSummaryPropType]);
|
|
81
92
|
export var itemAnalysisPropType = PropTypes.shape({
|
|
82
93
|
attempts: PropTypes.shape({
|
|
83
94
|
students_responded: PropTypes.number,
|
|
@@ -109,5 +120,7 @@ export var afsFlags = PropTypes.shape({
|
|
|
109
120
|
trueFalseEnabled: PropTypes.bool.isRequired,
|
|
110
121
|
choiceEnabled: PropTypes.bool.isRequired,
|
|
111
122
|
multiAnswerEnabled: PropTypes.bool.isRequired,
|
|
112
|
-
fillInTheBlankEnabled: PropTypes.bool.isRequired
|
|
123
|
+
fillInTheBlankEnabled: PropTypes.bool.isRequired,
|
|
124
|
+
essayEnabled: PropTypes.bool.isRequired,
|
|
125
|
+
fileUploadEnabled: PropTypes.bool.isRequired
|
|
113
126
|
});
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = exports.ScoreDistributionTypeTable = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
|
|
16
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
17
|
+
|
|
18
|
+
var _propTypes = require("../../../propTypes.js");
|
|
19
|
+
|
|
20
|
+
var _react = require("react");
|
|
21
|
+
|
|
22
|
+
var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
|
|
23
|
+
|
|
24
|
+
var _uiTable = require("@instructure/ui-table");
|
|
25
|
+
|
|
26
|
+
var _propTypes2 = _interopRequireDefault(require("prop-types"));
|
|
27
|
+
|
|
28
|
+
var _emotion = require("@instructure/emotion");
|
|
29
|
+
|
|
30
|
+
var _styles = _interopRequireDefault(require("./styles.js"));
|
|
31
|
+
|
|
32
|
+
var _theme = _interopRequireDefault(require("./theme.js"));
|
|
33
|
+
|
|
34
|
+
var _dec, _class, _class2, _temp;
|
|
35
|
+
|
|
36
|
+
var ScoreDistributionTypeTable = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
37
|
+
(0, _inherits2.default)(ScoreDistributionTypeTable, _Component);
|
|
38
|
+
|
|
39
|
+
var _super = (0, _createSuper2.default)(ScoreDistributionTypeTable);
|
|
40
|
+
|
|
41
|
+
function ScoreDistributionTypeTable() {
|
|
42
|
+
var _this;
|
|
43
|
+
|
|
44
|
+
(0, _classCallCheck2.default)(this, ScoreDistributionTypeTable);
|
|
45
|
+
|
|
46
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
47
|
+
args[_key] = arguments[_key];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
51
|
+
|
|
52
|
+
_this.renderFirstCell = function (content) {
|
|
53
|
+
return (0, _emotion.jsx)("div", {
|
|
54
|
+
css: _this.props.styles.firstTextContainer
|
|
55
|
+
}, content);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
_this.renderCell = function (content) {
|
|
59
|
+
return (0, _emotion.jsx)("div", {
|
|
60
|
+
css: _this.props.styles.textContainer
|
|
61
|
+
}, content);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
_this.renderRow = function (choice, choiceIndex) {
|
|
65
|
+
var count = choice.count,
|
|
66
|
+
score = choice.score,
|
|
67
|
+
percentage = choice.percentage;
|
|
68
|
+
return (0, _emotion.jsx)(_uiTable.Table.Row, {
|
|
69
|
+
key: choiceIndex
|
|
70
|
+
}, (0, _emotion.jsx)(_uiTable.Table.Cell, {
|
|
71
|
+
themeOverride: {
|
|
72
|
+
padding: '0'
|
|
73
|
+
}
|
|
74
|
+
}, _this.renderFirstCell(score)), (0, _emotion.jsx)(_uiTable.Table.Cell, {
|
|
75
|
+
themeOverride: {
|
|
76
|
+
padding: '0'
|
|
77
|
+
}
|
|
78
|
+
}, _this.renderCell(count)), (0, _emotion.jsx)(_uiTable.Table.Cell, {
|
|
79
|
+
themeOverride: {
|
|
80
|
+
padding: '0'
|
|
81
|
+
},
|
|
82
|
+
textAlign: "center"
|
|
83
|
+
}, _this.renderCell("".concat(percentage, "%"))));
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
return _this;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
(0, _createClass2.default)(ScoreDistributionTypeTable, [{
|
|
90
|
+
key: "componentDidMount",
|
|
91
|
+
value: function componentDidMount() {
|
|
92
|
+
this.props.makeStyles();
|
|
93
|
+
}
|
|
94
|
+
}, {
|
|
95
|
+
key: "componentDidUpdate",
|
|
96
|
+
value: function componentDidUpdate() {
|
|
97
|
+
this.props.makeStyles();
|
|
98
|
+
}
|
|
99
|
+
}, {
|
|
100
|
+
key: "render",
|
|
101
|
+
value: function render() {
|
|
102
|
+
var _this$props = this.props,
|
|
103
|
+
scores = _this$props.scores,
|
|
104
|
+
itemId = _this$props.itemId,
|
|
105
|
+
styles = _this$props.styles;
|
|
106
|
+
var pointsHeaderId = "answer-frequency-summary-points-".concat(itemId);
|
|
107
|
+
var respondentsHeaderId = "answer-frequency-summary-respondents-".concat(itemId);
|
|
108
|
+
var percentageHeaderId = "answer-frequency-summary-percentage-".concat(itemId);
|
|
109
|
+
return (0, _emotion.jsx)("div", {
|
|
110
|
+
css: styles.tableContainer
|
|
111
|
+
}, (0, _emotion.jsx)(_uiTable.Table, {
|
|
112
|
+
caption: (0, _formatMessage.default)('Score Frequency Summary'),
|
|
113
|
+
elementRef: this.setTableRef
|
|
114
|
+
}, (0, _emotion.jsx)(_uiTable.Table.Head, null, (0, _emotion.jsx)(_uiTable.Table.Row, null, (0, _emotion.jsx)(_uiTable.Table.ColHeader, {
|
|
115
|
+
id: pointsHeaderId,
|
|
116
|
+
height: "47px"
|
|
117
|
+
}, (0, _formatMessage.default)('Points')), (0, _emotion.jsx)(_uiTable.Table.ColHeader, {
|
|
118
|
+
id: respondentsHeaderId,
|
|
119
|
+
height: "47px",
|
|
120
|
+
textAlign: "center"
|
|
121
|
+
}, (0, _formatMessage.default)('Respondents')), (0, _emotion.jsx)(_uiTable.Table.ColHeader, {
|
|
122
|
+
id: percentageHeaderId,
|
|
123
|
+
height: "47px",
|
|
124
|
+
textAlign: "center"
|
|
125
|
+
}, (0, _formatMessage.default)('%')))), (0, _emotion.jsx)(_uiTable.Table.Body, null, scores.map(this.renderRow))));
|
|
126
|
+
}
|
|
127
|
+
}]);
|
|
128
|
+
ScoreDistributionTypeTable.displayName = "ScoreDistributionTypeTable";
|
|
129
|
+
return ScoreDistributionTypeTable;
|
|
130
|
+
}(_react.Component), _class2.propTypes = {
|
|
131
|
+
itemId: _propTypes2.default.number.isRequired,
|
|
132
|
+
scores: _propTypes2.default.arrayOf(_propTypes.scoreDistributionType).isRequired,
|
|
133
|
+
// eslint-disable-next-line react/require-default-props
|
|
134
|
+
makeStyles: _propTypes2.default.func,
|
|
135
|
+
// eslint-disable-next-line react/require-default-props,react/forbid-prop-types
|
|
136
|
+
styles: _propTypes2.default.object
|
|
137
|
+
}, _temp)) || _class);
|
|
138
|
+
exports.ScoreDistributionTypeTable = ScoreDistributionTypeTable;
|
|
139
|
+
var _default = ScoreDistributionTypeTable;
|
|
140
|
+
exports.default = _default;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var generateStyle = function generateStyle(componentTheme) {
|
|
9
|
+
var borderBottom = "solid 0.0625rem ".concat(componentTheme.colorGray);
|
|
10
|
+
return {
|
|
11
|
+
tableContainer: {
|
|
12
|
+
width: 'calc(25% + 350px)',
|
|
13
|
+
maxWidth: '100%',
|
|
14
|
+
'& table': {
|
|
15
|
+
borderCollapse: 'separate',
|
|
16
|
+
borderSpacing: '0 1px',
|
|
17
|
+
'& thead tr': {
|
|
18
|
+
'& th, & td': {
|
|
19
|
+
borderBottom: borderBottom
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
'& tbody tr': {
|
|
23
|
+
'& th, & td': {
|
|
24
|
+
width: '33.33%',
|
|
25
|
+
borderBottom: borderBottom
|
|
26
|
+
},
|
|
27
|
+
'& th': {
|
|
28
|
+
fontWeight: 400
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
textContainer: {
|
|
34
|
+
height: 'calc(100% - 4px)',
|
|
35
|
+
display: 'flex',
|
|
36
|
+
alignItems: 'center',
|
|
37
|
+
justifyContent: 'center'
|
|
38
|
+
},
|
|
39
|
+
firstTextContainer: {
|
|
40
|
+
padding: componentTheme.cellPadding
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var _default = generateStyle;
|
|
46
|
+
exports.default = _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var generateComponentTheme = function generateComponentTheme(_ref) {
|
|
9
|
+
var spacing = _ref.spacing,
|
|
10
|
+
colors = _ref.colors;
|
|
11
|
+
return {
|
|
12
|
+
tableBottomPadding: spacing === null || spacing === void 0 ? void 0 : spacing.medium,
|
|
13
|
+
colorGray: colors === null || colors === void 0 ? void 0 : colors.tiara,
|
|
14
|
+
cellPadding: "".concat(spacing === null || spacing === void 0 ? void 0 : spacing.small, " ").concat(spacing === null || spacing === void 0 ? void 0 : spacing.small)
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var _default = generateComponentTheme;
|
|
19
|
+
exports.default = _default;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = exports.ScoreDistributionType = void 0;
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
|
|
16
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
21
|
+
|
|
22
|
+
var _index = _interopRequireDefault(require("./Table/index.js"));
|
|
23
|
+
|
|
24
|
+
var _propTypes2 = require("../../propTypes.js");
|
|
25
|
+
|
|
26
|
+
var _index2 = _interopRequireDefault(require("../shared/AggregationTable/index.js"));
|
|
27
|
+
|
|
28
|
+
var _presenter = require("../shared/AfsPartsContainer/presenter.js");
|
|
29
|
+
|
|
30
|
+
var _index3 = _interopRequireDefault(require("../shared/AfsTableWrapper/index.js"));
|
|
31
|
+
|
|
32
|
+
var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
|
|
33
|
+
|
|
34
|
+
var ScoreDistributionType = /*#__PURE__*/function (_Component) {
|
|
35
|
+
(0, _inherits2.default)(ScoreDistributionType, _Component);
|
|
36
|
+
|
|
37
|
+
var _super = (0, _createSuper2.default)(ScoreDistributionType);
|
|
38
|
+
|
|
39
|
+
function ScoreDistributionType() {
|
|
40
|
+
var _this;
|
|
41
|
+
|
|
42
|
+
(0, _classCallCheck2.default)(this, ScoreDistributionType);
|
|
43
|
+
|
|
44
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
45
|
+
args[_key] = arguments[_key];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
49
|
+
|
|
50
|
+
_this.render = function () {
|
|
51
|
+
var _this$props = _this.props,
|
|
52
|
+
answerSummary = _this$props.answerSummary,
|
|
53
|
+
itemId = _this$props.itemId;
|
|
54
|
+
return /*#__PURE__*/_react.default.createElement(_index3.default, {
|
|
55
|
+
tableHeader: (0, _formatMessage.default)('Score Frequency Summary')
|
|
56
|
+
}, /*#__PURE__*/_react.default.createElement(_presenter.AfsPartsContainer, {
|
|
57
|
+
afsTable: /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
58
|
+
itemId: itemId,
|
|
59
|
+
scores: answerSummary.score_distribution
|
|
60
|
+
}),
|
|
61
|
+
aggregationTable: /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
62
|
+
itemId: itemId,
|
|
63
|
+
answerSummary: answerSummary
|
|
64
|
+
})
|
|
65
|
+
}));
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
return _this;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return ScoreDistributionType;
|
|
72
|
+
}(_react.Component);
|
|
73
|
+
|
|
74
|
+
exports.ScoreDistributionType = ScoreDistributionType;
|
|
75
|
+
ScoreDistributionType.propTypes = {
|
|
76
|
+
itemId: _propTypes.default.number,
|
|
77
|
+
answerSummary: _propTypes2.scoreDistributionTypeAnswerSummaryPropType
|
|
78
|
+
}.isRequired;
|
|
79
|
+
var _default = ScoreDistributionType;
|
|
80
|
+
exports.default = _default;
|
|
@@ -29,6 +29,8 @@ var _index4 = _interopRequireDefault(require("./AggregationType/index.js"));
|
|
|
29
29
|
|
|
30
30
|
var _index5 = require("./MatchingType/index.js");
|
|
31
31
|
|
|
32
|
+
var _index6 = require("./ScoreDistributionType/index.js");
|
|
33
|
+
|
|
32
34
|
var _propTypes = require("../propTypes.js");
|
|
33
35
|
|
|
34
36
|
var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
|
|
@@ -84,6 +86,14 @@ var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
|
|
|
84
86
|
if (afsFlags.fillInTheBlankEnabled) {
|
|
85
87
|
_this.afsTableComponentMap.set('rich-fill-blank', _index3.default);
|
|
86
88
|
}
|
|
89
|
+
|
|
90
|
+
if (afsFlags.essayEnabled) {
|
|
91
|
+
_this.afsTableComponentMap.set('essay', _index6.ScoreDistributionType);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (afsFlags.fileUploadEnabled) {
|
|
95
|
+
_this.afsTableComponentMap.set('file-upload', _index6.ScoreDistributionType);
|
|
96
|
+
}
|
|
87
97
|
};
|
|
88
98
|
|
|
89
99
|
_this.render = function () {
|
|
@@ -45,6 +45,11 @@ var AfsTableWrapper = (_dec = (0, _emotion.withStyle)(_styles.default, null), _d
|
|
|
45
45
|
|
|
46
46
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
47
47
|
|
|
48
|
+
_this.getHeader = function () {
|
|
49
|
+
var tableHeader = _this.props.tableHeader;
|
|
50
|
+
return tableHeader || (0, _formatMessage.default)('Answer Frequency Summary');
|
|
51
|
+
};
|
|
52
|
+
|
|
48
53
|
_this.render = function () {
|
|
49
54
|
return (0, _emotion.jsx)(_uiFlex.Flex, {
|
|
50
55
|
direction: "row",
|
|
@@ -58,7 +63,7 @@ var AfsTableWrapper = (_dec = (0, _emotion.withStyle)(_styles.default, null), _d
|
|
|
58
63
|
level: "h3",
|
|
59
64
|
weight: "bold",
|
|
60
65
|
color: "primary"
|
|
61
|
-
},
|
|
66
|
+
}, _this.getHeader()), _this.props.children)));
|
|
62
67
|
};
|
|
63
68
|
|
|
64
69
|
return _this;
|
|
@@ -67,6 +72,7 @@ var AfsTableWrapper = (_dec = (0, _emotion.withStyle)(_styles.default, null), _d
|
|
|
67
72
|
return AfsTableWrapper;
|
|
68
73
|
}(_react.Component), _class2.propTypes = {
|
|
69
74
|
children: _propTypes.default.node.isRequired,
|
|
70
|
-
styles: _propTypes.default.object
|
|
75
|
+
styles: _propTypes.default.object,
|
|
76
|
+
tableHeader: _propTypes.default.string
|
|
71
77
|
}, _temp)) || _class);
|
|
72
78
|
exports.AfsTableWrapper = AfsTableWrapper;
|
|
@@ -44,33 +44,33 @@ var _popoverContent = require("./popoverContent.js");
|
|
|
44
44
|
var _dec, _class, _class2, _temp;
|
|
45
45
|
|
|
46
46
|
var styles = {
|
|
47
|
-
componentId: '
|
|
47
|
+
componentId: 'fMmrG',
|
|
48
48
|
template: function template(theme) {
|
|
49
|
-
return "\n\n.
|
|
49
|
+
return "\n\n.fMmrG_cvRx{align-items:center;display:flex;height:100%;justify-content:center;min-height:47px;width:46px}\n\n.fMmrG_fPIL{min-width:500px}\n\n.fMmrG_fPIL table{border-collapse:separate;border-spacing:0 12px}\n\n.fMmrG_fPIL thead th{border-color:".concat(theme.colorHeaderBottomBorder || 'inherit', ";border-style:solid;border-width:0 0 1px 0}\n\n.fMmrG_fPIL table tbody tr td{border-style:solid;border-width:2px 0 2px 0;width:33.33%}\n\n.fMmrG_fPIL table tbody tr th:first-child{border-radius:4px 0 0 4px;border-style:solid;border-width:2px 0 2px 2px;font-weight:400}\n\n.fMmrG_fPIL table tbody tr td:last-child{border-radius:0 4px 4px 0;border-style:solid;border-width:2px 2px 2px 0}\n\n.fMmrG_dzqP table tbody tr:first-child td,.fMmrG_dzqP table tbody tr:first-child th{border-color:").concat(theme.colorGrey || 'inherit', "}\n\n.fMmrG_fZpZ table tbody tr:first-child td,.fMmrG_fZpZ table tbody tr:first-child th{border-color:").concat(theme.colorGreen || 'inherit', "}\n\n.fMmrG_fZpZ table tbody tr:nth-child(2) td,.fMmrG_fZpZ table tbody tr:nth-child(2) th{border-color:").concat(theme.colorRed || 'inherit', "}\n\n.fMmrG_dgTJ table tbody tr:first-child td,.fMmrG_dgTJ table tbody tr:first-child th{border-color:").concat(theme.colorGreen || 'inherit', "}\n\n.fMmrG_dgTJ table tbody tr:nth-child(2) td,.fMmrG_dgTJ table tbody tr:nth-child(2) th{border-color:").concat(theme.colorRed || 'inherit', "}\n\n.fMmrG_dgTJ table tbody tr:nth-child(3) td,.fMmrG_dgTJ table tbody tr:nth-child(3) th{border-color:").concat(theme.colorGrey || 'inherit', "}\n\n.fMmrG_bYLj table tbody tr:first-child td,.fMmrG_bYLj table tbody tr:first-child th{border-color:").concat(theme.colorGreen || 'inherit', "}\n\n.fMmrG_bYLj table tbody tr:nth-child(2) td,.fMmrG_bYLj table tbody tr:nth-child(2) th{border-color:").concat(theme.colorBlue || 'inherit', "}\n\n.fMmrG_bYLj table tbody tr:nth-child(3) td,.fMmrG_bYLj table tbody tr:nth-child(3) th{border-color:").concat(theme.colorRed || 'inherit', "}\n\n.fMmrG_bYLj table tbody tr:nth-child(4) td,.fMmrG_bYLj table tbody tr:nth-child(4) th{border-color:").concat(theme.colorGrey || 'inherit', "}\n\n.fMmrG_bvau{background-color:").concat(theme.colorGreen || 'inherit', "}\n\n.fMmrG_cxOH{background-color:").concat(theme.colorRed || 'inherit', "}\n\n.fMmrG_dsqS{background-color:").concat(theme.colorBlue || 'inherit', "}\n\n.fMmrG_eKcq{background-color:").concat(theme.colorGrey || 'inherit', "}\n\n.fMmrG_euQM{padding:12px 0 12px 10px}\n\n.fMmrG_fuuc{padding-left:45px}\n\n.fMmrG_vDgC svg{fill:#fff}\n\n.fMmrG_fHMm{border-color:").concat(theme.colorHeaderBottomBorder || 'inherit', ";border-style:solid;border-width:0 0 1px 0}");
|
|
50
50
|
},
|
|
51
|
-
'iconWrapper': '
|
|
52
|
-
'collapsingTable': '
|
|
53
|
-
'onlyNoanswer': '
|
|
54
|
-
'correctIncorrect': '
|
|
55
|
-
'correctIncorrectNoanswer': '
|
|
56
|
-
'
|
|
57
|
-
'correctBackground': '
|
|
58
|
-
'incorrectBackground': '
|
|
59
|
-
'
|
|
60
|
-
'noAnswerBackground': '
|
|
61
|
-
'labelWrapper': '
|
|
62
|
-
'firstHeaderCell': '
|
|
63
|
-
'iconWhite': '
|
|
64
|
-
'headerCell': '
|
|
51
|
+
'iconWrapper': 'fMmrG_cvRx',
|
|
52
|
+
'collapsingTable': 'fMmrG_fPIL',
|
|
53
|
+
'onlyNoanswer': 'fMmrG_dzqP',
|
|
54
|
+
'correctIncorrect': 'fMmrG_fZpZ',
|
|
55
|
+
'correctIncorrectNoanswer': 'fMmrG_dgTJ',
|
|
56
|
+
'correctIncorrectNoanswerGraded': 'fMmrG_bYLj',
|
|
57
|
+
'correctBackground': 'fMmrG_bvau',
|
|
58
|
+
'incorrectBackground': 'fMmrG_cxOH',
|
|
59
|
+
'gradedBackground': 'fMmrG_dsqS',
|
|
60
|
+
'noAnswerBackground': 'fMmrG_eKcq',
|
|
61
|
+
'labelWrapper': 'fMmrG_euQM',
|
|
62
|
+
'firstHeaderCell': 'fMmrG_fuuc',
|
|
63
|
+
'iconWhite': 'fMmrG_vDgC',
|
|
64
|
+
'headerCell': 'fMmrG_fHMm'
|
|
65
65
|
};
|
|
66
66
|
var noAnswerKey = 'noAnswer';
|
|
67
67
|
var incorrectKey = 'incorrect';
|
|
68
68
|
var correctKey = 'correct';
|
|
69
|
-
var
|
|
69
|
+
var gradedKey = 'graded';
|
|
70
70
|
|
|
71
71
|
var _ref = /*#__PURE__*/_react.default.createElement(_uiIcons.IconCheckSolid, null);
|
|
72
72
|
|
|
73
|
-
var _ref2 = /*#__PURE__*/_react.default.createElement(_uiIcons.
|
|
73
|
+
var _ref2 = /*#__PURE__*/_react.default.createElement(_uiIcons.IconGradebookSolid, null);
|
|
74
74
|
|
|
75
75
|
var _ref3 = /*#__PURE__*/_react.default.createElement(_uiIcons.IconXSolid, null);
|
|
76
76
|
|
|
@@ -148,9 +148,9 @@ var AggregationTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, style
|
|
|
148
148
|
}, /*#__PURE__*/_react.default.createElement(_uiText.Text, null, concatenatedPercentage)));
|
|
149
149
|
};
|
|
150
150
|
|
|
151
|
-
_this.
|
|
152
|
-
var
|
|
153
|
-
return !!
|
|
151
|
+
_this.gradedExist = function () {
|
|
152
|
+
var graded = _this.props.answerSummary.graded;
|
|
153
|
+
return !!graded;
|
|
154
154
|
};
|
|
155
155
|
|
|
156
156
|
_this.correctExist = function () {
|
|
@@ -168,24 +168,19 @@ var AggregationTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, style
|
|
|
168
168
|
return !!no_answer;
|
|
169
169
|
};
|
|
170
170
|
|
|
171
|
-
_this.getCorrectLabel = function () {
|
|
172
|
-
return _this.partialCorrectExist() ? (0, _formatMessage.default)('Fully correct') : (0, _formatMessage.default)('Correct');
|
|
173
|
-
};
|
|
174
|
-
|
|
175
171
|
_this.renderCorrect = function () {
|
|
176
172
|
var aggregate = _this.props.answerSummary.aggregate;
|
|
177
173
|
var correct = aggregate.correct;
|
|
178
174
|
var correctCount = correct.count || 0;
|
|
179
175
|
var correctPercentage = correct.percentage || 0;
|
|
180
|
-
return _this.renderRow(correctKey, _ref,
|
|
176
|
+
return _this.renderRow(correctKey, _ref, (0, _formatMessage.default)('Correct'), correctCount, correctPercentage);
|
|
181
177
|
};
|
|
182
178
|
|
|
183
|
-
_this.
|
|
184
|
-
var
|
|
185
|
-
var
|
|
186
|
-
var
|
|
187
|
-
|
|
188
|
-
return _this.renderRow(partialCorrectKey, _ref2, (0, _formatMessage.default)('Partially correct'), partialCorrectCount, partialCorrectPercentage);
|
|
179
|
+
_this.renderGraded = function () {
|
|
180
|
+
var graded = _this.props.answerSummary.graded;
|
|
181
|
+
var gradedCount = graded.count || 0;
|
|
182
|
+
var gradedPercentage = graded.percentage || 0;
|
|
183
|
+
return _this.renderRow(gradedKey, _ref2, (0, _formatMessage.default)('Graded'), gradedCount, gradedPercentage);
|
|
189
184
|
};
|
|
190
185
|
|
|
191
186
|
_this.renderIncorrect = function () {
|
|
@@ -206,16 +201,16 @@ var AggregationTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, style
|
|
|
206
201
|
_this.getColorProfile = function () {
|
|
207
202
|
var colorProfile;
|
|
208
203
|
|
|
209
|
-
var
|
|
204
|
+
var correctIncorrectNoAnswerGraded = _this.gradedExist() && _this.noAnswerExist() && _this.correctExist() && _this.incorrectExist();
|
|
210
205
|
|
|
211
|
-
var correctIncorrectNoAnswer = !_this.
|
|
206
|
+
var correctIncorrectNoAnswer = !_this.gradedExist() && _this.noAnswerExist() && _this.correctExist() && _this.incorrectExist();
|
|
212
207
|
|
|
213
|
-
var onlyNoAnswer = _this.noAnswerExist() && !_this.
|
|
208
|
+
var onlyNoAnswer = _this.noAnswerExist() && !_this.gradedExist() && !_this.correctExist() && !_this.incorrectExist();
|
|
214
209
|
|
|
215
210
|
if (correctIncorrectNoAnswer) {
|
|
216
211
|
colorProfile = 'correctIncorrectNoanswer';
|
|
217
|
-
} else if (
|
|
218
|
-
colorProfile = '
|
|
212
|
+
} else if (correctIncorrectNoAnswerGraded) {
|
|
213
|
+
colorProfile = 'correctIncorrectNoanswerGraded';
|
|
219
214
|
} else if (onlyNoAnswer) {
|
|
220
215
|
colorProfile = 'onlyNoanswer';
|
|
221
216
|
} else {
|
|
@@ -231,7 +226,7 @@ var AggregationTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, style
|
|
|
231
226
|
className: (0, _classnames.default)(styles.collapsingTable, styles[_this.getColorProfile()])
|
|
232
227
|
}, /*#__PURE__*/_react.default.createElement(_uiTable.Table, {
|
|
233
228
|
caption: (0, _formatMessage.default)('Answer Frequency Summary Aggregates')
|
|
234
|
-
}, _this.renderHeaderRow(popover), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Body, null, _this.correctExist() && _this.renderCorrect(), _this.
|
|
229
|
+
}, _this.renderHeaderRow(popover), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Body, null, _this.correctExist() && _this.renderCorrect(), _this.gradedExist() && _this.renderGraded(), _this.incorrectExist() && _this.renderIncorrect(), _this.noAnswerExist() && _this.renderNoAnswer())));
|
|
235
230
|
};
|
|
236
231
|
|
|
237
232
|
return _this;
|
|
@@ -22,7 +22,9 @@ function mapStateToProps(_state) {
|
|
|
22
22
|
trueFalseEnabled: (0, _featureCheck.featureOn)('ia_true_false_afs'),
|
|
23
23
|
choiceEnabled: (0, _featureCheck.featureOn)('ia_choice_afs'),
|
|
24
24
|
multiAnswerEnabled: (0, _featureCheck.featureOn)('ia_multi_answer_afs'),
|
|
25
|
-
fillInTheBlankEnabled: (0, _featureCheck.featureOn)('ia_rich_fill_blank_afs')
|
|
25
|
+
fillInTheBlankEnabled: (0, _featureCheck.featureOn)('ia_rich_fill_blank_afs'),
|
|
26
|
+
essayEnabled: (0, _featureCheck.featureOn)('ia_essay_afs'),
|
|
27
|
+
fileUploadEnabled: (0, _featureCheck.featureOn)('ia_file_upload_afs')
|
|
26
28
|
}
|
|
27
29
|
};
|
|
28
30
|
}
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.afsFlags = exports.itemAnalysisPropType = exports.answerSummaryPropType = exports.richFillBlankTypeAnswerSummaryPropType = exports.matchingTypeAnswerSummaryPropType = exports.choiceTypeAnswerSummaryPropType = exports.choiceTypeObject = exports.onlyAggregatePropType = exports.aggregatePropType = exports.aggregateDetailPropType = exports.quizAnalysisPropType = exports.quizAnalysisMetadata = void 0;
|
|
8
|
+
exports.afsFlags = exports.itemAnalysisPropType = exports.answerSummaryPropType = exports.richFillBlankTypeAnswerSummaryPropType = exports.matchingTypeAnswerSummaryPropType = exports.scoreDistributionType = exports.scoreDistributionTypeAnswerSummaryPropType = exports.choiceTypeAnswerSummaryPropType = exports.choiceTypeObject = exports.onlyAggregatePropType = exports.aggregatePropType = exports.aggregateDetailPropType = exports.quizAnalysisPropType = exports.quizAnalysisMetadata = void 0;
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
@@ -51,14 +51,14 @@ exports.aggregateDetailPropType = aggregateDetailPropType;
|
|
|
51
51
|
|
|
52
52
|
var aggregatePropType = _propTypes.default.shape({
|
|
53
53
|
correct: aggregateDetailPropType.isRequired,
|
|
54
|
-
incorrect: aggregateDetailPropType.isRequired
|
|
55
|
-
partial_correct: aggregateDetailPropType
|
|
54
|
+
incorrect: aggregateDetailPropType.isRequired
|
|
56
55
|
});
|
|
57
56
|
|
|
58
57
|
exports.aggregatePropType = aggregatePropType;
|
|
59
58
|
|
|
60
59
|
var onlyAggregatePropType = _propTypes.default.shape({
|
|
61
60
|
no_answer: aggregateDetailPropType,
|
|
61
|
+
graded: aggregateDetailPropType,
|
|
62
62
|
aggregate: aggregatePropType
|
|
63
63
|
});
|
|
64
64
|
|
|
@@ -81,6 +81,23 @@ var choiceTypeAnswerSummaryPropType = _propTypes.default.shape({
|
|
|
81
81
|
|
|
82
82
|
exports.choiceTypeAnswerSummaryPropType = choiceTypeAnswerSummaryPropType;
|
|
83
83
|
|
|
84
|
+
var scoreDistributionTypeAnswerSummaryPropType = _propTypes.default.shape({
|
|
85
|
+
no_answer: aggregateDetailPropType.isRequired,
|
|
86
|
+
aggregate: aggregatePropType.isRequired,
|
|
87
|
+
graded: aggregateDetailPropType.isRequired,
|
|
88
|
+
score_distribution: _propTypes.default.arrayOf(scoreDistributionType).isRequired
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
exports.scoreDistributionTypeAnswerSummaryPropType = scoreDistributionTypeAnswerSummaryPropType;
|
|
92
|
+
|
|
93
|
+
var scoreDistributionType = _propTypes.default.shape({
|
|
94
|
+
count: _propTypes.default.number.isRequired,
|
|
95
|
+
score: _propTypes.default.number.isRequired,
|
|
96
|
+
percentage: _propTypes.default.number.isRequired
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
exports.scoreDistributionType = scoreDistributionType;
|
|
100
|
+
|
|
84
101
|
var matchingTypeAnswerSummaryPropType = _propTypes.default.shape({
|
|
85
102
|
questions: _propTypes.default.objectOf(_propTypes.default.shape({
|
|
86
103
|
body: _propTypes.default.string,
|
|
@@ -114,7 +131,7 @@ var richFillBlankTypeAnswerSummaryPropType = _propTypes.default.shape({
|
|
|
114
131
|
|
|
115
132
|
exports.richFillBlankTypeAnswerSummaryPropType = richFillBlankTypeAnswerSummaryPropType;
|
|
116
133
|
|
|
117
|
-
var answerSummaryPropType = _propTypes.default.oneOfType([choiceTypeAnswerSummaryPropType, onlyAggregatePropType, matchingTypeAnswerSummaryPropType, richFillBlankTypeAnswerSummaryPropType]);
|
|
134
|
+
var answerSummaryPropType = _propTypes.default.oneOfType([choiceTypeAnswerSummaryPropType, onlyAggregatePropType, matchingTypeAnswerSummaryPropType, richFillBlankTypeAnswerSummaryPropType, scoreDistributionTypeAnswerSummaryPropType]);
|
|
118
135
|
|
|
119
136
|
exports.answerSummaryPropType = answerSummaryPropType;
|
|
120
137
|
|
|
@@ -152,7 +169,9 @@ var afsFlags = _propTypes.default.shape({
|
|
|
152
169
|
trueFalseEnabled: _propTypes.default.bool.isRequired,
|
|
153
170
|
choiceEnabled: _propTypes.default.bool.isRequired,
|
|
154
171
|
multiAnswerEnabled: _propTypes.default.bool.isRequired,
|
|
155
|
-
fillInTheBlankEnabled: _propTypes.default.bool.isRequired
|
|
172
|
+
fillInTheBlankEnabled: _propTypes.default.bool.isRequired,
|
|
173
|
+
essayEnabled: _propTypes.default.bool.isRequired,
|
|
174
|
+
fileUploadEnabled: _propTypes.default.bool.isRequired
|
|
156
175
|
});
|
|
157
176
|
|
|
158
177
|
exports.afsFlags = afsFlags;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instructure/quiz-core",
|
|
3
|
-
"version": "20.7.1-rc.
|
|
3
|
+
"version": "20.7.1-rc.11+fa1890974",
|
|
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.7.1-rc.
|
|
48
|
-
"@instructure/quiz-i18n": "20.7.1-rc.
|
|
49
|
-
"@instructure/quiz-interactions": "20.7.1-rc.
|
|
50
|
-
"@instructure/quiz-number-input": "20.7.1-rc.
|
|
51
|
-
"@instructure/quiz-rce": "20.7.1-rc.
|
|
47
|
+
"@instructure/quiz-common": "20.7.1-rc.11+fa1890974",
|
|
48
|
+
"@instructure/quiz-i18n": "20.7.1-rc.11+fa1890974",
|
|
49
|
+
"@instructure/quiz-interactions": "20.7.1-rc.11+fa1890974",
|
|
50
|
+
"@instructure/quiz-number-input": "20.7.1-rc.11+fa1890974",
|
|
51
|
+
"@instructure/quiz-rce": "20.7.1-rc.11+fa1890974",
|
|
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.7.1-rc.
|
|
115
|
+
"instructure-validations": "20.7.1-rc.11+fa1890974",
|
|
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.7.1-rc.
|
|
166
|
+
"quiz-presets": "20.7.1-rc.11+fa1890974",
|
|
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": "fa1890974baa639fabfc8e64371fef39cfc57bc8"
|
|
183
183
|
}
|