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 && (
