diff --git a/src/components/Documents/DocumentFilterChips.jsx b/src/components/Documents/DocumentFilterChips.jsx
new file mode 100644
index 00000000..9f6f1fa7
--- /dev/null
+++ b/src/components/Documents/DocumentFilterChips.jsx
@@ -0,0 +1,81 @@
+import React, { useMemo } from "react";
+import moment from "moment";
+
+const DocumentFilterChips = ({ filters, filterData, removeFilterChip }) => {
+ const filterChips = useMemo(() => {
+ const chips = [];
+
+ const buildGroup = (ids, list, label, key) => {
+ if (!ids?.length) return;
+ const items = ids.map((id) => ({
+ id,
+ name: list.find((item) => item.id === id)?.name || id,
+ }));
+ chips.push({ key, label, items });
+ };
+
+ // Build chips from document filters
+ buildGroup(filters.uploadedByIds, filterData.data.uploadedBy || [], "Uploaded By", "uploadedByIds");
+ buildGroup(filters.documentCategoryIds, filterData.data.documentCategory || [], "Category", "documentCategoryIds");
+ buildGroup(filters.documentTypeIds, filterData.data.documentType || [], "Type", "documentTypeIds");
+ buildGroup(filters.documentTagIds, filterData.data.documentTag || [], "Tags", "documentTagIds");
+
+ if (filters.statusIds?.length) {
+ const items = filters.statusIds.map((status) => ({
+ id: status,
+ name:
+ status === true
+ ? "Verified"
+ : status === false
+ ? "Rejected"
+ : "Pending",
+ }));
+ chips.push({ key: "statusIds", label: "Status", items });
+ }
+
+ if (filters.startDate || filters.endDate) {
+ const start = filters.startDate ? moment(filters.startDate).format("DD-MM-YYYY") : "";
+ const end = filters.endDate ? moment(filters.endDate).format("DD-MM-YYYY") : "";
+ chips.push({
+ key: "dateRange",
+ label: "Date Range",
+ items: [{ id: "dateRange", name: `${start} - ${end}` }],
+ });
+ }
+
+ return chips;
+ }, [filters, filterData]);
+
+ if (!filterChips.length) return null;
+
+ console.log("Kartik", filterData.uploadedBy)
+
+ return (
+
+
+
+ {filterChips.map((chip) => (
+
+
{chip.label}:
+
+ {chip.items.map((item) => (
+
+ {item.name}
+
+ ))}
+
+
+ ))}
+
+
+
+ );
+};
+
+export default DocumentFilterChips;
\ No newline at end of file
diff --git a/src/components/Documents/DocumentFilterPanel.jsx b/src/components/Documents/DocumentFilterPanel.jsx
index fdb6a3eb..8bb5e347 100644
--- a/src/components/Documents/DocumentFilterPanel.jsx
+++ b/src/components/Documents/DocumentFilterPanel.jsx
@@ -1,4 +1,4 @@
-import React, { useState } from "react";
+import React, { useEffect, useState,useMemo } from "react";
import { useDocumentFilterEntities } from "../../hooks/useDocument";
import { FormProvider, useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
@@ -9,16 +9,33 @@ import {
import { DateRangePicker1 } from "../common/DateRangePicker";
import SelectMultiple from "../common/SelectMultiple";
import moment from "moment";
+import { useParams } from "react-router-dom";
-const DocumentFilterPanel = ({ entityTypeId, onApply }) => {
+const DocumentFilterPanel = ({ entityTypeId, onApply,setFilterdata }) => {
const [resetKey, setResetKey] = useState(0);
+ const { status } = useParams();
const { data, isError, isLoading, error } =
useDocumentFilterEntities(entityTypeId);
+ //changes
+
+ const dynamicDocumentFilterDefaultValues = useMemo(() => {
+ return {
+ ...DocumentFilterDefaultValues,
+ uploadedByIds: DocumentFilterDefaultValues.uploadedByIds || [],
+ documentCategoryIds: DocumentFilterDefaultValues.documentCategoryIds || [],
+ documentTypeIds: DocumentFilterDefaultValues.documentTypeIds || [],
+ documentTagIds: DocumentFilterDefaultValues.documentTagIds || [],
+ startDate: DocumentFilterDefaultValues.startDate,
+ endDate: DocumentFilterDefaultValues.endDate,
+ };
+
+ }, [status]);
+
const methods = useForm({
resolver: zodResolver(DocumentFilterSchema),
- defaultValues: DocumentFilterDefaultValues,
+ defaultValues: dynamicDocumentFilterDefaultValues,
});
const { handleSubmit, reset, setValue, watch } = methods;
@@ -32,6 +49,14 @@ const DocumentFilterPanel = ({ entityTypeId, onApply }) => {
document.querySelector(".offcanvas.show .btn-close")?.click();
};
+ //changes
+ useEffect(() => {
+ if (data && setFilterdata) {
+ setFilterdata(data);
+ }
+ }, [data, setFilterdata]);
+ console.log("Veer",data)
+
const onSubmit = (values) => {
onApply({
...values,
@@ -63,6 +88,8 @@ const DocumentFilterPanel = ({ entityTypeId, onApply }) => {
documentTag = [],
} = data?.data || {};
+
+
return (