@pie-element/charting 6.5.0 → 6.5.1-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/configure/package.json +1 -1
- package/controller/CHANGELOG.md +11 -0
- package/controller/package.json +1 -1
- package/lib/__tests__/main.test.js +54 -0
- package/lib/main.js +9 -5
- package/lib/main.js.map +1 -1
- package/package.json +3 -3
- package/LICENSE.md +0 -5
- package/configure/lib/charting-config.js +0 -255
- package/configure/lib/charting-config.js.map +0 -1
- package/configure/lib/configure.js +0 -378
- package/configure/lib/configure.js.map +0 -1
- package/configure/lib/correct-response.js +0 -359
- package/configure/lib/correct-response.js.map +0 -1
- package/configure/lib/defaults.js +0 -174
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/index.js +0 -184
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/utils.js +0 -95
- package/configure/lib/utils.js.map +0 -1
- package/controller/lib/defaults.js +0 -15
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -360
- package/controller/lib/index.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [6.5.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/charting@6.5.0...@pie-element/charting@6.5.1) (2023-10-16)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **charting:** remove unwanted double quotes from error message ([89ca1db](https://github.com/pie-framework/pie-elements/commit/89ca1db5f2d33d56da8054849e555c2cffdb5c49))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [6.5.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/charting@6.4.3...@pie-element/charting@6.5.0) (2023-10-16)
|
|
7
18
|
|
|
8
19
|
|
package/configure/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@material-ui/core": "^3.9.2",
|
|
11
11
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
12
|
-
"@pie-lib/
|
|
12
|
+
"@pie-lib/chart-toolbox": "1.0.1-next.4188",
|
|
13
13
|
"@pie-lib/config-ui": "^11.9.23",
|
|
14
14
|
"@pie-lib/editable-html": "^11.1.0",
|
|
15
15
|
"@pie-lib/math-rendering": "2.5.18",
|
package/controller/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [3.1.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/charting-controller@3.1.2...@pie-element/charting-controller@3.1.3) (2023-10-16)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **charting:** remove unwanted double quotes from error message ([89ca1db](https://github.com/pie-framework/pie-elements/commit/89ca1db5f2d33d56da8054849e555c2cffdb5c49))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [3.1.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/charting-controller@3.1.1...@pie-element/charting-controller@3.1.2) (2023-10-16)
|
|
7
18
|
|
|
8
19
|
|
package/controller/package.json
CHANGED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
|
|
5
|
+
var React = _interopRequireWildcard(require("react"));
|
|
6
|
+
|
|
7
|
+
var _main = require("../main");
|
|
8
|
+
|
|
9
|
+
var _build = require("enzyme/build");
|
|
10
|
+
|
|
11
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
|
+
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
|
|
15
|
+
jest.mock('lodash/uniq', function () {
|
|
16
|
+
return function () {
|
|
17
|
+
return [];
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
describe('Main', function () {
|
|
21
|
+
var onAnswersChange = jest.fn();
|
|
22
|
+
var defaultProps = {
|
|
23
|
+
model: {
|
|
24
|
+
backgroundMarks: [],
|
|
25
|
+
correctMarks: []
|
|
26
|
+
},
|
|
27
|
+
onAnswersChange: onAnswersChange,
|
|
28
|
+
session: {}
|
|
29
|
+
};
|
|
30
|
+
describe('render', function () {
|
|
31
|
+
var w;
|
|
32
|
+
beforeEach(function () {
|
|
33
|
+
w = function w(props) {
|
|
34
|
+
return (0, _build.shallow)( /*#__PURE__*/React.createElement(_main.Main, props));
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
it('snapshot', function () {
|
|
38
|
+
expect(w(defaultProps)).toMatchSnapshot();
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe('logic', function () {
|
|
42
|
+
var w;
|
|
43
|
+
beforeEach(function () {
|
|
44
|
+
w = function w(props) {
|
|
45
|
+
return (0, _build.shallow)( /*#__PURE__*/React.createElement(_main.Main, props));
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
it('calls onAnswersChange', function () {
|
|
49
|
+
w(defaultProps).instance().changeData([]);
|
|
50
|
+
expect(onAnswersChange).toHaveBeenCalledWith([]);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWFpbi50ZXN0LmpzIl0sIm5hbWVzIjpbImplc3QiLCJtb2NrIiwiZGVzY3JpYmUiLCJvbkFuc3dlcnNDaGFuZ2UiLCJmbiIsImRlZmF1bHRQcm9wcyIsIm1vZGVsIiwiYmFja2dyb3VuZE1hcmtzIiwiY29ycmVjdE1hcmtzIiwic2Vzc2lvbiIsInciLCJiZWZvcmVFYWNoIiwicHJvcHMiLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsImluc3RhbmNlIiwiY2hhbmdlRGF0YSIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBQSxJQUFJLENBQUNDLElBQUwsQ0FBVSxhQUFWLEVBQXlCLFlBQU07QUFDN0IsU0FBTztBQUFBLFdBQU0sRUFBTjtBQUFBLEdBQVA7QUFDRCxDQUZEO0FBSUFDLFFBQVEsQ0FBQyxNQUFELEVBQVMsWUFBTTtBQUNyQixNQUFNQyxlQUFlLEdBQUdILElBQUksQ0FBQ0ksRUFBTCxFQUF4QjtBQUNBLE1BQU1DLFlBQVksR0FBRztBQUNuQkMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLGVBQWUsRUFBRSxFQURaO0FBRUxDLE1BQUFBLFlBQVksRUFBRTtBQUZULEtBRFk7QUFLbkJMLElBQUFBLGVBQWUsRUFBZkEsZUFMbUI7QUFNbkJNLElBQUFBLE9BQU8sRUFBRTtBQU5VLEdBQXJCO0FBU0FQLEVBQUFBLFFBQVEsQ0FBQyxRQUFELEVBQVcsWUFBTTtBQUN2QixRQUFJUSxDQUFKO0FBRUFDLElBQUFBLFVBQVUsQ0FBQyxZQUFNO0FBQ2ZELE1BQUFBLENBQUMsR0FBRyxXQUFDRSxLQUFEO0FBQUEsZUFBVyxrQ0FBUSxvQkFBQyxVQUFELEVBQVVBLEtBQVYsQ0FBUixDQUFYO0FBQUEsT0FBSjtBQUNELEtBRlMsQ0FBVjtBQUlBQyxJQUFBQSxFQUFFLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDbkJDLE1BQUFBLE1BQU0sQ0FBQ0osQ0FBQyxDQUFDTCxZQUFELENBQUYsQ0FBTixDQUF3QlUsZUFBeEI7QUFDRCxLQUZDLENBQUY7QUFHRCxHQVZPLENBQVI7QUFZQWIsRUFBQUEsUUFBUSxDQUFDLE9BQUQsRUFBVSxZQUFNO0FBQ3RCLFFBQUlRLENBQUo7QUFFQUMsSUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZkQsTUFBQUEsQ0FBQyxHQUFHLFdBQUNFLEtBQUQ7QUFBQSxlQUFXLGtDQUFRLG9CQUFDLFVBQUQsRUFBVUEsS0FBVixDQUFSLENBQVg7QUFBQSxPQUFKO0FBQ0QsS0FGUyxDQUFWO0FBSUFDLElBQUFBLEVBQUUsQ0FBQyx1QkFBRCxFQUEwQixZQUFNO0FBQ2hDSCxNQUFBQSxDQUFDLENBQUNMLFlBQUQsQ0FBRCxDQUFnQlcsUUFBaEIsR0FBMkJDLFVBQTNCLENBQXNDLEVBQXRDO0FBQ0FILE1BQUFBLE1BQU0sQ0FBQ1gsZUFBRCxDQUFOLENBQXdCZSxvQkFBeEIsQ0FBNkMsRUFBN0M7QUFDRCxLQUhDLENBQUY7QUFJRCxHQVhPLENBQVI7QUFZRCxDQW5DTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWFpbiB9IGZyb20gJy4uL21haW4nO1xuaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZS9idWlsZCc7XG5cbmplc3QubW9jaygnbG9kYXNoL3VuaXEnLCAoKSA9PiB7XG4gIHJldHVybiAoKSA9PiBbXTtcbn0pO1xuXG5kZXNjcmliZSgnTWFpbicsICgpID0+IHtcbiAgY29uc3Qgb25BbnN3ZXJzQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gICAgbW9kZWw6IHtcbiAgICAgIGJhY2tncm91bmRNYXJrczogW10sXG4gICAgICBjb3JyZWN0TWFya3M6IFtdLFxuICAgIH0sXG4gICAgb25BbnN3ZXJzQ2hhbmdlLFxuICAgIHNlc3Npb246IHt9LFxuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXInLCAoKSA9PiB7XG4gICAgbGV0IHc7XG5cbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIHcgPSAocHJvcHMpID0+IHNoYWxsb3coPE1haW4gey4uLnByb3BzfSAvPik7XG4gICAgfSk7XG5cbiAgICBpdCgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodyhkZWZhdWx0UHJvcHMpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ2ljJywgKCkgPT4ge1xuICAgIGxldCB3O1xuXG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICB3ID0gKHByb3BzKSA9PiBzaGFsbG93KDxNYWluIHsuLi5wcm9wc30gLz4pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NhbGxzIG9uQW5zd2Vyc0NoYW5nZScsICgpID0+IHtcbiAgICAgIHcoZGVmYXVsdFByb3BzKS5pbnN0YW5jZSgpLmNoYW5nZURhdGEoW10pO1xuICAgICAgZXhwZWN0KG9uQW5zd2Vyc0NoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoW10pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
package/lib/main.js
CHANGED
|
@@ -29,7 +29,7 @@ var _styles = require("@material-ui/core/styles");
|
|
|
29
29
|
|
|
30
30
|
var _renderUi = require("@pie-lib/render-ui");
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _chartToolbox = _interopRequireDefault(require("@pie-lib/chart-toolbox"));
|
|
33
33
|
|
|
34
34
|
var _isArray = _interopRequireDefault(require("lodash/isArray"));
|
|
35
35
|
|
|
@@ -45,6 +45,10 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
45
45
|
|
|
46
46
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
47
47
|
|
|
48
|
+
var _ChartToolbox$Chartin = _chartToolbox["default"].Charting,
|
|
49
|
+
Chart = _ChartToolbox$Chartin.Chart,
|
|
50
|
+
chartTypes = _ChartToolbox$Chartin.chartTypes;
|
|
51
|
+
|
|
48
52
|
var Main = /*#__PURE__*/function (_React$Component) {
|
|
49
53
|
(0, _inherits2["default"])(Main, _React$Component);
|
|
50
54
|
|
|
@@ -121,26 +125,26 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
121
125
|
toggled: showingCorrect,
|
|
122
126
|
onToggle: this.toggleCorrect,
|
|
123
127
|
language: language
|
|
124
|
-
}), showingCorrect && showToggle ? /*#__PURE__*/_react["default"].createElement(
|
|
128
|
+
}), showingCorrect && showToggle ? /*#__PURE__*/_react["default"].createElement(Chart, {
|
|
125
129
|
className: classes.chart,
|
|
126
130
|
chartType: chartType,
|
|
127
131
|
size: size,
|
|
128
132
|
domain: domain,
|
|
129
133
|
range: range,
|
|
130
|
-
charts: [
|
|
134
|
+
charts: [chartTypes.Bar(), chartTypes.Histogram(), chartTypes.LineDot(), chartTypes.LineCross(), chartTypes.DotPlot(), chartTypes.LinePlot()],
|
|
131
135
|
data: correctData || categories,
|
|
132
136
|
title: title,
|
|
133
137
|
onDataChange: this.changeData,
|
|
134
138
|
addCategoryEnabled: false,
|
|
135
139
|
categoryDefaultLabel: studentNewCategoryDefaultLabel,
|
|
136
140
|
language: language
|
|
137
|
-
}) : /*#__PURE__*/_react["default"].createElement(
|
|
141
|
+
}) : /*#__PURE__*/_react["default"].createElement(Chart, {
|
|
138
142
|
className: classes.chart,
|
|
139
143
|
chartType: chartType,
|
|
140
144
|
size: size,
|
|
141
145
|
domain: domain,
|
|
142
146
|
range: range,
|
|
143
|
-
charts: [
|
|
147
|
+
charts: [chartTypes.Bar(), chartTypes.Histogram(), chartTypes.LineDot(), chartTypes.LineCross(), chartTypes.DotPlot(), chartTypes.LinePlot()],
|
|
144
148
|
data: correctedAnswer || categories,
|
|
145
149
|
title: title,
|
|
146
150
|
onDataChange: this.changeData,
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["Main","props","data","setState","categories","onAnswersChange","showingCorrect","state","model","classes","teacherInstructions","prompt","chartType","size","domain","range","title","addCategoryEnabled","studentNewCategoryDefaultLabel","rationale","correctedAnswer","correctAnswer","language","correctData","map","interactive","editable","showToggle","length","mainContainer","collapsible","hidden","visible","toggleCorrect","chart","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","changeData","nextProps","prevState","newCategories","defaultCategories","nextCategories","React","Component","PropTypes","object","isRequired","func","array","styles","theme","color","text","backgroundColor","background","overflowX","overflowY","marginTop","spacing","unit","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color, Collapsible, hasText, PreviewPrompt } from '@pie-lib/render-ui';\nimport { Chart, chartTypes } from '@pie-lib/charting';\nimport isArray from 'lodash/isArray';\nimport isEqual from 'lodash/isEqual';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n categories: PropTypes.array,\n };\n\n static defaultProps = { classes: {} };\n\n constructor(props) {\n super(props);\n\n this.state = {\n categories: props.categories || props.model.data,\n showingCorrect: false,\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { categories: newCategories, model: { data: defaultCategories = [] } = {} } = nextProps;\n const { categories } = prevState;\n const nextCategories = isArray(newCategories) ? newCategories : defaultCategories;\n\n if (!isEqual(nextCategories, categories)) {\n return { categories: nextCategories };\n }\n\n return null;\n }\n\n changeData = (data) =>\n this.setState(\n {\n categories: data,\n },\n () => this.props.onAnswersChange(data),\n );\n\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n render() {\n const { categories, showingCorrect } = this.state;\n const { model, classes } = this.props;\n const {\n teacherInstructions,\n prompt,\n chartType,\n size,\n domain,\n range,\n title,\n addCategoryEnabled,\n studentNewCategoryDefaultLabel,\n rationale,\n correctedAnswer,\n correctAnswer,\n language\n } = model;\n\n const correctData =\n correctAnswer && correctAnswer.data\n ? correctAnswer.data.map((data) => {\n return {\n ...data,\n interactive: false,\n editable: false,\n };\n })\n : [];\n\n const showToggle = correctData && correctData.length > 0;\n\n return (\n <div className={classes.mainContainer}>\n {teacherInstructions && hasText(teacherInstructions) && (\n <Collapsible\n className={classes.collapsible}\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n\n {showingCorrect && showToggle ? (\n <Chart\n className={classes.chart}\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctData || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={false}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n />\n ) : (\n <Chart\n className={classes.chart}\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctedAnswer || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={addCategoryEnabled}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n />\n )}\n\n {rationale && hasText(rationale) && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n overflowX: 'scroll',\n overflowY: 'hidden',\n },\n chart: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["ChartToolbox","Charting","Chart","chartTypes","Main","props","data","setState","categories","onAnswersChange","showingCorrect","state","model","classes","teacherInstructions","prompt","chartType","size","domain","range","title","addCategoryEnabled","studentNewCategoryDefaultLabel","rationale","correctedAnswer","correctAnswer","language","correctData","map","interactive","editable","showToggle","length","mainContainer","collapsible","hidden","visible","toggleCorrect","chart","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","changeData","nextProps","prevState","newCategories","defaultCategories","nextCategories","React","Component","PropTypes","object","isRequired","func","array","styles","theme","color","text","backgroundColor","background","overflowX","overflowY","marginTop","spacing","unit","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color, Collapsible, hasText, PreviewPrompt } from '@pie-lib/render-ui';\nimport ChartToolbox from '@pie-lib/chart-toolbox';\nimport isArray from 'lodash/isArray';\nimport isEqual from 'lodash/isEqual';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\n\nconst { Chart, chartTypes } = ChartToolbox.Charting;\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n categories: PropTypes.array,\n };\n\n static defaultProps = { classes: {} };\n\n constructor(props) {\n super(props);\n\n this.state = {\n categories: props.categories || props.model.data,\n showingCorrect: false,\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { categories: newCategories, model: { data: defaultCategories = [] } = {} } = nextProps;\n const { categories } = prevState;\n const nextCategories = isArray(newCategories) ? newCategories : defaultCategories;\n\n if (!isEqual(nextCategories, categories)) {\n return { categories: nextCategories };\n }\n\n return null;\n }\n\n changeData = (data) =>\n this.setState(\n {\n categories: data,\n },\n () => this.props.onAnswersChange(data),\n );\n\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n render() {\n const { categories, showingCorrect } = this.state;\n const { model, classes } = this.props;\n const {\n teacherInstructions,\n prompt,\n chartType,\n size,\n domain,\n range,\n title,\n addCategoryEnabled,\n studentNewCategoryDefaultLabel,\n rationale,\n correctedAnswer,\n correctAnswer,\n language\n } = model;\n\n const correctData =\n correctAnswer && correctAnswer.data\n ? correctAnswer.data.map((data) => {\n return {\n ...data,\n interactive: false,\n editable: false,\n };\n })\n : [];\n\n const showToggle = correctData && correctData.length > 0;\n\n return (\n <div className={classes.mainContainer}>\n {teacherInstructions && hasText(teacherInstructions) && (\n <Collapsible\n className={classes.collapsible}\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n\n {showingCorrect && showToggle ? (\n <Chart\n className={classes.chart}\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctData || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={false}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n />\n ) : (\n <Chart\n className={classes.chart}\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctedAnswer || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={addCategoryEnabled}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n />\n )}\n\n {rationale && hasText(rationale) && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n overflowX: 'scroll',\n overflowY: 'hidden',\n },\n chart: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "6.5.
|
|
7
|
+
"version": "6.5.1-beta.2",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@material-ui/core": "^3.9.2",
|
|
15
15
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
16
|
-
"@pie-lib/
|
|
16
|
+
"@pie-lib/chart-toolbox": "1.0.1-next.4188",
|
|
17
17
|
"@pie-lib/correct-answer-toggle": "^2.5.11",
|
|
18
18
|
"@pie-lib/math-rendering": "2.5.18",
|
|
19
19
|
"@pie-lib/render-ui": "^4.15.9",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"author": "",
|
|
28
28
|
"license": "ISC",
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "0e14ff981bcdc8a89a0e58484026496701bfdbc3",
|
|
30
30
|
"main": "lib/index.js",
|
|
31
31
|
"module": "src/index.js"
|
|
32
32
|
}
|
package/LICENSE.md
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
Copyright 2019 CoreSpring Inc
|
|
2
|
-
|
|
3
|
-
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
|
4
|
-
|
|
5
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports["default"] = exports.ChartingConfig = void 0;
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
|
-
var React = _interopRequireWildcard(require("react"));
|
|
27
|
-
|
|
28
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
-
|
|
30
|
-
var _styles = require("@material-ui/core/styles");
|
|
31
|
-
|
|
32
|
-
var _charting = require("@pie-lib/charting");
|
|
33
|
-
|
|
34
|
-
var _configUi = require("@pie-lib/config-ui");
|
|
35
|
-
|
|
36
|
-
var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
|
|
37
|
-
|
|
38
|
-
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
|
|
39
|
-
|
|
40
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
41
|
-
|
|
42
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
43
|
-
|
|
44
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
45
|
-
|
|
46
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
47
|
-
|
|
48
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
49
|
-
|
|
50
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
51
|
-
|
|
52
|
-
var styles = function styles(theme) {
|
|
53
|
-
return {
|
|
54
|
-
container: {
|
|
55
|
-
marginBottom: theme.spacing.unit * 2.5,
|
|
56
|
-
display: 'flex',
|
|
57
|
-
flex: 1
|
|
58
|
-
},
|
|
59
|
-
title: {
|
|
60
|
-
marginBottom: theme.spacing.unit
|
|
61
|
-
},
|
|
62
|
-
column: {
|
|
63
|
-
flex: 1
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
var restoreCorrectAnswer = function restoreCorrectAnswer(correctAnswer, data) {
|
|
69
|
-
if (!correctAnswer) {
|
|
70
|
-
return data;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
var correctResponseDefinition = [];
|
|
74
|
-
(data || []).forEach(function (category, currentIndex) {
|
|
75
|
-
var _correctAnswer$curren, _correctAnswer$curren2;
|
|
76
|
-
|
|
77
|
-
var editable = category.editable,
|
|
78
|
-
interactive = category.interactive;
|
|
79
|
-
var label = editable && (_correctAnswer$curren = correctAnswer[currentIndex]) !== null && _correctAnswer$curren !== void 0 && _correctAnswer$curren.label ? correctAnswer[currentIndex].label : category.label;
|
|
80
|
-
var value = interactive && (_correctAnswer$curren2 = correctAnswer[currentIndex]) !== null && _correctAnswer$curren2 !== void 0 && _correctAnswer$curren2.value ? correctAnswer[currentIndex].value : category.value;
|
|
81
|
-
correctResponseDefinition[currentIndex] = {
|
|
82
|
-
label: label,
|
|
83
|
-
value: value,
|
|
84
|
-
editable: category.editable,
|
|
85
|
-
interactive: category.interactive
|
|
86
|
-
};
|
|
87
|
-
});
|
|
88
|
-
return correctResponseDefinition;
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
var ChartingConfig = /*#__PURE__*/function (_React$Component) {
|
|
92
|
-
(0, _inherits2["default"])(ChartingConfig, _React$Component);
|
|
93
|
-
|
|
94
|
-
var _super = _createSuper(ChartingConfig);
|
|
95
|
-
|
|
96
|
-
function ChartingConfig(props) {
|
|
97
|
-
var _this;
|
|
98
|
-
|
|
99
|
-
(0, _classCallCheck2["default"])(this, ChartingConfig);
|
|
100
|
-
_this = _super.call(this, props);
|
|
101
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleAlertDialog", function (open, callback) {
|
|
102
|
-
return _this.setState({
|
|
103
|
-
dialog: {
|
|
104
|
-
open: open
|
|
105
|
-
}
|
|
106
|
-
}, callback);
|
|
107
|
-
});
|
|
108
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeData", function (data) {
|
|
109
|
-
return _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, {
|
|
110
|
-
data: data
|
|
111
|
-
}));
|
|
112
|
-
});
|
|
113
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeAddRemoveEnabled", function (value) {
|
|
114
|
-
var model = _this.props.model;
|
|
115
|
-
var correctAnswer = restoreCorrectAnswer(model.correctAnswer.data, model.data);
|
|
116
|
-
|
|
117
|
-
if (!value) {
|
|
118
|
-
_this.setState({
|
|
119
|
-
dialog: {
|
|
120
|
-
open: true,
|
|
121
|
-
title: 'Warning',
|
|
122
|
-
text: 'This change will remove any correct answer categories that are not part of the initial item configuration.',
|
|
123
|
-
onConfirm: function onConfirm() {
|
|
124
|
-
return _this.handleAlertDialog(false, _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, {
|
|
125
|
-
addCategoryEnabled: value,
|
|
126
|
-
correctAnswer: {
|
|
127
|
-
data: correctAnswer
|
|
128
|
-
}
|
|
129
|
-
})));
|
|
130
|
-
},
|
|
131
|
-
onClose: function onClose() {
|
|
132
|
-
return _this.handleAlertDialog(false);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
} else {
|
|
137
|
-
_this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, {
|
|
138
|
-
addCategoryEnabled: value
|
|
139
|
-
}));
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeTitle", function (title) {
|
|
143
|
-
return _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, {
|
|
144
|
-
title: title
|
|
145
|
-
}));
|
|
146
|
-
});
|
|
147
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeLabel", function (type, label) {
|
|
148
|
-
return _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, (0, _defineProperty2["default"])({}, type, _objectSpread(_objectSpread({}, _this.props.model[type]), {}, {
|
|
149
|
-
label: label
|
|
150
|
-
}))));
|
|
151
|
-
});
|
|
152
|
-
_this.state = {
|
|
153
|
-
dialog: {
|
|
154
|
-
open: false
|
|
155
|
-
}
|
|
156
|
-
};
|
|
157
|
-
return _this;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
(0, _createClass2["default"])(ChartingConfig, [{
|
|
161
|
-
key: "render",
|
|
162
|
-
value: function render() {
|
|
163
|
-
var _this2 = this,
|
|
164
|
-
_chartingOptions$addC;
|
|
165
|
-
|
|
166
|
-
var _this$props = this.props,
|
|
167
|
-
classes = _this$props.classes,
|
|
168
|
-
model = _this$props.model,
|
|
169
|
-
charts = _this$props.charts,
|
|
170
|
-
labelsPlaceholders = _this$props.labelsPlaceholders,
|
|
171
|
-
titlePlaceholder = _this$props.titlePlaceholder,
|
|
172
|
-
showPixelGuides = _this$props.showPixelGuides,
|
|
173
|
-
authorNewCategoryDefaults = _this$props.authorNewCategoryDefaults,
|
|
174
|
-
chartingOptions = _this$props.chartingOptions,
|
|
175
|
-
_this$props$mathMlOpt = _this$props.mathMlOptions,
|
|
176
|
-
mathMlOptions = _this$props$mathMlOpt === void 0 ? {} : _this$props$mathMlOpt;
|
|
177
|
-
var dialog = this.state.dialog;
|
|
178
|
-
|
|
179
|
-
var _ref = model || {},
|
|
180
|
-
_ref$domain = _ref.domain,
|
|
181
|
-
domain = _ref$domain === void 0 ? {} : _ref$domain,
|
|
182
|
-
_ref$range = _ref.range,
|
|
183
|
-
range = _ref$range === void 0 ? {} : _ref$range;
|
|
184
|
-
|
|
185
|
-
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
|
|
186
|
-
className: classes.title
|
|
187
|
-
}, "Define Initial Chart Attributes"), /*#__PURE__*/React.createElement("div", {
|
|
188
|
-
className: classes.container
|
|
189
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
190
|
-
className: classes.column,
|
|
191
|
-
key: "graph"
|
|
192
|
-
}, /*#__PURE__*/React.createElement(_Typography["default"], {
|
|
193
|
-
component: "div",
|
|
194
|
-
type: "body1"
|
|
195
|
-
}, /*#__PURE__*/React.createElement("span", null, "Use the tools below to set up the chart as it will initially appear to students.")), /*#__PURE__*/React.createElement(_charting.Chart, {
|
|
196
|
-
defineChart: true,
|
|
197
|
-
chartingOptions: chartingOptions,
|
|
198
|
-
showPixelGuides: showPixelGuides,
|
|
199
|
-
chartType: model.chartType,
|
|
200
|
-
size: model.graph,
|
|
201
|
-
domain: domain,
|
|
202
|
-
range: range,
|
|
203
|
-
charts: charts // index is a property used for setting the correct answer data; it's needed in order to remove categories from other data sets from the same index it was removed from the initial data
|
|
204
|
-
,
|
|
205
|
-
data: model.data.map(function (category, index) {
|
|
206
|
-
return _objectSpread(_objectSpread({}, category), {}, {
|
|
207
|
-
index: index
|
|
208
|
-
});
|
|
209
|
-
}),
|
|
210
|
-
title: model.title,
|
|
211
|
-
onDataChange: this.changeData,
|
|
212
|
-
onChangeTitle: this.changeTitle,
|
|
213
|
-
onChangeLabels: this.changeLabel,
|
|
214
|
-
addCategoryEnabled: true,
|
|
215
|
-
changeInteractiveEnabled: model.changeInteractiveEnabled,
|
|
216
|
-
changeEditableEnabled: model.changeEditableEnabled,
|
|
217
|
-
categoryDefaultLabel: authorNewCategoryDefaults === null || authorNewCategoryDefaults === void 0 ? void 0 : authorNewCategoryDefaults.label,
|
|
218
|
-
categoryDefaults: authorNewCategoryDefaults,
|
|
219
|
-
labelsPlaceholders: labelsPlaceholders,
|
|
220
|
-
titlePlaceholder: titlePlaceholder === null || titlePlaceholder === void 0 ? void 0 : titlePlaceholder.label,
|
|
221
|
-
mathMlOptions: mathMlOptions
|
|
222
|
-
}), model.changeAddCategoryEnabled && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_Checkbox["default"], {
|
|
223
|
-
checked: model.addCategoryEnabled,
|
|
224
|
-
onChange: function onChange(e) {
|
|
225
|
-
_this2.changeAddRemoveEnabled(e.target.checked);
|
|
226
|
-
}
|
|
227
|
-
}), chartingOptions === null || chartingOptions === void 0 ? void 0 : (_chartingOptions$addC = chartingOptions.addCategory) === null || _chartingOptions$addC === void 0 ? void 0 : _chartingOptions$addC.authoringLabel), /*#__PURE__*/React.createElement(_configUi.AlertDialog, {
|
|
228
|
-
open: dialog.open,
|
|
229
|
-
title: dialog.title,
|
|
230
|
-
text: dialog.text,
|
|
231
|
-
onClose: dialog.onClose,
|
|
232
|
-
onConfirm: dialog.onConfirm
|
|
233
|
-
}))));
|
|
234
|
-
}
|
|
235
|
-
}]);
|
|
236
|
-
return ChartingConfig;
|
|
237
|
-
}(React.Component);
|
|
238
|
-
|
|
239
|
-
exports.ChartingConfig = ChartingConfig;
|
|
240
|
-
(0, _defineProperty2["default"])(ChartingConfig, "propTypes", {
|
|
241
|
-
classes: _propTypes["default"].object.isRequired,
|
|
242
|
-
model: _propTypes["default"].object.isRequired,
|
|
243
|
-
onChange: _propTypes["default"].func.isRequired,
|
|
244
|
-
charts: _propTypes["default"].array,
|
|
245
|
-
labelsPlaceholders: _propTypes["default"].object,
|
|
246
|
-
titlePlaceholder: _propTypes["default"].object,
|
|
247
|
-
showPixelGuides: _propTypes["default"].bool,
|
|
248
|
-
authorNewCategoryDefaults: _propTypes["default"].object,
|
|
249
|
-
chartingOptions: _propTypes["default"].object
|
|
250
|
-
});
|
|
251
|
-
|
|
252
|
-
var _default = (0, _styles.withStyles)(styles)(ChartingConfig);
|
|
253
|
-
|
|
254
|
-
exports["default"] = _default;
|
|
255
|
-
//# sourceMappingURL=charting-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charting-config.jsx"],"names":["styles","theme","container","marginBottom","spacing","unit","display","flex","title","column","restoreCorrectAnswer","correctAnswer","data","correctResponseDefinition","forEach","category","currentIndex","editable","interactive","label","value","ChartingConfig","props","open","callback","setState","dialog","onChange","model","text","onConfirm","handleAlertDialog","addCategoryEnabled","onClose","type","state","classes","charts","labelsPlaceholders","titlePlaceholder","showPixelGuides","authorNewCategoryDefaults","chartingOptions","mathMlOptions","domain","range","chartType","graph","map","index","changeData","changeTitle","changeLabel","changeInteractiveEnabled","changeEditableEnabled","changeAddCategoryEnabled","e","changeAddRemoveEnabled","target","checked","addCategory","authoringLabel","React","Component","PropTypes","object","isRequired","func","array","bool"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Chart } from '@pie-lib/charting';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport Checkbox from '@material-ui/core/Checkbox';\n\nimport Typography from '@material-ui/core/Typography';\n\nconst styles = (theme) => ({\n container: {\n marginBottom: theme.spacing.unit * 2.5,\n display: 'flex',\n flex: 1,\n },\n title: {\n marginBottom: theme.spacing.unit,\n },\n column: {\n flex: 1,\n },\n});\n\nconst restoreCorrectAnswer = (correctAnswer, data) => {\n if (!correctAnswer) {\n return data;\n }\n\n let correctResponseDefinition = [];\n\n (data || []).forEach((category, currentIndex) => {\n const { editable, interactive } = category;\n\n const label = editable && correctAnswer[currentIndex]?.label ? correctAnswer[currentIndex].label : category.label;\n\n const value =\n interactive && correctAnswer[currentIndex]?.value ? correctAnswer[currentIndex].value : category.value;\n\n correctResponseDefinition[currentIndex] = {\n label: label,\n value: value,\n editable: category.editable,\n interactive: category.interactive,\n };\n });\n\n return correctResponseDefinition;\n};\n\nexport class ChartingConfig extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n charts: PropTypes.array,\n labelsPlaceholders: PropTypes.object,\n titlePlaceholder: PropTypes.object,\n showPixelGuides: PropTypes.bool,\n authorNewCategoryDefaults: PropTypes.object,\n chartingOptions: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n dialog: {\n open: false,\n },\n };\n }\n\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n changeData = (data) => this.props.onChange({ ...this.props.model, data });\n\n changeAddRemoveEnabled = (value) => {\n const { model } = this.props;\n const correctAnswer = restoreCorrectAnswer(model.correctAnswer.data, model.data);\n\n if (!value) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'This change will remove any correct answer categories that are not part of the initial item configuration.',\n onConfirm: () =>\n this.handleAlertDialog(\n false,\n this.props.onChange({\n ...this.props.model,\n addCategoryEnabled: value,\n correctAnswer: { data: correctAnswer },\n }),\n ),\n onClose: () => this.handleAlertDialog(false),\n },\n });\n } else {\n this.props.onChange({ ...this.props.model, addCategoryEnabled: value });\n }\n };\n\n changeTitle = (title) => this.props.onChange({ ...this.props.model, title });\n\n changeLabel = (type, label) =>\n this.props.onChange({\n ...this.props.model,\n [type]: {\n ...this.props.model[type],\n label,\n },\n });\n\n render() {\n const {\n classes,\n model,\n charts,\n labelsPlaceholders,\n titlePlaceholder,\n showPixelGuides,\n authorNewCategoryDefaults,\n chartingOptions,\n mathMlOptions = {},\n } = this.props;\n const { dialog } = this.state;\n const { domain = {}, range = {} } = model || {};\n\n return (\n <div>\n <div className={classes.title}>Define Initial Chart Attributes</div>\n <div className={classes.container}>\n <div className={classes.column} key=\"graph\">\n <Typography component=\"div\" type=\"body1\">\n <span>Use the tools below to set up the chart as it will initially appear to students.</span>\n </Typography>\n\n <Chart\n defineChart={true}\n chartingOptions={chartingOptions}\n showPixelGuides={showPixelGuides}\n chartType={model.chartType}\n size={model.graph}\n domain={domain}\n range={range}\n charts={charts}\n // index is a property used for setting the correct answer data; it's needed in order to remove categories from other data sets from the same index it was removed from the initial data\n data={model.data.map((category, index) => ({\n ...category,\n index: index,\n }))}\n title={model.title}\n onDataChange={this.changeData}\n onChangeTitle={this.changeTitle}\n onChangeLabels={this.changeLabel}\n addCategoryEnabled={true}\n changeInteractiveEnabled={model.changeInteractiveEnabled}\n changeEditableEnabled={model.changeEditableEnabled}\n categoryDefaultLabel={authorNewCategoryDefaults?.label}\n categoryDefaults={authorNewCategoryDefaults}\n labelsPlaceholders={labelsPlaceholders}\n titlePlaceholder={titlePlaceholder?.label}\n mathMlOptions={mathMlOptions}\n />\n {model.changeAddCategoryEnabled && (\n <div>\n <Checkbox\n checked={model.addCategoryEnabled}\n onChange={(e) => {\n this.changeAddRemoveEnabled(e.target.checked);\n }}\n />\n {chartingOptions?.addCategory?.authoringLabel}\n </div>\n )}\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(ChartingConfig);\n"],"file":"charting-config.js"}
|