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

hugh pushed a commit to branch hm/ar-filters
in repository https://gitbox.apache.org/repos/asf/superset.git

commit ecee690acda48f2c25682d36cfadd876efd27e4e
Author: Hugh A. Miles II <[email protected]>
AuthorDate: Wed Jan 29 19:09:16 2025 +0000

    saving ui work for now
---
 .../FilterBar/FilterControls/FilterValue.tsx       |  8 +++
 .../src/features/alerts/AlertReportModal.tsx       | 70 ++++++++++++++++++++--
 2 files changed, 73 insertions(+), 5 deletions(-)

diff --git 
a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.tsx
 
b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.tsx
index 454d906032..f9edcc728d 100644
--- 
a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.tsx
+++ 
b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterValue.tsx
@@ -173,6 +173,14 @@ const FilterValue: FC<FilterControlProps> = ({
         return;
       }
       setIsRefreshing(true);
+      // console.log(
+      //   'test',
+      //   {
+      //     formData: newFormData,
+      //     force: shouldRefresh,
+      //     ownState: filterOwnState,
+      //   }
+      // )
       getChartDataRequest({
         formData: newFormData,
         force: shouldRefresh,
diff --git a/superset-frontend/src/features/alerts/AlertReportModal.tsx 
b/superset-frontend/src/features/alerts/AlertReportModal.tsx
index aa7d7aa515..df94b500e9 100644
--- a/superset-frontend/src/features/alerts/AlertReportModal.tsx
+++ b/superset-frontend/src/features/alerts/AlertReportModal.tsx
@@ -77,6 +77,8 @@ import { NotificationMethod } from 
'./components/NotificationMethod';
 import ValidatedPanelHeader from './components/ValidatedPanelHeader';
 import StyledPanel from './components/StyledPanel';
 import { buildErrorTooltipMessage } from './buildErrorTooltipMessage';
+import { getChartDataRequest } from 'src/components/Chart/chartAction';
+import { getFormData } from '../../utils';
 
 const TIMEOUT_MIN = 1;
 const TEXT_BASED_VISUALIZATION_TYPES = [
@@ -453,6 +455,9 @@ const AlertReportModal: 
FunctionComponent<AlertReportModalProps> = ({
   const [chartOptions, setChartOptions] = useState<MetaObject[]>([]);
   const [tabOptions, setTabOptions] = useState<TabNode[]>([]);
   const [nativeFilterOptions, setNativeFilterOptions] = useState<object>([]);
+  const [nativeFilterValues, setNativeFilterValues] = useState<object>([]);
+
+  const [nativeFilterOptionsTwo, setNativeFilterOptionsTwo] = 
useState<object>([]);
 
   console.log('nativeFilters', nativeFilterOptions);
 
@@ -836,6 +841,50 @@ const AlertReportModal: 
FunctionComponent<AlertReportModalProps> = ({
           setTabOptions(tabTree);
           // console.log('setting native filters', nativeFilters);
           // setNativeFilterOptions(nativeFilters);
+
+          // const dashboardId = dashboard.value;
+          // const newFormData = getFormData({
+              // ...filter,
+              // datasetId,
+              // dependencies,
+              // groupby,
+              // adhoc_filters,
+              // time_range,
+              // dashboardId,
+          // });
+
+          const chartDataExample = {
+            formData: {
+              // enableEmptyFilter: false,
+              // defaultToFirstItem: false,
+              // multiSelect: true,
+              // searchAllOptions: false,
+              // inverseSelection: false,
+              datasource: "15__table",
+              groupby: ["clinical_stage"],
+              // adhoc_filters: [],
+              // extra_filters: [],
+              // extra_form_data: {},
+              metrics: ["count"],
+              row_limit: 1000,
+              showSearch: true,
+              // url_params: {
+              //   native_filters_key: "0ktJOz1FTTo"
+              // },
+              // inView: true,
+              viz_type: "filter_select",
+              // type: "NATIVE_FILTER",
+              dashboardId: 6,
+              // native_filter_id: "NATIVE_FILTER-8jS1fx4hl"
+            },
+            force: false,
+            ownState: {}
+          }
+          
+          // get filter values
+          // getChartDataRequest(chartDataExample).then(response => {
+          //   console.log('response.json.result', 
response.json.result[0].data)
+          // });
           
           const anchor = currentAlert?.extra?.dashboard?.anchor;
           console.log('anchor', anchor);
@@ -843,6 +892,10 @@ const AlertReportModal: 
FunctionComponent<AlertReportModalProps> = ({
               // const nativeFiltersOptions = 
nativeFilters[anchor].map((filter: any) => {value: filter.id, label: 
filter.name})
               console.log('nativeFiltersOptions', nativeFilters[anchor]);
               setNativeFilterOptions(nativeFilters[anchor].map((filter: any) 
=> ({value: filter.id, label: filter.name})));
+              getChartDataRequest(chartDataExample).then(response => {
+                console.log('hello', response)
+                setNativeFilterValues(response.json.result[0].data.map((item: 
any) => ({value: item.clinical_stage, label: item.clinical_stage})))
+              });
             
             try {
               const parsedAnchor = JSON.parse(anchor);
@@ -1122,6 +1175,10 @@ const AlertReportModal: 
FunctionComponent<AlertReportModalProps> = ({
     setForceScreenshot(event.target.checked);
   };
 
+  const onChangeDashboardFilter = (value: any) => {
+    console.log('dashboardFilter', value);
+  }
+
   // Make sure notification settings has the required info
   const checkNotificationSettings = () => {
     if (!notificationSettings.length) {
@@ -1776,19 +1833,22 @@ const AlertReportModal: 
FunctionComponent<AlertReportModalProps> = ({
                   placeholder={t('Select a tab')}
                 />
               </>
-              <>
+              <div style={{marginTop: '10px', display: 'flex', flexDirection: 
'column'}}>
               <div className="control-label">{t('Select Dashboard 
Filter')}</div>
                 <Select 
+                  disabled={nativeFilterOptions?.length < 1}
                   ariaLabel={t('Select Filter')}
-                  value={"test"}
-                  // options={[{value: "test", label: "test"}, {value: 
"test2", label: "test2"}]}
+                  value={"value"}
                   options={nativeFilterOptions}
                 />
+                <div className="control-label">{t('Select Dashboard 
Value')}</div>
                 <Select 
-                  ariaLabel={t('Select Value')}
+                  ariaLabel={t('Value')}
                   value={"value"}
+                  options={nativeFilterValues}
+                  onChange={onChangeDashboardFilter}
                 />
-              </>
+              </div>
             </StyledInputContainer>
           )}
           {isScreenshot && (

Reply via email to