@@ -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: {
|
||||
|
||||
Reference in New Issue
Block a user