@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 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
 
@@ -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/charting": "^5.15.6",
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",
@@ -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
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/charting-controller",
3
3
  "private": true,
4
- "version": "3.1.2",
4
+ "version": "3.1.3",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
@@ -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 _charting = require("@pie-lib/charting");
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(_charting.Chart, {
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: [_charting.chartTypes.Bar(), _charting.chartTypes.Histogram(), _charting.chartTypes.LineDot(), _charting.chartTypes.LineCross(), _charting.chartTypes.DotPlot(), _charting.chartTypes.LinePlot()],
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(_charting.Chart, {
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: [_charting.chartTypes.Bar(), _charting.chartTypes.Histogram(), _charting.chartTypes.LineDot(), _charting.chartTypes.LineCross(), _charting.chartTypes.DotPlot(), _charting.chartTypes.LinePlot()],
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.0",
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/charting": "^5.15.6",
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": "d60a43b5a716c3d62c9326e5edeea4dfd1f49222",
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"}