diff --git a/superset/assets/javascripts/explore/actions/chartActions.js b/superset/assets/javascripts/explore/actions/chartActions.js index 6c9291dc41ece..a9e5d1d379835 100644 --- a/superset/assets/javascripts/explore/actions/chartActions.js +++ b/superset/assets/javascripts/explore/actions/chartActions.js @@ -43,6 +43,11 @@ export function chartRenderingFailed(error) { return { type: CHART_RENDERING_FAILED, error }; } +export const REMOVE_CHART_ALERT = 'REMOVE_CHART_ALERT'; +export function removeChartAlert() { + return { type: REMOVE_CHART_ALERT }; +} + export const RUN_QUERY = 'RUN_QUERY'; export function runQuery(formData, force = false) { return function (dispatch, getState) { diff --git a/superset/assets/javascripts/explore/actions/exploreActions.js b/superset/assets/javascripts/explore/actions/exploreActions.js index f539aa11e644a..160828229786f 100644 --- a/superset/assets/javascripts/explore/actions/exploreActions.js +++ b/superset/assets/javascripts/explore/actions/exploreActions.js @@ -141,11 +141,6 @@ export function removeControlPanelAlert() { return { type: REMOVE_CONTROL_PANEL_ALERT }; } -export const REMOVE_CHART_ALERT = 'REMOVE_CHART_ALERT'; -export function removeChartAlert() { - return { type: REMOVE_CHART_ALERT }; -} - export const UPDATE_CHART_TITLE = 'UPDATE_CHART_TITLE'; export function updateChartTitle(slice_name) { return { type: UPDATE_CHART_TITLE, slice_name }; diff --git a/superset/assets/javascripts/explore/components/ChartContainer.jsx b/superset/assets/javascripts/explore/components/ChartContainer.jsx index 3e93b9e6a4be7..3243f32e1f604 100644 --- a/superset/assets/javascripts/explore/components/ChartContainer.jsx +++ b/superset/assets/javascripts/explore/components/ChartContainer.jsx @@ -325,9 +325,9 @@ ChartContainer.propTypes = propTypes; function mapStateToProps({ explore, chart }) { const formData = getFormDataFromControls(explore.controls); return { - alert: explore.chartAlert, - can_overwrite: explore.can_overwrite, - can_download: explore.can_download, + alert: chart.chartAlert, + can_overwrite: !!explore.can_overwrite, + can_download: !!explore.can_download, datasource: explore.datasource, column_formats: explore.datasource ? explore.datasource.column_formats : null, containerId: explore.slice ? `slice-container-${explore.slice.slice_id}` : 'slice-container', diff --git a/superset/assets/javascripts/explore/components/SaveModal.jsx b/superset/assets/javascripts/explore/components/SaveModal.jsx index b3a69a3c83828..45f5ac138ff2e 100644 --- a/superset/assets/javascripts/explore/components/SaveModal.jsx +++ b/superset/assets/javascripts/explore/components/SaveModal.jsx @@ -238,7 +238,7 @@ function mapStateToProps({ explore, saveModal }) { can_overwrite: explore.can_overwrite, user_id: explore.user_id, dashboards: saveModal.dashboards, - alert: explore.saveModalAlert, + alert: saveModal.saveModalAlert, }; } diff --git a/superset/assets/javascripts/explore/index.jsx b/superset/assets/javascripts/explore/index.jsx index 2f6e898ee276f..525f2c4fe30d1 100644 --- a/superset/assets/javascripts/explore/index.jsx +++ b/superset/assets/javascripts/explore/index.jsx @@ -35,12 +35,12 @@ const bootstrappedState = Object.assign( isStarred: false, triggerQuery: true, triggerRender: false, - alert: null, }, ); const initState = { chart: { + chartAlert: null, chartStatus: null, chartUpdateEndTime: null, chartUpdateStartTime: now(), @@ -49,6 +49,7 @@ const initState = { }, saveModal: { dashboards: [], + saveModalAlert: null, }, explore: bootstrappedState, }; diff --git a/superset/assets/javascripts/explore/reducers/chartReducer.js b/superset/assets/javascripts/explore/reducers/chartReducer.js index c41771b44c313..9337b24a24f1c 100644 --- a/superset/assets/javascripts/explore/reducers/chartReducer.js +++ b/superset/assets/javascripts/explore/reducers/chartReducer.js @@ -63,6 +63,12 @@ export default function chartReducer(state = {}, action) { } return newState; }, + [actions.REMOVE_CHART_ALERT]() { + if (state.chartAlert !== null) { + return Object.assign({}, state, { chartAlert: null }); + } + return state; + }, }; if (action.type in actionHandlers) { diff --git a/superset/assets/javascripts/explore/reducers/exploreReducer.js b/superset/assets/javascripts/explore/reducers/exploreReducer.js index bc1072f49163f..35281aa093dfa 100644 --- a/superset/assets/javascripts/explore/reducers/exploreReducer.js +++ b/superset/assets/javascripts/explore/reducers/exploreReducer.js @@ -65,12 +65,6 @@ export default function exploreReducer(state = {}, action) { const updatedSlice = Object.assign({}, state.slice, { slice_name: action.slice_name }); return Object.assign({}, state, { slice: updatedSlice }); }, - [actions.REMOVE_CHART_ALERT]() { - if (state.chartAlert !== null) { - return Object.assign({}, state, { chartAlert: null }); - } - return state; - }, [actions.RESET_FIELDS]() { const controls = getControlsState(state, getFormDataFromControls(state.controls)); return Object.assign({}, state, { controls });