Skip to content

Support in query filter #173

@enzo-crance-statnett

Description

@enzo-crance-statnett

Hello.

On one of our React-Admin pages, we have to filter a list on an enum field, keeping only rows whose value for this field is in a subset selected by the user in a CheckboxGroupInput component :

<CheckboxGroupInput
  label="Enumfield"
  source="enumfield@in"
  choices={[
    { id: "a", name: "A" },
    { id: "b", name: "B" },
    { id: "c", name: "C" },
  ]}
/>

The source property here is expressed in the syntax expected by this library, so the in query filter type is correctly translated into enumfield=in. in the query to be sent to the server.

However, the filter value coming from the input component is an array of strings (e.g., ["a", "c"] if only boxes A and C are checked), and it looks like there is no support for that in this library. Indeed, what we get in the final URL filter is enumfield=in.a,c whereas it should be enumfield=in.(a,c) according to the PostgREST syntax. Could you please confirm that ?

If you are open to contributions, we could propose a fix by adding a case for the in query filter type in the parseFilters function in urlBuilder.ts, if that makes sense.

Thanks for your help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions