Skip to main content

Custom Filter

Overview

The CustomFilter component provides a flexible filtering system with support for multiple filter types and visual display of applied filters. It includes:

  • Text input filters
  • Date range picker
  • Local/remote dropdown lists
  • Local/remote multi-select
  • Chip display of active filters
  • Clear all/reset functionality

Usage Example

Code

import React, { useState } from "react";
import { CustomFilter } from "@components/";
export const CustomFilterDemo = () => {
const [customFilters, setCustomFilters] = useState([]);
const customFilterItems = [
{
type: "text",
field: "name",
label: "Name",
placeholder: "Search by name...",
},
{
type: "date",
field: "dateRange",
label: "Date Range",
},
];

return (
<CustomFilter
filterItems={customFilterItems}
onApplyFilter={(e) => {
setCustomFilters(e);
console.log("Applied filters:", e);
}}
filters={customFilters}
targetClass="target-class"
style={{ width: "370px" }}
/>
);
<div className="target-class mt-3"></div>;
};

Result

Props

PropTypeRequiredDescription
filterItemsArrayYesArray of filter configuration objects
onApplyFilterFunctionNoCallback when filters are applied (receives array of current filters)
targetClassStringYesCSS class name where filter chips will be rendered
filtersArrayNoInitial filter values
styleObjectNoCustom styles for the filter button