@instructure/quiz-core 20.7.1-rc.9 → 20.8.1-rc.0

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.
Files changed (62) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/es/banks/api/banks.js +36 -8
  3. package/es/banks/components/Banks/presenter.js +10 -1
  4. package/es/banks/components/BanksList/presenter.js +5 -0
  5. package/es/banks/components/SharingModal/ShareList/index.js +20 -9
  6. package/es/banks/components/SharingModal/asyncSearch.js +65 -6
  7. package/es/banks/components/SharingModal/presenter.js +6 -2
  8. package/es/building/components/resources/BanksTray/presenter.js +7 -0
  9. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/ChoiceTypeWithInfo/index.js +1 -0
  10. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/ChoiceTypeWithInfo/presenter.js +90 -0
  11. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/index.js +1 -0
  12. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/presenter.js +255 -0
  13. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/{shared/ChoiceGroupTypeTable → NumericType}/theme.js +1 -2
  14. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/{shared → RichFillBlankType}/ChoiceGroupTypeTable/presenter.js +23 -59
  15. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/ChoiceGroupTypeTable/styles.js +10 -0
  16. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/presenter.js +11 -35
  17. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/index.js +120 -0
  18. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/styles.js +38 -0
  19. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/theme.js +11 -0
  20. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/index.js +55 -0
  21. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +14 -0
  22. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +8 -2
  23. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/index.js +1 -0
  24. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/presenter.js +104 -0
  25. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/{ChoiceGroupTypeTable → ExpandableCard}/styles.js +3 -2
  26. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/theme.js +7 -0
  27. package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/index.js +4 -1
  28. package/es/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +52 -2
  29. package/lib/banks/api/banks.js +35 -7
  30. package/lib/banks/components/Banks/presenter.js +10 -1
  31. package/lib/banks/components/BanksList/presenter.js +5 -0
  32. package/lib/banks/components/SharingModal/ShareList/index.js +19 -8
  33. package/lib/banks/components/SharingModal/asyncSearch.js +64 -5
  34. package/lib/banks/components/SharingModal/presenter.js +6 -2
  35. package/lib/building/components/resources/BanksTray/presenter.js +7 -0
  36. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/ChoiceTypeWithInfo/index.js +13 -0
  37. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/ChoiceTypeWithInfo/presenter.js +113 -0
  38. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/index.js +13 -0
  39. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/presenter.js +281 -0
  40. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/{shared/ChoiceGroupTypeTable → NumericType}/theme.js +1 -2
  41. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/{shared → RichFillBlankType}/ChoiceGroupTypeTable/presenter.js +27 -64
  42. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/ChoiceGroupTypeTable/styles.js +18 -0
  43. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/presenter.js +15 -39
  44. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/index.js +140 -0
  45. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/styles.js +46 -0
  46. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/theme.js +19 -0
  47. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/index.js +80 -0
  48. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +20 -4
  49. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +8 -2
  50. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/index.js +13 -0
  51. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/presenter.js +124 -0
  52. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/{ChoiceGroupTypeTable → ExpandableCard}/styles.js +3 -2
  53. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/theme.js +15 -0
  54. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/index.js +4 -1
  55. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +68 -3
  56. package/package.json +10 -10
  57. /package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/{RichFillBlankType → NumericType}/styles.js +0 -0
  58. /package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/{shared → RichFillBlankType}/ChoiceGroupTypeTable/index.js +0 -0
  59. /package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/{theme.js → ChoiceGroupTypeTable/theme.js} +0 -0
  60. /package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/{RichFillBlankType → NumericType}/styles.js +0 -0
  61. /package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/{shared → RichFillBlankType}/ChoiceGroupTypeTable/index.js +0 -0
  62. /package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/{theme.js → ChoiceGroupTypeTable/theme.js} +0 -0
@@ -23,15 +23,11 @@ var _uiFlex = require("@instructure/ui-flex");
23
23
 
24
24
  var _uiText = require("@instructure/ui-text");
25
25
 
26
- var _index = _interopRequireDefault(require("../../../../../../../common/components/shared/ExpandButton/index.js"));
27
-
28
26
  var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
29
27
 
