fix: save tabs when saving the query bug (#12607)

Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
This commit is contained in:
Hugh A. Miles II
2021-01-19 14:27:48 -05:00
committed by GitHub
parent c347ddbfb6
commit 68fe2208ba
2 changed files with 77 additions and 36 deletions

View File

@@ -139,44 +139,10 @@ export function queryValidationFailed(query, message, error) {
return { type: QUERY_VALIDATION_FAILED, query, message, error };
}
export function saveQuery(query) {
return dispatch =>
SupersetClient.post({
endpoint: '/savedqueryviewapi/api/create',
postPayload: convertQueryToServer(query),
stringify: false,
})
.then(result => {
dispatch({
type: QUERY_EDITOR_SAVED,
query,
result: convertQueryToClient(result.json.item),
});
dispatch(addSuccessToast(t('Your query was saved')));
})
.catch(() =>
dispatch(addDangerToast(t('Your query could not be saved'))),
);
}
export function updateQueryEditor(alterations) {
return { type: UPDATE_QUERY_EDITOR, alterations };
}
export function updateSavedQuery(query) {
return dispatch =>
SupersetClient.put({
endpoint: `/savedqueryviewapi/api/update/${query.remoteId}`,
postPayload: convertQueryToServer(query),
stringify: false,
})
.then(() => dispatch(addSuccessToast(t('Your query was updated'))))
.catch(() =>
dispatch(addDangerToast(t('Your query could not be updated'))),
)
.then(() => dispatch(updateQueryEditor(query)));
}
export function scheduleQuery(query) {
return dispatch =>
SupersetClient.post({
@@ -847,6 +813,44 @@ export function queryEditorSetTitle(queryEditor, title) {
};
}
export function saveQuery(query) {
return dispatch =>
SupersetClient.post({
endpoint: '/savedqueryviewapi/api/create',
postPayload: convertQueryToServer(query),
stringify: false,
})
.then(result => {
dispatch({
type: QUERY_EDITOR_SAVED,
query,
result: convertQueryToClient(result.json.item),
});
dispatch(addSuccessToast(t('Your query was saved')));
dispatch(queryEditorSetTitle(query, query.title));
})
.catch(() =>
dispatch(addDangerToast(t('Your query could not be saved'))),
);
}
export function updateSavedQuery(query) {
return dispatch =>
SupersetClient.put({
endpoint: `/savedqueryviewapi/api/update/${query.remoteId}`,
postPayload: convertQueryToServer(query),
stringify: false,
})
.then(() => {
dispatch(addSuccessToast(t('Your query was updated')));
dispatch(queryEditorSetTitle(query, query.title));
})
.catch(() =>
dispatch(addDangerToast(t('Your query could not be updated'))),
)
.then(() => dispatch(updateQueryEditor(query)));
}
export function queryEditorSetSql(queryEditor, sql) {
return function (dispatch) {
const sync = isFeatureEnabled(FeatureFlag.SQLLAB_BACKEND_PERSISTENCE)