@instructure/quiz-core 18.3.1-rc.9 → 18.4.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 (156) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/es/banks/components/AddToBankModal/presenter.js +1 -1
  3. package/es/banks/components/Bank/presenter.js +3 -3
  4. package/es/banks/components/BankEntry/presenter.js +7 -5
  5. package/es/banks/components/BankEntryRow/presenter.js +30 -22
  6. package/es/banks/components/BankSearch/presenter.js +6 -7
  7. package/es/banks/components/Banks/presenter.js +3 -3
  8. package/es/banks/components/BanksList/presenter.js +32 -24
  9. package/es/banks/components/CopyMoveBankEntryModal/presenter.js +1 -1
  10. package/es/banks/components/CreateBankModal/presenter.js +1 -1
  11. package/es/banks/components/EditBankModal/presenter.js +1 -1
  12. package/es/banks/components/HeaderMenu/presenter.js +7 -6
  13. package/es/banks/components/NavWrapper/presenter.js +1 -1
  14. package/es/banks/components/SharingModal/{ContextualButton → ContextualIconButton}/index.js +14 -12
  15. package/es/banks/components/SharingModal/ShareList/index.js +9 -9
  16. package/es/banks/components/SharingModal/presenter.js +4 -4
  17. package/es/building/components/layout/header/BuildingButtons/presenter.js +8 -7
  18. package/es/building/components/resources/ActionButtons/presenter.js +20 -15
  19. package/es/building/components/resources/AddToBankOptions/index.js +8 -12
  20. package/es/building/components/resources/BanksTray/presenter.js +1 -1
  21. package/es/building/components/resources/DeleteStimulusModal/presenter.js +1 -1
  22. package/es/building/components/resources/ItemFeedbackModal/presenter.js +1 -1
  23. package/es/building/components/resources/MoveImmutableModal/presenter.js +1 -1
  24. package/es/building/components/resources/quiz/editButton/EditButton.js +8 -6
  25. package/es/building/components/resources/quiz/instructions/Edit/presenter.js +1 -1
  26. package/es/building/components/resources/quizEntry/QuizEntryEdit/Footer/presenter.js +7 -5
  27. package/es/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +3 -3
  28. package/es/common/components/ConfirmationModal/presenter.js +1 -1
  29. package/es/common/components/ImportModal/presenter.js +4 -4
  30. package/es/common/components/Pin/presenter.js +9 -12
  31. package/es/common/components/PrintFontSizeModal/presenter.js +2 -2
  32. package/es/common/components/layout/header/Calculator/presenter.js +1 -1
  33. package/es/common/components/layout/header/Timer/presenter.js +2 -2
  34. package/es/common/components/layout/sidebar/Sidebar/Pin.js +4 -6
  35. package/es/common/components/layout/sidebar/Sidebar/index.js +24 -22
  36. package/es/common/components/layout/sidebar/Sidebar/theme.js +2 -0
  37. package/es/common/components/layout/sidebar/SidebarItem/presenter.js +2 -2
  38. package/es/common/components/layout/sidebar/Stimulus/Collection/presenter.js +13 -10
  39. package/es/common/components/layout/sidebar/Stimulus/presenter.js +2 -2
  40. package/es/common/components/resources/WarningWrapper/index.js +1 -1
  41. package/es/common/components/resources/entry/EntrySave/presenter.js +1 -1
  42. package/es/common/components/resources/quiz/AddContent/Button/index.js +1 -1
  43. package/es/common/components/resources/quiz/AddContent/Popover/presenter.js +12 -10
  44. package/es/common/components/resources/quizSessionResult/Info/index.js +10 -9
  45. package/es/common/components/resources/stimulus/StimulusEdit/presenter.js +1 -1
  46. package/es/common/components/shared/ExpandButton/index.js +8 -7
  47. package/es/common/components/shared/InteractionTypes/presenter.js +3 -2
  48. package/es/common/components/shared/drag_and_drop/DragHandle/presenter.js +8 -7
  49. package/es/common/util/mathRenderingUtils.js +4 -0
  50. package/es/common/util/rceChecker.js +24 -0
  51. package/es/index.js +1 -1
  52. package/es/moderating/components/resources/AccommodationsModal/index.js +1 -1
  53. package/es/moderating/components/resources/ModerateTableRow/presenter.js +10 -8
  54. package/es/moderating/components/resources/OutstandingQuizzesModal/presenter.js +1 -1
  55. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ChoiceType/ChoiceTypeTableRow/index.js +1 -0
  56. package/es/reporting/components/resources/NewQuizAndItemAnalysis/{AnswerSummaryTable/AnswerSummaryTableRow → AnswerFrequencySummary/ChoiceType/ChoiceTypeTableRow}/presenter.js +6 -6
  57. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ChoiceType/index.js +1 -0
  58. package/es/reporting/components/resources/NewQuizAndItemAnalysis/{AnswerSummaryTable/ChoiceInfo → AnswerFrequencySummary/ChoiceType}/presenter.js +46 -28
  59. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/index.js +1 -0
  60. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +54 -0
  61. package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/index.js +1 -0
  62. package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +25 -29
  63. package/es/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/presenter.js +3 -2
  64. package/es/reporting/components/resources/NewQuizAndItemAnalysis/downForRepair.svg +58 -0
  65. package/es/reporting/components/resources/NewQuizAndItemAnalysis/errorCodes.js +9 -3
  66. package/es/reporting/components/resources/NewQuizAndItemAnalysis/errorMessages.js +7 -1
  67. package/es/reporting/components/resources/NewQuizAndItemAnalysis/fetchReports.js +19 -13
  68. package/es/reporting/components/resources/NewQuizAndItemAnalysis/fetchReportsStatus.js +2 -1
  69. package/es/reporting/components/resources/NewQuizAndItemAnalysis/generateReports.js +5 -4
  70. package/es/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +92 -30
  71. package/es/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +8 -6
  72. package/es/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js +13 -3
  73. package/lib/banks/components/AddToBankModal/presenter.js +1 -1
  74. package/lib/banks/components/Bank/presenter.js +3 -3
  75. package/lib/banks/components/BankEntry/presenter.js +6 -4
  76. package/lib/banks/components/BankEntryRow/presenter.js +28 -20
  77. package/lib/banks/components/BankSearch/presenter.js +5 -6
  78. package/lib/banks/components/Banks/presenter.js +3 -3
  79. package/lib/banks/components/BanksList/presenter.js +31 -23
  80. package/lib/banks/components/CopyMoveBankEntryModal/presenter.js +1 -1
  81. package/lib/banks/components/CreateBankModal/presenter.js +1 -1
  82. package/lib/banks/components/EditBankModal/presenter.js +1 -1
  83. package/lib/banks/components/HeaderMenu/presenter.js +6 -6
  84. package/lib/banks/components/NavWrapper/presenter.js +1 -1
  85. package/lib/banks/components/SharingModal/{ContextualButton → ContextualIconButton}/index.js +15 -13
  86. package/lib/banks/components/SharingModal/ShareList/index.js +9 -9
  87. package/lib/banks/components/SharingModal/presenter.js +4 -4
  88. package/lib/building/components/layout/header/BuildingButtons/presenter.js +7 -7
  89. package/lib/building/components/resources/ActionButtons/presenter.js +19 -15
  90. package/lib/building/components/resources/AddToBankOptions/index.js +7 -11
  91. package/lib/building/components/resources/BanksTray/presenter.js +1 -1
  92. package/lib/building/components/resources/DeleteStimulusModal/presenter.js +1 -1
  93. package/lib/building/components/resources/ItemFeedbackModal/presenter.js +1 -1
  94. package/lib/building/components/resources/MoveImmutableModal/presenter.js +1 -1
  95. package/lib/building/components/resources/quiz/editButton/EditButton.js +7 -6
  96. package/lib/building/components/resources/quiz/instructions/Edit/presenter.js +1 -1
  97. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Footer/presenter.js +6 -4
  98. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +2 -2
  99. package/lib/common/components/ConfirmationModal/presenter.js +1 -1
  100. package/lib/common/components/ImportModal/presenter.js +3 -3
  101. package/lib/common/components/Pin/presenter.js +8 -12
  102. package/lib/common/components/PrintFontSizeModal/presenter.js +2 -2
  103. package/lib/common/components/layout/header/Calculator/presenter.js +1 -1
  104. package/lib/common/components/layout/header/Timer/presenter.js +2 -2
  105. package/lib/common/components/layout/sidebar/Sidebar/Pin.js +4 -6
  106. package/lib/common/components/layout/sidebar/Sidebar/index.js +23 -21
  107. package/lib/common/components/layout/sidebar/Sidebar/theme.js +2 -0
  108. package/lib/common/components/layout/sidebar/SidebarItem/presenter.js +2 -2
  109. package/lib/common/components/layout/sidebar/Stimulus/Collection/presenter.js +12 -10
  110. package/lib/common/components/layout/sidebar/Stimulus/presenter.js +2 -2
  111. package/lib/common/components/resources/WarningWrapper/index.js +1 -1
  112. package/lib/common/components/resources/entry/EntrySave/presenter.js +1 -1
  113. package/lib/common/components/resources/quiz/AddContent/Button/index.js +1 -1
  114. package/lib/common/components/resources/quiz/AddContent/Popover/presenter.js +12 -10
  115. package/lib/common/components/resources/quizSessionResult/Info/index.js +9 -8
  116. package/lib/common/components/resources/stimulus/StimulusEdit/presenter.js +1 -1
  117. package/lib/common/components/shared/ExpandButton/index.js +7 -7
  118. package/lib/common/components/shared/InteractionTypes/presenter.js +3 -2
  119. package/lib/common/components/shared/drag_and_drop/DragHandle/presenter.js +7 -7
  120. package/lib/common/util/mathRenderingUtils.js +14 -0
  121. package/lib/common/util/rceChecker.js +33 -1
  122. package/lib/index.js +7 -0
  123. package/lib/moderating/components/resources/AccommodationsModal/index.js +1 -1
  124. package/lib/moderating/components/resources/ModerateTableRow/presenter.js +8 -6
  125. package/lib/moderating/components/resources/OutstandingQuizzesModal/presenter.js +1 -1
  126. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ChoiceType/ChoiceTypeTableRow/index.js +13 -0
  127. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/{AnswerSummaryTable/AnswerSummaryTableRow → AnswerFrequencySummary/ChoiceType/ChoiceTypeTableRow}/presenter.js +8 -8
  128. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ChoiceType/index.js +13 -0
  129. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/{AnswerSummaryTable/ChoiceInfo → AnswerFrequencySummary/ChoiceType}/presenter.js +53 -32
  130. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/index.js +13 -0
  131. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +75 -0
  132. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/index.js +1 -0
  133. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +23 -27
  134. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/presenter.js +3 -2
  135. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/downForRepair.svg +58 -0
  136. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/errorCodes.js +14 -3
  137. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/errorMessages.js +15 -3
  138. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/fetchReports.js +19 -13
  139. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/fetchReportsStatus.js +2 -1
  140. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/generateReports.js +6 -4
  141. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +95 -30
  142. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +12 -6
  143. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js +14 -2
  144. package/package.json +13 -12
  145. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerSummaryTable/AnswerSummaryTableRow/index.js +0 -2
  146. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerSummaryTable/ChoiceInfo/index.js +0 -2
  147. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerSummaryTable/index.js +0 -2
  148. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerSummaryTable/presenter.js +0 -65
  149. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerSummaryTable/AnswerSummaryTableRow/index.js +0 -11
  150. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerSummaryTable/ChoiceInfo/index.js +0 -11
  151. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerSummaryTable/index.js +0 -11
  152. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerSummaryTable/presenter.js +0 -87
  153. /package/es/reporting/components/resources/NewQuizAndItemAnalysis/{AnswerSummaryTable/AnswerSummaryTableRow → AnswerFrequencySummary/ChoiceType/ChoiceTypeTableRow}/theme.js +0 -0
  154. /package/es/reporting/components/resources/NewQuizAndItemAnalysis/{AnswerSummaryTable → AnswerFrequencySummary/ChoiceType}/theme.js +0 -0
  155. /package/lib/reporting/components/resources/NewQuizAndItemAnalysis/{AnswerSummaryTable/AnswerSummaryTableRow → AnswerFrequencySummary/ChoiceType/ChoiceTypeTableRow}/theme.js +0 -0
  156. /package/lib/reporting/components/resources/NewQuizAndItemAnalysis/{AnswerSummaryTable → AnswerFrequencySummary/ChoiceType}/theme.js +0 -0
