@instructure/quiz-core 18.5.1-rc.0 → 18.5.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/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisUpdateDate/index.js +1 -1
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/AggregationType/index.js +1 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/AggregationType/presenter.js +43 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/AggregationType/theme.js +5 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ChoiceType/presenter.js +3 -16
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +5 -3
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/index.js +1 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +55 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/theme.js +5 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/index.js +1 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +186 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/theme.js +10 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +4 -4
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +10 -8
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +14 -5
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisUpdateDate/index.js +1 -1
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/AggregationType/index.js +13 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/AggregationType/presenter.js +64 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/AggregationType/theme.js +12 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ChoiceType/presenter.js +4 -18
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +9 -6
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/index.js +13 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +75 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/theme.js +12 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/index.js +13 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +212 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/theme.js +17 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +5 -5
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +10 -8
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +19 -6
- package/package.json +9 -9
package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisUpdateDate/index.js
CHANGED
|
@@ -33,7 +33,7 @@ export var AnalysisUpdateDate = /*#__PURE__*/function (_Component) {
|
|
|
33
33
|
}, /*#__PURE__*/React.createElement(Flex, {
|
|
34
34
|
direction: multiline ? 'column' : 'row',
|
|
35
35
|
alignItems: "start"
|
|
36
|
-
}, /*#__PURE__*/React.createElement("
|
|
36
|
+
}, /*#__PURE__*/React.createElement("span", null, t('Data Last Updated:'), "\xA0"), /*#__PURE__*/React.createElement("span", null, displayDateAndTimeInTimezone(date, timezone, locale))));
|
|
37
37
|
}
|
|
38
38
|
}]);
|
|
39
39
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AggregationType as default } from "./presenter.js";
|
|
@@ -0,0 +1,43 @@
|
|
|
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 AggregationTable from "../shared/AggregationTable/index.js";
|
|
7
|
+
import { onlyAggregatePropType } from "../../propTypes.js";
|
|
8
|
+
import { AfsTableWrapper } from "../shared/AfsTableWrapper/presenter.js";
|
|
9
|
+
export var AggregationType = /*#__PURE__*/function (_Component) {
|
|
10
|
+
_inherits(AggregationType, _Component);
|
|
11
|
+
|
|
12
|
+
var _super = _createSuper(AggregationType);
|
|
13
|
+
|
|
14
|
+
function AggregationType() {
|
|
15
|
+
var _this;
|
|
16
|
+
|
|
17
|
+
_classCallCheck(this, AggregationType);
|
|
18
|
+
|
|
19
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
20
|
+
args[_key] = arguments[_key];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
24
|
+
|
|
25
|
+
_this.render = function () {
|
|
26
|
+
var _this$props = _this.props,
|
|
27
|
+
answerSummary = _this$props.answerSummary,
|
|
28
|
+
itemId = _this$props.itemId;
|
|
29
|
+
return /*#__PURE__*/React.createElement(AfsTableWrapper, null, /*#__PURE__*/React.createElement(AggregationTable, {
|
|
30
|
+
itemId: itemId,
|
|
31
|
+
answerSummary: answerSummary
|
|
32
|
+
}));
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
return _this;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return AggregationType;
|
|
39
|
+
}(Component);
|
|
40
|
+
AggregationType.propTypes = {
|
|
41
|
+
itemId: PropTypes.number.isRequired,
|
|
42
|
+
answerSummary: onlyAggregatePropType
|
|
43
|
+
}.isRequired;
|
|
@@ -8,8 +8,6 @@ var _dec, _class, _class2, _temp;
|
|
|
8
8
|
import React, { Component } from 'react';
|
|
9
9
|
import t from '@instructure/quiz-i18n/es/format-message';
|
|
10
10
|
import { Table } from '@instructure/ui-table';
|
|
11
|
-
import { Flex } from '@instructure/ui-flex';
|
|
12
|
-
import { Heading } from '@instructure/ui-heading';
|
|
13
11
|
import { themeable } from '@instructure/ui-themeable';
|
|
14
12
|
import { ScreenReaderContent } from '@instructure/ui-a11y-content';
|
|
15
13
|
import PropTypes from 'prop-types';
|
|
@@ -23,6 +21,7 @@ var styles = {
|
|
|
23
21
|
'tableWrapper': 'ZuPLN_rMrG'
|
|
24
22
|
};
|
|
25
23
|
import theme from "./theme.js";
|
|
24
|
+
import AfsTableWrapper from "../shared/AfsTableWrapper/index.js";
|
|
26
25
|
export var ChoiceType = (_dec = themeable(theme, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
27
26
|
_inherits(ChoiceType, _Component);
|
|
28
27
|
|
|
@@ -77,19 +76,7 @@ export var ChoiceType = (_dec = themeable(theme, styles), _dec(_class = (_temp =
|
|
|
77
76
|
var answerHeaderId = "answer-frequency-summary-answer-".concat(itemId);
|
|
78
77
|
var respondentsHeaderId = "answer-frequency-summary-respondents-".concat(itemId);
|
|
79
78
|
var percentageHeaderId = "answer-frequency-summary-percentage-".concat(itemId);
|
|
80
|
-
return /*#__PURE__*/React.createElement(
|
|
81
|
-
direction: "row"
|
|
82
|
-
}, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
83
|
-
shouldGrow: true
|
|
84
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
85
|
-
className: styles.tableWrapper
|
|
86
|
-
}, /*#__PURE__*/React.createElement(Heading, {
|
|
87
|
-
margin: "large 0 small 0",
|
|
88
|
-
level: "h4",
|
|
89
|
-
theme: {
|
|
90
|
-
h4FontWeight: 'normal'
|
|
91
|
-
}
|
|
92
|
-
}, t('Answer Frequency Summary')), /*#__PURE__*/React.createElement(Table, {
|
|
79
|
+
return /*#__PURE__*/React.createElement(AfsTableWrapper, null, /*#__PURE__*/React.createElement(Table, {
|
|
93
80
|
caption: t('Answer Frequency Summary')
|
|
94
81
|
}, /*#__PURE__*/React.createElement(Table.Head, null, /*#__PURE__*/React.createElement(Table.Row, null, /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
95
82
|
id: spacingHeaderId,
|
|
@@ -104,7 +91,7 @@ export var ChoiceType = (_dec = themeable(theme, styles), _dec(_class = (_temp =
|
|
|
104
91
|
id: percentageHeaderId,
|
|
105
92
|
height: "47px",
|
|
106
93
|
textAlign: "center"
|
|
107
|
-
}, t('%')))), /*#__PURE__*/React.createElement(Table.Body, null, choices.map(this.renderRow), this.renderNoAnswer(noAnswer, numberOfChoices))))
|
|
94
|
+
}, t('%')))), /*#__PURE__*/React.createElement(Table.Body, null, choices.map(this.renderRow), this.renderNoAnswer(noAnswer, numberOfChoices))));
|
|
108
95
|
}
|
|
109
96
|
}]);
|
|
110
97
|
|
package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js
CHANGED
|
@@ -3,7 +3,8 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
|
3
3
|
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
4
4
|
import React, { Component } from 'react';
|
|
5
5
|
import { PropTypes } from '@instructure/quiz-interactions';
|
|
6
|
-
import
|
|
6
|
+
import ChoiceType from "./ChoiceType/index.js";
|
|
7
|
+
import AggregationType from "./AggregationType/index.js";
|
|
7
8
|
import { answerSummaryPropType } from "../propTypes.js";
|
|
8
9
|
export var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
|
|
9
10
|
_inherits(AnswerFrequencySummary, _Component);
|
|
@@ -23,7 +24,8 @@ export var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
|
|
|
23
24
|
_this.afsTableComponentMap = new Map();
|
|
24
25
|
|
|
25
26
|
_this.addAfsComponentsByFlags = function (afsFlags) {
|
|
26
|
-
if (afsFlags.formulaEnabled) {
|
|
27
|
+
if (afsFlags.formulaEnabled) {
|
|
28
|
+
_this.afsTableComponentMap.set('formula', AggregationType);
|
|
27
29
|
}
|
|
28
30
|
};
|
|
29
31
|
|
|
@@ -37,7 +39,7 @@ export var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
|
|
|
37
39
|
|
|
38
40
|
var AfsTableComponent = _this.afsTableComponentMap.get(interactionType);
|
|
39
41
|
|
|
40
|
-
if (!AfsTableComponent) {
|
|
42
|
+
if (!AfsTableComponent || !answerSummary) {
|
|
41
43
|
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
42
44
|
}
|
|
43
45
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AfsTableWrapper as default } from "./presenter.js";
|
|
@@ -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
|
+
|
|
5
|
+
var _dec, _class, _temp;
|
|
6
|
+
|
|
7
|
+
import React, { Component } from 'react';
|
|
8
|
+
import t from '@instructure/quiz-i18n/es/format-message';
|
|
9
|
+
import theme from "./theme.js";
|
|
10
|
+
var styles = {
|
|
11
|
+
componentId: 'bmsWU',
|
|
12
|
+
template: function template(theme) {
|
|
13
|
+
return "\n\n.bmsWU_rMrG{display:flex;flex-basis:100%;flex-direction:column}";
|
|
14
|
+
},
|
|
15
|
+
'tableWrapper': 'bmsWU_rMrG'
|
|
16
|
+
};
|
|
17
|
+
import { themeable } from '@instructure/ui-themeable';
|
|
18
|
+
import { Flex } from '@instructure/ui-flex';
|
|
19
|
+
import { Heading } from '@instructure/ui-heading';
|
|
20
|
+
export var AfsTableWrapper = (_dec = themeable(theme, styles), _dec(_class = (_temp = /*#__PURE__*/function (_Component) {
|
|
21
|
+
_inherits(AfsTableWrapper, _Component);
|
|
22
|
+
|
|
23
|
+
var _super = _createSuper(AfsTableWrapper);
|
|
24
|
+
|
|
25
|
+
function AfsTableWrapper() {
|
|
26
|
+
var _this;
|
|
27
|
+
|
|
28
|
+
_classCallCheck(this, AfsTableWrapper);
|
|
29
|
+
|
|
30
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
31
|
+
args[_key] = arguments[_key];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
35
|
+
|
|
36
|
+
_this.render = function () {
|
|
37
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Flex, {
|
|
38
|
+
direction: "row"
|
|
39
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
40
|
+
shouldGrow: true
|
|
41
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
42
|
+
className: styles.tableWrapper
|
|
43
|
+
}, /*#__PURE__*/React.createElement(Heading, {
|
|
44
|
+
margin: "0 x-large small 0",
|
|
45
|
+
level: "h3",
|
|
46
|
+
weight: "bold",
|
|
47
|
+
color: "primary"
|
|
48
|
+
}, t('Answer Frequency Summary')), _this.props.children))));
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
return _this;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return AfsTableWrapper;
|
|
55
|
+
}(Component), _temp)) || _class);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AggregationTable as default } from "./presenter.js";
|
|
@@ -0,0 +1,186 @@
|
|
|
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
|
+
|
|
5
|
+
var _dec, _class, _class2, _temp;
|
|
6
|
+
|
|
7
|
+
import React, { Component } from 'react';
|
|
8
|
+
import t from '@instructure/quiz-i18n/es/format-message';
|
|
9
|
+
import { Table } from '@instructure/ui-table';
|
|
10
|
+
import { onlyAggregatePropType } from "../../../propTypes.js";
|
|
11
|
+
import { ScreenReaderContent } from '@instructure/ui-a11y-content';
|
|
12
|
+
import PropTypes from 'prop-types';
|
|
13
|
+
import { IconCheckSolid, IconXSolid, IconNoSolid, IconOvalHalfSolid } from '@instructure/ui-icons';
|
|
14
|
+
import { themeable } from '@instructure/ui-themeable';
|
|
15
|
+
import theme from "./theme.js";
|
|
16
|
+
var styles = {
|
|
17
|
+
componentId: 'eADot',
|
|
18
|
+
template: function template(theme) {
|
|
19
|
+
return "\n\n.eADot_cvRx{align-items:center;display:flex;height:48px;justify-content:center;width:46px}\n\n.eADot_fPIL table{border-collapse:separate;border-spacing:0 12px}\n\n.eADot_fPIL thead th{border-color:".concat(theme.colorHeaderBottomBorder || 'inherit', ";border-style:solid;border-width:0 0 1px 0}\n\n.eADot_euQM{padding-left:10px}\n\n.eADot_fuuc{padding-left:45px}\n\n.eADot_bTFA{border-color:").concat(theme.colorGreen || 'inherit', "}\n\n.eADot_bvau{background-color:").concat(theme.colorGreen || 'inherit', "}\n\n.eADot_dmcW{border-color:").concat(theme.colorRed || 'inherit', "}\n\n.eADot_cxOH{background-color:").concat(theme.colorRed || 'inherit', "}\n\n.eADot_xOeH{border-color:").concat(theme.colorBlue || 'inherit', "}\n\n.eADot_eRkO{background-color:").concat(theme.colorBlue || 'inherit', "}\n\n.eADot_dlLI{border-color:").concat(theme.colorGrey || 'inherit', "}\n\n.eADot_eKcq{background-color:").concat(theme.colorGrey || 'inherit', "}\n\n.eADot_vDgC svg{fill:#fff}\n\n.eADot_fHMm{border-color:").concat(theme.colorHeaderBottomBorder || 'inherit', ";border-style:solid;border-width:0 0 1px 0}\n\n.eADot_WspM{border-radius:4px 0 0 4px;border-style:solid;border-width:2px 0 2px 2px}\n\n.eADot_fAnT{border-width:2px 0 2px 0}\n\n.eADot_bMPk,.eADot_fAnT{border-style:solid;padding:").concat(theme.cellPadding || 'inherit', "}\n\n.eADot_bMPk{border-radius:0 4px 4px 0;border-width:2px 2px 2px 0}");
|
|
20
|
+
},
|
|
21
|
+
'iconWrapper': 'eADot_cvRx',
|
|
22
|
+
'collapsingTable': 'eADot_fPIL',
|
|
23
|
+
'labelWrapper': 'eADot_euQM',
|
|
24
|
+
'firstHeaderCell': 'eADot_fuuc',
|
|
25
|
+
'correctBorder': 'eADot_bTFA',
|
|
26
|
+
'correctBackground': 'eADot_bvau',
|
|
27
|
+
'incorrectBorder': 'eADot_dmcW',
|
|
28
|
+
'incorrectBackground': 'eADot_cxOH',
|
|
29
|
+
'partialCorrectBorder': 'eADot_xOeH',
|
|
30
|
+
'partialCorrectBackground': 'eADot_eRkO',
|
|
31
|
+
'noAnswerBorder': 'eADot_dlLI',
|
|
32
|
+
'noAnswerBackground': 'eADot_eKcq',
|
|
33
|
+
'iconWhite': 'eADot_vDgC',
|
|
34
|
+
'headerCell': 'eADot_fHMm',
|
|
35
|
+
'firstCell': 'eADot_WspM',
|
|
36
|
+
'middleCell': 'eADot_fAnT',
|
|
37
|
+
'lastCell': 'eADot_bMPk'
|
|
38
|
+
};
|
|
39
|
+
import { Flex } from '@instructure/ui-flex';
|
|
40
|
+
import classNames from 'classnames';
|
|
41
|
+
import { Text } from '@instructure/ui-text';
|
|
42
|
+
var noAnswerKey = 'noAnswer';
|
|
43
|
+
var incorrectKey = 'incorrect';
|
|
44
|
+
var correctKey = 'correct';
|
|
45
|
+
var partialCorrectKey = 'partialCorrect';
|
|
46
|
+
|
|
47
|
+
var _ref = /*#__PURE__*/React.createElement(IconCheckSolid, null);
|
|
48
|
+
|
|
49
|
+
var _ref2 = /*#__PURE__*/React.createElement(IconOvalHalfSolid, null);
|
|
50
|
+
|
|
51
|
+
var _ref3 = /*#__PURE__*/React.createElement(IconXSolid, null);
|
|
52
|
+
|
|
53
|
+
var _ref4 = /*#__PURE__*/React.createElement(IconNoSolid, null);
|
|
54
|
+
|
|
55
|
+
export var AggregationTable = (_dec = themeable(theme, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
56
|
+
_inherits(AggregationTable, _Component);
|
|
57
|
+
|
|
58
|
+
var _super = _createSuper(AggregationTable);
|
|
59
|
+
|
|
60
|
+
function AggregationTable() {
|
|
61
|
+
var _this;
|
|
62
|
+
|
|
63
|
+
_classCallCheck(this, AggregationTable);
|
|
64
|
+
|
|
65
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
66
|
+
args[_key] = arguments[_key];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
70
|
+
|
|
71
|
+
_this.renderHeaderRow = function () {
|
|
72
|
+
var itemId = _this.props.itemId;
|
|
73
|
+
var answerHeaderId = "answer-frequency-summary-aggregate-answer-".concat(itemId);
|
|
74
|
+
var respondentsHeaderId = "answer-frequency-summary-aggregate-respondents-".concat(itemId);
|
|
75
|
+
var percentageHeaderId = "answer-frequency-summary-aggregate-percentage-".concat(itemId);
|
|
76
|
+
return /*#__PURE__*/React.createElement(Table.Head, null, /*#__PURE__*/React.createElement(Table.Row, null, /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
77
|
+
id: answerHeaderId
|
|
78
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
79
|
+
className: classNames(styles.firstHeaderCell)
|
|
80
|
+
}, t('Result'))), /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
81
|
+
id: respondentsHeaderId,
|
|
82
|
+
textAlign: "center"
|
|
83
|
+
}, t('Respondents')), /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
84
|
+
id: percentageHeaderId,
|
|
85
|
+
textAlign: "center"
|
|
86
|
+
}, t('%'))));
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
_this.renderRow = function (key, icon, label, count, percentage) {
|
|
90
|
+
var borderColor = styles["".concat(key, "Border")];
|
|
91
|
+
var backgroundColor = styles["".concat(key, "Background")];
|
|
92
|
+
var concatenatedPercentage = "".concat(percentage, "%");
|
|
93
|
+
return /*#__PURE__*/React.createElement(Table.Row, {
|
|
94
|
+
key: key
|
|
95
|
+
}, /*#__PURE__*/React.createElement(Table.Cell, {
|
|
96
|
+
theme: {
|
|
97
|
+
padding: '0px'
|
|
98
|
+
}
|
|
99
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
100
|
+
className: classNames(styles.firstCell, borderColor)
|
|
101
|
+
}, /*#__PURE__*/React.createElement(ScreenReaderContent, null, label), /*#__PURE__*/React.createElement(Flex, {
|
|
102
|
+
direction: "row",
|
|
103
|
+
alignItems: "center",
|
|
104
|
+
height: "47px"
|
|
105
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
106
|
+
width: "46px",
|
|
107
|
+
textAlign: "center"
|
|
108
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
109
|
+
className: classNames(styles.iconWrapper, styles.iconWhite, backgroundColor)
|
|
110
|
+
}, icon)), /*#__PURE__*/React.createElement(Flex.Item, {
|
|
111
|
+
textAlign: "center"
|
|
112
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
113
|
+
className: classNames(styles.labelWrapper)
|
|
114
|
+
}, /*#__PURE__*/React.createElement(Text, null, label)))))), /*#__PURE__*/React.createElement(Table.Cell, {
|
|
115
|
+
theme: {
|
|
116
|
+
padding: '0px'
|
|
117
|
+
},
|
|
118
|
+
textAlign: "center"
|
|
119
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
120
|
+
className: classNames(styles.middleCell, borderColor)
|
|
121
|
+
}, /*#__PURE__*/React.createElement(Text, null, count))), /*#__PURE__*/React.createElement(Table.Cell, {
|
|
122
|
+
theme: {
|
|
123
|
+
padding: '0px'
|
|
124
|
+
},
|
|
125
|
+
textAlign: "center"
|
|
126
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
127
|
+
className: classNames(styles.lastCell, borderColor)
|
|
128
|
+
}, /*#__PURE__*/React.createElement(Text, null, concatenatedPercentage))));
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
_this.isPartialCorrectExist = function () {
|
|
132
|
+
var aggregate = _this.props.answerSummary.aggregate;
|
|
133
|
+
return !!(aggregate === null || aggregate === void 0 ? void 0 : aggregate.partial_correct);
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
_this.renderCorrect = function () {
|
|
137
|
+
var aggregate = _this.props.answerSummary.aggregate;
|
|
138
|
+
var correct = aggregate.correct;
|
|
139
|
+
var correctCount = correct.count || 0;
|
|
140
|
+
var correctPercentage = correct.percentage || 0;
|
|
141
|
+
var correctLabel = _this.isPartialCorrectExist() ? t('Answered fully correctly') : t('Answered correctly');
|
|
142
|
+
return _this.renderRow(correctKey, _ref, correctLabel, correctCount, correctPercentage);
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
_this.renderPartialCorrect = function () {
|
|
146
|
+
var aggregate = _this.props.answerSummary.aggregate;
|
|
147
|
+
var partial_correct = aggregate.partial_correct;
|
|
148
|
+
var partialCorrectCount = partial_correct.count || 0;
|
|
149
|
+
var partialCorrectPercentage = partial_correct.percentage || 0;
|
|
150
|
+
var partialCorrectLabel = t('Answered partially correct');
|
|
151
|
+
return _this.renderRow(partialCorrectKey, _ref2, partialCorrectLabel, partialCorrectCount, partialCorrectPercentage);
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
_this.renderIncorrect = function () {
|
|
155
|
+
var aggregate = _this.props.answerSummary.aggregate;
|
|
156
|
+
var incorrect = aggregate.incorrect;
|
|
157
|
+
var incorrectCount = incorrect.count || 0;
|
|
158
|
+
var incorrectPercentage = incorrect.percentage || 0;
|
|
159
|
+
var incorrectLabel = _this.isPartialCorrectExist() ? t('Answered fully incorrectly') : t('Answered incorrectly');
|
|
160
|
+
return _this.renderRow(incorrectKey, _ref3, incorrectLabel, incorrectCount, incorrectPercentage);
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
_this.renderNoAnswer = function () {
|
|
164
|
+
var no_answer = _this.props.answerSummary.no_answer;
|
|
165
|
+
var noAnswerCount = no_answer.count || 0;
|
|
166
|
+
var noAnswerPercentage = no_answer.percentage || 0;
|
|
167
|
+
var noAnswerLabel = t('No answer');
|
|
168
|
+
return _this.renderRow(noAnswerKey, _ref4, noAnswerLabel, noAnswerCount, noAnswerPercentage);
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
_this.render = function () {
|
|
172
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
173
|
+
className: classNames(styles.collapsingTable)
|
|
174
|
+
}, /*#__PURE__*/React.createElement(Table, {
|
|
175
|
+
caption: t('Answer Frequency Summary Aggregates')
|
|
176
|
+
}, _this.renderHeaderRow(), /*#__PURE__*/React.createElement(Table.Body, null, _this.renderCorrect(), _this.isPartialCorrectExist() && _this.renderPartialCorrect(), _this.renderIncorrect(), _this.renderNoAnswer())));
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
return _this;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return AggregationTable;
|
|
183
|
+
}(Component), _class2.propTypes = {
|
|
184
|
+
itemId: PropTypes.number.isRequired,
|
|
185
|
+
answerSummary: onlyAggregatePropType
|
|
186
|
+
}.isRequired, _temp)) || _class);
|
package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js
CHANGED
|
@@ -101,7 +101,6 @@ export var NewItemAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
101
101
|
return /*#__PURE__*/React.createElement(Heading, {
|
|
102
102
|
margin: "0 x-large small 0",
|
|
103
103
|
level: "h3",
|
|
104
|
-
weight: "bold",
|
|
105
104
|
color: "primary"
|
|
106
105
|
}, title);
|
|
107
106
|
};
|
|
@@ -193,7 +192,7 @@ export var NewItemAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
193
192
|
}))))));
|
|
194
193
|
};
|
|
195
194
|
|
|
196
|
-
_this.renderAnswerSummaryTable = function (itemId, answer_summary, metricsClass, interactionType) {
|
|
195
|
+
_this.renderAnswerSummaryTable = function (itemId, answer_summary, metricsClass, interactionType, afsFlags) {
|
|
197
196
|
return /*#__PURE__*/React.createElement(Flex.Item, null, /*#__PURE__*/React.createElement("div", {
|
|
198
197
|
className: metricsClass
|
|
199
198
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -248,7 +247,8 @@ export var NewItemAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
248
247
|
|
|
249
248
|
var _this$props = this.props,
|
|
250
249
|
showFrequencyTable = _this$props.showFrequencyTable,
|
|
251
|
-
itemAnalysis = _this$props.itemAnalysis
|
|
250
|
+
itemAnalysis = _this$props.itemAnalysis,
|
|
251
|
+
afsFlags = _this$props.afsFlags;
|
|
252
252
|
var answer_summary = itemAnalysis.answer_summary,
|
|
253
253
|
metadata = itemAnalysis.metadata,
|
|
254
254
|
scores = itemAnalysis.scores;
|
|
@@ -277,7 +277,7 @@ export var NewItemAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
277
277
|
padding: "small xx-small none none",
|
|
278
278
|
overflowY: "hidden",
|
|
279
279
|
size: !this.state.bodyExpanded ? '60px' : void 0
|
|
280
|
-
}, this.renderRichContent(metadata.item_body, itemBodyClass, itemId)))), /*#__PURE__*/React.createElement(Flex.Item, null, this.renderMetrics(scores, metricsClass)))), showFrequencyTable && this.renderAnswerSummaryTable(itemId, answer_summary, metricsClass, interactionType)));
|
|
280
|
+
}, this.renderRichContent(metadata.item_body, itemBodyClass, itemId)))), /*#__PURE__*/React.createElement(Flex.Item, null, this.renderMetrics(scores, metricsClass)))), showFrequencyTable && this.renderAnswerSummaryTable(itemId, answer_summary, metricsClass, interactionType, afsFlags)));
|
|
281
281
|
}
|
|
282
282
|
}]);
|
|
283
283
|
|
|
@@ -122,17 +122,19 @@ export var NewQuizAndItemAnalysisPresenter = /*#__PURE__*/function (_Component)
|
|
|
122
122
|
width: "auto",
|
|
123
123
|
margin: "auto",
|
|
124
124
|
direction: "row"
|
|
125
|
-
}, /*#__PURE__*/React.createElement(Flex.Item, null, _this.renderHeader()), /*#__PURE__*/React.createElement(Flex.Item,
|
|
125
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, null, _this.renderHeader()), /*#__PURE__*/React.createElement(Flex.Item, {
|
|
126
|
+
margin: "0 0 0 auto"
|
|
127
|
+
}, /*#__PURE__*/React.createElement(Flex, {
|
|
126
128
|
alignItems: "center",
|
|
129
|
+
justifyItems: "end",
|
|
127
130
|
width: "auto",
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
131
|
-
margin: "small"
|
|
132
|
-
}, /*#__PURE__*/React.createElement(AnalysisUpdateDate, {
|
|
131
|
+
direction: "row",
|
|
132
|
+
wrap: "wrap-reverse"
|
|
133
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, null, /*#__PURE__*/React.createElement(AnalysisUpdateDate, {
|
|
133
134
|
date: quizAnalysis === null || quizAnalysis === void 0 ? void 0 : quizAnalysis.created_timestamp
|
|
134
135
|
})), /*#__PURE__*/React.createElement(Flex.Item, {
|
|
135
|
-
overflowY: "visible"
|
|
136
|
+
overflowY: "visible",
|
|
137
|
+
margin: "0 0 0 small"
|
|
136
138
|
}, _this.renderGenerationButton()), /*#__PURE__*/React.createElement(Flex.Item, null, shouldShowError && /*#__PURE__*/React.createElement(Text, {
|
|
137
139
|
size: "x-small",
|
|
138
140
|
weight: "bold",
|
|
@@ -167,7 +169,7 @@ export var NewQuizAndItemAnalysisPresenter = /*#__PURE__*/function (_Component)
|
|
|
167
169
|
|
|
168
170
|
_this.renderStartGenerationButton = function () {
|
|
169
171
|
return /*#__PURE__*/React.createElement(Button, {
|
|
170
|
-
color: "
|
|
172
|
+
color: "secondary",
|
|
171
173
|
margin: "0 0 x-small 0",
|
|
172
174
|
onClick: _this.handleGeneration,
|
|
173
175
|
theme: {
|
|
@@ -43,9 +43,18 @@ export var itemAnalysisPropType = PropTypes.shape({
|
|
|
43
43
|
}),
|
|
44
44
|
answer_summary: answerSummaryPropType
|
|
45
45
|
});
|
|
46
|
-
var
|
|
47
|
-
count: PropTypes.number,
|
|
48
|
-
percentage: PropTypes.number
|
|
46
|
+
var aggregateDetailPropType = PropTypes.shape({
|
|
47
|
+
count: PropTypes.number.isRequired,
|
|
48
|
+
percentage: PropTypes.number.isRequired
|
|
49
|
+
});
|
|
50
|
+
var aggregatePropType = PropTypes.shape({
|
|
51
|
+
correct: aggregateDetailPropType.isRequired,
|
|
52
|
+
incorrect: aggregateDetailPropType.isRequired,
|
|
53
|
+
partial_correct: aggregateDetailPropType
|
|
54
|
+
});
|
|
55
|
+
export var onlyAggregatePropType = PropTypes.shape({
|
|
56
|
+
no_answer: aggregateDetailPropType,
|
|
57
|
+
aggregate: aggregatePropType
|
|
49
58
|
});
|
|
50
59
|
export var choiceTypeAnswerSummaryPropType = PropTypes.shape({
|
|
51
60
|
choices: PropTypes.arrayOf(PropTypes.shape({
|
|
@@ -54,9 +63,9 @@ export var choiceTypeAnswerSummaryPropType = PropTypes.shape({
|
|
|
54
63
|
count: PropTypes.number,
|
|
55
64
|
percentage: PropTypes.number
|
|
56
65
|
})),
|
|
57
|
-
no_answer:
|
|
66
|
+
no_answer: aggregateDetailPropType
|
|
58
67
|
});
|
|
59
|
-
export var answerSummaryPropType = PropTypes.oneOfType([choiceTypeAnswerSummaryPropType]);
|
|
68
|
+
export var answerSummaryPropType = PropTypes.oneOfType([choiceTypeAnswerSummaryPropType, onlyAggregatePropType]);
|
|
60
69
|
export var afsFlags = PropTypes.shape({
|
|
61
70
|
formulaEnabled: PropTypes.bool.isRequired,
|
|
62
71
|
matchingEnabled: PropTypes.bool.isRequired
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisUpdateDate/index.js
CHANGED
|
@@ -53,7 +53,7 @@ var AnalysisUpdateDate = /*#__PURE__*/function (_Component) {
|
|
|
53
53
|
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
54
54
|
direction: multiline ? 'column' : 'row',
|
|
55
55
|
alignItems: "start"
|
|
56
|
-
}, /*#__PURE__*/_react.default.createElement("
|
|
56
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, (0, _formatMessage.default)('Data Last Updated:'), "\xA0"), /*#__PURE__*/_react.default.createElement("span", null, (0, _formatTimespan.displayDateAndTimeInTimezone)(date, timezone, locale))));
|
|
57
57
|
}
|
|
58
58
|
}]);
|
|
59
59
|
AnalysisUpdateDate.displayName = "AnalysisUpdateDate";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _presenter.AggregationType;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _presenter = require("./presenter.js");
|
|
@@ -0,0 +1,64 @@
|
|
|
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.AggregationType = 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("../shared/AggregationTable/index.js"));
|
|
23
|
+
|
|
24
|
+
var _propTypes2 = require("../../propTypes.js");
|
|
25
|
+
|
|
26
|
+
var _presenter = require("../shared/AfsTableWrapper/presenter.js");
|
|
27
|
+
|
|
28
|
+
var AggregationType = /*#__PURE__*/function (_Component) {
|
|
29
|
+
(0, _inherits2.default)(AggregationType, _Component);
|
|
30
|
+
|
|
31
|
+
var _super = (0, _createSuper2.default)(AggregationType);
|
|
32
|
+
|
|
33
|
+
function AggregationType() {
|
|
34
|
+
var _this;
|
|
35
|
+
|
|
36
|
+
(0, _classCallCheck2.default)(this, AggregationType);
|
|
37
|
+
|
|
38
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
39
|
+
args[_key] = arguments[_key];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
43
|
+
|
|
44
|
+
_this.render = function () {
|
|
45
|
+
var _this$props = _this.props,
|
|
46
|
+
answerSummary = _this$props.answerSummary,
|
|
47
|
+
itemId = _this$props.itemId;
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(_presenter.AfsTableWrapper, null, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
49
|
+
itemId: itemId,
|
|
50
|
+
answerSummary: answerSummary
|
|
51
|
+
}));
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
return _this;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return AggregationType;
|
|
58
|
+
}(_react.Component);
|
|
59
|
+
|
|
60
|
+
exports.AggregationType = AggregationType;
|
|
61
|
+
AggregationType.propTypes = {
|
|
62
|
+
itemId: _propTypes.default.number.isRequired,
|
|
63
|
+
answerSummary: _propTypes2.onlyAggregatePropType
|
|
64
|
+
}.isRequired;
|
|
@@ -23,10 +23,6 @@ var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/f
|
|
|
23
23
|
|
|
24
24
|
var _uiTable = require("@instructure/ui-table");
|
|
25
25
|
|
|
26
|
-
var _uiFlex = require("@instructure/ui-flex");
|
|
27
|
-
|
|
28
|
-
var _uiHeading = require("@instructure/ui-heading");
|
|
29
|
-
|
|
30
26
|
var _uiThemeable = require("@instructure/ui-themeable");
|
|
31
27
|
|
|
32
28
|
var _uiA11yContent = require("@instructure/ui-a11y-content");
|
|
@@ -39,6 +35,8 @@ var _propTypes2 = require("../../propTypes.js");
|
|
|
39
35
|
|
|
40
36
|
var _theme = _interopRequireDefault(require("./theme.js"));
|
|
41
37
|
|
|
38
|
+
var _index2 = _interopRequireDefault(require("../shared/AfsTableWrapper/index.js"));
|
|
39
|
+
|
|
42
40
|
var _dec, _class, _class2, _temp;
|
|
43
41
|
|
|
44
42
|
var styles = {
|
|
@@ -102,19 +100,7 @@ var ChoiceType = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _d
|
|
|
102
100
|
var answerHeaderId = "answer-frequency-summary-answer-".concat(itemId);
|
|
103
101
|
var respondentsHeaderId = "answer-frequency-summary-respondents-".concat(itemId);
|
|
104
102
|
var percentageHeaderId = "answer-frequency-summary-percentage-".concat(itemId);
|
|
105
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
106
|
-
direction: "row"
|
|
107
|
-
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
108
|
-
shouldGrow: true
|
|
109
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
110
|
-
className: styles.tableWrapper
|
|
111
|
-
}, /*#__PURE__*/_react.default.createElement(_uiHeading.Heading, {
|
|
112
|
-
margin: "large 0 small 0",
|
|
113
|
-
level: "h4",
|
|
114
|
-
theme: {
|
|
115
|
-
h4FontWeight: 'normal'
|
|
116
|
-
}
|
|
117
|
-
}, (0, _formatMessage.default)('Answer Frequency Summary')), /*#__PURE__*/_react.default.createElement(_uiTable.Table, {
|
|
103
|
+
return /*#__PURE__*/_react.default.createElement(_index2.default, null, /*#__PURE__*/_react.default.createElement(_uiTable.Table, {
|
|
118
104
|
caption: (0, _formatMessage.default)('Answer Frequency Summary')
|
|
119
105
|
}, /*#__PURE__*/_react.default.createElement(_uiTable.Table.Head, null, /*#__PURE__*/_react.default.createElement(_uiTable.Table.Row, null, /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
120
106
|
id: spacingHeaderId,
|
|
@@ -129,7 +115,7 @@ var ChoiceType = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _d
|
|
|
129
115
|
id: percentageHeaderId,
|
|
130
116
|
height: "47px",
|
|
131
117
|
textAlign: "center"
|
|
132
|
-
}, (0, _formatMessage.default)('%')))), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Body, null, choices.map(this.renderRow), this.renderNoAnswer(noAnswer, numberOfChoices))))
|
|
118
|
+
}, (0, _formatMessage.default)('%')))), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Body, null, choices.map(this.renderRow), this.renderNoAnswer(noAnswer, numberOfChoices))));
|
|
133
119
|
}
|
|
134
120
|
}]);
|
|
135
121
|
ChoiceType.displayName = "ChoiceType";
|
|
@@ -19,7 +19,9 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
19
19
|
|
|
20
20
|
var _quizInteractions = require("@instructure/quiz-interactions");
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _index = _interopRequireDefault(require("./ChoiceType/index.js"));
|
|
23
|
+
|
|
24
|
+
var _index2 = _interopRequireDefault(require("./AggregationType/index.js"));
|
|
23
25
|
|
|
24
26
|
var _propTypes = require("../propTypes.js");
|
|
25
27
|
|
|
@@ -41,7 +43,8 @@ var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
|
|
|
41
43
|
_this.afsTableComponentMap = new Map();
|
|
42
44
|
|
|
43
45
|
_this.addAfsComponentsByFlags = function (afsFlags) {
|
|
44
|
-
if (afsFlags.formulaEnabled) {
|
|
46
|
+
if (afsFlags.formulaEnabled) {
|
|
47
|
+
_this.afsTableComponentMap.set('formula', _index2.default);
|
|
45
48
|
}
|
|
46
49
|
};
|
|
47
50
|
|
|
@@ -55,7 +58,7 @@ var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
|
|
|
55
58
|
|
|
56
59
|
var AfsTableComponent = _this.afsTableComponentMap.get(interactionType);
|
|
57
60
|
|
|
58
|
-
if (!AfsTableComponent) {
|
|
61
|
+
if (!AfsTableComponent || !answerSummary) {
|
|
59
62
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
60
63
|
}
|
|
61
64
|
|
|
@@ -65,11 +68,11 @@ var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
|
|
|
65
68
|
});
|
|
66
69
|
};
|
|
67
70
|
|
|
68
|
-
_this.afsTableComponentMap.set('true-false',
|
|
71
|
+
_this.afsTableComponentMap.set('true-false', _index.default);
|
|
69
72
|
|
|
70
|
-
_this.afsTableComponentMap.set('choice',
|
|
73
|
+
_this.afsTableComponentMap.set('choice', _index.default);
|
|
71
74
|
|
|
72
|
-
_this.afsTableComponentMap.set('multi-answer',
|
|
75
|
+
_this.afsTableComponentMap.set('multi-answer', _index.default);
|
|
73
76
|
|
|
74
77
|
return _this;
|
|
75
78
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _presenter.AfsTableWrapper;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _presenter = require("./presenter.js");
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.AfsTableWrapper = 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 _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
|
|
21
|
+
|
|
22
|
+
var _theme = _interopRequireDefault(require("./theme.js"));
|
|
23
|
+
|
|
24
|
+
var _uiThemeable = require("@instructure/ui-themeable");
|
|
25
|
+
|
|
26
|
+
var _uiFlex = require("@instructure/ui-flex");
|
|
27
|
+
|
|
28
|
+
var _uiHeading = require("@instructure/ui-heading");
|
|
29
|
+
|
|
30
|
+
var _dec, _class, _temp;
|
|
31
|
+
|
|
32
|
+
var styles = {
|
|
33
|
+
componentId: 'bmsWU',
|
|
34
|
+
template: function template(theme) {
|
|
35
|
+
return "\n\n.bmsWU_rMrG{display:flex;flex-basis:100%;flex-direction:column}";
|
|
36
|
+
},
|
|
37
|
+
'tableWrapper': 'bmsWU_rMrG'
|
|
38
|
+
};
|
|
39
|
+
var AfsTableWrapper = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = /*#__PURE__*/function (_Component) {
|
|
40
|
+
(0, _inherits2.default)(AfsTableWrapper, _Component);
|
|
41
|
+
|
|
42
|
+
var _super = (0, _createSuper2.default)(AfsTableWrapper);
|
|
43
|
+
|
|
44
|
+
function AfsTableWrapper() {
|
|
45
|
+
var _this;
|
|
46
|
+
|
|
47
|
+
(0, _classCallCheck2.default)(this, AfsTableWrapper);
|
|
48
|
+
|
|
49
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
50
|
+
args[_key] = arguments[_key];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
54
|
+
|
|
55
|
+
_this.render = function () {
|
|
56
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
57
|
+
direction: "row"
|
|
58
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
59
|
+
shouldGrow: true
|
|
60
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
61
|
+
className: styles.tableWrapper
|
|
62
|
+
}, /*#__PURE__*/_react.default.createElement(_uiHeading.Heading, {
|
|
63
|
+
margin: "0 x-large small 0",
|
|
64
|
+
level: "h3",
|
|
65
|
+
weight: "bold",
|
|
66
|
+
color: "primary"
|
|
67
|
+
}, (0, _formatMessage.default)('Answer Frequency Summary')), _this.props.children))));
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
return _this;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return AfsTableWrapper;
|
|
74
|
+
}(_react.Component), _temp)) || _class);
|
|
75
|
+
exports.AfsTableWrapper = AfsTableWrapper;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _presenter.AggregationTable;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _presenter = require("./presenter.js");
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.AggregationTable = 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 _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
|
|
21
|
+
|
|
22
|
+
var _uiTable = require("@instructure/ui-table");
|
|
23
|
+
|
|
24
|
+
var _propTypes = require("../../../propTypes.js");
|
|
25
|
+
|
|
26
|
+
var _uiA11yContent = require("@instructure/ui-a11y-content");
|
|
27
|
+
|
|
28
|
+
var _propTypes2 = _interopRequireDefault(require("prop-types"));
|
|
29
|
+
|
|
30
|
+
var _uiIcons = require("@instructure/ui-icons");
|
|
31
|
+
|
|
32
|
+
var _uiThemeable = require("@instructure/ui-themeable");
|
|
33
|
+
|
|
34
|
+
var _theme = _interopRequireDefault(require("./theme.js"));
|
|
35
|
+
|
|
36
|
+
var _uiFlex = require("@instructure/ui-flex");
|
|
37
|
+
|
|
38
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
39
|
+
|
|
40
|
+
var _uiText = require("@instructure/ui-text");
|
|
41
|
+
|
|
42
|
+
var _dec, _class, _class2, _temp;
|
|
43
|
+
|
|
44
|
+
var styles = {
|
|
45
|
+
componentId: 'eADot',
|
|
46
|
+
template: function template(theme) {
|
|
47
|
+
return "\n\n.eADot_cvRx{align-items:center;display:flex;height:48px;justify-content:center;width:46px}\n\n.eADot_fPIL table{border-collapse:separate;border-spacing:0 12px}\n\n.eADot_fPIL thead th{border-color:".concat(theme.colorHeaderBottomBorder || 'inherit', ";border-style:solid;border-width:0 0 1px 0}\n\n.eADot_euQM{padding-left:10px}\n\n.eADot_fuuc{padding-left:45px}\n\n.eADot_bTFA{border-color:").concat(theme.colorGreen || 'inherit', "}\n\n.eADot_bvau{background-color:").concat(theme.colorGreen || 'inherit', "}\n\n.eADot_dmcW{border-color:").concat(theme.colorRed || 'inherit', "}\n\n.eADot_cxOH{background-color:").concat(theme.colorRed || 'inherit', "}\n\n.eADot_xOeH{border-color:").concat(theme.colorBlue || 'inherit', "}\n\n.eADot_eRkO{background-color:").concat(theme.colorBlue || 'inherit', "}\n\n.eADot_dlLI{border-color:").concat(theme.colorGrey || 'inherit', "}\n\n.eADot_eKcq{background-color:").concat(theme.colorGrey || 'inherit', "}\n\n.eADot_vDgC svg{fill:#fff}\n\n.eADot_fHMm{border-color:").concat(theme.colorHeaderBottomBorder || 'inherit', ";border-style:solid;border-width:0 0 1px 0}\n\n.eADot_WspM{border-radius:4px 0 0 4px;border-style:solid;border-width:2px 0 2px 2px}\n\n.eADot_fAnT{border-width:2px 0 2px 0}\n\n.eADot_bMPk,.eADot_fAnT{border-style:solid;padding:").concat(theme.cellPadding || 'inherit', "}\n\n.eADot_bMPk{border-radius:0 4px 4px 0;border-width:2px 2px 2px 0}");
|
|
48
|
+
},
|
|
49
|
+
'iconWrapper': 'eADot_cvRx',
|
|
50
|
+
'collapsingTable': 'eADot_fPIL',
|
|
51
|
+
'labelWrapper': 'eADot_euQM',
|
|
52
|
+
'firstHeaderCell': 'eADot_fuuc',
|
|
53
|
+
'correctBorder': 'eADot_bTFA',
|
|
54
|
+
'correctBackground': 'eADot_bvau',
|
|
55
|
+
'incorrectBorder': 'eADot_dmcW',
|
|
56
|
+
'incorrectBackground': 'eADot_cxOH',
|
|
57
|
+
'partialCorrectBorder': 'eADot_xOeH',
|
|
58
|
+
'partialCorrectBackground': 'eADot_eRkO',
|
|
59
|
+
'noAnswerBorder': 'eADot_dlLI',
|
|
60
|
+
'noAnswerBackground': 'eADot_eKcq',
|
|
61
|
+
'iconWhite': 'eADot_vDgC',
|
|
62
|
+
'headerCell': 'eADot_fHMm',
|
|
63
|
+
'firstCell': 'eADot_WspM',
|
|
64
|
+
'middleCell': 'eADot_fAnT',
|
|
65
|
+
'lastCell': 'eADot_bMPk'
|
|
66
|
+
};
|
|
67
|
+
var noAnswerKey = 'noAnswer';
|
|
68
|
+
var incorrectKey = 'incorrect';
|
|
69
|
+
var correctKey = 'correct';
|
|
70
|
+
var partialCorrectKey = 'partialCorrect';
|
|
71
|
+
|
|
72
|
+
var _ref = /*#__PURE__*/_react.default.createElement(_uiIcons.IconCheckSolid, null);
|
|
73
|
+
|
|
74
|
+
var _ref2 = /*#__PURE__*/_react.default.createElement(_uiIcons.IconOvalHalfSolid, null);
|
|
75
|
+
|
|
76
|
+
var _ref3 = /*#__PURE__*/_react.default.createElement(_uiIcons.IconXSolid, null);
|
|
77
|
+
|
|
78
|
+
var _ref4 = /*#__PURE__*/_react.default.createElement(_uiIcons.IconNoSolid, null);
|
|
79
|
+
|
|
80
|
+
var AggregationTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
81
|
+
(0, _inherits2.default)(AggregationTable, _Component);
|
|
82
|
+
|
|
83
|
+
var _super = (0, _createSuper2.default)(AggregationTable);
|
|
84
|
+
|
|
85
|
+
function AggregationTable() {
|
|
86
|
+
var _this;
|
|
87
|
+
|
|
88
|
+
(0, _classCallCheck2.default)(this, AggregationTable);
|
|
89
|
+
|
|
90
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
91
|
+
args[_key] = arguments[_key];
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
95
|
+
|
|
96
|
+
_this.renderHeaderRow = function () {
|
|
97
|
+
var itemId = _this.props.itemId;
|
|
98
|
+
var answerHeaderId = "answer-frequency-summary-aggregate-answer-".concat(itemId);
|
|
99
|
+
var respondentsHeaderId = "answer-frequency-summary-aggregate-respondents-".concat(itemId);
|
|
100
|
+
var percentageHeaderId = "answer-frequency-summary-aggregate-percentage-".concat(itemId);
|
|
101
|
+
return /*#__PURE__*/_react.default.createElement(_uiTable.Table.Head, null, /*#__PURE__*/_react.default.createElement(_uiTable.Table.Row, null, /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
102
|
+
id: answerHeaderId
|
|
103
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
104
|
+
className: (0, _classnames.default)(styles.firstHeaderCell)
|
|
105
|
+
}, (0, _formatMessage.default)('Result'))), /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
106
|
+
id: respondentsHeaderId,
|
|
107
|
+
textAlign: "center"
|
|
108
|
+
}, (0, _formatMessage.default)('Respondents')), /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
109
|
+
id: percentageHeaderId,
|
|
110
|
+
textAlign: "center"
|
|
111
|
+
}, (0, _formatMessage.default)('%'))));
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
_this.renderRow = function (key, icon, label, count, percentage) {
|
|
115
|
+
var borderColor = styles["".concat(key, "Border")];
|
|
116
|
+
var backgroundColor = styles["".concat(key, "Background")];
|
|
117
|
+
var concatenatedPercentage = "".concat(percentage, "%");
|
|
118
|
+
return /*#__PURE__*/_react.default.createElement(_uiTable.Table.Row, {
|
|
119
|
+
key: key
|
|
120
|
+
}, /*#__PURE__*/_react.default.createElement(_uiTable.Table.Cell, {
|
|
121
|
+
theme: {
|
|
122
|
+
padding: '0px'
|
|
123
|
+
}
|
|
124
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
125
|
+
className: (0, _classnames.default)(styles.firstCell, borderColor)
|
|
126
|
+
}, /*#__PURE__*/_react.default.createElement(_uiA11yContent.ScreenReaderContent, null, label), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
127
|
+
direction: "row",
|
|
128
|
+
alignItems: "center",
|
|
129
|
+
height: "47px"
|
|
130
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
131
|
+
width: "46px",
|
|
132
|
+
textAlign: "center"
|
|
133
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
134
|
+
className: (0, _classnames.default)(styles.iconWrapper, styles.iconWhite, backgroundColor)
|
|
135
|
+
}, icon)), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
136
|
+
textAlign: "center"
|
|
137
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
138
|
+
className: (0, _classnames.default)(styles.labelWrapper)
|
|
139
|
+
}, /*#__PURE__*/_react.default.createElement(_uiText.Text, null, label)))))), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Cell, {
|
|
140
|
+
theme: {
|
|
141
|
+
padding: '0px'
|
|
142
|
+
},
|
|
143
|
+
textAlign: "center"
|
|
144
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
145
|
+
className: (0, _classnames.default)(styles.middleCell, borderColor)
|
|
146
|
+
}, /*#__PURE__*/_react.default.createElement(_uiText.Text, null, count))), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Cell, {
|
|
147
|
+
theme: {
|
|
148
|
+
padding: '0px'
|
|
149
|
+
},
|
|
150
|
+
textAlign: "center"
|
|
151
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
152
|
+
className: (0, _classnames.default)(styles.lastCell, borderColor)
|
|
153
|
+
}, /*#__PURE__*/_react.default.createElement(_uiText.Text, null, concatenatedPercentage))));
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
_this.isPartialCorrectExist = function () {
|
|
157
|
+
var aggregate = _this.props.answerSummary.aggregate;
|
|
158
|
+
return !!(aggregate === null || aggregate === void 0 ? void 0 : aggregate.partial_correct);
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
_this.renderCorrect = function () {
|
|
162
|
+
var aggregate = _this.props.answerSummary.aggregate;
|
|
163
|
+
var correct = aggregate.correct;
|
|
164
|
+
var correctCount = correct.count || 0;
|
|
165
|
+
var correctPercentage = correct.percentage || 0;
|
|
166
|
+
var correctLabel = _this.isPartialCorrectExist() ? (0, _formatMessage.default)('Answered fully correctly') : (0, _formatMessage.default)('Answered correctly');
|
|
167
|
+
return _this.renderRow(correctKey, _ref, correctLabel, correctCount, correctPercentage);
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
_this.renderPartialCorrect = function () {
|
|
171
|
+
var aggregate = _this.props.answerSummary.aggregate;
|
|
172
|
+
var partial_correct = aggregate.partial_correct;
|
|
173
|
+
var partialCorrectCount = partial_correct.count || 0;
|
|
174
|
+
var partialCorrectPercentage = partial_correct.percentage || 0;
|
|
175
|
+
var partialCorrectLabel = (0, _formatMessage.default)('Answered partially correct');
|
|
176
|
+
return _this.renderRow(partialCorrectKey, _ref2, partialCorrectLabel, partialCorrectCount, partialCorrectPercentage);
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
_this.renderIncorrect = function () {
|
|
180
|
+
var aggregate = _this.props.answerSummary.aggregate;
|
|
181
|
+
var incorrect = aggregate.incorrect;
|
|
182
|
+
var incorrectCount = incorrect.count || 0;
|
|
183
|
+
var incorrectPercentage = incorrect.percentage || 0;
|
|
184
|
+
var incorrectLabel = _this.isPartialCorrectExist() ? (0, _formatMessage.default)('Answered fully incorrectly') : (0, _formatMessage.default)('Answered incorrectly');
|
|
185
|
+
return _this.renderRow(incorrectKey, _ref3, incorrectLabel, incorrectCount, incorrectPercentage);
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
_this.renderNoAnswer = function () {
|
|
189
|
+
var no_answer = _this.props.answerSummary.no_answer;
|
|
190
|
+
var noAnswerCount = no_answer.count || 0;
|
|
191
|
+
var noAnswerPercentage = no_answer.percentage || 0;
|
|
192
|
+
var noAnswerLabel = (0, _formatMessage.default)('No answer');
|
|
193
|
+
return _this.renderRow(noAnswerKey, _ref4, noAnswerLabel, noAnswerCount, noAnswerPercentage);
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
_this.render = function () {
|
|
197
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
198
|
+
className: (0, _classnames.default)(styles.collapsingTable)
|
|
199
|
+
}, /*#__PURE__*/_react.default.createElement(_uiTable.Table, {
|
|
200
|
+
caption: (0, _formatMessage.default)('Answer Frequency Summary Aggregates')
|
|
201
|
+
}, _this.renderHeaderRow(), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Body, null, _this.renderCorrect(), _this.isPartialCorrectExist() && _this.renderPartialCorrect(), _this.renderIncorrect(), _this.renderNoAnswer())));
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
return _this;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return AggregationTable;
|
|
208
|
+
}(_react.Component), _class2.propTypes = {
|
|
209
|
+
itemId: _propTypes2.default.number.isRequired,
|
|
210
|
+
answerSummary: _propTypes.onlyAggregatePropType
|
|
211
|
+
}.isRequired, _temp)) || _class);
|
|
212
|
+
exports.AggregationTable = AggregationTable;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = generator;
|
|
7
|
+
|
|
8
|
+
function generator() {
|
|
9
|
+
return {
|
|
10
|
+
colorGreen: '#0b874b',
|
|
11
|
+
colorBlue: '#0574b5',
|
|
12
|
+
colorRed: '#e0061f',
|
|
13
|
+
colorGrey: '#6b7780',
|
|
14
|
+
colorHeaderBottomBorder: '#c7cdd1',
|
|
15
|
+
cellPadding: '13.5px 13.5px;'
|
|
16
|
+
};
|
|
17
|
+
}
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js
CHANGED
|
@@ -136,7 +136,6 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
136
136
|
return /*#__PURE__*/_react.default.createElement(_uiHeading.Heading, {
|
|
137
137
|
margin: "0 x-large small 0",
|
|
138
138
|
level: "h3",
|
|
139
|
-
weight: "bold",
|
|
140
139
|
color: "primary"
|
|
141
140
|
}, title);
|
|
142
141
|
};
|
|
@@ -228,7 +227,7 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
228
227
|
}))))));
|
|
229
228
|
};
|
|
230
229
|
|
|
231
|
-
_this.renderAnswerSummaryTable = function (itemId, answer_summary, metricsClass, interactionType) {
|
|
230
|
+
_this.renderAnswerSummaryTable = function (itemId, answer_summary, metricsClass, interactionType, afsFlags) {
|
|
232
231
|
return /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
233
232
|
className: metricsClass
|
|
234
233
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -237,7 +236,7 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
237
236
|
itemId: itemId,
|
|
238
237
|
answerSummary: answer_summary,
|
|
239
238
|
interactionType: interactionType,
|
|
240
|
-
afsFlags:
|
|
239
|
+
afsFlags: afsFlags
|
|
241
240
|
}))));
|
|
242
241
|
};
|
|
243
242
|
|
|
@@ -283,7 +282,8 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
283
282
|
|
|
284
283
|
var _this$props = this.props,
|
|
285
284
|
showFrequencyTable = _this$props.showFrequencyTable,
|
|
286
|
-
itemAnalysis = _this$props.itemAnalysis
|
|
285
|
+
itemAnalysis = _this$props.itemAnalysis,
|
|
286
|
+
afsFlags = _this$props.afsFlags;
|
|
287
287
|
var answer_summary = itemAnalysis.answer_summary,
|
|
288
288
|
metadata = itemAnalysis.metadata,
|
|
289
289
|
scores = itemAnalysis.scores;
|
|
@@ -312,7 +312,7 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
312
312
|
padding: "small xx-small none none",
|
|
313
313
|
overflowY: "hidden",
|
|
314
314
|
size: !this.state.bodyExpanded ? '60px' : void 0
|
|
315
|
-
}, this.renderRichContent(metadata.item_body, itemBodyClass, itemId)))), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, this.renderMetrics(scores, metricsClass)))), showFrequencyTable && this.renderAnswerSummaryTable(itemId, answer_summary, metricsClass, interactionType)));
|
|
315
|
+
}, this.renderRichContent(metadata.item_body, itemBodyClass, itemId)))), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, this.renderMetrics(scores, metricsClass)))), showFrequencyTable && this.renderAnswerSummaryTable(itemId, answer_summary, metricsClass, interactionType, afsFlags)));
|
|
316
316
|
}
|
|
317
317
|
}]);
|
|
318
318
|
NewItemAnalysis.displayName = "NewItemAnalysis";
|
|
@@ -153,17 +153,19 @@ var NewQuizAndItemAnalysisPresenter = /*#__PURE__*/function (_Component) {
|
|
|
153
153
|
width: "auto",
|
|
154
154
|
margin: "auto",
|
|
155
155
|
direction: "row"
|
|
156
|
-
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, _this.renderHeader()), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item,
|
|
156
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, _this.renderHeader()), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
157
|
+
margin: "0 0 0 auto"
|
|
158
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
157
159
|
alignItems: "center",
|
|
160
|
+
justifyItems: "end",
|
|
158
161
|
width: "auto",
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
162
|
-
margin: "small"
|
|
163
|
-
}, /*#__PURE__*/_react.default.createElement(_index3.AnalysisUpdateDate, {
|
|
162
|
+
direction: "row",
|
|
163
|
+
wrap: "wrap-reverse"
|
|
164
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, /*#__PURE__*/_react.default.createElement(_index3.AnalysisUpdateDate, {
|
|
164
165
|
date: quizAnalysis === null || quizAnalysis === void 0 ? void 0 : quizAnalysis.created_timestamp
|
|
165
166
|
})), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
166
|
-
overflowY: "visible"
|
|
167
|
+
overflowY: "visible",
|
|
168
|
+
margin: "0 0 0 small"
|
|
167
169
|
}, _this.renderGenerationButton()), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, shouldShowError && /*#__PURE__*/_react.default.createElement(_uiText.Text, {
|
|
168
170
|
size: "x-small",
|
|
169
171
|
weight: "bold",
|
|
@@ -198,7 +200,7 @@ var NewQuizAndItemAnalysisPresenter = /*#__PURE__*/function (_Component) {
|
|
|
198
200
|
|
|
199
201
|
_this.renderStartGenerationButton = function () {
|
|
200
202
|
return /*#__PURE__*/_react.default.createElement(_uiButtons.Button, {
|
|
201
|
-
color: "
|
|
203
|
+
color: "secondary",
|
|
202
204
|
margin: "0 0 x-small 0",
|
|
203
205
|
onClick: _this.handleGeneration,
|
|
204
206
|
theme: {
|
|
@@ -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.answerSummaryPropType = exports.choiceTypeAnswerSummaryPropType = exports.itemAnalysisPropType = exports.quizAnalysisPropType = void 0;
|
|
8
|
+
exports.afsFlags = exports.answerSummaryPropType = exports.choiceTypeAnswerSummaryPropType = exports.onlyAggregatePropType = exports.itemAnalysisPropType = exports.quizAnalysisPropType = void 0;
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
@@ -59,11 +59,24 @@ var itemAnalysisPropType = _propTypes.default.shape({
|
|
|
59
59
|
|
|
60
60
|
exports.itemAnalysisPropType = itemAnalysisPropType;
|
|
61
61
|
|
|
62
|
-
var
|
|
63
|
-
count: _propTypes.default.number,
|
|
64
|
-
percentage: _propTypes.default.number
|
|
62
|
+
var aggregateDetailPropType = _propTypes.default.shape({
|
|
63
|
+
count: _propTypes.default.number.isRequired,
|
|
64
|
+
percentage: _propTypes.default.number.isRequired
|
|
65
65
|
});
|
|
66
66
|
|
|
67
|
+
var aggregatePropType = _propTypes.default.shape({
|
|
68
|
+
correct: aggregateDetailPropType.isRequired,
|
|
69
|
+
incorrect: aggregateDetailPropType.isRequired,
|
|
70
|
+
partial_correct: aggregateDetailPropType
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
var onlyAggregatePropType = _propTypes.default.shape({
|
|
74
|
+
no_answer: aggregateDetailPropType,
|
|
75
|
+
aggregate: aggregatePropType
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
exports.onlyAggregatePropType = onlyAggregatePropType;
|
|
79
|
+
|
|
67
80
|
var choiceTypeAnswerSummaryPropType = _propTypes.default.shape({
|
|
68
81
|
choices: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
69
82
|
body: _propTypes.default.string,
|
|
@@ -71,12 +84,12 @@ var choiceTypeAnswerSummaryPropType = _propTypes.default.shape({
|
|
|
71
84
|
count: _propTypes.default.number,
|
|
72
85
|
percentage: _propTypes.default.number
|
|
73
86
|
})),
|
|
74
|
-
no_answer:
|
|
87
|
+
no_answer: aggregateDetailPropType
|
|
75
88
|
});
|
|
76
89
|
|
|
77
90
|
exports.choiceTypeAnswerSummaryPropType = choiceTypeAnswerSummaryPropType;
|
|
78
91
|
|
|
79
|
-
var answerSummaryPropType = _propTypes.default.oneOfType([choiceTypeAnswerSummaryPropType]);
|
|
92
|
+
var answerSummaryPropType = _propTypes.default.oneOfType([choiceTypeAnswerSummaryPropType, onlyAggregatePropType]);
|
|
80
93
|
|
|
81
94
|
exports.answerSummaryPropType = answerSummaryPropType;
|
|
82
95
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instructure/quiz-core",
|
|
3
|
-
"version": "18.5.1-rc.
|
|
3
|
+
"version": "18.5.1-rc.2+7e05172cf",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "The Quiz React SDK by Instructure Inc.",
|
|
6
6
|
"author": "Instructure, Inc. Engineering and Product Design",
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@instructure/grading-utils": "^1.0.0",
|
|
45
45
|
"@instructure/outcomes-ui": "^2.1.9",
|
|
46
|
-
"@instructure/quiz-common": "18.5.1-rc.
|
|
47
|
-
"@instructure/quiz-i18n": "18.5.1-rc.
|
|
48
|
-
"@instructure/quiz-interactions": "18.5.1-rc.
|
|
49
|
-
"@instructure/quiz-number-input": "18.5.1-rc.
|
|
50
|
-
"@instructure/quiz-rce": "18.5.1-rc.
|
|
46
|
+
"@instructure/quiz-common": "18.5.1-rc.2+7e05172cf",
|
|
47
|
+
"@instructure/quiz-i18n": "18.5.1-rc.2+7e05172cf",
|
|
48
|
+
"@instructure/quiz-interactions": "18.5.1-rc.2+7e05172cf",
|
|
49
|
+
"@instructure/quiz-number-input": "18.5.1-rc.2+7e05172cf",
|
|
50
|
+
"@instructure/quiz-rce": "18.5.1-rc.2+7e05172cf",
|
|
51
51
|
"@instructure/ui-a11y-content": "^7.22.1",
|
|
52
52
|
"@instructure/ui-alerts": "^7.22.1",
|
|
53
53
|
"@instructure/ui-avatar": "^7.22.1",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"eventemitter3": "^3.1.0",
|
|
109
109
|
"humps": "^2.0.0",
|
|
110
110
|
"immutable": "^3.8.1",
|
|
111
|
-
"instructure-validations": "18.5.1-rc.
|
|
111
|
+
"instructure-validations": "18.5.1-rc.2+7e05172cf",
|
|
112
112
|
"ipaddr.js": "^1.5.4",
|
|
113
113
|
"isomorphic-fetch": "^2.2.0",
|
|
114
114
|
"isuuid": "^0.1.0",
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
"intl": "^1.2.4",
|
|
160
160
|
"jquery": "^2.2.3",
|
|
161
161
|
"most-subject": "^5.3.0",
|
|
162
|
-
"quiz-presets": "18.5.1-rc.
|
|
162
|
+
"quiz-presets": "18.5.1-rc.2+7e05172cf",
|
|
163
163
|
"react": "^16.8.6",
|
|
164
164
|
"react-addons-test-utils": "^15.6.2",
|
|
165
165
|
"react-dom": "^16.8.6",
|
|
@@ -175,5 +175,5 @@
|
|
|
175
175
|
"publishConfig": {
|
|
176
176
|
"access": "public"
|
|
177
177
|
},
|
|
178
|
-
"gitHead": "
|
|
178
|
+
"gitHead": "7e05172cfb3460af3f9231c0e072898116415f40"
|
|
179
179
|
}
|