@pie-lib/charting 5.36.2-next.0 → 5.38.0-mui-update.0

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.
Files changed (77) hide show
  1. package/CHANGELOG.md +26 -15
  2. package/lib/actions-button.js +60 -90
  3. package/lib/actions-button.js.map +1 -1
  4. package/lib/axes.js +154 -234
  5. package/lib/axes.js.map +1 -1
  6. package/lib/bars/bar.js +13 -41
  7. package/lib/bars/bar.js.map +1 -1
  8. package/lib/bars/common/bars.js +55 -126
  9. package/lib/bars/common/bars.js.map +1 -1
  10. package/lib/bars/common/correct-check-icon.js +1 -6
  11. package/lib/bars/common/correct-check-icon.js.map +1 -1
  12. package/lib/bars/histogram.js +13 -41
  13. package/lib/bars/histogram.js.map +1 -1
  14. package/lib/chart-setup.js +110 -184
  15. package/lib/chart-setup.js.map +1 -1
  16. package/lib/chart-type.js +38 -43
  17. package/lib/chart-type.js.map +1 -1
  18. package/lib/chart-types.js +1 -10
  19. package/lib/chart-types.js.map +1 -1
  20. package/lib/chart.js +74 -146
  21. package/lib/chart.js.map +1 -1
  22. package/lib/common/correctness-indicators.js +74 -52
  23. package/lib/common/correctness-indicators.js.map +1 -1
  24. package/lib/common/drag-handle.js +67 -105
  25. package/lib/common/drag-handle.js.map +1 -1
  26. package/lib/common/drag-icon.js +6 -12
  27. package/lib/common/drag-icon.js.map +1 -1
  28. package/lib/common/styles.js +6 -24
  29. package/lib/common/styles.js.map +1 -1
  30. package/lib/grid.js +44 -81
  31. package/lib/grid.js.map +1 -1
  32. package/lib/index.js +0 -6
  33. package/lib/index.js.map +1 -1
  34. package/lib/key-legend.js +63 -87
  35. package/lib/key-legend.js.map +1 -1
  36. package/lib/line/common/drag-handle.js +69 -100
  37. package/lib/line/common/drag-handle.js.map +1 -1
  38. package/lib/line/common/line.js +43 -92
  39. package/lib/line/common/line.js.map +1 -1
  40. package/lib/line/line-cross.js +77 -87
  41. package/lib/line/line-cross.js.map +1 -1
  42. package/lib/line/line-dot.js +66 -78
  43. package/lib/line/line-dot.js.map +1 -1
  44. package/lib/mark-label.js +75 -117
  45. package/lib/mark-label.js.map +1 -1
  46. package/lib/plot/common/plot.js +76 -144
  47. package/lib/plot/common/plot.js.map +1 -1
  48. package/lib/plot/dot.js +31 -57
  49. package/lib/plot/dot.js.map +1 -1
  50. package/lib/plot/line.js +37 -62
  51. package/lib/plot/line.js.map +1 -1
  52. package/lib/tool-menu.js +48 -80
  53. package/lib/tool-menu.js.map +1 -1
  54. package/lib/utils.js +20 -77
  55. package/lib/utils.js.map +1 -1
  56. package/package.json +12 -9
  57. package/src/actions-button.jsx +44 -39
  58. package/src/axes.jsx +61 -75
  59. package/src/bars/common/bars.jsx +8 -23
  60. package/src/chart-setup.jsx +68 -78
  61. package/src/chart-type.js +29 -22
  62. package/src/chart.jsx +8 -20
  63. package/src/common/correctness-indicators.jsx +51 -13
  64. package/src/common/drag-handle.jsx +44 -59
  65. package/src/common/drag-icon.jsx +2 -2
  66. package/src/common/styles.js +1 -1
  67. package/src/grid.jsx +9 -13
  68. package/src/key-legend.jsx +62 -60
  69. package/src/line/common/drag-handle.jsx +57 -55
  70. package/src/line/common/line.jsx +16 -9
  71. package/src/line/line-cross.js +37 -12
  72. package/src/line/line-dot.js +30 -11
  73. package/src/mark-label.jsx +43 -44
  74. package/src/plot/common/plot.jsx +17 -22
  75. package/src/plot/dot.js +10 -3
  76. package/src/plot/line.js +14 -6
  77. package/src/tool-menu.jsx +20 -23
@@ -1,116 +1,141 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.resetValues = exports["default"] = void 0;
11
-
12
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
-
22
14
  var _renderUi = require("@pie-lib/render-ui");
23
-
24
- var _styles = require("@material-ui/core/styles");
25
-
26
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
27
-
15
+ var _styles = require("@mui/material/styles");
16
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
28
17
  var _chartType = _interopRequireDefault(require("./chart-type"));
29
-
30
18
  var _configUi = require("@pie-lib/config-ui");
