@instructure/quiz-core 19.1.0 → 19.1.1-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/presenter.js +12 -18
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/styles.js +14 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/presenter.js +15 -22
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/styles.js +20 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +14 -18
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/styles.js +11 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/popoverContent.js +6 -0
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +9 -3
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/presenter.js +13 -22
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/styles.js +22 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/presenter.js +14 -24
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/styles.js +28 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +15 -22
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/styles.js +19 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/popoverContent.js +17 -0
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +11 -3
- package/package.json +11 -10
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/theme.js +0 -3
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/theme.js +0 -6
- package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/theme.js +0 -5
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/theme.js +0 -10
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/theme.js +0 -13
- package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/theme.js +0 -12
package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/presenter.js
CHANGED
|
@@ -5,21 +5,14 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
|
5
5
|
|
|
6
6
|
var _dec, _class, _class2, _temp;
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
import
|
|
10
|
-
var styles = {
|
|
11
|
-
componentId: 'fKESK',
|
|
12
|
-
template: function template(theme) {
|
|
13
|
-
return "\n\n.fKESK_eckF{margin:0;max-width:159px;text-transform:capitalize}\n\n.fKESK_CIyo{width:90px}";
|
|
14
|
-
},
|
|
15
|
-
'metricLabel': 'fKESK_eckF',
|
|
16
|
-
'metricWrapper': 'fKESK_CIyo'
|
|
17
|
-
};
|
|
18
|
-
import React, { Component } from 'react';
|
|
8
|
+
/** @jsx jsx */
|
|
9
|
+
import { Component } from 'react';
|
|
19
10
|
import { getSanitizedMetricValue } from "../utils.js";
|
|
20
11
|
import { Metric } from '@instructure/ui-metric';
|
|
21
12
|
import PropTypes from 'prop-types';
|
|
22
|
-
|
|
13
|
+
import { withStyle, jsx } from '@instructure/emotion';
|
|
14
|
+
import generateStyle from "./styles.js";
|
|
15
|
+
export var AnalysisMetric = (_dec = withStyle(generateStyle, null), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
23
16
|
_inherits(AnalysisMetric, _Component);
|
|
24
17
|
|
|
25
18
|
var _super = _createSuper(AnalysisMetric);
|
|
@@ -39,18 +32,18 @@ export var AnalysisMetric = (_dec = themeable(theme, styles), _dec(_class = (_te
|
|
|
39
32
|
value = _this$props.value,
|
|
40
33
|
suffix = _this$props.suffix;
|
|
41
34
|
var dataAutomation = "sdk-new-ia-quiz-analysis-".concat(metricKey);
|
|
42
|
-
return
|
|
35
|
+
return jsx("div", {
|
|
43
36
|
"data-automation": dataAutomation,
|
|
44
|
-
|
|
45
|
-
},
|
|
37
|
+
css: this.props.styles.metricWrapper
|
|
38
|
+
}, jsx(Metric, {
|
|
46
39
|
themeOverride: {
|
|
47
40
|
valueFontWeight: 500,
|
|
48
41
|
padding: '0'
|
|
49
42
|
},
|
|
50
43
|
textAlign: "start",
|
|
51
44
|
key: metricKey,
|
|
52
|
-
renderLabel:
|
|
53
|
-
|
|
45
|
+
renderLabel: jsx("p", {
|
|
46
|
+
css: this.props.styles.metricLabel
|
|
54
47
|
}, label),
|
|
55
48
|
renderValue: getSanitizedMetricValue(value, suffix)
|
|
56
49
|
}));
|
|
@@ -63,7 +56,8 @@ export var AnalysisMetric = (_dec = themeable(theme, styles), _dec(_class = (_te
|
|
|
63
56
|
metricKey: PropTypes.string.isRequired,
|
|
64
57
|
label: PropTypes.string.isRequired,
|
|
65
58
|
value: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.array]),
|
|
66
|
-
suffix: PropTypes.string
|
|
59
|
+
suffix: PropTypes.string,
|
|
60
|
+
styles: PropTypes.object
|
|
67
61
|
}, _class2.defaultProps = {
|
|
68
62
|
value: void 0,
|
|
69
63
|
suffix: ''
|
package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/presenter.js
CHANGED
|
@@ -5,23 +5,15 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
|
5
5
|
|
|
6
6
|
var _dec, _class, _class2, _temp;
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
/** @jsx jsx */
|
|
9
|
+
import { Component } from 'react';
|
|
9
10
|
import { Metric } from '@instructure/ui-metric';
|
|
10
11
|
import { getSanitizedMetricValue } from "../utils.js";
|
|
11
|
-
var styles = {
|
|
12
|
-
componentId: 'dpcwk',
|
|
13
|
-
template: function template(theme) {
|
|
14
|
-
return "\n\n.dpcwk_elNf{max-width:159px}\n\n.dpcwk_eckF{margin:0;padding-right:24px;text-transform:capitalize}\n\n.dpcwk_dqHR{margin-left:-24px;padding-left:5px}";
|
|
15
|
-
},
|
|
16
|
-
'metricLabelContainer': 'dpcwk_elNf',
|
|
17
|
-
'metricLabel': 'dpcwk_eckF',
|
|
18
|
-
'popoverContainer': 'dpcwk_dqHR'
|
|
19
|
-
};
|
|
20
12
|
import MetricPopover from "../MetricPopover/index.js";
|
|
21
|
-
import {
|
|
22
|
-
import
|
|
13
|
+
import { withStyle, jsx } from '@instructure/emotion';
|
|
14
|
+
import generateStyle from "./styles.js";
|
|
23
15
|
import PropTypes from 'prop-types';
|
|
24
|
-
export var AnalysisPopoverMetric = (_dec =
|
|
16
|
+
export var AnalysisPopoverMetric = (_dec = withStyle(generateStyle, null), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
25
17
|
_inherits(AnalysisPopoverMetric, _Component);
|
|
26
18
|
|
|
27
19
|
var _super = _createSuper(AnalysisPopoverMetric);
|
|
@@ -35,13 +27,13 @@ export var AnalysisPopoverMetric = (_dec = themeable(theme, styles), _dec(_class
|
|
|
35
27
|
_createClass(AnalysisPopoverMetric, [{
|
|
36
28
|
key: "renderLabelWithPopover",
|
|
37
29
|
value: function renderLabelWithPopover(texts) {
|
|
38
|
-
return
|
|
39
|
-
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
}, this.props.label),
|
|
43
|
-
|
|
44
|
-
},
|
|
30
|
+
return jsx("div", {
|
|
31
|
+
css: this.props.styles.metricLabelContainer
|
|
32
|
+
}, jsx("span", {
|
|
33
|
+
css: this.props.styles.metricLabel
|
|
34
|
+
}, this.props.label), jsx("span", {
|
|
35
|
+
css: this.props.styles.popoverContainer
|
|
36
|
+
}, jsx(MetricPopover, texts)));
|
|
45
37
|
}
|
|
46
38
|
}, {
|
|
47
39
|
key: "render",
|
|
@@ -50,7 +42,7 @@ export var AnalysisPopoverMetric = (_dec = themeable(theme, styles), _dec(_class
|
|
|
50
42
|
metricKey = _this$props.metricKey,
|
|
51
43
|
popoverDescription = _this$props.popoverDescription,
|
|
52
44
|
value = _this$props.value;
|
|
53
|
-
return
|
|
45
|
+
return jsx(Metric, {
|
|
54
46
|
themeOverride: {
|
|
55
47
|
valueFontWeight: 500,
|
|
56
48
|
padding: '0'
|
|
@@ -74,7 +66,8 @@ export var AnalysisPopoverMetric = (_dec = themeable(theme, styles), _dec(_class
|
|
|
74
66
|
subtitle: PropTypes.string,
|
|
75
67
|
body: PropTypes.string,
|
|
76
68
|
screenReaderLabel: PropTypes.string
|
|
77
|
-
}).isRequired
|
|
69
|
+
}).isRequired,
|
|
70
|
+
styles: PropTypes.object
|
|
78
71
|
}, _class2.defaultProps = {
|
|
79
72
|
value: void 0
|
|
80
73
|
}, _temp)) || _class);
|
package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/styles.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
var generateStyle = function generateStyle() {
|
|
2
|
+
return {
|
|
3
|
+
metricLabelContainer: {
|
|
4
|
+
maxWidth: '159px'
|
|
5
|
+
},
|
|
6
|
+
metricLabel: {
|
|
7
|
+
margin: '0',
|
|
8
|
+
textTransform: 'capitalize',
|
|
9
|
+
paddingRight: '24px'
|
|
10
|
+
},
|
|
11
|
+
popoverContainer: {
|
|
12
|
+
paddingLeft: '5px',
|
|
13
|
+
marginLeft: '-24px'
|
|
14
|
+
/* same as metricLabel padding. This makes sure that the icon never wraps below the text */
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default generateStyle;
|
|
@@ -4,21 +4,15 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
|
4
4
|
|
|
5
5
|
var _dec, _class, _class2, _temp;
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
/** @jsx jsx */
|
|
8
|
+
import { Component } from 'react';
|
|
8
9
|
import t from '@instructure/quiz-i18n/es/format-message';
|
|
9
|
-
import theme from "./theme.js";
|
|
10
|
-
var styles = {
|
|
11
|
-
componentId: 'bmsWU',
|
|
12
|
-
template: function template(theme) {
|
|
13
|
-
return "\n\n.bmsWU_rMrG{display:flex;flex-basis:100%;flex-direction:column}";
|
|
14
|
-
},
|
|
15
|
-
'tableWrapper': 'bmsWU_rMrG'
|
|
16
|
-
};
|
|
17
|
-
import { themeable } from '@instructure/ui-themeable';
|
|
18
10
|
import { Flex } from '@instructure/ui-flex';
|
|
19
11
|
import { Heading } from '@instructure/ui-heading';
|
|
12
|
+
import { withStyle, jsx } from '@instructure/emotion';
|
|
13
|
+
import generateStyle from "./styles.js";
|
|
20
14
|
import PropTypes from 'prop-types';
|
|
21
|
-
export var AfsTableWrapper = (_dec =
|
|
15
|
+
export var AfsTableWrapper = (_dec = withStyle(generateStyle, null), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
22
16
|
_inherits(AfsTableWrapper, _Component);
|
|
23
17
|
|
|
24
18
|
var _super = _createSuper(AfsTableWrapper);
|
|
@@ -35,13 +29,14 @@ export var AfsTableWrapper = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
35
29
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
36
30
|
|
|
37
31
|
_this.render = function () {
|
|
38
|
-
return
|
|
39
|
-
direction: "row"
|
|
40
|
-
|
|
32
|
+
return jsx(Flex, {
|
|
33
|
+
direction: "row",
|
|
34
|
+
"data-testid": "AfsTableWrapper"
|
|
35
|
+
}, jsx(Flex.Item, {
|
|
41
36
|
shouldGrow: true
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
},
|
|
37
|
+
}, jsx("div", {
|
|
38
|
+
css: _this.props.styles.tableWrapper
|
|
39
|
+
}, jsx(Heading, {
|
|
45
40
|
margin: "x-large x-large x-large 0",
|
|
46
41
|
level: "h3",
|
|
47
42
|
weight: "bold",
|
|
@@ -54,5 +49,6 @@ export var AfsTableWrapper = (_dec = themeable(theme, styles), _dec(_class = (_t
|
|
|
54
49
|
|
|
55
50
|
return AfsTableWrapper;
|
|
56
51
|
}(Component), _class2.propTypes = {
|
|
57
|
-
children: PropTypes.node.isRequired
|
|
52
|
+
children: PropTypes.node.isRequired,
|
|
53
|
+
styles: PropTypes.object
|
|
58
54
|
}, _temp)) || _class);
|
|
@@ -36,6 +36,8 @@ var styles = {
|
|
|
36
36
|
import { Flex } from '@instructure/ui-flex';
|
|
37
37
|
import classNames from 'classnames';
|
|
38
38
|
import { Text } from '@instructure/ui-text';
|
|
39
|
+
import MetricPopover from "../../../MetricPopover/index.js";
|
|
40
|
+
import { noAnswerMissing } from "./popoverContent.js";
|
|
39
41
|
var noAnswerKey = 'noAnswer';
|
|
40
42
|
var incorrectKey = 'incorrect';
|
|
41
43
|
var correctKey = 'correct';
|
|
@@ -66,15 +68,18 @@ export var AggregationTable = (_dec = themeable(theme, styles), _dec(_class = (_
|
|
|
66
68
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
67
69
|
|
|
68
70
|
_this.renderHeaderRow = function () {
|
|
71
|
+
var popover = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
|
|
69
72
|
var itemId = _this.props.itemId;
|
|
70
73
|
var answerHeaderId = "answer-frequency-summary-aggregate-answer-".concat(itemId);
|
|
71
74
|
var respondentsHeaderId = "answer-frequency-summary-aggregate-respondents-".concat(itemId);
|
|
72
75
|
var percentageHeaderId = "answer-frequency-summary-aggregate-percentage-".concat(itemId);
|
|
73
76
|
return /*#__PURE__*/React.createElement(Table.Head, null, /*#__PURE__*/React.createElement(Table.Row, null, /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
74
77
|
id: answerHeaderId
|
|
75
|
-
}, /*#__PURE__*/React.createElement(
|
|
78
|
+
}, /*#__PURE__*/React.createElement(Flex, {
|
|
79
|
+
gap: "x-small"
|
|
80
|
+
}, /*#__PURE__*/React.createElement(Flex.Item, null, /*#__PURE__*/React.createElement("span", {
|
|
76
81
|
className: classNames(styles.firstHeaderCell)
|
|
77
|
-
}, t('Result'))), /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
82
|
+
}, t('Result'))), /*#__PURE__*/React.createElement(Flex.Item, null, popover && /*#__PURE__*/React.createElement(MetricPopover, noAnswerMissing)))), /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
78
83
|
id: respondentsHeaderId,
|
|
79
84
|
textAlign: "center"
|
|
80
85
|
}, t('Respondents')), /*#__PURE__*/React.createElement(Table.ColHeader, {
|
|
@@ -196,11 +201,12 @@ export var AggregationTable = (_dec = themeable(theme, styles), _dec(_class = (_
|
|
|
196
201
|
};
|
|
197
202
|
|
|
198
203
|
_this.render = function () {
|
|
204
|
+
var popover = !_this.noAnswerExist();
|
|
199
205
|
return /*#__PURE__*/React.createElement("div", {
|
|
200
206
|
className: classNames(styles.collapsingTable, styles[_this.getColorProfile()])
|
|
201
207
|
}, /*#__PURE__*/React.createElement(Table, {
|
|
202
208
|
caption: t('Answer Frequency Summary Aggregates')
|
|
203
|
-
}, _this.renderHeaderRow(), /*#__PURE__*/React.createElement(Table.Body, null, _this.correctExist() && _this.renderCorrect(), _this.partialCorrectExist() && _this.renderPartialCorrect(), _this.incorrectExist() && _this.renderIncorrect(), _this.noAnswerExist() && _this.renderNoAnswer())));
|
|
209
|
+
}, _this.renderHeaderRow(popover), /*#__PURE__*/React.createElement(Table.Body, null, _this.correctExist() && _this.renderCorrect(), _this.partialCorrectExist() && _this.renderPartialCorrect(), _this.incorrectExist() && _this.renderIncorrect(), _this.noAnswerExist() && _this.renderNoAnswer())));
|
|
204
210
|
};
|
|
205
211
|
|
|
206
212
|
return _this;
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/presenter.js
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
@@ -17,11 +15,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
17
15
|
|
|
18
16
|
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
19
17
|
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
var _theme = _interopRequireDefault(require("./theme.js"));
|
|
23
|
-
|
|
24
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
18
|
+
var _react = require("react");
|
|
25
19
|
|
|
26
20
|
var _utils = require("../utils.js");
|
|
27
21
|
|
|
@@ -29,17 +23,13 @@ var _uiMetric = require("@instructure/ui-metric");
|
|
|
29
23
|
|
|
30
24
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
25
|
|
|
26
|
+
var _emotion = require("@instructure/emotion");
|
|
27
|
+
|
|
28
|
+
var _styles = _interopRequireDefault(require("./styles.js"));
|
|
29
|
+
|
|
32
30
|
var _dec, _class, _class2, _temp;
|
|
33
31
|
|
|
34
|
-
var
|
|
35
|
-
componentId: 'fKESK',
|
|
36
|
-
template: function template(theme) {
|
|
37
|
-
return "\n\n.fKESK_eckF{margin:0;max-width:159px;text-transform:capitalize}\n\n.fKESK_CIyo{width:90px}";
|
|
38
|
-
},
|
|
39
|
-
'metricLabel': 'fKESK_eckF',
|
|
40
|
-
'metricWrapper': 'fKESK_CIyo'
|
|
41
|
-
};
|
|
42
|
-
var AnalysisMetric = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
32
|
+
var AnalysisMetric = (_dec = (0, _emotion.withStyle)(_styles.default, null), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
43
33
|
(0, _inherits2.default)(AnalysisMetric, _Component);
|
|
44
34
|
|
|
45
35
|
var _super = (0, _createSuper2.default)(AnalysisMetric);
|
|
@@ -58,18 +48,18 @@ var AnalysisMetric = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles)
|
|
|
58
48
|
value = _this$props.value,
|
|
59
49
|
suffix = _this$props.suffix;
|
|
60
50
|
var dataAutomation = "sdk-new-ia-quiz-analysis-".concat(metricKey);
|
|
61
|
-
return
|
|
51
|
+
return (0, _emotion.jsx)("div", {
|
|
62
52
|
"data-automation": dataAutomation,
|
|
63
|
-
|
|
64
|
-
},
|
|
53
|
+
css: this.props.styles.metricWrapper
|
|
54
|
+
}, (0, _emotion.jsx)(_uiMetric.Metric, {
|
|
65
55
|
themeOverride: {
|
|
66
56
|
valueFontWeight: 500,
|
|
67
57
|
padding: '0'
|
|
68
58
|
},
|
|
69
59
|
textAlign: "start",
|
|
70
60
|
key: metricKey,
|
|
71
|
-
renderLabel:
|
|
72
|
-
|
|
61
|
+
renderLabel: (0, _emotion.jsx)("p", {
|
|
62
|
+
css: this.props.styles.metricLabel
|
|
73
63
|
}, label),
|
|
74
64
|
renderValue: (0, _utils.getSanitizedMetricValue)(value, suffix)
|
|
75
65
|
}));
|
|
@@ -81,7 +71,8 @@ var AnalysisMetric = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles)
|
|
|
81
71
|
metricKey: _propTypes.default.string.isRequired,
|
|
82
72
|
label: _propTypes.default.string.isRequired,
|
|
83
73
|
value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string, _propTypes.default.array]),
|
|
84
|
-
suffix: _propTypes.default.string
|
|
74
|
+
suffix: _propTypes.default.string,
|
|
75
|
+
styles: _propTypes.default.object
|
|
85
76
|
}, _class2.defaultProps = {
|
|
86
77
|
value: void 0,
|
|
87
78
|
suffix: ''
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var generateStyle = function generateStyle() {
|
|
9
|
+
return {
|
|
10
|
+
metricLabel: {
|
|
11
|
+
margin: 0,
|
|
12
|
+
maxWidth: '159px',
|
|
13
|
+
textTransform: 'capitalize'
|
|
14
|
+
},
|
|
15
|
+
metricWrapper: {
|
|
16
|
+
width: '90px'
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
var _default = generateStyle;
|
|
22
|
+
exports.default = _default;
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/presenter.js
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
@@ -17,7 +15,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
17
15
|
|
|
18
16
|
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
19
17
|
|
|
20
|
-
var _react =
|
|
18
|
+
var _react = require("react");
|
|
21
19
|
|
|
22
20
|
var _uiMetric = require("@instructure/ui-metric");
|
|
23
21
|
|
|
@@ -25,24 +23,15 @@ var _utils = require("../utils.js");
|
|
|
25
23
|
|
|
26
24
|
var _index = _interopRequireDefault(require("../MetricPopover/index.js"));
|
|
27
25
|
|
|
28
|
-
var
|
|
26
|
+
var _emotion = require("@instructure/emotion");
|
|
29
27
|
|
|
30
|
-
var
|
|
28
|
+
var _styles = _interopRequireDefault(require("./styles.js"));
|
|
31
29
|
|
|
32
30
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
33
31
|
|
|
34
32
|
var _dec, _class, _class2, _temp;
|
|
35
33
|
|
|
36
|
-
var
|
|
37
|
-
componentId: 'dpcwk',
|
|
38
|
-
template: function template(theme) {
|
|
39
|
-
return "\n\n.dpcwk_elNf{max-width:159px}\n\n.dpcwk_eckF{margin:0;padding-right:24px;text-transform:capitalize}\n\n.dpcwk_dqHR{margin-left:-24px;padding-left:5px}";
|
|
40
|
-
},
|
|
41
|
-
'metricLabelContainer': 'dpcwk_elNf',
|
|
42
|
-
'metricLabel': 'dpcwk_eckF',
|
|
43
|
-
'popoverContainer': 'dpcwk_dqHR'
|
|
44
|
-
};
|
|
45
|
-
var AnalysisPopoverMetric = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
34
|
+
var AnalysisPopoverMetric = (_dec = (0, _emotion.withStyle)(_styles.default, null), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
46
35
|
(0, _inherits2.default)(AnalysisPopoverMetric, _Component);
|
|
47
36
|
|
|
48
37
|
var _super = (0, _createSuper2.default)(AnalysisPopoverMetric);
|
|
@@ -55,13 +44,13 @@ var AnalysisPopoverMetric = (_dec = (0, _uiThemeable.themeable)(_theme.default,
|
|
|
55
44
|
(0, _createClass2.default)(AnalysisPopoverMetric, [{
|
|
56
45
|
key: "renderLabelWithPopover",
|
|
57
46
|
value: function renderLabelWithPopover(texts) {
|
|
58
|
-
return
|
|
59
|
-
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
}, this.props.label),
|
|
63
|
-
|
|
64
|
-
},
|
|
47
|
+
return (0, _emotion.jsx)("div", {
|
|
48
|
+
css: this.props.styles.metricLabelContainer
|
|
49
|
+
}, (0, _emotion.jsx)("span", {
|
|
50
|
+
css: this.props.styles.metricLabel
|
|
51
|
+
}, this.props.label), (0, _emotion.jsx)("span", {
|
|
52
|
+
css: this.props.styles.popoverContainer
|
|
53
|
+
}, (0, _emotion.jsx)(_index.default, texts)));
|
|
65
54
|
}
|
|
66
55
|
}, {
|
|
67
56
|
key: "render",
|
|
@@ -70,7 +59,7 @@ var AnalysisPopoverMetric = (_dec = (0, _uiThemeable.themeable)(_theme.default,
|
|
|
70
59
|
metricKey = _this$props.metricKey,
|
|
71
60
|
popoverDescription = _this$props.popoverDescription,
|
|
72
61
|
value = _this$props.value;
|
|
73
|
-
return
|
|
62
|
+
return (0, _emotion.jsx)(_uiMetric.Metric, {
|
|
74
63
|
themeOverride: {
|
|
75
64
|
valueFontWeight: 500,
|
|
76
65
|
padding: '0'
|
|
@@ -93,7 +82,8 @@ var AnalysisPopoverMetric = (_dec = (0, _uiThemeable.themeable)(_theme.default,
|
|
|
93
82
|
subtitle: _propTypes.default.string,
|
|
94
83
|
body: _propTypes.default.string,
|
|
95
84
|
screenReaderLabel: _propTypes.default.string
|
|
96
|
-
}).isRequired
|
|
85
|
+
}).isRequired,
|
|
86
|
+
styles: _propTypes.default.object
|
|
97
87
|
}, _class2.defaultProps = {
|
|
98
88
|
value: void 0
|
|
99
89
|
}, _temp)) || _class);
|
package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/styles.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var generateStyle = function generateStyle() {
|
|
9
|
+
return {
|
|
10
|
+
metricLabelContainer: {
|
|
11
|
+
maxWidth: '159px'
|
|
12
|
+
},
|
|
13
|
+
metricLabel: {
|
|
14
|
+
margin: '0',
|
|
15
|
+
textTransform: 'capitalize',
|
|
16
|
+
paddingRight: '24px'
|
|
17
|
+
},
|
|
18
|
+
popoverContainer: {
|
|
19
|
+
paddingLeft: '5px',
|
|
20
|
+
marginLeft: '-24px'
|
|
21
|
+
/* same as metricLabel padding. This makes sure that the icon never wraps below the text */
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var _default = generateStyle;
|
|
28
|
+
exports.default = _default;
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
@@ -15,30 +13,23 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
15
13
|
|
|
16
14
|
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
17
15
|
|
|
18
|
-
var _react =
|
|
16
|
+
var _react = require("react");
|
|
19
17
|
|
|
20
18
|
var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
|
|
21
19
|
|
|
22
|
-
var _theme = _interopRequireDefault(require("./theme.js"));
|
|
23
|
-
|
|
24
|
-
var _uiThemeable = require("@instructure/ui-themeable");
|
|
25
|
-
|
|
26
20
|
var _uiFlex = require("@instructure/ui-flex");
|
|
27
21
|
|
|
28
22
|
var _uiHeading = require("@instructure/ui-heading");
|
|
29
23
|
|
|
24
|
+
var _emotion = require("@instructure/emotion");
|
|
25
|
+
|
|
26
|
+
var _styles = _interopRequireDefault(require("./styles.js"));
|
|
27
|
+
|
|
30
28
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
29
|
|
|
32
30
|
var _dec, _class, _class2, _temp;
|
|
33
31
|
|
|
34
|
-
var
|
|
35
|
-
componentId: 'bmsWU',
|
|
36
|
-
template: function template(theme) {
|
|
37
|
-
return "\n\n.bmsWU_rMrG{display:flex;flex-basis:100%;flex-direction:column}";
|
|
38
|
-
},
|
|
39
|
-
'tableWrapper': 'bmsWU_rMrG'
|
|
40
|
-
};
|
|
41
|
-
var AfsTableWrapper = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
32
|
+
var AfsTableWrapper = (_dec = (0, _emotion.withStyle)(_styles.default, null), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
|
|
42
33
|
(0, _inherits2.default)(AfsTableWrapper, _Component);
|
|
43
34
|
|
|
44
35
|
var _super = (0, _createSuper2.default)(AfsTableWrapper);
|
|
@@ -55,13 +46,14 @@ var AfsTableWrapper = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
55
46
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
56
47
|
|
|
57
48
|
_this.render = function () {
|
|
58
|
-
return
|
|
59
|
-
direction: "row"
|
|
60
|
-
|
|
49
|
+
return (0, _emotion.jsx)(_uiFlex.Flex, {
|
|
50
|
+
direction: "row",
|
|
51
|
+
"data-testid": "AfsTableWrapper"
|
|
52
|
+
}, (0, _emotion.jsx)(_uiFlex.Flex.Item, {
|
|
61
53
|
shouldGrow: true
|
|
62
|
-
},
|
|
63
|
-
|
|
64
|
-
},
|
|
54
|
+
}, (0, _emotion.jsx)("div", {
|
|
55
|
+
css: _this.props.styles.tableWrapper
|
|
56
|
+
}, (0, _emotion.jsx)(_uiHeading.Heading, {
|
|
65
57
|
margin: "x-large x-large x-large 0",
|
|
66
58
|
level: "h3",
|
|
67
59
|
weight: "bold",
|
|
@@ -74,6 +66,7 @@ var AfsTableWrapper = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles
|
|
|
74
66
|
|
|
75
67
|
return AfsTableWrapper;
|
|
76
68
|
}(_react.Component), _class2.propTypes = {
|
|
77
|
-
children: _propTypes.default.node.isRequired
|
|
69
|
+
children: _propTypes.default.node.isRequired,
|
|
70
|
+
styles: _propTypes.default.object
|
|
78
71
|
}, _temp)) || _class);
|
|
79
72
|
exports.AfsTableWrapper = AfsTableWrapper;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var generateStyle = function generateStyle() {
|
|
9
|
+
return {
|
|
10
|
+
tableWrapper: {
|
|
11
|
+
display: 'flex',
|
|
12
|
+
flexBasis: '100%',
|
|
13
|
+
flexDirection: 'column'
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var _default = generateStyle;
|
|
19
|
+
exports.default = _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.noAnswerMissing = void 0;
|
|
9
|
+
|
|
10
|
+
var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
|
|
11
|
+
|
|
12
|
+
var noAnswerMissing = {
|
|
13
|
+
title: (0, _formatMessage.default)('No Response'),
|
|
14
|
+
body: (0, _formatMessage.default)('No response is considered as Incorrect answer in this question type.'),
|
|
15
|
+
screenReaderLabel: (0, _formatMessage.default)('No response tooltip')
|
|
16
|
+
};
|
|
17
|
+
exports.noAnswerMissing = noAnswerMissing;
|
|
@@ -39,6 +39,10 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
39
39
|
|
|
40
40
|
var _uiText = require("@instructure/ui-text");
|
|
41
41
|
|
|
42
|
+
var _index = _interopRequireDefault(require("../../../MetricPopover/index.js"));
|
|
43
|
+
|
|
44
|
+
var _popoverContent = require("./popoverContent.js");
|
|
45
|
+
|
|
42
46
|
var _dec, _class, _class2, _temp;
|
|
43
47
|
|
|
44
48
|
var styles = {
|
|
@@ -91,15 +95,18 @@ var AggregationTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, style
|
|
|
91
95
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
92
96
|
|
|
93
97
|
_this.renderHeaderRow = function () {
|
|
98
|
+
var popover = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
|
|
94
99
|
var itemId = _this.props.itemId;
|
|
95
100
|
var answerHeaderId = "answer-frequency-summary-aggregate-answer-".concat(itemId);
|
|
96
101
|
var respondentsHeaderId = "answer-frequency-summary-aggregate-respondents-".concat(itemId);
|
|
97
102
|
var percentageHeaderId = "answer-frequency-summary-aggregate-percentage-".concat(itemId);
|
|
98
103
|
return /*#__PURE__*/_react.default.createElement(_uiTable.Table.Head, null, /*#__PURE__*/_react.default.createElement(_uiTable.Table.Row, null, /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
99
104
|
id: answerHeaderId
|
|
100
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
105
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
|
|
106
|
+
gap: "x-small"
|
|
107
|
+
}, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, /*#__PURE__*/_react.default.createElement("span", {
|
|
101
108
|
className: (0, _classnames.default)(styles.firstHeaderCell)
|
|
102
|
-
}, (0, _formatMessage.default)('Result'))), /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
109
|
+
}, (0, _formatMessage.default)('Result'))), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, popover && /*#__PURE__*/_react.default.createElement(_index.default, _popoverContent.noAnswerMissing)))), /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
103
110
|
id: respondentsHeaderId,
|
|
104
111
|
textAlign: "center"
|
|
105
112
|
}, (0, _formatMessage.default)('Respondents')), /*#__PURE__*/_react.default.createElement(_uiTable.Table.ColHeader, {
|
|
@@ -221,11 +228,12 @@ var AggregationTable = (_dec = (0, _uiThemeable.themeable)(_theme.default, style
|
|
|
221
228
|
};
|
|
222
229
|
|
|
223
230
|
_this.render = function () {
|
|
231
|
+
var popover = !_this.noAnswerExist();
|
|
224
232
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
225
233
|
className: (0, _classnames.default)(styles.collapsingTable, styles[_this.getColorProfile()])
|
|
226
234
|
}, /*#__PURE__*/_react.default.createElement(_uiTable.Table, {
|
|
227
235
|
caption: (0, _formatMessage.default)('Answer Frequency Summary Aggregates')
|
|
228
|
-
}, _this.renderHeaderRow(), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Body, null, _this.correctExist() && _this.renderCorrect(), _this.partialCorrectExist() && _this.renderPartialCorrect(), _this.incorrectExist() && _this.renderIncorrect(), _this.noAnswerExist() && _this.renderNoAnswer())));
|
|
236
|
+
}, _this.renderHeaderRow(popover), /*#__PURE__*/_react.default.createElement(_uiTable.Table.Body, null, _this.correctExist() && _this.renderCorrect(), _this.partialCorrectExist() && _this.renderPartialCorrect(), _this.incorrectExist() && _this.renderIncorrect(), _this.noAnswerExist() && _this.renderNoAnswer())));
|
|
229
237
|
};
|
|
230
238
|
|
|
231
239
|
return _this;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instructure/quiz-core",
|
|
3
|
-
"version": "19.1.
|
|
3
|
+
"version": "19.1.1-rc.1+6f25bb27e",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "The Quiz React SDK by Instructure Inc.",
|
|
6
6
|
"author": "Instructure, Inc. Engineering and Product Design",
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
"@instructure/emotion": "^8.48.3",
|
|
45
45
|
"@instructure/grading-utils": "^1.0.0",
|
|
46
46
|
"@instructure/outcomes-ui": "^2.1.9",
|
|
47
|
-
"@instructure/quiz-common": "
|
|
48
|
-
"@instructure/quiz-i18n": "
|
|
49
|
-
"@instructure/quiz-interactions": "
|
|
50
|
-
"@instructure/quiz-number-input": "
|
|
51
|
-
"@instructure/quiz-rce": "
|
|
47
|
+
"@instructure/quiz-common": "19.1.1-rc.1+6f25bb27e",
|
|
48
|
+
"@instructure/quiz-i18n": "19.1.1-rc.1+6f25bb27e",
|
|
49
|
+
"@instructure/quiz-interactions": "19.1.1-rc.1+6f25bb27e",
|
|
50
|
+
"@instructure/quiz-number-input": "19.1.1-rc.1+6f25bb27e",
|
|
51
|
+
"@instructure/quiz-rce": "19.1.1-rc.1+6f25bb27e",
|
|
52
52
|
"@instructure/ui-a11y-content": "^8.48.3",
|
|
53
53
|
"@instructure/ui-alerts": "^8.48.3",
|
|
54
54
|
"@instructure/ui-avatar": "^8.48.3",
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"file-saver": "~2.0.5",
|
|
111
111
|
"humps": "^2.0.0",
|
|
112
112
|
"immutable": "^3.8.1",
|
|
113
|
-
"instructure-validations": "
|
|
113
|
+
"instructure-validations": "19.1.1-rc.1+6f25bb27e",
|
|
114
114
|
"ipaddr.js": "^1.5.4",
|
|
115
115
|
"isomorphic-fetch": "^2.2.0",
|
|
116
116
|
"isuuid": "^0.1.0",
|
|
@@ -142,13 +142,14 @@
|
|
|
142
142
|
"uuid": "^3.2.1"
|
|
143
143
|
},
|
|
144
144
|
"devDependencies": {
|
|
145
|
-
"@instructure/quiz-scripts": "
|
|
145
|
+
"@instructure/quiz-scripts": "19.1.0",
|
|
146
146
|
"@instructure/ui-axe-check": "^8.48.3",
|
|
147
147
|
"@instructure/ui-babel-preset": "^7.22.1",
|
|
148
148
|
"@instructure/ui-karma-config": "^7.22.1",
|
|
149
149
|
"@instructure/ui-postcss-config": "^7.22.1",
|
|
150
150
|
"@instructure/ui-scripts": "^7.22.1",
|
|
151
151
|
"@instructure/ui-test-utils": "^7.22.1",
|
|
152
|
+
"@testing-library/react": "^12.1.5",
|
|
152
153
|
"chai": "^4.1.2",
|
|
153
154
|
"chai-as-promised": "^7.1.1",
|
|
154
155
|
"chai-enzyme": "^1.0.0-beta.1",
|
|
@@ -161,7 +162,7 @@
|
|
|
161
162
|
"intl": "^1.2.4",
|
|
162
163
|
"jquery": "^2.2.3",
|
|
163
164
|
"most-subject": "^5.3.0",
|
|
164
|
-
"quiz-presets": "
|
|
165
|
+
"quiz-presets": "19.1.1-rc.1+6f25bb27e",
|
|
165
166
|
"react": "^16.8.6",
|
|
166
167
|
"react-addons-test-utils": "^15.6.2",
|
|
167
168
|
"react-dom": "^16.8.6",
|
|
@@ -177,5 +178,5 @@
|
|
|
177
178
|
"publishConfig": {
|
|
178
179
|
"access": "public"
|
|
179
180
|
},
|
|
180
|
-
"gitHead": "
|
|
181
|
+
"gitHead": "6f25bb27e11398a4ec0718a343fd2dcebcd16b83"
|
|
181
182
|
}
|