You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by mi...@apache.org on 2023/03/28 21:30:37 UTC
[superset] branch master updated: fix: Preserves selected scopes when toggling between scope types (#23475)
This is an automated email from the ASF dual-hosted git repository.
michaelsmolina pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git
The following commit(s) were added to refs/heads/master by this push:
new 80d1e4ffa3 fix: Preserves selected scopes when toggling between scope types (#23475)
80d1e4ffa3 is described below
commit 80d1e4ffa3626aac8af15111c00fc2c85aeba1bc
Author: Michael S. Molina <70...@users.noreply.github.com>
AuthorDate: Tue Mar 28 18:30:24 2023 -0300
fix: Preserves selected scopes when toggling between scope types (#23475)
---
.../FilterScope/FilterScope.test.tsx | 2 +-
.../FiltersConfigForm/FilterScope/FilterScope.tsx | 19 +++++++++++--------
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FilterScope/FilterScope.test.tsx b/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FilterScope/FilterScope.test.tsx
index 10b48b9d9c..a808823a09 100644
--- a/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FilterScope/FilterScope.test.tsx
+++ b/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FilterScope/FilterScope.test.tsx
@@ -129,7 +129,7 @@ describe('FilterScope', () => {
expect(screen.getByRole('tree')).toBeInTheDocument();
expect(
document.querySelectorAll('.ant-tree-checkbox-checked').length,
- ).toBe(1);
+ ).toBe(4);
});
});
});
diff --git a/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FilterScope/FilterScope.tsx b/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FilterScope/FilterScope.tsx
index ce1a510e20..0682279120 100644
--- a/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FilterScope/FilterScope.tsx
+++ b/superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/FilterScope/FilterScope.tsx
@@ -17,7 +17,7 @@
* under the License.
*/
-import React, { FC, useCallback, useState } from 'react';
+import React, { FC, useCallback, useRef, useState } from 'react';
import {
NativeFilterScope,
styled,
@@ -67,6 +67,7 @@ const FilterScope: FC<FilterScopeProps> = ({
const [initialFilterScope] = useState(
filterScope || getDefaultScopeValue(chartId, initiallyExcludedCharts),
);
+ const lastSpecificScope = useRef(initialFilterScope);
const [initialScopingType] = useState(
isScopingAll(initialFilterScope, chartId)
? ScopingType.all
@@ -78,10 +79,13 @@ const FilterScope: FC<FilterScopeProps> = ({
const onUpdateFormValues = useCallback(
(formValues: any) => {
+ if (formScopingType === ScopingType.specific) {
+ lastSpecificScope.current = formValues.scope;
+ }
updateFormValues(formValues);
setHasScopeBeenModified(true);
},
- [updateFormValues],
+ [formScopingType, updateFormValues],
);
const updateScopes = useCallback(() => {
@@ -113,12 +117,11 @@ const FilterScope: FC<FilterScopeProps> = ({
>
<Radio.Group
onChange={({ target: { value } }) => {
- if (value === ScopingType.all) {
- const scope = getDefaultScopeValue(chartId);
- updateFormValues({
- scope,
- });
- }
+ const scope =
+ value === ScopingType.all
+ ? getDefaultScopeValue(chartId)
+ : lastSpecificScope.current;
+ updateFormValues({ scope });
setHasScopeBeenModified(true);
forceUpdate();
}}