@pie-lib/charting 5.14.3-next.0 → 5.14.3-next.52

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.
@@ -136,7 +136,10 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
136
136
 
137
137
  var resetValues = function resetValues(data, updateModel) {
138
138
  (data || []).forEach(function (d) {
139
- var remainder = d.value - range.step * Math.floor(d.value / range.step);
139
+ var d_value_scaled = Math.round(d.value * 10);
140
+ var range_step_scaled = Math.round(range.step * 10);
141
+ var remainder_scaled = d_value_scaled % range_step_scaled;
142
+ var remainder = remainder_scaled / 10;
140
143
 
141
144
  if (d.value > range.max || remainder !== 0) {
142
145
  d.value = 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart-setup.jsx"],"names":["ConfigureChartPanel","props","classes","model","onChange","chartDimensions","gridValues","labelValues","studentNewCategoryDefaultLabel","availableChartTypes","chartTypeLabel","alertDialog","setAlertDialog","open","setOpen","rangeKey","setRangeKey","resetValue","setResetValue","range","correctAnswer","changeInteractiveEnabled","changeEditableEnabled","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","updateModel","forEach","d","remainder","value","floor","setPropertiesToFalse","property","map","obj","hasOwnProperty","removeOutOfRangeValues","setCategoryDefaultLabel","studentCategoryDefaultLabel","label","rangeProps","chartType","includes","onSizeChanged","key","isOutOfRange","find","outOfRange","JSON","stringify","title","text","onConfirm","onClose","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\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(false);\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 = (open, callback) => {\n setAlertDialog(\n {\n alertDialog: open,\n },\n callback,\n );\n setOpen(open);\n };\n\n const resetValues = (data, updateModel) => {\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 if (updateModel) {\n onChange({ ...model, data });\n }\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);\n resetValues(correctAnswer.data);\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,"sources":["../src/chart-setup.jsx"],"names":["ConfigureChartPanel","props","classes","model","onChange","chartDimensions","gridValues","labelValues","studentNewCategoryDefaultLabel","availableChartTypes","chartTypeLabel","alertDialog","setAlertDialog","open","setOpen","rangeKey","setRangeKey","resetValue","setResetValue","range","correctAnswer","changeInteractiveEnabled","changeEditableEnabled","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","updateModel","forEach","d","d_value_scaled","round","value","range_step_scaled","remainder_scaled","remainder","setPropertiesToFalse","property","map","obj","hasOwnProperty","removeOutOfRangeValues","setCategoryDefaultLabel","studentCategoryDefaultLabel","label","rangeProps","chartType","includes","onSizeChanged","key","isOutOfRange","find","floor","outOfRange","JSON","stringify","title","text","onConfirm","onClose","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\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(false);\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 = (open, callback) => {\n setAlertDialog(\n {\n alertDialog: open,\n },\n callback,\n );\n setOpen(open);\n };\n\n const resetValues = (data, updateModel) => {\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\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);\n resetValues(correctAnswer.data);\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"}
package/lib/grid.js CHANGED
@@ -64,6 +64,7 @@ var Grid = /*#__PURE__*/function (_React$Component) {
64
64
  _ref$size = _ref.size,
65
65
  size = _ref$size === void 0 ? {} : _ref$size;
66
66
 
67
+ console.log(rowTickValues, 'rowTickValues', size.width, 'size.width');
67
68
  return /*#__PURE__*/_react["default"].createElement(_grid.Grid, {
68
69
  xScale: xBand,
69
70
  yScale: scale.y,
package/lib/grid.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/grid.jsx"],"names":["Grid","props","classes","className","graphProps","xBand","rowTickValues","columnTickValues","scale","size","y","grid","width","height","bandwidth","React","Component","PropTypes","object","isRequired","string","types","GraphPropsType","func","array","styles","stroke","color","primaryLight"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;IAEaA,I;;;;;;;;;;;;WAYX,kBAAS;AACP,wBAAmF,KAAKC,KAAxF;AAAA,UAAQC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,SAAjB,eAAiBA,SAAjB;AAAA,UAA4BC,UAA5B,eAA4BA,UAA5B;AAAA,UAAwCC,KAAxC,eAAwCA,KAAxC;AAAA,UAA+CC,aAA/C,eAA+CA,aAA/C;AAAA,UAA8DC,gBAA9D,eAA8DA,gBAA9D;;AACA,iBAAkCH,UAAU,IAAI,EAAhD;AAAA,4BAAQI,KAAR;AAAA,UAAQA,KAAR,2BAAgB,EAAhB;AAAA,2BAAoBC,IAApB;AAAA,UAAoBA,IAApB,0BAA2B,EAA3B;;AAEA,0BACE,gCAAC,UAAD;AACE,QAAA,MAAM,EAAEJ,KADV;AAEE,QAAA,MAAM,EAAEG,KAAK,CAACE,CAFhB;AAGE,QAAA,SAAS,EAAE,4BAAWR,OAAO,CAACS,IAAnB,EAAyBR,SAAzB,CAHb;AAIE,QAAA,KAAK,EAAEM,IAAI,CAACG,KAJd;AAKE,QAAA,MAAM,EAAEH,IAAI,CAACI,MALf;AAME,QAAA,OAAO,EAAER,KAAK,CAACS,SAAN,KAAoB,CAN/B;AAOE,QAAA,aAAa,EAAER,aAPjB;AAQE,QAAA,gBAAgB,EAAEC;AARpB,QADF;AAYD;;;EA5BuBQ,kBAAMC,S;;;iCAAnBhB,I,eACQ;AACjBE,EAAAA,OAAO,EAAEe,sBAAUC,MAAV,CAAiBC,UADT;AAEjBhB,EAAAA,SAAS,EAAEc,sBAAUG,MAFJ;AAGjBhB,EAAAA,UAAU,EAAEiB,YAAMC,cAAN,CAAqBH,UAHhB;AAIjBd,EAAAA,KAAK,EAAEY,sBAAUM,IAJA;AAKjBhB,EAAAA,gBAAgB,EAAEU,sBAAUO,KALX;AAMjBlB,EAAAA,aAAa,EAAEW,sBAAUO;AANR,C;iCADRxB,I,kBAUW,E;;AAqBxB,IAAMyB,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBd,IAAAA,IAAI,EAAE;AACJe,MAAAA,MAAM,EAAEC,gBAAMC,YAAN;AADJ;AADc,GAAP;AAAA,CAAf;;eAMe,wBAAWH,MAAX,EAAmBzB,IAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nimport { Grid as VxGrid } from '@vx/grid';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\n\nexport class Grid extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n graphProps: types.GraphPropsType.isRequired,\n xBand: PropTypes.func,\n columnTickValues: PropTypes.array,\n rowTickValues: PropTypes.array,\n };\n\n static defaultProps = {};\n\n render() {\n const { classes, className, graphProps, xBand, rowTickValues, columnTickValues } = this.props;\n const { scale = {}, size = {} } = graphProps || {};\n\n return (\n <VxGrid\n xScale={xBand}\n yScale={scale.y}\n className={classNames(classes.grid, className)}\n width={size.width}\n height={size.height}\n xOffset={xBand.bandwidth() / 2}\n rowTickValues={rowTickValues}\n columnTickValues={columnTickValues}\n />\n );\n }\n}\n\nconst styles = () => ({\n grid: {\n stroke: color.primaryLight(),\n },\n});\n\nexport default withStyles(styles)(Grid);\n"],"file":"grid.js"}
1
+ {"version":3,"sources":["../src/grid.jsx"],"names":["Grid","props","classes","className","graphProps","xBand","rowTickValues","columnTickValues","scale","size","console","log","width","y","grid","height","bandwidth","React","Component","PropTypes","object","isRequired","string","types","GraphPropsType","func","array","styles","stroke","color","primaryLight"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;IAEaA,I;;;;;;;;;;;;WAYX,kBAAS;AACP,wBAAmF,KAAKC,KAAxF;AAAA,UAAQC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,SAAjB,eAAiBA,SAAjB;AAAA,UAA4BC,UAA5B,eAA4BA,UAA5B;AAAA,UAAwCC,KAAxC,eAAwCA,KAAxC;AAAA,UAA+CC,aAA/C,eAA+CA,aAA/C;AAAA,UAA8DC,gBAA9D,eAA8DA,gBAA9D;;AACA,iBAAkCH,UAAU,IAAI,EAAhD;AAAA,4BAAQI,KAAR;AAAA,UAAQA,KAAR,2BAAgB,EAAhB;AAAA,2BAAoBC,IAApB;AAAA,UAAoBA,IAApB,0BAA2B,EAA3B;;AAEAC,MAAAA,OAAO,CAACC,GAAR,CAAYL,aAAZ,EAA2B,eAA3B,EAA4CG,IAAI,CAACG,KAAjD,EAAwD,YAAxD;AAEA,0BACE,gCAAC,UAAD;AACE,QAAA,MAAM,EAAEP,KADV;AAEE,QAAA,MAAM,EAAEG,KAAK,CAACK,CAFhB;AAGE,QAAA,SAAS,EAAE,4BAAWX,OAAO,CAACY,IAAnB,EAAyBX,SAAzB,CAHb;AAIE,QAAA,KAAK,EAAEM,IAAI,CAACG,KAJd;AAKE,QAAA,MAAM,EAAEH,IAAI,CAACM,MALf;AAME,QAAA,OAAO,EAAEV,KAAK,CAACW,SAAN,KAAoB,CAN/B;AAOE,QAAA,aAAa,EAAEV,aAPjB;AAQE,QAAA,gBAAgB,EAAEC;AARpB,QADF;AAYD;;;EA9BuBU,kBAAMC,S;;;iCAAnBlB,I,eACQ;AACjBE,EAAAA,OAAO,EAAEiB,sBAAUC,MAAV,CAAiBC,UADT;AAEjBlB,EAAAA,SAAS,EAAEgB,sBAAUG,MAFJ;AAGjBlB,EAAAA,UAAU,EAAEmB,YAAMC,cAAN,CAAqBH,UAHhB;AAIjBhB,EAAAA,KAAK,EAAEc,sBAAUM,IAJA;AAKjBlB,EAAAA,gBAAgB,EAAEY,sBAAUO,KALX;AAMjBpB,EAAAA,aAAa,EAAEa,sBAAUO;AANR,C;iCADR1B,I,kBAUW,E;;AAuBxB,IAAM2B,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBb,IAAAA,IAAI,EAAE;AACJc,MAAAA,MAAM,EAAEC,gBAAMC,YAAN;AADJ;AADc,GAAP;AAAA,CAAf;;eAMe,wBAAWH,MAAX,EAAmB3B,IAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nimport { Grid as VxGrid } from '@vx/grid';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\n\nexport class Grid extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n graphProps: types.GraphPropsType.isRequired,\n xBand: PropTypes.func,\n columnTickValues: PropTypes.array,\n rowTickValues: PropTypes.array,\n };\n\n static defaultProps = {};\n\n render() {\n const { classes, className, graphProps, xBand, rowTickValues, columnTickValues } = this.props;\n const { scale = {}, size = {} } = graphProps || {};\n\n console.log(rowTickValues, 'rowTickValues', size.width, 'size.width');\n\n return (\n <VxGrid\n xScale={xBand}\n yScale={scale.y}\n className={classNames(classes.grid, className)}\n width={size.width}\n height={size.height}\n xOffset={xBand.bandwidth() / 2}\n rowTickValues={rowTickValues}\n columnTickValues={columnTickValues}\n />\n );\n }\n}\n\nconst styles = () => ({\n grid: {\n stroke: color.primaryLight(),\n },\n});\n\nexport default withStyles(styles)(Grid);\n"],"file":"grid.js"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "5.14.3-next.0+1d636215",
6
+ "version": "5.14.3-next.52+f2f82343",
7
7
  "description": "charting",
8
8
  "keywords": [
9
9
  "react",
@@ -19,8 +19,8 @@
19
19
  "dependencies": {
20
20
  "@mapbox/point-geometry": "^0.1.0",
21
21
  "@material-ui/core": "^3.8.3",
22
- "@pie-lib/plot": "^2.7.2",
23
- "@pie-lib/translator": "^2.2.1-next.0+1d636215",
22
+ "@pie-lib/plot": "^2.7.3-next.96+f2f82343",
23
+ "@pie-lib/translator": "^2.2.0",
24
24
  "@vx/axis": "^0.0.183",
25
25
  "@vx/event": "^0.0.182",
26
26
  "@vx/grid": "^0.0.183",
@@ -44,5 +44,5 @@
44
44
  "peerDependencies": {
45
45
  "react": "^16.8.1"
46
46
  },
47
- "gitHead": "1d636215b1c533cb23ebe7d4ccff533d71894bea"
47
+ "gitHead": "f2f82343a373ae1a8f669754a061963cbfdbeb08"
48
48
  }
@@ -76,7 +76,10 @@ const ConfigureChartPanel = (props) => {
76
76
 
77
77
  const resetValues = (data, updateModel) => {
78
78
  (data || []).forEach((d) => {
79
- const remainder = d.value - range.step * Math.floor(d.value / range.step);
79
+ const d_value_scaled = Math.round(d.value * 10);
80
+ const range_step_scaled = Math.round(range.step * 10);
81
+ const remainder_scaled = d_value_scaled % range_step_scaled;
82
+ const remainder = remainder_scaled / 10;
80
83
 
81
84
  if (d.value > range.max || remainder !== 0) {
82
85
  d.value = 0;
package/src/grid.jsx CHANGED
@@ -23,6 +23,8 @@ export class Grid extends React.Component {
23
23
  const { classes, className, graphProps, xBand, rowTickValues, columnTickValues } = this.props;
24
24
  const { scale = {}, size = {} } = graphProps || {};
25
25
 
26
+ console.log(rowTickValues, 'rowTickValues', size.width, 'size.width');
27
+
26
28
  return (
27
29
  <VxGrid
28
30
  xScale={xBand}