@instructure/quiz-core 17.60.1-rc.0 → 17.60.1-rc.2
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/AnalysisUpdateDate/index.js +53 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +2 -23
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/index.js +72 -20
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/theme.js +12 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +4 -12
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +23 -0
- package/es/reporting/components/resources/ReportCard/index.js +1 -1
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisUpdateDate/index.js +74 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +3 -24
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/index.js +77 -20
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/theme.js +19 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +4 -13
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/propTypes.js +35 -0
- package/lib/reporting/components/resources/ReportCard/index.js +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
|
+
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
4
|
+
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
5
|
+
import React, { Component } from 'react';
|
|
6
|
+
import PropTypes from 'prop-types';
|
|
7
|
+
import t from '@instructure/quiz-i18n/es/format-message';
|
|
8
|
+
import { displayDateAndTimeInTimezone } from "../../../../../common/util/formatTimespan.js";
|
|
9
|
+
import { Text } from '@instructure/ui-text';
|
|
10
|
+
import { Flex } from '@instructure/ui-flex';
|
|
11
|
+
export var AnalysisUpdateDate = /*#__PURE__*/function (_Component) {
|
|
12
|
+
_inherits(AnalysisUpdateDate, _Component);
|
|
13
|
+
|
|
14
|
+
var _super = _createSuper(AnalysisUpdateDate);
|
|
15
|
+
|
|
16
|
+
function AnalysisUpdateDate() {
|
|
17
|
+
_classCallCheck(this, AnalysisUpdateDate);
|
|
18
|
+
|
|
19
|
+
return _super.apply(this, arguments);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
_createClass(AnalysisUpdateDate, [{
|
|
23
|
+
key: "render",
|
|
24
|
+
value: function render() {
|
|
25
|
+
var _this$context = this.context,
|
|
26
|
+
timezone = _this$context.timezone,
|
|
27
|
+
locale = _this$context.locale;
|
|
28
|
+
var _this$props = this.props,
|
|
29
|
+
date = _this$props.date,
|
|
30
|
+
multiline = _this$props.multiline;
|
|
31
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
32
|
+
size: "x-small"
|
|
33
|
+
}, /*#__PURE__*/React.createElement(Flex, {
|
|
34
|
+
direction: multiline ? 'column' : 'row',
|
|
35
|
+
alignItems: "start"
|
|
36
|
+
}, /*#__PURE__*/React.createElement("b", null, t('Data Last Updated:'), "\xA0"), /*#__PURE__*/React.createElement("span", null, displayDateAndTimeInTimezone(date, timezone, locale))));
|
|
37
|
+
}
|
|
38
|
+
}]);
|
|
39
|
+
|
|
40
|
+
AnalysisUpdateDate.displayName = "AnalysisUpdateDate";
|
|
41
|
+
return AnalysisUpdateDate;
|
|
42
|
+
}(Component);
|
|
43
|
+
AnalysisUpdateDate.propTypes = {
|
|
44
|
+
date: PropTypes.string.isRequired,
|
|
45
|
+
multiline: PropTypes.bool
|
|
46
|
+
};
|
|
47
|
+
AnalysisUpdateDate.contextTypes = {
|
|
48
|
+
timezone: PropTypes.string,
|
|
49
|
+
locale: PropTypes.string
|
|
50
|
+
};
|
|
51
|
+
AnalysisUpdateDate.defaultProps = {
|
|
52
|
+
multiline: false
|
|
53
|
+
};
|
package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js
CHANGED
|
@@ -24,11 +24,11 @@ import ExpandButton from "../../../../../common/components/shared/ExpandButton/i
|
|
|
24
24
|
import { themeable } from '@instructure/ui-themeable';
|
|
25
25
|
import theme from "./theme.js";
|
|
26
26
|
import { formatTimeToFullNumeric } from "../../../../../common/util/formatTimespan.js";
|
|
27
|
-
import PropTypes from 'prop-types';
|
|
28
27
|
import Card from "../../../../../common/components/shared/Card/index.js";
|
|
29
28
|
import AnalysisPopoverMetric from "../AnalysisPopoverMetric/index.js";
|
|
30
29
|
import AnalysisMetric from "../AnalysisMetric/index.js";
|
|
31
30
|
import { ScoreDistribution } from "../charts/ScoreDistribution/presenter.js";
|
|
31
|
+
import { quizAnalysisPropType } from "../propTypes.js";
|
|
32
32
|
var stdDevPopoverTexts = {
|
|
33
33
|
title: 'Lorem ipsum ',
|
|
34
34
|
subtitle: 'subtitle',
|
|
@@ -152,28 +152,7 @@ export var NewQuizAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
152
152
|
NewQuizAnalysis.displayName = "NewQuizAnalysis";
|
|
153
153
|
return NewQuizAnalysis;
|
|
154
154
|
}(Component), _class2.propTypes = {
|
|
155
|
-
quizAnalysis:
|
|
156
|
-
created_timestamp: PropTypes.string.isRequired,
|
|
157
|
-
metadata: PropTypes.shape({
|
|
158
|
-
quiz_title: PropTypes.string
|
|
159
|
-
}).isRequired,
|
|
160
|
-
scores: PropTypes.shape({
|
|
161
|
-
decile_distribution: PropTypes.arrayOf(PropTypes.number),
|
|
162
|
-
cronbachs_alpha: PropTypes.number,
|
|
163
|
-
stddev: PropTypes.number,
|
|
164
|
-
median_percentage: PropTypes.number,
|
|
165
|
-
max_percentage: PropTypes.number,
|
|
166
|
-
min_percentage: PropTypes.number,
|
|
167
|
-
mean_percentage: PropTypes.number
|
|
168
|
-
}).isRequired,
|
|
169
|
-
attempts: PropTypes.shape({
|
|
170
|
-
mean_elapsed_sec: PropTypes.number,
|
|
171
|
-
students_completed: PropTypes.number,
|
|
172
|
-
students_not_finished: PropTypes.number,
|
|
173
|
-
students_without_attempt: PropTypes.number,
|
|
174
|
-
average_attempts: PropTypes.number
|
|
175
|
-
}).isRequired
|
|
176
|
-
}).isRequired
|
|
155
|
+
quizAnalysis: quizAnalysisPropType
|
|
177
156
|
}, _class2.defaultProps = {
|
|
178
157
|
quizAnalysis: {}
|
|
179
158
|
}, _temp)) || _class);
|
|
@@ -14,45 +14,95 @@ import { Flex } from '@instructure/ui-flex';
|
|
|
14
14
|
import { themeable } from '@instructure/ui-themeable';
|
|
15
15
|
import Card from "../../../../../common/components/shared/Card/index.js";
|
|
16
16
|
var styles = {
|
|
17
|
-
componentId: '
|
|
17
|
+
componentId: 'eJSiT',
|
|
18
18
|
template: function template(theme) {
|
|
19
|
-
return "\n\n.
|
|
19
|
+
return "\n\n.eJSiT_bqdH{column-gap:5px;display:flex;justify-content:space-between;padding:".concat(theme.metricsPadding || 'inherit', " 0}\n\n.eJSiT_fbIL{border-radius:").concat(theme.cardBorderRadius || 'inherit', ";box-shadow:").concat(theme.cardBoxShadow || 'inherit', ";display:inline-flex;flex-direction:column;margin:").concat(theme.cardMargin || 'inherit', ";padding:").concat(theme.cardPadding || 'inherit', ";width:").concat(theme.cardWidth || 'inherit', "}\n\n.eJSiT_blRb{max-width:160px;padding-right:10px}");
|
|
20
20
|
},
|
|
21
|
-
'
|
|
22
|
-
'
|
|
21
|
+
'metricsContainer': 'eJSiT_bqdH',
|
|
22
|
+
'card': 'eJSiT_fbIL',
|
|
23
|
+
'dateContainer': 'eJSiT_blRb'
|
|
23
24
|
};
|
|
24
|
-
import theme from "
|
|
25
|
+
import theme from "./theme.js";
|
|
26
|
+
import AnalysisMetric from "../AnalysisMetric/index.js";
|
|
27
|
+
import Spinner from "../../../../../common/components/shared/spinner/Spinner.js";
|
|
28
|
+
import { AnalysisUpdateDate } from "../AnalysisUpdateDate/index.js";
|
|
29
|
+
import { quizAnalysisPropType } from "../propTypes.js";
|
|
30
|
+
|
|
31
|
+
var _ref = /*#__PURE__*/React.createElement(Spinner, null);
|
|
32
|
+
|
|
25
33
|
export var NewQuizAndItemAnalysisReportCard = (_dec = themeable(theme, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
26
34
|
_inherits(NewQuizAndItemAnalysisReportCard, _Component);
|
|
27
35
|
|
|
28
36
|
var _super = _createSuper(NewQuizAndItemAnalysisReportCard);
|
|
29
37
|
|
|
30
38
|
function NewQuizAndItemAnalysisReportCard() {
|
|
39
|
+
var _this;
|
|
40
|
+
|
|
31
41
|
_classCallCheck(this, NewQuizAndItemAnalysisReportCard);
|
|
32
42
|
|
|
33
|
-
|
|
43
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
44
|
+
args[_key] = arguments[_key];
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
48
|
+
|
|
49
|
+
_this.renderMetrics = function () {
|
|
50
|
+
var _quizAnalysis$scores, _quizAnalysis$scores2, _quizAnalysis$scores3;
|
|
51
|
+
|
|
52
|
+
var quizAnalysis = _this.props.quizAnalysis;
|
|
53
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
54
|
+
className: styles.metricsContainer
|
|
55
|
+
}, /*#__PURE__*/React.createElement(AnalysisMetric, {
|
|
56
|
+
metricKey: "highscore",
|
|
57
|
+
label: t('high score'),
|
|
58
|
+
value: (_quizAnalysis$scores = quizAnalysis.scores) === null || _quizAnalysis$scores === void 0 ? void 0 : _quizAnalysis$scores.max_percentage,
|
|
59
|
+
suffix: "%"
|
|
60
|
+
}), /*#__PURE__*/React.createElement(AnalysisMetric, {
|
|
61
|
+
metricKey: "lowscore",
|
|
62
|
+
label: t('low score'),
|
|
63
|
+
value: (_quizAnalysis$scores2 = quizAnalysis.scores) === null || _quizAnalysis$scores2 === void 0 ? void 0 : _quizAnalysis$scores2.min_percentage,
|
|
64
|
+
suffix: "%"
|
|
65
|
+
}), /*#__PURE__*/React.createElement(AnalysisMetric, {
|
|
66
|
+
metricKey: "meanscore",
|
|
67
|
+
label: t('mean score'),
|
|
68
|
+
value: (_quizAnalysis$scores3 = quizAnalysis.scores) === null || _quizAnalysis$scores3 === void 0 ? void 0 : _quizAnalysis$scores3.mean_percentage,
|
|
69
|
+
suffix: "%"
|
|
70
|
+
}));
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
return _this;
|
|
34
74
|
}
|
|
35
75
|
|
|
36
76
|
_createClass(NewQuizAndItemAnalysisReportCard, [{
|
|
37
|
-
key: "
|
|
38
|
-
value: function
|
|
77
|
+
key: "renderContent",
|
|
78
|
+
value: function renderContent() {
|
|
39
79
|
var _this$props = this.props,
|
|
40
80
|
name = _this$props.name,
|
|
41
|
-
href = _this$props.href
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}, /*#__PURE__*/React.createElement(Flex, {
|
|
45
|
-
direction: "column"
|
|
46
|
-
}, /*#__PURE__*/React.createElement(Flex.Item, null, /*#__PURE__*/React.createElement(Text, {
|
|
81
|
+
href = _this$props.href,
|
|
82
|
+
quizAnalysis = _this$props.quizAnalysis;
|
|
83
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
|
|
47
84
|
size: "medium",
|
|
48
85
|
weight: "bold"
|
|
49
|
-
}, name)), /*#__PURE__*/React.createElement(Flex
|
|
50
|
-
|
|
51
|
-
|
|
86
|
+
}, name), this.renderMetrics(), /*#__PURE__*/React.createElement(Flex, {
|
|
87
|
+
direction: "row",
|
|
88
|
+
justifyItems: "space-between"
|
|
89
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
90
|
+
className: styles.dateContainer
|
|
91
|
+
}, /*#__PURE__*/React.createElement(AnalysisUpdateDate, {
|
|
92
|
+
date: quizAnalysis.created_timestamp,
|
|
93
|
+
multiline: true
|
|
94
|
+
})), /*#__PURE__*/React.createElement(Link, {
|
|
52
95
|
href: href
|
|
53
96
|
}, /*#__PURE__*/React.createElement(Text, {
|
|
54
97
|
size: "small"
|
|
55
|
-
}, t('View Report')))))
|
|
98
|
+
}, t('View Report')))));
|
|
99
|
+
}
|
|
100
|
+
}, {
|
|
101
|
+
key: "render",
|
|
102
|
+
value: function render() {
|
|
103
|
+
return /*#__PURE__*/React.createElement(Card, {
|
|
104
|
+
className: styles.card
|
|
105
|
+
}, this.props.quizAnalysis ? this.renderContent() : _ref);
|
|
56
106
|
}
|
|
57
107
|
}]);
|
|
58
108
|
|
|
@@ -60,9 +110,11 @@ export var NewQuizAndItemAnalysisReportCard = (_dec = themeable(theme, styles),
|
|
|
60
110
|
return NewQuizAndItemAnalysisReportCard;
|
|
61
111
|
}(Component), _class2.propTypes = {
|
|
62
112
|
name: PropTypes.node,
|
|
63
|
-
href: PropTypes.string
|
|
113
|
+
href: PropTypes.string,
|
|
114
|
+
quizAnalysis: quizAnalysisPropType
|
|
64
115
|
}, _class2.defaultProps = {
|
|
65
116
|
name: void 0,
|
|
66
|
-
href: void 0
|
|
117
|
+
href: void 0,
|
|
118
|
+
quizAnalysis: {}
|
|
67
119
|
}, _temp)) || _class);
|
|
68
120
|
export default NewQuizAndItemAnalysisReportCard;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export default function generator(_ref) {
|
|
2
|
+
var spacing = _ref.spacing,
|
|
3
|
+
borders = _ref.borders;
|
|
4
|
+
return {
|
|
5
|
+
metricsPadding: spacing.medium,
|
|
6
|
+
cardWidth: '16rem',
|
|
7
|
+
cardPadding: spacing.medium,
|
|
8
|
+
cardMargin: spacing.xSmall,
|
|
9
|
+
cardBoxShadow: '1px 1px 3px 0 #ddd',
|
|
10
|
+
cardBorderRadius: borders.radiusMedium
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -11,9 +11,8 @@ import NewItemAnalysis from "./NewItemAnalysis/index.js";
|
|
|
11
11
|
import Spinner from "../../../../common/components/shared/spinner/Spinner.js";
|
|
12
12
|
import NewQuizAnalysis from "./NewQuizAnalysis/index.js";
|
|
13
13
|
import t from '@instructure/quiz-i18n/es/format-message';
|
|
14
|
-
import { Text } from '@instructure/ui-text';
|
|
15
14
|
import { Flex } from '@instructure/ui-flex';
|
|
16
|
-
import {
|
|
15
|
+
import { AnalysisUpdateDate } from "./AnalysisUpdateDate/index.js";
|
|
17
16
|
|
|
18
17
|
var _ref3 = /*#__PURE__*/React.createElement(Spinner, null);
|
|
19
18
|
|
|
@@ -101,18 +100,15 @@ export var NewQuizAndItemAnalysis = /*#__PURE__*/function (_Component) {
|
|
|
101
100
|
var _this$state = this.state,
|
|
102
101
|
quizAnalysis = _this$state.quizAnalysis,
|
|
103
102
|
itemAnalyses = _this$state.itemAnalyses;
|
|
104
|
-
var _this$context = this.context,
|
|
105
|
-
timezone = _this$context.timezone,
|
|
106
|
-
locale = _this$context.locale;
|
|
107
103
|
return /*#__PURE__*/React.createElement("div", {
|
|
108
104
|
className: "fs-mask"
|
|
109
105
|
}, /*#__PURE__*/React.createElement(Flex, {
|
|
110
106
|
justifyItems: "end",
|
|
111
107
|
width: "82.5rem",
|
|
112
108
|
margin: "auto"
|
|
113
|
-
}, /*#__PURE__*/React.createElement(
|
|
114
|
-
|
|
115
|
-
}
|
|
109
|
+
}, /*#__PURE__*/React.createElement(AnalysisUpdateDate, {
|
|
110
|
+
date: quizAnalysis.created_timestamp
|
|
111
|
+
})), /*#__PURE__*/React.createElement(NewQuizAnalysis, {
|
|
116
112
|
quizAnalysis: quizAnalysis
|
|
117
113
|
}), /*#__PURE__*/React.createElement(Heading, {
|
|
118
114
|
level: "h3",
|
|
@@ -142,10 +138,6 @@ export var NewQuizAndItemAnalysis = /*#__PURE__*/function (_Component) {
|
|
|
142
138
|
NewQuizAndItemAnalysis.displayName = "NewQuizAndItemAnalysis";
|
|
143
139
|
return NewQuizAndItemAnalysis;
|
|
144
140
|
}(Component);
|
|
145
|
-
NewQuizAndItemAnalysis.contextTypes = {
|
|
146
|
-
timezone: PropTypes.string,
|
|
147
|
-
locale: PropTypes.string
|
|
148
|
-
};
|
|
149
141
|
NewQuizAndItemAnalysis.propTypes = {
|
|
150
142
|
activeQuizId: PropTypes.string.isRequired,
|
|
151
143
|
getQuizAnalysis: PropTypes.func.isRequired,
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
export var quizAnalysisPropType = PropTypes.shape({
|
|
3
|
+
created_timestamp: PropTypes.string.isRequired,
|
|
4
|
+
metadata: PropTypes.shape({
|
|
5
|
+
quiz_title: PropTypes.string
|
|
6
|
+
}).isRequired,
|
|
7
|
+
scores: PropTypes.shape({
|
|
8
|
+
decile_distribution: PropTypes.arrayOf(PropTypes.number),
|
|
9
|
+
cronbachs_alpha: PropTypes.number,
|
|
10
|
+
stddev: PropTypes.number,
|
|
11
|
+
median_percentage: PropTypes.number,
|
|
12
|
+
max_percentage: PropTypes.number,
|
|
13
|
+
min_percentage: PropTypes.number,
|
|
14
|
+
mean_percentage: PropTypes.number
|
|
15
|
+
}).isRequired,
|
|
16
|
+
attempts: PropTypes.shape({
|
|
17
|
+
mean_elapsed_sec: PropTypes.number,
|
|
18
|
+
students_completed: PropTypes.number,
|
|
19
|
+
students_not_finished: PropTypes.number,
|
|
20
|
+
students_without_attempt: PropTypes.number,
|
|
21
|
+
average_attempts: PropTypes.number
|
|
22
|
+
}).isRequired
|
|
23
|
+
}).isRequired;
|
|
@@ -12,7 +12,7 @@ import { Link } from '@instructure/ui-link';
|
|
|
12
12
|
import { themeable } from '@instructure/ui-themeable';
|
|
13
13
|
import Card from "../../../../common/components/shared/Card/index.js";
|
|
14
14
|
var styles = {
|
|
15
|
-
componentId: '
|
|
15
|
+
componentId: 'eRzKS',
|
|
16
16
|
template: function template(theme) {
|
|
17
17
|
return "\n\n.eRzKS_fbIL{border-radius:".concat(theme.cardBorderRadius || 'inherit', ";box-shadow:").concat(theme.cardBoxShadow || 'inherit', ";display:inline-flex;flex-direction:column;height:").concat(theme.cardHeight || 'inherit', ";margin:").concat(theme.cardMargin || 'inherit', ";padding:").concat(theme.cardPadding || 'inherit', ";width:").concat(theme.cardWidth || 'inherit', "}\n\n.eRzKS_ebWM{padding-top:").concat(theme.detailPadding || 'inherit', "}");
|
|
18
18
|
},
|
|
@@ -0,0 +1,74 @@
|
|
|
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.AnalysisUpdateDate = void 0;
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
21
|
+
|
|
22
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
|
+
|
|
24
|
+
var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
|
|
25
|
+
|
|
26
|
+
var _formatTimespan = require("../../../../../common/util/formatTimespan.js");
|
|
27
|
+
|
|
28
|
+
var _uiText = require("@instructure/ui-text");
|
|
29
|
+
|
|
30
|
+
var _uiFlex = require("@instructure/ui-flex");
|
|
31
|
+
|
|
32
|
+
var AnalysisUpdateDate = /*#__PURE__*/function (_Component) {
|
|
33
|
+
(0, _inherits2.default)(AnalysisUpdateDate, _Component);
|
|
34
|
+
|
|
35
|
+
var _super = (0, _createSuper2.default)(AnalysisUpdateDate);
|
|
36
|
+
|
|
37
|
+
function AnalysisUpdateDate() {
|
|
38
|
+
(0, _classCallCheck2.default)(this, AnalysisUpdateDate);
|
|
39
|
+
return _super.apply(this, arguments);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
(0, _createClass2.default)(AnalysisUpdateDate, [{
|
|
43
|
+
key: "render",
|
|
44
|
+
value: function render() {
|
|
45
|
+
var _this$context = this.context,
|
|
46
|
+
timezone = _this$context.timezone,
|
|
47
|
+
locale = _this$context.locale;
|
|
48
|
+
var _this$props = this.props,
|
|
49
|
+
date = _this$props.date,
|
|
50
|
+
multiline = _this$props.multiline;
|
|
51
|
+
return /*#__PURE__*/_react.default.createElement(_uiText.Text, {
|
|
52
|
+
size: "x-small"
|
|
53
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
54
|
+
direction: multiline ? 'column' : 'row',
|
|
55
|
+
alignItems: "start"
|
|
56
|
+
}, /*#__PURE__*/_react.default.createElement("b", null, (0, _formatMessage.default)('Data Last Updated:'), "\xA0"), /*#__PURE__*/_react.default.createElement("span", null, (0, _formatTimespan.displayDateAndTimeInTimezone)(date, timezone, locale))));
|
|
57
|
+
}
|
|
58
|
+
}]);
|
|
59
|
+
AnalysisUpdateDate.displayName = "AnalysisUpdateDate";
|
|
60
|
+
return AnalysisUpdateDate;
|
|
61
|
+
}(_react.Component);
|
|
62
|
+
|
|
63
|
+
exports.AnalysisUpdateDate = AnalysisUpdateDate;
|
|
64
|
+
AnalysisUpdateDate.propTypes = {
|
|
65
|
+
date: _propTypes.default.string.isRequired,
|
|
66
|
+
multiline: _propTypes.default.bool
|
|
67
|
+
};
|
|
68
|
+
AnalysisUpdateDate.contextTypes = {
|
|
69
|
+
timezone: _propTypes.default.string,
|
|
70
|
+
locale: _propTypes.default.string
|
|
71
|
+
};
|
|
72
|
+
AnalysisUpdateDate.defaultProps = {
|
|
73
|
+
multiline: false
|
|
74
|
+
};
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js
CHANGED
|
@@ -31,8 +31,6 @@ var _theme = _interopRequireDefault(require("./theme.js"));
|
|
|
31
31
|
|
|
32
32
|
var _formatTimespan = require("../../../../../common/util/formatTimespan.js");
|
|
33
33
|
|
|
34
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
35
|
-
|
|
36
34
|
var _index2 = _interopRequireDefault(require("../../../../../common/components/shared/Card/index.js"));
|
|
37
35
|
|
|
38
36
|
var _index3 = _interopRequireDefault(require("../AnalysisPopoverMetric/index.js"));
|
|
@@ -41,6 +39,8 @@ var _index4 = _interopRequireDefault(require("../AnalysisMetric/index.js"));
|
|
|
41
39
|
|
|
42
40
|
var _presenter = require("../charts/ScoreDistribution/presenter.js");
|
|
43
41
|
|
|
42
|
+
var _propTypes = require("../propTypes.js");
|
|
43
|
+
|
|
44
44
|
var _dec, _class, _class2, _temp;
|
|
45
45
|
|
|
46
46
|
var styles = {
|
|
@@ -177,28 +177,7 @@ var NewQuizAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
177
177
|
NewQuizAnalysis.displayName = "NewQuizAnalysis";
|
|
178
178
|
return NewQuizAnalysis;
|
|
179
179
|
}(_react.Component), _class2.propTypes = {
|
|
180
|
-
quizAnalysis: _propTypes.
|
|
181
|
-
created_timestamp: _propTypes.default.string.isRequired,
|
|
182
|
-
metadata: _propTypes.default.shape({
|
|
183
|
-
quiz_title: _propTypes.default.string
|
|
184
|
-
}).isRequired,
|
|
185
|
-
scores: _propTypes.default.shape({
|
|
186
|
-
decile_distribution: _propTypes.default.arrayOf(_propTypes.default.number),
|
|
187
|
-
cronbachs_alpha: _propTypes.default.number,
|
|
188
|
-
stddev: _propTypes.default.number,
|
|
189
|
-
median_percentage: _propTypes.default.number,
|
|
190
|
-
max_percentage: _propTypes.default.number,
|
|
191
|
-
min_percentage: _propTypes.default.number,
|
|
192
|
-
mean_percentage: _propTypes.default.number
|
|
193
|
-
}).isRequired,
|
|
194
|
-
attempts: _propTypes.default.shape({
|
|
195
|
-
mean_elapsed_sec: _propTypes.default.number,
|
|
196
|
-
students_completed: _propTypes.default.number,
|
|
197
|
-
students_not_finished: _propTypes.default.number,
|
|
198
|
-
students_without_attempt: _propTypes.default.number,
|
|
199
|
-
average_attempts: _propTypes.default.number
|
|
200
|
-
}).isRequired
|
|
201
|
-
}).isRequired
|
|
180
|
+
quizAnalysis: _propTypes.quizAnalysisPropType
|
|
202
181
|
}, _class2.defaultProps = {
|
|
203
182
|
quizAnalysis: {}
|
|
204
183
|
}, _temp)) || _class);
|
|
@@ -33,58 +33,115 @@ var _uiThemeable = require("@instructure/ui-themeable");
|
|
|
33
33
|
|
|
34
34
|
var _index = _interopRequireDefault(require("../../../../../common/components/shared/Card/index.js"));
|
|
35
35
|
|
|
36
|
-
var _theme = _interopRequireDefault(require("
|
|
36
|
+
var _theme = _interopRequireDefault(require("./theme.js"));
|
|
37
|
+
|
|
38
|
+
var _index2 = _interopRequireDefault(require("../AnalysisMetric/index.js"));
|
|
39
|
+
|
|
40
|
+
var _Spinner = _interopRequireDefault(require("../../../../../common/components/shared/spinner/Spinner.js"));
|
|
41
|
+
|
|
42
|
+
var _index3 = require("../AnalysisUpdateDate/index.js");
|
|
43
|
+
|
|
44
|
+
var _propTypes2 = require("../propTypes.js");
|
|
37
45
|
|
|
38
46
|
var _dec, _class, _class2, _temp;
|
|
39
47
|
|
|
40
48
|
var styles = {
|
|
41
|
-
componentId: '
|
|
49
|
+
componentId: 'eJSiT',
|
|
42
50
|
template: function template(theme) {
|
|
43
|
-
return "\n\n.
|
|
51
|
+
return "\n\n.eJSiT_bqdH{column-gap:5px;display:flex;justify-content:space-between;padding:".concat(theme.metricsPadding || 'inherit', " 0}\n\n.eJSiT_fbIL{border-radius:").concat(theme.cardBorderRadius || 'inherit', ";box-shadow:").concat(theme.cardBoxShadow || 'inherit', ";display:inline-flex;flex-direction:column;margin:").concat(theme.cardMargin || 'inherit', ";padding:").concat(theme.cardPadding || 'inherit', ";width:").concat(theme.cardWidth || 'inherit', "}\n\n.eJSiT_blRb{max-width:160px;padding-right:10px}");
|
|
44
52
|
},
|
|
45
|
-
'
|
|
46
|
-
'
|
|
53
|
+
'metricsContainer': 'eJSiT_bqdH',
|
|
54
|
+
'card': 'eJSiT_fbIL',
|
|
55
|
+
'dateContainer': 'eJSiT_blRb'
|
|
47
56
|
};
|
|
57
|
+
|
|
58
|
+
var _ref = /*#__PURE__*/_react.default.createElement(_Spinner.default, null);
|
|
59
|
+
|
|
48
60
|
var NewQuizAndItemAnalysisReportCard = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
49
61
|
(0, _inherits2.default)(NewQuizAndItemAnalysisReportCard, _Component);
|
|
50
62
|
|
|
51
63
|
var _super = (0, _createSuper2.default)(NewQuizAndItemAnalysisReportCard);
|
|
52
64
|
|
|
53
65
|
function NewQuizAndItemAnalysisReportCard() {
|
|
66
|
+
var _this;
|
|
67
|
+
|
|
54
68
|
(0, _classCallCheck2.default)(this, NewQuizAndItemAnalysisReportCard);
|
|
55
|
-
|
|
69
|
+
|
|
70
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
71
|
+
args[_key] = arguments[_key];
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
75
|
+
|
|
76
|
+
_this.renderMetrics = function () {
|
|
77
|
+
var _quizAnalysis$scores, _quizAnalysis$scores2, _quizAnalysis$scores3;
|
|
78
|
+
|
|
79
|
+
var quizAnalysis = _this.props.quizAnalysis;
|
|
80
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
81
|
+
className: styles.metricsContainer
|
|
82
|
+
}, /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
83
|
+
metricKey: "highscore",
|
|
84
|
+
label: (0, _formatMessage.default)('high score'),
|
|
85
|
+
value: (_quizAnalysis$scores = quizAnalysis.scores) === null || _quizAnalysis$scores === void 0 ? void 0 : _quizAnalysis$scores.max_percentage,
|
|
86
|
+
suffix: "%"
|
|
87
|
+
}), /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
88
|
+
metricKey: "lowscore",
|
|
89
|
+
label: (0, _formatMessage.default)('low score'),
|
|
90
|
+
value: (_quizAnalysis$scores2 = quizAnalysis.scores) === null || _quizAnalysis$scores2 === void 0 ? void 0 : _quizAnalysis$scores2.min_percentage,
|
|
91
|
+
suffix: "%"
|
|
92
|
+
}), /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
93
|
+
metricKey: "meanscore",
|
|
94
|
+
label: (0, _formatMessage.default)('mean score'),
|
|
95
|
+
value: (_quizAnalysis$scores3 = quizAnalysis.scores) === null || _quizAnalysis$scores3 === void 0 ? void 0 : _quizAnalysis$scores3.mean_percentage,
|
|
96
|
+
suffix: "%"
|
|
97
|
+
}));
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
return _this;
|
|
56
101
|
}
|
|
57
102
|
|
|
58
103
|
(0, _createClass2.default)(NewQuizAndItemAnalysisReportCard, [{
|
|
59
|
-
key: "
|
|
60
|
-
value: function
|
|
104
|
+
key: "renderContent",
|
|
105
|
+
value: function renderContent() {
|
|
61
106
|
var _this$props = this.props,
|
|
62
107
|
name = _this$props.name,
|
|
63
|
-
href = _this$props.href
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
67
|
-
direction: "column"
|
|
68
|
-
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, /*#__PURE__*/_react.default.createElement(_uiText.Text, {
|
|
108
|
+
href = _this$props.href,
|
|
109
|
+
quizAnalysis = _this$props.quizAnalysis;
|
|
110
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_uiText.Text, {
|
|
69
111
|
size: "medium",
|
|
70
112
|
weight: "bold"
|
|
71
|
-
}, name)), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex
|
|
72
|
-
|
|
73
|
-
|
|
113
|
+
}, name), this.renderMetrics(), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
114
|
+
direction: "row",
|
|
115
|
+
justifyItems: "space-between"
|
|
116
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
117
|
+
className: styles.dateContainer
|
|
118
|
+
}, /*#__PURE__*/_react.default.createElement(_index3.AnalysisUpdateDate, {
|
|
119
|
+
date: quizAnalysis.created_timestamp,
|
|
120
|
+
multiline: true
|
|
121
|
+
})), /*#__PURE__*/_react.default.createElement(_uiLink.Link, {
|
|
74
122
|
href: href
|
|
75
123
|
}, /*#__PURE__*/_react.default.createElement(_uiText.Text, {
|
|
76
124
|
size: "small"
|
|
77
|
-
}, (0, _formatMessage.default)('View Report')))))
|
|
125
|
+
}, (0, _formatMessage.default)('View Report')))));
|
|
126
|
+
}
|
|
127
|
+
}, {
|
|
128
|
+
key: "render",
|
|
129
|
+
value: function render() {
|
|
130
|
+
return /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
131
|
+
className: styles.card
|
|
132
|
+
}, this.props.quizAnalysis ? this.renderContent() : _ref);
|
|
78
133
|
}
|
|
79
134
|
}]);
|
|
80
135
|
NewQuizAndItemAnalysisReportCard.displayName = "NewQuizAndItemAnalysisReportCard";
|
|
81
136
|
return NewQuizAndItemAnalysisReportCard;
|
|
82
137
|
}(_react.Component), _class2.propTypes = {
|
|
83
138
|
name: _propTypes.default.node,
|
|
84
|
-
href: _propTypes.default.string
|
|
139
|
+
href: _propTypes.default.string,
|
|
140
|
+
quizAnalysis: _propTypes2.quizAnalysisPropType
|
|
85
141
|
}, _class2.defaultProps = {
|
|
86
142
|
name: void 0,
|
|
87
|
-
href: void 0
|
|
143
|
+
href: void 0,
|
|
144
|
+
quizAnalysis: {}
|
|
88
145
|
}, _temp)) || _class);
|
|
89
146
|
exports.NewQuizAndItemAnalysisReportCard = NewQuizAndItemAnalysisReportCard;
|
|
90
147
|
var _default = NewQuizAndItemAnalysisReportCard;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = generator;
|
|
7
|
+
|
|
8
|
+
function generator(_ref) {
|
|
9
|
+
var spacing = _ref.spacing,
|
|
10
|
+
borders = _ref.borders;
|
|
11
|
+
return {
|
|
12
|
+
metricsPadding: spacing.medium,
|
|
13
|
+
cardWidth: '16rem',
|
|
14
|
+
cardPadding: spacing.medium,
|
|
15
|
+
cardMargin: spacing.xSmall,
|
|
16
|
+
cardBoxShadow: '1px 1px 3px 0 #ddd',
|
|
17
|
+
cardBorderRadius: borders.radiusMedium
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -35,11 +35,9 @@ var _index2 = _interopRequireDefault(require("./NewQuizAnalysis/index.js"));
|
|
|
35
35
|
|
|
36
36
|
var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
|
|
37
37
|
|
|
38
|
-
var _uiText = require("@instructure/ui-text");
|
|
39
|
-
|
|
40
38
|
var _uiFlex = require("@instructure/ui-flex");
|
|
41
39
|
|
|
42
|
-
var
|
|
40
|
+
var _index3 = require("./AnalysisUpdateDate/index.js");
|
|
43
41
|
|
|
44
42
|
var _ref3 = /*#__PURE__*/_react.default.createElement(_Spinner.default, null);
|
|
45
43
|
|
|
@@ -126,18 +124,15 @@ var NewQuizAndItemAnalysis = /*#__PURE__*/function (_Component) {
|
|
|
126
124
|
var _this$state = this.state,
|
|
127
125
|
quizAnalysis = _this$state.quizAnalysis,
|
|
128
126
|
itemAnalyses = _this$state.itemAnalyses;
|
|
129
|
-
var _this$context = this.context,
|
|
130
|
-
timezone = _this$context.timezone,
|
|
131
|
-
locale = _this$context.locale;
|
|
132
127
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
133
128
|
className: "fs-mask"
|
|
134
129
|
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
135
130
|
justifyItems: "end",
|
|
136
131
|
width: "82.5rem",
|
|
137
132
|
margin: "auto"
|
|
138
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
139
|
-
|
|
140
|
-
}
|
|
133
|
+
}, /*#__PURE__*/_react.default.createElement(_index3.AnalysisUpdateDate, {
|
|
134
|
+
date: quizAnalysis.created_timestamp
|
|
135
|
+
})), /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
141
136
|
quizAnalysis: quizAnalysis
|
|
142
137
|
}), /*#__PURE__*/_react.default.createElement(_uiHeading.Heading, {
|
|
143
138
|
level: "h3",
|
|
@@ -168,10 +163,6 @@ var NewQuizAndItemAnalysis = /*#__PURE__*/function (_Component) {
|
|
|
168
163
|
}(_react.Component);
|
|
169
164
|
|
|
170
165
|
exports.NewQuizAndItemAnalysis = NewQuizAndItemAnalysis;
|
|
171
|
-
NewQuizAndItemAnalysis.contextTypes = {
|
|
172
|
-
timezone: _propTypes.default.string,
|
|
173
|
-
locale: _propTypes.default.string
|
|
174
|
-
};
|
|
175
166
|
NewQuizAndItemAnalysis.propTypes = {
|
|
176
167
|
activeQuizId: _propTypes.default.string.isRequired,
|
|
177
168
|
getQuizAnalysis: _propTypes.default.func.isRequired,
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.quizAnalysisPropType = void 0;
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var quizAnalysisPropType = _propTypes.default.shape({
|
|
13
|
+
created_timestamp: _propTypes.default.string.isRequired,
|
|
14
|
+
metadata: _propTypes.default.shape({
|
|
15
|
+
quiz_title: _propTypes.default.string
|
|
16
|
+
}).isRequired,
|
|
17
|
+
scores: _propTypes.default.shape({
|
|
18
|
+
decile_distribution: _propTypes.default.arrayOf(_propTypes.default.number),
|
|
19
|
+
cronbachs_alpha: _propTypes.default.number,
|
|
20
|
+
stddev: _propTypes.default.number,
|
|
21
|
+
median_percentage: _propTypes.default.number,
|
|
22
|
+
max_percentage: _propTypes.default.number,
|
|
23
|
+
min_percentage: _propTypes.default.number,
|
|
24
|
+
mean_percentage: _propTypes.default.number
|
|
25
|
+
}).isRequired,
|
|
26
|
+
attempts: _propTypes.default.shape({
|
|
27
|
+
mean_elapsed_sec: _propTypes.default.number,
|
|
28
|
+
students_completed: _propTypes.default.number,
|
|
29
|
+
students_not_finished: _propTypes.default.number,
|
|
30
|
+
students_without_attempt: _propTypes.default.number,
|
|
31
|
+
average_attempts: _propTypes.default.number
|
|
32
|
+
}).isRequired
|
|
33
|
+
}).isRequired;
|
|
34
|
+
|
|
35
|
+
exports.quizAnalysisPropType = quizAnalysisPropType;
|
|
@@ -34,7 +34,7 @@ var _theme = _interopRequireDefault(require("./theme.js"));
|
|
|
34
34
|
var _dec, _class, _class2, _temp;
|
|
35
35
|
|
|
36
36
|
var styles = {
|
|
37
|
-
componentId: '
|
|
37
|
+
componentId: 'eRzKS',
|
|
38
38
|
template: function template(theme) {
|
|
39
39
|
return "\n\n.eRzKS_fbIL{border-radius:".concat(theme.cardBorderRadius || 'inherit', ";box-shadow:").concat(theme.cardBoxShadow || 'inherit', ";display:inline-flex;flex-direction:column;height:").concat(theme.cardHeight || 'inherit', ";margin:").concat(theme.cardMargin || 'inherit', ";padding:").concat(theme.cardPadding || 'inherit', ";width:").concat(theme.cardWidth || 'inherit', "}\n\n.eRzKS_ebWM{padding-top:").concat(theme.detailPadding || 'inherit', "}");
|
|
40
40
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instructure/quiz-core",
|
|
3
|
-
"version": "17.60.1-rc.
|
|
3
|
+
"version": "17.60.1-rc.2+2a414acab",
|
|
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.8",
|
|
44
|
-
"@instructure/quiz-common": "17.60.1-rc.
|
|
45
|
-
"@instructure/quiz-i18n": "17.60.1-rc.
|
|
46
|
-
"@instructure/quiz-interactions": "17.60.1-rc.
|
|
47
|
-
"@instructure/quiz-number-input": "17.60.1-rc.
|
|
48
|
-
"@instructure/quiz-rce": "17.60.1-rc.
|
|
44
|
+
"@instructure/quiz-common": "17.60.1-rc.2+2a414acab",
|
|
45
|
+
"@instructure/quiz-i18n": "17.60.1-rc.2+2a414acab",
|
|
46
|
+
"@instructure/quiz-interactions": "17.60.1-rc.2+2a414acab",
|
|
47
|
+
"@instructure/quiz-number-input": "17.60.1-rc.2+2a414acab",
|
|
48
|
+
"@instructure/quiz-rce": "17.60.1-rc.2+2a414acab",
|
|
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.60.1-rc.
|
|
109
|
+
"instructure-validations": "17.60.1-rc.2+2a414acab",
|
|
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.60.1-rc.
|
|
160
|
+
"quiz-presets": "17.60.1-rc.2+2a414acab",
|
|
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": "2a414acaba912ac12b7e31030142696d91666c13"
|
|
177
177
|
}
|