@instructure/quiz-core 17.63.1-rc.1 → 17.63.1-rc.13
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/building/api/qtiImports.js +16 -10
- package/es/building/components/QTIImportModal/index.js +1 -1
- package/es/common/actions/analyses.js +7 -1
- package/es/common/components/shared/spinner/Spinner.js +33 -18
- package/es/common/components/shared/spinner/theme.js +2 -5
- package/es/common/reducers/analyses.js +10 -8
- package/es/common/selectors/analyses.js +3 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerSummaryTable/ChoiceInfo/presenter.js +14 -7
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerSummaryTable/presenter.js +4 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +129 -143
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/theme.js +2 -1
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +9 -8
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/theme.js +2 -1
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/presenter.js +85 -30
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/theme.js +4 -2
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/errorMessages.js +3 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/fetchReports.js +15 -12
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/fetchReportsStatus.js +45 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/generateReports.js +52 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisState.js +10 -4
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js +73 -18
- package/lib/building/api/qtiImports.js +16 -10
- package/lib/building/components/QTIImportModal/index.js +1 -1
- package/lib/common/actions/analyses.js +8 -0
- package/lib/common/components/shared/spinner/Spinner.js +34 -19
- package/lib/common/components/shared/spinner/theme.js +2 -5
- package/lib/common/reducers/analyses.js +13 -8
- package/lib/common/selectors/analyses.js +7 -1
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerSummaryTable/ChoiceInfo/presenter.js +14 -6
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerSummaryTable/presenter.js +5 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +132 -144
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/theme.js +2 -1
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +9 -8
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/theme.js +2 -1
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/presenter.js +84 -29
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/theme.js +4 -2
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/errorMessages.js +8 -2
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/fetchReports.js +15 -12
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/fetchReportsStatus.js +59 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/generateReports.js +67 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisState.js +10 -2
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js +74 -17
- package/package.json +9 -9
|
@@ -7,13 +7,15 @@ exports.default = generator;
|
|
|
7
7
|
|
|
8
8
|
function generator(_ref) {
|
|
9
9
|
var spacing = _ref.spacing,
|
|
10
|
-
borders = _ref.borders
|
|
10
|
+
borders = _ref.borders,
|
|
11
|
+
colors = _ref.colors;
|
|
11
12
|
return {
|
|
12
13
|
metricsPadding: spacing.medium,
|
|
13
14
|
cardWidth: '16rem',
|
|
14
15
|
cardPadding: spacing.medium,
|
|
15
16
|
cardMargin: spacing.xSmall,
|
|
16
17
|
cardBoxShadow: '1px 1px 3px 0 #ddd',
|
|
17
|
-
cardBorderRadius: borders.radiusMedium
|
|
18
|
+
cardBorderRadius: borders.radiusMedium,
|
|
19
|
+
quizSummaryBorderBottomColor: colors.tiara
|
|
18
20
|
};
|
|
19
21
|
}
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.getLastReportGenerationFailed = exports.getFailedToFetchReports = void 0;
|
|
8
|
+
exports.getReportGenerationFailure = exports.getLastReportGenerationFailed = exports.getFailedToFetchReports = void 0;
|
|
9
9
|
|
|
10
10
|
var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
|
|
11
11
|
|
|
@@ -19,4 +19,10 @@ var getLastReportGenerationFailed = function getLastReportGenerationFailed() {
|
|
|
19
19
|
return (0, _formatMessage.default)('Report generation failed. Please try again.');
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
exports.getLastReportGenerationFailed = getLastReportGenerationFailed;
|
|
22
|
+
exports.getLastReportGenerationFailed = getLastReportGenerationFailed;
|
|
23
|
+
|
|
24
|
+
var getReportGenerationFailure = function getReportGenerationFailure() {
|
|
25
|
+
return (0, _formatMessage.default)('An error has occurred while generating this report. Please try again.');
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
exports.getReportGenerationFailure = getReportGenerationFailure;
|
|
@@ -17,13 +17,13 @@ var _errorMessages = require("./errorMessages.js");
|
|
|
17
17
|
|
|
18
18
|
var fetchReports = /*#__PURE__*/function () {
|
|
19
19
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
|
|
20
|
-
var activeQuizId, setFetchInProgress, setQuizAnalysis, setItemAnalyses, setAnalysisError, setGenerationInProgress, addError, fetchQuizAnalysis, fetchItemAnalyses, _yield$Promise$all, _yield$Promise$all2, quizAnalysis, itemAnalyses;
|
|
20
|
+
var activeQuizId, setFetchInProgress, setQuizAnalysis, setItemAnalyses, setStatusPollingInProgress, setAnalysisError, setGenerationInProgress, addError, fetchQuizAnalysis, fetchItemAnalyses, _yield$Promise$all, _yield$Promise$all2, quizAnalysis, itemAnalyses, areAnalysesInProgress, areAnalysesFailed;
|
|
21
21
|
|
|
22
22
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
23
23
|
while (1) {
|
|
24
24
|
switch (_context.prev = _context.next) {
|
|
25
25
|
case 0:
|
|
26
|
-
activeQuizId = _ref.activeQuizId, setFetchInProgress = _ref.setFetchInProgress, setQuizAnalysis = _ref.setQuizAnalysis, setItemAnalyses = _ref.setItemAnalyses, setAnalysisError = _ref.setAnalysisError, setGenerationInProgress = _ref.setGenerationInProgress, addError = _ref.addError, fetchQuizAnalysis = _ref.fetchQuizAnalysis, fetchItemAnalyses = _ref.fetchItemAnalyses;
|
|
26
|
+
activeQuizId = _ref.activeQuizId, setFetchInProgress = _ref.setFetchInProgress, setQuizAnalysis = _ref.setQuizAnalysis, setItemAnalyses = _ref.setItemAnalyses, setStatusPollingInProgress = _ref.setStatusPollingInProgress, setAnalysisError = _ref.setAnalysisError, setGenerationInProgress = _ref.setGenerationInProgress, addError = _ref.addError, fetchQuizAnalysis = _ref.fetchQuizAnalysis, fetchItemAnalyses = _ref.fetchItemAnalyses;
|
|
27
27
|
_context.prev = 1;
|
|
28
28
|
setFetchInProgress(true);
|
|
29
29
|
_context.next = 5;
|
|
@@ -34,33 +34,36 @@ var fetchReports = /*#__PURE__*/function () {
|
|
|
34
34
|
_yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
|
|
35
35
|
quizAnalysis = _yield$Promise$all2[0];
|
|
36
36
|
itemAnalyses = _yield$Promise$all2[1];
|
|
37
|
+
areAnalysesInProgress = quizAnalysis.new_analysis_in_progress || itemAnalyses.new_analysis_in_progress;
|
|
38
|
+
areAnalysesFailed = quizAnalysis.last_analysis_failed || itemAnalyses.last_analysis_failed;
|
|
39
|
+
setGenerationInProgress(areAnalysesInProgress);
|
|
40
|
+
setStatusPollingInProgress(areAnalysesInProgress);
|
|
37
41
|
setQuizAnalysis(quizAnalysis.last_successful_analysis);
|
|
38
42
|
setItemAnalyses(itemAnalyses.last_successful_analysis);
|
|
39
|
-
setGenerationInProgress(quizAnalysis.new_analysis_in_progress || itemAnalyses.new_analysis_in_progress);
|
|
40
43
|
|
|
41
|
-
if (
|
|
44
|
+
if (areAnalysesFailed) {
|
|
42
45
|
setAnalysisError((0, _errorMessages.getLastReportGenerationFailed)());
|
|
43
46
|
}
|
|
44
47
|
|
|
45
|
-
_context.next =
|
|
48
|
+
_context.next = 21;
|
|
46
49
|
break;
|
|
47
50
|
|
|
48
|
-
case
|
|
49
|
-
_context.prev =
|
|
51
|
+
case 18:
|
|
52
|
+
_context.prev = 18;
|
|
50
53
|
_context.t0 = _context["catch"](1);
|
|
51
54
|
addError((0, _errorMessages.getFailedToFetchReports)());
|
|
52
55
|
|
|
53
|
-
case
|
|
54
|
-
_context.prev =
|
|
56
|
+
case 21:
|
|
57
|
+
_context.prev = 21;
|
|
55
58
|
setFetchInProgress(false);
|
|
56
|
-
return _context.finish(
|
|
59
|
+
return _context.finish(21);
|
|
57
60
|
|
|
58
|
-
case
|
|
61
|
+
case 24:
|
|
59
62
|
case "end":
|
|
60
63
|
return _context.stop();
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
|
-
}, _callee, null, [[1,
|
|
66
|
+
}, _callee, null, [[1, 18, 21, 24]]);
|
|
64
67
|
}));
|
|
65
68
|
|
|
66
69
|
return function fetchReports(_x) {
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.fetchReportsStatus = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _errorMessages = require("./errorMessages.js");
|
|
15
|
+
|
|
16
|
+
var fetchReportsStatus = /*#__PURE__*/function () {
|
|
17
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
|
|
18
|
+
var activeQuizId, addError, fetchAnalysesStatus, instrumentedFetchReports, setStatusPollingInProgress, setGenerationInProgress, status, isReportGenerationReady;
|
|
19
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
20
|
+
while (1) {
|
|
21
|
+
switch (_context.prev = _context.next) {
|
|
22
|
+
case 0:
|
|
23
|
+
activeQuizId = _ref.activeQuizId, addError = _ref.addError, fetchAnalysesStatus = _ref.fetchAnalysesStatus, instrumentedFetchReports = _ref.instrumentedFetchReports, setStatusPollingInProgress = _ref.setStatusPollingInProgress, setGenerationInProgress = _ref.setGenerationInProgress;
|
|
24
|
+
_context.prev = 1;
|
|
25
|
+
_context.next = 4;
|
|
26
|
+
return fetchAnalysesStatus(activeQuizId);
|
|
27
|
+
|
|
28
|
+
case 4:
|
|
29
|
+
status = _context.sent;
|
|
30
|
+
isReportGenerationReady = !status.quiz_analysis_in_progress && !status.item_analyses_in_progress;
|
|
31
|
+
|
|
32
|
+
if (isReportGenerationReady) {
|
|
33
|
+
instrumentedFetchReports();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
_context.next = 14;
|
|
37
|
+
break;
|
|
38
|
+
|
|
39
|
+
case 9:
|
|
40
|
+
_context.prev = 9;
|
|
41
|
+
_context.t0 = _context["catch"](1);
|
|
42
|
+
addError((0, _errorMessages.getFailedToFetchReports)());
|
|
43
|
+
setStatusPollingInProgress(false);
|
|
44
|
+
setGenerationInProgress(false);
|
|
45
|
+
|
|
46
|
+
case 14:
|
|
47
|
+
case "end":
|
|
48
|
+
return _context.stop();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}, _callee, null, [[1, 9]]);
|
|
52
|
+
}));
|
|
53
|
+
|
|
54
|
+
return function fetchReportsStatus(_x) {
|
|
55
|
+
return _ref2.apply(this, arguments);
|
|
56
|
+
};
|
|
57
|
+
}();
|
|
58
|
+
|
|
59
|
+
exports.fetchReportsStatus = fetchReportsStatus;
|
|
@@ -0,0 +1,67 @@
|
|
|
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.generateReports = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _errorMessages = require("./errorMessages.js");
|
|
15
|
+
|
|
16
|
+
var generateReports = /*#__PURE__*/function () {
|
|
17
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
|
|
18
|
+
var setGenerationInProgress, setStatusPollingInProgress, generateAnalysis, filter, addError, response;
|
|
19
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
20
|
+
while (1) {
|
|
21
|
+
switch (_context.prev = _context.next) {
|
|
22
|
+
case 0:
|
|
23
|
+
setGenerationInProgress = _ref.setGenerationInProgress, setStatusPollingInProgress = _ref.setStatusPollingInProgress, generateAnalysis = _ref.generateAnalysis, filter = _ref.filter, addError = _ref.addError;
|
|
24
|
+
_context.prev = 1;
|
|
25
|
+
setGenerationInProgress(true);
|
|
26
|
+
_context.next = 5;
|
|
27
|
+
return generateAnalysis(filter);
|
|
28
|
+
|
|
29
|
+
case 5:
|
|
30
|
+
response = _context.sent;
|
|
31
|
+
|
|
32
|
+
if (response) {
|
|
33
|
+
_context.next = 10;
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
addError((0, _errorMessages.getReportGenerationFailure)());
|
|
38
|
+
setGenerationInProgress(false);
|
|
39
|
+
return _context.abrupt("return");
|
|
40
|
+
|
|
41
|
+
case 10:
|
|
42
|
+
setStatusPollingInProgress(true);
|
|
43
|
+
_context.next = 17;
|
|
44
|
+
break;
|
|
45
|
+
|
|
46
|
+
case 13:
|
|
47
|
+
_context.prev = 13;
|
|
48
|
+
_context.t0 = _context["catch"](1);
|
|
49
|
+
addError((0, _errorMessages.getReportGenerationFailure)());
|
|
50
|
+
setGenerationInProgress(false);
|
|
51
|
+
|
|
52
|
+
case 17:
|
|
53
|
+
case "end":
|
|
54
|
+
return _context.stop();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}, _callee, null, [[1, 13]]);
|
|
58
|
+
}));
|
|
59
|
+
|
|
60
|
+
return function generateReports(_x) {
|
|
61
|
+
return _ref2.apply(this, arguments);
|
|
62
|
+
};
|
|
63
|
+
}();
|
|
64
|
+
|
|
65
|
+
exports.generateReports = generateReports;
|
|
66
|
+
var _default = generateReports;
|
|
67
|
+
exports.default = _default;
|
|
@@ -16,6 +16,8 @@ var _getQuizAnalysis = require("../../../api/getQuizAnalysis.js");
|
|
|
16
16
|
|
|
17
17
|
var _getItemAnalyses = require("../../../api/getItemAnalyses.js");
|
|
18
18
|
|
|
19
|
+
var _getAnalysesStatus = require("../../../api/getAnalysesStatus.js");
|
|
20
|
+
|
|
19
21
|
var _reactRedux = require("../../../../common/react-redux.js");
|
|
20
22
|
|
|
21
23
|
var _redux = require("redux");
|
|
@@ -24,16 +26,21 @@ var _quizzes = require("../../../../common/selectors/quizzes.js");
|
|
|
24
26
|
|
|
25
27
|
var _alerts = require("../../../../common/actions/alerts.js");
|
|
26
28
|
|
|
29
|
+
var DEFAULT_POLLING_INTERVAL = 3000;
|
|
30
|
+
|
|
27
31
|
function mapStateToProps(state, ownProps) {
|
|
28
32
|
return {
|
|
29
33
|
quizAnalysis: (0, _analyses.getQuizAnalysis)(state),
|
|
30
34
|
itemAnalyses: (0, _analyses.getItemAnalyses)(state),
|
|
31
35
|
fetchInProgress: (0, _analyses.getFetchInProgress)(state),
|
|
32
36
|
generationInProgress: (0, _analyses.getGenerationInProgress)(state),
|
|
37
|
+
statusPollingInProgress: (0, _analyses.getStatusPollingInProgress)(state),
|
|
33
38
|
analysisError: (0, _analyses.getAnalysisError)(state),
|
|
34
39
|
activeQuizId: ownProps.activeQuizId || (0, _quizzes.getActiveQuizId)(state),
|
|
35
40
|
fetchQuizAnalysis: _getQuizAnalysis.getQuizAnalysis,
|
|
36
|
-
fetchItemAnalyses: _getItemAnalyses.getItemAnalyses
|
|
41
|
+
fetchItemAnalyses: _getItemAnalyses.getItemAnalyses,
|
|
42
|
+
fetchAnalysesStatus: _getAnalysesStatus.getAnalysesStatus,
|
|
43
|
+
pollingInterval: ownProps.pollingInterval || DEFAULT_POLLING_INTERVAL
|
|
37
44
|
};
|
|
38
45
|
}
|
|
39
46
|
|
|
@@ -43,7 +50,8 @@ var mapDispatchToProps = {
|
|
|
43
50
|
setFetchInProgress: _analyses2.setFetchInProgress,
|
|
44
51
|
setGenerationInProgress: _analyses2.setGenerationInProgress,
|
|
45
52
|
setAnalysisError: _analyses2.setAnalysisError,
|
|
46
|
-
addError: _alerts.addError
|
|
53
|
+
addError: _alerts.addError,
|
|
54
|
+
setStatusPollingInProgress: _analyses2.setStatusPollingInProgress
|
|
47
55
|
};
|
|
48
56
|
var withAnalysisState = (0, _redux.compose)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps), _withAnalysisStatePresenter.withAnalysisStatePresenter);
|
|
49
57
|
exports.withAnalysisState = withAnalysisState;
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js
CHANGED
|
@@ -23,6 +23,10 @@ var _propTypes2 = require("./propTypes.js");
|
|
|
23
23
|
|
|
24
24
|
var _fetchReports = require("./fetchReports.js");
|
|
25
25
|
|
|
26
|
+
var _fetchReportsStatus = require("./fetchReportsStatus.js");
|
|
27
|
+
|
|
28
|
+
var _generateReports2 = require("./generateReports.js");
|
|
29
|
+
|
|
26
30
|
var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalComponent) {
|
|
27
31
|
var WithAnalysisStatePresenter = function WithAnalysisStatePresenter(_ref) {
|
|
28
32
|
var quizAnalysis = _ref.quizAnalysis,
|
|
@@ -37,21 +41,41 @@ var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalCom
|
|
|
37
41
|
setGenerationInProgress = _ref.setGenerationInProgress,
|
|
38
42
|
setAnalysisError = _ref.setAnalysisError,
|
|
39
43
|
activeQuizId = _ref.activeQuizId,
|
|
40
|
-
|
|
44
|
+
generateAnalysis = _ref.generateAnalysis,
|
|
41
45
|
fetchQuizAnalysis = _ref.fetchQuizAnalysis,
|
|
42
46
|
fetchItemAnalyses = _ref.fetchItemAnalyses,
|
|
43
|
-
|
|
47
|
+
fetchAnalysesStatus = _ref.fetchAnalysesStatus,
|
|
48
|
+
statusPollingInProgress = _ref.statusPollingInProgress,
|
|
49
|
+
setStatusPollingInProgress = _ref.setStatusPollingInProgress,
|
|
50
|
+
pollingInterval = _ref.pollingInterval,
|
|
51
|
+
passThroughProps = (0, _objectWithoutProperties2.default)(_ref, ["quizAnalysis", "itemAnalyses", "fetchInProgress", "generationInProgress", "analysisError", "setQuizAnalysis", "addError", "setItemAnalyses", "setFetchInProgress", "setGenerationInProgress", "setAnalysisError", "activeQuizId", "generateAnalysis", "fetchQuizAnalysis", "fetchItemAnalyses", "fetchAnalysesStatus", "statusPollingInProgress", "setStatusPollingInProgress", "pollingInterval"]);
|
|
44
52
|
WithAnalysisStatePresenter.displayName = "WithAnalysisStatePresenter(".concat(OriginalComponent.displayName || OriginalComponent.name, ")");
|
|
45
|
-
var
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
var runningInterval = (0, _react.useRef)(null);
|
|
54
|
+
|
|
55
|
+
var instrumentedFetchReports = function instrumentedFetchReports() {
|
|
56
|
+
return (0, _fetchReports.fetchReports)({
|
|
57
|
+
activeQuizId: activeQuizId,
|
|
58
|
+
addError: addError,
|
|
59
|
+
fetchQuizAnalysis: fetchQuizAnalysis,
|
|
60
|
+
fetchItemAnalyses: fetchItemAnalyses,
|
|
61
|
+
setAnalysisError: setAnalysisError,
|
|
62
|
+
setStatusPollingInProgress: setStatusPollingInProgress,
|
|
63
|
+
setItemAnalyses: setItemAnalyses,
|
|
64
|
+
setGenerationInProgress: setGenerationInProgress,
|
|
65
|
+
setFetchInProgress: setFetchInProgress,
|
|
66
|
+
setQuizAnalysis: setQuizAnalysis
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
var instrumentedStatusFetching = function instrumentedStatusFetching() {
|
|
71
|
+
return (0, _fetchReportsStatus.fetchReportsStatus)({
|
|
72
|
+
activeQuizId: activeQuizId,
|
|
73
|
+
addError: addError,
|
|
74
|
+
setGenerationInProgress: setGenerationInProgress,
|
|
75
|
+
setStatusPollingInProgress: setStatusPollingInProgress,
|
|
76
|
+
fetchAnalysesStatus: fetchAnalysesStatus,
|
|
77
|
+
instrumentedFetchReports: instrumentedFetchReports
|
|
78
|
+
});
|
|
55
79
|
};
|
|
56
80
|
|
|
57
81
|
function generateReports() {
|
|
@@ -60,10 +84,25 @@ var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalCom
|
|
|
60
84
|
|
|
61
85
|
function _generateReports() {
|
|
62
86
|
_generateReports = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
87
|
+
var filter,
|
|
88
|
+
generationConfig,
|
|
89
|
+
_args2 = arguments;
|
|
63
90
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
64
91
|
while (1) {
|
|
65
92
|
switch (_context2.prev = _context2.next) {
|
|
66
93
|
case 0:
|
|
94
|
+
filter = _args2.length > 0 && _args2[0] !== void 0 ? _args2[0] : 'last_attempt';
|
|
95
|
+
generationConfig = {
|
|
96
|
+
filter: filter,
|
|
97
|
+
generateAnalysis: generateAnalysis,
|
|
98
|
+
setGenerationInProgress: setGenerationInProgress,
|
|
99
|
+
setStatusPollingInProgress: setStatusPollingInProgress,
|
|
100
|
+
addError: addError
|
|
101
|
+
};
|
|
102
|
+
_context2.next = 4;
|
|
103
|
+
return (0, _generateReports2.generateReports)(generationConfig);
|
|
104
|
+
|
|
105
|
+
case 4:
|
|
67
106
|
case "end":
|
|
68
107
|
return _context2.stop();
|
|
69
108
|
}
|
|
@@ -89,7 +128,7 @@ var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalCom
|
|
|
89
128
|
}
|
|
90
129
|
|
|
91
130
|
_context.next = 4;
|
|
92
|
-
return (
|
|
131
|
+
return instrumentedFetchReports();
|
|
93
132
|
|
|
94
133
|
case 4:
|
|
95
134
|
case "end":
|
|
@@ -106,6 +145,21 @@ var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalCom
|
|
|
106
145
|
|
|
107
146
|
fetchIfNeeded();
|
|
108
147
|
}, []);
|
|
148
|
+
(0, _react.useEffect)(function () {
|
|
149
|
+
if (statusPollingInProgress && !runningInterval.current) {
|
|
150
|
+
runningInterval.current = setInterval(instrumentedStatusFetching, pollingInterval);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (!statusPollingInProgress && runningInterval.current) {
|
|
154
|
+
clearInterval(runningInterval.current);
|
|
155
|
+
runningInterval.current = null;
|
|
156
|
+
} // unmount cleanup
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
return function () {
|
|
160
|
+
return clearInterval(runningInterval.current);
|
|
161
|
+
};
|
|
162
|
+
}, [statusPollingInProgress]);
|
|
109
163
|
return /*#__PURE__*/_react.default.createElement(OriginalComponent, Object.assign({
|
|
110
164
|
quizAnalysis: quizAnalysis,
|
|
111
165
|
itemAnalyses: itemAnalyses,
|
|
@@ -121,24 +175,27 @@ var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalCom
|
|
|
121
175
|
itemAnalyses: _propTypes.default.arrayOf(_propTypes2.itemAnalysisPropType),
|
|
122
176
|
fetchInProgress: _propTypes.default.bool.isRequired,
|
|
123
177
|
generationInProgress: _propTypes.default.bool.isRequired,
|
|
178
|
+
statusPollingInProgress: _propTypes.default.bool.isRequired,
|
|
124
179
|
analysisError: _propTypes.default.string,
|
|
125
180
|
setQuizAnalysis: _propTypes.default.func.isRequired,
|
|
126
181
|
setItemAnalyses: _propTypes.default.func.isRequired,
|
|
127
182
|
setFetchInProgress: _propTypes.default.func.isRequired,
|
|
128
183
|
setGenerationInProgress: _propTypes.default.func.isRequired,
|
|
129
184
|
setAnalysisError: _propTypes.default.func.isRequired,
|
|
185
|
+
setStatusPollingInProgress: _propTypes.default.func.isRequired,
|
|
130
186
|
activeQuizId: _propTypes.default.string.isRequired,
|
|
131
187
|
fetchQuizAnalysis: _propTypes.default.func.isRequired,
|
|
132
188
|
fetchItemAnalyses: _propTypes.default.func.isRequired,
|
|
189
|
+
fetchAnalysesStatus: _propTypes.default.func.isRequired,
|
|
133
190
|
addError: _propTypes.default.func.isRequired,
|
|
134
|
-
|
|
135
|
-
|
|
191
|
+
pollingInterval: _propTypes.default.number.isRequired,
|
|
192
|
+
generateAnalysis: _propTypes.default.func.isRequired // from LTI, f(filter: string)
|
|
193
|
+
|
|
136
194
|
};
|
|
137
195
|
WithAnalysisStatePresenter.defaultProps = {
|
|
138
196
|
quizAnalysis: void 0,
|
|
139
197
|
itemAnalyses: void 0,
|
|
140
|
-
analysisError: ''
|
|
141
|
-
generateReport: Function.prototype
|
|
198
|
+
analysisError: ''
|
|
142
199
|
};
|
|
143
200
|
return WithAnalysisStatePresenter;
|
|
144
201
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instructure/quiz-core",
|
|
3
|
-
"version": "17.63.1-rc.
|
|
3
|
+
"version": "17.63.1-rc.13+2689d1535",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "The Quiz React SDK by Instructure Inc.",
|
|
6
6
|
"author": "Instructure, Inc. Engineering and Product Design",
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
],
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@instructure/outcomes-ui": "^2.1.9",
|
|
44
|
-
"@instructure/quiz-common": "17.63.1-rc.
|
|
45
|
-
"@instructure/quiz-i18n": "17.63.1-rc.
|
|
46
|
-
"@instructure/quiz-interactions": "17.63.1-rc.
|
|
47
|
-
"@instructure/quiz-number-input": "17.63.1-rc.
|
|
48
|
-
"@instructure/quiz-rce": "17.63.1-rc.
|
|
44
|
+
"@instructure/quiz-common": "17.63.1-rc.13+2689d1535",
|
|
45
|
+
"@instructure/quiz-i18n": "17.63.1-rc.13+2689d1535",
|
|
46
|
+
"@instructure/quiz-interactions": "17.63.1-rc.13+2689d1535",
|
|
47
|
+
"@instructure/quiz-number-input": "17.63.1-rc.13+2689d1535",
|
|
48
|
+
"@instructure/quiz-rce": "17.63.1-rc.13+2689d1535",
|
|
49
49
|
"@instructure/ui-a11y-content": "^7.20.0",
|
|
50
50
|
"@instructure/ui-alerts": "^7.20.0",
|
|
51
51
|
"@instructure/ui-avatar": "^7.20.0",
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
"eventemitter3": "^3.1.0",
|
|
107
107
|
"humps": "^2.0.0",
|
|
108
108
|
"immutable": "^3.8.1",
|
|
109
|
-
"instructure-validations": "17.63.1-rc.
|
|
109
|
+
"instructure-validations": "17.63.1-rc.13+2689d1535",
|
|
110
110
|
"ipaddr.js": "^1.5.4",
|
|
111
111
|
"isomorphic-fetch": "^2.2.0",
|
|
112
112
|
"isuuid": "^0.1.0",
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
"intl": "^1.2.4",
|
|
158
158
|
"jquery": "^2.2.3",
|
|
159
159
|
"most-subject": "^5.3.0",
|
|
160
|
-
"quiz-presets": "17.63.1-rc.
|
|
160
|
+
"quiz-presets": "17.63.1-rc.13+2689d1535",
|
|
161
161
|
"react": "^16.8.6",
|
|
162
162
|
"react-addons-test-utils": "^15.6.2",
|
|
163
163
|
"react-dom": "^16.8.6",
|
|
@@ -173,5 +173,5 @@
|
|
|
173
173
|
"publishConfig": {
|
|
174
174
|
"access": "public"
|
|
175
175
|
},
|
|
176
|
-
"gitHead": "
|
|
176
|
+
"gitHead": "2689d153545ce15c011be212105bfc5aae9835db"
|
|
177
177
|
}
|