@instructure/quiz-core 18.5.1-rc.4 → 18.5.1-rc.7
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/common/util/Fetcher.js +15 -3
- package/es/reporting/api/getAnalysesExport.js +1 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/AggregationType/presenter.js +19 -6
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ChoiceType/presenter.js +9 -5
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingType.js +67 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/index.js +1 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/presenter.js +180 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/theme.js +7 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/index.js +1 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/utils/matchingTypeOrderer.js +42 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +5 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +9 -6
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +19 -19
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +1 -3
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +12 -1
- package/lib/common/util/Fetcher.js +15 -2
- package/lib/reporting/api/getAnalysesExport.js +1 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/AggregationType/presenter.js +23 -10
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ChoiceType/presenter.js +10 -5
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingType.js +93 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/index.js +13 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/presenter.js +205 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/theme.js +14 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/index.js +13 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/utils/matchingTypeOrderer.js +52 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +6 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +10 -6
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +19 -19
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +1 -3
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +16 -2
- package/package.json +9 -9
|
@@ -11,6 +11,8 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
|
|
|
11
11
|
|
|
12
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
13
|
|
|
14
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
15
|
+
|
|
14
16
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
17
|
|
|
16
18
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -56,7 +58,8 @@ var Fetcher = /*#__PURE__*/function () {
|
|
|
56
58
|
successMessage = _ref.successMessage,
|
|
57
59
|
onError = _ref.onError,
|
|
58
60
|
cloneResponseForError = _ref.cloneResponseForError,
|
|
59
|
-
asyncResponseHandler = _ref.asyncResponseHandler
|
|
61
|
+
asyncResponseHandler = _ref.asyncResponseHandler,
|
|
62
|
+
injectMissingUserToken = _ref.injectMissingUserToken;
|
|
60
63
|
|
|
61
64
|
(0, _classCallCheck2.default)(this, Fetcher);
|
|
62
65
|
// A Response body can only be read once, and is read in the onError handler
|
|
@@ -65,6 +68,7 @@ var Fetcher = /*#__PURE__*/function () {
|
|
|
65
68
|
this.cloneResponseForError = cloneResponseForError || false;
|
|
66
69
|
this.callType = callType;
|
|
67
70
|
this.headers = headers;
|
|
71
|
+
this.injectMissingUserToken = injectMissingUserToken || false;
|
|
68
72
|
this.successMessage = successMessage;
|
|
69
73
|
this.onError = onError;
|
|
70
74
|
this.asyncResponseHandler = asyncResponseHandler || _jsonify.default;
|
|
@@ -113,7 +117,16 @@ var Fetcher = /*#__PURE__*/function () {
|
|
|
113
117
|
}, {
|
|
114
118
|
key: "callHeaders",
|
|
115
119
|
value: function callHeaders() {
|
|
116
|
-
|
|
120
|
+
if (!this.headers) {
|
|
121
|
+
return (0, _httpHeaders.httpHeaders)(this.getState().getIn(['config', 'userToken']));
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (!this.injectMissingUserToken) {
|
|
125
|
+
return this.headers;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
var userToken = this.getState().getIn(['config', 'userToken']);
|
|
129
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _httpHeaders.jwtHeader)(userToken)), this.headers);
|
|
117
130
|
}
|
|
118
131
|
}, {
|
|
119
132
|
key: "handleSuccess",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
4
|
|
|
5
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
@@ -25,7 +25,20 @@ var _propTypes2 = require("../../propTypes.js");
|
|
|
25
25
|
|
|
26
26
|
var _presenter = require("../shared/AfsTableWrapper/presenter.js");
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
29
|
+
|
|
30
|
+
var _uiThemeable = require("@instructure/ui-themeable");
|
|
31
|
+
|
|
32
|
+
var _dec, _class, _class2, _temp;
|
|
33
|
+
|
|
34
|
+
var styles = {
|
|
35
|
+
componentId: 'JFhmr',
|
|
36
|
+
template: function template(theme) {
|
|
37
|
+
return "\n\n.JFhmr_cVld{max-width:100%;width:calc(25% + 350px)}";
|
|
38
|
+
},
|
|
39
|
+
'answerFrequencySummaryContainer': 'JFhmr_cVld'
|
|
40
|
+
};
|
|
41
|
+
var AggregationType = (_dec = (0, _uiThemeable.themeable)({}, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
29
42
|
(0, _inherits2.default)(AggregationType, _Component);
|
|
30
43
|
|
|
31
44
|
var _super = (0, _createSuper2.default)(AggregationType);
|
|
@@ -45,20 +58,20 @@ var AggregationType = /*#__PURE__*/function (_Component) {
|
|
|
45
58
|
var _this$props = _this.props,
|
|
46
59
|
answerSummary = _this$props.answerSummary,
|
|
47
60
|
itemId = _this$props.itemId;
|
|
48
|
-
return /*#__PURE__*/_react.default.createElement(_presenter.AfsTableWrapper, null, /*#__PURE__*/_react.default.createElement(
|
|
61
|
+
return /*#__PURE__*/_react.default.createElement(_presenter.AfsTableWrapper, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
62
|
+
className: (0, _classnames.default)(styles.answerFrequencySummaryContainer)
|
|
63
|
+
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
49
64
|
itemId: itemId,
|
|
50
65
|
answerSummary: answerSummary
|
|
51
|
-
}));
|
|
66
|
+
})));
|
|
52
67
|
};
|
|
53
68
|
|
|
54
69
|
return _this;
|
|
55
70
|
}
|
|
56
71
|
|
|
57
72
|
return AggregationType;
|
|
58
|
-
}(_react.Component)
|
|
59
|
-
|
|
60
|
-
exports.AggregationType = AggregationType;
|
|
61
|
-
AggregationType.propTypes = {
|
|
73
|
+
}(_react.Component), _class2.propTypes = {
|
|
62
74
|
itemId: _propTypes.default.number.isRequired,
|
|
63
75
|
answerSummary: _propTypes2.onlyAggregatePropType
|
|
64
|
-
}.isRequired;
|
|
76
|
+
}.isRequired, _temp)) || _class);
|
|
77
|
+
exports.AggregationType = AggregationType;
|
|
@@ -37,14 +37,17 @@ var _theme = _interopRequireDefault(require("./theme.js"));
|
|
|
37
37
|
|
|
38
38
|
var _index2 = _interopRequireDefault(require("../shared/AfsTableWrapper/index.js"));
|
|
39
39
|
|
|
40
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
41
|
+
|
|
40
42
|
var _dec, _class, _class2, _temp;
|
|
41
43
|
|
|
42
44
|
var styles = {
|
|
43
|
-
componentId: '
|
|
45
|
+
componentId: 'cEPQa',
|
|
44
46
|
template: function template(theme) {
|
|
45
|
-
return "\n\n.
|
|
47
|
+
return "\n\n.cEPQa_rMrG{display:flex;flex-basis:100%;flex-direction:column;padding-bottom:".concat(theme.tableBottomPadding || 'inherit', "}\n\n.cEPQa_cVld{max-width:100%;width:calc(25% + 350px)}");
|
|
46
48
|
},
|
|
47
|
-
'tableWrapper': '
|
|
49
|
+
'tableWrapper': 'cEPQa_rMrG',
|
|
50
|
+
'answerFrequencySummaryContainer': 'cEPQa_cVld'
|
|
48
51
|
};
|
|
49
52
|
var ChoiceType = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
50
53
|
(0, _inherits2.default)(ChoiceType, _Component);
|
|
@@ -100,7 +103,9 @@ var ChoiceType = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _d
|
|
|
100
103
|
var answerHeaderId = "answer-frequency-summary-answer-".concat(itemId);
|
|
101
104
|
var respondentsHeaderId = "answer-frequency-summary-respondents-".concat(itemId);
|
|
102
105
|
var percentageHeaderId = "answer-frequency-summary-percentage-".concat(itemId);
|
|
103
|
-
return /*#__PURE__*/_react.default.createElement(_index2.default, null, /*#__PURE__*/_react.default.createElement(
|
|
106
|
+
return /*#__PURE__*/_react.default.createElement(_index2.default, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
107
|
+
className: (0, _classnames.default)(styles.answerFrequencySummaryContainer)
|
|
108
|
+
}, /*#__PURE__*/_react.default.createElement(_uiTable.Table, {
|
|
104
109
|
caption: (0, _formatMessage.default)('Answer Frequency Summary')
|
|
105
110
|
}, /*#__PURE__*/_react.default.createElement(_uiTable.Table.Head, null, /*#__PURE__*/_react.default.createElement(_uiTable.Table.Row, null, /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
106
111
|
id: spacingHeaderId,
|
|
@@ -115,7 +120,7 @@ var ChoiceType = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _d
|
|
|
115
120
|
id: percentageHeaderId,
|
|
116
121
|
height: "47px",
|
|
117
122
|
textAlign: "center"
|
|
118
|
-
}, (0, _formatMessage.default)('%')))), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Body, null, choices.map(this.renderRow), this.renderNoAnswer(noAnswer, numberOfChoices))));
|
|
123
|
+
}, (0, _formatMessage.default)('%')))), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Body, null, choices.map(this.renderRow), this.renderNoAnswer(noAnswer, numberOfChoices)))));
|
|
119
124
|
}
|
|
120
125
|
}]);
|
|
121
126
|
ChoiceType.displayName = "ChoiceType";
|
|
@@ -0,0 +1,93 @@
|
|
|
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.MatchingType = void 0;
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _index = _interopRequireDefault(require("../shared/AfsTableWrapper/index.js"));
|
|
23
|
+
|
|
24
|
+
var _index2 = _interopRequireDefault(require("./MatchingTypeTable/index.js"));
|
|
25
|
+
|
|
26
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
+
|
|
28
|
+
var _propTypes2 = require("../../propTypes.js");
|
|
29
|
+
|
|
30
|
+
var _matchingTypeOrderer = _interopRequireDefault(require("./utils/matchingTypeOrderer.js"));
|
|
31
|
+
|
|
32
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
33
|
+
|
|
34
|
+
var _uiThemeable = require("@instructure/ui-themeable");
|
|
35
|
+
|
|
36
|
+
var _dec, _class, _class2, _temp;
|
|
37
|
+
|
|
38
|
+
var styles = {
|
|
39
|
+
componentId: 'JFhmr',
|
|
40
|
+
template: function template(theme) {
|
|
41
|
+
return "\n\n.JFhmr_cVld{max-width:100%;width:calc(25% + 350px)}";
|
|
42
|
+
},
|
|
43
|
+
'answerFrequencySummaryContainer': 'JFhmr_cVld'
|
|
44
|
+
};
|
|
45
|
+
var MatchingType = (_dec = (0, _uiThemeable.themeable)({}, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
46
|
+
(0, _inherits2.default)(MatchingType, _Component);
|
|
47
|
+
|
|
48
|
+
var _super = (0, _createSuper2.default)(MatchingType);
|
|
49
|
+
|
|
50
|
+
function MatchingType() {
|
|
51
|
+
var _this;
|
|
52
|
+
|
|
53
|
+
(0, _classCallCheck2.default)(this, MatchingType);
|
|
54
|
+
|
|
55
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
56
|
+
args[_key] = arguments[_key];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
60
|
+
|
|
61
|
+
_this.render = function () {
|
|
62
|
+
var _this$props = _this.props,
|
|
63
|
+
itemId = _this$props.itemId,
|
|
64
|
+
answerSummary = _this$props.answerSummary;
|
|
65
|
+
var questions = answerSummary.questions;
|
|
66
|
+
var questionKeys = Object.keys(questions);
|
|
67
|
+
var exampleAnswers = questions[questionKeys[0]].answers;
|
|
68
|
+
var answerKeys = Object.keys(exampleAnswers);
|
|
69
|
+
|
|
70
|
+
var orderedAnswerKeys = _matchingTypeOrderer.default.orderAnswerKeysForDiagonal(answerSummary, answerKeys);
|
|
71
|
+
|
|
72
|
+
var orderedQuestionKeys = _matchingTypeOrderer.default.orderQuestionKeysForDiagonal(answerSummary, questionKeys, orderedAnswerKeys);
|
|
73
|
+
|
|
74
|
+
var containerHalfWidth = orderedAnswerKeys.length <= 3;
|
|
75
|
+
return /*#__PURE__*/_react.default.createElement(_index.default, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
76
|
+
className: (0, _classnames.default)((0, _defineProperty2.default)({}, styles.answerFrequencySummaryContainer, containerHalfWidth))
|
|
77
|
+
}, /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
78
|
+
itemId: itemId,
|
|
79
|
+
answerSummary: answerSummary,
|
|
80
|
+
orderedAnswerKeys: orderedAnswerKeys,
|
|
81
|
+
orderedQuestionKeys: orderedQuestionKeys
|
|
82
|
+
})));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
return _this;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return MatchingType;
|
|
89
|
+
}(_react.Component), _class2.propTypes = {
|
|
90
|
+
itemId: _propTypes.default.number,
|
|
91
|
+
answerSummary: _propTypes2.matchingTypeAnswerSummaryPropType
|
|
92
|
+
}.isRequired, _temp)) || _class);
|
|
93
|
+
exports.MatchingType = MatchingType;
|
|
@@ -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.MatchingTypeTable;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _presenter = require("./presenter.js");
|
|
@@ -0,0 +1,205 @@
|
|
|
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.MatchingTypeTable = void 0;
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _uiFlex = require("@instructure/ui-flex");
|
|
23
|
+
|
|
24
|
+
var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
|
|
25
|
+
|
|
26
|
+
var _uiTable = require("@instructure/ui-table");
|
|
27
|
+
|
|
28
|
+
var _uiThemeable = require("@instructure/ui-themeable");
|
|
29
|
+
|
|
30
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
|
+
|
|
32
|
+
var _uiIcons = require("@instructure/ui-icons");
|
|
33
|
+
|
|
34
|
+
var _propTypes2 = require("../../../propTypes.js");
|
|
35
|
+
|
|
36
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
37
|
+
|
|
38
|
+
var _theme = _interopRequireDefault(require("./theme.js"));
|
|
39
|
+
|
|
40
|
+
var _dec, _class, _class2, _temp;
|
|
41
|
+
|
|
42
|
+
var styles = {
|
|
43
|
+
componentId: 'daSNV',
|
|
44
|
+
template: function template(theme) {
|
|
45
|
+
return "\n\n.daSNV_rMrG{display:flex;flex-basis:100%;flex-direction:column;padding-bottom:".concat(theme.tableBottomPadding || 'inherit', "}\n\n.daSNV_cvRx{align-items:center;display:flex;height:48px;justify-content:center;width:46px}\n\n.daSNV_EKAb{background-color:").concat(theme.colorGreen || 'inherit', "}\n\n.daSNV_EKAb svg{fill:#fff}\n\n.daSNV_tnta{border-color:").concat(theme.colorGreen || 'inherit', ";border-style:solid;border-width:2px 0}\n\n.daSNV_fvqY{border-radius:4px 4px 4px 4px;border-width:2px 2px 2px 2px}\n\n.daSNV_cVld{max-width:100%;width:calc(25% + 350px)}");
|
|
46
|
+
},
|
|
47
|
+
'tableWrapper': 'daSNV_rMrG',
|
|
48
|
+
'iconWrapper': 'daSNV_cvRx',
|
|
49
|
+
'iconCorrect': 'daSNV_EKAb',
|
|
50
|
+
'correctRowBorder': 'daSNV_tnta',
|
|
51
|
+
'correctRowBorderRadius': 'daSNV_fvqY',
|
|
52
|
+
'answerFrequencySummaryContainer': 'daSNV_cVld'
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
var _ref = /*#__PURE__*/_react.default.createElement(_uiIcons.IconCheckSolid, null);
|
|
56
|
+
|
|
57
|
+
var _ref2 = /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
58
|
+
width: "46px",
|
|
59
|
+
textAlign: "center"
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
var MatchingTypeTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
63
|
+
(0, _inherits2.default)(MatchingTypeTable, _Component);
|
|
64
|
+
|
|
65
|
+
var _super = (0, _createSuper2.default)(MatchingTypeTable);
|
|
66
|
+
|
|
67
|
+
function MatchingTypeTable() {
|
|
68
|
+
var _this;
|
|
69
|
+
|
|
70
|
+
(0, _classCallCheck2.default)(this, MatchingTypeTable);
|
|
71
|
+
|
|
72
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
73
|
+
args[_key] = arguments[_key];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
77
|
+
|
|
78
|
+
_this.renderIcon = function () {
|
|
79
|
+
var classes = (0, _classnames.default)(styles.iconWrapper, styles.iconCorrect);
|
|
80
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
81
|
+
className: classes
|
|
82
|
+
}, _ref);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
_this.renderHeaderCell = function (key) {
|
|
86
|
+
var _this$props = _this.props,
|
|
87
|
+
answerSummary = _this$props.answerSummary,
|
|
88
|
+
itemId = _this$props.itemId;
|
|
89
|
+
var questions = answerSummary.questions;
|
|
90
|
+
var questionKeys = Object.keys(questions);
|
|
91
|
+
var exampleAnswers = questions[questionKeys[0]].answers;
|
|
92
|
+
var answer = exampleAnswers[key];
|
|
93
|
+
var answerNumberHeaderId = "answer-number-header-".concat(key, "-").concat(itemId);
|
|
94
|
+
return /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
95
|
+
id: answerNumberHeaderId,
|
|
96
|
+
key: answerNumberHeaderId,
|
|
97
|
+
theme: {
|
|
98
|
+
padding: '0 0 15px 0'
|
|
99
|
+
},
|
|
100
|
+
textAlign: "center"
|
|
101
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
102
|
+
direction: "row"
|
|
103
|
+
}, _ref2, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
104
|
+
shouldShrink: true,
|
|
105
|
+
shouldGrow: true,
|
|
106
|
+
textAlign: "center"
|
|
107
|
+
}, answer.body)));
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
_this.renderCell = function (questionKey, answerKey) {
|
|
111
|
+
var _classNames;
|
|
112
|
+
|
|
113
|
+
var _this$props2 = _this.props,
|
|
114
|
+
answerSummary = _this$props2.answerSummary,
|
|
115
|
+
itemId = _this$props2.itemId;
|
|
116
|
+
var questions = answerSummary.questions;
|
|
117
|
+
var question = questions[questionKey];
|
|
118
|
+
var answer = question.answers[answerKey];
|
|
119
|
+
var correct = answer.correct,
|
|
120
|
+
count = answer.count;
|
|
121
|
+
var answerNumberCellId = "answer-number-cell-".concat(questionKey, "-").concat(answerKey, "-").concat(itemId);
|
|
122
|
+
var containerClassNames = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, styles.correctRowBorder, answer.correct), (0, _defineProperty2.default)(_classNames, styles.correctRowBorderRadius, answer.correct), _classNames));
|
|
123
|
+
return /*#__PURE__*/_react.default.createElement(_uiTable.Table.Cell, {
|
|
124
|
+
id: answerNumberCellId,
|
|
125
|
+
key: answerNumberCellId,
|
|
126
|
+
theme: {
|
|
127
|
+
padding: '0 0 0 0'
|
|
128
|
+
}
|
|
129
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
130
|
+
className: containerClassNames
|
|
131
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
132
|
+
direction: "row"
|
|
133
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
134
|
+
width: "46px",
|
|
135
|
+
textAlign: "center"
|
|
136
|
+
}, correct && _this.renderIcon()), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
137
|
+
shouldShrink: true,
|
|
138
|
+
shouldGrow: true,
|
|
139
|
+
width: "46px",
|
|
140
|
+
textAlign: "center"
|
|
141
|
+
}, count))));
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
_this.renderHeaderRow = function (orderedAnswerKeys) {
|
|
145
|
+
var itemId = _this.props.itemId;
|
|
146
|
+
var headerCells = orderedAnswerKeys.map(_this.renderHeaderCell);
|
|
147
|
+
var categoryHeaderId = "category-header-".concat(itemId);
|
|
148
|
+
var rowKey = "header-row-".concat(itemId);
|
|
149
|
+
return /*#__PURE__*/_react.default.createElement(_uiTable.Table.Row, {
|
|
150
|
+
key: rowKey
|
|
151
|
+
}, /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
152
|
+
id: categoryHeaderId,
|
|
153
|
+
key: categoryHeaderId,
|
|
154
|
+
theme: {
|
|
155
|
+
padding: '0 0 15px 0'
|
|
156
|
+
},
|
|
157
|
+
textAlign: "start",
|
|
158
|
+
width: "250px"
|
|
159
|
+
}, (0, _formatMessage.default)('Question')), headerCells);
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
_this.renderRow = function (orderedQuestionKey, orderedAnswerKeys) {
|
|
163
|
+
var _this$props3 = _this.props,
|
|
164
|
+
answerSummary = _this$props3.answerSummary,
|
|
165
|
+
itemId = _this$props3.itemId;
|
|
166
|
+
var questions = answerSummary.questions;
|
|
167
|
+
var question = questions[orderedQuestionKey];
|
|
168
|
+
var answerCells = orderedAnswerKeys.map(function (answerKey) {
|
|
169
|
+
return _this.renderCell(orderedQuestionKey, answerKey);
|
|
170
|
+
});
|
|
171
|
+
var questionRowHeaderId = "question-row-header-id-".concat(orderedQuestionKey, "-").concat(itemId);
|
|
172
|
+
var rowKey = "row-".concat(orderedQuestionKey, "-").concat(itemId);
|
|
173
|
+
return /*#__PURE__*/_react.default.createElement(_uiTable.Table.Row, {
|
|
174
|
+
key: rowKey
|
|
175
|
+
}, /*#__PURE__*/_react.default.createElement(_uiTable.Table.Cell, {
|
|
176
|
+
id: questionRowHeaderId,
|
|
177
|
+
key: questionRowHeaderId,
|
|
178
|
+
theme: {
|
|
179
|
+
padding: '0 0 1px 0'
|
|
180
|
+
}
|
|
181
|
+
}, question.body), answerCells);
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
_this.render = function () {
|
|
185
|
+
var _this$props4 = _this.props,
|
|
186
|
+
orderedAnswerKeys = _this$props4.orderedAnswerKeys,
|
|
187
|
+
orderedQuestionKeys = _this$props4.orderedQuestionKeys;
|
|
188
|
+
return /*#__PURE__*/_react.default.createElement(_uiTable.Table, {
|
|
189
|
+
caption: (0, _formatMessage.default)('Answer Frequency Summary')
|
|
190
|
+
}, /*#__PURE__*/_react.default.createElement(_uiTable.Table.Head, null, _this.renderHeaderRow(orderedAnswerKeys)), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Body, null, orderedQuestionKeys.map(function (orderedQuestionKey) {
|
|
191
|
+
return _this.renderRow(orderedQuestionKey, orderedAnswerKeys);
|
|
192
|
+
})));
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
return _this;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
return MatchingTypeTable;
|
|
199
|
+
}(_react.Component), _class2.propTypes = {
|
|
200
|
+
itemId: _propTypes.default.number,
|
|
201
|
+
answerSummary: _propTypes2.matchingTypeAnswerSummaryPropType,
|
|
202
|
+
orderedAnswerKeys: _propTypes.default.array.isRequired,
|
|
203
|
+
orderedQuestionKeys: _propTypes.default.array.isRequired
|
|
204
|
+
}.isRequired, _temp)) || _class);
|
|
205
|
+
exports.MatchingTypeTable = MatchingTypeTable;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = generator;
|
|
7
|
+
|
|
8
|
+
function generator(_ref) {
|
|
9
|
+
var spacing = _ref.spacing;
|
|
10
|
+
return {
|
|
11
|
+
tableBottomPadding: spacing.medium,
|
|
12
|
+
colorGreen: '#0b874b'
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "MatchingType", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _MatchingType.MatchingType;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _MatchingType = require("./MatchingType.js");
|
|
@@ -0,0 +1,52 @@
|
|
|
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 = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var MatchingTypeOrderer = function MatchingTypeOrderer() {
|
|
15
|
+
(0, _classCallCheck2.default)(this, MatchingTypeOrderer);
|
|
16
|
+
|
|
17
|
+
this.orderAnswerKeysForDiagonal = function (answerSummary, answerKeys) {
|
|
18
|
+
var questions = answerSummary.questions;
|
|
19
|
+
var questionKeys = Object.keys(questions);
|
|
20
|
+
var orderedKeys = (0, _toConsumableArray2.default)(answerKeys);
|
|
21
|
+
answerKeys.forEach(function (answerKey) {
|
|
22
|
+
questionKeys.forEach(function (questionKey) {
|
|
23
|
+
var question = questions[questionKey];
|
|
24
|
+
|
|
25
|
+
if (question.answers[answerKey].distractor) {
|
|
26
|
+
orderedKeys.splice(orderedKeys.indexOf(answerKey), 1);
|
|
27
|
+
orderedKeys.push(answerKey);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
return orderedKeys;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
this.orderQuestionKeysForDiagonal = function (answerSummary, questionKeys, orderedAnswerKeys) {
|
|
35
|
+
var questions = answerSummary.questions;
|
|
36
|
+
var orderedQuestionKeys = [];
|
|
37
|
+
orderedAnswerKeys.forEach(function (orderedAnswerKey) {
|
|
38
|
+
questionKeys.forEach(function (questionKey) {
|
|
39
|
+
var question = questions[questionKey];
|
|
40
|
+
|
|
41
|
+
if (question.answers[orderedAnswerKey].correct) {
|
|
42
|
+
orderedQuestionKeys.push(questionKey);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
return orderedQuestionKeys;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var _default = new MatchingTypeOrderer();
|
|
51
|
+
|
|
52
|
+
exports.default = _default;
|
|
@@ -23,6 +23,8 @@ var _index = _interopRequireDefault(require("./ChoiceType/index.js"));
|
|
|
23
23
|
|
|
24
24
|
var _index2 = _interopRequireDefault(require("./AggregationType/index.js"));
|
|
25
25
|
|
|
26
|
+
var _index3 = require("./MatchingType/index.js");
|
|
27
|
+
|
|
26
28
|
var _propTypes = require("../propTypes.js");
|
|
27
29
|
|
|
28
30
|
var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
|
|
@@ -50,6 +52,10 @@ var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
|
|
|
50
52
|
if (afsFlags.hotSpotEnabled) {
|
|
51
53
|
_this.afsTableComponentMap.set('hot-spot', _index2.default);
|
|
52
54
|
}
|
|
55
|
+
|
|
56
|
+
if (afsFlags.matchingEnabled) {
|
|
57
|
+
_this.afsTableComponentMap.set('matching', _index3.MatchingType);
|
|
58
|
+
}
|
|
53
59
|
};
|
|
54
60
|
|
|
55
61
|
_this.render = function () {
|
|
@@ -27,7 +27,9 @@ var _uiFlex = require("@instructure/ui-flex");
|
|
|
27
27
|
|
|
28
28
|
var _uiHeading = require("@instructure/ui-heading");
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
|
+
|
|
32
|
+
var _dec, _class, _class2, _temp;
|
|
31
33
|
|
|
32
34
|
var styles = {
|
|
33
35
|
componentId: 'bmsWU',
|
|
@@ -36,7 +38,7 @@ var styles = {
|
|
|
36
38
|
},
|
|
37
39
|
'tableWrapper': 'bmsWU_rMrG'
|
|
38
40
|
};
|
|
39
|
-
var AfsTableWrapper = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = /*#__PURE__*/function (_Component) {
|
|
41
|
+
var AfsTableWrapper = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
40
42
|
(0, _inherits2.default)(AfsTableWrapper, _Component);
|
|
41
43
|
|
|
42
44
|
var _super = (0, _createSuper2.default)(AfsTableWrapper);
|
|
@@ -53,23 +55,25 @@ var AfsTableWrapper = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
53
55
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
54
56
|
|
|
55
57
|
_this.render = function () {
|
|
56
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
58
|
+
return /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
57
59
|
direction: "row"
|
|
58
60
|
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
59
61
|
shouldGrow: true
|
|
60
62
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
61
63
|
className: styles.tableWrapper
|
|
62
64
|
}, /*#__PURE__*/_react.default.createElement(_uiHeading.Heading, {
|
|
63
|
-
margin: "
|
|
65
|
+
margin: "x-large x-large x-large 0",
|
|
64
66
|
level: "h3",
|
|
65
67
|
weight: "bold",
|
|
66
68
|
color: "primary"
|
|
67
|
-
}, (0, _formatMessage.default)('Answer Frequency Summary')), _this.props.children)))
|
|
69
|
+
}, (0, _formatMessage.default)('Answer Frequency Summary')), _this.props.children)));
|
|
68
70
|
};
|
|
69
71
|
|
|
70
72
|
return _this;
|
|
71
73
|
}
|
|
72
74
|
|
|
73
75
|
return AfsTableWrapper;
|
|
74
|
-
}(_react.Component),
|
|
76
|
+
}(_react.Component), _class2.propTypes = {
|
|
77
|
+
children: _propTypes.default.node.isRequired
|
|
78
|
+
}, _temp)) || _class);
|
|
75
79
|
exports.AfsTableWrapper = AfsTableWrapper;
|