@instructure/quiz-core 18.6.1-rc.4 → 18.6.1-rc.6

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.
@@ -38,7 +38,9 @@ export var AnalysisMetric = (_dec = themeable(theme, styles), _dec(_class = (_te
38
38
  label = _this$props.label,
39
39
  value = _this$props.value,
40
40
  suffix = _this$props.suffix;
41
+ var dataAutomation = "sdk-new-ia-quiz-analysis-".concat(metricKey);
41
42
  return /*#__PURE__*/React.createElement("div", {
43
+ "data-automation": dataAutomation,
42
44
  className: styles.metricWrapper
43
45
  }, /*#__PURE__*/React.createElement(Metric, {
44
46
  theme: {
@@ -54,7 +54,8 @@ export var CategorizationType = /*#__PURE__*/function (_Component) {
54
54
  return /*#__PURE__*/React.createElement(AfsTableWrapper, null, /*#__PURE__*/React.createElement(AfsPartsContainer, {
55
55
  afsTable: /*#__PURE__*/React.createElement(MatchingTypeTable, {
56
56
  itemId: itemId,
57
- answerSummary: updatedAnswerSummary
57
+ answerSummary: updatedAnswerSummary,
58
+ firstColumnName: t('Answer')
58
59
  }),
59
60
  aggregationTable: /*#__PURE__*/React.createElement(AggregationTable, {
60
61
  itemId: itemId,
@@ -8,6 +8,7 @@ import { matchingTypeAnswerSummaryPropType } from "../../propTypes.js";
8
8
  import { AfsPartsContainer } from "../shared/AfsPartsContainer/presenter.js";
9
9
  import MatchingTypeTable from "./MatchingTypeTable/index.js";
10
10
  import AggregationTable from "../shared/AggregationTable/index.js";
11
+ import t from '@instructure/quiz-i18n/es/format-message';
11
12
  export var MatchingType = /*#__PURE__*/function (_Component) {
12
13
  _inherits(MatchingType, _Component);
13
14
 
@@ -31,7 +32,8 @@ export var MatchingType = /*#__PURE__*/function (_Component) {
31
32
  return /*#__PURE__*/React.createElement(AfsTableWrapper, null, /*#__PURE__*/React.createElement(AfsPartsContainer, {
32
33
  afsTable: /*#__PURE__*/React.createElement(MatchingTypeTable, {
33
34
  itemId: itemId,
34
- answerSummary: answerSummary
35
+ answerSummary: answerSummary,
36
+ firstColumnName: t('Question')
35
37
  }),
36
38
  aggregationTable: /*#__PURE__*/React.createElement(AggregationTable, {
37
39
  itemId: itemId,
@@ -121,7 +121,9 @@ export var MatchingTypeTable = (_dec = themeable(theme, styles), _dec(_class = (
121
121
  };
122
122
 
123
123
  _this.renderHeaderRow = function (orderedAnswerKeys) {
124
- var itemId = _this.props.itemId;
124
+ var _this$props3 = _this.props,
125
+ itemId = _this$props3.itemId,
126
+ firstColumnName = _this$props3.firstColumnName;
125
127
  var headerCells = orderedAnswerKeys.map(_this.renderHeaderCell);
126
128
  var categoryHeaderId = "category-header-".concat(itemId);
127
129
  var rowKey = "header-row-".concat(itemId);
@@ -135,13 +137,14 @@ export var MatchingTypeTable = (_dec = themeable(theme, styles), _dec(_class = (
135
137
  },
136
138
  textAlign: "start",
137
139
  width: "250px"
138
- }, t('Question')), headerCells);
140
+ }, firstColumnName), headerCells);
139
141
  };
140
142
 
141
143
  _this.renderRow = function (orderedQuestionKey, orderedAnswerKeys) {
142
- var _this$props3 = _this.props,
143
- answerSummary = _this$props3.answerSummary,
144
- itemId = _this$props3.itemId;
144
+ var _this$props4 = _this.props,
145
+ answerSummary = _this$props4.answerSummary,
146
+ itemId = _this$props4.itemId,
147
+ firstColumnName = _this$props4.firstColumnName;
145
148
  var questions = answerSummary.questions;
146
149
  var question = questions[orderedQuestionKey];
147
150
  var answerCells = orderedAnswerKeys.map(function (answerKey) {
@@ -150,7 +153,7 @@ export var MatchingTypeTable = (_dec = themeable(theme, styles), _dec(_class = (
150
153
  var questionRowHeaderId = "question-row-header-id-".concat(orderedQuestionKey, "-").concat(itemId);
151
154
  var rowKey = "row-".concat(orderedQuestionKey, "-").concat(itemId);
152
155
  var extractedQuestionBody = extractTextFromHtml(question.body);
153
- var questionBody = extractedQuestionBody.trim().length > 0 ? extractedQuestionBody : question.body;
156
+ var questionBody = extractedQuestionBody.trim().length > 0 ? extractedQuestionBody : firstColumnName;
154
157
  return /*#__PURE__*/React.createElement(Table.Row, {
155
158
  key: rowKey
156
159
  }, /*#__PURE__*/React.createElement(Table.RowHeader, {
@@ -185,6 +188,7 @@ export var MatchingTypeTable = (_dec = themeable(theme, styles), _dec(_class = (
185
188
 
186
189
  return MatchingTypeTable;
187
190
  }(Component), _class2.propTypes = {
188
- itemId: PropTypes.number,
189
- answerSummary: matchingTypeAnswerSummaryPropType
191
+ itemId: PropTypes.number.isRequired,
192
+ answerSummary: matchingTypeAnswerSummaryPropType.isRequired,
193
+ firstColumnName: PropTypes.string.isRequired
190
194
  }.isRequired, _temp)) || _class);
@@ -56,7 +56,8 @@ export var OrderingType = /*#__PURE__*/function (_Component) {
56
56
  return /*#__PURE__*/React.createElement(AfsTableWrapper, null, /*#__PURE__*/React.createElement(AfsPartsContainer, {
57
57
  afsTable: /*#__PURE__*/React.createElement(MatchingTypeTable, {
58
58
  itemId: itemId,
59
- answerSummary: updatedAnswerSummary
59
+ answerSummary: updatedAnswerSummary,
60
+ firstColumnName: t('Answer')
60
61
  }),
61
62
  aggregationTable: /*#__PURE__*/React.createElement(AggregationTable, {
62
63
  itemId: itemId,
@@ -96,7 +96,8 @@ export var NewQuizAndItemAnalysisReportCardPresenter = (_dec = themeable(theme,
96
96
  date: quizAnalysis.created_timestamp,
97
97
  multiline: true
98
98
  })), quizAnalysis && itemAnalyses && /*#__PURE__*/React.createElement(Link, {
99
- href: href
99
+ href: href,
100
+ "data-automation": "sdk-new-ia-report-card-view-report-button"
100
101
  }, /*#__PURE__*/React.createElement(ScreenReaderContent, null, t('View Quiz and Item Analysis Report')), /*#__PURE__*/React.createElement(Text, {
101
102
  size: "small",
102
103
  "aria-hidden": "true"
@@ -113,14 +114,16 @@ export var NewQuizAndItemAnalysisReportCardPresenter = (_dec = themeable(theme,
113
114
  color: "brand",
114
115
  minHeight: "0",
115
116
  mainText: mainText,
116
- fontSize: "x-small"
117
+ fontSize: "x-small",
118
+ "data-automation": "sdk-new-ia-report-card-spinner"
117
119
  }))));
118
120
  };
119
121
 
120
122
  _this.renderGenerateReportButton = function () {
121
123
  return /*#__PURE__*/React.createElement(Link, {
122
124
  onClick: _this.handleGeneration,
123
- role: "button"
125
+ role: "button",
126
+ "data-automation": "sdk-new-ia-report-card-generate-report-button"
124
127
  }, /*#__PURE__*/React.createElement(ScreenReaderContent, null, t('Generate Quiz and Item Analysis Report')), /*#__PURE__*/React.createElement(Text, {
125
128
  size: "small",
126
129
  "aria-hidden": "true"
@@ -57,7 +57,9 @@ var AnalysisMetric = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles)
57
57
  label = _this$props.label,
58
58
  value = _this$props.value,
59
59
  suffix = _this$props.suffix;
60
+ var dataAutomation = "sdk-new-ia-quiz-analysis-".concat(metricKey);
60
61
  return /*#__PURE__*/_react.default.createElement("div", {
62
+ "data-automation": dataAutomation,
61
63
  className: styles.metricWrapper
62
64
  }, /*#__PURE__*/_react.default.createElement(_uiMetric.Metric, {
63
65
  theme: {
@@ -77,7 +77,8 @@ var CategorizationType = /*#__PURE__*/function (_Component) {
77
77
  return /*#__PURE__*/_react.default.createElement(_index.default, null, /*#__PURE__*/_react.default.createElement(_presenter.AfsPartsContainer, {
78
78
  afsTable: /*#__PURE__*/_react.default.createElement(_index2.default, {
79
79
  itemId: itemId,
80
- answerSummary: updatedAnswerSummary
80
+ answerSummary: updatedAnswerSummary,
81
+ firstColumnName: (0, _formatMessage.default)('Answer')
81
82
  }),
82
83
  aggregationTable: /*#__PURE__*/_react.default.createElement(_index3.default, {
83
84
  itemId: itemId,
@@ -29,6 +29,8 @@ var _index2 = _interopRequireDefault(require("./MatchingTypeTable/index.js"));
29
29
 
30
30
  var _index3 = _interopRequireDefault(require("../shared/AggregationTable/index.js"));
31
31
 
32
+ var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
33
+
32
34
  var MatchingType = /*#__PURE__*/function (_Component) {
33
35
  (0, _inherits2.default)(MatchingType, _Component);
34
36
 
@@ -52,7 +54,8 @@ var MatchingType = /*#__PURE__*/function (_Component) {
52
54
  return /*#__PURE__*/_react.default.createElement(_index.default, null, /*#__PURE__*/_react.default.createElement(_presenter.AfsPartsContainer, {
53
55
  afsTable: /*#__PURE__*/_react.default.createElement(_index2.default, {
54
56
  itemId: itemId,
55
- answerSummary: answerSummary
57
+ answerSummary: answerSummary,
58
+ firstColumnName: (0, _formatMessage.default)('Question')
56
59
  }),
57
60
  aggregationTable: /*#__PURE__*/_react.default.createElement(_index3.default, {
58
61
  itemId: itemId,
@@ -147,7 +147,9 @@ var MatchingTypeTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styl
147
147
  };
148
148
 
149
149
  _this.renderHeaderRow = function (orderedAnswerKeys) {
150
- var itemId = _this.props.itemId;
150
+ var _this$props3 = _this.props,
151
+ itemId = _this$props3.itemId,
152
+ firstColumnName = _this$props3.firstColumnName;
151
153
  var headerCells = orderedAnswerKeys.map(_this.renderHeaderCell);
152
154
  var categoryHeaderId = "category-header-".concat(itemId);
153
155
  var rowKey = "header-row-".concat(itemId);
@@ -161,13 +163,14 @@ var MatchingTypeTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styl
161
163
  },
162
164
  textAlign: "start",
163
165
  width: "250px"
164
- }, (0, _formatMessage.default)('Question')), headerCells);
166
+ }, firstColumnName), headerCells);
165
167
  };
166
168
 
167
169
  _this.renderRow = function (orderedQuestionKey, orderedAnswerKeys) {
168
- var _this$props3 = _this.props,
169
- answerSummary = _this$props3.answerSummary,
170
- itemId = _this$props3.itemId;
170
+ var _this$props4 = _this.props,
171
+ answerSummary = _this$props4.answerSummary,
172
+ itemId = _this$props4.itemId,
173
+ firstColumnName = _this$props4.firstColumnName;
171
174
  var questions = answerSummary.questions;
172
175
  var question = questions[orderedQuestionKey];
173
176
  var answerCells = orderedAnswerKeys.map(function (answerKey) {
@@ -176,7 +179,7 @@ var MatchingTypeTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styl
176
179
  var questionRowHeaderId = "question-row-header-id-".concat(orderedQuestionKey, "-").concat(itemId);
177
180
  var rowKey = "row-".concat(orderedQuestionKey, "-").concat(itemId);
178
181
  var extractedQuestionBody = (0, _quizInteractions.extractTextFromHtml)(question.body);
179
- var questionBody = extractedQuestionBody.trim().length > 0 ? extractedQuestionBody : question.body;
182
+ var questionBody = extractedQuestionBody.trim().length > 0 ? extractedQuestionBody : firstColumnName;
180
183
  return /*#__PURE__*/_react.default.createElement(_uiTable.Table.Row, {
181
184
  key: rowKey
182
185
  }, /*#__PURE__*/_react.default.createElement(_uiTable.Table.RowHeader, {
@@ -214,7 +217,8 @@ var MatchingTypeTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, styl
214
217
 
215
218
  return MatchingTypeTable;
216
219
  }(_react.Component), _class2.propTypes = {
217
- itemId: _propTypes.default.number,
218
- answerSummary: _propTypes2.matchingTypeAnswerSummaryPropType
220
+ itemId: _propTypes.default.number.isRequired,
221
+ answerSummary: _propTypes2.matchingTypeAnswerSummaryPropType.isRequired,
222
+ firstColumnName: _propTypes.default.string.isRequired
219
223
  }.isRequired, _temp)) || _class);
220
224
  exports.MatchingTypeTable = MatchingTypeTable;
@@ -78,7 +78,8 @@ var OrderingType = /*#__PURE__*/function (_Component) {
78
78
  return /*#__PURE__*/_react.default.createElement(_index.default, null, /*#__PURE__*/_react.default.createElement(_presenter.AfsPartsContainer, {
79
79
  afsTable: /*#__PURE__*/_react.default.createElement(_index3.default, {
80
80
  itemId: itemId,
81
- answerSummary: updatedAnswerSummary
81
+ answerSummary: updatedAnswerSummary,
82
+ firstColumnName: (0, _formatMessage.default)('Answer')
82
83
  }),
83
84
  aggregationTable: /*#__PURE__*/_react.default.createElement(_index2.default, {
84
85
  itemId: itemId,
@@ -126,7 +126,8 @@ var NewQuizAndItemAnalysisReportCardPresenter = (_dec = (0, _uiThemeable.themeab
126
126
  date: quizAnalysis.created_timestamp,
127
127
  multiline: true
128
128
  })), quizAnalysis && itemAnalyses && /*#__PURE__*/_react.default.createElement(_uiLink.Link, {
129
- href: href
129
+ href: href,
130
+ "data-automation": "sdk-new-ia-report-card-view-report-button"
130
131
  }, /*#__PURE__*/_react.default.createElement(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('View Quiz and Item Analysis Report')), /*#__PURE__*/_react.default.createElement(_uiText.Text, {
131
132
  size: "small",
132
133
  "aria-hidden": "true"
@@ -143,14 +144,16 @@ var NewQuizAndItemAnalysisReportCardPresenter = (_dec = (0, _uiThemeable.themeab
143
144
  color: "brand",
144
145
  minHeight: "0",
145
146
  mainText: mainText,
146
- fontSize: "x-small"
147
+ fontSize: "x-small",
148
+ "data-automation": "sdk-new-ia-report-card-spinner"
147
149
  }))));
148
150
  };
149
151
 
150
152
  _this.renderGenerateReportButton = function () {
151
153
  return /*#__PURE__*/_react.default.createElement(_uiLink.Link, {
152
154
  onClick: _this.handleGeneration,
153
- role: "button"
155
+ role: "button",
156
+ "data-automation": "sdk-new-ia-report-card-generate-report-button"
154
157
  }, /*#__PURE__*/_react.default.createElement(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Generate Quiz and Item Analysis Report')), /*#__PURE__*/_react.default.createElement(_uiText.Text, {
155
158
  size: "small",
156
159
  "aria-hidden": "true"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/quiz-core",
3
- "version": "18.6.1-rc.4+260b550de",
3
+ "version": "18.6.1-rc.6+6f6ff8a6c",
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.6.1-rc.4+260b550de",
47
- "@instructure/quiz-i18n": "18.6.1-rc.4+260b550de",
48
- "@instructure/quiz-interactions": "18.6.1-rc.4+260b550de",
49
- "@instructure/quiz-number-input": "18.6.1-rc.4+260b550de",
50
- "@instructure/quiz-rce": "18.6.1-rc.4+260b550de",
46
+ "@instructure/quiz-common": "18.6.1-rc.6+6f6ff8a6c",
47
+ "@instructure/quiz-i18n": "18.6.1-rc.6+6f6ff8a6c",
48
+ "@instructure/quiz-interactions": "18.6.1-rc.6+6f6ff8a6c",
49
+ "@instructure/quiz-number-input": "18.6.1-rc.6+6f6ff8a6c",
50
+ "@instructure/quiz-rce": "18.6.1-rc.6+6f6ff8a6c",
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",
@@ -109,7 +109,7 @@
109
109
  "file-saver": "~2.0.5",
110
110
  "humps": "^2.0.0",
111
111
  "immutable": "^3.8.1",
112
- "instructure-validations": "18.6.1-rc.4+260b550de",
112
+ "instructure-validations": "18.6.1-rc.6+6f6ff8a6c",
113
113
  "ipaddr.js": "^1.5.4",
114
114
  "isomorphic-fetch": "^2.2.0",
115
115
  "isuuid": "^0.1.0",
@@ -160,7 +160,7 @@
160
160
  "intl": "^1.2.4",
161
161
  "jquery": "^2.2.3",
162
162
  "most-subject": "^5.3.0",
163
- "quiz-presets": "18.6.1-rc.4+260b550de",
163
+ "quiz-presets": "18.6.1-rc.6+6f6ff8a6c",
164
164
  "react": "^16.8.6",
165
165
  "react-addons-test-utils": "^15.6.2",
166
166
  "react-dom": "^16.8.6",
@@ -176,5 +176,5 @@
176
176
  "publishConfig": {
177
177
  "access": "public"
178
178
  },
179
- "gitHead": "260b550de740114602860e4baad6725afbf21e88"
179
+ "gitHead": "6f6ff8a6c84807d770641af956ff910257224d95"
180
180
  }