@@ -1,15 +1,47 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.isNewRCEEnabled = isNewRCEEnabled;
7
9
  exports.isNewRCEAppsEnabled = isNewRCEAppsEnabled;
8
10
  exports.isNewRCERendererEnabled = isNewRCERendererEnabled;
9
- exports.default = void 0;
11
+ exports.default = exports.ensureRCEContentIsLoaded = void 0;
12
+
13
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
14
+
15
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
16
 
11
17
  var _featureCheck = require("./featureCheck.js");
12
18
 
19
+ var _mathRenderingUtils = require("./mathRenderingUtils.js");
20
+
21
+ var _printUtils = require("./printUtils.js");
22
+
23
+ var ensureRCEContentIsLoaded = /*#__PURE__*/function () {
24
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
25
+ return _regenerator.default.wrap(function _callee$(_context) {
26
+ while (1) {
27
+ switch (_context.prev = _context.next) {
28
+ case 0:
29
+ return _context.abrupt("return", (0, _mathRenderingUtils.ensureMathIsReady)().then(_mathRenderingUtils.ensureMathRendered).then(_printUtils.ensureImagesLoaded));
30
+
31
+ case 1:
32
+ case "end":
33
+ return _context.stop();
34
+ }
35
+ }
36
+ }, _callee);
37
+ }));
38
+
39
+ return function ensureRCEContentIsLoaded() {
40
+ return _ref.apply(this, arguments);
41
+ };
42
+ }();
43
+
44
+ exports.ensureRCEContentIsLoaded = ensureRCEContentIsLoaded;
13
45
  var newRCEFeatureName = 'use_new_rce';
