feat: handle number dataType in filters

This commit is contained in:
Aditya Singh 2025-08-22 16:34:39 +05:30
parent 6cb1ffdbc2
commit 0df85ae46b

View File

@ -5,7 +5,11 @@ import { useCallback, useMemo } from 'react';
import { Query } from 'types/api/queryBuilder/queryBuilderData'; import { Query } from 'types/api/queryBuilder/queryBuilderData';
import { getGroupContextMenuConfig } from './contextConfig'; import { getGroupContextMenuConfig } from './contextConfig';
import { addFilterToQuery } from './drilldownUtils'; import {
addFilterToQuery,
getBaseMeta,
isNumberDataType,
} from './drilldownUtils';
const useFilterDrilldown = ({ const useFilterDrilldown = ({
query, query,
@ -40,7 +44,14 @@ const useFilterDrilldown = ({
const handleFilterDrilldown = useCallback( const handleFilterDrilldown = useCallback(
(operator: string): void => { (operator: string): void => {
const filterKey = clickedData?.column?.title as string; const filterKey = clickedData?.column?.title as string;
const filterValue = clickedData?.record?.[filterKey] || ''; let filterValue = clickedData?.record?.[filterKey] || '';
// Check if the filterKey is of number type and convert filterValue accordingly
const baseMeta = getBaseMeta(query, filterKey);
if (baseMeta && isNumberDataType(baseMeta.dataType) && filterValue !== '') {
filterValue = Number(filterValue);
}
const newQuery = addFilterToQuery(query, [ const newQuery = addFilterToQuery(query, [
{ {
filterKey, filterKey,