31
-
32
- 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); }
33
-
34
- 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; }
35
-
36
- 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; }
37
-
38
- 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; }
39
-
40
- var resetValues = function resetValues(data, updateModel, range, onChange, model) {
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
20
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
+ var resetValues = exports.resetValues = function resetValues(data, updateModel, range, onChange, model) {
41
23
  (data || []).forEach(function (d) {
42
24
  var d_value_scaled = Math.round(d.value * 10);
43
25
  var range_step_scaled = Math.round(range.step * 10);
44
26
  var remainder_scaled = d_value_scaled % range_step_scaled;
45
27
  var remainder = remainder_scaled / 10;
46
-
47
28
  if (d.value > range.max || remainder !== 0) {
48
29
  d.value = 0;
49
30
  }
50
31
  });
51
-
52
32
  if (updateModel) {
53
33
  onChange(_objectSpread(_objectSpread({}, model), {}, {
54
34
  data: data
55
35
  }));
56
36
  }
57
37
  };
58
-
59
- exports.resetValues = resetValues;
60
-
38
+ var StyledWrapper = (0, _styles.styled)('div')(function () {
39
+ return {
40
+ width: '450px'
41
+ };
42
+ });
43
+ var StyledContent = (0, _styles.styled)('div')(function (_ref) {
44
+ var theme = _ref.theme;
45
+ return {
46
+ display: 'flex',
47
+ flexDirection: 'column',
48
+ width: '100%',
49
+ marginTop: theme.spacing(3)
50
+ };
51
+ });
52
+ var StyledColumnView = (0, _styles.styled)('div')(function () {
53
+ return {
54
+ display: 'flex',
55
+ flexDirection: 'column',
56
+ alignItems: 'center'
57
+ };
58
+ });
59
+ var StyledRowView = (0, _styles.styled)('div')(function () {
60
+ return {
61
+ display: 'flex',
62
+ justifyContent: 'space-around',
63
+ alignItems: 'center'
64
+ };
65
+ });
66
+ var StyledTextField = (0, _styles.styled)(_configUi.NumberTextFieldCustom)(function (_ref2) {
67
+ var theme = _ref2.theme;
68
+ return {
69
+ width: '130px',
70
+ margin: "".concat(theme.spacing(1), " ").concat(theme.spacing(0.5))
71
+ };
72
+ });
73
+ var StyledMediumTextField = (0, _styles.styled)(_configUi.NumberTextFieldCustom)(function (_ref3) {
74
+ var theme = _ref3.theme;
75
+ return {
76
+ width: '160px',
77
+ margin: "".concat(theme.spacing(1), " ").concat(theme.spacing(0.5))
78
+ };
79
+ });
80
+ var StyledDimensions = (0, _styles.styled)('div')(function (_ref4) {
81
+ var theme = _ref4.theme;
82
+ return {
83
+ display: 'flex',
84
+ justifyContent: 'space-between',
85
+ alignItems: 'center',
86
+ margin: "".concat(theme.spacing(3), " 0")
87
+ };
88
+ });
89
+ var StyledDisabled = (0, _styles.styled)(_Typography["default"])(function () {
90
+ return {
91
+ color: _renderUi.color.disabled()
92
+ };
93
+ });
61
94
  var ConfigureChartPanel = function ConfigureChartPanel(props) {
62
- var classes = props.classes,
63
- model = props.model,
64
- onChange = props.onChange,
65
- chartDimensions = props.chartDimensions,
66
- _props$gridValues = props.gridValues,
67
- gridValues = _props$gridValues === void 0 ? {} : _props$gridValues,
68
- _props$labelValues = props.labelValues,
69
- labelValues = _props$labelValues === void 0 ? {} : _props$labelValues,
70
- _props$studentNewCate = props.studentNewCategoryDefaultLabel,
71
- studentNewCategoryDefaultLabel = _props$studentNewCate === void 0 ? {} : _props$studentNewCate,
72
- _props$availableChart = props.availableChartTypes,
73
- availableChartTypes = _props$availableChart === void 0 ? {} : _props$availableChart,
74
- chartTypeLabel = props.chartTypeLabel;
75
-
95
+ var model = props.model,
96
+ onChange = props.onChange,
97
+ chartDimensions = props.chartDimensions,
98
+ _props$gridValues = props.gridValues,
99
+ gridValues = _props$gridValues === void 0 ? {} : _props$gridValues,
100
+ _props$labelValues = props.labelValues,
101
+ labelValues = _props$labelValues === void 0 ? {} : _props$labelValues,
102
+ _props$studentNewCate = props.studentNewCategoryDefaultLabel,
103
+ studentNewCategoryDefaultLabel = _props$studentNewCate === void 0 ? {} : _props$studentNewCate,
104
+ _props$availableChart = props.availableChartTypes,
105
+ availableChartTypes = _props$availableChart === void 0 ? {} : _props$availableChart,
106
+ chartTypeLabel = props.chartTypeLabel;
76
107
  var _useState = (0, _react.useState)({
77
- open: false,
78
- title: '',
79
- text: '',
80
- onClose: null,
81
- onConfirm: null
82
- }),
83
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
84
- alertDialog = _useState2[0],
85
- setAlertDialog = _useState2[1];
86
-
108
+ open: false,
109
+ title: '',
110
+ text: '',
111
+ onClose: null,
112
+ onConfirm: null
113
+ }),
114
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
115
+ alertDialog = _useState2[0],
116
+ setAlertDialog = _useState2[1];
87
117
  var _useState3 = (0, _react.useState)(false),
88
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
89
- open = _useState4[0],
90
- setOpen = _useState4[1];
91
-
118
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
119
+ open = _useState4[0],
120
+ setOpen = _useState4[1];
92
121
  var _useState5 = (0, _react.useState)(''),
93
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
94
- rangeKey = _useState6[0],
95
- setRangeKey = _useState6[1];
96
-
122
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
123
+ rangeKey = _useState6[0],
124
+ setRangeKey = _useState6[1];
97
125
  var _useState7 = (0, _react.useState)(0),
98
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
99
- resetValue = _useState8[0],
100
- setResetValue = _useState8[1];
101
-
126
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
127
+ resetValue = _useState8[0],
128
+ setResetValue = _useState8[1];
102
129
  var _model$range = model.range,
