This is an automated email from the ASF dual-hosted git repository.

msyavuz pushed a commit to branch 
msyavuz/fix/matrixify-dimension-value-disappear
in repository https://gitbox.apache.org/repos/asf/superset.git

commit d24e62ab96ed89610a3f1e12f197ab5115f98d6c
Author: Mehmet Salih Yavuz <[email protected]>
AuthorDate: Mon Jan 12 15:10:56 2026 +0300

    fix(Matrixify): Do not clear values when saving
---
 .../controls/MatrixifyDimensionControl.tsx         | 36 +++++++++-------------
 1 file changed, 14 insertions(+), 22 deletions(-)

diff --git 
a/superset-frontend/src/explore/components/controls/MatrixifyDimensionControl.tsx
 
b/superset-frontend/src/explore/components/controls/MatrixifyDimensionControl.tsx
index 87a1efe291..fc9036c6ec 100644
--- 
a/superset-frontend/src/explore/components/controls/MatrixifyDimensionControl.tsx
+++ 
b/superset-frontend/src/explore/components/controls/MatrixifyDimensionControl.tsx
@@ -82,17 +82,21 @@ export default function MatrixifyDimensionControl(
 
   // Reset values when selection mode changes
   useEffect(() => {
-    if (prevSelectionMode.current !== selectionMode) {
-      prevSelectionMode.current = selectionMode;
-      if (value?.values && value.values.length > 0) {
-        onChange({
-          dimension: value.dimension,
-          values: [],
-          topNValues: [],
-        });
-      }
+    // Only clear values when actually switching between modes, not on initial 
load or re-render
+    if (
+      prevSelectionMode.current !== selectionMode && 
+      prevSelectionMode.current !== undefined &&
+      value?.dimension
+    ) {
+      // Clear values when switching between members and topn modes
+      onChange({
+        dimension: value.dimension,
+        values: [],
+        topNValues: [],
+      });
     }
-  }, [selectionMode, value]);
+    prevSelectionMode.current = selectionMode;
+  }, [selectionMode]);
 
   // Initialize dimension options from datasource
   useEffect(() => {
@@ -175,18 +179,6 @@ export default function MatrixifyDimensionControl(
   // Load TopN values when in TopN mode
   useEffect(() => {
     if (!value?.dimension || !datasource || selectionMode !== 'topn') {
-      // Clear values when switching away from topn mode
-      if (
-        selectionMode !== 'topn' &&
-        value?.values &&
-        value.values.length > 0
-      ) {
-        onChange({
-          dimension: value.dimension,
-          values: [],
-          topNValues: [],
-        });
-      }
       return undefined;
     }
 

Reply via email to