14
46
  var newRCEAppsFeatureName = 'rce5_apps';
15
47
  var newRCERendererFeatureName = 'rce5_renderer';
package/lib/index.js CHANGED
@@ -106,6 +106,7 @@ var _exportNames = {
106
106
  printWithCss: true,
107
107
  ensureImagesLoaded: true,
108
108
  isNewRCEEnabled: true,
109
+ ensureRCEContentIsLoaded: true,
109
110
  createQuizEntryRegrade: true,
110
111
  getQuizEntry: true,
111
112
  moveQuizEntry: true,
@@ -802,6 +803,12 @@ Object.defineProperty(exports, "isNewRCEEnabled", {
802
803
  return _rceChecker.isNewRCEEnabled;
803
804
  }
804
805
  });
806
+ Object.defineProperty(exports, "ensureRCEContentIsLoaded", {
807
+ enumerable: true,
808
+ get: function get() {
809
+ return _rceChecker.ensureRCEContentIsLoaded;
810
+ }
811
+ });
805
812
  Object.defineProperty(exports, "createQuizEntryRegrade", {
806
813
  enumerable: true,
807
814
  get: function get() {
@@ -142,7 +142,7 @@ var AccommodationModal = /*#__PURE__*/function (_Component) {
142
142
  margin: "xxx-small",
143
143
  "data-automation": "sdk-moderation-cancel"
144
144
  }, (0, _formatMessage.default)('Cancel')), /*#__PURE__*/_react.default.createElement(_uiButtons.Button, {
145
- variant: "primary",
145
+ color: "primary",
146
146
  onClick: this.saveAction,
147
147
  margin: "xxx-small",
148
148
  "data-automation": "sdk-moderation-save"
@@ -319,7 +319,7 @@ var ModerateTableRow = (_dec = (0, _uiThemeable.themeable)(_theme.default, style
319
319
  }, (0, _formatMessage.default)('None'));
320
320
  } else {
321
321
  displayContent = /*#__PURE__*/_react.default.createElement(_uiList.List, {
322
- variant: "unstyled"
322
+ isUnstyled: true
323
323
  }, accommodations.map(function (elem) {
324
324
  return /*#__PURE__*/_react.default.createElement(_uiList.List.Item, {
325
325
  key: elem.name
@@ -337,13 +337,15 @@ var ModerateTableRow = (_dec = (0, _uiThemeable.themeable)(_theme.default, style
337
337
  }, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
338
338
  shouldShrink: true,
339
339
  "data-automation": "sdk-moderate-accommodations-text"
340
- }, displayContent), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, /*#__PURE__*/_react.default.createElement(_uiButtons.Button, {
341
- variant: "icon",
340
+ }, displayContent), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, /*#__PURE__*/_react.default.createElement(_uiButtons.IconButton, {
342
341
  margin: "0 x-small 0 0",
343
- icon: _uiIcons.IconEditLine,
342
+ withBackground: false,
343
+ withBorder: false,
344
+ renderIcon: _uiIcons.IconEditLine,
344
345
  onClick: this.onAccommodationsClick,
345
- "data-automation": "sdk-moderate-accommodations-edit"
346
- }, /*#__PURE__*/_react.default.createElement(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Edit student accommodations'))))));
346
+ "data-automation": "sdk-moderate-accommodations-edit",
347
+ screenReaderLabel: (0, _formatMessage.default)('Edit student accommodations')
348
+ }))));
347
349
  }
348
350
  }
349
351
  }, {
@@ -164,7 +164,7 @@ var OutstandingQuizzesModal = /*#__PURE__*/function (_Component) {
164
164
  }, (0, _formatMessage.default)('Cancel')), /*#__PURE__*/_react.default.createElement(_uiButtons.Button, {
165
165
  onClick: this.saveAction,
166
166
  margin: "xxx-small",
167
- variant: "primary",
167
+ color: "primary",
168
168
  disabled: !this.state.quizzesSelectedAndReadyToSubmit.length,
169
169
  "data-automation": "sdk-outstanding-quizzes-submit"
170
170
  }, (0, _formatMessage.default)('Submit Manually'))));
