@djb25/digit-ui-module-ekyc 1.0.17 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +212 -236
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
- package/src/components/AssignEkyc.js +0 -17
- package/src/components/AssignEkycModal.js +207 -295
- package/src/pages/employee/Inbox.js +11 -8
package/package.json
CHANGED
|
@@ -33,23 +33,6 @@ const AssignEkyc = () => {
|
|
|
33
33
|
{ enabled: !!tenantId, keepPreviousData: true }
|
|
34
34
|
);
|
|
35
35
|
|
|
36
|
-
const handleSort = useCallback((args) => {
|
|
37
|
-
if (args?.length === 0) return;
|
|
38
|
-
setSortParams(args);
|
|
39
|
-
}, []);
|
|
40
|
-
|
|
41
|
-
const fetchNextPage = () => {
|
|
42
|
-
setPageOffset((prevState) => prevState + pageSize);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const fetchPrevPage = () => {
|
|
46
|
-
setPageOffset((prevState) => prevState - pageSize);
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
const handlePageSizeChange = (e) => {
|
|
50
|
-
setPageSize(Number(e.target.value));
|
|
51
|
-
};
|
|
52
|
-
|
|
53
36
|
const searchDetails = useMemo(
|
|
54
37
|
() => ({
|
|
55
38
|
kno: formState?.searchForm?.kNumber || "",
|
|
@@ -1,225 +1,182 @@
|
|
|
1
|
-
import React, { useMemo, useState } from "react";
|
|
2
|
-
import { Modal, Close } from "@djb25/digit-ui-react-components";
|
|
1
|
+
import React, { useMemo, useState, useEffect } from "react";
|
|
2
|
+
import { Modal, Close, Table } from "@djb25/digit-ui-react-components";
|
|
3
3
|
|
|
4
4
|
const AssignEkycModal = ({ surveyor, closeModal }) => {
|
|
5
5
|
const [selectedKnos, setSelectedKnos] = useState([]);
|
|
6
|
-
|
|
6
|
+
const [assignmentType, setAssignmentType] = useState("KNO");
|
|
7
|
+
const [currentPage, setCurrentPage] = useState(0);
|
|
8
|
+
const [pageSize, setPageSize] = useState(10);
|
|
7
9
|
const [filters, setFilters] = useState({
|
|
10
|
+
kno: "", // search value
|
|
11
|
+
ekycStatus: "",
|
|
12
|
+
zoneName: "",
|
|
13
|
+
assembly: "",
|
|
14
|
+
ward: "",
|
|
15
|
+
mrkey: "",
|
|
8
16
|
pincode: "",
|
|
9
|
-
locality: "",
|
|
10
|
-
status: "",
|
|
11
|
-
route: "",
|
|
12
|
-
search: "",
|
|
13
17
|
});
|
|
14
18
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
route: "R1",
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
kno: "9182736450",
|
|
51
|
-
consumerName: "Priya Mehta",
|
|
52
|
-
locality: "Laxmi Nagar",
|
|
53
|
-
pincode: "110092",
|
|
54
|
-
status: "PENDING",
|
|
55
|
-
route: "R4",
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
kno: "7463829105",
|
|
59
|
-
consumerName: "Vikas Gupta",
|
|
60
|
-
locality: "Karol Bagh",
|
|
61
|
-
pincode: "110005",
|
|
62
|
-
status: "VERIFIED",
|
|
63
|
-
route: "R2",
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
kno: "1122334455",
|
|
67
|
-
consumerName: "Anjali Kapoor",
|
|
68
|
-
locality: "Saket",
|
|
69
|
-
pincode: "110017",
|
|
70
|
-
status: "PENDING",
|
|
71
|
-
route: "R5",
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
kno: "6677889900",
|
|
75
|
-
consumerName: "Rohit Yadav",
|
|
76
|
-
locality: "Uttam Nagar",
|
|
77
|
-
pincode: "110059",
|
|
78
|
-
status: "ASSIGNED",
|
|
79
|
-
route: "R3",
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
kno: "8899776655",
|
|
83
|
-
consumerName: "Deepak Chauhan",
|
|
84
|
-
locality: "Burari",
|
|
85
|
-
pincode: "110084",
|
|
86
|
-
status: "PENDING",
|
|
87
|
-
route: "R6",
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
kno: "5544332211",
|
|
91
|
-
consumerName: "Sneha Arora",
|
|
92
|
-
locality: "Shahdara",
|
|
93
|
-
pincode: "110032",
|
|
94
|
-
status: "VERIFIED",
|
|
95
|
-
route: "R4",
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
kno: "3344556677",
|
|
99
|
-
consumerName: "Karan Malhotra",
|
|
100
|
-
locality: "Mayur Vihar",
|
|
101
|
-
pincode: "110091",
|
|
102
|
-
status: "PENDING",
|
|
103
|
-
route: "R7",
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
kno: "9988776654",
|
|
107
|
-
consumerName: "Pooja Bansal",
|
|
108
|
-
locality: "Patel Nagar",
|
|
109
|
-
pincode: "110008",
|
|
110
|
-
status: "ASSIGNED",
|
|
111
|
-
route: "R5",
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
kno: "7766554433",
|
|
115
|
-
consumerName: "Harsh Jain",
|
|
116
|
-
locality: "Punjabi Bagh",
|
|
117
|
-
pincode: "110026",
|
|
118
|
-
status: "PENDING",
|
|
119
|
-
route: "R8",
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
kno: "2233445566",
|
|
123
|
-
consumerName: "Nitin Sharma",
|
|
124
|
-
locality: "Rajouri Garden",
|
|
125
|
-
pincode: "110027",
|
|
126
|
-
status: "VERIFIED",
|
|
127
|
-
route: "R1",
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
kno: "4433221100",
|
|
131
|
-
consumerName: "Megha Sethi",
|
|
132
|
-
locality: "Ashok Vihar",
|
|
133
|
-
pincode: "110052",
|
|
134
|
-
status: "PENDING",
|
|
135
|
-
route: "R9",
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
kno: "1010101010",
|
|
139
|
-
consumerName: "Aditya Rana",
|
|
140
|
-
locality: "Model Town",
|
|
141
|
-
pincode: "110009",
|
|
142
|
-
status: "ASSIGNED",
|
|
143
|
-
route: "R10",
|
|
144
|
-
},
|
|
19
|
+
const getAssignmentValue = () => {
|
|
20
|
+
switch (assignmentType) {
|
|
21
|
+
case "MRKEY":
|
|
22
|
+
return filters.mrkey;
|
|
23
|
+
|
|
24
|
+
case "ASSEMBLY":
|
|
25
|
+
return filters.assembly;
|
|
26
|
+
|
|
27
|
+
case "WARD":
|
|
28
|
+
return filters.ward;
|
|
29
|
+
|
|
30
|
+
case "KNO":
|
|
31
|
+
default:
|
|
32
|
+
return selectedKnos.join(",");
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
const [debouncedFilters, setDebouncedFilters] = useState(filters);
|
|
37
|
+
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
const timer = setTimeout(() => {
|
|
40
|
+
setDebouncedFilters(filters);
|
|
41
|
+
}, 500);
|
|
42
|
+
|
|
43
|
+
return () => clearTimeout(timer);
|
|
44
|
+
}, [filters]);
|
|
45
|
+
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
setCurrentPage(0);
|
|
48
|
+
}, [debouncedFilters]);
|
|
49
|
+
|
|
50
|
+
const { data: applicationData, isLoading } = Digit.Hooks.ekyc.useEkycApplicationList(
|
|
145
51
|
{
|
|
146
|
-
kno
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
52
|
+
...(debouncedFilters.kno && {
|
|
53
|
+
kno: debouncedFilters.kno,
|
|
54
|
+
}),
|
|
55
|
+
|
|
56
|
+
...(debouncedFilters.ekycStatus && {
|
|
57
|
+
ekycStatus: debouncedFilters.ekycStatus,
|
|
58
|
+
}),
|
|
59
|
+
|
|
60
|
+
...(debouncedFilters.zoneName && {
|
|
61
|
+
zoneName: debouncedFilters.zoneName,
|
|
62
|
+
}),
|
|
63
|
+
|
|
64
|
+
...(debouncedFilters.assembly && {
|
|
65
|
+
assembly: debouncedFilters.assembly,
|
|
66
|
+
}),
|
|
67
|
+
|
|
68
|
+
...(debouncedFilters.ward && {
|
|
69
|
+
ward: debouncedFilters.ward,
|
|
70
|
+
}),
|
|
71
|
+
|
|
72
|
+
...(debouncedFilters.mrkey && {
|
|
73
|
+
mrkey: debouncedFilters.mrkey,
|
|
74
|
+
}),
|
|
75
|
+
|
|
76
|
+
...(debouncedFilters.pincode && {
|
|
77
|
+
pincode: debouncedFilters.pincode,
|
|
78
|
+
}),
|
|
152
79
|
},
|
|
153
80
|
{
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
pincode: "110040",
|
|
158
|
-
status: "VERIFIED",
|
|
159
|
-
route: "R6",
|
|
81
|
+
tenantId: "dl.djb",
|
|
82
|
+
offset: currentPage * pageSize,
|
|
83
|
+
limit: pageSize,
|
|
160
84
|
},
|
|
161
85
|
{
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
86
|
+
keepPreviousData: true,
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
|
|
90
|
+
const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({
|
|
91
|
+
onSuccess: (response) => {
|
|
92
|
+
console.log("Assignment successful", response);
|
|
93
|
+
closeModal();
|
|
168
94
|
},
|
|
169
|
-
{
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
locality: "Okhla",
|
|
173
|
-
pincode: "110020",
|
|
174
|
-
status: "ASSIGNED",
|
|
175
|
-
route: "R8",
|
|
95
|
+
onError: (error) => {
|
|
96
|
+
console.error("Assignment failed", error);
|
|
97
|
+
// show toast here
|
|
176
98
|
},
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
const filteredKnos = useMemo(() => {
|
|
180
|
-
return knoList.filter((item) => {
|
|
181
|
-
const matchesPincode = filters.pincode ? item.pincode.includes(filters.pincode) : true;
|
|
182
|
-
|
|
183
|
-
const matchesLocality = filters.locality ? item.locality.toLowerCase().includes(filters.locality.toLowerCase()) : true;
|
|
184
|
-
|
|
185
|
-
const matchesStatus = filters.status ? item.status === filters.status : true;
|
|
186
|
-
|
|
187
|
-
const matchesRoute = filters.route ? item.route.toLowerCase().includes(filters.route.toLowerCase()) : true;
|
|
99
|
+
});
|
|
188
100
|
|
|
189
|
-
|
|
190
|
-
? item.kno.includes(filters.search) || item.consumerName.toLowerCase().includes(filters.search.toLowerCase())
|
|
191
|
-
: true;
|
|
101
|
+
const tableData = applicationData?.consumerList || [];
|
|
192
102
|
|
|
193
|
-
|
|
103
|
+
const handleAssign = () => {
|
|
104
|
+
assignmentMutation.mutate({
|
|
105
|
+
tenantId: "dl.djb",
|
|
106
|
+
surveyorId: surveyor?.uuid,
|
|
107
|
+
assignmentType: "KNO",
|
|
108
|
+
assignmentValue: getAssignmentValue(),
|
|
194
109
|
});
|
|
195
|
-
}, [filters, knoList]);
|
|
196
|
-
|
|
197
|
-
const handleSelect = (kno) => {
|
|
198
|
-
setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));
|
|
199
110
|
};
|
|
200
111
|
|
|
201
112
|
const handleSelectAll = () => {
|
|
202
|
-
const
|
|
113
|
+
const pageKnos = tableData.map((item) => item.kno);
|
|
203
114
|
|
|
204
|
-
const allSelected =
|
|
115
|
+
const allSelected = pageKnos.length > 0 && pageKnos.every((kno) => selectedKnos.includes(kno));
|
|
205
116
|
|
|
206
|
-
|
|
207
|
-
setSelectedKnos((prev) => prev.filter((kno) => !visibleKnos.includes(kno)));
|
|
208
|
-
} else {
|
|
209
|
-
setSelectedKnos((prev) => [...new Set([...prev, ...visibleKnos])]);
|
|
210
|
-
}
|
|
117
|
+
setSelectedKnos((prev) => (allSelected ? prev.filter((kno) => !pageKnos.includes(kno)) : [...new Set([...prev, ...pageKnos])]));
|
|
211
118
|
};
|
|
212
119
|
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
120
|
+
const handleFilterChange = (key, value) => {
|
|
121
|
+
setFilters((prev) => ({
|
|
122
|
+
...prev,
|
|
123
|
+
[key]: value,
|
|
124
|
+
}));
|
|
125
|
+
};
|
|
219
126
|
|
|
220
|
-
|
|
127
|
+
const columns = useMemo(
|
|
128
|
+
() => [
|
|
129
|
+
{
|
|
130
|
+
Header: () => (
|
|
131
|
+
<input
|
|
132
|
+
type="checkbox"
|
|
133
|
+
checked={tableData.length > 0 && tableData.every((item) => selectedKnos.includes(item.kno))}
|
|
134
|
+
onChange={handleSelectAll}
|
|
135
|
+
/>
|
|
136
|
+
),
|
|
137
|
+
id: "selection",
|
|
138
|
+
Cell: ({ row }) => {
|
|
139
|
+
const kno = row.original.kno;
|
|
140
|
+
|
|
141
|
+
return <input type="checkbox" checked={selectedKnos.includes(kno)} onChange={() => handleSelect(kno)} />;
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
Header: "KNO",
|
|
146
|
+
accessor: "kno",
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
Header: "Consumer Name",
|
|
150
|
+
accessor: (row) => `${row.firstName || ""} ${row.middleName || ""} ${row.lastName || ""}`.trim(),
|
|
151
|
+
id: "consumerName",
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
Header: "Zone",
|
|
155
|
+
accessor: "zoneName",
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
Header: "Pincode",
|
|
159
|
+
accessor: "pincode",
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
Header: "Status",
|
|
163
|
+
accessor: "status",
|
|
164
|
+
Cell: ({ value }) => (
|
|
165
|
+
<span className={`status-badge ${value === "ACTIVE" ? "verified" : value === "PENDING" ? "pending" : "assigned"}`}>{value}</span>
|
|
166
|
+
),
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
Header: "eKYC Status",
|
|
170
|
+
accessor: "ekycStatus",
|
|
171
|
+
Cell: ({ value }) => value || "-",
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
175
|
+
[selectedKnos, tableData]
|
|
176
|
+
);
|
|
221
177
|
|
|
222
|
-
|
|
178
|
+
const handleSelect = (kno) => {
|
|
179
|
+
setSelectedKnos((prev) => (prev.includes(kno) ? prev.filter((item) => item !== kno) : [...prev, kno]));
|
|
223
180
|
};
|
|
224
181
|
|
|
225
182
|
return (
|
|
@@ -234,126 +191,81 @@ const AssignEkycModal = ({ surveyor, closeModal }) => {
|
|
|
234
191
|
<div className="assign-knos-modal">
|
|
235
192
|
{/* Filters */}
|
|
236
193
|
<div className="filters-grid">
|
|
237
|
-
<input
|
|
238
|
-
className="form-control"
|
|
239
|
-
placeholder="Search by KNO / Consumer"
|
|
240
|
-
value={filters.search}
|
|
241
|
-
onChange={(e) =>
|
|
242
|
-
setFilters({
|
|
243
|
-
...filters,
|
|
244
|
-
search: e.target.value,
|
|
245
|
-
})
|
|
246
|
-
}
|
|
247
|
-
/>
|
|
194
|
+
<input className="form-control" placeholder="KNO" value={filters.kno} onChange={(e) => handleFilterChange("kno", e.target.value)} />
|
|
248
195
|
|
|
249
196
|
<input
|
|
250
197
|
className="form-control"
|
|
251
198
|
placeholder="Pincode"
|
|
252
199
|
value={filters.pincode}
|
|
253
|
-
onChange={(e) =>
|
|
254
|
-
setFilters({
|
|
255
|
-
...filters,
|
|
256
|
-
pincode: e.target.value,
|
|
257
|
-
})
|
|
258
|
-
}
|
|
200
|
+
onChange={(e) => handleFilterChange("pincode", e.target.value)}
|
|
259
201
|
/>
|
|
260
202
|
|
|
261
203
|
<input
|
|
262
204
|
className="form-control"
|
|
263
|
-
placeholder="
|
|
264
|
-
value={filters.
|
|
265
|
-
onChange={(e) =>
|
|
266
|
-
setFilters({
|
|
267
|
-
...filters,
|
|
268
|
-
locality: e.target.value,
|
|
269
|
-
})
|
|
270
|
-
}
|
|
205
|
+
placeholder="Zone"
|
|
206
|
+
value={filters.zoneName}
|
|
207
|
+
onChange={(e) => handleFilterChange("zoneName", e.target.value)}
|
|
271
208
|
/>
|
|
272
209
|
|
|
210
|
+
<input className="form-control" placeholder="Ward" value={filters.ward} onChange={(e) => handleFilterChange("ward", e.target.value)} />
|
|
211
|
+
|
|
273
212
|
<input
|
|
274
213
|
className="form-control"
|
|
275
|
-
placeholder="
|
|
276
|
-
value={filters.
|
|
277
|
-
onChange={(e) =>
|
|
278
|
-
setFilters({
|
|
279
|
-
...filters,
|
|
280
|
-
route: e.target.value,
|
|
281
|
-
})
|
|
282
|
-
}
|
|
214
|
+
placeholder="Assembly"
|
|
215
|
+
value={filters.assembly}
|
|
216
|
+
onChange={(e) => handleFilterChange("assembly", e.target.value)}
|
|
283
217
|
/>
|
|
284
218
|
|
|
285
|
-
<
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
setFilters({
|
|
290
|
-
...filters,
|
|
291
|
-
status: e.target.value,
|
|
292
|
-
})
|
|
293
|
-
}
|
|
294
|
-
>
|
|
295
|
-
<option value="">All Status</option>
|
|
219
|
+
<input className="form-control" placeholder="MR Key" value={filters.mrkey} onChange={(e) => handleFilterChange("mrkey", e.target.value)} />
|
|
220
|
+
|
|
221
|
+
<select className="form-control" value={filters.ekycStatus} onChange={(e) => handleFilterChange("ekycStatus", e.target.value)}>
|
|
222
|
+
<option value="">All eKYC Status</option>
|
|
296
223
|
<option value="PENDING">Pending</option>
|
|
297
|
-
<option value="
|
|
298
|
-
<option value="
|
|
224
|
+
<option value="APPROVED">Approved</option>
|
|
225
|
+
<option value="REJECTED">Rejected</option>
|
|
299
226
|
</select>
|
|
300
|
-
</div>
|
|
301
227
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
228
|
+
<select className="form-control" value={assignmentType} onChange={(e) => setAssignmentType(e.target.value)}>
|
|
229
|
+
<option value="KNO">KNO</option>
|
|
230
|
+
<option value="MRKEY">MR Key</option>
|
|
231
|
+
<option value="WARD">Ward</option>
|
|
232
|
+
<option value="ASSEMBLY">Assembly</option>
|
|
233
|
+
</select>
|
|
306
234
|
</div>
|
|
307
235
|
|
|
308
236
|
{/* Table */}
|
|
309
|
-
<
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
<
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
<div>{item.pincode}</div>
|
|
342
|
-
|
|
343
|
-
<div>
|
|
344
|
-
<span className={`status-badge ${item.status === "PENDING" ? "pending" : item.status === "VERIFIED" ? "verified" : "assigned"}`}>
|
|
345
|
-
{item.status}
|
|
346
|
-
</span>
|
|
347
|
-
</div>
|
|
348
|
-
|
|
349
|
-
<div>{item.route}</div>
|
|
350
|
-
</div>
|
|
351
|
-
))
|
|
352
|
-
) : (
|
|
353
|
-
<div className="empty-state">No KNO records found</div>
|
|
354
|
-
)}
|
|
355
|
-
</div>
|
|
356
|
-
</div>
|
|
237
|
+
<Table
|
|
238
|
+
tableTitle="eKYC Applications"
|
|
239
|
+
tableClass="ekycTable"
|
|
240
|
+
data={tableData}
|
|
241
|
+
columns={columns}
|
|
242
|
+
isLoading={isLoading}
|
|
243
|
+
totalRecords={applicationData?.totalCount || 0}
|
|
244
|
+
currentPage={currentPage}
|
|
245
|
+
pageSizeLimit={pageSize}
|
|
246
|
+
manualPagination={true}
|
|
247
|
+
isPaginationRequired={true}
|
|
248
|
+
onNextPage={() => {
|
|
249
|
+
if (currentPage < (applicationData?.totalPages || 1) - 1) {
|
|
250
|
+
setCurrentPage((prev) => prev + 1);
|
|
251
|
+
}
|
|
252
|
+
}}
|
|
253
|
+
onPrevPage={() => {
|
|
254
|
+
if (currentPage > 0) {
|
|
255
|
+
setCurrentPage((prev) => prev - 1);
|
|
256
|
+
}
|
|
257
|
+
}}
|
|
258
|
+
onFirstPage={() => {
|
|
259
|
+
setCurrentPage(0);
|
|
260
|
+
}}
|
|
261
|
+
onLastPage={() => {
|
|
262
|
+
setCurrentPage(Math.max((applicationData?.totalPages || 1) - 1, 0));
|
|
263
|
+
}}
|
|
264
|
+
onPageSizeChange={(e) => {
|
|
265
|
+
setPageSize(Number(e.target.value));
|
|
266
|
+
setCurrentPage(0);
|
|
267
|
+
}}
|
|
268
|
+
/>
|
|
357
269
|
</div>
|
|
358
270
|
</Modal>
|
|
359
271
|
);
|
|
@@ -23,16 +23,19 @@ const Inbox = ({ parentRoute, businessService = "EKYC", initialStates = {}, filt
|
|
|
23
23
|
|
|
24
24
|
const [formState, dispatch] = useReducer(formReducer, formInitValue);
|
|
25
25
|
|
|
26
|
+
const filters = useMemo(() => {
|
|
27
|
+
return formState?.searchForm || {};
|
|
28
|
+
}, [formState?.searchForm]);
|
|
29
|
+
|
|
26
30
|
const queryParams = useMemo(() => {
|
|
27
31
|
return {
|
|
28
32
|
tenantId,
|
|
29
33
|
offset: formState?.tableForm?.offset || 0,
|
|
30
34
|
limit: formState?.tableForm?.limit || 10,
|
|
31
|
-
search: formState?.searchForm || {},
|
|
32
35
|
};
|
|
33
|
-
}, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit
|
|
36
|
+
}, [tenantId, formState?.tableForm?.offset, formState?.tableForm?.limit]);
|
|
34
37
|
|
|
35
|
-
const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(
|
|
38
|
+
const { isLoading: isListLoading, data: listData = {} } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {
|
|
36
39
|
enabled: !!tenantId,
|
|
37
40
|
keepPreviousData: true,
|
|
38
41
|
});
|
|
@@ -247,11 +250,11 @@ const Inbox = ({ parentRoute, businessService = "EKYC", initialStates = {}, filt
|
|
|
247
250
|
propsForInboxTable,
|
|
248
251
|
// propsForInboxMobileCards,
|
|
249
252
|
formState,
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
253
|
+
countData: listData,
|
|
254
|
+
}}
|
|
255
|
+
/>
|
|
256
|
+
</div>
|
|
257
|
+
);
|
|
255
258
|
};
|
|
256
259
|
|
|
257
260
|
export default Inbox;
|