103
- range = _model$range === void 0 ? {} : _model$range,
104
- correctAnswer = model.correctAnswer,
105
- changeInteractiveEnabled = model.changeInteractiveEnabled,
106
- changeEditableEnabled = model.changeEditableEnabled;
130
+ range = _model$range === void 0 ? {} : _model$range,
131
+ correctAnswer = model.correctAnswer,
132
+ changeInteractiveEnabled = model.changeInteractiveEnabled,
133
+ changeEditableEnabled = model.changeEditableEnabled;
107
134
  var size = model.graph;
108
-
109
- var _ref = chartDimensions || {},
110
- showInConfigPanel = _ref.showInConfigPanel,
111
- width = _ref.width,
112
- height = _ref.height;
113
-
135
+ var _ref5 = chartDimensions || {},
136
+ showInConfigPanel = _ref5.showInConfigPanel,
137
+ width = _ref5.width,
138
+ height = _ref5.height;
114
139
  var widthConstraints = {
115
140
  min: width !== null && width !== void 0 && width.min ? Math.max(50, width.min) : 50,
116
141
  max: width !== null && width !== void 0 && width.max ? Math.min(700, width.max) : 700,
@@ -133,19 +158,14 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
133
158
  min: 0,
134
159
  max: 10000
135
160
  };
136
-
137
- var stepConfig = /*#__PURE__*/_react["default"].createElement("div", {
138
- className: classes.rowView
139
- }, /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, (0, _extends2["default"])({
140
- className: classes.mediumTextField,
161
+ var stepConfig = /*#__PURE__*/_react["default"].createElement(StyledRowView, null, /*#__PURE__*/_react["default"].createElement(StyledMediumTextField, (0, _extends2["default"])({
141
162
  label: "Grid Interval",
142
163
  value: range.step,
143
164
  variant: "outlined",
144
165
  onChange: function onChange(e, v) {
145
166
  return onRangeChanged('step', v, e);
146
167
  }
147
- }, gridOptions)), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, (0, _extends2["default"])({
148
- className: classes.mediumTextField,
168
+ }, gridOptions)), /*#__PURE__*/_react["default"].createElement(StyledMediumTextField, (0, _extends2["default"])({
149
169
  label: 'Label Interval',
150
170
  value: range.labelStep,
151
171
  variant: 'outlined',
@@ -153,7 +173,6 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
153
173
  return onRangeChanged('labelStep', v, e);
154
174
  }
155
175
  }, labelOptions)));
156
-
157
176
  var handleAlertDialog = function handleAlertDialog(openStatus, callback) {
158
177
  setAlertDialog(function (prevState) {
159
178
  return _objectSpread(_objectSpread({}, prevState), {}, {
@@ -166,40 +185,32 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
166
185
  });
167
186
  setOpen(openStatus);
168
187
  };
169
-
170
188
  var setPropertiesToFalse = function setPropertiesToFalse(data, property) {
171
189
  return data.map(function (obj) {
172
190
  if (obj.hasOwnProperty(property)) {
173
191
  obj[property] = property == 'interactive' ? true : false;
174
192
  }
175
-
176
193
  return obj;
177
194
  });
178
195
  };
179
-
180
196
  var removeOutOfRangeValues = function removeOutOfRangeValues(updateModel) {
181
197
  var correctAnswer = model.correctAnswer,
182
- data = model.data;
183
-
198
+ data = model.data;
184
199
  if (changeInteractiveEnabled === false) {
185
200
  setPropertiesToFalse(data, 'interactive');
186
201
  }
187
-
188
202
  if (changeEditableEnabled === false) {
189
203
  setPropertiesToFalse(data, 'editable');
190
204
  }
191
-
192
205
  resetValues(data, updateModel, range, onChange, model);
193
206
  resetValues(correctAnswer.data, false, range, onChange, model);
194
207
  };
195
-
196
208
  var setCategoryDefaultLabel = function setCategoryDefaultLabel() {
197
209
  var studentCategoryDefaultLabel = studentNewCategoryDefaultLabel === null || studentNewCategoryDefaultLabel === void 0 ? void 0 : studentNewCategoryDefaultLabel.label;
198
210
  onChange(_objectSpread(_objectSpread({}, model), {}, {
199
211
  studentCategoryDefaultLabel: studentCategoryDefaultLabel
200
212
  }));
201
213
  };
202
-
203
214
  var rangeProps = function rangeProps(chartType) {
204
215
  return chartType.includes('Plot') ? {
205
216
  min: 3,
@@ -209,31 +220,25 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
209
220
  max: 10000
210
221
  };
211
222
  };
212
-
213
223
  var onSizeChanged = function onSizeChanged(key, value) {
214
224
  var graph = _objectSpread(_objectSpread({}, size), {}, (0, _defineProperty2["default"])({}, key, value));
215
-
216
225
  onChange(_objectSpread(_objectSpread({}, model), {}, {
217
226
  graph: graph
218
227
  }));
219
228
  };
220
-
221
229
  var isOutOfRange = function isOutOfRange(data, range) {
222
230
  return (data || []).find(function (d) {
223
231
  return d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0;
224
232
  });
225
233
  };
226
-
227
234
  var onRangeChanged = function onRangeChanged(key, value, e) {
228
235
  // use reset values to restore range to initial values
229
236
  setResetValue(range[key]);
230
237
  setRangeKey(key);
231
238
  range[key] = value;
232
-
233
239
  if (key === 'max' || key === 'step') {
234
240
  // check if current chart values are invalid for given range step/max
235
241
  var outOfRange = isOutOfRange(model.data, range) || isOutOfRange(model.correctAnswer.data, range);
236
-
237
242
  if (outOfRange && JSON.stringify(e) !== '{}') {
238
243
  setOpen(true);
239
244
  } else {
@@ -247,7 +252,6 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
247
252
  }));
248
253
  }
249
254
  };
250
-
251
255
  (0, _react.useEffect)(function () {
252
256
  removeOutOfRangeValues(true);
253
257
  setCategoryDefaultLabel();
@@ -273,7 +277,6 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
273
277
  }
274
278
  }, [open]);
