FilterRow() — supabase Function Reference
Architecture documentation for the FilterRow() function in FilterRow.tsx from the supabase codebase.
Entity Profile
Relationship Graph
Source Code
apps/studio/components/grid/components/header/filter/FilterRow.tsx lines 18–96
const FilterRow = ({ filter, filterIdx, onChange, onDelete, onKeyDown }: FilterRowProps) => {
const snap = useTableEditorTableStateSnapshot()
const column = snap.table.columns.find((x) => x.name === filter.column)
const columnOptions =
snap.table.columns?.map((x) => {
return { value: x.name, label: x.name, postLabel: x.dataType }
}) || []
const placeholder =
column?.format === 'timestamptz'
? 'yyyy-mm-dd hh:mm:ss+zz'
: column?.format === 'timestamp'
? 'yyyy-mm-dd hh:mm:ss'
: 'Enter a value'
return (
<div className="flex w-full items-center justify-between gap-x-1 px-3">
<DropdownControl
align="start"
options={columnOptions}
onSelect={(nextColumn) => onChange(filterIdx, { ...filter, column: nextColumn as string })}
>
<Button
asChild
type="outline"
icon={
<div className="text-foreground-lighter">
<ChevronDown strokeWidth={1.5} />
</div>
}
className="w-32 justify-start"
>
<span>{column?.name ?? ''}</span>
</Button>
</DropdownControl>
<DropdownControl
align="start"
options={FilterOperatorOptions}
onSelect={(nextOperator) =>
onChange(filterIdx, {
...filter,
operator: nextOperator as FilterOperator,
})
}
>
<Button
asChild
type="outline"
icon={
<div className="text-foreground-lighter">
<ChevronDown strokeWidth={1.5} />
</div>
}
>
<span>{filter.operator}</span>
</Button>
</DropdownControl>
<Input
size="tiny"
className="w-full"
placeholder={placeholder}
value={filter.value}
onChange={(event) =>
onChange(filterIdx, {
...filter,
value: event.target.value,
})
}
onKeyDown={onKeyDown}
/>
<Button
type="text"
className="px-1"
icon={<X strokeWidth={1.5} />}
onClick={() => onDelete(filterIdx)}
/>
</div>
)
}
Domain
Subdomains
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free