@@ -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.ChoiceTypeTableRow;
10
+ }
11
+ });
12
+
13
+ var _presenter = require("./presenter.js");
@@ -7,7 +7,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.AnswerSummaryTableRow = void 0;
10
+ exports.ChoiceTypeTableRow = void 0;
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
@@ -54,15 +54,15 @@ var _ref = /*#__PURE__*/_react.default.createElement(_uiIcons.IconCheckSolid, nu
54
54
 
55
55
  var _ref2 = /*#__PURE__*/_react.default.createElement(_uiIcons.IconXSolid, null);
56
56
 
57
- var AnswerSummaryTableRow = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
58
- (0, _inherits2.default)(AnswerSummaryTableRow, _Component);
57
+ var ChoiceTypeTableRow = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
58
+ (0, _inherits2.default)(ChoiceTypeTableRow, _Component);
59
59
 
60
- var _super = (0, _createSuper2.default)(AnswerSummaryTableRow);
60
+ var _super = (0, _createSuper2.default)(ChoiceTypeTableRow);
61
61
 
62
- function AnswerSummaryTableRow() {
62
+ function ChoiceTypeTableRow() {
63
63
  var _this;
64
64
 
65
- (0, _classCallCheck2.default)(this, AnswerSummaryTableRow);
65
+ (0, _classCallCheck2.default)(this, ChoiceTypeTableRow);
66
66
 
67
67
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
68
68
  args[_key] = arguments[_key];
@@ -136,7 +136,7 @@ var AnswerSummaryTableRow = (_dec = (0, _uiThemeable.themeable)(_theme.default,
136
136
  return _this;
137
137
  }
138
138
 
139
- return AnswerSummaryTableRow;
139
+ return ChoiceTypeTableRow;
140
140
  }(_react.Component), _class2.displayName = 'Row', _class2.propTypes = {
141
141
  choice: _propTypes.default.shape({
142
142
  body: _propTypes.default.string,
@@ -146,4 +146,4 @@ var AnswerSummaryTableRow = (_dec = (0, _uiThemeable.themeable)(_theme.default,
146
146
  }),
147
147
  choiceIndex: _propTypes.default.number
148
148
  }.isRequired, _temp)) || _class);
149
- exports.AnswerSummaryTableRow = AnswerSummaryTableRow;
149
+ exports.ChoiceTypeTableRow = ChoiceTypeTableRow;
@@ -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.ChoiceType;
10
+ }
11
+ });
12
+
13
+ var _presenter = require("./presenter.js");
@@ -1,13 +1,13 @@
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
  });