275
279
  var isValidPlot = range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;
276
-
277
280
  var getPlotConfiguration = function getPlotConfiguration() {
278
281
  rangeProps.min = 3;
279
282
  rangeProps.max = 10;
@@ -284,7 +287,6 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
284
287
  range: range
285
288
  }));
286
289
  };
287
-
288
290
  var onChartTypeChange = function onChartTypeChange(chartType) {
289
291
  if (chartType.includes('Plot')) {
290
292
  // The selected chart type does not support the current chart configuration
@@ -307,7 +309,6 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
307
309
  });
308
310
  return;
309
311
  }
310
-
311
312
  rangeProps.min = 3;
312
313
  rangeProps.max = 10;
313
314
  onChange(_objectSpread(_objectSpread({}, model), {}, {
@@ -315,29 +316,20 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
315
316
  }));
316
317
  return;
317
318
  }
318
-
319
319
  onChange(_objectSpread(_objectSpread({}, model), {}, {
320
320
  chartType: chartType
321
321
  }));
322
322
  };
323
-
324
- return /*#__PURE__*/_react["default"].createElement("div", {
325
- className: classes.wrapper
326
- }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
323
+ return /*#__PURE__*/_react["default"].createElement(StyledWrapper, null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
327
324
  variant: 'subtitle1'
328
- }, "Configure Chart"), /*#__PURE__*/_react["default"].createElement("div", {
329
- className: classes.content
330
- }, /*#__PURE__*/_react["default"].createElement("div", {
331
- className: classes.rowView
332
- }, /*#__PURE__*/_react["default"].createElement(_chartType["default"], {
325
+ }, "Configure Chart"), /*#__PURE__*/_react["default"].createElement(StyledContent, null, /*#__PURE__*/_react["default"].createElement(StyledRowView, null, /*#__PURE__*/_react["default"].createElement(_chartType["default"], {
333
326
  value: model.chartType,
334
327
  onChange: function onChange(e) {
335
328
  return onChartTypeChange(e.target.value);
336
329
  },
337
330
  availableChartTypes: availableChartTypes,
338
331
  chartTypeLabel: chartTypeLabel
339
- }), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
340
- className: classes.mediumTextField,
332
+ }), /*#__PURE__*/_react["default"].createElement(StyledMediumTextField, {
341
333
  label: "Max Value",
342
334
  value: range.max,
343
335
  min: rangeProps(model.chartType).min,
@@ -346,12 +338,7 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
346
338
  onChange: function onChange(e, v) {
347
339
  return onRangeChanged('max', v, e);
348
340
  }
349
- })), !model.chartType.includes('Plot') && stepConfig, showInConfigPanel && /*#__PURE__*/_react["default"].createElement("div", {
350
- className: classes.dimensions
351
- }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, "Dimensions(px)")), /*#__PURE__*/_react["default"].createElement("div", {
352
- className: classes.columnView
353
- }, /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
354
- className: classes.textField,
341
+ })), !model.chartType.includes('Plot') && stepConfig, showInConfigPanel && /*#__PURE__*/_react["default"].createElement(StyledDimensions, null, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, "Dimensions(px)")), /*#__PURE__*/_react["default"].createElement(StyledColumnView, null, /*#__PURE__*/_react["default"].createElement(StyledTextField, {
355
342
  label: 'Width',
356
343
  value: size.width,
357
344
  min: widthConstraints.min,
@@ -361,12 +348,7 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
361
348
  onChange: function onChange(e, v) {
362
349
  return onSizeChanged('width', v);
363
350
  }
364
- }), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
365
- className: classes.disabled
366
- }, "Min 50, Max 700")), /*#__PURE__*/_react["default"].createElement("div", {
367
- className: classes.columnView
368
- }, /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
369
- className: classes.textField,
351
+ }), /*#__PURE__*/_react["default"].createElement(StyledDisabled, null, "Min 50, Max 700")), /*#__PURE__*/_react["default"].createElement(StyledColumnView, null, /*#__PURE__*/_react["default"].createElement(StyledTextField, {
370
352
  label: 'Height',
371
353
  value: size.height,
372
354
  min: heightConstraints.min,
@@ -376,9 +358,7 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
376
358
  onChange: function onChange(e, v) {
377
359
  return onSizeChanged('height', v);
378
360
  }
379
- }), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
380
- className: classes.disabled
381
- }, "Min 400, Max 700")))), /*#__PURE__*/_react["default"].createElement(_configUi.AlertDialog, {
361
+ }), /*#__PURE__*/_react["default"].createElement(StyledDisabled, null, "Min 400, Max 700")))), /*#__PURE__*/_react["default"].createElement(_configUi.AlertDialog, {
382
362
  open: alertDialog.open,
383
363
  title: alertDialog.title,
384
364
  text: alertDialog.text,
@@ -386,9 +366,7 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
386
366
  onConfirm: alertDialog.onConfirm
387
367
  }));
388
368
  };
