@pie-lib/charting 4.5.11-next.686 → 4.5.11-next.695

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.
@@ -209,20 +209,45 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
209
209
  });
210
210
  }
211
211
  }, [open]);
212
+ var isValidPlot = range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;
213
+
214
+ var getPlotConfiguration = function getPlotConfiguration() {
215
+ rangeProps.min = 3;
216
+ rangeProps.max = 10;
217
+ range.max = 10;
218
+ range.step = 1;
219
+ range.labelStep = 1;
220
+ onChange(_objectSpread(_objectSpread({}, model), {}, {
221
+ range: range
222
+ }));
223
+ };
212
224
 
213
225
  var onChartTypeChange = function onChartTypeChange(chartType) {
214
226
  if (chartType.includes('Plot')) {
215
- rangeProps.min = 3;
216
- rangeProps.max = 10;
217
-
218
- if (range.max > 10 || range.max < 3) {
219
- range.max = 10;
227
+ // The selected chart type does not support the current chart configuration
228
+ if (!isValidPlot) {
229
+ setAlertDialog({
230
+ open: true,
231
+ title: 'Warning',
232
+ text: 'The selected chart type does not support the current chart configuration. Reset chart configuration?',
233
+ onConfirm: function onConfirm() {
234
+ getPlotConfiguration();
235
+ removeOutOfRangeValues();
236
+ handleAlertDialog(false, onChange(_objectSpread(_objectSpread({}, model), {}, {
237
+ range: range,
238
+ chartType: chartType
239
+ })));
240
+ },
241
+ onClose: function onClose() {
242
+ handleAlertDialog(false);
243
+ }
244
+ });
245
+ return;
220
246
  }
221
247
 
222
- range.step = 1;
223
- range.labelStep = 1;
248
+ rangeProps.min = 3;
249
+ rangeProps.max = 10;
224
250
  onChange(_objectSpread(_objectSpread({}, model), {}, {
225
- range: range,
226
251
  chartType: chartType
227
252
  }));
228
253
  return;
@@ -300,7 +325,7 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
300
325
  ConfigureChartPanel.propTypes = {
301
326
  classes: _propTypes["default"].object,
302
327
  domain: _propTypes["default"].object,
303
- onChange: _propTypes["default"]["function"],
328
+ onChange: _propTypes["default"].func,
304
329
  range: _propTypes["default"].object,
305
330
  chartDimension: _propTypes["default"].object,
306
331
  size: _propTypes["default"].object
@@ -1 +1 @@
1
- {"version":3,"file":"chart-setup.js","names":["ConfigureChartPanel","props","classes","model","onChange","chartDimensions","gridValues","labelValues","useState","alertDialog","setAlertDialog","open","setOpen","rangeKey","setRangeKey","resetValue","setResetValue","range","correctAnswer","size","graph","showInConfigPanel","width","height","widthConstraints","min","Math","max","step","heightConstraints","gridOptions","customValues","labelOptions","stepConfig","rowView","mediumTextField","e","v","onRangeChanged","labelStep","handleAlertDialog","callback","resetValues","data","forEach","d","remainder","value","floor","removeOutOfRangeValues","rangeProps","chartType","includes","onSizeChanged","key","outOfRange","find","useEffect","title","text","onConfirm","onClose","onChartTypeChange","wrapper","content","target","dimensions","columnView","textField","disabled","propTypes","PropTypes","object","domain","chartDimension","styles","theme","display","flexDirection","marginTop","alignItems","justifyContent","margin","spacing","unit","largeTextField","fontStyle","color","withStyles"],"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 { 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\nconst ConfigureChartPanel = props => {\n const { classes, model, onChange, chartDimensions, gridValues = {}, labelValues = {} } = props;\n const [alertDialog, setAlertDialog] = useState(false);\n const [open, setOpen] = useState(false);\n const [rangeKey, setRangeKey] = useState('');\n const [resetValue, setResetValue] = useState(0);\n\n const { range, correctAnswer } = 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 =\n gridValues && gridValues.range ? { customValues: gridValues.range } : { min: 0, max: 10000 };\n const labelOptions =\n 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)}\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)}\n {...labelOptions}\n />\n </div>\n );\n\n const handleAlertDialog = (open, callback) => {\n setAlertDialog(\n {\n alertDialog: open\n },\n callback\n );\n setOpen(open);\n };\n\n const resetValues = data =>\n data.forEach(d => {\n const remainder = d.value - range.step * Math.floor(d.value / range.step);\n\n if (d.value > range.max || remainder !== 0) {\n d.value = 0;\n }\n });\n\n const removeOutOfRangeValues = () => {\n const { correctAnswer, data } = model;\n\n resetValues(data);\n resetValues(correctAnswer.data);\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 onRangeChanged = (key, value) => {\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 =\n model.data.find(\n d => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0\n ) ||\n model.correctAnswer.data.find(\n d => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0\n );\n\n if (outOfRange) {\n setOpen(true);\n } else {\n onChange({ ...model, range });\n }\n } else {\n onChange({ ...model, range });\n }\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 onChartTypeChange = chartType => {\n if (chartType.includes('Plot')) {\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n if (range.max > 10 || range.max < 3) {\n range.max = 10;\n }\n\n range.step = 1;\n range.labelStep = 1;\n\n onChange({ ...model, range, 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 value={model.chartType} onChange={e => onChartTypeChange(e.target.value)} />\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)}\n />\n </div>\n {!model.chartType.includes('Plot') && stepConfig}\n {showInConfigPanel && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n </div>\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 <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 <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 domain: PropTypes.object,\n onChange: PropTypes.function,\n range: PropTypes.object,\n chartDimension: PropTypes.object,\n size: PropTypes.object\n};\n\nconst styles = theme => ({\n wrapper: {\n width: '450px'\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginTop: '24px'\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: '24px 0px'\n },\n disabled: {\n color: color.disabled()\n }\n});\n\nexport default withStyles(styles)(ConfigureChartPanel);\n"],"mappings":"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"}
1
+ {"version":3,"file":"chart-setup.js","names":["ConfigureChartPanel","props","classes","model","onChange","chartDimensions","gridValues","labelValues","useState","alertDialog","setAlertDialog","open","setOpen","rangeKey","setRangeKey","resetValue","setResetValue","range","correctAnswer","size","graph","showInConfigPanel","width","height","widthConstraints","min","Math","max","step","heightConstraints","gridOptions","customValues","labelOptions","stepConfig","rowView","mediumTextField","e","v","onRangeChanged","labelStep","handleAlertDialog","callback","resetValues","data","forEach","d","remainder","value","floor","removeOutOfRangeValues","rangeProps","chartType","includes","onSizeChanged","key","outOfRange","find","useEffect","title","text","onConfirm","onClose","isValidPlot","getPlotConfiguration","onChartTypeChange","wrapper","content","target","dimensions","columnView","textField","disabled","propTypes","PropTypes","object","domain","func","chartDimension","styles","theme","display","flexDirection","marginTop","alignItems","justifyContent","margin","spacing","unit","largeTextField","fontStyle","color","withStyles"],"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 { 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\nconst ConfigureChartPanel = props => {\n const { classes, model, onChange, chartDimensions, gridValues = {}, labelValues = {} } = props;\n const [alertDialog, setAlertDialog] = useState(false);\n const [open, setOpen] = useState(false);\n const [rangeKey, setRangeKey] = useState('');\n const [resetValue, setResetValue] = useState(0);\n\n const { range, correctAnswer } = 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 =\n gridValues && gridValues.range ? { customValues: gridValues.range } : { min: 0, max: 10000 };\n const labelOptions =\n 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)}\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)}\n {...labelOptions}\n />\n </div>\n );\n\n const handleAlertDialog = (open, callback) => {\n setAlertDialog(\n {\n alertDialog: open\n },\n callback\n );\n setOpen(open);\n };\n\n const resetValues = data =>\n data.forEach(d => {\n const remainder = d.value - range.step * Math.floor(d.value / range.step);\n\n if (d.value > range.max || remainder !== 0) {\n d.value = 0;\n }\n });\n\n const removeOutOfRangeValues = () => {\n const { correctAnswer, data } = model;\n\n resetValues(data);\n resetValues(correctAnswer.data);\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 onRangeChanged = (key, value) => {\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 =\n model.data.find(\n d => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0\n ) ||\n model.correctAnswer.data.find(\n d => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0\n );\n\n if (outOfRange) {\n setOpen(true);\n } else {\n onChange({ ...model, range });\n }\n } else {\n onChange({ ...model, range });\n }\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 =\n 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:\n '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 value={model.chartType} onChange={e => onChartTypeChange(e.target.value)} />\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)}\n />\n </div>\n {!model.chartType.includes('Plot') && stepConfig}\n {showInConfigPanel && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n </div>\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 <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 <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 domain: PropTypes.object,\n onChange: PropTypes.func,\n range: PropTypes.object,\n chartDimension: PropTypes.object,\n size: PropTypes.object\n};\n\nconst styles = theme => ({\n wrapper: {\n width: '450px'\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginTop: '24px'\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: '24px 0px'\n },\n disabled: {\n color: color.disabled()\n }\n});\n\nexport default withStyles(styles)(ConfigureChartPanel);\n"],"mappings":"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"}
package/lib/chart-type.js CHANGED
@@ -45,6 +45,7 @@ var ChartType = (0, _styles.withStyles)(function (theme) {
45
45
  }, "ChartType"), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
46
46
  value: value,
47
47
  onChange: onChange,
48
+ labelWidth: 0,
48
49
  input: /*#__PURE__*/_react["default"].createElement(_OutlinedInput["default"], {
49
50
  name: "type",
50
51
  id: "type-helper"
@@ -1 +1 @@
1
- {"version":3,"file":"chart-type.js","names":["ChartType","withStyles","theme","chartType","width","chartTypeLabel","backgroundColor","onChange","value","classes"],"sources":["../src/chart-type.js"],"sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\n\nconst ChartType = withStyles(theme => ({\n chartType: {\n width: '160px'\n },\n chartTypeLabel: {\n backgroundColor: 'transparent'\n }\n}))(({ onChange, value, classes }) => (\n <div className={classes.chartType}>\n <FormControl variant={'outlined'} className={classes.chartType}>\n <InputLabel htmlFor=\"type-helper\" className={classes.chartTypeLabel}>\n ChartType\n </InputLabel>\n\n <Select\n value={value}\n onChange={onChange}\n input={<OutlinedInput name=\"type\" id=\"type-helper\" />}\n >\n <MenuItem value={'histogram'}>Histogram</MenuItem>\n <MenuItem value={'bar'}>Bar</MenuItem>\n <MenuItem value={'lineDot'}>Line Dot</MenuItem>\n <MenuItem value={'lineCross'}>Line Cross</MenuItem>\n <MenuItem value={'dotPlot'}>Dot Plot</MenuItem>\n <MenuItem value={'linePlot'}>Line Plot</MenuItem>\n </Select>\n </FormControl>\n </div>\n));\n\nexport default ChartType;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,SAAS,GAAG,IAAAC,kBAAA,EAAW,UAAAC,KAAK;EAAA,OAAK;IACrCC,SAAS,EAAE;MACTC,KAAK,EAAE;IADE,CAD0B;IAIrCC,cAAc,EAAE;MACdC,eAAe,EAAE;IADH;EAJqB,CAAL;AAAA,CAAhB,EAOd;EAAA,IAAGC,QAAH,QAAGA,QAAH;EAAA,IAAaC,KAAb,QAAaA,KAAb;EAAA,IAAoBC,OAApB,QAAoBA,OAApB;EAAA,oBACF;IAAK,SAAS,EAAEA,OAAO,CAACN;EAAxB,gBACE,gCAAC,uBAAD;IAAa,OAAO,EAAE,UAAtB;IAAkC,SAAS,EAAEM,OAAO,CAACN;EAArD,gBACE,gCAAC,sBAAD;IAAY,OAAO,EAAC,aAApB;IAAkC,SAAS,EAAEM,OAAO,CAACJ;EAArD,eADF,eAKE,gCAAC,kBAAD;IACE,KAAK,EAAEG,KADT;IAEE,QAAQ,EAAED,QAFZ;IAGE,KAAK,eAAE,gCAAC,yBAAD;MAAe,IAAI,EAAC,MAApB;MAA2B,EAAE,EAAC;IAA9B;EAHT,gBAKE,gCAAC,oBAAD;IAAU,KAAK,EAAE;EAAjB,eALF,eAME,gCAAC,oBAAD;IAAU,KAAK,EAAE;EAAjB,SANF,eAOE,gCAAC,oBAAD;IAAU,KAAK,EAAE;EAAjB,cAPF,eAQE,gCAAC,oBAAD;IAAU,KAAK,EAAE;EAAjB,gBARF,eASE,gCAAC,oBAAD;IAAU,KAAK,EAAE;EAAjB,cATF,eAUE,gCAAC,oBAAD;IAAU,KAAK,EAAE;EAAjB,eAVF,CALF,CADF,CADE;AAAA,CAPc,CAAlB;eA8BeP,S"}
1
+ {"version":3,"file":"chart-type.js","names":["ChartType","withStyles","theme","chartType","width","chartTypeLabel","backgroundColor","onChange","value","classes"],"sources":["../src/chart-type.js"],"sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\n\nconst ChartType = withStyles(theme => ({\n chartType: {\n width: '160px'\n },\n chartTypeLabel: {\n backgroundColor: 'transparent'\n }\n}))(({ onChange, value, classes }) => (\n <div className={classes.chartType}>\n <FormControl variant={'outlined'} className={classes.chartType}>\n <InputLabel htmlFor=\"type-helper\" className={classes.chartTypeLabel}>\n ChartType\n </InputLabel>\n\n <Select\n value={value}\n onChange={onChange}\n labelWidth={0}\n input={<OutlinedInput name=\"type\" id=\"type-helper\" />}\n >\n <MenuItem value={'histogram'}>Histogram</MenuItem>\n <MenuItem value={'bar'}>Bar</MenuItem>\n <MenuItem value={'lineDot'}>Line Dot</MenuItem>\n <MenuItem value={'lineCross'}>Line Cross</MenuItem>\n <MenuItem value={'dotPlot'}>Dot Plot</MenuItem>\n <MenuItem value={'linePlot'}>Line Plot</MenuItem>\n </Select>\n </FormControl>\n </div>\n));\n\nexport default ChartType;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,SAAS,GAAG,IAAAC,kBAAA,EAAW,UAAAC,KAAK;EAAA,OAAK;IACrCC,SAAS,EAAE;MACTC,KAAK,EAAE;IADE,CAD0B;IAIrCC,cAAc,EAAE;MACdC,eAAe,EAAE;IADH;EAJqB,CAAL;AAAA,CAAhB,EAOd;EAAA,IAAGC,QAAH,QAAGA,QAAH;EAAA,IAAaC,KAAb,QAAaA,KAAb;EAAA,IAAoBC,OAApB,QAAoBA,OAApB;EAAA,oBACF;IAAK,SAAS,EAAEA,OAAO,CAACN;EAAxB,gBACE,gCAAC,uBAAD;IAAa,OAAO,EAAE,UAAtB;IAAkC,SAAS,EAAEM,OAAO,CAACN;EAArD,gBACE,gCAAC,sBAAD;IAAY,OAAO,EAAC,aAApB;IAAkC,SAAS,EAAEM,OAAO,CAACJ;EAArD,eADF,eAKE,gCAAC,kBAAD;IACE,KAAK,EAAEG,KADT;IAEE,QAAQ,EAAED,QAFZ;IAGE,UAAU,EAAE,CAHd;IAIE,KAAK,eAAE,gCAAC,yBAAD;MAAe,IAAI,EAAC,MAApB;MAA2B,EAAE,EAAC;IAA9B;EAJT,gBAME,gCAAC,oBAAD;IAAU,KAAK,EAAE;EAAjB,eANF,eAOE,gCAAC,oBAAD;IAAU,KAAK,EAAE;EAAjB,SAPF,eAQE,gCAAC,oBAAD;IAAU,KAAK,EAAE;EAAjB,cARF,eASE,gCAAC,oBAAD;IAAU,KAAK,EAAE;EAAjB,gBATF,eAUE,gCAAC,oBAAD;IAAU,KAAK,EAAE;EAAjB,cAVF,eAWE,gCAAC,oBAAD;IAAU,KAAK,EAAE;EAAjB,eAXF,CALF,CADF,CADE;AAAA,CAPc,CAAlB;eA+BeP,S"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "4.5.11-next.686+bb25a95d",
6
+ "version": "4.5.11-next.695+68fbd863",
7
7
  "description": "charting",
8
8
  "keywords": [
9
9
  "react",
@@ -43,5 +43,5 @@
43
43
  "peerDependencies": {
44
44
  "react": "^16.8.1"
45
45
  },
46
- "gitHead": "bb25a95db26c61151f5bf4c82f29cfec62f2a07d"
46
+ "gitHead": "68fbd863a2e391172481dda49b77f47a7c58bc09"
47
47
  }
@@ -137,19 +137,46 @@ const ConfigureChartPanel = props => {
137
137
  }
138
138
  }, [open]);
139
139
 
140
+ const isValidPlot =
141
+ range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;
142
+
143
+ const getPlotConfiguration = () => {
144
+ rangeProps.min = 3;
145
+ rangeProps.max = 10;
146
+
147
+ range.max = 10;
148
+ range.step = 1;
149
+ range.labelStep = 1;
150
+
151
+ onChange({ ...model, range });
152
+ };
153
+
140
154
  const onChartTypeChange = chartType => {
141
155
  if (chartType.includes('Plot')) {
142
- rangeProps.min = 3;
143
- rangeProps.max = 10;
156
+ // The selected chart type does not support the current chart configuration
157
+ if (!isValidPlot) {
158
+ setAlertDialog({
159
+ open: true,
160
+ title: 'Warning',
161
+ text:
162
+ 'The selected chart type does not support the current chart configuration. Reset chart configuration?',
163
+ onConfirm: () => {
164
+ getPlotConfiguration();
165
+ removeOutOfRangeValues();
166
+ handleAlertDialog(false, onChange({ ...model, range, chartType }));
167
+ },
168
+ onClose: () => {
169
+ handleAlertDialog(false);
170
+ }
171
+ });
144
172
 
145
- if (range.max > 10 || range.max < 3) {
146
- range.max = 10;
173
+ return;
147
174
  }
148
175
 
149
- range.step = 1;
150
- range.labelStep = 1;
176
+ rangeProps.min = 3;
177
+ rangeProps.max = 10;
151
178
 
152
- onChange({ ...model, range, chartType });
179
+ onChange({ ...model, chartType });
153
180
 
154
181
  return;
155
182
  }
@@ -222,7 +249,7 @@ const ConfigureChartPanel = props => {
222
249
  ConfigureChartPanel.propTypes = {
223
250
  classes: PropTypes.object,
224
251
  domain: PropTypes.object,
225
- onChange: PropTypes.function,
252
+ onChange: PropTypes.func,
226
253
  range: PropTypes.object,
227
254
  chartDimension: PropTypes.object,
228
255
  size: PropTypes.object
package/src/chart-type.js CHANGED
@@ -23,6 +23,7 @@ const ChartType = withStyles(theme => ({
23
23
  <Select
24
24
  value={value}
25
25
  onChange={onChange}
26
+ labelWidth={0}
26
27
  input={<OutlinedInput name="type" id="type-helper" />}
27
28
  >
28
29
  <MenuItem value={'histogram'}>Histogram</MenuItem>