codyml commented on code in PR #20498: URL: https://github.com/apache/superset/pull/20498#discussion_r916998998
########## superset-frontend/src/explore/actions/saveModalActions.js: ########## @@ -60,36 +61,143 @@ export function removeSaveModalAlert() { return { type: REMOVE_SAVE_MODAL_ALERT }; } -export function saveSlice(formData, requestParams) { - return dispatch => { - let url = getExploreUrl({ - formData, - endpointType: 'base', - force: false, - curUrl: null, - requestParams, +export const getSlicePayload = ( + sliceName, + formDataWithNativeFilters, + owners, +) => { + const formData = { + ...formDataWithNativeFilters, + adhoc_filters: formDataWithNativeFilters.adhoc_filters?.filter( + f => !f.isExtra, + ), + }; + + const [datasourceId, datasourceType] = formData.datasource.split('__'); + const payload = { + params: JSON.stringify(formData), + slice_name: sliceName, + viz_type: formData.viz_type, + datasource_id: parseInt(datasourceId, 10), + datasource_type: datasourceType, + dashboards: formData.dashboards, + owners, + query_context: JSON.stringify( + buildV1ChartDataPayload({ + formData, + force: false, + resultFormat: 'json', + resultType: 'full', + setDataMask: null, + ownState: null, + }), + ), Review Comment: I'm not sure why non-primitives are serialized, I was mostly just keeping what was there before and I confess I don't really understand what's happening with all of these function calls that generate the payload. Are you sure it's safe to leave out all of those params? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org For additional commands, e-mail: notifications-h...@superset.apache.org