Skip to content

Commit 917dc34

Browse files
aashimgargbhavabhuthi
authored andcommitted
fix: search input for ResourceListView
1 parent eab503c commit 917dc34

1 file changed

Lines changed: 33 additions & 24 deletions

File tree

  • app/[locale]/dashboard/organization/[organizationId]/dataset/[id]/edit/components

app/[locale]/dashboard/organization/[organizationId]/dataset/[id]/edit/components/ResourceListView.tsx

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ import {
1414
DataTable,
1515
Dialog,
1616
DropZone,
17+
Icon,
1718
IconButton,
1819
SearchInput,
1920
Spinner,
2021
Text,
22+
TextField,
2123
toast,
2224
} from 'opub-ui';
2325

@@ -26,6 +28,13 @@ import { formatDate } from '@/lib/utils';
2628
import { Icons } from '@/components/icons';
2729
import { createResourceFilesDoc } from './DistributionList';
2830

31+
type FilteredRow = {
32+
name_of_resource: string;
33+
type: string;
34+
date_added: string;
35+
id: string;
36+
};
37+
2938
export const ResourceListView = ({ data, refetch }: any) => {
3039
const updateResourceList: any = graphql(`
3140
mutation deleteFileResource($resourceId: UUID!) {
@@ -35,10 +44,14 @@ export const ResourceListView = ({ data, refetch }: any) => {
3544

3645
const [resourceId, setResourceId] = useQueryState('id', parseAsString);
3746

38-
const { mutate, isLoading } = useMutation(
47+
const { mutate } = useMutation(
3948
(data: { resourceId: string }) => GraphQL(updateResourceList, data),
4049
{
41-
onSuccess: () => {
50+
onSuccess: (data, variables) => {
51+
const updatedFilteredRows = filteredRows.filter(
52+
(row: any) => row.id !== variables.resourceId
53+
);
54+
setFilteredRows(updatedFilteredRows);
4255
refetch();
4356
toast('Resource Deleted Successfully', {
4457
action: {
@@ -136,16 +149,17 @@ export const ResourceListView = ({ data, refetch }: any) => {
136149
})) || [],
137150
};
138151

139-
//const [filteredRows, setFilteredRows] = React.useState(table.rows);
152+
const [filteredRows, setFilteredRows] = React.useState<FilteredRow[]>(
153+
table.rows
154+
);
140155

141-
// const handleSearchChange = (e:string) => {
142-
// console.log(e, 'e');
143-
// const searchTerm = e.toLowerCase();
144-
// const filtered = table.rows.filter((row:any) =>
145-
// row.name_of_resource.toLowerCase().includes(searchTerm)
146-
// );
147-
// setFilteredRows(filtered);
148-
// };
156+
const handleSearchChange = (e: string) => {
157+
const searchTerm = e.toLowerCase();
158+
const filtered = table.rows.filter((row: any) =>
159+
row.name_of_resource.toLowerCase().includes(searchTerm)
160+
);
161+
setFilteredRows(filtered);
162+
};
149163

150164
const filteredColumns = table.columns.filter(
151165
(column) => column.accessorKey !== 'id'
@@ -177,38 +191,33 @@ export const ResourceListView = ({ data, refetch }: any) => {
177191
return (
178192
<div className="mt-3">
179193
<div className="my-8 flex items-center gap-6 px-4">
180-
{/* <Text>
181-
Showing {table.rows.length} of {table.rows.length} resources
182-
</Text> */}
183-
{/* <SearchInput
194+
<Text>
195+
Showing {filteredRows.length} of {filteredRows.length} resources
196+
</Text>
197+
<SearchInput
184198
className="w-1/2 "
185199
placeholder="Search in Resources"
186200
label="Search"
187201
name="Search"
188-
onChange={function Ga() {} }
189-
/> */}
202+
onChange={(e) => handleSearchChange(e)}
203+
/>
190204
{/* <Dialog>
191205
<Dialog.Trigger>
192206
<Button size="medium" className=" mx-5">
193207
ADD NEW RESOURCE
194208
</Button>
195209
</Dialog.Trigger>
196210
<Dialog.Content title={'Add New Resource'}>
197-
<DropZone
198-
name="file_upload"
199-
allowMultiple={true}
200-
onDrop={dropZone}
201-
>
211+
<DropZone name="file_upload" allowMultiple={true} onDrop={dropZone}>
202212
{uploadedFile}
203213
{file.length === 0 && <DropZone.FileUpload />}
204214
</DropZone>
205215
</Dialog.Content>
206216
</Dialog> */}
207217
</div>
208218
<DataTable
209-
addToolbar
210219
columns={filteredColumns}
211-
rows={table.rows}
220+
rows={filteredRows}
212221
hideFooter={true}
213222
hideSelection={true}
214223
defaultRowCount={10}

0 commit comments

Comments
 (0)