diff --git a/superset/assets/javascripts/explore/components/controls/BoundsControl.jsx b/superset/assets/javascripts/explore/components/controls/BoundsControl.jsx index 04a9764b07b3..313ab93ae3f8 100644 --- a/superset/assets/javascripts/explore/components/controls/BoundsControl.jsx +++ b/superset/assets/javascripts/explore/components/controls/BoundsControl.jsx @@ -51,10 +51,10 @@ export default class BoundsControl extends React.Component { const mm = this.state.minMax; const errors = []; if (mm[0] && isNaN(mm[0])) { - errors.push('`From` value should be numeric or empty'); + errors.push('`Min` value should be numeric or empty'); } if (mm[1] && isNaN(mm[1])) { - errors.push('`To` value should be numeric or empty'); + errors.push('`Max` value should be numeric or empty'); } if (errors.length === 0) { this.props.onChange([parseFloat(mm[0]), parseFloat(mm[1])], errors); @@ -66,20 +66,20 @@ export default class BoundsControl extends React.Component { return (
- + - + - + diff --git a/superset/assets/javascripts/explore/stores/store.js b/superset/assets/javascripts/explore/stores/store.js index 64a0ad822516..2cd2874c266f 100644 --- a/superset/assets/javascripts/explore/stores/store.js +++ b/superset/assets/javascripts/explore/stores/store.js @@ -19,6 +19,16 @@ export function getControlNames(vizType, datasourceType) { return controlNames; } +function handleDeprecatedControls(formData) { + // Reacffectation / handling of deprecated controls + /* eslint-disable no-param-reassign */ + + // y_axis_zero was a boolean forcing 0 to be part of the Y Axis + if (formData.y_axis_zero) { + formData.y_axis_bounds = [0, null]; + } +} + export function getControlsState(state, form_data) { /* * Gets a new controls object to put in the state. The controls object @@ -32,10 +42,7 @@ export function getControlsState(state, form_data) { const formData = Object.assign({}, form_data); const vizType = formData.viz_type || 'table'; - // Control reacffectation for deprecation - if (formData.y_axis_zero) { - formData.y_axis_bounds = [0, null]; - } + handleDeprecatedControls(formData); const controlNames = getControlNames(vizType, state.datasource.type); diff --git a/superset/assets/visualizations/nvd3_vis.js b/superset/assets/visualizations/nvd3_vis.js index 3be3e155a44a..a1cac1a9ee84 100644 --- a/superset/assets/visualizations/nvd3_vis.js +++ b/superset/assets/visualizations/nvd3_vis.js @@ -306,8 +306,7 @@ function nvd3Vis(slice, payload) { if ((vizType === 'line' || vizType === 'area') && fd.rich_tooltip) { chart.useInteractiveGuideline(true); } - if ( - chart.forceY && + if (chart.forceY && fd.y_axis_bounds && (fd.y_axis_bounds[0] !== null || fd.y_axis_bounds[1] !== null)) { chart.forceY(fd.y_axis_bounds);