10
- exports.ChoiceInfo = void 0;
10
+ exports.ChoiceType = void 0;
11
11
 
12
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
13
 
@@ -23,21 +23,40 @@ var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/f
23
23
 
24
24
  var _uiTable = require("@instructure/ui-table");
25
25
 
26
- var _uiA11yContent = require("@instructure/ui-a11y-content");
26
+ var _uiFlex = require("@instructure/ui-flex");
27
+
28
+ var _uiHeading = require("@instructure/ui-heading");
27
29
 
28
- var _index = _interopRequireDefault(require("../AnswerSummaryTableRow/index.js"));
30
+ var _uiThemeable = require("@instructure/ui-themeable");
31
+
32
+ var _uiA11yContent = require("@instructure/ui-a11y-content");
29
33
 
30
34
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
35
 
32
- var ChoiceInfo = /*#__PURE__*/function (_Component) {
33
- (0, _inherits2.default)(ChoiceInfo, _Component);
36
+ var _index = _interopRequireDefault(require("./ChoiceTypeTableRow/index.js"));
37
+
38
+ var _propTypes2 = require("../../propTypes.js");
39
+
40
+ var _theme = _interopRequireDefault(require("./theme.js"));
34
41
 
35
- var _super = (0, _createSuper2.default)(ChoiceInfo);
42
+ var _dec, _class, _class2, _temp;
36
43
 
37
- function ChoiceInfo() {
44
+ var styles = {
45
+ componentId: 'ZuPLN',
46
+ template: function template(theme) {
47
+ return "\n\n.ZuPLN_rMrG{display:flex;flex-basis:100%;flex-direction:column;padding-bottom:".concat(theme.tableBottomPadding || 'inherit', "}");
48
+ },
49
+ 'tableWrapper': 'ZuPLN_rMrG'
50
+ };
51
+ var ChoiceType = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
52
+ (0, _inherits2.default)(ChoiceType, _Component);
53
+
54
+ var _super = (0, _createSuper2.default)(ChoiceType);
55
+
56
+ function ChoiceType() {
38
57
  var _this;
39
58
 
40
- (0, _classCallCheck2.default)(this, ChoiceInfo);
59
+ (0, _classCallCheck2.default)(this, ChoiceType);
41
60
 
42
61
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
43
62
  args[_key] = arguments[_key];
@@ -70,19 +89,32 @@ var ChoiceInfo = /*#__PURE__*/function (_Component) {
70
89
  return _this;
71
90
  }
72
91
 
73
- (0, _createClass2.default)(ChoiceInfo, [{
92
+ (0, _createClass2.default)(ChoiceType, [{
74
93
  key: "render",
75
94
  value: function render() {
76
95
  var _this$props = this.props,
77
- choices = _this$props.choices,
78
- noAnswer = _this$props.noAnswer,
96
+ answerSummary = _this$props.answerSummary,
79
97
  itemId = _this$props.itemId;
98
+ var choices = answerSummary.choices,
99
+ noAnswer = answerSummary.no_answer;
80
100
  var numberOfChoices = choices.length;
81
101
  var spacingHeaderId = "answer-frequency-summary-spacing-".concat(itemId);
82
102
  var answerHeaderId = "answer-frequency-summary-answer-".concat(itemId);
83
103
  var respondentsHeaderId = "answer-frequency-summary-respondents-".concat(itemId);
84
104
  var percentageHeaderId = "answer-frequency-summary-percentage-".concat(itemId);
85
- return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_uiTable.Table, {
105
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
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, {
86
118
  caption: (0, _formatMessage.default)('Answer Frequency Summary')
87
119
  }, /*#__PURE__*/_react.default.createElement(_uiTable.Table.Head, null, /*#__PURE__*/_react.default.createElement(_uiTable.Table.Row, null, /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
88
120
  id: spacingHeaderId,
@@ -97,24 +129,13 @@ var ChoiceInfo = /*#__PURE__*/function (_Component) {
97
129
  id: percentageHeaderId,
98
130
  height: "47px",
99
131
  textAlign: "center"
100
- }, (0, _formatMessage.default)('%')))), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Body, null, choices.map(this.renderRow), this.renderNoAnswer(noAnswer, numberOfChoices))));
132
+ }, (0, _formatMessage.default)('%')))), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Body, null, choices.map(this.renderRow), this.renderNoAnswer(noAnswer, numberOfChoices)))))));
101
133
  }