30
- var _index2 = _interopRequireDefault(require("../../../../../../../common/components/shared/Card/index.js"));
31
-
32
- var _index3 = _interopRequireDefault(require("../ChoiceTypeTable/index.js"));
28
+ var _index = _interopRequireDefault(require("../../shared/ChoiceTypeTable/index.js"));
33
29
 
34
- var _index4 = _interopRequireDefault(require("../../../NewItemAnalysis/BlankIcon/index.js"));
30
+ var _index2 = _interopRequireDefault(require("../../../NewItemAnalysis/BlankIcon/index.js"));
35
31
 
36
32
  var _emotion = require("@instructure/emotion");
37
33
 
@@ -39,6 +35,8 @@ var _styles = _interopRequireDefault(require("./styles.js"));
39
35
 
40
36
  var _theme = _interopRequireDefault(require("./theme.js"));
41
37
 
38
+ var _index3 = _interopRequireDefault(require("../../shared/ExpandableCard/index.js"));
39
+
42
40
  var _dec, _class, _class2, _temp;
43
41
 
44
42
  var ChoiceGroupTypeTable = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
@@ -80,10 +78,19 @@ var ChoiceGroupTypeTable = (_dec = (0, _emotion.withStyle)(_styles.default, _the
80
78
  return (0, _formatMessage.default)('There are no entries for this open entry question.');
81
79
  };
82
80
 
83
- _this.handleBodyToggle = function () {
84
- _this.setState({
85
- bodyExpanded: !_this.state.bodyExpanded
86
- });
81
+ _this.renderBlankInfo = function () {
82
+ var _blank$aggregate, _blank$aggregate2;
83
+
84
+ var blank = _this.props.blank;
85
+ var correctCount = (blank === null || blank === void 0 ? void 0 : (_blank$aggregate = blank.aggregate) === null || _blank$aggregate === void 0 ? void 0 : _blank$aggregate.correct) || 0;
86
+ var incorrectCount = (blank === null || blank === void 0 ? void 0 : (_blank$aggregate2 = blank.aggregate) === null || _blank$aggregate2 === void 0 ? void 0 : _blank$aggregate2.incorrect) || 0;
87
+ var noAnswer = (blank === null || blank === void 0 ? void 0 : blank.no_answer) || 0;
88
+ var correctString = "".concat((0, _formatMessage.default)('Correct'), ": ").concat(correctCount, " ");
89
+ var incorrectString = "".concat((0, _formatMessage.default)('Incorrect'), ": ").concat(incorrectCount, " ");
90
+ var noAnswerString = "".concat((0, _formatMessage.default)('No Answer'), ": ").concat(noAnswer, " ");
91
+ return (0, _emotion.jsx)("div", {
92
+ css: _this.props.styles.groupAggregationContainer
93
+ }, (0, _emotion.jsx)(_uiText.Text, null, correctString), (0, _emotion.jsx)(_uiText.Text, null, incorrectString), (0, _emotion.jsx)(_uiText.Text, null, noAnswerString));
87
94
  };
88
95
 
89
96
  _this.renderTable = function () {
@@ -94,7 +101,7 @@ var ChoiceGroupTypeTable = (_dec = (0, _emotion.withStyle)(_styles.default, _the
94
101
  var choices = blank.choices;
95
102
  var tableId = "".concat(itemId, "_").concat(index, "_choiceGroup");
96
103
  var tableContainerSizeClass = '';
97
- return (0, _emotion.jsx)(_index3.default, {
104
+ return (0, _emotion.jsx)(_index.default, {
98
105
  itemId: tableId,
99
106
  choices: choices,
100
107
  tableContainerSizeClass: tableContainerSizeClass
@@ -104,16 +111,14 @@ var ChoiceGroupTypeTable = (_dec = (0, _emotion.withStyle)(_styles.default, _the
104
111
  _this.renderBlankIcon = function () {
105
112
  var index = _this.props.index;
106
113
  var blankIconKey = "blank_icon_".concat(index);
107
- return (0, _emotion.jsx)(_index4.default, {
114
+ return (0, _emotion.jsx)(_index2.default, {
108
115
  key: blankIconKey,
109
116
  number: index + 1
110
117
  });
111
118
  };
112
119
 
113
120
  _this.renderHeadLine = function () {
114
- var _this$props2 = _this.props,
115
- blank = _this$props2.blank,
116
- blankInfo = _this$props2.blankInfo;
121
+ var blank = _this.props.blank;
117
122
  var blank_text = blank.blank_text,
118
123
  blank_type = blank.blank_type;
119
124
  var blankTextAndType = "".concat(blank_text, " (").concat(_this.getTranslatedBlankType(blank_type), ")");
@@ -129,24 +134,7 @@ var ChoiceGroupTypeTable = (_dec = (0, _emotion.withStyle)(_styles.default, _the
129
134
  }, blankTextAndType)), (0, _emotion.jsx)(_uiFlex.Flex.Item, {
130
135
  shouldShrink: true,
131
136
  margin: "xxx-small none small none"
132
- }, blankInfo));
133
- };
134
-
135
- _this.renderGroup = function () {
136
- return (0, _emotion.jsx)(_uiFlex.Flex, {
137
- direction: "row",
138
- alignItems: "start"
139
- }, (0, _emotion.jsx)(_uiFlex.Flex.Item, {
140
- shouldShrink: true,
141
- shouldGrow: true,
142
- margin: "xx-small none none none"
143
- }, _this.renderHeadLine()), (0, _emotion.jsx)(_uiFlex.Flex.Item, {
144
- margin: "none none none x-small"
145
- }, (0, _emotion.jsx)(_index.default, {
146
- onClick: _this.handleBodyToggle,
147
- title: _this.state.bodyExpanded ? (0, _formatMessage.default)('collapse group result') : (0, _formatMessage.default)('expand group result'),
148
- isExpanded: _this.state.bodyExpanded
149
- })));
137
+ }, _this.renderBlankInfo()));
150
138
  };
151
139
 
152
140
  _this.renderEmptyInfo = function () {
@@ -156,41 +144,17 @@ var ChoiceGroupTypeTable = (_dec = (0, _emotion.withStyle)(_styles.default, _the
156
144
  }, (0, _emotion.jsx)(_uiFlex.Flex.Item, {
157
145
  shouldShrink: true,
158
146
  shouldGrow: true,
159
- padding: "none none x-small small"
147
+ padding: "none none x-small none"
160
148
  }, (0, _emotion.jsx)(_uiText.Text, null, _this.getTranslatedEmptyMessage())));
161
149
  };
162
150
 
163
151
  _this.render = function () {
164
- var _this$props3 = _this.props,
165
- styles = _this$props3.styles,
166
- blank = _this$props3.blank;
167
- var groupWrapper = styles.groupWrapper,
168
- cardWrapper = styles.cardWrapper;
152
+ var blank = _this.props.blank;
169
153
  var areThereChoices = Array.isArray(blank.choices) && blank.choices.length > 0;
170
- var bodyExpanded = _this.state.bodyExpanded;
171
- return (0, _emotion.jsx)("div", {
172
- css: groupWrapper
173
- }, (0, _emotion.jsx)(_index2.default, {
174
- css: cardWrapper
175
- }, (0, _emotion.jsx)(_uiFlex.Flex, {
176
- direction: "column",
177
- justifyItems: "start"
178
- }, (0, _emotion.jsx)(_uiFlex.Flex.Item, {
179
- overflowY: "visible"
180
- }, (0, _emotion.jsx)(_uiFlex.Flex.Item, {
181
- shouldGrow: true,
182
- shouldShrink: true
183
- }, (0, _emotion.jsx)(_uiFlex.Flex, {
184
- direction: "column",
185
- justifyItems: "start"
186
- }, (0, _emotion.jsx)(_uiFlex.Flex.Item, {
187
- shouldShrink: true,
188
- padding: "x-small small x-small medium",
189
- overflowY: "hidden"
190
- }, _this.renderGroup()), bodyExpanded && (0, _emotion.jsx)(_uiFlex.Flex.Item, {
191
- shouldShrink: true,
192
- padding: "x-small small x-small small"
193
- }, areThereChoices ? _this.renderTable() : _this.renderEmptyInfo())))))));
154
+ return (0, _emotion.jsx)(_index3.default, {
155
+ content: areThereChoices ? _this.renderTable() : _this.renderEmptyInfo(),
156
+ headLine: _this.renderHeadLine()
157
+ });
194
158
  };
195
159
 
196
160
  return _this;
@@ -204,7 +168,6 @@ var ChoiceGroupTypeTable = (_dec = (0, _emotion.withStyle)(_styles.default, _the
204
168
  blank_text: _propTypes.default.string.isRequired,
205
169
  blank_type: _propTypes.default.string.isRequired
206
170
  }).isRequired,
207
- blankInfo: _propTypes.default.node,
208
171
  index: _propTypes.default.number.isRequired,
209
172
  styles: _propTypes.default.object
210
173
  }.isRequired, _temp)) || _class);
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var generateStyle = function generateStyle(componentTheme) {
9
+ return {
10
+ groupAggregationContainer: {
11
+ display: 'flex',
12
+ gap: componentTheme.aggregateSpacing
13
+ }
14
+ };
15
+ };
16
+
17
+ var _default = generateStyle;
18
+ exports.default = _default;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
@@ -13,7 +15,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
13
15
 
14
16
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
15
17
 
16
- var _react = require("react");
18
+ var _react = _interopRequireWildcard(require("react"));
17
19
 
18
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
19
21
 
@@ -23,23 +25,11 @@ var _index = _interopRequireDefault(require("../shared/AfsTableWrapper/index.js"
23
25
 
24
26
  var _presenter = require("../shared/AfsPartsContainer/presenter.js");
25
27
 
26
- var _index2 = _interopRequireDefault(require("../shared/ChoiceGroupTypeTable/index.js"));
27
-
28
- var _uiText = require("@instructure/ui-text");
29
-
30
- var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
28
+ var _index2 = _interopRequireDefault(require("./ChoiceGroupTypeTable/index.js"));
31
29
 
32
30
  var _index3 = _interopRequireDefault(require("../shared/AggregationTable/index.js"));
33
31
 
34
- var _emotion = require("@instructure/emotion");
35
-
36
- var _styles = _interopRequireDefault(require("./styles.js"));
37
-
38
- var _theme = _interopRequireDefault(require("./theme.js"));
39
-
40
- var _dec, _class, _class2, _temp;
41
-
42
- var RichFillBlankType = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
32
+ var RichFillBlankType = /*#__PURE__*/function (_Component) {
43
33
  (0, _inherits2.default)(RichFillBlankType, _Component);
44
34
 
45
35
  var _super = (0, _createSuper2.default)(RichFillBlankType);
@@ -55,26 +45,11 @@ var RichFillBlankType = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.
55
45
 
56
46
  _this = _super.call.apply(_super, [this].concat(args));
57
47
 
58
- _this.renderBlankInfo = function (blank) {
59
- var _blank$aggregate, _blank$aggregate2;
60
-
61
- var correctCount = (blank === null || blank === void 0 ? void 0 : (_blank$aggregate = blank.aggregate) === null || _blank$aggregate === void 0 ? void 0 : _blank$aggregate.correct) || 0;
62
- var incorrectCount = (blank === null || blank === void 0 ? void 0 : (_blank$aggregate2 = blank.aggregate) === null || _blank$aggregate2 === void 0 ? void 0 : _blank$aggregate2.incorrect) || 0;
63
- var noAnswer = (blank === null || blank === void 0 ? void 0 : blank.no_answer) || 0;
64
- var correctString = "".concat((0, _formatMessage.default)('Correct'), ": ").concat(correctCount, " ");
65
- var incorrectString = "".concat((0, _formatMessage.default)('Incorrect'), ": ").concat(incorrectCount, " ");
66
- var noAnswerString = "".concat((0, _formatMessage.default)('No Answer'), ": ").concat(noAnswer, " ");
67
- return (0, _emotion.jsx)("div", {
68
- css: _this.props.styles.groupAggregationContainer
69
- }, (0, _emotion.jsx)(_uiText.Text, null, correctString), (0, _emotion.jsx)(_uiText.Text, null, incorrectString), (0, _emotion.jsx)(_uiText.Text, null, noAnswerString));
70
- };
71
-
72
48
  _this.renderGroup = function (key, itemId, blank, index) {
73
- return (0, _emotion.jsx)(_index2.default, {
49
+ return /*#__PURE__*/_react.default.createElement(_index2.default, {
74
50
  key: key,
75
51
  itemId: itemId,
76
52
  blank: blank,
77
- blankInfo: _this.renderBlankInfo(blank),
78
53
  index: index
79
54
  });
80
55
  };
@@ -85,7 +60,7 @@ var RichFillBlankType = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.
85
60
  itemId = _this$props.itemId;
86
61
  var blanks = answerSummary.blanks;
87
62
  return blanks.map(function (blank, index) {
88
- var key = "ChoiceGroupTypeTable_".concat(index);
63
+ var key = "ChoiceGroupTypeTable_".concat(itemId, "_").concat(index);
89
64
  return _this.renderGroup(key, itemId, blank, index);
90
65
  });
91
66
  };
@@ -94,9 +69,9 @@ var RichFillBlankType = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.
94
69
  var _this$props2 = _this.props,
95
70
  answerSummary = _this$props2.answerSummary,
96
71
  itemId = _this$props2.itemId;
97
- return (0, _emotion.jsx)(_index.default, null, (0, _emotion.jsx)(_presenter.AfsPartsContainer, {
72
+ return /*#__PURE__*/_react.default.createElement(_index.default, null, /*#__PURE__*/_react.default.createElement(_presenter.AfsPartsContainer, {
98
73
  afsTable: _this.renderGroups(),
99
- aggregationTable: (0, _emotion.jsx)(_index3.default, {
74
+ aggregationTable: /*#__PURE__*/_react.default.createElement(_index3.default, {
100
75
  itemId: itemId,
101
76
  answerSummary: answerSummary
102
77
  })
@@ -107,9 +82,10 @@ var RichFillBlankType = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.
107
82
  }
108
83
 
109
84
  return RichFillBlankType;
110
- }(_react.Component), _class2.propTypes = {
85
+ }(_react.Component);
86
+
87
+ exports.RichFillBlankType = RichFillBlankType;
88
+ RichFillBlankType.propTypes = {
111
89
  itemId: _propTypes.default.number.isRequired,
112
- answerSummary: _propTypes2.richFillBlankTypeAnswerSummaryPropType.isRequired,
113
- styles: _propTypes.default.object
114
- }.isRequired, _temp)) || _class);
115
- exports.RichFillBlankType = RichFillBlankType;
90
+ answerSummary: _propTypes2.richFillBlankTypeAnswerSummaryPropType.isRequired
91
+ }.isRequired;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.ScoreDistributionTypeTable = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
17
+
18
+ var _propTypes = require("../../../propTypes.js");
19
+
20
+ var _react = require("react");
21
+
22
+ var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
23
+
24
+ var _uiTable = require("@instructure/ui-table");
25
+
26
+ var _propTypes2 = _interopRequireDefault(require("prop-types"));
27
+
28
+ var _emotion = require("@instructure/emotion");
29
+
30
+ var _styles = _interopRequireDefault(require("./styles.js"));
31
+
32
+ var _theme = _interopRequireDefault(require("./theme.js"));
33
+
34
+ var _dec, _class, _class2, _temp;
35
+
36
+ var ScoreDistributionTypeTable = (_dec = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
37
+ (0, _inherits2.default)(ScoreDistributionTypeTable, _Component);
38
+
39
+ var _super = (0, _createSuper2.default)(ScoreDistributionTypeTable);
40
+
41
+ function ScoreDistributionTypeTable() {
42
+ var _this;
43
+
44
+ (0, _classCallCheck2.default)(this, ScoreDistributionTypeTable);
45
+
46
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
47
+ args[_key] = arguments[_key];
48
+ }
49
+
50
+ _this = _super.call.apply(_super, [this].concat(args));
51
+
52
+ _this.renderFirstCell = function (content) {
53
+ return (0, _emotion.jsx)("div", {
54
+ css: _this.props.styles.firstTextContainer
55
+ }, content);
56
+ };
57
+
58
+ _this.renderCell = function (content) {
59
+ return (0, _emotion.jsx)("div", {
60
+ css: _this.props.styles.textContainer
61
+ }, content);
62
+ };
63
+
64
+ _this.renderRow = function (choice, choiceIndex) {
65
+ var count = choice.count,
66
+ score = choice.score,
67
+ percentage = choice.percentage;
68
+ return (0, _emotion.jsx)(_uiTable.Table.Row, {
69
+ key: choiceIndex
70
+ }, (0, _emotion.jsx)(_uiTable.Table.Cell, {
71
+ themeOverride: {
72
+ padding: '0'
73
+ }
74
+ }, _this.renderFirstCell(score)), (0, _emotion.jsx)(_uiTable.Table.Cell, {
75
+ themeOverride: {
76
+ padding: '0'
77
+ }
78
+ }, _this.renderCell(count)), (0, _emotion.jsx)(_uiTable.Table.Cell, {
79
+ themeOverride: {
80
+ padding: '0'
81
+ },
82
+ textAlign: "center"
83
+ }, _this.renderCell("".concat(percentage, "%"))));
84
+ };
85
+
86
+ return _this;
87
+ }
88
+
89
+ (0, _createClass2.default)(ScoreDistributionTypeTable, [{
90
+ key: "componentDidMount",
91
+ value: function componentDidMount() {
92
+ this.props.makeStyles();
93
+ }
94
+ }, {
95
+ key: "componentDidUpdate",
96
+ value: function componentDidUpdate() {
97
+ this.props.makeStyles();
98
+ }
99
+ }, {
100
+ key: "render",
101
+ value: function render() {
102
+ var _this$props = this.props,
103
+ scores = _this$props.scores,
104
+ itemId = _this$props.itemId,
105
+ styles = _this$props.styles;
106
+ var pointsHeaderId = "answer-frequency-summary-points-".concat(itemId);
107
+ var respondentsHeaderId = "answer-frequency-summary-respondents-".concat(itemId);
108
+ var percentageHeaderId = "answer-frequency-summary-percentage-".concat(itemId);
109
+ return (0, _emotion.jsx)("div", {
110
+ css: styles.tableContainer
111
+ }, (0, _emotion.jsx)(_uiTable.Table, {
112
+ caption: (0, _formatMessage.default)('Score Frequency Summary'),
113
+ elementRef: this.setTableRef
114
+ }, (0, _emotion.jsx)(_uiTable.Table.Head, null, (0, _emotion.jsx)(_uiTable.Table.Row, null, (0, _emotion.jsx)(_uiTable.Table.ColHeader, {
115
+ id: pointsHeaderId,
116
+ height: "47px"
117
+ }, (0, _formatMessage.default)('Points')), (0, _emotion.jsx)(_uiTable.Table.ColHeader, {
118
+ id: respondentsHeaderId,
119
+ height: "47px",
120
+ textAlign: "center"
121
+ }, (0, _formatMessage.default)('Respondents')), (0, _emotion.jsx)(_uiTable.Table.ColHeader, {
122
+ id: percentageHeaderId,
123
+ height: "47px",
124
+ textAlign: "center"
125
+ }, (0, _formatMessage.default)('%')))), (0, _emotion.jsx)(_uiTable.Table.Body, null, scores.map(this.renderRow))));
126
+ }
127
+ }]);
128
+ ScoreDistributionTypeTable.displayName = "ScoreDistributionTypeTable";
129
+ return ScoreDistributionTypeTable;
130
+ }(_react.Component), _class2.propTypes = {
131
+ itemId: _propTypes2.default.number.isRequired,
132
+ scores: _propTypes2.default.arrayOf(_propTypes.scoreDistributionType).isRequired,
133
+ // eslint-disable-next-line react/require-default-props
134
+ makeStyles: _propTypes2.default.func,
135
+ // eslint-disable-next-line react/require-default-props,react/forbid-prop-types
136
+ styles: _propTypes2.default.object
137
+ }, _temp)) || _class);
138
+ exports.ScoreDistributionTypeTable = ScoreDistributionTypeTable;
139
+ var _default = ScoreDistributionTypeTable;
140
+ exports.default = _default;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var generateStyle = function generateStyle(componentTheme) {
9
+ var borderBottom = "solid 0.0625rem ".concat(componentTheme.colorGray);
10
+ return {
11
+ tableContainer: {
12
+ width: 'calc(25% + 350px)',
13
+ maxWidth: '100%',
14
+ '& table': {
15
+ borderCollapse: 'separate',
16
+ borderSpacing: '0 1px',
17
+ '& thead tr': {
18
+ '& th, & td': {
19
+ borderBottom: borderBottom
20
+ }
21
+ },
22
+ '& tbody tr': {
23
+ '& th, & td': {
24
+ width: '33.33%',
25
+ borderBottom: borderBottom
26
+ },
27
+ '& th': {
28
+ fontWeight: 400
29
+ }
30
+ }
31
+ }
32
+ },
33
+ textContainer: {
34
+ height: 'calc(100% - 4px)',
35
+ display: 'flex',
36
+ alignItems: 'center',
37
+ justifyContent: 'center'
38
+ },
39
+ firstTextContainer: {
40
+ padding: componentTheme.cellPadding
41
+ }
42
+ };
43
+ };
44
+
45
+ var _default = generateStyle;
46
+ exports.default = _default;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var generateComponentTheme = function generateComponentTheme(_ref) {
9
+ var spacing = _ref.spacing,
10
+ colors = _ref.colors;
11
+ return {
12
+ tableBottomPadding: spacing === null || spacing === void 0 ? void 0 : spacing.medium,
13
+ colorGray: colors === null || colors === void 0 ? void 0 : colors.tiara,
14
+ cellPadding: "".concat(spacing === null || spacing === void 0 ? void 0 : spacing.small, " ").concat(spacing === null || spacing === void 0 ? void 0 : spacing.small)
15
+ };
16
+ };
17
+
18
+ var _default = generateComponentTheme;
19
+ exports.default = _default;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = exports.ScoreDistributionType = void 0;
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
+
22
+ var _index = _interopRequireDefault(require("./Table/index.js"));
23
+
24
+ var _propTypes2 = require("../../propTypes.js");
25
+
26
+ var _index2 = _interopRequireDefault(require("../shared/AggregationTable/index.js"));
27
+
28
+ var _presenter = require("../shared/AfsPartsContainer/presenter.js");
29
+
30
+ var _index3 = _interopRequireDefault(require("../shared/AfsTableWrapper/index.js"));
31
+
32
+ var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
33
+
34
+ var ScoreDistributionType = /*#__PURE__*/function (_Component) {
35
+ (0, _inherits2.default)(ScoreDistributionType, _Component);
36
+
37
+ var _super = (0, _createSuper2.default)(ScoreDistributionType);
38
+
39
+ function ScoreDistributionType() {
40
+ var _this;
41
+
42
+ (0, _classCallCheck2.default)(this, ScoreDistributionType);
43
+
44
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
45
+ args[_key] = arguments[_key];
46
+ }
47
+
48
+ _this = _super.call.apply(_super, [this].concat(args));
49
+
50
+ _this.render = function () {
51
+ var _this$props = _this.props,
52
+ answerSummary = _this$props.answerSummary,
53
+ itemId = _this$props.itemId;
54
+ return /*#__PURE__*/_react.default.createElement(_index3.default, {
55
+ tableHeader: (0, _formatMessage.default)('Score Frequency Summary')
56
+ }, /*#__PURE__*/_react.default.createElement(_presenter.AfsPartsContainer, {
57
+ afsTable: /*#__PURE__*/_react.default.createElement(_index.default, {
58
+ itemId: itemId,
59
+ scores: answerSummary.score_distribution
60
+ }),
61
+ aggregationTable: /*#__PURE__*/_react.default.createElement(_index2.default, {
62
+ itemId: itemId,
63
+ answerSummary: answerSummary
64
+ })
65
+ }));
66
+ };
67
+
68
+ return _this;
69
+ }
70
+
71
+ return ScoreDistributionType;
72
+ }(_react.Component);
73
+
74
+ exports.ScoreDistributionType = ScoreDistributionType;
75
+ ScoreDistributionType.propTypes = {
76
+ itemId: _propTypes.default.number,
77
+ answerSummary: _propTypes2.scoreDistributionTypeAnswerSummaryPropType
78
+ }.isRequired;
79
+ var _default = ScoreDistributionType;
80
+ exports.default = _default;
@@ -27,7 +27,11 @@ var _index3 = _interopRequireDefault(require("./RichFillBlankType/index.js"));
27
27
 
28
28
  var _index4 = _interopRequireDefault(require("./AggregationType/index.js"));
29
29
 
30
- var _index5 = require("./MatchingType/index.js");
30
+ var _index5 = _interopRequireDefault(require("./NumericType/index.js"));
31
+
32
+ var _index6 = require("./MatchingType/index.js");
33
+
34
+ var _index7 = require("./ScoreDistributionType/index.js");
31
35
 
32
36
  var _propTypes = require("../propTypes.js");
33
37
 
@@ -58,15 +62,15 @@ var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
58
62
  }
59
63
 
60
64
  if (afsFlags.matchingEnabled) {
61
- _this.afsTableComponentMap.set('matching', _index5.MatchingType);
65
+ _this.afsTableComponentMap.set('matching', _index6.MatchingType);
62
66
  }
63
67
 
64
68
  if (afsFlags.orderingEnabled) {
65
- _this.afsTableComponentMap.set('ordering', _index5.OrderingType);
69
+ _this.afsTableComponentMap.set('ordering', _index6.OrderingType);
66
70
  }
67
71
 
68
72
  if (afsFlags.categorizationEnabled) {
69
- _this.afsTableComponentMap.set('categorization', _index5.CategorizationType);
73
+ _this.afsTableComponentMap.set('categorization', _index6.CategorizationType);
70
74
  }
71
75
 
72
76
  if (afsFlags.trueFalseEnabled) {
@@ -84,6 +88,18 @@ var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
84
88
  if (afsFlags.fillInTheBlankEnabled) {
85
89
  _this.afsTableComponentMap.set('rich-fill-blank', _index3.default);
86
90
  }
91
+
92
+ if (afsFlags.numericEnabled) {
93
+ _this.afsTableComponentMap.set('numeric', _index5.default);
94
+ }
95
+
96
+ if (afsFlags.essayEnabled) {
97
+ _this.afsTableComponentMap.set('essay', _index7.ScoreDistributionType);
98
+ }
99
+
100
+ if (afsFlags.fileUploadEnabled) {
101
+ _this.afsTableComponentMap.set('file-upload', _index7.ScoreDistributionType);
102
+ }
87
103
  };
88
104
 
89
105
  _this.render = function () {
@@ -45,6 +45,11 @@ var AfsTableWrapper = (_dec = (0, _emotion.withStyle)(_styles.default, null), _d
45
45
 
46
46
  _this = _super.call.apply(_super, [this].concat(args));
47
47
 
48
+ _this.getHeader = function () {
49
+ var tableHeader = _this.props.tableHeader;
50
+ return tableHeader || (0, _formatMessage.default)('Answer Frequency Summary');
51
+ };
52
+
48
53
  _this.render = function () {
49
54
  return (0, _emotion.jsx)(_uiFlex.Flex, {
50
55
  direction: "row",
@@ -58,7 +63,7 @@ var AfsTableWrapper = (_dec = (0, _emotion.withStyle)(_styles.default, null), _d
58
63
  level: "h3",
59
64
  weight: "bold",
60
65
  color: "primary"
61
- }, (0, _formatMessage.default)('Answer Frequency Summary')), _this.props.children)));
66
+ }, _this.getHeader()), _this.props.children)));
62
67
  };
63
68
 
64
69
  return _this;
@@ -67,6 +72,7 @@ var AfsTableWrapper = (_dec = (0, _emotion.withStyle)(_styles.default, null), _d
67
72
  return AfsTableWrapper;
68
73
  }(_react.Component), _class2.propTypes = {
69
74
  children: _propTypes.default.node.isRequired,
70
- styles: _propTypes.default.object
75
+ styles: _propTypes.default.object,
76
+ tableHeader: _propTypes.default.string
71
77
  }, _temp)) || _class);
72
78
  exports.AfsTableWrapper = AfsTableWrapper;
@@ -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.ExpandableCard;
10
+ }
11
+ });
12
+
13
+ var _presenter = require("./presenter.js");