feat: improved ooo search (#19704)

* improved ooo search

* chore
This commit is contained in:
Vijay
2025-03-04 13:45:00 +00:00
committed by GitHub
parent f2fa1248eb
commit fd6666ebad
2 changed files with 26 additions and 24 deletions
@@ -60,7 +60,7 @@ export const OutOfOfficeEntriesList = () => {
{
limit: 10,
fetchTeamMembersEntries: selectedTab === OutOfOfficeTab.TEAM,
searchTerm: selectedTab === OutOfOfficeTab.TEAM ? searchTerm : undefined,
searchTerm,
},
{
getNextPageParam: (lastPage) => lastPage.nextCursor,
@@ -70,9 +70,6 @@ export const OutOfOfficeEntriesList = () => {
useEffect(() => {
refetch();
if (selectedTab === OutOfOfficeTab.MINE) {
setSearchTerm("");
}
}, [deletedEntry, selectedTab, refetch]);
const totalDBRowCount = data?.pages?.[0]?.meta?.totalRowCount ?? 0;
@@ -335,11 +332,9 @@ export const OutOfOfficeEntriesList = () => {
tableContainerRef={tableContainerRef}
isPending={isPending}
onScroll={(e) => fetchMoreOnBottomReached(e.target as HTMLDivElement)}>
{selectedTab === OutOfOfficeTab.TEAM && (
<DataTableToolbar.Root>
<DataTableToolbar.SearchBar table={table} onSearch={(value) => setSearchTerm(value)} />
</DataTableToolbar.Root>
)}
<DataTableToolbar.Root>
<DataTableToolbar.SearchBar table={table} onSearch={(value) => setSearchTerm(value)} />
</DataTableToolbar.Root>
</DataTable>
{openModal && (
<CreateOrEditOutOfOfficeEntryModal
@@ -67,22 +67,28 @@ export const outOfOfficeEntriesList = async ({ ctx, input }: GetOptions) => {
end: {
gte: new Date().toISOString(),
},
...(searchTerm && {
user: {
OR: [
{
email: {
contains: searchTerm,
...(searchTerm
? {
OR: [
{ notes: { contains: searchTerm } },
{ reason: { reason: { contains: searchTerm } } },
{
toUser: {
OR: [{ email: { contains: searchTerm } }, { name: { contains: searchTerm } }],
},
},
},
{
username: {
contains: searchTerm,
},
},
],
},
}),
...(fetchTeamMembersEntries
? [
{
user: {
OR: [{ email: { contains: searchTerm } }, { name: { contains: searchTerm } }],
},
},
]
: []),
],
}
: {}),
};
const getTotalEntries = await prisma.outOfOfficeEntry.count({
@@ -101,6 +107,7 @@ export const outOfOfficeEntriesList = async ({ ctx, input }: GetOptions) => {
select: {
username: true,
name: true,
email: true,
},
},
reason: {