102
134
  }]);
103
- ChoiceInfo.displayName = "ChoiceInfo";
104
- return ChoiceInfo;
105
- }(_react.Component);
106
-
107
- exports.ChoiceInfo = ChoiceInfo;
108
- ChoiceInfo.propTypes = {
135
+ ChoiceType.displayName = "ChoiceType";
136
+ return ChoiceType;
137
+ }(_react.Component), _class2.propTypes = {
109
138
  itemId: _propTypes.default.number,
110
- choices: _propTypes.default.arrayOf(_propTypes.default.shape({
111
- body: _propTypes.default.string,
112
- correct: _propTypes.default.bool,
113
- count: _propTypes.default.number,
114
- percentage: _propTypes.default.number
115
- })),
116
- noAnswer: _propTypes.default.shape({
117
- count: _propTypes.default.number,
118
- percentage: _propTypes.default.number
119
- })
120
- }.isRequired;
139
+ answerSummary: _propTypes2.choiceTypeAnswerSummaryPropType
140
+ }.isRequired, _temp)) || _class);
141
+ exports.ChoiceType = ChoiceType;
@@ -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.AnswerFrequencySummary;
10
+ }
11
+ });
12
+
13
+ var _presenter = require("./presenter.js");
@@ -0,0 +1,75 @@
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.AnswerFrequencySummary = 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 _quizInteractions = require("@instructure/quiz-interactions");
21
+
22
+ var _presenter = require("./ChoiceType/presenter.js");
23
+
24
+ var _propTypes = require("../propTypes.js");
25
+
26
+ var afsTableComponentMap = new Map();
27
+ afsTableComponentMap.set('true-false', _presenter.ChoiceType);
28
+ afsTableComponentMap.set('choice', _presenter.ChoiceType);
29
+ afsTableComponentMap.set('multi-answer', _presenter.ChoiceType);
30
+
31
+ var AnswerFrequencySummary = /*#__PURE__*/function (_Component) {
32
+ (0, _inherits2.default)(AnswerFrequencySummary, _Component);
33
+
34
+ var _super = (0, _createSuper2.default)(AnswerFrequencySummary);
35
+
36
+ function AnswerFrequencySummary() {
37
+ var _this;
38
+
39
+ (0, _classCallCheck2.default)(this, AnswerFrequencySummary);
40
+
41
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
42
+ args[_key] = arguments[_key];
43
+ }
44
+
45
+ _this = _super.call.apply(_super, [this].concat(args));
46
+
47
+ _this.render = function () {
48
+ var _this$props = _this.props,
49
+ itemId = _this$props.itemId,
50
+ answerSummary = _this$props.answerSummary,
51
+ interactionType = _this$props.interactionType;
52
+ var AfsTableComponent = afsTableComponentMap.get(interactionType);
53
+
54
+ if (!AfsTableComponent) {
55
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
56
+ }
57
+
58
+ return /*#__PURE__*/_react.default.createElement(AfsTableComponent, {
59
+ itemId: itemId,
60
+ answerSummary: answerSummary
61
+ });
62
+ };
63
+
64
+ return _this;
65
+ }
66
+
67
+ return AnswerFrequencySummary;
68
+ }(_react.Component);
69
+
70
+ exports.AnswerFrequencySummary = AnswerFrequencySummary;
71
+ AnswerFrequencySummary.propTypes = {
72
+ itemId: _quizInteractions.PropTypes.number,
73
+ answerSummary: _propTypes.answerSummaryPropType,
74
+ interactionType: _quizInteractions.PropTypes.string
75
+ }.isRequired;
@@ -13,6 +13,7 @@ var _presenter = require("./presenter.js");
13
13
 
14
14
  function mapStateToProps(_state) {
15
15
  return {
16
+ // This would be able to switch of all AFS Tables
16
17
  showFrequencyTable: (0, _featureCheck.featureOn)('show_improved_item_analysis_frequency_table')
17
18
  };
18
19
  }