389
-
390
369
  ConfigureChartPanel.propTypes = {
391
- classes: _propTypes["default"].object,
392
370
  chartDimensions: _propTypes["default"].object,
393
371
  domain: _propTypes["default"].object,
394
372
  gridValues: _propTypes["default"].object,
@@ -402,57 +380,5 @@ ConfigureChartPanel.propTypes = {
402
380
  availableChartTypes: _propTypes["default"].object,
403
381
  chartTypeLabel: _propTypes["default"].string
404
382
  };
405
-
406
- var styles = function styles(theme) {
407
- return {
408
- wrapper: {
409
- width: '450px'
410
- },
411
- content: {
412
- display: 'flex',
413
- flexDirection: 'column',
414
- width: '100%',
415
- marginTop: theme.spacing.unit * 3
416
- },
417
- columnView: {
418
- display: 'flex',
419
- flexDirection: 'column',
420
- alignItems: 'center'
421
- },
422
- rowView: {
423
- display: 'flex',
424
- justifyContent: 'space-around',
425
- alignItems: 'center'
426
- },
427
- textField: {
428
- width: '130px',
429
- margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
430
- },
431
- mediumTextField: {
432
- width: '160px',
433
- margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
434
- },
435
- largeTextField: {
436
- width: '230px',
437
- margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
438
- },
439
- text: {
440
- fontStyle: 'italic',
441
- margin: "".concat(theme.spacing.unit, "px 0")
442
- },
443
- dimensions: {
444
- display: 'flex',
445
- justifyContent: 'space-between',
446
- alignItems: 'center',
447
- margin: "".concat(theme.spacing.unit * 3, "px 0")
448
- },
449
- disabled: {
450
- color: _renderUi.color.disabled()
451
- }
452
- };
453
- };
454
-
455
- var _default = (0, _styles.withStyles)(styles)(ConfigureChartPanel);
456
-
457
- exports["default"] = _default;
383
+ var _default = exports["default"] = ConfigureChartPanel;
458
384
  //# sourceMappingURL=chart-setup.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart-setup.jsx"],"names":["resetValues","data","updateModel","range","onChange","model","forEach","d","d_value_scaled","Math","round","value","range_step_scaled","step","remainder_scaled","remainder","max","ConfigureChartPanel","props","classes","chartDimensions","gridValues","labelValues","studentNewCategoryDefaultLabel","availableChartTypes","chartTypeLabel","open","title","text","onClose","onConfirm","alertDialog","setAlertDialog","setOpen","rangeKey","setRangeKey","resetValue","setResetValue","correctAnswer","changeInteractiveEnabled","changeEditableEnabled","size","graph","showInConfigPanel","width","height","widthConstraints","min","heightConstraints","gridOptions","customValues","labelOptions","stepConfig","rowView","mediumTextField","e","v","onRangeChanged","labelStep","handleAlertDialog","openStatus","callback","prevState","setPropertiesToFalse","property","map","obj","hasOwnProperty","removeOutOfRangeValues","setCategoryDefaultLabel","studentCategoryDefaultLabel","label","rangeProps","chartType","includes","onSizeChanged","key","isOutOfRange","find","floor","outOfRange","JSON","stringify","isValidPlot","getPlotConfiguration","onChartTypeChange","wrapper","content","target","dimensions","columnView","textField","disabled","propTypes","PropTypes","object","domain","func","chartDimension","string","styles","theme","display","flexDirection","marginTop","spacing","unit","alignItems","justifyContent","margin","largeTextField","fontStyle","color"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport ChartType from './chart-type';\nimport { NumberTextFieldCustom } from '@pie-lib/config-ui';\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nexport const resetValues = (data, updateModel, range, onChange, model) => {\n (data || []).forEach((d) => {\n const d_value_scaled = Math.round(d.value * 10);\n const range_step_scaled = Math.round(range.step * 10);\n const remainder_scaled = d_value_scaled % range_step_scaled;\n const remainder = remainder_scaled / 10;\n\n if (d.value > range.max || remainder !== 0) {\n d.value = 0;\n }\n });\n\n if (updateModel) {\n onChange({ ...model, data });\n }\n};\n\nconst ConfigureChartPanel = (props) => {\n const {\n classes,\n model,\n onChange,\n chartDimensions,\n gridValues = {},\n labelValues = {},\n studentNewCategoryDefaultLabel = {},\n availableChartTypes = {},\n chartTypeLabel,\n } = props;\n const [alertDialog, setAlertDialog] = useState({\n open: false,\n title: '',\n text: '',\n onClose: null,\n onConfirm: null,\n });\n const [open, setOpen] = useState(false);\n const [rangeKey, setRangeKey] = useState('');\n const [resetValue, setResetValue] = useState(0);\n\n const { range = {}, correctAnswer, changeInteractiveEnabled, changeEditableEnabled } = model;\n\n const size = model.graph;\n const { showInConfigPanel, width, height } = chartDimensions || {};\n\n const widthConstraints = {\n min: width?.min ? Math.max(50, width.min) : 50,\n max: width?.max ? Math.min(700, width.max) : 700,\n step: width?.step >= 1 ? Math.min(200, width.step) : 20,\n };\n const heightConstraints = {\n min: height?.min ? Math.max(400, height.min) : 400,\n max: height?.max ? Math.min(700, height.max) : 700,\n step: height?.step >= 1 ? Math.min(200, height.step) : 20,\n };\n\n const gridOptions = gridValues && gridValues.range ? { customValues: gridValues.range } : { min: 0, max: 10000 };\n const labelOptions = labelValues && labelValues.range ? { customValues: labelValues.range } : { min: 0, max: 10000 };\n\n const stepConfig = (\n <div className={classes.rowView}>\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Grid Interval\"\n value={range.step}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('step', v, e)}\n {...gridOptions}\n />\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={'Label Interval'}\n value={range.labelStep}\n variant={'outlined'}\n onChange={(e, v) => onRangeChanged('labelStep', v, e)}\n {...labelOptions}\n />\n </div>\n );\n\n const handleAlertDialog = (openStatus, callback) => {\n setAlertDialog(\n (prevState) => ({\n ...prevState,\n open: openStatus,\n }),\n () => {\n if (callback) {\n callback();\n }\n },\n );\n\n setOpen(openStatus);\n };\n\n const setPropertiesToFalse = (data, property) => {\n return data.map((obj) => {\n if (obj.hasOwnProperty(property)) {\n obj[property] = property == 'interactive' ? true : false;\n }\n return obj;\n });\n };\n\n const removeOutOfRangeValues = (updateModel) => {\n const { correctAnswer, data } = model;\n\n if (changeInteractiveEnabled === false) {\n setPropertiesToFalse(data, 'interactive');\n }\n\n if (changeEditableEnabled === false) {\n setPropertiesToFalse(data, 'editable');\n }\n\n resetValues(data, updateModel, range, onChange, model);\n resetValues(correctAnswer.data, false, range, onChange, model);\n };\n\n const setCategoryDefaultLabel = () => {\n const studentCategoryDefaultLabel = studentNewCategoryDefaultLabel?.label;\n\n onChange({ ...model, studentCategoryDefaultLabel });\n };\n\n const rangeProps = (chartType) => {\n return chartType.includes('Plot') ? { min: 3, max: 10 } : { min: 0.05, max: 10000 };\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n onChange({ ...model, graph });\n };\n\n const isOutOfRange = (data, range) =>\n (data || []).find((d) => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0);\n\n const onRangeChanged = (key, value, e) => {\n // use reset values to restore range to initial values\n setResetValue(range[key]);\n setRangeKey(key);\n\n range[key] = value;\n\n if (key === 'max' || key === 'step') {\n // check if current chart values are invalid for given range step/max\n const outOfRange = isOutOfRange(model.data, range) || isOutOfRange(model.correctAnswer.data, range);\n\n if (outOfRange && JSON.stringify(e) !== '{}') {\n setOpen(true);\n } else {\n onChange({ ...model, range });\n }\n } else {\n onChange({ ...model, range });\n }\n };\n\n useEffect(() => {\n removeOutOfRangeValues(true);\n setCategoryDefaultLabel();\n }, []);\n\n useEffect(() => {\n if (open) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'This change will remove values defined for one or more categories',\n onConfirm: () => {\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, correctAnswer }));\n },\n onClose: () => {\n range[rangeKey] = resetValue;\n handleAlertDialog(false);\n },\n });\n }\n }, [open]);\n\n const isValidPlot = range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;\n\n const getPlotConfiguration = () => {\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n range.max = 10;\n range.step = 1;\n range.labelStep = 1;\n\n onChange({ ...model, range });\n };\n\n const onChartTypeChange = (chartType) => {\n if (chartType.includes('Plot')) {\n // The selected chart type does not support the current chart configuration\n if (!isValidPlot) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'The selected chart type does not support the current chart configuration. Reset chart configuration?',\n onConfirm: () => {\n getPlotConfiguration();\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, chartType }));\n },\n onClose: () => {\n handleAlertDialog(false);\n },\n });\n\n return;\n }\n\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n onChange({ ...model, chartType });\n\n return;\n }\n\n onChange({ ...model, chartType });\n };\n\n return (\n <div className={classes.wrapper}>\n <Typography variant={'subtitle1'}>Configure Chart</Typography>\n <div className={classes.content}>\n <div className={classes.rowView}>\n <ChartType\n value={model.chartType}\n onChange={(e) => onChartTypeChange(e.target.value)}\n availableChartTypes={availableChartTypes}\n chartTypeLabel={chartTypeLabel}\n />\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Max Value\"\n value={range.max}\n min={rangeProps(model.chartType).min}\n max={rangeProps(model.chartType).max}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('max', v, e)}\n />\n </div>\n {!model.chartType.includes('Plot') && stepConfig}\n\n {showInConfigPanel && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n </div>\n\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.textField}\n label={'Width'}\n value={size.width}\n min={widthConstraints.min}\n max={widthConstraints.max}\n step={widthConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <Typography className={classes.disabled}>Min 50, Max 700</Typography>\n </div>\n\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.textField}\n label={'Height'}\n value={size.height}\n min={heightConstraints.min}\n max={heightConstraints.max}\n step={heightConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n <Typography className={classes.disabled}>Min 400, Max 700</Typography>\n </div>\n </div>\n )}\n </div>\n\n <AlertDialog\n open={alertDialog.open}\n title={alertDialog.title}\n text={alertDialog.text}\n onClose={alertDialog.onClose}\n onConfirm={alertDialog.onConfirm}\n />\n </div>\n );\n};\n\nConfigureChartPanel.propTypes = {\n classes: PropTypes.object,\n chartDimensions: PropTypes.object,\n domain: PropTypes.object,\n gridValues: PropTypes.object,\n labelValues: PropTypes.object,\n model: PropTypes.object,\n onChange: PropTypes.func,\n range: PropTypes.object,\n chartDimension: PropTypes.object,\n size: PropTypes.object,\n studentNewCategoryDefaultLabel: PropTypes.object,\n availableChartTypes: PropTypes.object,\n chartTypeLabel: PropTypes.string,\n};\n\nconst styles = (theme) => ({\n wrapper: {\n width: '450px',\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginTop: theme.spacing.unit * 3,\n },\n columnView: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n },\n rowView: {\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center',\n },\n textField: {\n width: '130px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`,\n },\n mediumTextField: {\n width: '160px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`,\n },\n largeTextField: {\n width: '230px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`,\n },\n text: {\n fontStyle: 'italic',\n margin: `${theme.spacing.unit}px 0`,\n },\n dimensions: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: `${theme.spacing.unit * 3}px 0`,\n },\n disabled: {\n color: color.disabled(),\n },\n});\n\nexport default withStyles(styles)(ConfigureChartPanel);\n"],"file":"chart-setup.js"}
1
+ {"version":3,"file":"chart-setup.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_renderUi","_styles","_Typography","_chartType","_configUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","resetValues","exports","data","updateModel","range","onChange","model","d","d_value_scaled","Math","round","value","range_step_scaled","step","remainder_scaled","remainder","max","StyledWrapper","styled","width","StyledContent","_ref","theme","display","flexDirection","marginTop","spacing","StyledColumnView","alignItems","StyledRowView","justifyContent","StyledTextField","NumberTextFieldCustom","_ref2","margin","concat","StyledMediumTextField","_ref3","StyledDimensions","_ref4","StyledDisabled","Typography","color","disabled","ConfigureChartPanel","props","chartDimensions","_props$gridValues","gridValues","_props$labelValues","labelValues","_props$studentNewCate","studentNewCategoryDefaultLabel","_props$availableChart","availableChartTypes","chartTypeLabel","_useState","useState","open","title","text","onClose","onConfirm","_useState2","_slicedToArray2","alertDialog","setAlertDialog","_useState3","_useState4","setOpen","_useState5","_useState6","rangeKey","setRangeKey","_useState7","_useState8","resetValue","setResetValue","_model$range","correctAnswer","changeInteractiveEnabled","changeEditableEnabled","size","graph","_ref5","showInConfigPanel","height","widthConstraints","min","heightConstraints","gridOptions","customValues","labelOptions","stepConfig","createElement","_extends2","label","variant","v","onRangeChanged","labelStep","handleAlertDialog","openStatus","callback","prevState","setPropertiesToFalse","property","map","obj","removeOutOfRangeValues","setCategoryDefaultLabel","studentCategoryDefaultLabel","rangeProps","chartType","includes","onSizeChanged","key","isOutOfRange","find","floor","outOfRange","JSON","stringify","useEffect","isValidPlot","getPlotConfiguration","onChartTypeChange","target","AlertDialog","propTypes","PropTypes","object","domain","func","chartDimension","string","_default"],"sources":["../src/chart-setup.jsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport ChartType from './chart-type';\nimport { NumberTextFieldCustom } from '@pie-lib/config-ui';\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nexport const resetValues = (data, updateModel, range, onChange, model) => {\n (data || []).forEach((d) => {\n const d_value_scaled = Math.round(d.value * 10);\n const range_step_scaled = Math.round(range.step * 10);\n const remainder_scaled = d_value_scaled % range_step_scaled;\n const remainder = remainder_scaled / 10;\n\n if (d.value > range.max || remainder !== 0) {\n d.value = 0;\n }\n });\n\n if (updateModel) {\n onChange({ ...model, data });\n }\n};\n\nconst StyledWrapper = styled('div')(() => ({\n width: '450px',\n}));\n\nconst StyledContent = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginTop: theme.spacing(3),\n}));\n\nconst StyledColumnView = styled('div')(() => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n}));\n\nconst StyledRowView = styled('div')(() => ({\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center',\n}));\n\nconst StyledTextField = styled(NumberTextFieldCustom)(({ theme }) => ({\n width: '130px',\n margin: `${theme.spacing(1)} ${theme.spacing(0.5)}`,\n}));\n\nconst StyledMediumTextField = styled(NumberTextFieldCustom)(({ theme }) => ({\n width: '160px',\n margin: `${theme.spacing(1)} ${theme.spacing(0.5)}`,\n}));\n\nconst StyledDimensions = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: `${theme.spacing(3)} 0`,\n}));\n\nconst StyledDisabled = styled(Typography)(() => ({\n color: color.disabled(),\n}));\n\nconst ConfigureChartPanel = (props) => {\n const {\n model,\n onChange,\n chartDimensions,\n gridValues = {},\n labelValues = {},\n studentNewCategoryDefaultLabel = {},\n availableChartTypes = {},\n chartTypeLabel,\n } = props;\n const [alertDialog, setAlertDialog] = useState({\n open: false,\n title: '',\n text: '',\n onClose: null,\n onConfirm: null,\n });\n const [open, setOpen] = useState(false);\n const [rangeKey, setRangeKey] = useState('');\n const [resetValue, setResetValue] = useState(0);\n\n const { range = {}, correctAnswer, changeInteractiveEnabled, changeEditableEnabled } = model;\n\n const size = model.graph;\n const { showInConfigPanel, width, height } = chartDimensions || {};\n\n const widthConstraints = {\n min: width?.min ? Math.max(50, width.min) : 50,\n max: width?.max ? Math.min(700, width.max) : 700,\n step: width?.step >= 1 ? Math.min(200, width.step) : 20,\n };\n const heightConstraints = {\n min: height?.min ? Math.max(400, height.min) : 400,\n max: height?.max ? Math.min(700, height.max) : 700,\n step: height?.step >= 1 ? Math.min(200, height.step) : 20,\n };\n\n const gridOptions = gridValues && gridValues.range ? { customValues: gridValues.range } : { min: 0, max: 10000 };\n const labelOptions = labelValues && labelValues.range ? { customValues: labelValues.range } : { min: 0, max: 10000 };\n\n const stepConfig = (\n <StyledRowView>\n <StyledMediumTextField\n label=\"Grid Interval\"\n value={range.step}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('step', v, e)}\n {...gridOptions}\n />\n <StyledMediumTextField\n label={'Label Interval'}\n value={range.labelStep}\n variant={'outlined'}\n onChange={(e, v) => onRangeChanged('labelStep', v, e)}\n {...labelOptions}\n />\n </StyledRowView>\n );\n\n const handleAlertDialog = (openStatus, callback) => {\n setAlertDialog(\n (prevState) => ({\n ...prevState,\n open: openStatus,\n }),\n () => {\n if (callback) {\n callback();\n }\n },\n );\n\n setOpen(openStatus);\n };\n\n const setPropertiesToFalse = (data, property) => {\n return data.map((obj) => {\n if (obj.hasOwnProperty(property)) {\n obj[property] = property == 'interactive' ? true : false;\n }\n return obj;\n });\n };\n\n const removeOutOfRangeValues = (updateModel) => {\n const { correctAnswer, data } = model;\n\n if (changeInteractiveEnabled === false) {\n setPropertiesToFalse(data, 'interactive');\n }\n\n if (changeEditableEnabled === false) {\n setPropertiesToFalse(data, 'editable');\n }\n\n resetValues(data, updateModel, range, onChange, model);\n resetValues(correctAnswer.data, false, range, onChange, model);\n };\n\n const setCategoryDefaultLabel = () => {\n const studentCategoryDefaultLabel = studentNewCategoryDefaultLabel?.label;\n\n onChange({ ...model, studentCategoryDefaultLabel });\n };\n\n const rangeProps = (chartType) => {\n return chartType.includes('Plot') ? { min: 3, max: 10 } : { min: 0.05, max: 10000 };\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n onChange({ ...model, graph });\n };\n\n const isOutOfRange = (data, range) =>\n (data || []).find((d) => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0);\n\n const onRangeChanged = (key, value, e) => {\n // use reset values to restore range to initial values\n setResetValue(range[key]);\n setRangeKey(key);\n\n range[key] = value;\n\n if (key === 'max' || key === 'step') {\n // check if current chart values are invalid for given range step/max\n const outOfRange = isOutOfRange(model.data, range) || isOutOfRange(model.correctAnswer.data, range);\n\n if (outOfRange && JSON.stringify(e) !== '{}') {\n setOpen(true);\n } else {\n onChange({ ...model, range });\n }\n } else {\n onChange({ ...model, range });\n }\n };\n\n useEffect(() => {\n removeOutOfRangeValues(true);\n setCategoryDefaultLabel();\n }, []);\n\n useEffect(() => {\n if (open) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'This change will remove values defined for one or more categories',\n onConfirm: () => {\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, correctAnswer }));\n },\n onClose: () => {\n range[rangeKey] = resetValue;\n handleAlertDialog(false);\n },\n });\n }\n }, [open]);\n\n const isValidPlot = range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;\n\n const getPlotConfiguration = () => {\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n range.max = 10;\n range.step = 1;\n range.labelStep = 1;\n\n onChange({ ...model, range });\n };\n\n const onChartTypeChange = (chartType) => {\n if (chartType.includes('Plot')) {\n // The selected chart type does not support the current chart configuration\n if (!isValidPlot) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'The selected chart type does not support the current chart configuration. Reset chart configuration?',\n onConfirm: () => {\n getPlotConfiguration();\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, chartType }));\n },\n onClose: () => {\n handleAlertDialog(false);\n },\n });\n\n return;\n }\n\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n onChange({ ...model, chartType });\n\n return;\n }\n\n onChange({ ...model, chartType });\n };\n\n return (\n <StyledWrapper>\n <Typography variant={'subtitle1'}>Configure Chart</Typography>\n <StyledContent>\n <StyledRowView>\n <ChartType\n value={model.chartType}\n onChange={(e) => onChartTypeChange(e.target.value)}\n availableChartTypes={availableChartTypes}\n chartTypeLabel={chartTypeLabel}\n />\n <StyledMediumTextField\n label=\"Max Value\"\n value={range.max}\n min={rangeProps(model.chartType).min}\n max={rangeProps(model.chartType).max}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('max', v, e)}\n />\n </StyledRowView>\n {!model.chartType.includes('Plot') && stepConfig}\n\n {showInConfigPanel && (\n <StyledDimensions>\n <div>\n <Typography>Dimensions(px)</Typography>\n </div>\n\n <StyledColumnView>\n <StyledTextField\n label={'Width'}\n value={size.width}\n min={widthConstraints.min}\n max={widthConstraints.max}\n step={widthConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <StyledDisabled>Min 50, Max 700</StyledDisabled>\n </StyledColumnView>\n\n <StyledColumnView>\n <StyledTextField\n label={'Height'}\n value={size.height}\n min={heightConstraints.min}\n max={heightConstraints.max}\n step={heightConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n <StyledDisabled>Min 400, Max 700</StyledDisabled>\n </StyledColumnView>\n </StyledDimensions>\n )}\n </StyledContent>\n\n <AlertDialog\n open={alertDialog.open}\n title={alertDialog.title}\n text={alertDialog.text}\n onClose={alertDialog.onClose}\n onConfirm={alertDialog.onConfirm}\n />\n </StyledWrapper>\n );\n};\n\nConfigureChartPanel.propTypes = {\n chartDimensions: PropTypes.object,\n domain: PropTypes.object,\n gridValues: PropTypes.object,\n labelValues: PropTypes.object,\n model: PropTypes.object,\n onChange: PropTypes.func,\n range: PropTypes.object,\n chartDimension: PropTypes.object,\n size: PropTypes.object,\n studentNewCategoryDefaultLabel: PropTypes.object,\n availableChartTypes: PropTypes.object,\n chartTypeLabel: PropTypes.string,\n};\n\nexport default ConfigureChartPanel;\n"],"mappings":"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","ignoreList":[]}