Filter nested fields in NestJS-Query
How do I filter nested fields when using useTable hook from Antd? Dot notation doesn't seem to work
useTableuseTableuseTableuseTableuseTableuseTableuseTableimport gql from 'graphql-tag';
// Query to get events
export const EVENTS_QUERY = gql`
query EventsList(
$filter: EventFilter!
$sorting: [EventSort!]
$paging: OffsetPaging!
) {
events(filter: $filter, sorting: $sorting, paging: $paging) {
nodes {
id
category
created
price
name
length
description
date
venue {
id
}
}
}
}
`;venuevenuevenuevenuevenuevenueidideventsEVENTS_QUERYEVENTS_QUERYEVENTS_QUERYEVENTS_QUERYEVENTS_QUERYconsole.logconsole.logexport const EventList = ({ children }: React.PropsWithChildren) => {
useDocumentTitle('Events - Applausio');
const go = useGo();
const { tableProps, filters } = useTable({
resource: 'events',
onSearch: (values: any) => {
return [
{
field: 'name',
operator: 'contains',
value: values.name,
},
];
},
pagination: {
pageSize: 20,
},
sorters: {
initial: [
{
field: 'created',
order: 'desc',
},
],
},
filters: {
initial: [
{
field: 'name',
operator: 'contains',
value: undefined,
},
],
},
meta: {
gqlQuery: EVENTS_QUERY,
},
});
return (
<div>
<List
breadcrumb={false}
headerButtons={() => (
<CreateButton
onClick={() => {
go({
to: { resource: 'events', action: 'create' },
options: { keepQuery: true },
type: 'replace',
});
}}
/>
)}
>
<Table {...tableProps} pagination={{ ...tableProps.pagination }}>
<Table.Column<Event>
dataIndex="name"
title="Name"
defaultFilteredValue={getDefaultFilter('id', filters)}
filterIcon={<FilterFilled />}
filterDropdown={(props) => (
<FilterDropdown {...props}>
<Input placeholder="Event Name" />
</FilterDropdown>
)}
render={(value, record) => (
<Space>
<Text style={{ whiteSpace: 'nowrap' }}>{record.name}</Text>
</Space>
)}
/>Table.Columnname{
field: "category.type",
operator: "eq",
value: "value";
}events.map(event => (
<div key={event.id}>
<p>Event Name: {event.name}</p>
<p>Venue ID: {event.venue.id}</p> {/* Access the id property of venue */}
</div>
))<p>Venue: {event.venue}</p> // Incorrect, will cause error