fix: Pie chart not displayed in viz (#13987)

(cherry picked from commit 56dc74e09f1665c1030a8e6ccf66e27fb4f24e9b)
diff --git a/superset-frontend/src/explore/components/controls/VizTypeControl.jsx b/superset-frontend/src/explore/components/controls/VizTypeControl.jsx
index df3bfd3..c6d267b 100644
--- a/superset-frontend/src/explore/components/controls/VizTypeControl.jsx
+++ b/superset-frontend/src/explore/components/controls/VizTypeControl.jsx
@@ -107,6 +107,11 @@
   );
 }
 
+const nativeFilterGate = behaviors =>
+  !behaviors.includes(Behavior.NATIVE_FILTER) ||
+  (isFeatureEnabled(FeatureFlag.DASHBOARD_CROSS_FILTERS) &&
+    behaviors.includes(Behavior.CROSS_FILTER));
+
 const VizTypeControl = props => {
   const [showModal, setShowModal] = useState(false);
   const [filter, setFilter] = useState('');
@@ -168,11 +173,7 @@
   const filteredTypes = DEFAULT_ORDER.filter(type => registry.has(type))
     .filter(type => {
       const behaviors = registry.get(type)?.behaviors || [];
-      return (
-        (isFeatureEnabled(FeatureFlag.DASHBOARD_CROSS_FILTERS) &&
-          behaviors.includes(Behavior.CROSS_FILTER)) ||
-        !behaviors.length
-      );
+      return nativeFilterGate(behaviors);
     })
     .map(type => ({
       key: type,
@@ -183,11 +184,7 @@
         .entries()
         .filter(entry => {
           const behaviors = entry.value?.behaviors || [];
-          return (
-            (isFeatureEnabled(FeatureFlag.DASHBOARD_CROSS_FILTERS) &&
-              behaviors.includes(Behavior.CROSS_FILTER)) ||
-            !behaviors.length
-          );
+          return nativeFilterGate(behaviors);
         })
         .filter(({ key }) => !typesWithDefaultOrder.has(key)),
     )