range components
This commit is contained in:
@@ -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)} />;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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: {
|
||||||
|
|||||||
Reference in New Issue
Block a user