[WEB-5099] improvement: enhance rich filters with new components and configurations (#7916)

* feat: enhance rich filters with new components and configurations

- Added `AdditionalFilterValueInput` for unsupported filter types.
- Introduced `FilterItem` and related components for better filter item management.
- Updated filter configurations to include new properties and support for multiple values.
- Improved loading states and error handling in filter components.
- Refactored existing filter logic to streamline operations and enhance performance.

* Refactor rich filters component structure and enhance filter item functionality

- Moved AddFilterButton and AddFilterDropdown to a new directory structure for better organization.
- Updated FilterItemProperty to handle filter selection and condition updates more effectively.
- Enhanced the FilterInstance class with methods to update condition properties and operators, improving filter management.
- Added new functionality to handle invalid filter states and improve user feedback.

* [WEB-5111] feat: add 'created_at' and 'updated_at' filters to work item configuration

- Introduced new filter configurations for 'created_at' and 'updated_at' in the work item filters.
- Updated relevant components to utilize these new filters, enhancing filtering capabilities.
- Added corresponding filter configuration functions in the utils for better date handling.

* fix: build
This commit is contained in:
Prateek Shourya 2025-10-14 01:39:24 +05:30 committed by GitHub
parent 9f41e92d21
commit cfb4a8212c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
49 changed files with 854 additions and 247 deletions

View file

@ -0,0 +1,15 @@
import React from "react";
import { observer } from "mobx-react";
// plane imports
import { TFilterValue, TFilterProperty } from "@plane/types";
// local imports
import { TFilterValueInputProps } from "@/components/rich-filters/shared";
export const AdditionalFilterValueInput = observer(
<P extends TFilterProperty, V extends TFilterValue>(_props: TFilterValueInputProps<P, V>) => (
// Fallback
<div className="h-full flex items-center px-4 text-xs text-custom-text-400 transition-opacity duration-200 cursor-not-allowed">
Filter type not supported
</div>
)
);