From cbab1076c25061b0a4568abbe3fd1c98052356f3 Mon Sep 17 00:00:00 2001 From: Yongjie Zhao Date: Tue, 22 Feb 2022 21:50:50 +0800 Subject: [PATCH] fix(key-value): lost url_params after long-url feature (#18846) (cherry picked from commit 4c165860674d1746d99e3e38bc6f7aa849b1601c) --- .../components/ExploreViewContainer/index.jsx | 13 +++++++++++++ superset/views/core.py | 3 +-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/superset-frontend/src/explore/components/ExploreViewContainer/index.jsx b/superset-frontend/src/explore/components/ExploreViewContainer/index.jsx index b14ca36c734b..130fa2b2a09f 100644 --- a/superset-frontend/src/explore/components/ExploreViewContainer/index.jsx +++ b/superset-frontend/src/explore/components/ExploreViewContainer/index.jsx @@ -175,6 +175,19 @@ const updateHistory = debounce( additionalParam[URL_PARAMS.datasetId.name] = datasetId; } + const urlParams = payload?.url_params || {}; + Object.entries(urlParams).forEach(([key, value]) => { + if ( + ![ + URL_PARAMS.sliceId.name, + URL_PARAMS.formDataKey.name, + URL_PARAMS.datasetId.name, + ].includes(key) + ) { + additionalParam[key] = value; + } + }); + try { let key; let stateModifier; diff --git a/superset/views/core.py b/superset/views/core.py index 6ce873b18518..a51cec56216f 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -744,8 +744,7 @@ def explore( if form_data_key: parameters = CommandParameters(actor=g.user, key=form_data_key,) value = GetFormDataCommand(parameters).run() - if value: - initial_form_data = json.loads(value) + initial_form_data = json.loads(value) if value else {} if not initial_form_data: slice_id = request.args.get("slice_id")