@@ -47,7 +47,7 @@ var _classnames3 = _interopRequireDefault(require("classnames"));
47
47
 
48
48
  var _interactionTypeMetadata = require("../../../../../common/util/interactionTypeMetadata.js");
49
49
 
50
- var _index5 = _interopRequireDefault(require("../AnswerSummaryTable/index.js"));
50
+ var _index5 = _interopRequireDefault(require("../AnswerFrequencySummary/index.js"));
51
51
 
52
52
  var _propTypes = require("../propTypes.js");
53
53
 
@@ -55,29 +55,28 @@ var _uiFlex = require("@instructure/ui-flex");
55
55
 
56
56
  var _quizRce = require("@instructure/quiz-rce");
57
57
 
58
- var _printUtils = require("../../../../../common/util/printUtils.js");
58
+ var _rceChecker = require("../../../../../common/util/rceChecker.js");
59
59
 
60
60
  var _quizInteractions = require("@instructure/quiz-interactions");
61
61
 
62
62
  var _dec, _class, _class2, _temp;
63
63
 
64
64
  var styles = {
65
- componentId: 'bQIMq',
65
+ componentId: 'ewlJT',
66
66
  template: function template(theme) {
67
- return "\n\n.bQIMq_eKXQ{padding:".concat(theme.cardWrapperPadding || 'inherit', "}\n\n.bQIMq_bwlc{gap:24px;justify-content:space-between;position:relative;row-gap:32px}\n\n.bQIMq_bwlc,.bQIMq_bqdH{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap}\n\n.bQIMq_bqdH{row-gap:24px}\n\n.bQIMq_NpIG{position:absolute;right:").concat(theme.viewPaddingRight || 'inherit', ";top:0}\n\n.bQIMq_eoBe{font-size:").concat(theme.metricNumberContextFontSize || 'inherit', ";font-weight:").concat(theme.metricNumberContextFontWeight || 'inherit', "}\n\n.bQIMq_fFDJ{display:none}\n\n.bQIMq_fxkJ{margin-top:-8px}\n\n.bQIMq_esVF{min-height:48px}\n\n.bQIMq_eTZq{position:relative}\n\n.bQIMq_eTZq:after{background:linear-gradient(180deg,hsla(0,0%,100%,0),#fff);content:\"\";height:48px;left:0;position:absolute;top:0;width:100%}\n\n.bQIMq_fkgx{max-width:100%;width:calc(25% + 350px)}");
67
+ return "\n\n.ewlJT_eKXQ{padding:".concat(theme.cardWrapperPadding || 'inherit', "}\n\n.ewlJT_bwlc{gap:24px;justify-content:space-between;position:relative;row-gap:32px}\n\n.ewlJT_bwlc,.ewlJT_bqdH{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap}\n\n.ewlJT_bqdH{row-gap:24px}\n\n.ewlJT_NpIG{position:absolute;right:").concat(theme.viewPaddingRight || 'inherit', ";top:0}\n\n.ewlJT_eoBe{font-size:").concat(theme.metricNumberContextFontSize || 'inherit', ";font-weight:").concat(theme.metricNumberContextFontWeight || 'inherit', "}\n\n.ewlJT_fFDJ{display:none}\n\n.ewlJT_fxkJ{margin-top:-8px}\n\n.ewlJT_esVF{min-height:48px}\n\n.ewlJT_eTZq{position:relative}\n\n.ewlJT_eTZq:after{background:linear-gradient(180deg,hsla(0,0%,100%,0),#fff);content:\"\";height:48px;left:0;position:absolute;top:0;width:100%}\n\n.ewlJT_cVld{max-width:100%;width:calc(25% + 350px)}");
68
68
  },
69
- 'cardWrapper': 'bQIMq_eKXQ',
70
- 'itemCardInnerContainer': 'bQIMq_bwlc',
71
- 'metricsContainer': 'bQIMq_bqdH',
72
- 'itemCardToggleButtonWrapper': 'bQIMq_NpIG',
73
- 'metricNumberContext': 'bQIMq_eoBe',
74
- 'hiddenMetrics': 'bQIMq_fFDJ',
75
- 'itemBodyToggleButtonWrapper': 'bQIMq_fxkJ',
76
- 'itemBody': 'bQIMq_esVF',
77
- 'hiddenItemBody': 'bQIMq_eTZq',
78
- 'answerSummaryTableContainer': 'bQIMq_fkgx'
69
+ 'cardWrapper': 'ewlJT_eKXQ',
70
+ 'itemCardInnerContainer': 'ewlJT_bwlc',
71
+ 'metricsContainer': 'ewlJT_bqdH',
72
+ 'itemCardToggleButtonWrapper': 'ewlJT_NpIG',
73
+ 'metricNumberContext': 'ewlJT_eoBe',
74
+ 'hiddenMetrics': 'ewlJT_fFDJ',
75
+ 'itemBodyToggleButtonWrapper': 'ewlJT_fxkJ',
76
+ 'itemBody': 'ewlJT_esVF',
77
+ 'hiddenItemBody': 'ewlJT_eTZq',
78
+ 'answerFrequencySummaryContainer': 'ewlJT_cVld'
79
79
  };
