@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.
@@ -2236,19 +2236,21 @@ const Inbox = ({
2236
2236
  }
2237
2237
  };
2238
2238
  const [formState, dispatch] = useReducer(formReducer, formInitValue);
2239
+ const filters = useMemo(() => {
2240
+ return (formState === null || formState === void 0 ? void 0 : formState.searchForm) || {};
2241
+ }, [formState === null || formState === void 0 ? void 0 : formState.searchForm]);
2239
2242
  const queryParams = useMemo(() => {
2240
2243
  var _formState$tableForm, _formState$tableForm2;
2241
2244
  return {
2242
2245
  tenantId,
2243
2246
  offset: (formState === null || formState === void 0 ? void 0 : (_formState$tableForm = formState.tableForm) === null || _formState$tableForm === void 0 ? void 0 : _formState$tableForm.offset) || 0,
2244
- limit: (formState === null || formState === void 0 ? void 0 : (_formState$tableForm2 = formState.tableForm) === null || _formState$tableForm2 === void 0 ? void 0 : _formState$tableForm2.limit) || 10,
2245
- search: (formState === null || formState === void 0 ? void 0 : formState.searchForm) || {}
2247
+ limit: (formState === null || formState === void 0 ? void 0 : (_formState$tableForm2 = formState.tableForm) === null || _formState$tableForm2 === void 0 ? void 0 : _formState$tableForm2.limit) || 10
2246
2248
  };
2247
- }, [tenantId, formState === null || formState === void 0 ? void 0 : (_formState$tableForm3 = formState.tableForm) === null || _formState$tableForm3 === void 0 ? void 0 : _formState$tableForm3.offset, formState === null || formState === void 0 ? void 0 : (_formState$tableForm4 = formState.tableForm) === null || _formState$tableForm4 === void 0 ? void 0 : _formState$tableForm4.limit, formState === null || formState === void 0 ? void 0 : formState.searchForm]);
2249
+ }, [tenantId, formState === null || formState === void 0 ? void 0 : (_formState$tableForm3 = formState.tableForm) === null || _formState$tableForm3 === void 0 ? void 0 : _formState$tableForm3.offset, formState === null || formState === void 0 ? void 0 : (_formState$tableForm4 = formState.tableForm) === null || _formState$tableForm4 === void 0 ? void 0 : _formState$tableForm4.limit]);
2248
2250
  const {
2249
2251
  isLoading: isListLoading,
2250
2252
  data: listData = {}
2251
- } = Digit.Hooks.ekyc.useEkycApplicationList({}, queryParams, {
2253
+ } = Digit.Hooks.ekyc.useEkycApplicationList(filters, queryParams, {
2252
2254
  enabled: !!tenantId,
2253
2255
  keepPreviousData: true
2254
2256
  });
@@ -4424,184 +4426,149 @@ const AssignEkycModal = ({
4424
4426
  closeModal
4425
4427
  }) => {
4426
4428
  const [selectedKnos, setSelectedKnos] = useState([]);
4429
+ const [assignmentType, setAssignmentType] = useState("KNO");
4430
+ const [currentPage, setCurrentPage] = useState(0);
4431
+ const [pageSize, setPageSize] = useState(10);
4427
4432
  const [filters, setFilters] = useState({
4428
- pincode: "",
4429
- locality: "",
4430
- status: "",
4431
- route: "",
4432
- search: ""
4433
+ kno: "",
4434
+ ekycStatus: "",
4435
+ zoneName: "",
4436
+ assembly: "",
4437
+ ward: "",
4438
+ mrkey: "",
4439
+ pincode: ""
4433
4440
  });
4434
- const knoList = [{
4435
- kno: "1029384756",
4436
- consumerName: "Rahul Sharma",
4437
- locality: "Rohini",
4438
- pincode: "110085",
4439
- status: "PENDING",
4440
- route: "R1"
4441
+ const getAssignmentValue = () => {
4442
+ switch (assignmentType) {
4443
+ case "MRKEY":
4444
+ return filters.mrkey;
4445
+ case "ASSEMBLY":
4446
+ return filters.assembly;
4447
+ case "WARD":
4448
+ return filters.ward;
4449
+ case "KNO":
4450
+ default:
4451
+ return selectedKnos.join(",");
4452
+ }
4453
+ };
4454
+ const [debouncedFilters, setDebouncedFilters] = useState(filters);
4455
+ useEffect(() => {
4456
+ const timer = setTimeout(() => {
4457
+ setDebouncedFilters(filters);
4458
+ }, 500);
4459
+ return () => clearTimeout(timer);
4460
+ }, [filters]);
4461
+ useEffect(() => {
4462
+ setCurrentPage(0);
4463
+ }, [debouncedFilters]);
4464
+ const {
4465
+ data: applicationData,
4466
+ isLoading
4467
+ } = Digit.Hooks.ekyc.useEkycApplicationList({
4468
+ ...(debouncedFilters.kno && {
4469
+ kno: debouncedFilters.kno
4470
+ }),
4471
+ ...(debouncedFilters.ekycStatus && {
4472
+ ekycStatus: debouncedFilters.ekycStatus
4473
+ }),
4474
+ ...(debouncedFilters.zoneName && {
4475
+ zoneName: debouncedFilters.zoneName
4476
+ }),
4477
+ ...(debouncedFilters.assembly && {
4478
+ assembly: debouncedFilters.assembly
4479
+ }),
4480
+ ...(debouncedFilters.ward && {
4481
+ ward: debouncedFilters.ward
4482
+ }),
4483
+ ...(debouncedFilters.mrkey && {
4484
+ mrkey: debouncedFilters.mrkey
4485
+ }),
4486
+ ...(debouncedFilters.pincode && {
4487
+ pincode: debouncedFilters.pincode
4488
+ })
4441
4489
  }, {
4442
- kno: "9283746555",
4443
- consumerName: "Amit Kumar",
4444
- locality: "Pitampura",
4445
- pincode: "110034",
4446
- status: "VERIFIED",
4447
- route: "R2"
4448
- }, {
4449
- kno: "8473625147",
4450
- consumerName: "Neha Verma",
4451
- locality: "Dwarka",
4452
- pincode: "110075",
4453
- status: "PENDING",
4454
- route: "R3"
4455
- }, {
4456
- kno: "5647382910",
4457
- consumerName: "Sanjay Singh",
4458
- locality: "Janakpuri",
4459
- pincode: "110058",
4460
- status: "ASSIGNED",
4461
- route: "R1"
4462
- }, {
4463
- kno: "9182736450",
4464
- consumerName: "Priya Mehta",
4465
- locality: "Laxmi Nagar",
4466
- pincode: "110092",
4467
- status: "PENDING",
4468
- route: "R4"
4469
- }, {
4470
- kno: "7463829105",
4471
- consumerName: "Vikas Gupta",
4472
- locality: "Karol Bagh",
4473
- pincode: "110005",
4474
- status: "VERIFIED",
4475
- route: "R2"
4476
- }, {
4477
- kno: "1122334455",
4478
- consumerName: "Anjali Kapoor",
4479
- locality: "Saket",
4480
- pincode: "110017",
4481
- status: "PENDING",
4482
- route: "R5"
4483
- }, {
4484
- kno: "6677889900",
4485
- consumerName: "Rohit Yadav",
4486
- locality: "Uttam Nagar",
4487
- pincode: "110059",
4488
- status: "ASSIGNED",
4489
- route: "R3"
4490
- }, {
4491
- kno: "8899776655",
4492
- consumerName: "Deepak Chauhan",
4493
- locality: "Burari",
4494
- pincode: "110084",
4495
- status: "PENDING",
4496
- route: "R6"
4497
- }, {
4498
- kno: "5544332211",
4499
- consumerName: "Sneha Arora",
4500
- locality: "Shahdara",
4501
- pincode: "110032",
4502
- status: "VERIFIED",
4503
- route: "R4"
4504
- }, {
4505
- kno: "3344556677",
4506
- consumerName: "Karan Malhotra",
4507
- locality: "Mayur Vihar",
4508
- pincode: "110091",
4509
- status: "PENDING",
4510
- route: "R7"
4511
- }, {
4512
- kno: "9988776654",
4513
- consumerName: "Pooja Bansal",
4514
- locality: "Patel Nagar",
4515
- pincode: "110008",
4516
- status: "ASSIGNED",
4517
- route: "R5"
4518
- }, {
4519
- kno: "7766554433",
4520
- consumerName: "Harsh Jain",
4521
- locality: "Punjabi Bagh",
4522
- pincode: "110026",
4523
- status: "PENDING",
4524
- route: "R8"
4525
- }, {
4526
- kno: "2233445566",
4527
- consumerName: "Nitin Sharma",
4528
- locality: "Rajouri Garden",
4529
- pincode: "110027",
4530
- status: "VERIFIED",
4531
- route: "R1"
4532
- }, {
4533
- kno: "4433221100",
4534
- consumerName: "Megha Sethi",
4535
- locality: "Ashok Vihar",
4536
- pincode: "110052",
4537
- status: "PENDING",
4538
- route: "R9"
4539
- }, {
4540
- kno: "1010101010",
4541
- consumerName: "Aditya Rana",
4542
- locality: "Model Town",
4543
- pincode: "110009",
4544
- status: "ASSIGNED",
4545
- route: "R10"
4546
- }, {
4547
- kno: "2020202020",
4548
- consumerName: "Simran Kaur",
4549
- locality: "Tilak Nagar",
4550
- pincode: "110018",
4551
- status: "PENDING",
4552
- route: "R11"
4553
- }, {
4554
- kno: "3030303030",
4555
- consumerName: "Mohit Saini",
4556
- locality: "Narela",
4557
- pincode: "110040",
4558
- status: "VERIFIED",
4559
- route: "R6"
4560
- }, {
4561
- kno: "4040404040",
4562
- consumerName: "Ritika Sharma",
4563
- locality: "Bawana",
4564
- pincode: "110039",
4565
- status: "PENDING",
4566
- route: "R7"
4567
- }, {
4568
- kno: "5050505050",
4569
- consumerName: "Yash Aggarwal",
4570
- locality: "Okhla",
4571
- pincode: "110020",
4572
- status: "ASSIGNED",
4573
- route: "R8"
4574
- }];
4575
- const filteredKnos = useMemo(() => {
4576
- return knoList.filter(item => {
4577
- const matchesPincode = filters.pincode ? item.pincode.includes(filters.pincode) : true;
4578
- const matchesLocality = filters.locality ? item.locality.toLowerCase().includes(filters.locality.toLowerCase()) : true;
4579
- const matchesStatus = filters.status ? item.status === filters.status : true;
4580
- const matchesRoute = filters.route ? item.route.toLowerCase().includes(filters.route.toLowerCase()) : true;
4581
- const matchesSearch = filters.search ? item.kno.includes(filters.search) || item.consumerName.toLowerCase().includes(filters.search.toLowerCase()) : true;
4582
- return matchesPincode && matchesLocality && matchesStatus && matchesRoute && matchesSearch;
4490
+ tenantId: "dl.djb",
4491
+ offset: currentPage * pageSize,
4492
+ limit: pageSize
4493
+ }, {
4494
+ keepPreviousData: true
4495
+ });
4496
+ const assignmentMutation = Digit.Hooks.ekyc.useEkycAssignmentCreate({
4497
+ onSuccess: response => {
4498
+ console.log("Assignment successful", response);
4499
+ closeModal();
4500
+ },
4501
+ onError: error => {
4502
+ console.error("Assignment failed", error);
4503
+ }
4504
+ });
4505
+ const tableData = (applicationData === null || applicationData === void 0 ? void 0 : applicationData.consumerList) || [];
4506
+ const handleAssign = () => {
4507
+ assignmentMutation.mutate({
4508
+ tenantId: "dl.djb",
4509
+ surveyorId: surveyor === null || surveyor === void 0 ? void 0 : surveyor.uuid,
4510
+ assignmentType: "KNO",
4511
+ assignmentValue: getAssignmentValue()
4583
4512
  });
4584
- }, [filters, knoList]);
4585
- const handleSelect = kno => {
4586
- setSelectedKnos(prev => prev.includes(kno) ? prev.filter(item => item !== kno) : [...prev, kno]);
4587
4513
  };
4588
4514
  const handleSelectAll = () => {
4589
- const visibleKnos = filteredKnos.map(item => item.kno);
4590
- const allSelected = visibleKnos.every(kno => selectedKnos.includes(kno));
4591
- if (allSelected) {
4592
- setSelectedKnos(prev => prev.filter(kno => !visibleKnos.includes(kno)));
4593
- } else {
4594
- setSelectedKnos(prev => [...new Set([...prev, ...visibleKnos])]);
4595
- }
4515
+ const pageKnos = tableData.map(item => item.kno);
4516
+ const allSelected = pageKnos.length > 0 && pageKnos.every(kno => selectedKnos.includes(kno));
4517
+ setSelectedKnos(prev => allSelected ? prev.filter(kno => !pageKnos.includes(kno)) : [...new Set([...prev, ...pageKnos])]);
4596
4518
  };
4597
- const handleAssign = () => {
4598
- const payload = {
4599
- surveyorId: surveyor === null || surveyor === void 0 ? void 0 : surveyor.uuid,
4600
- knos: selectedKnos,
4601
- filters
4602
- };
4603
- console.log(payload);
4604
- closeModal();
4519
+ const handleFilterChange = (key, value) => {
4520
+ setFilters(prev => ({
4521
+ ...prev,
4522
+ [key]: value
4523
+ }));
4524
+ };
4525
+ const columns = useMemo(() => [{
4526
+ Header: () => /*#__PURE__*/React.createElement("input", {
4527
+ type: "checkbox",
4528
+ checked: tableData.length > 0 && tableData.every(item => selectedKnos.includes(item.kno)),
4529
+ onChange: handleSelectAll
4530
+ }),
4531
+ id: "selection",
4532
+ Cell: ({
4533
+ row
4534
+ }) => {
4535
+ const kno = row.original.kno;
4536
+ return /*#__PURE__*/React.createElement("input", {
4537
+ type: "checkbox",
4538
+ checked: selectedKnos.includes(kno),
4539
+ onChange: () => handleSelect(kno)
4540
+ });
4541
+ }
4542
+ }, {
4543
+ Header: "KNO",
4544
+ accessor: "kno"
4545
+ }, {
4546
+ Header: "Consumer Name",
4547
+ accessor: row => `${row.firstName || ""} ${row.middleName || ""} ${row.lastName || ""}`.trim(),
4548
+ id: "consumerName"
4549
+ }, {
4550
+ Header: "Zone",
4551
+ accessor: "zoneName"
4552
+ }, {
4553
+ Header: "Pincode",
4554
+ accessor: "pincode"
4555
+ }, {
4556
+ Header: "Status",
4557
+ accessor: "status",
4558
+ Cell: ({
4559
+ value
4560
+ }) => /*#__PURE__*/React.createElement("span", {
4561
+ className: `status-badge ${value === "ACTIVE" ? "verified" : value === "PENDING" ? "pending" : "assigned"}`
4562
+ }, value)
4563
+ }, {
4564
+ Header: "eKYC Status",
4565
+ accessor: "ekycStatus",
4566
+ Cell: ({
4567
+ value
4568
+ }) => value || "-"
4569
+ }], [selectedKnos, tableData]);
4570
+ const handleSelect = kno => {
4571
+ setSelectedKnos(prev => prev.includes(kno) ? prev.filter(item => item !== kno) : [...prev, kno]);
4605
4572
  };
4606
4573
  return /*#__PURE__*/React.createElement(Modal, {
4607
4574
  headerBarMain: `Assign KNOs to ${surveyor === null || surveyor === void 0 ? void 0 : surveyor.name}`,
@@ -4618,77 +4585,90 @@ const AssignEkycModal = ({
4618
4585
  className: "filters-grid"
4619
4586
  }, /*#__PURE__*/React.createElement("input", {
4620
4587
  className: "form-control",
4621
- placeholder: "Search by KNO / Consumer",
4622
- value: filters.search,
4623
- onChange: e => setFilters({
4624
- ...filters,
4625
- search: e.target.value
4626
- })
4588
+ placeholder: "KNO",
4589
+ value: filters.kno,
4590
+ onChange: e => handleFilterChange("kno", e.target.value)
4627
4591
  }), /*#__PURE__*/React.createElement("input", {
4628
4592
  className: "form-control",
4629
4593
  placeholder: "Pincode",
4630
4594
  value: filters.pincode,
4631
- onChange: e => setFilters({
4632
- ...filters,
4633
- pincode: e.target.value
4634
- })
4595
+ onChange: e => handleFilterChange("pincode", e.target.value)
4635
4596
  }), /*#__PURE__*/React.createElement("input", {
4636
4597
  className: "form-control",
4637
- placeholder: "Locality",
4638
- value: filters.locality,
4639
- onChange: e => setFilters({
4640
- ...filters,
4641
- locality: e.target.value
4642
- })
4598
+ placeholder: "Zone",
4599
+ value: filters.zoneName,
4600
+ onChange: e => handleFilterChange("zoneName", e.target.value)
4643
4601
  }), /*#__PURE__*/React.createElement("input", {
4644
4602
  className: "form-control",
4645
- placeholder: "Route",
4646
- value: filters.route,
4647
- onChange: e => setFilters({
4648
- ...filters,
4649
- route: e.target.value
4650
- })
4603
+ placeholder: "Ward",
4604
+ value: filters.ward,
4605
+ onChange: e => handleFilterChange("ward", e.target.value)
4606
+ }), /*#__PURE__*/React.createElement("input", {
4607
+ className: "form-control",
4608
+ placeholder: "Assembly",
4609
+ value: filters.assembly,
4610
+ onChange: e => handleFilterChange("assembly", e.target.value)
4611
+ }), /*#__PURE__*/React.createElement("input", {
4612
+ className: "form-control",
4613
+ placeholder: "MR Key",
4614
+ value: filters.mrkey,
4615
+ onChange: e => handleFilterChange("mrkey", e.target.value)
4651
4616
  }), /*#__PURE__*/React.createElement("select", {
4652
4617
  className: "form-control",
4653
- value: filters.status,
4654
- onChange: e => setFilters({
4655
- ...filters,
4656
- status: e.target.value
4657
- })
4618
+ value: filters.ekycStatus,
4619
+ onChange: e => handleFilterChange("ekycStatus", e.target.value)
4658
4620
  }, /*#__PURE__*/React.createElement("option", {
4659
4621
  value: ""
4660
- }, "All Status"), /*#__PURE__*/React.createElement("option", {
4622
+ }, "All eKYC Status"), /*#__PURE__*/React.createElement("option", {
4661
4623
  value: "PENDING"
4662
4624
  }, "Pending"), /*#__PURE__*/React.createElement("option", {
4663
- value: "VERIFIED"
4664
- }, "Verified"), /*#__PURE__*/React.createElement("option", {
4665
- value: "ASSIGNED"
4666
- }, "Assigned"))), /*#__PURE__*/React.createElement("div", {
4667
- className: "summary-bar"
4668
- }, /*#__PURE__*/React.createElement("div", null, "Total Records: ", filteredKnos.length), /*#__PURE__*/React.createElement("div", null, "Selected KNOs: ", selectedKnos.length)), /*#__PURE__*/React.createElement("div", {
4669
- className: "table-wrapper"
4670
- }, /*#__PURE__*/React.createElement("div", {
4671
- className: "table-header"
4672
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", {
4673
- type: "checkbox",
4674
- checked: filteredKnos.length > 0 && filteredKnos.every(item => selectedKnos.includes(item.kno)),
4675
- onChange: handleSelectAll
4676
- })), /*#__PURE__*/React.createElement("div", null, "KNO"), /*#__PURE__*/React.createElement("div", null, "Consumer Name"), /*#__PURE__*/React.createElement("div", null, "Locality"), /*#__PURE__*/React.createElement("div", null, "Pincode"), /*#__PURE__*/React.createElement("div", null, "Status"), /*#__PURE__*/React.createElement("div", null, "Route")), /*#__PURE__*/React.createElement("div", {
4677
- className: "table-body"
4678
- }, filteredKnos.length > 0 ? filteredKnos.map((item, index) => /*#__PURE__*/React.createElement("div", {
4679
- key: item.kno,
4680
- className: `table-row ${index % 2 === 0 ? "even" : "odd"}`
4681
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("input", {
4682
- type: "checkbox",
4683
- checked: selectedKnos.includes(item.kno),
4684
- onChange: () => handleSelect(item.kno)
4685
- })), /*#__PURE__*/React.createElement("div", {
4686
- className: "kno-value"
4687
- }, item.kno), /*#__PURE__*/React.createElement("div", null, item.consumerName), /*#__PURE__*/React.createElement("div", null, item.locality), /*#__PURE__*/React.createElement("div", null, item.pincode), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("span", {
4688
- className: `status-badge ${item.status === "PENDING" ? "pending" : item.status === "VERIFIED" ? "verified" : "assigned"}`
4689
- }, item.status)), /*#__PURE__*/React.createElement("div", null, item.route))) : /*#__PURE__*/React.createElement("div", {
4690
- className: "empty-state"
4691
- }, "No KNO records found")))));
4625
+ value: "APPROVED"
4626
+ }, "Approved"), /*#__PURE__*/React.createElement("option", {
4627
+ value: "REJECTED"
4628
+ }, "Rejected")), /*#__PURE__*/React.createElement("select", {
4629
+ className: "form-control",
4630
+ value: assignmentType,
4631
+ onChange: e => setAssignmentType(e.target.value)
4632
+ }, /*#__PURE__*/React.createElement("option", {
4633
+ value: "KNO"
4634
+ }, "KNO"), /*#__PURE__*/React.createElement("option", {
4635
+ value: "MRKEY"
4636
+ }, "MR Key"), /*#__PURE__*/React.createElement("option", {
4637
+ value: "WARD"
4638
+ }, "Ward"), /*#__PURE__*/React.createElement("option", {
4639
+ value: "ASSEMBLY"
4640
+ }, "Assembly"))), /*#__PURE__*/React.createElement(Table, {
4641
+ tableTitle: "eKYC Applications",
4642
+ tableClass: "ekycTable",
4643
+ data: tableData,
4644
+ columns: columns,
4645
+ isLoading: isLoading,
4646
+ totalRecords: (applicationData === null || applicationData === void 0 ? void 0 : applicationData.totalCount) || 0,
4647
+ currentPage: currentPage,
4648
+ pageSizeLimit: pageSize,
4649
+ manualPagination: true,
4650
+ isPaginationRequired: true,
4651
+ onNextPage: () => {
4652
+ if (currentPage < ((applicationData === null || applicationData === void 0 ? void 0 : applicationData.totalPages) || 1) - 1) {
4653
+ setCurrentPage(prev => prev + 1);
4654
+ }
4655
+ },
4656
+ onPrevPage: () => {
4657
+ if (currentPage > 0) {
4658
+ setCurrentPage(prev => prev - 1);
4659
+ }
4660
+ },
4661
+ onFirstPage: () => {
4662
+ setCurrentPage(0);
4663
+ },
4664
+ onLastPage: () => {
4665
+ setCurrentPage(Math.max(((applicationData === null || applicationData === void 0 ? void 0 : applicationData.totalPages) || 1) - 1, 0));
4666
+ },
4667
+ onPageSizeChange: e => {
4668
+ setPageSize(Number(e.target.value));
4669
+ setCurrentPage(0);
4670
+ }
4671
+ })));
4692
4672
  };
4693
4673
 
4694
4674
  const SurveyorDetailsDashboard = () => {
@@ -5133,10 +5113,6 @@ const AssignEkyc = () => {
5133
5113
  enabled: !!tenantId,
5134
5114
  keepPreviousData: true
5135
5115
  });
5136
- const handleSort = useCallback(args => {
5137
- if ((args === null || args === void 0 ? void 0 : args.length) === 0) return;
5138
- setSortParams(args);
5139
- }, []);
5140
5116
  const searchDetails = useMemo(() => {
5141
5117
  var _formState$searchForm, _formState$searchForm2;
5142
5118
  return {