@instructure/quiz-core 17.63.0 → 17.63.1-rc.1
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/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +13 -17
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/errorMessages.js +7 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/fetchReports.js +56 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +1 -1
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisState.js +8 -4
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js +21 -96
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +13 -17
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/errorMessages.js +22 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/fetchReports.js +71 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +1 -1
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisState.js +12 -6
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js +22 -96
- package/package.json +10 -10
package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js
CHANGED
|
@@ -8,16 +8,16 @@ var _dec, _class, _class2, _temp;
|
|
|
8
8
|
import { Heading } from '@instructure/ui-heading';
|
|
9
9
|
import React, { Component } from 'react';
|
|
10
10
|
var styles = {
|
|
11
|
-
componentId: '
|
|
11
|
+
componentId: 'bnEXV',
|
|
12
12
|
template: function template(theme) {
|
|
13
|
-
return "\n\n.
|
|
13
|
+
return "\n\n.bnEXV_eDnN{display:flex;justify-content:space-between;padding-bottom:".concat(theme.headingPadding || 'inherit', "}\n\n.bnEXV_eKXQ{padding:").concat(theme.cardWrapperPadding || 'inherit', ";position:relative}\n\n.bnEXV_crZr{padding-top:").concat(theme.metricGroupPaddingTop || 'inherit', "}\n\n.bnEXV_bTHH{position:absolute;right:").concat(theme.viewPadding || 'inherit', ";top:").concat(theme.viewPadding || 'inherit', "}\n\n.bnEXV_dPzc,.bnEXV_cpZE{column-gap:").concat(theme.metricsColumnGap || 'inherit', ";display:flex;flex-wrap:wrap;justify-content:flex-start;row-gap:1.5rem}");
|
|
14
14
|
},
|
|
15
|
-
'heading': '
|
|
16
|
-
'cardWrapper': '
|
|
17
|
-
'container': '
|
|
18
|
-
'expandButtonContainer': '
|
|
19
|
-
'metricGroup': '
|
|
20
|
-
'metricsWrapper': '
|
|
15
|
+
'heading': 'bnEXV_eDnN',
|
|
16
|
+
'cardWrapper': 'bnEXV_eKXQ',
|
|
17
|
+
'container': 'bnEXV_crZr',
|
|
18
|
+
'expandButtonContainer': 'bnEXV_bTHH',
|
|
19
|
+
'metricGroup': 'bnEXV_dPzc',
|
|
20
|
+
'metricsWrapper': 'bnEXV_cpZE'
|
|
21
21
|
};
|
|
22
22
|
import t from '@instructure/quiz-i18n/es/format-message';
|
|
23
23
|
import ExpandButton from "../../../../../common/components/shared/ExpandButton/index.js";
|
|
@@ -72,12 +72,7 @@ export var NewQuizAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
72
72
|
className: styles.container
|
|
73
73
|
}, /*#__PURE__*/React.createElement("div", {
|
|
74
74
|
className: styles.metricGroup
|
|
75
|
-
}, /*#__PURE__*/React.createElement(
|
|
76
|
-
metricKey: "median_percentage",
|
|
77
|
-
label: t('Median Score'),
|
|
78
|
-
value: t.number(scores === null || scores === void 0 ? void 0 : scores.median_percentage),
|
|
79
|
-
suffix: "%"
|
|
80
|
-
}), /*#__PURE__*/React.createElement(AnalysisPopoverMetric, {
|
|
75
|
+
}, /*#__PURE__*/React.createElement(AnalysisPopoverMetric, {
|
|
81
76
|
metricKey: "stddev",
|
|
82
77
|
value: t.number(scores === null || scores === void 0 ? void 0 : scores.stddev),
|
|
83
78
|
label: t('Standard Deviation'),
|
|
@@ -130,9 +125,10 @@ export var NewQuizAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
130
125
|
})), /*#__PURE__*/React.createElement("div", {
|
|
131
126
|
className: styles.metricsWrapper
|
|
132
127
|
}, /*#__PURE__*/React.createElement(AnalysisMetric, {
|
|
133
|
-
metricKey: "
|
|
134
|
-
label: t('
|
|
135
|
-
value: t.number(
|
|
128
|
+
metricKey: "median_percentage",
|
|
129
|
+
label: t('Median Score'),
|
|
130
|
+
value: t.number(scores === null || scores === void 0 ? void 0 : scores.median_percentage),
|
|
131
|
+
suffix: "%"
|
|
136
132
|
}), /*#__PURE__*/React.createElement(AnalysisMetric, {
|
|
137
133
|
metricKey: "mean_elapsed_sec",
|
|
138
134
|
label: t('mean elapsed time'),
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import t from '@instructure/quiz-i18n/es/format-message';
|
|
2
|
+
export var getFailedToFetchReports = function getFailedToFetchReports() {
|
|
3
|
+
return t('An error has occurred while loading this report. Please try again.');
|
|
4
|
+
};
|
|
5
|
+
export var getLastReportGenerationFailed = function getLastReportGenerationFailed() {
|
|
6
|
+
return t('Report generation failed. Please try again.');
|
|
7
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
4
|
+
import { getFailedToFetchReports, getLastReportGenerationFailed } from "./errorMessages.js";
|
|
5
|
+
export var fetchReports = /*#__PURE__*/function () {
|
|
6
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
|
|
7
|
+
var activeQuizId, setFetchInProgress, setQuizAnalysis, setItemAnalyses, setAnalysisError, setGenerationInProgress, addError, fetchQuizAnalysis, fetchItemAnalyses, _yield$Promise$all, _yield$Promise$all2, quizAnalysis, itemAnalyses;
|
|
8
|
+
|
|
9
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
10
|
+
while (1) {
|
|
11
|
+
switch (_context.prev = _context.next) {
|
|
12
|
+
case 0:
|
|
13
|
+
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;
|
|
14
|
+
_context.prev = 1;
|
|
15
|
+
setFetchInProgress(true);
|
|
16
|
+
_context.next = 5;
|
|
17
|
+
return Promise.all([fetchQuizAnalysis(activeQuizId), fetchItemAnalyses(activeQuizId)]);
|
|
18
|
+
|
|
19
|
+
case 5:
|
|
20
|
+
_yield$Promise$all = _context.sent;
|
|
21
|
+
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
|
|
22
|
+
quizAnalysis = _yield$Promise$all2[0];
|
|
23
|
+
itemAnalyses = _yield$Promise$all2[1];
|
|
24
|
+
setQuizAnalysis(quizAnalysis.last_successful_analysis);
|
|
25
|
+
setItemAnalyses(itemAnalyses.last_successful_analysis);
|
|
26
|
+
setGenerationInProgress(quizAnalysis.new_analysis_in_progress || itemAnalyses.new_analysis_in_progress);
|
|
27
|
+
|
|
28
|
+
if (quizAnalysis.last_analysis_failed || itemAnalyses.last_analysis_failed) {
|
|
29
|
+
setAnalysisError(getLastReportGenerationFailed());
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
_context.next = 18;
|
|
33
|
+
break;
|
|
34
|
+
|
|
35
|
+
case 15:
|
|
36
|
+
_context.prev = 15;
|
|
37
|
+
_context.t0 = _context["catch"](1);
|
|
38
|
+
addError(getFailedToFetchReports());
|
|
39
|
+
|
|
40
|
+
case 18:
|
|
41
|
+
_context.prev = 18;
|
|
42
|
+
setFetchInProgress(false);
|
|
43
|
+
return _context.finish(18);
|
|
44
|
+
|
|
45
|
+
case 21:
|
|
46
|
+
case "end":
|
|
47
|
+
return _context.stop();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}, _callee, null, [[1, 15, 18, 21]]);
|
|
51
|
+
}));
|
|
52
|
+
|
|
53
|
+
return function fetchReports(_x) {
|
|
54
|
+
return _ref2.apply(this, arguments);
|
|
55
|
+
};
|
|
56
|
+
}();
|
|
@@ -29,7 +29,7 @@ export var itemAnalysisPropType = PropTypes.shape({
|
|
|
29
29
|
metadata: PropTypes.shape({
|
|
30
30
|
interaction_type: PropTypes.string,
|
|
31
31
|
item_body: PropTypes.string,
|
|
32
|
-
item_id: PropTypes.
|
|
32
|
+
item_id: PropTypes.number,
|
|
33
33
|
item_title: PropTypes.string
|
|
34
34
|
}),
|
|
35
35
|
scores: PropTypes.shape({
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { withAnalysisStatePresenter } from "./withAnalysisStatePresenter.js";
|
|
2
2
|
import { getQuizAnalysis, getItemAnalyses, getFetchInProgress, getGenerationInProgress, getAnalysisError } from "../../../../common/selectors/analyses.js";
|
|
3
3
|
import { setQuizAnalysis, setItemAnalyses, setFetchInProgress, setGenerationInProgress, setAnalysisError } from "../../../../common/actions/analyses.js";
|
|
4
|
-
import { getQuizAnalysis as fetchQuizAnalysis } from "../../../api/
|
|
5
|
-
import { getItemAnalyses as fetchItemAnalyses } from "../../../api/
|
|
4
|
+
import { getQuizAnalysis as fetchQuizAnalysis } from "../../../api/getQuizAnalysis.js";
|
|
5
|
+
import { getItemAnalyses as fetchItemAnalyses } from "../../../api/getItemAnalyses.js";
|
|
6
6
|
import { connect } from "../../../../common/react-redux.js";
|
|
7
7
|
import { compose } from 'redux';
|
|
8
|
-
|
|
8
|
+
import { getActiveQuizId } from "../../../../common/selectors/quizzes.js";
|
|
9
|
+
import { addError } from "../../../../common/actions/alerts.js";
|
|
10
|
+
export function mapStateToProps(state, ownProps) {
|
|
9
11
|
return {
|
|
10
12
|
quizAnalysis: getQuizAnalysis(state),
|
|
11
13
|
itemAnalyses: getItemAnalyses(state),
|
|
12
14
|
fetchInProgress: getFetchInProgress(state),
|
|
13
15
|
generationInProgress: getGenerationInProgress(state),
|
|
14
16
|
analysisError: getAnalysisError(state),
|
|
17
|
+
activeQuizId: ownProps.activeQuizId || getActiveQuizId(state),
|
|
15
18
|
fetchQuizAnalysis: fetchQuizAnalysis,
|
|
16
19
|
fetchItemAnalyses: fetchItemAnalyses
|
|
17
20
|
};
|
|
@@ -21,7 +24,8 @@ var mapDispatchToProps = {
|
|
|
21
24
|
setItemAnalyses: setItemAnalyses,
|
|
22
25
|
setFetchInProgress: setFetchInProgress,
|
|
23
26
|
setGenerationInProgress: setGenerationInProgress,
|
|
24
|
-
setAnalysisError: setAnalysisError
|
|
27
|
+
setAnalysisError: setAnalysisError,
|
|
28
|
+
addError: addError
|
|
25
29
|
};
|
|
26
30
|
export var withAnalysisState = compose(connect(mapStateToProps, mapDispatchToProps), withAnalysisStatePresenter);
|
|
27
31
|
export default withAnalysisState;
|
package/es/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js
CHANGED
|
@@ -4,6 +4,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
|
|
|
4
4
|
import React, { useEffect } from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { itemAnalysisPropType, quizAnalysisPropType } from "./propTypes.js";
|
|
7
|
+
import { fetchReports } from "./fetchReports.js";
|
|
7
8
|
export var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalComponent) {
|
|
8
9
|
var WithAnalysisStatePresenter = function WithAnalysisStatePresenter(_ref) {
|
|
9
10
|
var quizAnalysis = _ref.quizAnalysis,
|
|
@@ -12,123 +13,46 @@ export var withAnalysisStatePresenter = function withAnalysisStatePresenter(Orig
|
|
|
12
13
|
generationInProgress = _ref.generationInProgress,
|
|
13
14
|
analysisError = _ref.analysisError,
|
|
14
15
|
setQuizAnalysis = _ref.setQuizAnalysis,
|
|
16
|
+
addError = _ref.addError,
|
|
15
17
|
setItemAnalyses = _ref.setItemAnalyses,
|
|
16
18
|
setFetchInProgress = _ref.setFetchInProgress,
|
|
17
19
|
setGenerationInProgress = _ref.setGenerationInProgress,
|
|
18
20
|
setAnalysisError = _ref.setAnalysisError,
|
|
19
21
|
activeQuizId = _ref.activeQuizId,
|
|
22
|
+
generateReport = _ref.generateReport,
|
|
20
23
|
fetchQuizAnalysis = _ref.fetchQuizAnalysis,
|
|
21
24
|
fetchItemAnalyses = _ref.fetchItemAnalyses,
|
|
22
|
-
|
|
23
|
-
passThroughProps = _objectWithoutProperties(_ref, ["quizAnalysis", "itemAnalyses", "fetchInProgress", "generationInProgress", "analysisError", "setQuizAnalysis", "setItemAnalyses", "setFetchInProgress", "setGenerationInProgress", "setAnalysisError", "activeQuizId", "fetchQuizAnalysis", "fetchItemAnalyses", "generateReport"]);
|
|
25
|
+
passThroughProps = _objectWithoutProperties(_ref, ["quizAnalysis", "itemAnalyses", "fetchInProgress", "generationInProgress", "analysisError", "setQuizAnalysis", "addError", "setItemAnalyses", "setFetchInProgress", "setGenerationInProgress", "setAnalysisError", "activeQuizId", "generateReport", "fetchQuizAnalysis", "fetchItemAnalyses"]);
|
|
24
26
|
|
|
25
27
|
WithAnalysisStatePresenter.displayName = "WithAnalysisStatePresenter(".concat(OriginalComponent.displayName || OriginalComponent.name, ")");
|
|
28
|
+
var reportFetchingConfig = {
|
|
29
|
+
activeQuizId: activeQuizId,
|
|
30
|
+
addError: addError,
|
|
31
|
+
fetchQuizAnalysis: fetchQuizAnalysis,
|
|
32
|
+
fetchItemAnalyses: fetchItemAnalyses,
|
|
33
|
+
setAnalysisError: setAnalysisError,
|
|
34
|
+
setItemAnalyses: setItemAnalyses,
|
|
35
|
+
setGenerationInProgress: setGenerationInProgress,
|
|
36
|
+
setFetchInProgress: setFetchInProgress,
|
|
37
|
+
setQuizAnalysis: setQuizAnalysis
|
|
38
|
+
};
|
|
26
39
|
|
|
27
|
-
function
|
|
28
|
-
return
|
|
40
|
+
function generateReports() {
|
|
41
|
+
return _generateReports.apply(this, arguments);
|
|
29
42
|
}
|
|
30
43
|
|
|
31
|
-
function
|
|
32
|
-
|
|
44
|
+
function _generateReports() {
|
|
45
|
+
_generateReports = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
33
46
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
34
47
|
while (1) {
|
|
35
48
|
switch (_context2.prev = _context2.next) {
|
|
36
49
|
case 0:
|
|
37
|
-
_context2.next = 2;
|
|
38
|
-
return queryQuizAnalysis();
|
|
39
|
-
|
|
40
|
-
case 2:
|
|
41
|
-
_context2.next = 4;
|
|
42
|
-
return queryItemAnalyses();
|
|
43
|
-
|
|
44
|
-
case 4:
|
|
45
50
|
case "end":
|
|
46
51
|
return _context2.stop();
|
|
47
52
|
}
|
|
48
53
|
}
|
|
49
54
|
}, _callee2);
|
|
50
55
|
}));
|
|
51
|
-
return _fetchReports.apply(this, arguments);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
function queryQuizAnalysis() {
|
|
55
|
-
return _queryQuizAnalysis.apply(this, arguments);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function _queryQuizAnalysis() {
|
|
59
|
-
_queryQuizAnalysis = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
60
|
-
var response;
|
|
61
|
-
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
62
|
-
while (1) {
|
|
63
|
-
switch (_context3.prev = _context3.next) {
|
|
64
|
-
case 0:
|
|
65
|
-
_context3.next = 2;
|
|
66
|
-
return fetchQuizAnalysis(activeQuizId);
|
|
67
|
-
|
|
68
|
-
case 2:
|
|
69
|
-
response = _context3.sent;
|
|
70
|
-
|
|
71
|
-
if (response) {
|
|
72
|
-
setQuizAnalysis(response.last_successful_analysis);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
case 4:
|
|
76
|
-
case "end":
|
|
77
|
-
return _context3.stop();
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}, _callee3);
|
|
81
|
-
}));
|
|
82
|
-
return _queryQuizAnalysis.apply(this, arguments);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
function queryItemAnalyses() {
|
|
86
|
-
return _queryItemAnalyses.apply(this, arguments);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
function _queryItemAnalyses() {
|
|
90
|
-
_queryItemAnalyses = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
91
|
-
var response;
|
|
92
|
-
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
93
|
-
while (1) {
|
|
94
|
-
switch (_context4.prev = _context4.next) {
|
|
95
|
-
case 0:
|
|
96
|
-
_context4.next = 2;
|
|
97
|
-
return fetchItemAnalyses(activeQuizId);
|
|
98
|
-
|
|
99
|
-
case 2:
|
|
100
|
-
response = _context4.sent;
|
|
101
|
-
|
|
102
|
-
if (response) {
|
|
103
|
-
setItemAnalyses(response.last_successful_analysis);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
case 4:
|
|
107
|
-
case "end":
|
|
108
|
-
return _context4.stop();
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}, _callee4);
|
|
112
|
-
}));
|
|
113
|
-
return _queryItemAnalyses.apply(this, arguments);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
function generateReports() {
|
|
117
|
-
return _generateReports.apply(this, arguments);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
function _generateReports() {
|
|
121
|
-
_generateReports = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
|
|
122
|
-
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
123
|
-
while (1) {
|
|
124
|
-
switch (_context5.prev = _context5.next) {
|
|
125
|
-
case 0:
|
|
126
|
-
case "end":
|
|
127
|
-
return _context5.stop();
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}, _callee5);
|
|
131
|
-
}));
|
|
132
56
|
return _generateReports.apply(this, arguments);
|
|
133
57
|
}
|
|
134
58
|
|
|
@@ -148,7 +72,7 @@ export var withAnalysisStatePresenter = function withAnalysisStatePresenter(Orig
|
|
|
148
72
|
}
|
|
149
73
|
|
|
150
74
|
_context.next = 4;
|
|
151
|
-
return fetchReports();
|
|
75
|
+
return fetchReports(reportFetchingConfig);
|
|
152
76
|
|
|
153
77
|
case 4:
|
|
154
78
|
case "end":
|
|
@@ -189,6 +113,7 @@ export var withAnalysisStatePresenter = function withAnalysisStatePresenter(Orig
|
|
|
189
113
|
activeQuizId: PropTypes.string.isRequired,
|
|
190
114
|
fetchQuizAnalysis: PropTypes.func.isRequired,
|
|
191
115
|
fetchItemAnalyses: PropTypes.func.isRequired,
|
|
116
|
+
addError: PropTypes.func.isRequired,
|
|
192
117
|
// can be required after passed from LTI
|
|
193
118
|
generateReport: PropTypes.func
|
|
194
119
|
};
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js
CHANGED
|
@@ -44,16 +44,16 @@ var _propTypes = require("../propTypes.js");
|
|
|
44
44
|
var _dec, _class, _class2, _temp;
|
|
45
45
|
|
|
46
46
|
var styles = {
|
|
47
|
-
componentId: '
|
|
47
|
+
componentId: 'bnEXV',
|
|
48
48
|
template: function template(theme) {
|
|
49
|
-
return "\n\n.
|
|
49
|
+
return "\n\n.bnEXV_eDnN{display:flex;justify-content:space-between;padding-bottom:".concat(theme.headingPadding || 'inherit', "}\n\n.bnEXV_eKXQ{padding:").concat(theme.cardWrapperPadding || 'inherit', ";position:relative}\n\n.bnEXV_crZr{padding-top:").concat(theme.metricGroupPaddingTop || 'inherit', "}\n\n.bnEXV_bTHH{position:absolute;right:").concat(theme.viewPadding || 'inherit', ";top:").concat(theme.viewPadding || 'inherit', "}\n\n.bnEXV_dPzc,.bnEXV_cpZE{column-gap:").concat(theme.metricsColumnGap || 'inherit', ";display:flex;flex-wrap:wrap;justify-content:flex-start;row-gap:1.5rem}");
|
|
50
50
|
},
|
|
51
|
-
'heading': '
|
|
52
|
-
'cardWrapper': '
|
|
53
|
-
'container': '
|
|
54
|
-
'expandButtonContainer': '
|
|
55
|
-
'metricGroup': '
|
|
56
|
-
'metricsWrapper': '
|
|
51
|
+
'heading': 'bnEXV_eDnN',
|
|
52
|
+
'cardWrapper': 'bnEXV_eKXQ',
|
|
53
|
+
'container': 'bnEXV_crZr',
|
|
54
|
+
'expandButtonContainer': 'bnEXV_bTHH',
|
|
55
|
+
'metricGroup': 'bnEXV_dPzc',
|
|
56
|
+
'metricsWrapper': 'bnEXV_cpZE'
|
|
57
57
|
};
|
|
58
58
|
var stdDevPopoverTexts = {
|
|
59
59
|
title: 'Lorem ipsum ',
|
|
@@ -98,12 +98,7 @@ var NewQuizAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
98
98
|
className: styles.container
|
|
99
99
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
100
100
|
className: styles.metricGroup
|
|
101
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
102
|
-
metricKey: "median_percentage",
|
|
103
|
-
label: (0, _formatMessage.default)('Median Score'),
|
|
104
|
-
value: _formatMessage.default.number(scores === null || scores === void 0 ? void 0 : scores.median_percentage),
|
|
105
|
-
suffix: "%"
|
|
106
|
-
}), /*#__PURE__*/_react.default.createElement(_index3.default, {
|
|
101
|
+
}, /*#__PURE__*/_react.default.createElement(_index3.default, {
|
|
107
102
|
metricKey: "stddev",
|
|
108
103
|
value: _formatMessage.default.number(scores === null || scores === void 0 ? void 0 : scores.stddev),
|
|
109
104
|
label: (0, _formatMessage.default)('Standard Deviation'),
|
|
@@ -156,9 +151,10 @@ var NewQuizAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
156
151
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
157
152
|
className: styles.metricsWrapper
|
|
158
153
|
}, /*#__PURE__*/_react.default.createElement(_index4.default, {
|
|
159
|
-
metricKey: "
|
|
160
|
-
label: (0, _formatMessage.default)('
|
|
161
|
-
value: _formatMessage.default.number(
|
|
154
|
+
metricKey: "median_percentage",
|
|
155
|
+
label: (0, _formatMessage.default)('Median Score'),
|
|
156
|
+
value: _formatMessage.default.number(scores === null || scores === void 0 ? void 0 : scores.median_percentage),
|
|
157
|
+
suffix: "%"
|
|
162
158
|
}), /*#__PURE__*/_react.default.createElement(_index4.default, {
|
|
163
159
|
metricKey: "mean_elapsed_sec",
|
|
164
160
|
label: (0, _formatMessage.default)('mean elapsed time'),
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.getLastReportGenerationFailed = exports.getFailedToFetchReports = void 0;
|
|
9
|
+
|
|
10
|
+
var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
|
|
11
|
+
|
|
12
|
+
var getFailedToFetchReports = function getFailedToFetchReports() {
|
|
13
|
+
return (0, _formatMessage.default)('An error has occurred while loading this report. Please try again.');
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.getFailedToFetchReports = getFailedToFetchReports;
|
|
17
|
+
|
|
18
|
+
var getLastReportGenerationFailed = function getLastReportGenerationFailed() {
|
|
19
|
+
return (0, _formatMessage.default)('Report generation failed. Please try again.');
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.getLastReportGenerationFailed = getLastReportGenerationFailed;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.fetchReports = void 0;
|
|
9
|
+
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
16
|
+
var _errorMessages = require("./errorMessages.js");
|
|
17
|
+
|
|
18
|
+
var fetchReports = /*#__PURE__*/function () {
|
|
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;
|
|
21
|
+
|
|
22
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
23
|
+
while (1) {
|
|
24
|
+
switch (_context.prev = _context.next) {
|
|
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;
|
|
27
|
+
_context.prev = 1;
|
|
28
|
+
setFetchInProgress(true);
|
|
29
|
+
_context.next = 5;
|
|
30
|
+
return Promise.all([fetchQuizAnalysis(activeQuizId), fetchItemAnalyses(activeQuizId)]);
|
|
31
|
+
|
|
32
|
+
case 5:
|
|
33
|
+
_yield$Promise$all = _context.sent;
|
|
34
|
+
_yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
|
|
35
|
+
quizAnalysis = _yield$Promise$all2[0];
|
|
36
|
+
itemAnalyses = _yield$Promise$all2[1];
|
|
37
|
+
setQuizAnalysis(quizAnalysis.last_successful_analysis);
|
|
38
|
+
setItemAnalyses(itemAnalyses.last_successful_analysis);
|
|
39
|
+
setGenerationInProgress(quizAnalysis.new_analysis_in_progress || itemAnalyses.new_analysis_in_progress);
|
|
40
|
+
|
|
41
|
+
if (quizAnalysis.last_analysis_failed || itemAnalyses.last_analysis_failed) {
|
|
42
|
+
setAnalysisError((0, _errorMessages.getLastReportGenerationFailed)());
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
_context.next = 18;
|
|
46
|
+
break;
|
|
47
|
+
|
|
48
|
+
case 15:
|
|
49
|
+
_context.prev = 15;
|
|
50
|
+
_context.t0 = _context["catch"](1);
|
|
51
|
+
addError((0, _errorMessages.getFailedToFetchReports)());
|
|
52
|
+
|
|
53
|
+
case 18:
|
|
54
|
+
_context.prev = 18;
|
|
55
|
+
setFetchInProgress(false);
|
|
56
|
+
return _context.finish(18);
|
|
57
|
+
|
|
58
|
+
case 21:
|
|
59
|
+
case "end":
|
|
60
|
+
return _context.stop();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}, _callee, null, [[1, 15, 18, 21]]);
|
|
64
|
+
}));
|
|
65
|
+
|
|
66
|
+
return function fetchReports(_x) {
|
|
67
|
+
return _ref2.apply(this, arguments);
|
|
68
|
+
};
|
|
69
|
+
}();
|
|
70
|
+
|
|
71
|
+
exports.fetchReports = fetchReports;
|
|
@@ -42,7 +42,7 @@ var itemAnalysisPropType = _propTypes.default.shape({
|
|
|
42
42
|
metadata: _propTypes.default.shape({
|
|
43
43
|
interaction_type: _propTypes.default.string,
|
|
44
44
|
item_body: _propTypes.default.string,
|
|
45
|
-
item_id: _propTypes.default.
|
|
45
|
+
item_id: _propTypes.default.number,
|
|
46
46
|
item_title: _propTypes.default.string
|
|
47
47
|
}),
|
|
48
48
|
scores: _propTypes.default.shape({
|
|
@@ -12,23 +12,28 @@ var _analyses = require("../../../../common/selectors/analyses.js");
|
|
|
12
12
|
|
|
13
13
|
var _analyses2 = require("../../../../common/actions/analyses.js");
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _getQuizAnalysis = require("../../../api/getQuizAnalysis.js");
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _getItemAnalyses = require("../../../api/getItemAnalyses.js");
|
|
18
18
|
|
|
19
19
|
var _reactRedux = require("../../../../common/react-redux.js");
|
|
20
20
|
|
|
21
21
|
var _redux = require("redux");
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
var _quizzes = require("../../../../common/selectors/quizzes.js");
|
|
24
|
+
|
|
25
|
+
var _alerts = require("../../../../common/actions/alerts.js");
|
|
26
|
+
|
|
27
|
+
function mapStateToProps(state, ownProps) {
|
|
24
28
|
return {
|
|
25
29
|
quizAnalysis: (0, _analyses.getQuizAnalysis)(state),
|
|
26
30
|
itemAnalyses: (0, _analyses.getItemAnalyses)(state),
|
|
27
31
|
fetchInProgress: (0, _analyses.getFetchInProgress)(state),
|
|
28
32
|
generationInProgress: (0, _analyses.getGenerationInProgress)(state),
|
|
29
33
|
analysisError: (0, _analyses.getAnalysisError)(state),
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
activeQuizId: ownProps.activeQuizId || (0, _quizzes.getActiveQuizId)(state),
|
|
35
|
+
fetchQuizAnalysis: _getQuizAnalysis.getQuizAnalysis,
|
|
36
|
+
fetchItemAnalyses: _getItemAnalyses.getItemAnalyses
|
|
32
37
|
};
|
|
33
38
|
}
|
|
34
39
|
|
|
@@ -37,7 +42,8 @@ var mapDispatchToProps = {
|
|
|
37
42
|
setItemAnalyses: _analyses2.setItemAnalyses,
|
|
38
43
|
setFetchInProgress: _analyses2.setFetchInProgress,
|
|
39
44
|
setGenerationInProgress: _analyses2.setGenerationInProgress,
|
|
40
|
-
setAnalysisError: _analyses2.setAnalysisError
|
|
45
|
+
setAnalysisError: _analyses2.setAnalysisError,
|
|
46
|
+
addError: _alerts.addError
|
|
41
47
|
};
|
|
42
48
|
var withAnalysisState = (0, _redux.compose)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps), _withAnalysisStatePresenter.withAnalysisStatePresenter);
|
|
43
49
|
exports.withAnalysisState = withAnalysisState;
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js
CHANGED
|
@@ -21,6 +21,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
21
21
|
|
|
22
22
|
var _propTypes2 = require("./propTypes.js");
|
|
23
23
|
|
|
24
|
+
var _fetchReports = require("./fetchReports.js");
|
|
25
|
+
|
|
24
26
|
var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalComponent) {
|
|
25
27
|
var WithAnalysisStatePresenter = function WithAnalysisStatePresenter(_ref) {
|
|
26
28
|
var quizAnalysis = _ref.quizAnalysis,
|
|
@@ -29,122 +31,45 @@ var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalCom
|
|
|
29
31
|
generationInProgress = _ref.generationInProgress,
|
|
30
32
|
analysisError = _ref.analysisError,
|
|
31
33
|
setQuizAnalysis = _ref.setQuizAnalysis,
|
|
34
|
+
addError = _ref.addError,
|
|
32
35
|
setItemAnalyses = _ref.setItemAnalyses,
|
|
33
36
|
setFetchInProgress = _ref.setFetchInProgress,
|
|
34
37
|
setGenerationInProgress = _ref.setGenerationInProgress,
|
|
35
38
|
setAnalysisError = _ref.setAnalysisError,
|
|
36
39
|
activeQuizId = _ref.activeQuizId,
|
|
40
|
+
generateReport = _ref.generateReport,
|
|
37
41
|
fetchQuizAnalysis = _ref.fetchQuizAnalysis,
|
|
38
42
|
fetchItemAnalyses = _ref.fetchItemAnalyses,
|
|
39
|
-
|
|
40
|
-
passThroughProps = (0, _objectWithoutProperties2.default)(_ref, ["quizAnalysis", "itemAnalyses", "fetchInProgress", "generationInProgress", "analysisError", "setQuizAnalysis", "setItemAnalyses", "setFetchInProgress", "setGenerationInProgress", "setAnalysisError", "activeQuizId", "fetchQuizAnalysis", "fetchItemAnalyses", "generateReport"]);
|
|
43
|
+
passThroughProps = (0, _objectWithoutProperties2.default)(_ref, ["quizAnalysis", "itemAnalyses", "fetchInProgress", "generationInProgress", "analysisError", "setQuizAnalysis", "addError", "setItemAnalyses", "setFetchInProgress", "setGenerationInProgress", "setAnalysisError", "activeQuizId", "generateReport", "fetchQuizAnalysis", "fetchItemAnalyses"]);
|
|
41
44
|
WithAnalysisStatePresenter.displayName = "WithAnalysisStatePresenter(".concat(OriginalComponent.displayName || OriginalComponent.name, ")");
|
|
45
|
+
var reportFetchingConfig = {
|
|
46
|
+
activeQuizId: activeQuizId,
|
|
47
|
+
addError: addError,
|
|
48
|
+
fetchQuizAnalysis: fetchQuizAnalysis,
|
|
49
|
+
fetchItemAnalyses: fetchItemAnalyses,
|
|
50
|
+
setAnalysisError: setAnalysisError,
|
|
51
|
+
setItemAnalyses: setItemAnalyses,
|
|
52
|
+
setGenerationInProgress: setGenerationInProgress,
|
|
53
|
+
setFetchInProgress: setFetchInProgress,
|
|
54
|
+
setQuizAnalysis: setQuizAnalysis
|
|
55
|
+
};
|
|
42
56
|
|
|
43
|
-
function
|
|
44
|
-
return
|
|
57
|
+
function generateReports() {
|
|
58
|
+
return _generateReports.apply(this, arguments);
|
|
45
59
|
}
|
|
46
60
|
|
|
47
|
-
function
|
|
48
|
-
|
|
61
|
+
function _generateReports() {
|
|
62
|
+
_generateReports = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
49
63
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
50
64
|
while (1) {
|
|
51
65
|
switch (_context2.prev = _context2.next) {
|
|
52
66
|
case 0:
|
|
53
|
-
_context2.next = 2;
|
|
54
|
-
return queryQuizAnalysis();
|
|
55
|
-
|
|
56
|
-
case 2:
|
|
57
|
-
_context2.next = 4;
|
|
58
|
-
return queryItemAnalyses();
|
|
59
|
-
|
|
60
|
-
case 4:
|
|
61
67
|
case "end":
|
|
62
68
|
return _context2.stop();
|
|
63
69
|
}
|
|
64
70
|
}
|
|
65
71
|
}, _callee2);
|
|
66
72
|
}));
|
|
67
|
-
return _fetchReports.apply(this, arguments);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
function queryQuizAnalysis() {
|
|
71
|
-
return _queryQuizAnalysis.apply(this, arguments);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
function _queryQuizAnalysis() {
|
|
75
|
-
_queryQuizAnalysis = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
76
|
-
var response;
|
|
77
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
78
|
-
while (1) {
|
|
79
|
-
switch (_context3.prev = _context3.next) {
|
|
80
|
-
case 0:
|
|
81
|
-
_context3.next = 2;
|
|
82
|
-
return fetchQuizAnalysis(activeQuizId);
|
|
83
|
-
|
|
84
|
-
case 2:
|
|
85
|
-
response = _context3.sent;
|
|
86
|
-
|
|
87
|
-
if (response) {
|
|
88
|
-
setQuizAnalysis(response.last_successful_analysis);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
case 4:
|
|
92
|
-
case "end":
|
|
93
|
-
return _context3.stop();
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}, _callee3);
|
|
97
|
-
}));
|
|
98
|
-
return _queryQuizAnalysis.apply(this, arguments);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
function queryItemAnalyses() {
|
|
102
|
-
return _queryItemAnalyses.apply(this, arguments);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
function _queryItemAnalyses() {
|
|
106
|
-
_queryItemAnalyses = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
|
|
107
|
-
var response;
|
|
108
|
-
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
109
|
-
while (1) {
|
|
110
|
-
switch (_context4.prev = _context4.next) {
|
|
111
|
-
case 0:
|
|
112
|
-
_context4.next = 2;
|
|
113
|
-
return fetchItemAnalyses(activeQuizId);
|
|
114
|
-
|
|
115
|
-
case 2:
|
|
116
|
-
response = _context4.sent;
|
|
117
|
-
|
|
118
|
-
if (response) {
|
|
119
|
-
setItemAnalyses(response.last_successful_analysis);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
case 4:
|
|
123
|
-
case "end":
|
|
124
|
-
return _context4.stop();
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}, _callee4);
|
|
128
|
-
}));
|
|
129
|
-
return _queryItemAnalyses.apply(this, arguments);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
function generateReports() {
|
|
133
|
-
return _generateReports.apply(this, arguments);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
function _generateReports() {
|
|
137
|
-
_generateReports = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
|
|
138
|
-
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
139
|
-
while (1) {
|
|
140
|
-
switch (_context5.prev = _context5.next) {
|
|
141
|
-
case 0:
|
|
142
|
-
case "end":
|
|
143
|
-
return _context5.stop();
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}, _callee5);
|
|
147
|
-
}));
|
|
148
73
|
return _generateReports.apply(this, arguments);
|
|
149
74
|
}
|
|
150
75
|
|
|
@@ -164,7 +89,7 @@ var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalCom
|
|
|
164
89
|
}
|
|
165
90
|
|
|
166
91
|
_context.next = 4;
|
|
167
|
-
return fetchReports();
|
|
92
|
+
return (0, _fetchReports.fetchReports)(reportFetchingConfig);
|
|
168
93
|
|
|
169
94
|
case 4:
|
|
170
95
|
case "end":
|
|
@@ -205,6 +130,7 @@ var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalCom
|
|
|
205
130
|
activeQuizId: _propTypes.default.string.isRequired,
|
|
206
131
|
fetchQuizAnalysis: _propTypes.default.func.isRequired,
|
|
207
132
|
fetchItemAnalyses: _propTypes.default.func.isRequired,
|
|
133
|
+
addError: _propTypes.default.func.isRequired,
|
|
208
134
|
// can be required after passed from LTI
|
|
209
135
|
generateReport: _propTypes.default.func
|
|
210
136
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instructure/quiz-core",
|
|
3
|
-
"version": "17.63.
|
|
3
|
+
"version": "17.63.1-rc.1+70beebd5f",
|
|
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": "
|
|
45
|
-
"@instructure/quiz-i18n": "
|
|
46
|
-
"@instructure/quiz-interactions": "
|
|
47
|
-
"@instructure/quiz-number-input": "
|
|
48
|
-
"@instructure/quiz-rce": "
|
|
44
|
+
"@instructure/quiz-common": "17.63.1-rc.1+70beebd5f",
|
|
45
|
+
"@instructure/quiz-i18n": "17.63.1-rc.1+70beebd5f",
|
|
46
|
+
"@instructure/quiz-interactions": "17.63.1-rc.1+70beebd5f",
|
|
47
|
+
"@instructure/quiz-number-input": "17.63.1-rc.1+70beebd5f",
|
|
48
|
+
"@instructure/quiz-rce": "17.63.1-rc.1+70beebd5f",
|
|
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": "
|
|
109
|
+
"instructure-validations": "17.63.1-rc.1+70beebd5f",
|
|
110
110
|
"ipaddr.js": "^1.5.4",
|
|
111
111
|
"isomorphic-fetch": "^2.2.0",
|
|
112
112
|
"isuuid": "^0.1.0",
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
"uuid": "^3.2.1"
|
|
139
139
|
},
|
|
140
140
|
"devDependencies": {
|
|
141
|
-
"@instructure/quiz-scripts": "
|
|
141
|
+
"@instructure/quiz-scripts": "17.63.0",
|
|
142
142
|
"@instructure/ui-axe-check": "^7.20.0",
|
|
143
143
|
"@instructure/ui-babel-preset": "^7.20.0",
|
|
144
144
|
"@instructure/ui-karma-config": "^7.20.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": "
|
|
160
|
+
"quiz-presets": "17.63.1-rc.1+70beebd5f",
|
|
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": "70beebd5f9c207e03df9942938452b5389ef3881"
|
|
177
177
|
}
|