80
- var supportedTables = ['choice', 'true-false', 'multi-answer'];
81
80
  var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
82
81
  (0, _inherits2.default)(NewItemAnalysis, _Component);
83
82
 
@@ -229,19 +228,16 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
229
228
  }))))));
230
229
  };
231
230
 
232
- _this.renderAnswerSummaryTable = function (itemId, answer_summary, isSupportedTable, metricsClass) {
233
- return /*#__PURE__*/_react.default.createElement("div", {
231
+ _this.renderAnswerSummaryTable = function (itemId, answer_summary, metricsClass, interactionType) {
232
+ return /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, /*#__PURE__*/_react.default.createElement("div", {
234
233
  className: metricsClass
235
234
  }, /*#__PURE__*/_react.default.createElement("div", {
236
- className: styles.answerSummaryTableContainer
237
- }, isSupportedTable && /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
238
- direction: "row"
239
- }, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
240
- shouldGrow: true
235
+ className: styles.answerFrequencySummaryContainer
241
236
  }, /*#__PURE__*/_react.default.createElement(_index5.default, {
242
237
  itemId: itemId,
243
- answerSummary: answer_summary
244
- })))));
238
+ answerSummary: answer_summary,
239
+ interactionType: interactionType
240
+ }))));
245
241
  };
246
242
 
247
243
  return _this;
@@ -252,7 +248,7 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
252
248
  value: function componentDidMount() {
253
249
  var _this2 = this;
254
250
 
255
- (0, _quizRce.ensureMathIsReady)().then(_quizRce.ensureMathRendered).then(_printUtils.ensureImagesLoaded).then(function () {
251
+ (0, _rceChecker.ensureRCEContentIsLoaded)().then(function () {
256
252
  return _this2.calculateItemCardBodyHeight(_this2.props.itemAnalysis.metadata.item_id);
257
253
  });
258
254
  }
@@ -291,7 +287,7 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
291
287
  metadata = itemAnalysis.metadata,
292
288
  scores = itemAnalysis.scores;
293
289
  var itemId = metadata.item_id;
294
- var isSupportedTable = supportedTables.includes(metadata.interaction_type);
290
+ var interactionType = metadata.interaction_type;
295
291
  var metricsClass = (0, _classnames3.default)((0, _defineProperty2.default)({}, styles.hiddenMetrics, !this.state.metricsExpanded));
296
292
  var itemBodyClass = (0, _classnames3.default)(styles.itemBody, (0, _defineProperty2.default)({}, styles.hiddenItemBody, this.isBodyHigherThanContainer() && !this.state.bodyExpanded));
297
293
  var title = (_metadata$item_title = metadata.item_title) !== null && _metadata$item_title !== void 0 ? _metadata$item_title : (0, _formatMessage.default)('Untitled item');
@@ -315,7 +311,7 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
315
311
  padding: "small xx-small none none",
316
312
  overflowY: "hidden",
317
313
  size: !this.state.bodyExpanded ? '60px' : void 0
318
- }, this.renderRichContent(metadata.item_body, itemBodyClass, itemId)))), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, this.renderMetrics(scores, metricsClass)))), showFrequencyTable && /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, this.renderAnswerSummaryTable(itemId, answer_summary, isSupportedTable, metricsClass))));
314
+ }, 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)));
319
315
  }
320
316
  }]);
321
317
  NewItemAnalysis.displayName = "NewItemAnalysis";
@@ -187,8 +187,9 @@ var NewQuizAndItemAnalysisReportCardPresenter = (_dec = (0, _uiThemeable.themeab
187
187
  var _this$props3 = this.props,
188
188
  fetchInProgress = _this$props3.fetchInProgress,
189
189
  name = _this$props3.name,
190
- quizAnalysis = _this$props3.quizAnalysis;
191
- var reportCardStyles = (0, _classnames2.default)(styles.reportCard, (0, _defineProperty2.default)({}, styles.emptyReportCard, !quizAnalysis));
190
+ quizAnalysis = _this$props3.quizAnalysis,
191
+ analysisError = _this$props3.analysisError;
192
+ var reportCardStyles = (0, _classnames2.default)(styles.reportCard, (0, _defineProperty2.default)({}, styles.emptyReportCard, !quizAnalysis && !analysisError));
192
193
  return /*#__PURE__*/_react.default.createElement(_index.default, {
193
194
  className: reportCardStyles
194
195
  }, /*#__PURE__*/_react.default.createElement("div", {