@instructure/quiz-core 17.63.1-rc.4 → 17.63.1-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +127 -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/errorMessages.js +3 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/generateReports.js +40 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js +21 -6
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +130 -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/errorMessages.js +8 -2
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/generateReports.js +55 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js +22 -6
- package/package.json +9 -9
package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js
CHANGED
|
@@ -9,27 +9,18 @@ var _dec, _class, _class2, _temp;
|
|
|
9
9
|
import { Heading } from '@instructure/ui-heading';
|
|
10
10
|
import React, { Component } from 'react';
|
|
11
11
|
var styles = {
|
|
12
|
-
componentId: '
|
|
12
|
+
componentId: 'bnyej',
|
|
13
13
|
template: function template(theme) {
|
|
14
|
-
return "\n\n.
|
|
14
|
+
return "\n\n.bnyej_eKXQ{padding:".concat(theme.cardWrapperPadding || 'inherit', ";position:relative}\n\n.bnyej_bwlc{align-items:flex-start;gap:24px;justify-content:space-between;row-gap:32px}\n\n.bnyej_bwlc,.bnyej_bqdH{display:flex;flex-direction:row;flex-wrap:wrap}\n\n.bnyej_bqdH{align-items:center;row-gap:24px}\n\n.bnyej_NpIG{position:absolute;right:").concat(theme.viewPaddingRight || 'inherit', ";top:").concat(theme.viewPaddingTop || 'inherit', "}\n\n.bnyej_eoBe{font-size:").concat(theme.metricNumberContextFontSize || 'inherit', ";font-weight:").concat(theme.metricNumberContextFontWeight || 'inherit', "}\n\n.bnyej_fFDJ{display:none}\n\n.bnyej_esVF{min-height:48px}\n\n.bnyej_eTZq{position:relative}\n\n.bnyej_eTZq:after{background:linear-gradient(180deg,hsla(0,0%,100%,0),#fff);content:\"\";height:48px;left:0;position:absolute;top:0;width:100%}");
|
|
15
15
|
},
|
|
16
|
-
'
|
|
17
|
-
'
|
|
18
|
-
'
|
|
19
|
-
'
|
|
20
|
-
'
|
|
21
|
-
'
|
|
22
|
-
'
|
|
23
|
-
'
|
|
24
|
-
'expandableInnerWrapper': 'bCOJX_pAQb',
|
|
25
|
-
'metricsWithControls': 'bCOJX_zefc',
|
|
26
|
-
'metricGroup': 'bCOJX_dPzc',
|
|
27
|
-
'metricsRow': 'bCOJX_dzph',
|
|
28
|
-
'metricsRowPaginated': 'bCOJX_eobd',
|
|
29
|
-
'itemCardToggleButtonWrapper': 'bCOJX_NpIG',
|
|
30
|
-
'expandableContent': 'bCOJX_csiQ',
|
|
31
|
-
'tableColumn': 'bCOJX_fjVl',
|
|
32
|
-
'performanceColumn': 'bCOJX_eZLI'
|
|
16
|
+
'cardWrapper': 'bnyej_eKXQ',
|
|
17
|
+
'itemCardInnerContainer': 'bnyej_bwlc',
|
|
18
|
+
'metricsContainer': 'bnyej_bqdH',
|
|
19
|
+
'itemCardToggleButtonWrapper': 'bnyej_NpIG',
|
|
20
|
+
'metricNumberContext': 'bnyej_eoBe',
|
|
21
|
+
'hiddenMetrics': 'bnyej_fFDJ',
|
|
22
|
+
'itemBody': 'bnyej_esVF',
|
|
23
|
+
'hiddenItemBody': 'bnyej_eTZq'
|
|
33
24
|
};
|
|
34
25
|
import t from '@instructure/quiz-i18n/es/format-message';
|
|
35
26
|
import ExpandButton from "../../../../../common/components/shared/ExpandButton/index.js";
|
|
@@ -44,6 +35,8 @@ import classnames from 'classnames';
|
|
|
44
35
|
import { interactionTypesNameDictionary } from "../../../../../common/util/interactionTypeMetadata.js";
|
|
45
36
|
import AnswerSummaryTable from "../AnswerSummaryTable/index.js";
|
|
46
37
|
import { itemAnalysisPropType } from "../propTypes.js";
|
|
38
|
+
import { RichContentRenderer } from '@instructure/quiz-rce';
|
|
39
|
+
import { Flex } from '@instructure/ui-flex';
|
|
47
40
|
var supportedTables = ['choice', 'true-false', 'multi-answer'];
|
|
48
41
|
export var NewItemAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
49
42
|
_inherits(NewItemAnalysis, _Component);
|
|
@@ -61,9 +54,7 @@ export var NewItemAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
61
54
|
|
|
62
55
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
63
56
|
_this.state = {
|
|
64
|
-
bodyToggable: false,
|
|
65
57
|
bodyExpanded: false,
|
|
66
|
-
itemExpanded: false,
|
|
67
58
|
metricsExpanded: false
|
|
68
59
|
};
|
|
69
60
|
|
|
@@ -74,39 +65,10 @@ export var NewItemAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
74
65
|
});
|
|
75
66
|
};
|
|
76
67
|
|
|
77
|
-
_this.
|
|
78
|
-
return "itemCardHeading-".concat(_this.props.itemAnalysis.metadata.item_id);
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
_this.buildItemCardBodyId = function () {
|
|
82
|
-
return "itemCardBody-".concat(_this.props.itemAnalysis.metadata.item_id);
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
_this.bodyExceedsLimit = function (bodyElement, headingElement) {
|
|
86
|
-
if (!bodyElement || !headingElement) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return bodyElement.scrollWidth > headingElement.clientWidth || _this.state.bodyExpanded;
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
_this.handleBodyWidth = function () {
|
|
94
|
-
var bodyElement = document.getElementById(_this.buildItemCardBodyId());
|
|
95
|
-
var headingElement = document.getElementById(_this.buildItemCardHeadingId());
|
|
96
|
-
|
|
97
|
-
_this.setState({
|
|
98
|
-
bodyToggable: _this.bodyExceedsLimit(bodyElement, headingElement)
|
|
99
|
-
});
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
_this.handleToggle = function () {
|
|
68
|
+
_this.handleMetricToggle = function () {
|
|
103
69
|
_this.setState({
|
|
104
70
|
metricsExpanded: !_this.state.metricsExpanded
|
|
105
71
|
});
|
|
106
|
-
|
|
107
|
-
_this.setState({
|
|
108
|
-
itemExpanded: !_this.state.itemExpanded
|
|
109
|
-
});
|
|
110
72
|
};
|
|
111
73
|
|
|
112
74
|
_this.handleBodyToggle = function () {
|
|
@@ -115,26 +77,6 @@ export var NewItemAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
115
77
|
});
|
|
116
78
|
};
|
|
117
79
|
|
|
118
|
-
_this.renderExpandItemCardButton = function () {
|
|
119
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
120
|
-
className: styles.itemCardToggleButtonWrapper
|
|
121
|
-
}, /*#__PURE__*/React.createElement(ExpandButton, {
|
|
122
|
-
onClick: _this.handleToggle,
|
|
123
|
-
title: _this.state.metricsExpanded ? t('collapse item card') : t('expand item card'),
|
|
124
|
-
isExpanded: _this.state.metricsExpanded
|
|
125
|
-
}));
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
_this.renderBodyToggleButton = function () {
|
|
129
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
130
|
-
className: styles.bodyExpandButtonWrapper
|
|
131
|
-
}, /*#__PURE__*/React.createElement(ExpandButton, {
|
|
132
|
-
onClick: _this.handleBodyToggle,
|
|
133
|
-
title: _this.state.bodyExpanded ? t('collapse question stem') : t('expand question stem'),
|
|
134
|
-
isExpanded: _this.state.bodyExpanded
|
|
135
|
-
}));
|
|
136
|
-
};
|
|
137
|
-
|
|
138
80
|
_this.calculateValueWithPointsPossible = function (metricKey, metricValue) {
|
|
139
81
|
var pointsPossible = _this.props.itemAnalysis.scores.points_possible;
|
|
140
82
|
return t.rich('{score, number}<s>/{possible, number} PTS</s>', {
|
|
@@ -150,103 +92,145 @@ export var NewItemAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
150
92
|
});
|
|
151
93
|
};
|
|
152
94
|
|
|
153
|
-
_this.
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
157
|
-
className: classes
|
|
158
|
-
}, /*#__PURE__*/React.createElement(AnalysisPopoverMetric, {
|
|
159
|
-
metricKey: "pearson_correlation",
|
|
160
|
-
label: t('Pearson Correlation Coefficient'),
|
|
161
|
-
value: t.number(scores.pearson_correlation),
|
|
162
|
-
popoverDescription: pearsonCorrelation
|
|
163
|
-
}));
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
return _this;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
_createClass(NewItemAnalysis, [{
|
|
170
|
-
key: "componentDidMount",
|
|
171
|
-
value: function componentDidMount() {
|
|
172
|
-
this.handleBodyWidth();
|
|
173
|
-
window.addEventListener('resize', this.handleBodyWidth);
|
|
174
|
-
}
|
|
175
|
-
}, {
|
|
176
|
-
key: "componentWillUnmount",
|
|
177
|
-
value: function componentWillUnmount() {
|
|
178
|
-
window.removeEventListener('resize', this.handleBodyWidth);
|
|
179
|
-
}
|
|
180
|
-
}, {
|
|
181
|
-
key: "render",
|
|
182
|
-
value: function render() {
|
|
183
|
-
var _this$props$itemAnaly = this.props.itemAnalysis,
|
|
184
|
-
answer_summary = _this$props$itemAnaly.answer_summary,
|
|
185
|
-
metadata = _this$props$itemAnaly.metadata,
|
|
186
|
-
scores = _this$props$itemAnaly.scores;
|
|
187
|
-
var bodyClass = classnames(styles.bodyExcerpt, _defineProperty({}, styles.bodyExcerptExpanded, this.state.bodyExpanded));
|
|
188
|
-
var headingId = this.buildItemCardHeadingId();
|
|
189
|
-
var bodyId = this.buildItemCardBodyId();
|
|
190
|
-
var isSupportedTable = supportedTables.includes(metadata.interaction_type);
|
|
191
|
-
return /*#__PURE__*/React.createElement(Card, {
|
|
192
|
-
className: styles.cardWrapper
|
|
193
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
194
|
-
className: styles.innerWrapper
|
|
195
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
196
|
-
id: headingId,
|
|
197
|
-
className: styles.heading
|
|
198
|
-
}, /*#__PURE__*/React.createElement(Heading, {
|
|
199
|
-
margin: "0 0 small 0",
|
|
95
|
+
_this.renderTitle = function (title) {
|
|
96
|
+
return /*#__PURE__*/React.createElement(Heading, {
|
|
97
|
+
margin: "0 x-large small 0",
|
|
200
98
|
level: "h3",
|
|
201
99
|
weight: "bold",
|
|
202
100
|
color: "primary"
|
|
203
|
-
},
|
|
101
|
+
}, title);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
_this.renderInteractionType = function (interactionType) {
|
|
105
|
+
return /*#__PURE__*/React.createElement(Text, {
|
|
204
106
|
size: "small",
|
|
205
107
|
weight: "bold",
|
|
206
108
|
transform: "capitalize"
|
|
207
|
-
},
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
109
|
+
}, _this.mapInteractionTypeToTranslation(interactionType));
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
_this.renderRichContent = function (itemBody, itemBodyClass) {
|
|
113
|
+
return /*#__PURE__*/React.createElement(Flex, {
|
|
114
|
+
direction: "row",
|
|
115
|
+
alignItems: "start"
|
|
116
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
117
|
+
shouldShrink: true,
|
|
118
|
+
shouldGrow: true
|
|
217
119
|
}, /*#__PURE__*/React.createElement("div", {
|
|
218
|
-
className:
|
|
120
|
+
className: itemBodyClass
|
|
121
|
+
}, /*#__PURE__*/React.createElement(RichContentRenderer, {
|
|
122
|
+
content: itemBody
|
|
123
|
+
}))), /*#__PURE__*/React.createElement(Flex.Item, {
|
|
124
|
+
margin: "xx-small small none x-small",
|
|
125
|
+
size: "38px"
|
|
126
|
+
}, /*#__PURE__*/React.createElement(ExpandButton, {
|
|
127
|
+
onClick: _this.handleBodyToggle,
|
|
128
|
+
title: _this.state.bodyExpanded ? t('collapse question stem') : t('expand question stem'),
|
|
129
|
+
isExpanded: _this.state.bodyExpanded
|
|
130
|
+
})));
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
_this.renderMetrics = function (scores, metricsClass) {
|
|
134
|
+
return /*#__PURE__*/React.createElement(Flex, {
|
|
135
|
+
direction: "column"
|
|
136
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
137
|
+
overflowY: "visible"
|
|
219
138
|
}, /*#__PURE__*/React.createElement("div", {
|
|
220
|
-
className: styles.
|
|
139
|
+
className: styles.metricsContainer
|
|
140
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
141
|
+
margin: "none medium none none"
|
|
221
142
|
}, /*#__PURE__*/React.createElement(AnalysisPopoverMetric, {
|
|
222
143
|
metricKey: "difficulty_index",
|
|
223
144
|
label: t('Item Difficulty'),
|
|
224
145
|
value: t.number(scores.difficulty_index),
|
|
225
146
|
popoverDescription: difficultyIndex
|
|
226
|
-
}), /*#__PURE__*/React.createElement(
|
|
147
|
+
})), /*#__PURE__*/React.createElement(Flex.Item, {
|
|
148
|
+
margin: "none medium none none"
|
|
149
|
+
}, /*#__PURE__*/React.createElement(AnalysisMetric, {
|
|
227
150
|
metricKey: "mean",
|
|
228
151
|
label: t('Mean Earned Points'),
|
|
229
|
-
value:
|
|
230
|
-
}), /*#__PURE__*/React.createElement(
|
|
152
|
+
value: _this.calculateValueWithPointsPossible('mean', scores.mean)
|
|
153
|
+
})), /*#__PURE__*/React.createElement(Flex.Item, {
|
|
154
|
+
margin: "none medium none none"
|
|
155
|
+
}, /*#__PURE__*/React.createElement(AnalysisMetric, {
|
|
231
156
|
metricKey: "median",
|
|
232
157
|
label: t('Median Earned Points'),
|
|
233
|
-
value:
|
|
234
|
-
}), /*#__PURE__*/React.createElement(
|
|
158
|
+
value: _this.calculateValueWithPointsPossible('median', scores.median)
|
|
159
|
+
})), /*#__PURE__*/React.createElement(Flex.Item, {
|
|
160
|
+
margin: "none large none none"
|
|
161
|
+
}, /*#__PURE__*/React.createElement(AnalysisPopoverMetric, {
|
|
235
162
|
metricKey: "discrimination_index",
|
|
236
163
|
label: t('Discrimination Index'),
|
|
237
164
|
value: t.number(scores.discrimination_index),
|
|
238
165
|
popoverDescription: discriminationIndex
|
|
239
|
-
})
|
|
240
|
-
|
|
166
|
+
})))), /*#__PURE__*/React.createElement(Flex.Item, {
|
|
167
|
+
overflowY: "visible",
|
|
168
|
+
margin: "medium none none none"
|
|
241
169
|
}, /*#__PURE__*/React.createElement("div", {
|
|
242
|
-
className:
|
|
170
|
+
className: metricsClass
|
|
243
171
|
}, /*#__PURE__*/React.createElement("div", {
|
|
244
|
-
className: styles.
|
|
245
|
-
},
|
|
172
|
+
className: styles.metricsContainer
|
|
173
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
174
|
+
margin: "none medium none none"
|
|
175
|
+
}, /*#__PURE__*/React.createElement(AnalysisPopoverMetric, {
|
|
176
|
+
metricKey: "pearson_correlation",
|
|
177
|
+
label: t('Pearson Correlation Coefficient'),
|
|
178
|
+
value: t.number(scores.pearson_correlation),
|
|
179
|
+
popoverDescription: pearsonCorrelation
|
|
180
|
+
}))))));
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
_this.renderAnswerSummaryTable = function (answer_summary, isSupportedTable, metricsClass) {
|
|
184
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
185
|
+
className: metricsClass
|
|
186
|
+
}, isSupportedTable && /*#__PURE__*/React.createElement(Flex, {
|
|
187
|
+
direction: "row"
|
|
188
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
189
|
+
size: "55%"
|
|
190
|
+
}, /*#__PURE__*/React.createElement(AnswerSummaryTable, {
|
|
246
191
|
answerSummary: answer_summary
|
|
247
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
248
|
-
className: styles.performanceColumn
|
|
249
192
|
}))));
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
return _this;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
_createClass(NewItemAnalysis, [{
|
|
199
|
+
key: "render",
|
|
200
|
+
value: function render() {
|
|
201
|
+
var _this$props$itemAnaly = this.props.itemAnalysis,
|
|
202
|
+
answer_summary = _this$props$itemAnaly.answer_summary,
|
|
203
|
+
metadata = _this$props$itemAnaly.metadata,
|
|
204
|
+
scores = _this$props$itemAnaly.scores;
|
|
205
|
+
var isSupportedTable = supportedTables.includes(metadata.interaction_type);
|
|
206
|
+
var metricsClass = classnames(_defineProperty({}, styles.hiddenMetrics, !this.state.metricsExpanded));
|
|
207
|
+
var itemBodyClass = classnames(styles.itemBody, _defineProperty({}, styles.hiddenItemBody, !this.state.bodyExpanded));
|
|
208
|
+
return /*#__PURE__*/React.createElement(Card, {
|
|
209
|
+
className: styles.cardWrapper
|
|
210
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
211
|
+
className: styles.itemCardToggleButtonWrapper
|
|
212
|
+
}, /*#__PURE__*/React.createElement(ExpandButton, {
|
|
213
|
+
onClick: this.handleMetricToggle,
|
|
214
|
+
title: this.state.metricsExpanded ? t('collapse item card') : t('expand item card'),
|
|
215
|
+
isExpanded: this.state.metricsExpanded
|
|
216
|
+
})), /*#__PURE__*/React.createElement(Flex, {
|
|
217
|
+
direction: "column"
|
|
218
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
219
|
+
overflowY: "visible"
|
|
220
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
221
|
+
className: styles.itemCardInnerContainer
|
|
222
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, {
|
|
223
|
+
shouldGrow: true,
|
|
224
|
+
shouldShrink: true,
|
|
225
|
+
size: "45%"
|
|
226
|
+
}, /*#__PURE__*/React.createElement(Flex, {
|
|
227
|
+
direction: "column",
|
|
228
|
+
justifyItems: "start"
|
|
229
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, null, this.renderTitle(metadata.item_title)), /*#__PURE__*/React.createElement(Flex.Item, null, this.renderInteractionType(metadata.interaction_type)), /*#__PURE__*/React.createElement(Flex.Item, {
|
|
230
|
+
shouldShrink: true,
|
|
231
|
+
overflowY: "hidden",
|
|
232
|
+
size: !this.state.bodyExpanded ? '48px' : void 0
|
|
233
|
+
}, this.renderRichContent(metadata.item_body, itemBodyClass)))), /*#__PURE__*/React.createElement(Flex.Item, null, this.renderMetrics(scores, metricsClass)))), /*#__PURE__*/React.createElement(Flex.Item, null, this.renderAnswerSummaryTable(answer_summary, isSupportedTable, metricsClass))));
|
|
250
234
|
}
|
|
251
235
|
}]);
|
|
252
236
|
|
|
@@ -5,7 +5,8 @@ export default function generator(_ref) {
|
|
|
5
5
|
return {
|
|
6
6
|
tabletBreakPoint: "max-width: ".concat(breakpoints.large),
|
|
7
7
|
cardWrapperPadding: spacing.medium,
|
|
8
|
-
|
|
8
|
+
viewPaddingRight: spacing.large,
|
|
9
|
+
viewPaddingTop: spacing.medium,
|
|
9
10
|
metricNumberContextFontSize: typography.fontSizeMedium,
|
|
10
11
|
metricNumberContextFontWeight: typography.fontWeightNormal
|
|
11
12
|
};
|
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: 'fQZVs',
|
|
12
12
|
template: function template(theme) {
|
|
13
|
-
return "\n\n.
|
|
13
|
+
return "\n\n.fQZVs_eDnN{display:flex;justify-content:space-between;padding-bottom:".concat(theme.headingPadding || 'inherit', "}\n\n.fQZVs_eKXQ{padding:").concat(theme.cardWrapperPadding || 'inherit', ";position:relative}\n\n.fQZVs_crZr{padding-top:").concat(theme.metricGroupPaddingTop || 'inherit', "}\n\n.fQZVs_bTHH{position:absolute;right:").concat(theme.viewPaddingRight || 'inherit', ";top:").concat(theme.viewPaddingTop || 'inherit', "}\n\n.fQZVs_dPzc,.fQZVs_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': 'fQZVs_eDnN',
|
|
16
|
+
'cardWrapper': 'fQZVs_eKXQ',
|
|
17
|
+
'container': 'fQZVs_crZr',
|
|
18
|
+
'expandButtonContainer': 'fQZVs_bTHH',
|
|
19
|
+
'metricGroup': 'fQZVs_dPzc',
|
|
20
|
+
'metricsWrapper': 'fQZVs_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";
|
|
@@ -102,6 +102,7 @@ export var NewQuizAnalysis = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
102
102
|
className: styles.heading
|
|
103
103
|
}, /*#__PURE__*/React.createElement(Heading, {
|
|
104
104
|
level: "h4",
|
|
105
|
+
margin: "0 x-large 0 0",
|
|
105
106
|
color: "primary"
|
|
106
107
|
}, t('Quiz summary:'), " ", metadata === null || metadata === void 0 ? void 0 : metadata.quiz_title)), /*#__PURE__*/React.createElement("div", {
|
|
107
108
|
className: styles.metricGroup
|
|
@@ -2,7 +2,8 @@ export default function generator(_ref) {
|
|
|
2
2
|
var spacing = _ref.spacing;
|
|
3
3
|
return {
|
|
4
4
|
metricGroupPaddingTop: spacing.medium,
|
|
5
|
-
|
|
5
|
+
viewPaddingRight: spacing.large,
|
|
6
|
+
viewPaddingTop: spacing.medium,
|
|
6
7
|
headingPadding: spacing.medium,
|
|
7
8
|
cardWrapperPadding: spacing.medium,
|
|
8
9
|
metricsColumnGap: '82px'
|
|
@@ -4,4 +4,7 @@ export var getFailedToFetchReports = function getFailedToFetchReports() {
|
|
|
4
4
|
};
|
|
5
5
|
export var getLastReportGenerationFailed = function getLastReportGenerationFailed() {
|
|
6
6
|
return t('Report generation failed. Please try again.');
|
|
7
|
+
};
|
|
8
|
+
export var getReportGenerationFailure = function getReportGenerationFailure() {
|
|
9
|
+
return t('An error has occurred while generating this report. Please try again.');
|
|
7
10
|
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
|
+
import { getReportGenerationFailure } from "./errorMessages.js";
|
|
4
|
+
export var generateReports = /*#__PURE__*/function () {
|
|
5
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
|
|
6
|
+
var setGenerationInProgress, setStatusPollingInProgress, generateAnalysis, filter, addError;
|
|
7
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
8
|
+
while (1) {
|
|
9
|
+
switch (_context.prev = _context.next) {
|
|
10
|
+
case 0:
|
|
11
|
+
setGenerationInProgress = _ref.setGenerationInProgress, setStatusPollingInProgress = _ref.setStatusPollingInProgress, generateAnalysis = _ref.generateAnalysis, filter = _ref.filter, addError = _ref.addError;
|
|
12
|
+
_context.prev = 1;
|
|
13
|
+
setGenerationInProgress(true);
|
|
14
|
+
_context.next = 5;
|
|
15
|
+
return generateAnalysis(filter);
|
|
16
|
+
|
|
17
|
+
case 5:
|
|
18
|
+
setStatusPollingInProgress(true);
|
|
19
|
+
_context.next = 12;
|
|
20
|
+
break;
|
|
21
|
+
|
|
22
|
+
case 8:
|
|
23
|
+
_context.prev = 8;
|
|
24
|
+
_context.t0 = _context["catch"](1);
|
|
25
|
+
addError(getReportGenerationFailure());
|
|
26
|
+
setGenerationInProgress(false);
|
|
27
|
+
|
|
28
|
+
case 12:
|
|
29
|
+
case "end":
|
|
30
|
+
return _context.stop();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}, _callee, null, [[1, 8]]);
|
|
34
|
+
}));
|
|
35
|
+
|
|
36
|
+
return function generateReports(_x) {
|
|
37
|
+
return _ref2.apply(this, arguments);
|
|
38
|
+
};
|
|
39
|
+
}();
|
|
40
|
+
export default generateReports;
|
package/es/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js
CHANGED
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import { itemAnalysisPropType, quizAnalysisPropType } from "./propTypes.js";
|
|
7
7
|
import { fetchReports } from "./fetchReports.js";
|
|
8
8
|
import { fetchReportsStatus } from "./fetchReportsStatus.js";
|
|
9
|
+
import { generateReports as triggerReportGeneration } from "./generateReports.js";
|
|
9
10
|
export var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalComponent) {
|
|
10
11
|
var WithAnalysisStatePresenter = function WithAnalysisStatePresenter(_ref) {
|
|
11
12
|
var quizAnalysis = _ref.quizAnalysis,
|
|
@@ -20,14 +21,14 @@ export var withAnalysisStatePresenter = function withAnalysisStatePresenter(Orig
|
|
|
20
21
|
setGenerationInProgress = _ref.setGenerationInProgress,
|
|
21
22
|
setAnalysisError = _ref.setAnalysisError,
|
|
22
23
|
activeQuizId = _ref.activeQuizId,
|
|
23
|
-
|
|
24
|
+
generateAnalysis = _ref.generateAnalysis,
|
|
24
25
|
fetchQuizAnalysis = _ref.fetchQuizAnalysis,
|
|
25
26
|
fetchItemAnalyses = _ref.fetchItemAnalyses,
|
|
26
27
|
fetchAnalysesStatus = _ref.fetchAnalysesStatus,
|
|
27
28
|
statusPollingInProgress = _ref.statusPollingInProgress,
|
|
28
29
|
setStatusPollingInProgress = _ref.setStatusPollingInProgress,
|
|
29
30
|
pollingInterval = _ref.pollingInterval,
|
|
30
|
-
passThroughProps = _objectWithoutProperties(_ref, ["quizAnalysis", "itemAnalyses", "fetchInProgress", "generationInProgress", "analysisError", "setQuizAnalysis", "addError", "setItemAnalyses", "setFetchInProgress", "setGenerationInProgress", "setAnalysisError", "activeQuizId", "
|
|
31
|
+
passThroughProps = _objectWithoutProperties(_ref, ["quizAnalysis", "itemAnalyses", "fetchInProgress", "generationInProgress", "analysisError", "setQuizAnalysis", "addError", "setItemAnalyses", "setFetchInProgress", "setGenerationInProgress", "setAnalysisError", "activeQuizId", "generateAnalysis", "fetchQuizAnalysis", "fetchItemAnalyses", "fetchAnalysesStatus", "statusPollingInProgress", "setStatusPollingInProgress", "pollingInterval"]);
|
|
31
32
|
|
|
32
33
|
WithAnalysisStatePresenter.displayName = "WithAnalysisStatePresenter(".concat(OriginalComponent.displayName || OriginalComponent.name, ")");
|
|
33
34
|
var runningInterval = useRef(null);
|
|
@@ -64,10 +65,25 @@ export var withAnalysisStatePresenter = function withAnalysisStatePresenter(Orig
|
|
|
64
65
|
|
|
65
66
|
function _generateReports() {
|
|
66
67
|
_generateReports = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
68
|
+
var filter,
|
|
69
|
+
generationConfig,
|
|
70
|
+
_args2 = arguments;
|
|
67
71
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
68
72
|
while (1) {
|
|
69
73
|
switch (_context2.prev = _context2.next) {
|
|
70
74
|
case 0:
|
|
75
|
+
filter = _args2.length > 0 && _args2[0] !== void 0 ? _args2[0] : 'last_attempt';
|
|
76
|
+
generationConfig = {
|
|
77
|
+
filter: filter,
|
|
78
|
+
generateAnalysis: generateAnalysis,
|
|
79
|
+
setGenerationInProgress: setGenerationInProgress,
|
|
80
|
+
setStatusPollingInProgress: setStatusPollingInProgress,
|
|
81
|
+
addError: addError
|
|
82
|
+
};
|
|
83
|
+
_context2.next = 4;
|
|
84
|
+
return triggerReportGeneration(generationConfig);
|
|
85
|
+
|
|
86
|
+
case 4:
|
|
71
87
|
case "end":
|
|
72
88
|
return _context2.stop();
|
|
73
89
|
}
|
|
@@ -154,14 +170,13 @@ export var withAnalysisStatePresenter = function withAnalysisStatePresenter(Orig
|
|
|
154
170
|
fetchAnalysesStatus: PropTypes.func.isRequired,
|
|
155
171
|
addError: PropTypes.func.isRequired,
|
|
156
172
|
pollingInterval: PropTypes.number.isRequired,
|
|
157
|
-
|
|
158
|
-
|
|
173
|
+
generateAnalysis: PropTypes.func.isRequired // from LTI, f(filter: string)
|
|
174
|
+
|
|
159
175
|
};
|
|
160
176
|
WithAnalysisStatePresenter.defaultProps = {
|
|
161
177
|
quizAnalysis: void 0,
|
|
162
178
|
itemAnalyses: void 0,
|
|
163
|
-
analysisError: ''
|
|
164
|
-
generateReport: Function.prototype
|
|
179
|
+
analysisError: ''
|
|
165
180
|
};
|
|
166
181
|
return WithAnalysisStatePresenter;
|
|
167
182
|
};
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js
CHANGED
|
@@ -41,7 +41,7 @@ var _index3 = _interopRequireDefault(require("../AnalysisMetric/index.js"));
|
|
|
41
41
|
|
|
42
42
|
var _index4 = _interopRequireDefault(require("../AnalysisPopoverMetric/index.js"));
|
|
43
43
|
|
|
44
|
-
var
|
|
44
|
+
var _classnames3 = _interopRequireDefault(require("classnames"));
|
|
45
45
|
|
|
46
46
|
var _interactionTypeMetadata = require("../../../../../common/util/interactionTypeMetadata.js");
|
|
47
47
|
|
|
@@ -49,30 +49,25 @@ var _index5 = _interopRequireDefault(require("../AnswerSummaryTable/index.js"));
|
|
|
49
49
|
|
|
50
50
|
var _propTypes = require("../propTypes.js");
|
|
51
51
|
|
|
52
|
+
var _quizRce = require("@instructure/quiz-rce");
|
|
53
|
+
|
|
54
|
+
var _uiFlex = require("@instructure/ui-flex");
|
|
55
|
+
|
|
52
56
|
var _dec, _class, _class2, _temp;
|
|
53
57
|
|
|
54
58
|
var styles = {
|
|
55
|
-
componentId: '
|
|
59
|
+
componentId: 'bnyej',
|
|
56
60
|
template: function template(theme) {
|
|
57
|
-
return "\n\n.
|
|
61
|
+
return "\n\n.bnyej_eKXQ{padding:".concat(theme.cardWrapperPadding || 'inherit', ";position:relative}\n\n.bnyej_bwlc{align-items:flex-start;gap:24px;justify-content:space-between;row-gap:32px}\n\n.bnyej_bwlc,.bnyej_bqdH{display:flex;flex-direction:row;flex-wrap:wrap}\n\n.bnyej_bqdH{align-items:center;row-gap:24px}\n\n.bnyej_NpIG{position:absolute;right:").concat(theme.viewPaddingRight || 'inherit', ";top:").concat(theme.viewPaddingTop || 'inherit', "}\n\n.bnyej_eoBe{font-size:").concat(theme.metricNumberContextFontSize || 'inherit', ";font-weight:").concat(theme.metricNumberContextFontWeight || 'inherit', "}\n\n.bnyej_fFDJ{display:none}\n\n.bnyej_esVF{min-height:48px}\n\n.bnyej_eTZq{position:relative}\n\n.bnyej_eTZq:after{background:linear-gradient(180deg,hsla(0,0%,100%,0),#fff);content:\"\";height:48px;left:0;position:absolute;top:0;width:100%}");
|
|
58
62
|
},
|
|
59
|
-
'
|
|
60
|
-
'
|
|
61
|
-
'
|
|
62
|
-
'
|
|
63
|
-
'
|
|
64
|
-
'
|
|
65
|
-
'
|
|
66
|
-
'
|
|
67
|
-
'expandableInnerWrapper': 'bCOJX_pAQb',
|
|
68
|
-
'metricsWithControls': 'bCOJX_zefc',
|
|
69
|
-
'metricGroup': 'bCOJX_dPzc',
|
|
70
|
-
'metricsRow': 'bCOJX_dzph',
|
|
71
|
-
'metricsRowPaginated': 'bCOJX_eobd',
|
|
72
|
-
'itemCardToggleButtonWrapper': 'bCOJX_NpIG',
|
|
73
|
-
'expandableContent': 'bCOJX_csiQ',
|
|
74
|
-
'tableColumn': 'bCOJX_fjVl',
|
|
75
|
-
'performanceColumn': 'bCOJX_eZLI'
|
|
63
|
+
'cardWrapper': 'bnyej_eKXQ',
|
|
64
|
+
'itemCardInnerContainer': 'bnyej_bwlc',
|
|
65
|
+
'metricsContainer': 'bnyej_bqdH',
|
|
66
|
+
'itemCardToggleButtonWrapper': 'bnyej_NpIG',
|
|
67
|
+
'metricNumberContext': 'bnyej_eoBe',
|
|
68
|
+
'hiddenMetrics': 'bnyej_fFDJ',
|
|
69
|
+
'itemBody': 'bnyej_esVF',
|
|
70
|
+
'hiddenItemBody': 'bnyej_eTZq'
|
|
76
71
|
};
|
|
77
72
|
var supportedTables = ['choice', 'true-false', 'multi-answer'];
|
|
78
73
|
var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
@@ -91,9 +86,7 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
91
86
|
|
|
92
87
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
93
88
|
_this.state = {
|
|
94
|
-
bodyToggable: false,
|
|
95
89
|
bodyExpanded: false,
|
|
96
|
-
itemExpanded: false,
|
|
97
90
|
metricsExpanded: false
|
|
98
91
|
};
|
|
99
92
|
|
|
@@ -104,39 +97,10 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
104
97
|
});
|
|
105
98
|
};
|
|
106
99
|
|
|
107
|
-
_this.
|
|
108
|
-
return "itemCardHeading-".concat(_this.props.itemAnalysis.metadata.item_id);
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
_this.buildItemCardBodyId = function () {
|
|
112
|
-
return "itemCardBody-".concat(_this.props.itemAnalysis.metadata.item_id);
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
_this.bodyExceedsLimit = function (bodyElement, headingElement) {
|
|
116
|
-
if (!bodyElement || !headingElement) {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
return bodyElement.scrollWidth > headingElement.clientWidth || _this.state.bodyExpanded;
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
_this.handleBodyWidth = function () {
|
|
124
|
-
var bodyElement = document.getElementById(_this.buildItemCardBodyId());
|
|
125
|
-
var headingElement = document.getElementById(_this.buildItemCardHeadingId());
|
|
126
|
-
|
|
127
|
-
_this.setState({
|
|
128
|
-
bodyToggable: _this.bodyExceedsLimit(bodyElement, headingElement)
|
|
129
|
-
});
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
_this.handleToggle = function () {
|
|
100
|
+
_this.handleMetricToggle = function () {
|
|
133
101
|
_this.setState({
|
|
134
102
|
metricsExpanded: !_this.state.metricsExpanded
|
|
135
103
|
});
|
|
136
|
-
|
|
137
|
-
_this.setState({
|
|
138
|
-
itemExpanded: !_this.state.itemExpanded
|
|
139
|
-
});
|
|
140
104
|
};
|
|
141
105
|
|
|
142
106
|
_this.handleBodyToggle = function () {
|
|
@@ -145,26 +109,6 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
145
109
|
});
|
|
146
110
|
};
|
|
147
111
|
|
|
148
|
-
_this.renderExpandItemCardButton = function () {
|
|
149
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
150
|
-
className: styles.itemCardToggleButtonWrapper
|
|
151
|
-
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
152
|
-
onClick: _this.handleToggle,
|
|
153
|
-
title: _this.state.metricsExpanded ? (0, _formatMessage.default)('collapse item card') : (0, _formatMessage.default)('expand item card'),
|
|
154
|
-
isExpanded: _this.state.metricsExpanded
|
|
155
|
-
}));
|
|
156
|
-
};
|
|
157
|
-
|
|
158
|
-
_this.renderBodyToggleButton = function () {
|
|
159
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
160
|
-
className: styles.bodyExpandButtonWrapper
|
|
161
|
-
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
162
|
-
onClick: _this.handleBodyToggle,
|
|
163
|
-
title: _this.state.bodyExpanded ? (0, _formatMessage.default)('collapse question stem') : (0, _formatMessage.default)('expand question stem'),
|
|
164
|
-
isExpanded: _this.state.bodyExpanded
|
|
165
|
-
}));
|
|
166
|
-
};
|
|
167
|
-
|
|
168
112
|
_this.calculateValueWithPointsPossible = function (metricKey, metricValue) {
|
|
169
113
|
var pointsPossible = _this.props.itemAnalysis.scores.points_possible;
|
|
170
114
|
return _formatMessage.default.rich('{score, number}<s>/{possible, number} PTS</s>', {
|
|
@@ -180,103 +124,145 @@ var NewItemAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
180
124
|
});
|
|
181
125
|
};
|
|
182
126
|
|
|
183
|
-
_this.
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
187
|
-
className: classes
|
|
188
|
-
}, /*#__PURE__*/_react.default.createElement(_index4.default, {
|
|
189
|
-
metricKey: "pearson_correlation",
|
|
190
|
-
label: (0, _formatMessage.default)('Pearson Correlation Coefficient'),
|
|
191
|
-
value: _formatMessage.default.number(scores.pearson_correlation),
|
|
192
|
-
popoverDescription: _popoverContent.pearsonCorrelation
|
|
193
|
-
}));
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
return _this;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
(0, _createClass2.default)(NewItemAnalysis, [{
|
|
200
|
-
key: "componentDidMount",
|
|
201
|
-
value: function componentDidMount() {
|
|
202
|
-
this.handleBodyWidth();
|
|
203
|
-
window.addEventListener('resize', this.handleBodyWidth);
|
|
204
|
-
}
|
|
205
|
-
}, {
|
|
206
|
-
key: "componentWillUnmount",
|
|
207
|
-
value: function componentWillUnmount() {
|
|
208
|
-
window.removeEventListener('resize', this.handleBodyWidth);
|
|
209
|
-
}
|
|
210
|
-
}, {
|
|
211
|
-
key: "render",
|
|
212
|
-
value: function render() {
|
|
213
|
-
var _this$props$itemAnaly = this.props.itemAnalysis,
|
|
214
|
-
answer_summary = _this$props$itemAnaly.answer_summary,
|
|
215
|
-
metadata = _this$props$itemAnaly.metadata,
|
|
216
|
-
scores = _this$props$itemAnaly.scores;
|
|
217
|
-
var bodyClass = (0, _classnames2.default)(styles.bodyExcerpt, (0, _defineProperty2.default)({}, styles.bodyExcerptExpanded, this.state.bodyExpanded));
|
|
218
|
-
var headingId = this.buildItemCardHeadingId();
|
|
219
|
-
var bodyId = this.buildItemCardBodyId();
|
|
220
|
-
var isSupportedTable = supportedTables.includes(metadata.interaction_type);
|
|
221
|
-
return /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
222
|
-
className: styles.cardWrapper
|
|
223
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
224
|
-
className: styles.innerWrapper
|
|
225
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
226
|
-
id: headingId,
|
|
227
|
-
className: styles.heading
|
|
228
|
-
}, /*#__PURE__*/_react.default.createElement(_uiHeading.Heading, {
|
|
229
|
-
margin: "0 0 small 0",
|
|
127
|
+
_this.renderTitle = function (title) {
|
|
128
|
+
return /*#__PURE__*/_react.default.createElement(_uiHeading.Heading, {
|
|
129
|
+
margin: "0 x-large small 0",
|
|
230
130
|
level: "h3",
|
|
231
131
|
weight: "bold",
|
|
232
132
|
color: "primary"
|
|
233
|
-
},
|
|
133
|
+
}, title);
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
_this.renderInteractionType = function (interactionType) {
|
|
137
|
+
return /*#__PURE__*/_react.default.createElement(_uiText.Text, {
|
|
234
138
|
size: "small",
|
|
235
139
|
weight: "bold",
|
|
236
140
|
transform: "capitalize"
|
|
237
|
-
},
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
141
|
+
}, _this.mapInteractionTypeToTranslation(interactionType));
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
_this.renderRichContent = function (itemBody, itemBodyClass) {
|
|
145
|
+
return /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
146
|
+
direction: "row",
|
|
147
|
+
alignItems: "start"
|
|
148
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
149
|
+
shouldShrink: true,
|
|
150
|
+
shouldGrow: true
|
|
247
151
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
248
|
-
className:
|
|
152
|
+
className: itemBodyClass
|
|
153
|
+
}, /*#__PURE__*/_react.default.createElement(_quizRce.RichContentRenderer, {
|
|
154
|
+
content: itemBody
|
|
155
|
+
}))), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
156
|
+
margin: "xx-small small none x-small",
|
|
157
|
+
size: "38px"
|
|
158
|
+
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
159
|
+
onClick: _this.handleBodyToggle,
|
|
160
|
+
title: _this.state.bodyExpanded ? (0, _formatMessage.default)('collapse question stem') : (0, _formatMessage.default)('expand question stem'),
|
|
161
|
+
isExpanded: _this.state.bodyExpanded
|
|
162
|
+
})));
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
_this.renderMetrics = function (scores, metricsClass) {
|
|
166
|
+
return /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
167
|
+
direction: "column"
|
|
168
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
169
|
+
overflowY: "visible"
|
|
249
170
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
250
|
-
className: styles.
|
|
171
|
+
className: styles.metricsContainer
|
|
172
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
173
|
+
margin: "none medium none none"
|
|
251
174
|
}, /*#__PURE__*/_react.default.createElement(_index4.default, {
|
|
252
175
|
metricKey: "difficulty_index",
|
|
253
176
|
label: (0, _formatMessage.default)('Item Difficulty'),
|
|
254
177
|
value: _formatMessage.default.number(scores.difficulty_index),
|
|
255
178
|
popoverDescription: _popoverContent.difficultyIndex
|
|
256
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
179
|
+
})), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
180
|
+
margin: "none medium none none"
|
|
181
|
+
}, /*#__PURE__*/_react.default.createElement(_index3.default, {
|
|
257
182
|
metricKey: "mean",
|
|
258
183
|
label: (0, _formatMessage.default)('Mean Earned Points'),
|
|
259
|
-
value:
|
|
260
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
184
|
+
value: _this.calculateValueWithPointsPossible('mean', scores.mean)
|
|
185
|
+
})), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
186
|
+
margin: "none medium none none"
|
|
187
|
+
}, /*#__PURE__*/_react.default.createElement(_index3.default, {
|
|
261
188
|
metricKey: "median",
|
|
262
189
|
label: (0, _formatMessage.default)('Median Earned Points'),
|
|
263
|
-
value:
|
|
264
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
190
|
+
value: _this.calculateValueWithPointsPossible('median', scores.median)
|
|
191
|
+
})), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
192
|
+
margin: "none large none none"
|
|
193
|
+
}, /*#__PURE__*/_react.default.createElement(_index4.default, {
|
|
265
194
|
metricKey: "discrimination_index",
|
|
266
195
|
label: (0, _formatMessage.default)('Discrimination Index'),
|
|
267
196
|
value: _formatMessage.default.number(scores.discrimination_index),
|
|
268
197
|
popoverDescription: _popoverContent.discriminationIndex
|
|
269
|
-
})
|
|
270
|
-
|
|
198
|
+
})))), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
199
|
+
overflowY: "visible",
|
|
200
|
+
margin: "medium none none none"
|
|
271
201
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
272
|
-
className:
|
|
202
|
+
className: metricsClass
|
|
273
203
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
274
|
-
className: styles.
|
|
275
|
-
},
|
|
204
|
+
className: styles.metricsContainer
|
|
205
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
206
|
+
margin: "none medium none none"
|
|
207
|
+
}, /*#__PURE__*/_react.default.createElement(_index4.default, {
|
|
208
|
+
metricKey: "pearson_correlation",
|
|
209
|
+
label: (0, _formatMessage.default)('Pearson Correlation Coefficient'),
|
|
210
|
+
value: _formatMessage.default.number(scores.pearson_correlation),
|
|
211
|
+
popoverDescription: _popoverContent.pearsonCorrelation
|
|
212
|
+
}))))));
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
_this.renderAnswerSummaryTable = function (answer_summary, isSupportedTable, metricsClass) {
|
|
216
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
217
|
+
className: metricsClass
|
|
218
|
+
}, isSupportedTable && /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
219
|
+
direction: "row"
|
|
220
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
221
|
+
size: "55%"
|
|
222
|
+
}, /*#__PURE__*/_react.default.createElement(_index5.default, {
|
|
276
223
|
answerSummary: answer_summary
|
|
277
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
278
|
-
className: styles.performanceColumn
|
|
279
224
|
}))));
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
return _this;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
(0, _createClass2.default)(NewItemAnalysis, [{
|
|
231
|
+
key: "render",
|
|
232
|
+
value: function render() {
|
|
233
|
+
var _this$props$itemAnaly = this.props.itemAnalysis,
|
|
234
|
+
answer_summary = _this$props$itemAnaly.answer_summary,
|
|
235
|
+
metadata = _this$props$itemAnaly.metadata,
|
|
236
|
+
scores = _this$props$itemAnaly.scores;
|
|
237
|
+
var isSupportedTable = supportedTables.includes(metadata.interaction_type);
|
|
238
|
+
var metricsClass = (0, _classnames3.default)((0, _defineProperty2.default)({}, styles.hiddenMetrics, !this.state.metricsExpanded));
|
|
239
|
+
var itemBodyClass = (0, _classnames3.default)(styles.itemBody, (0, _defineProperty2.default)({}, styles.hiddenItemBody, !this.state.bodyExpanded));
|
|
240
|
+
return /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
241
|
+
className: styles.cardWrapper
|
|
242
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
243
|
+
className: styles.itemCardToggleButtonWrapper
|
|
244
|
+
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
245
|
+
onClick: this.handleMetricToggle,
|
|
246
|
+
title: this.state.metricsExpanded ? (0, _formatMessage.default)('collapse item card') : (0, _formatMessage.default)('expand item card'),
|
|
247
|
+
isExpanded: this.state.metricsExpanded
|
|
248
|
+
})), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
249
|
+
direction: "column"
|
|
250
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
251
|
+
overflowY: "visible"
|
|
252
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
253
|
+
className: styles.itemCardInnerContainer
|
|
254
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
255
|
+
shouldGrow: true,
|
|
256
|
+
shouldShrink: true,
|
|
257
|
+
size: "45%"
|
|
258
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
259
|
+
direction: "column",
|
|
260
|
+
justifyItems: "start"
|
|
261
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, this.renderTitle(metadata.item_title)), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, this.renderInteractionType(metadata.interaction_type)), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
|
|
262
|
+
shouldShrink: true,
|
|
263
|
+
overflowY: "hidden",
|
|
264
|
+
size: !this.state.bodyExpanded ? '48px' : void 0
|
|
265
|
+
}, this.renderRichContent(metadata.item_body, itemBodyClass)))), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, this.renderMetrics(scores, metricsClass)))), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, this.renderAnswerSummaryTable(answer_summary, isSupportedTable, metricsClass))));
|
|
280
266
|
}
|
|
281
267
|
}]);
|
|
282
268
|
NewItemAnalysis.displayName = "NewItemAnalysis";
|
|
@@ -12,7 +12,8 @@ function generator(_ref) {
|
|
|
12
12
|
return {
|
|
13
13
|
tabletBreakPoint: "max-width: ".concat(breakpoints.large),
|
|
14
14
|
cardWrapperPadding: spacing.medium,
|
|
15
|
-
|
|
15
|
+
viewPaddingRight: spacing.large,
|
|
16
|
+
viewPaddingTop: spacing.medium,
|
|
16
17
|
metricNumberContextFontSize: typography.fontSizeMedium,
|
|
17
18
|
metricNumberContextFontWeight: typography.fontWeightNormal
|
|
18
19
|
};
|
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: 'fQZVs',
|
|
48
48
|
template: function template(theme) {
|
|
49
|
-
return "\n\n.
|
|
49
|
+
return "\n\n.fQZVs_eDnN{display:flex;justify-content:space-between;padding-bottom:".concat(theme.headingPadding || 'inherit', "}\n\n.fQZVs_eKXQ{padding:").concat(theme.cardWrapperPadding || 'inherit', ";position:relative}\n\n.fQZVs_crZr{padding-top:").concat(theme.metricGroupPaddingTop || 'inherit', "}\n\n.fQZVs_bTHH{position:absolute;right:").concat(theme.viewPaddingRight || 'inherit', ";top:").concat(theme.viewPaddingTop || 'inherit', "}\n\n.fQZVs_dPzc,.fQZVs_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': 'fQZVs_eDnN',
|
|
52
|
+
'cardWrapper': 'fQZVs_eKXQ',
|
|
53
|
+
'container': 'fQZVs_crZr',
|
|
54
|
+
'expandButtonContainer': 'fQZVs_bTHH',
|
|
55
|
+
'metricGroup': 'fQZVs_dPzc',
|
|
56
|
+
'metricsWrapper': 'fQZVs_cpZE'
|
|
57
57
|
};
|
|
58
58
|
var stdDevPopoverTexts = {
|
|
59
59
|
title: 'Lorem ipsum ',
|
|
@@ -128,6 +128,7 @@ var NewQuizAnalysis = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
128
128
|
className: styles.heading
|
|
129
129
|
}, /*#__PURE__*/_react.default.createElement(_uiHeading.Heading, {
|
|
130
130
|
level: "h4",
|
|
131
|
+
margin: "0 x-large 0 0",
|
|
131
132
|
color: "primary"
|
|
132
133
|
}, (0, _formatMessage.default)('Quiz summary:'), " ", metadata === null || metadata === void 0 ? void 0 : metadata.quiz_title)), /*#__PURE__*/_react.default.createElement("div", {
|
|
133
134
|
className: styles.metricGroup
|
|
@@ -9,7 +9,8 @@ function generator(_ref) {
|
|
|
9
9
|
var spacing = _ref.spacing;
|
|
10
10
|
return {
|
|
11
11
|
metricGroupPaddingTop: spacing.medium,
|
|
12
|
-
|
|
12
|
+
viewPaddingRight: spacing.large,
|
|
13
|
+
viewPaddingTop: spacing.medium,
|
|
13
14
|
headingPadding: spacing.medium,
|
|
14
15
|
cardWrapperPadding: spacing.medium,
|
|
15
16
|
metricsColumnGap: '82px'
|
|
@@ -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;
|
|
@@ -0,0 +1,55 @@
|
|
|
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;
|
|
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
|
+
setStatusPollingInProgress(true);
|
|
31
|
+
_context.next = 12;
|
|
32
|
+
break;
|
|
33
|
+
|
|
34
|
+
case 8:
|
|
35
|
+
_context.prev = 8;
|
|
36
|
+
_context.t0 = _context["catch"](1);
|
|
37
|
+
addError((0, _errorMessages.getReportGenerationFailure)());
|
|
38
|
+
setGenerationInProgress(false);
|
|
39
|
+
|
|
40
|
+
case 12:
|
|
41
|
+
case "end":
|
|
42
|
+
return _context.stop();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}, _callee, null, [[1, 8]]);
|
|
46
|
+
}));
|
|
47
|
+
|
|
48
|
+
return function generateReports(_x) {
|
|
49
|
+
return _ref2.apply(this, arguments);
|
|
50
|
+
};
|
|
51
|
+
}();
|
|
52
|
+
|
|
53
|
+
exports.generateReports = generateReports;
|
|
54
|
+
var _default = generateReports;
|
|
55
|
+
exports.default = _default;
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js
CHANGED
|
@@ -25,6 +25,8 @@ var _fetchReports = require("./fetchReports.js");
|
|
|
25
25
|
|
|
26
26
|
var _fetchReportsStatus = require("./fetchReportsStatus.js");
|
|
27
27
|
|
|
28
|
+
var _generateReports2 = require("./generateReports.js");
|
|
29
|
+
|
|
28
30
|
var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalComponent) {
|
|
29
31
|
var WithAnalysisStatePresenter = function WithAnalysisStatePresenter(_ref) {
|
|
30
32
|
var quizAnalysis = _ref.quizAnalysis,
|
|
@@ -39,14 +41,14 @@ var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalCom
|
|
|
39
41
|
setGenerationInProgress = _ref.setGenerationInProgress,
|
|
40
42
|
setAnalysisError = _ref.setAnalysisError,
|
|
41
43
|
activeQuizId = _ref.activeQuizId,
|
|
42
|
-
|
|
44
|
+
generateAnalysis = _ref.generateAnalysis,
|
|
43
45
|
fetchQuizAnalysis = _ref.fetchQuizAnalysis,
|
|
44
46
|
fetchItemAnalyses = _ref.fetchItemAnalyses,
|
|
45
47
|
fetchAnalysesStatus = _ref.fetchAnalysesStatus,
|
|
46
48
|
statusPollingInProgress = _ref.statusPollingInProgress,
|
|
47
49
|
setStatusPollingInProgress = _ref.setStatusPollingInProgress,
|
|
48
50
|
pollingInterval = _ref.pollingInterval,
|
|
49
|
-
passThroughProps = (0, _objectWithoutProperties2.default)(_ref, ["quizAnalysis", "itemAnalyses", "fetchInProgress", "generationInProgress", "analysisError", "setQuizAnalysis", "addError", "setItemAnalyses", "setFetchInProgress", "setGenerationInProgress", "setAnalysisError", "activeQuizId", "
|
|
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"]);
|
|
50
52
|
WithAnalysisStatePresenter.displayName = "WithAnalysisStatePresenter(".concat(OriginalComponent.displayName || OriginalComponent.name, ")");
|
|
51
53
|
var runningInterval = (0, _react.useRef)(null);
|
|
52
54
|
|
|
@@ -82,10 +84,25 @@ var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalCom
|
|
|
82
84
|
|
|
83
85
|
function _generateReports() {
|
|
84
86
|
_generateReports = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
87
|
+
var filter,
|
|
88
|
+
generationConfig,
|
|
89
|
+
_args2 = arguments;
|
|
85
90
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
86
91
|
while (1) {
|
|
87
92
|
switch (_context2.prev = _context2.next) {
|
|
88
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:
|
|
89
106
|
case "end":
|
|
90
107
|
return _context2.stop();
|
|
91
108
|
}
|
|
@@ -172,14 +189,13 @@ var withAnalysisStatePresenter = function withAnalysisStatePresenter(OriginalCom
|
|
|
172
189
|
fetchAnalysesStatus: _propTypes.default.func.isRequired,
|
|
173
190
|
addError: _propTypes.default.func.isRequired,
|
|
174
191
|
pollingInterval: _propTypes.default.number.isRequired,
|
|
175
|
-
|
|
176
|
-
|
|
192
|
+
generateAnalysis: _propTypes.default.func.isRequired // from LTI, f(filter: string)
|
|
193
|
+
|
|
177
194
|
};
|
|
178
195
|
WithAnalysisStatePresenter.defaultProps = {
|
|
179
196
|
quizAnalysis: void 0,
|
|
180
197
|
itemAnalyses: void 0,
|
|
181
|
-
analysisError: ''
|
|
182
|
-
generateReport: Function.prototype
|
|
198
|
+
analysisError: ''
|
|
183
199
|
};
|
|
184
200
|
return WithAnalysisStatePresenter;
|
|
185
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.6+658933df6",
|
|
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.6+658933df6",
|
|
45
|
+
"@instructure/quiz-i18n": "17.63.1-rc.6+658933df6",
|
|
46
|
+
"@instructure/quiz-interactions": "17.63.1-rc.6+658933df6",
|
|
47
|
+
"@instructure/quiz-number-input": "17.63.1-rc.6+658933df6",
|
|
48
|
+
"@instructure/quiz-rce": "17.63.1-rc.6+658933df6",
|
|
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.6+658933df6",
|
|
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.6+658933df6",
|
|
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": "658933df6dc2a88f7f7aed3173a41409c7190686"
|
|
177
177
|
}
|