Skip to content

Commit

Permalink
feat(dashboard): added support to pass on slice selections as filters…
Browse files Browse the repository at this point in the history
… to navigated dashboard (#276)

added support to pass on slice selections as filters to navigated dashboard

UIC-2319
  • Loading branch information
jitendra-kumawat authored and ankursinghal2005 committed Jan 8, 2020
1 parent 0c27fce commit 2504e91
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 0 deletions.
6 changes: 6 additions & 0 deletions superset/assets/src/chart/chartAction.js
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,12 @@ export function executeRestAction(payload, restAction, timeout) {
...restAction,
data: createPostPayload(restAction.data,payload)
};

// update url with filters info as queryparmas for nvaigatetodashbaord rest action
if ("get" === (restAction.method).toLowerCase() && Object.keys(payload.filters).length > 0) {
var queryparams="?preslice_filters="+encodeURIComponent(JSON.stringify(payload.filters));
restAction.url += queryparams;
}
dispatch(runRestQuery(restAction,timeout, chart.id));
};
}
8 changes: 8 additions & 0 deletions superset/assets/src/dashboard/reducers/getInitialState.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,14 @@ export default function (bootstrapData) {
return defaultFilters;
}

try {
// parse preslice_filters from uri and store it in filters against preslice_filters key
const preslice_filters = JSON.parse(getParam('preslice_filters'));
filters['preslice_filters'] = preslice_filters;
} catch (error) {
console.log('no preslice_filters found in url')
}

// try {
// // allow request parameter overwrite dashboard metadata
// filters = JSON.parse(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@ export default function getFormDataWithExtraFilters({
sliceId,
publishSubscriberMap = undefined,
}) {

// store preslice_filters
const preslice_filters = filters && filters.hasOwnProperty('preslice_filters') ? filters['preslice_filters'] : undefined;

const subscriberSliceMap = getSubscriberSliceMap(publishSubscriberMap, sliceId);

Expand All @@ -101,6 +104,11 @@ export default function getFormDataWithExtraFilters({
return cachedFormdataByChart[sliceId];
}

// set preslice_filters
if(preslice_filters){
filters['preslice_filters'] = preslice_filters;
}

const formData = {
...chart.formData,
extra_filters: getEffectiveExtraFilters({
Expand Down

0 comments on commit 2504e91

Please sign in to comment.