range components

This commit is contained in:
2026-06-07 15:45:26 +05:30
parent cd7f26594b
commit dd538f79d4
3 changed files with 5 additions and 5 deletions

View File

@@ -13,8 +13,6 @@ import FilterListIcon from "@mui/icons-material/FilterList";
import { ResourceField, ResourceMode } from "../types/config"; import { ResourceField, ResourceMode } from "../types/config";
import { FilterBarComponents, FieldComponents } from "../types/overrides"; import { FilterBarComponents, FieldComponents } from "../types/overrides";
import { getFieldOptions, resolveTemplate } from "../utils/options"; import { getFieldOptions, resolveTemplate } from "../utils/options";
import DateRangeField from './fields/DateRangeField';
import NumberRangeField from './fields/NumberRangeField';
export function FilterAutocomplete({ export function FilterAutocomplete({
options, options,
@@ -167,7 +165,6 @@ function renderFilterInput(
if (filterType === "number-range") { if (filterType === "number-range") {
const RangeComponent = fieldComponents?.numberRange; const RangeComponent = fieldComponents?.numberRange;
if (!RangeComponent) throw new Error(`Number range component not found for field ${fieldName}`); if (!RangeComponent) throw new Error(`Number range component not found for field ${fieldName}`);
const rangeVal = (value as { min?: string; max?: string }) || {}; const rangeVal = (value as { min?: string; max?: string }) || {};
return <RangeComponent name={fieldName} field={field} value={rangeVal} onChange={(val: any) => onChange("value", val)} />; return <RangeComponent name={fieldName} field={field} value={rangeVal} onChange={(val: any) => onChange("value", val)} />;
} }
@@ -175,7 +172,6 @@ function renderFilterInput(
if (filterType === "date-range") { if (filterType === "date-range") {
const RangeComponent = fieldComponents?.dateRange; const RangeComponent = fieldComponents?.dateRange;
if (!RangeComponent) throw new Error(`Number range component not found for field ${fieldName}`); if (!RangeComponent) throw new Error(`Number range component not found for field ${fieldName}`);
const rangeVal = (value as { start?: string; end?: string }) || {}; const rangeVal = (value as { start?: string; end?: string }) || {};
return <RangeComponent name={fieldName} field={field} value={rangeVal} onChange={(val: any) => onChange("value", val)} />; return <RangeComponent name={fieldName} field={field} value={rangeVal} onChange={(val: any) => onChange("value", val)} />;
} }

View File

@@ -8,6 +8,8 @@ import EnumField from './EnumField';
import RelationField from './RelationField'; import RelationField from './RelationField';
import ImageUploadField from './ImageUploadField'; import ImageUploadField from './ImageUploadField';
import FallbackField from './FallbackField'; import FallbackField from './FallbackField';
import DateRangeField from './DateRangeField';
import NumberRangeField from './NumberRangeField';
const WrappedImageUploadField = (props: FieldComponentProps) => const WrappedImageUploadField = (props: FieldComponentProps) =>
React.createElement(ImageUploadField, { React.createElement(ImageUploadField, {
@@ -33,4 +35,6 @@ export const defaultFieldComponents: FieldComponents = {
image: WrappedImageUploadField, image: WrappedImageUploadField,
relation: RelationField, relation: RelationField,
default: FallbackField, default: FallbackField,
dateRange: DateRangeField,
numberRange: NumberRangeField,
}; };

View File

@@ -4,7 +4,7 @@ export const configuration: Record<string, ResourceOverride> = {
expenses: { expenses: {
filterOptions: { filterOptions: {
mode: "client", mode: "client",
fields: ["account", "payee.name", "tags", "occurred_at", "amount"], fields: ["account", "payee", "tags", "occurred_at", "amount"],
}, },
fields: { fields: {
payee: { payee: {