From ae900e95076ef1e3ed9d2857d05175e222782863 Mon Sep 17 00:00:00 2001 From: Sriranjan Srivastava Date: Mon, 4 Mar 2024 09:56:41 +0530 Subject: [PATCH 1/2] Added Dev2.0 changes for frontend,auto NPM publish --- frontend/micro-ui/web/docker/Dockerfile | 21 +- .../example/devpackage.json | 28 +- .../micro-ui-internals/example/package.json | 32 +- .../example/src/components/SelectName.js | 2 +- .../micro-ui-internals/example/src/index.js | 45 +- .../example/src/setupProxy.js | 12 +- .../web/micro-ui-internals/package.json | 17 +- .../packages/libraries/README.md | 4 +- .../packages/libraries/package.json | 4 +- .../src/hooks/digiLockerApi/createTokenAPI.js | 11 + .../packages/libraries/src/hooks/index.js | 36 + .../src/hooks/pgr/useComplaintDetails.js | 4 +- .../libraries/src/hooks/pgr/useInboxData.js | 1 + .../src/hooks/ptr/useBreedTypeMDMS.js | 20 + .../src/hooks/ptr/useMyPetPayments.js | 28 + .../src/hooks/ptr/usePTRApplicationAction.js | 12 + .../src/hooks/ptr/usePTRCreateAPI.js | 15 + .../src/hooks/ptr/usePTRGenderMDMS.js | 20 + .../libraries/src/hooks/ptr/usePTRPetMDMS.js | 20 + .../libraries/src/hooks/ptr/usePTRSearch.js | 23 + .../src/hooks/ptr/usePetDocumentSearch.js | 13 + .../libraries/src/hooks/ptr/usePetMDMS.js | 28 + .../src/hooks/ptr/usePtrApplicationDetail.js | 28 + .../src/hooks/ptr/useServiceSearchPTR.js | 26 + .../libraries/src/hooks/ptr/useTenants.js | 12 + .../src/hooks/tl/useTLsearchApplication.js | 6 +- .../src/hooks/tl/useTradeLicenseSearch.js | 1 + .../src/hooks/useApplicationForBillSearch.js | 19 +- .../src/hooks/useInboxGeneral/filterFn.js | 51 + .../src/hooks/useInboxGeneral/newFilterFn.js | 45 + .../src/hooks/useInboxGeneral/searchFields.js | 27 + .../hooks/useInboxGeneral/useInboxGeneral.js | 9 + .../src/hooks/useInboxGeneral/useNewInbox.js | 9 + .../src/hooks/ws/useBulkMeterCreate.js | 8 + .../libraries/src/hooks/ws/useBulkSearchWS.js | 22 + .../libraries/src/hooks/ws/useSearchWS.js | 2 +- .../packages/libraries/src/index.js | 6 +- .../src/services/atoms/Utils/Request.js | 4 +- .../libraries/src/services/atoms/urls.js | 21 +- .../src/services/elements/Complaint.js | 4 + .../src/services/elements/DigiLocker.js | 53 + .../libraries/src/services/elements/MDMS.js | 153 ++ .../libraries/src/services/elements/OBPS.js | 4 +- .../libraries/src/services/elements/PTR.js | 68 + .../libraries/src/services/elements/WS.js | 20 + .../src/services/molecules/FSM/Search.js | 1 + .../src/services/molecules/PT/Search.js | 5 +- .../PTR/ApplicationUpdateActionsPTR.js | 15 + .../src/services/molecules/PTR/Search.js | 123 ++ .../src/services/molecules/TL/Search.js | 6 +- .../src/services/molecules/WS/Search.js | 77 +- .../packages/libraries/src/utils/pdf.js | 641 ++++---- .../packages/modules/bills/package.json | 5 +- .../packages/modules/bills/src/Module.js | 2 +- .../modules/bills/src/billHomeCard.js | 2 +- .../modules/bills/src/components/Banner.js | 2 +- .../bills/src/components/BillCancelModal.js | 2 +- .../bills/src/components/BillsFilter.js | 2 +- .../components/CancelBill/CancelBillModal.js | 2 +- .../components/CancelBill/MobileCancelBill.js | 2 +- .../src/components/CancelBill/SearchFields.js | 2 +- .../bills/src/components/CancelBill/index.js | 2 +- .../components/GroupBill/MobileGroupBill.js | 2 +- .../src/components/GroupBill/SearchFields.js | 2 +- .../bills/src/components/GroupBill/index.js | 2 +- .../src/components/Modal/CancelConfig.js | 2 +- .../Search/MobileSearchApplication.js | 2 +- .../src/components/Search/SearchFields.js | 2 +- .../bills/src/components/Search/index.js | 2 +- .../citizen/ApplicationCitizenCard.js | 2 +- .../src/components/citizen/SearchCitizen.js | 2 +- .../components/citizen/SearchCitizenFilter.js | 2 +- .../bills/src/components/citizen/inbox.js | 2 +- .../src/components/inbox/ApplicationCard.js | 2 +- .../src/components/inbox/ApplicationLinks.js | 2 +- .../src/components/inbox/ApplicationTable.js | 2 +- .../src/components/inbox/BillsDesktopInbox.js | 2 +- .../bills/src/components/inbox/search.js | 2 +- .../src/pages/citizen/SearchBill/Inbox.js | 2 +- .../modules/bills/src/pages/citizen/index.js | 2 +- .../bills/src/pages/employee/BillDetails.js | 2 +- .../bills/src/pages/employee/BillDetailsv1.js | 2 +- .../bills/src/pages/employee/CancelBill.js | 2 +- .../src/pages/employee/DownloadBill/index.js | 2 +- .../bills/src/pages/employee/GroupBill.js | 2 +- .../pages/employee/GroupBill/GroupFilter.js | 2 +- .../src/pages/employee/GroupBill/index.js | 2 +- .../src/pages/employee/ResponseCancelBill.js | 2 +- .../pages/employee/SearchBill/BillInbox.js | 2 +- .../modules/bills/src/pages/employee/index.js | 2 +- .../packages/modules/bills/src/utils/index.js | 2 +- .../packages/modules/common/package.json | 9 +- .../common/src/hoc/subform-composer.js | 4 +- .../modules/common/src/hoc/testForm-config.js | 2 +- .../src/payments/citizen/bills/index.js | 2 +- .../bills/routes/bill-details/bill-details.js | 43 +- .../payments/citizen/bills/routes/index.js | 2 +- .../citizen/bills/routes/my-bills/my-bill.js | 3 +- .../citizen/bills/routes/my-bills/my-bills.js | 7 +- .../common/src/payments/citizen/index.js | 2 +- .../payments/citizen/payers-details/index.js | 4 +- .../payments/citizen/payment-type/index.js | 2 +- .../src/payments/citizen/response/index.js | 44 +- .../employee/IFrameInterface/index.js | 2 +- .../common/src/payments/employee/index.js | 2 +- .../Bill-details/billDetails.js | 7 +- .../payment-collect/ManualReciept/index.js | 2 +- .../employee/payment-collect/cheque/index.js | 2 +- .../employee/payment-collect/index.js | 4 +- .../src/payments/employee/response/index.js | 27 +- .../modules/common/src/payments/index.js | 2 +- .../packages/modules/commonPt/package.json | 5 +- .../packages/modules/commonPt/src/Module.js | 2 +- .../commonPt/src/components/CPTTimeline.js | 6 +- .../commonPt/src/components/CommonPTCard.js | 2 +- .../commonPt/src/components/Timeline.js | 2 +- .../search/CPTPropertySearchForm.js | 2 +- .../search/CPTPropertySearchResults.js | 4 +- .../src/pages/citizen/Create/index.js | 2 +- .../src/pages/citizen/LinkSuccess/index.js | 2 +- .../src/pages/citizen/Otp/SelectOtp.js | 2 +- .../citizen/SearchProperty/searchProperty.js | 142 +- .../citizen/SearchResults/searchResults.js | 7 +- .../commonPt/src/pages/citizen/index.js | 2 +- .../components/PropertyAssemblyDetails.js | 2 +- .../components/PropertyLocationDetails.js | 8 +- .../pages/components/PropertyOwnerDetails.js | 2 +- .../pages/employee/NewApplication/index.js | 2 +- .../commonPt/src/pages/employee/Search.js | 2 +- .../commonPt/src/pages/employee/index.js | 2 +- .../pages/pageComponents/KnowYourProperty.js | 2 +- .../pages/pageComponents/PTAcknowledgement.js | 3 +- .../pages/pageComponents/PropertyDetails.js | 8 +- .../pageComponents/PropertySearchNSummary.js | 5 +- .../src/pages/pageComponents/ViewProperty.js | 2 +- .../src/pages/pageComponents/createForm.js | 6 +- .../modules/commonPt/src/pages/utils/index.js | 36 +- .../packages/modules/core/package.json | 5 +- .../packages/modules/core/src/Module.js | 2 +- .../core/src/components/AcknowledgementCF.js | 2 +- .../modules/core/src/components/ChangeCity.js | 4 +- .../core/src/components/ChangeLanguage.js | 4 +- .../core/src/components/CitizenFeedback.js | 2 +- .../src/components/Dialog/LogoutDialog.js | 2 +- .../modules/core/src/components/Header.js | 2 +- .../modules/core/src/components/Home.js | 2 +- .../Search/MobileSearchApplication.js | 2 +- .../src/components/Search/SearchFields.js | 2 +- .../core/src/components/Search/index.js | 2 +- .../TopBarSideBar/SideBar/CitizenSideBar.js | 2 +- .../SideBar/CitizenSubMenuSideBar.js | 2 +- .../TopBarSideBar/SideBar/EmployeeSideBar.js | 2 +- .../TopBarSideBar/SideBar/NavItem.js | 4 +- .../TopBarSideBar/SideBar/NavItemHeader.js | 4 +- .../SideBar/StaticCitizenSideBar.js | 4 +- .../TopBarSideBar/SideBar/SubMenu.js | 2 +- .../src/components/TopBarSideBar/TopBar.js | 4 +- .../src/components/TopBarSideBar/index.js | 2 +- .../core/src/config/employee-sidebar-menu.js | 2 +- .../modules/core/src/config/sidebar-menu.js | 2 +- .../core/src/pages/citizen/ChallanQRCode.js | 82 + .../core/src/pages/citizen/FAQs/FAQs.js | 2 +- .../src/pages/citizen/FAQs/FaqComponent.js | 2 +- .../pages/citizen/Home/ImageUpload/ImgUp.js | 2 +- .../citizen/Home/ImageUpload/UploadDrawer.js | 2 +- .../pages/citizen/Home/LanguageSelection.js | 4 +- .../pages/citizen/Home/LocationSelection.js | 2 +- .../src/pages/citizen/Home/UserProfile.js | 29 +- .../core/src/pages/citizen/Home/index.js | 2 +- .../pages/citizen/HowItWorks/howItWorks.js | 2 +- .../pages/citizen/Login/SelectMobileNumber.js | 14 +- .../src/pages/citizen/Login/SelectName.js | 2 +- .../core/src/pages/citizen/Login/SelectOtp.js | 82 +- .../core/src/pages/citizen/Login/index.js | 2 +- .../modules/core/src/pages/citizen/QRCode.js | 2 +- .../StaticDynamicCard.js | 2 +- .../modules/core/src/pages/citizen/index.js | 8 +- .../employee/ChangePassword/changePassword.js | 2 +- .../pages/employee/ChangePassword/index.js | 2 +- .../employee/ForgotPassword/forgotPassword.js | 2 +- .../pages/employee/ForgotPassword/index.js | 2 +- .../pages/employee/LanguageSelection/index.js | 2 +- .../core/src/pages/employee/Login/index.js | 2 +- .../core/src/pages/employee/Login/login.js | 2 +- .../modules/core/src/pages/employee/index.js | 2 +- .../packages/modules/dss/package.json | 13 +- .../packages/modules/dss/src/Module.js | 2 +- .../dss/src/components/CustomAreaChart.js | 2 +- .../dss/src/components/CustomBarChart.js | 2 +- .../components/CustomHorizontalBarChart.js | 2 +- .../dss/src/components/CustomPieChart.js | 24 +- .../modules/dss/src/components/CustomTable.js | 2 +- .../modules/dss/src/components/DSSCard.js | 2 +- .../modules/dss/src/components/DateRange.js | 2 +- .../modules/dss/src/components/Filters.js | 2 +- .../dss/src/components/FiltersNational.js | 2 +- .../dss/src/components/GenericChart.js | 2 +- .../modules/dss/src/components/MapChart.js | 2 +- .../modules/dss/src/components/MetricChart.js | 2 +- .../dss/src/components/MetricChartNew.js | 2 +- .../modules/dss/src/components/Summary.js | 2 +- .../dss/src/components/mapDrillDownTable.js | 2 +- .../packages/modules/dss/src/pages/About.js | 2 +- .../modules/dss/src/pages/DrillDown.js | 2 +- .../dss/src/pages/FAQs/FAQComponent.js | 2 +- .../modules/dss/src/pages/FAQs/FAQs.js | 2 +- .../packages/modules/dss/src/pages/Home.js | 2 +- .../modules/dss/src/pages/NewDashboard.js | 2 +- .../modules/dss/src/pages/Overview.js | 2 +- .../packages/modules/dss/src/pages/index.js | 2 +- .../packages/modules/engagement/package.json | 7 +- .../packages/modules/engagement/src/Module.js | 2 +- .../components/Documents/ApplicationCard.js | 2 +- .../src/components/Documents/DesktopInbox.js | 2 +- .../src/components/Documents/DocumentCard.js | 2 +- .../components/Documents/DocumentDetails.js | 2 +- .../Documents/DocumentNotificationTable.js | 2 +- .../components/Documents/EngagementDocsULB.js | 2 +- .../Documents/EngagementULBDropdown.js | 2 +- .../src/components/Documents/Filter.js | 2 +- .../src/components/Documents/Search.js | 2 +- .../src/components/Documents/Searchbar.js | 2 +- .../Documents/engagement-doc-category.js | 2 +- .../Documents/engagement-doc-description.js | 2 +- .../Documents/engagement-doc-documents.js | 2 +- .../Documents/engagement-doc-name.js | 2 +- .../src/components/EngagementCard.js | 2 +- .../src/components/Events/ApplicationCard.js | 2 +- .../src/components/Events/ApplicationTable.js | 2 +- .../src/components/Events/DesktopInbox.js | 2 +- .../src/components/Events/DocumentDetails.js | 2 +- .../src/components/Events/DropdownUlb.js | 2 +- .../src/components/Events/EventForm.js | 2 +- .../src/components/Events/EventLink.js | 2 +- .../src/components/Events/Filter.js | 2 +- .../src/components/Events/Search.js | 2 +- .../components/Events/SelectGeoLocation.js | 2 +- .../src/components/Events/SelectToDate.js | 2 +- .../src/components/Events/StatusCount.js | 2 +- .../components/Messages/ApplicationCard.js | 2 +- .../components/Messages/ApplicationTable.js | 2 +- .../src/components/Messages/DesktopInbox.js | 2 +- .../components/Messages/DocumentDetails.js | 2 +- .../src/components/Messages/DropdownUlb.js | 2 +- .../src/components/Messages/EventLink.js | 2 +- .../src/components/Messages/Filter.js | 2 +- .../src/components/Messages/MessageForm.js | 2 +- .../src/components/Messages/Search.js | 2 +- .../components/Messages/SelectGeoLocation.js | 2 +- .../src/components/Messages/SelectToDate.js | 2 +- .../src/components/Messages/StatusCount.js | 2 +- .../src/components/Modal/Confirmation.js | 2 +- .../src/components/Modal/Surveys/Delete.js | 2 +- .../components/Modal/Surveys/MarkActive.js | 2 +- .../components/Modal/Surveys/MarkInActive.js | 2 +- .../components/Surveys/CitizenSurveyForm.js | 2 +- .../Surveys/CitizenSurveyQuestion.js | 2 +- .../Surveys/EditSurveyForms/index.js | 2 +- .../components/Surveys/NoSurveyFoundPage.js | 2 +- .../Surveys/ResultsView/SurveyDetailsView.js | 2 +- .../Surveys/ResultsView/SurveyResultsView.js | 2 +- .../Surveys/ResultsView/WhoHasResponded.js | 2 +- .../SurveyForms/AnswerTypes/Checkboxes.js | 2 +- .../SurveyForms/AnswerTypes/MultipleChoice.js | 2 +- .../Surveys/SurveyForms/NewSurveyForm.js | 4 +- .../Surveys/SurveyForms/SurveyDetailsForms.js | 2 +- .../Surveys/SurveyForms/SurveySettingsForm.js | 2 +- .../components/Surveys/SurveyForms/index.js | 2 +- .../src/components/Surveys/SurveyListCard.js | 2 +- .../pages/citizen/CitizenSurvey/Response.js | 2 +- .../pages/citizen/CitizenSurvey/ShowSurvey.js | 2 +- .../pages/citizen/CitizenSurvey/SurveyList.js | 2 +- .../citizen/Documents/DocumentCategories.js | 2 +- .../pages/citizen/Documents/DocumentList.js | 2 +- .../pages/citizen/Documents/ViewDocument.js | 2 +- .../EventsListOnGround/EventDetails.js | 2 +- .../pages/citizen/EventsListOnGround/index.js | 2 +- .../pages/citizen/NotificationsAndWhatsNew.js | 2 +- .../engagement/src/pages/citizen/index.js | 2 +- .../Inbox/FilterFieldsComponent.js | 2 +- .../Inbox/SearchFieldsComponents.js | 2 +- .../employee/CitizenSurveys/Inbox/index.js | 2 +- .../Inbox/useInboxTableConfig.js | 2 +- .../employee/CitizenSurveys/NewSurvey.js | 2 +- .../employee/CitizenSurveys/SurveyDetails.js | 2 +- .../employee/CitizenSurveys/SurveyResults.js | 2 +- .../pages/employee/CitizenSurveys/index.js | 2 +- .../CitizenSurveys/responses/create.js | 2 +- .../CitizenSurveys/responses/delete.js | 2 +- .../CitizenSurveys/responses/update.js | 2 +- .../pages/employee/Documents/Inbox/index.js | 2 +- .../employee/Documents/delete-response.js | 2 +- .../pages/employee/Documents/doc-update.js | 2 +- .../employee/Documents/documents-create.js | 2 +- .../employee/Documents/documents-update.js | 2 +- .../src/pages/employee/Documents/response.js | 2 +- .../employee/Documents/update-response.js | 2 +- .../pages/employee/Events/EditEvent/index.js | 2 +- .../src/pages/employee/Events/EventDetails.js | 2 +- .../src/pages/employee/Events/Inbox/index.js | 2 +- .../employee/Events/NewEvent/Response.js | 2 +- .../pages/employee/Events/NewEvent/index.js | 2 +- .../pages/employee/Messages/EditMessage.js | 2 +- .../src/pages/employee/Messages/Inbox.js | 2 +- .../src/pages/employee/Messages/Inbox_DEMO.js | 2 +- .../pages/employee/Messages/MessageDetails.js | 2 +- .../employee/Messages/NewMessage/Response.js | 2 +- .../employee/Messages/NewMessage/index.js | 2 +- .../src/pages/employee/Messages/index.js | 2 +- .../engagement/src/utils/SurveyInfoLabel.js | 4 +- .../packages/modules/fsm/package.json | 4 +- .../packages/modules/fsm/src/Module.js | 2 +- .../fsm/src/components/ApplicationTimeline.js | 2 +- .../fsm/src/components/DesktopInbox.js | 2 +- .../modules/fsm/src/components/FsmCard.js | 2 +- .../fsm/src/components/RegistryInbox.js | 4 +- .../fsm/src/components/RegistrySearch.js | 2 +- .../modules/fsm/src/components/TLCaption.js | 2 +- .../fsm/src/components/TLTimelineInFSM.js | 2 +- .../src/components/inbox/ApplicationCard.js | 4 +- .../src/components/inbox/ApplicationLinks.js | 2 +- .../src/components/inbox/ApplicationTable.js | 2 +- .../fsm/src/components/inbox/AssignedTo.js | 2 +- .../src/components/inbox/DropdownStatus.js | 2 +- .../fsm/src/components/inbox/FSMLink.js | 2 +- .../fsm/src/components/inbox/Filter.js | 4 +- .../fsm/src/components/inbox/SortBy.js | 4 +- .../fsm/src/components/inbox/Status.js | 2 +- .../fsm/src/components/inbox/StatusCount.js | 2 +- .../fsm/src/components/inbox/search.js | 2 +- .../fsm/src/config/NewApplication/config.js | 84 +- .../packages/modules/fsm/src/getPDFData.js | 4 +- .../src/pageComponents/AdvanceCollection.js | 6 +- .../fsm/src/pageComponents/CheckSlum.js | 2 +- .../src/pageComponents/FSMSelectAddress.js | 42 +- .../pageComponents/FSMSelectGeolocation.js | 2 +- .../src/pageComponents/FSMSelectLandmark.js | 12 +- .../src/pageComponents/FSMSelectPincode.js | 2 +- .../fsm/src/pageComponents/FSMSelectStreet.js | 28 +- .../fsm/src/pageComponents/SelectAddress.js | 7 +- .../fsm/src/pageComponents/SelectChannel.js | 4 +- .../fsm/src/pageComponents/SelectGender.js | 2 +- .../src/pageComponents/SelectGeolocation.js | 2 +- .../fsm/src/pageComponents/SelectLandmark.js | 2 +- .../fsm/src/pageComponents/SelectName.js | 15 +- .../pageComponents/SelectPaymentPreference.js | 14 +- .../src/pageComponents/SelectPaymentType.js | 4 +- .../fsm/src/pageComponents/SelectPincode.js | 2 +- .../fsm/src/pageComponents/SelectPitType.js | 2 +- .../src/pageComponents/SelectPropertyID.js | 4 +- .../pageComponents/SelectPropertySubtype.js | 11 +- .../src/pageComponents/SelectPropertyType.js | 36 +- .../src/pageComponents/SelectRoadDetails.js | 6 +- .../fsm/src/pageComponents/SelectSlumName.js | 2 +- .../fsm/src/pageComponents/SelectStreet.js | 9 +- .../fsm/src/pageComponents/SelectTankSize.js | 2 +- .../fsm/src/pageComponents/SelectTripData.js | 8 +- .../fsm/src/pageComponents/SelectTripNo.js | 2 +- .../fsm/src/pageComponents/SelectTrips.js | 6 +- .../src/pageComponents/SelectVehicleType.js | 2 +- .../modules/fsm/src/pages/Response.js | 4 +- .../src/pages/citizen/ApplicationDetails.js | 2 +- .../citizen/MyApplications/MyApplication.js | 2 +- .../src/pages/citizen/MyApplications/index.js | 2 +- .../pages/citizen/NewApplication/CheckPage.js | 6 +- .../pages/citizen/NewApplication/Response.js | 4 +- .../citizen/NewApplication/defaultConfig.js | 86 +- .../src/pages/citizen/NewApplication/index.js | 96 +- .../fsm/src/pages/citizen/Rating/RateView.js | 2 +- .../src/pages/citizen/Rating/SelectRating.js | 2 +- .../modules/fsm/src/pages/citizen/index.js | 4 +- .../src/pages/employee/ApplicationAudit.js | 2 +- .../ApplicationDetails/Modal/index.js | 4 +- .../ApplicationDetails/config/AcceptDso.js | 2 +- .../ApplicationDetails/config/AssignDso.js | 2 +- .../config/CompleteApplication.js | 81 +- .../ApplicationDetails/config/ReassignDso.js | 2 +- .../config/RejectApplication.js | 2 +- .../ApplicationDetails/config/RejectFstpo.js | 2 +- .../ApplicationDetails/config/ScheduleDso.js | 4 +- .../employee/ApplicationDetails/index.js | 9 +- .../fsm/src/pages/employee/DsoDashboard.js | 2 +- .../employee/EditApplication/EditForm.js | 2 +- .../employee/FSMRegistry/Driver/AddDriver.js | 2 +- .../FSMRegistry/Driver/DriverDetails.js | 2 +- .../employee/FSMRegistry/Driver/EditDriver.js | 2 +- .../FSMRegistry/Vehicle/AddVehicle.js | 2 +- .../FSMRegistry/Vehicle/EditVehicle.js | 2 +- .../FSMRegistry/Vehicle/VehicleDetails.js | 2 +- .../employee/FSMRegistry/Vendor/AddVendor.js | 2 +- .../employee/FSMRegistry/Vendor/EditVendor.js | 2 +- .../FSMRegistry/Vendor/VendorDetails.js | 2 +- .../src/pages/employee/FSMRegistry/index.js | 2 +- .../fsm/src/pages/employee/FstpAddVehicle.js | 2 +- .../fsm/src/pages/employee/FstpInbox.js | 2 +- .../fsm/src/pages/employee/FstpOperations.js | 2 +- .../src/pages/employee/FstpOperatorDetails.js | 4 +- .../src/pages/employee/FstpServiceRequest.js | 2 +- .../modules/fsm/src/pages/employee/Inbox.js | 2 +- .../pages/employee/NewApplication/index.js | 337 ++++- .../employee/configs/ApplicantDetails.js | 2 +- .../pages/employee/configs/DriverConfig.js | 2 +- .../src/pages/employee/configs/TripDetails.js | 2 +- .../pages/employee/configs/VehicleConfig.js | 2 +- .../pages/employee/configs/VendorConfig.js | 2 +- .../modules/fsm/src/pages/employee/index.js | 2 +- .../packages/modules/hrms/package.json | 5 +- .../hrms/src/components/EmployeeAction.js | 2 +- .../hrms/src/components/InboxFilter.js | 2 +- .../components/Modal/EmployeeActivation.js | 2 +- .../components/Modal/EmployeeAppliaction.js | 2 +- .../modules/hrms/src/components/hrmscard.js | 2 +- .../src/components/inbox/ApplicationCard.js | 4 +- .../src/components/inbox/ApplicationLinks.js | 2 +- .../src/components/inbox/ApplicationTable.js | 2 +- .../hrms/src/components/inbox/DesktopInbox.js | 2 +- .../hrms/src/components/inbox/MobileInbox.js | 2 +- .../hrms/src/components/inbox/search.js | 2 +- .../src/components/pageComponents/Banner.js | 2 +- .../components/pageComponents/EmployeeDOB.js | 2 +- .../pageComponents/EmployeePhoneNumber.js | 2 +- .../components/pageComponents/Multiselect.js | 2 +- .../pageComponents/SelectDateofEmployment.js | 2 +- .../pageComponents/SelectEmailId.js | 2 +- .../SelectEmployeeCorrespondenceAddress.js | 2 +- .../pageComponents/SelectEmployeeGender.js | 2 +- .../pageComponents/SelectEmployeeId.js | 2 +- .../pageComponents/SelectEmployeeName.js | 2 +- .../pageComponents/SelectEmployeeType.js | 4 +- .../components/pageComponents/assignment.js | 2 +- .../components/pageComponents/jurisdiction.js | 2 +- .../hrms/src/pages/EditEmployee/EditForm.js | 2 +- .../hrms/src/pages/EditEmployee/index.js | 2 +- .../modules/hrms/src/pages/EmployeeDetails.js | 2 +- .../packages/modules/hrms/src/pages/Inbox.js | 2 +- .../modules/hrms/src/pages/Response.js | 2 +- .../modules/hrms/src/pages/createEmployee.js | 2 +- .../packages/modules/hrms/src/pages/index.js | 2 +- .../packages/modules/mCollect/package.json | 7 +- .../modules/mCollect/src/EmployeeChallan.js | 3 +- .../packages/modules/mCollect/src/Module.js | 2 +- .../mCollect/src/components/DesktopInbox.js | 2 +- .../mCollect/src/components/FormComposer.js | 2 +- .../mCollect/src/components/MCollectCard.js | 2 +- .../components/Modal/MCollectActionModal.js | 2 +- .../Modal/MCollectWFAcknowledgement.js | 2 +- .../mCollect/src/components/TLCaption.js | 2 +- .../src/components/inbox/ApplicationCard.js | 4 +- .../src/components/inbox/ApplicationLinks.js | 2 +- .../src/components/inbox/ApplicationTable.js | 2 +- .../mCollect/src/components/inbox/Filter.js | 4 +- .../src/components/inbox/InboxLink.js | 2 +- .../src/components/inbox/NewInboxFilter.js | 2 +- .../src/components/inbox/ServiceCategory.js | 2 +- .../components/inbox/ServiceCategoryCount.js | 2 +- .../mCollect/src/components/inbox/SortBy.js | 4 +- .../mCollect/src/components/inbox/Status.js | 2 +- .../src/components/inbox/StatusCount.js | 2 +- .../mCollect/src/components/inbox/search.js | 2 +- .../src/pageComponents/AddressDetails.js | 2 +- .../src/pageComponents/ConsumerDetails.js | 25 +- .../src/pageComponents/ServiceDetails.js | 2 +- .../src/pages/citizen/MyChallan/myChallan.js | 2 +- .../citizen/SearchChallan/searchChallan.js | 6 +- .../citizen/SearchResults/searchResults.js | 2 +- .../mCollect/src/pages/citizen/index.js | 2 +- .../src/pages/employee/CreateChallan.js | 2 +- .../EmployeeChallanAcknowledgement.js | 2 +- .../mCollect/src/pages/employee/Inbox.js | 2 +- .../src/pages/employee/NewChallan/index.js | 4 +- .../mCollect/src/pages/employee/index.js | 2 +- .../packages/modules/noc/package.json | 5 +- .../packages/modules/noc/src/Module.js | 2 +- .../employee/ApplicationOverview/index.js | 2 +- .../noc/src/pages/employee/EmployeeCard.js | 2 +- .../Inbox/FilterFormFieldsComponent.js | 2 +- .../Inbox/SearchFormFieldsComponent.js | 2 +- .../noc/src/pages/employee/Inbox/index.js | 2 +- .../employee/Inbox/useInboxMobileCardsData.js | 2 +- .../noc/src/pages/employee/Response.js | 2 +- .../SearchApplication/SearchAtom/desktop.js | 2 +- .../SearchApplication/SearchAtom/mobile.js | 2 +- .../SearchFormFieldsComponent.js | 2 +- .../pages/employee/SearchApplication/index.js | 2 +- .../modules/noc/src/pages/employee/index.js | 2 +- .../packages/modules/obps/getAcknowlegment.js | 127 ++ .../modules/obps/getBPAAcknowledgement.js | 191 +++ .../packages/modules/obps/package.json | 5 +- .../packages/modules/obps/src/Module.js | 2 +- .../src/components/ApplicationTimeline.js | 2 +- .../obps/src/components/DocumentDetails.js | 2 +- .../SearchFormFieldsComponent.js | 2 +- .../src/components/SearchApplication/index.js | 2 +- .../modules/obps/src/components/Timeline.js | 2 +- .../obps/src/config/buildingPermitConfig.js | 8 +- .../obps/src/config/ocbuildingPermitConfig.js | 8 +- .../obps/src/pageComponents/BasicDetails.js | 2 +- .../pageComponents/CorrospondenceAddress.js | 3 +- .../obps/src/pageComponents/DocsRequired.js | 2 +- .../src/pageComponents/DocumentDetails.js | 2 +- .../obps/src/pageComponents/EDCRForm.js | 5 +- .../modules/obps/src/pageComponents/GIS.js | 2 +- .../src/pageComponents/InspectionReport.js | 2 +- .../obps/src/pageComponents/LicenseDetails.js | 2 +- .../obps/src/pageComponents/LicenseType.js | 20 +- .../src/pageComponents/LocationDetails.js | 2 +- .../obps/src/pageComponents/NOCDetails.js | 2 +- .../obps/src/pageComponents/OBPSDocuments.js | 2 +- .../src/pageComponents/OBPSDocumentsEmp.js | 2 +- .../src/pageComponents/OBPSDocumentsHolder.js | 2 +- .../obps/src/pageComponents/OCBasicDetails.js | 2 +- .../src/pageComponents/OCEDCRDocsRequired.js | 2 +- .../src/pageComponents/OCUploadPlanDiagram.js | 2 +- .../obps/src/pageComponents/OCeDCRScrutiny.js | 2 +- .../obps/src/pageComponents/OwnerDetails.js | 44 +- .../src/pageComponents/PermanentAddress.js | 2 +- .../obps/src/pageComponents/PlotDetails.js | 3 +- .../src/pageComponents/ScrutinyDetails.js | 3 +- .../pageComponents/StakeholderDocsRequired.js | 2 +- .../pageComponents/StakeholderDocuments.js | 2 +- .../pages/citizen/ApplicationDetail/index.js | 2 +- .../citizen/ArchitectInbox/ApplicationCard.js | 2 +- .../ArchitectInbox/ApplicationLinks.js | 2 +- .../ArchitectInbox/ApplicationTable.js | 2 +- .../citizen/ArchitectInbox/DesktopInbox.js | 2 +- .../pages/citizen/ArchitectInbox/Filter.js | 2 +- .../pages/citizen/ArchitectInbox/Search.js | 2 +- .../pages/citizen/ArchitectInbox/SortBy.js | 2 +- .../citizen/ArchitectInbox/StatusCount.js | 2 +- .../src/pages/citizen/ArchitectInbox/index.js | 2 +- .../citizen/BPASendBackToCitizen/index.js | 2 +- .../pages/citizen/BPASendToArchitect/index.js | 3 +- .../BPAApplicationTimeline.js | 2 +- .../BpaApplicationDetail/BPACaption.js | 2 +- .../BpaApplicationDetail/Modal/index.js | 2 +- .../BpaApplicationDetail/config/Approve.js | 2 +- .../citizen/BpaApplicationDetail/index.js | 2 +- .../pages/citizen/EDCR/EDCRAcknowledgement.js | 2 +- .../EdcrInbox/FilterFormFieldsComponent.js | 2 +- .../EdcrInbox/SearchFormFieldsComponent.js | 2 +- .../obps/src/pages/citizen/EdcrInbox/index.js | 2 +- .../EdcrInbox/useInboxMobileCardsData.js | 2 +- .../citizen/EdcrInbox/useInboxTableConfig.js | 2 +- .../src/pages/citizen/MyApplication/index.js | 23 +- .../citizen/NewBuildingPermit/CheckPage.js | 8 +- .../citizen/NewBuildingPermit/NewConfig.js | 9 +- .../NewBuildingPermit/OBPSAcknowledgement.js | 17 +- .../citizen/OCBuildingPermit/CheckPage.js | 3 +- .../OCBuildingPermit/OBPSAcknowledgement.js | 2 +- .../citizen/OCEDCR/EDCRAcknowledgement.js | 2 +- .../OCSendBackToCitizen/Acknowledgement.js | 2 +- .../citizen/OCSendBackToCitizen/CheckPage.js | 3 +- .../citizen/OCSendBackToCitizen/index.js | 2 +- .../pages/citizen/OCSendToArchitect/index.js | 3 +- .../StakeholderRegistration/CheckPage.js | 2 +- .../StakeholderAcknowledgement.js | 35 +- .../modules/obps/src/pages/citizen/home.js | 2 +- .../modules/obps/src/pages/citizen/index.js | 2 +- .../pages/employee/ApplicationDetail/index.js | 2 +- .../employee/BpaApplicationDetails/index.js | 2 +- .../obps/src/pages/employee/EmployeeCard.js | 2 +- .../Inbox/FilterFormFieldsComponent.js | 2 +- .../Inbox/SearchFormFieldsComponent.js | 2 +- .../obps/src/pages/employee/Inbox/index.js | 2 +- .../employee/Inbox/useInboxMobileCardsData.js | 2 +- .../obps/src/pages/employee/OBPSResponse.js | 2 +- .../src/pages/employee/StakeholderResponse.js | 2 +- .../modules/obps/src/pages/employee/index.js | 2 +- .../FilterFormFieldsComponent.js | 2 +- .../SearchFormFieldsComponent.js | 2 +- .../pages/employee/stakeholderInbox/index.js | 2 +- .../useInboxMobileCardsData.js | 2 +- .../packages/modules/obps/src/utils/index.js | 7 +- .../packages/modules/pgr/package.json | 7 +- .../packages/modules/pgr/src/EmployeeApp.js | 2 +- .../packages/modules/pgr/src/Module.js | 6 +- .../modules/pgr/src/components/Complaint.js | 4 +- .../pgr/src/components/DesktopInbox.js | 2 +- .../pgr/src/components/FormComposer.js | 2 +- .../modules/pgr/src/components/MobileInbox.js | 2 +- .../modules/pgr/src/components/PGRCard.js | 2 +- .../modules/pgr/src/components/TimeLine.js | 2 +- .../pgr/src/components/inbox/ComplaintCard.js | 2 +- .../src/components/inbox/ComplaintLinks.js | 2 +- .../src/components/inbox/ComplaintTable.js | 2 +- .../pgr/src/components/inbox/Filter.js | 4 +- .../pgr/src/components/inbox/Status.js | 2 +- .../pgr/src/components/inbox/search.js | 2 +- .../timelineInstances/PendingForAssignment.js | 2 +- .../components/timelineInstances/StarRated.js | 2 +- .../timelineInstances/pendingAtLme.js | 2 +- .../components/timelineInstances/rejected.js | 2 +- .../components/timelineInstances/reopen.js | 2 +- .../components/timelineInstances/resolved.js | 2 +- .../modules/pgr/src/constants/Routes.js | 2 + .../pgr/src/pages/citizen/ComplaintDetails.js | 2 +- .../pgr/src/pages/citizen/ComplaintsList.js | 2 +- .../pgr/src/pages/citizen/Create/Response.js | 2 +- .../pages/citizen/Create/Steps/Response.js | 2 +- .../citizen/Create/Steps/SelectAddress.js | 2 +- .../Create/Steps/SelectComplaintType.js | 44 +- .../citizen/Create/Steps/SelectDetails.js | 2 +- .../citizen/Create/Steps/SelectGeolocation.js | 2 +- .../citizen/Create/Steps/SelectImages.js | 2 +- .../citizen/Create/Steps/SelectLandmark.js | 2 +- .../citizen/Create/Steps/SelectPincode.js | 2 +- .../citizen/Create/Steps/SelectSubType.js | 2 +- .../pgr/src/pages/citizen/Create/index.js | 3 +- .../pgr/src/pages/citizen/Rating/Rating.js | 2 +- .../src/pages/citizen/Rating/SelectRating.js | 2 +- .../ReopenComplaint/AddtionalDetails.js | 2 +- .../pages/citizen/ReopenComplaint/Reason.js | 2 +- .../citizen/ReopenComplaint/UploadPhoto.js | 2 +- .../modules/pgr/src/pages/citizen/Response.js | 2 +- .../modules/pgr/src/pages/citizen/index.js | 2 +- .../src/pages/employee/ComplaintDetails.js | 10 +- .../pages/employee/CreateComplaint/index.js | 63 +- .../employee/EditApplication/EditForm.js | 316 ++++ .../pages/employee/EditApplication/index.js | 19 + .../modules/pgr/src/pages/employee/Inbox.js | 2 +- .../pgr/src/pages/employee/Response.js | 2 +- .../modules/pgr/src/pages/employee/index.js | 13 +- .../pgr/src/redux/actions/complaint.js | 4 + .../pgr/src/utils/getPGRcknowledgementData.js | 11 +- .../packages/modules/pt/package.json | 5 +- .../packages/modules/pt/src/Module.js | 12 +- .../modules/pt/src/components/DesktopInbox.js | 2 +- .../src/components/MobileSearchApplication.js | 2 +- .../modules/pt/src/components/PTCard.js | 2 +- .../pt/src/components/SearchApplication.js | 4 +- .../modules/pt/src/components/SearchFields.js | 2 +- .../modules/pt/src/components/TLCaption.js | 2 +- .../modules/pt/src/components/TLTimeline.js | 2 +- .../pt/src/components/UlbAssesmentSearch.js | 2 +- .../modules/pt/src/components/empty-result.js | 2 +- .../src/components/inbox/ApplicationCard.js | 4 +- .../src/components/inbox/ApplicationLinks.js | 2 +- .../src/components/inbox/ApplicationTable.js | 2 +- .../pt/src/components/inbox/InboxLink.js | 2 +- .../pt/src/components/inbox/NewInboxFilter.js | 2 +- .../modules/pt/src/components/inbox/SortBy.js | 4 +- .../modules/pt/src/components/inbox/Status.js | 2 +- .../pt/src/components/inbox/StatusCount.js | 2 +- .../modules/pt/src/components/inbox/search.js | 2 +- .../components/search/PropertySearchForm.js | 2 +- .../search/PropertySearchResults.js | 4 +- .../src/components/search/SearchDefaulter.js | 2 +- .../modules/pt/src/config/Create/config.js | 17 +- .../pt/src/getPTAcknowledgementData.js | 33 +- .../modules/pt/src/pageComponents/Area.js | 2 +- .../pt/src/pageComponents/Electricity.js | 2 +- .../src/pageComponents/GroundFloorDetails.js | 2 +- .../IsAnyPartOfThisFloorUnOccupied.js | 2 +- .../pt/src/pageComponents/IsResidential.js | 4 +- .../pageComponents/IsThisFloorSelfOccupied.js | 2 +- .../pt/src/pageComponents/Mutate/Comments.js | 2 +- .../Mutate/IsMutationPending.js | 2 +- .../Mutate/PropertyMarketValue.js | 2 +- .../Mutate/ReasonForTransfer.js | 2 +- .../Mutate/RegistrationDocument.js | 2 +- .../Mutate/TransfererDetails.js | 2 +- .../Mutate/transferReasonDocument.js | 2 +- .../pageComponents/Mutate/underStateAquire.js | 2 +- .../pageComponents/OwnerDetailsEmployee.js | 2 +- .../pageComponents/PTCitizenFeedbackPopUp.js | 2 +- .../pt/src/pageComponents/PTLandArea.js | 2 +- .../pt/src/pageComponents/PTSelectAddress.js | 2 +- .../src/pageComponents/PTSelectGeolocation.js | 2 +- .../pt/src/pageComponents/PTSelectLandmark.js | 2 +- .../pt/src/pageComponents/PTSelectPincode.js | 2 +- .../pt/src/pageComponents/PTSelectStreet.js | 2 +- .../pageComponents/PTWFApplicationTimeline.js | 2 +- .../pt/src/pageComponents/PTWFCaption.js | 2 +- .../modules/pt/src/pageComponents/Proof.js | 23 +- .../pageComponents/PropertyBasementDetails.js | 2 +- .../pt/src/pageComponents/PropertyDocument.js | 2 +- .../pageComponents/PropertyFloorDetails.js | 2 +- .../PropertyStructureDetails.js | 301 ++++ .../pt/src/pageComponents/PropertyTax.js | 171 ++- .../pt/src/pageComponents/PropertyType.js | 2 +- .../src/pageComponents/PropertyUsageType.js | 2 +- .../pt/src/pageComponents/ProvideFloorNo.js | 2 +- .../src/pageComponents/ProvideSubUsageType.js | 2 +- .../ProvideSubUsageTypeOfRentedArea.js | 2 +- .../pt/src/pageComponents/RentalDetails.js | 2 +- .../pageComponents/SelectAltContactNumber.js | 2 +- .../pt/src/pageComponents/SelectDocuments.js | 2 +- .../SelectInistitutionOwnerDetails.js | 2 +- .../src/pageComponents/SelectOwnerAddress.js | 2 +- .../src/pageComponents/SelectOwnerDetails.js | 13 +- .../pageComponents/SelectOwnerShipDetails.js | 2 +- .../pt/src/pageComponents/SelectPTUnits.js | 26 +- .../src/pageComponents/SelectProofIdentity.js | 2 +- .../SelectSpecialOwnerCategoryType.js | 2 +- .../SelectSpecialProofIdentity.js | 2 +- .../modules/pt/src/pageComponents/UID.js | 2 +- .../pt/src/pageComponents/UnOccupiedArea.js | 2 +- .../modules/pt/src/pageComponents/Units.js | 140 +- .../packages/modules/pt/src/pages/Response.js | 2 +- .../pt/src/pages/citizen/Create/CheckPage.js | 17 +- .../pages/citizen/Create/PTAcknowledgement.js | 2 +- .../pt/src/pages/citizen/Create/index.js | 618 +++++++- .../src/pages/citizen/EditProperty/index.js | 3 +- .../pt/src/pages/citizen/Mutate/CheckPage.js | 2 +- .../pages/citizen/MyPayments/PTPayments.js | 2 +- .../pt/src/pages/citizen/MyPayments/index.js | 2 +- .../PropertyInvalidMobileNumber.js | 2 +- .../citizen/MyProperties/TransferDetails.js | 2 +- .../src/pages/citizen/MyProperties/index.js | 2 +- .../citizen/MyProperties/my-properties.js | 30 +- .../MyProperties/propertyInformation.js | 2 +- .../MyProperties/propertyOwnerHistory.js | 2 +- .../citizen/MyProperties/updateNumber.js | 2 +- .../pt/src/pages/citizen/MyReceipts/index.js | 2 +- .../pages/citizen/MyReceipts/my-receipt.js | 2 +- .../src/pages/citizen/PTApplicationDetails.js | 29 +- .../pages/citizen/PTMyApplications/index.js | 2 +- .../PTMyApplications/pt-application.js | 2 +- .../citizen/SearchProperty/searchProperty.js | 2 +- .../citizen/SearchResults/searchResults.js | 2 +- .../modules/pt/src/pages/citizen/index.js | 2 +- .../src/pages/employee/ApplicationDetails.js | 8 +- .../src/pages/employee/AssessmentDetails.js | 1324 ++++++++--------- .../employee/EditApplication/EditForm.js | 627 +++++++- .../modules/pt/src/pages/employee/Inbox.js | 2 +- .../employee/MutationApplicatinDetails.js | 2 +- .../pages/employee/NewApplication/index.js | 643 +++++++- .../pt/src/pages/employee/PaymentDetails.js | 2 +- .../pt/src/pages/employee/PropertyDetails.js | 2 +- .../employee/PropertyMutation/docsRequired.js | 2 +- .../employee/PropertyMutation/mutationForm.js | 2 +- .../modules/pt/src/pages/employee/Search.js | 2 +- .../pt/src/pages/employee/SearchApp.js | 2 +- .../pt/src/pages/employee/UlbAssesment.js | 2 +- .../modules/pt/src/pages/employee/index.js | 2 +- .../pt/src/pages/employee/updateNumber.js | 2 +- .../modules/pt/src/utils/PaymentDetails.js | 2 +- .../modules/pt/src/utils/PropertyType.js | 2 +- .../modules/pt/src/utils/UploadFile.js | 353 +++++ .../packages/modules/pt/src/utils/index.js | 22 +- .../packages/modules/ptr/README.md | 0 .../packages/modules/ptr/package.json | 32 + .../packages/modules/ptr/src/Module.js | 145 ++ .../modules/ptr/src/components/MobileInbox.js | 59 + .../modules/ptr/src/components/PTRCard.js | 63 + .../ptr/src/components/PTRDesktopInbox.js | 112 ++ .../modules/ptr/src/components/PTRTimeline.js | 35 + .../modules/ptr/src/components/PetCaption.js | 19 + .../modules/ptr/src/components/Reason.js | 10 + .../ptr/src/components/SearchApplication.js | 252 ++++ .../ptr/src/components/SearchFields.js | 80 + .../src/components/inbox/ApplicationCard.js | 124 ++ .../src/components/inbox/ApplicationLinks.js | 67 + .../src/components/inbox/ApplicationTable.js | 38 + .../ptr/src/components/inbox/InboxLink.js | 72 + .../src/components/inbox/NewInboxFilter.js | 155 ++ .../ptr/src/components/inbox/SortBy.js | 58 + .../ptr/src/components/inbox/Status.js | 76 + .../ptr/src/components/inbox/StatusCount.js | 21 + .../ptr/src/components/inbox/search.js | 205 +++ .../ptr/src/config/Create/citizenconfig.js | 115 ++ .../modules/ptr/src/config/Create/config.js | 91 ++ .../ptr/src/config/inbox-table-config.js | 85 ++ .../ptr/src/getPetAcknowledgementData.js | 92 ++ .../src/pageComponents/PTRCitizenAddress.js | 182 +++ .../src/pageComponents/PTRCitizenDetails.js | 173 +++ .../ptr/src/pageComponents/PTRCitizenPet.js | 373 +++++ .../ptr/src/pageComponents/PTRDocument.js | 43 + .../src/pageComponents/PTRDocumentUpload.js | 255 ++++ .../ptr/src/pageComponents/PTROwnerDetails.js | 302 ++++ .../ptr/src/pageComponents/PTRPetdetails.js | 459 ++++++ .../src/pageComponents/PTRSelectAddress.js | 224 +++ .../src/pageComponents/PTRSelectPincode.js | 100 ++ .../pageComponents/PTRSelectProofIdentity.js | 220 +++ .../ptr/src/pageComponents/PTRSelectStreet.js | 167 +++ .../ptr/src/pageComponents/PTRServiceDoc.js | 69 + .../PTRWFApplicationTimeline.js | 151 ++ .../ptr/src/pageComponents/PTRWFCaption.js | 29 + .../ptr/src/pageComponents/PTRWFReason.js | 10 + .../modules/ptr/src/pages/Response.js | 143 ++ .../ptr/src/pages/citizen/Create/CheckPage.js | 202 +++ .../citizen/Create/PTRAcknowledgement.js | 97 ++ .../ptr/src/pages/citizen/Create/index.js | 144 ++ .../pages/citizen/PTRApplicationDetails.js | 269 ++++ .../pages/citizen/PTRMyApplications/index.js | 80 + .../PTRMyApplications/pet-application.js | 24 + .../modules/ptr/src/pages/citizen/index.js | 40 + .../src/pages/employee/ApplicationDetails.js | 185 +++ .../modules/ptr/src/pages/employee/Inbox.js | 156 ++ .../pages/employee/NewApplication/index.js | 108 ++ .../ptr/src/pages/employee/SearchApp.js | 64 + .../modules/ptr/src/pages/employee/index.js | 114 ++ .../packages/modules/ptr/src/utils/index.js | 221 +++ .../packages/modules/receipts/package.json | 5 +- .../modules/receipts/src/components/Banner.js | 2 +- .../src/components/Modal/CancelConfig.js | 2 +- .../src/components/ReceiptCancelModal.js | 2 +- .../receipts/src/components/ReceiptsFilter.js | 2 +- .../src/components/inbox/ApplicationCard.js | 2 +- .../src/components/inbox/ApplicationLinks.js | 2 +- .../src/components/inbox/ApplicationTable.js | 2 +- .../components/inbox/ReceiptsDesktopInbox.js | 2 +- .../receipts/src/components/inbox/search.js | 2 +- .../src/pages/ReceiptAcknowledgement.js | 2 +- .../receipts/src/pages/ReceiptDetails.js | 2 +- .../receipts/src/pages/ReceiptInbox.js | 2 +- .../modules/receipts/src/pages/index.js | 2 +- .../modules/receipts/src/receiptHomeCard.js | 2 +- .../packages/modules/reports/package.json | 8 +- .../src/components/ReportSearchApplication.js | 2 +- .../reports/src/components/ReportsCard.js | 2 +- .../components/SearchFormFieldsComponent.js | 2 +- .../modules/reports/src/pages/index.js | 2 +- .../Modal/BPAActionModal.js | 2 +- .../Modal/BPAREGActionModal.js | 2 +- .../Modal/FSMActionModal.js | 2 +- .../Modal/NOCActionModal.js | 2 +- .../ApplicationDetails/Modal/PTActionModal.js | 4 +- .../Modal/PTRActionModal.js | 166 +++ .../ApplicationDetails/Modal/TLActionModal.js | 2 +- .../Modal/WNSActionModal.js | 2 +- .../ApplicationDetails/Modal/index.js | 5 + .../components/ApplicationDetailsActionBar.js | 2 +- .../components/ApplicationDetailsContent.js | 7 +- .../components/ApplicationDetailsToast.js | 2 +- .../ApplicationDetailsWarningPopup.js | 2 +- .../components/BPADocuments.js | 2 +- .../components/DocumentsPreview.js | 2 +- .../components/InfoDetails.js | 2 +- .../components/InspectionReport.js | 2 +- .../components/NOCDocuments.js | 2 +- .../components/PermissionCheck.js | 2 +- .../components/PropertyDocuments.js | 2 +- .../components/PropertyEstimates.js | 2 +- .../components/PropertyFloors.js | 2 +- .../components/PropertyOwners.js | 13 +- .../components/ScruntinyDetails.js | 2 +- .../components/SubOccupancyTable.js | 2 +- .../components/TLCaption.js | 2 +- .../components/TLTradeAccessories.js | 2 +- .../components/TLTradeUnits.js | 2 +- .../components/ViewBreakup.js | 2 +- .../components/WSAdditonalDetails.js | 2 +- .../components/WSFeeEstimation.js | 4 +- .../ApplicationDetails/config/AcceptDso.js | 2 +- .../ApplicationDetails/config/AssignDso.js | 2 +- .../config/BPAApproverApplication.js | 2 +- .../config/BPAREGApproverApplication.js | 2 +- .../config/CompleteApplication.js | 2 +- .../config/NOCApproverApplication.js | 2 +- .../config/PTApproverApplication.js | 2 +- .../config/PTAssessProperty.js | 2 +- .../config/PTRApproverApplication.js | 36 + .../ApplicationDetails/config/ReassignDso.js | 2 +- .../config/RejectApplication.js | 2 +- .../config/TLApproverApplication.js | 2 +- .../config/WSApproverApplication.js | 2 +- .../config/WSDisconnectApplication.js | 2 +- .../ApplicationDetails/config/index.js | 4 +- .../templates/ApplicationDetails/index.js | 2 +- .../packages/modules/tl/package.json | 5 +- .../packages/modules/tl/src/Module.js | 2 +- .../MobileSearchApplication.js | 2 +- .../SearchApplication/SearchFields.js | 2 +- .../src/components/SearchApplication/index.js | 4 +- .../SearchLicense/MobileSearchApplication.js | 2 +- .../components/SearchLicense/SearchFields.js | 2 +- .../tl/src/components/SearchLicense/index.js | 2 +- .../modules/tl/src/components/TLCard.js | 2 +- .../modules/tl/src/components/TLTimeline.js | 2 +- .../tl/src/components/TLTimelineInFSM.js | 2 +- .../src/components/inbox/ApplicationCard.js | 4 +- .../src/components/inbox/ApplicationLinks.js | 2 +- .../src/components/inbox/ApplicationTable.js | 2 +- .../tl/src/components/inbox/DesktopInbox.js | 2 +- .../tl/src/components/inbox/InboxFilter.js | 2 +- .../modules/tl/src/components/inbox/SortBy.js | 4 +- .../modules/tl/src/components/inbox/search.js | 4 +- .../modules/tl/src/pageComponents/Proof.js | 2 +- .../src/pageComponents/SelectAccessories.js | 4 +- .../SelectAccessoriesDetails.js | 2 +- .../src/pageComponents/SelectBuildingType.js | 4 +- .../pageComponents/SelectCommencementDate.js | 4 +- .../tl/src/pageComponents/SelectDocuments.js | 2 +- .../pageComponents/SelectOtherTradeDetails.js | 2 +- .../src/pageComponents/SelectOwnerAddress.js | 2 +- .../pageComponents/SelectOwnerDetails copy.js | 2 +- .../src/pageComponents/SelectOwnerDetails.js | 52 +- .../pageComponents/SelectOwnerShipDetails.js | 2 +- .../pageComponents/SelectOwnershipProof.js | 2 +- .../src/pageComponents/SelectProofIdentity.js | 2 +- .../tl/src/pageComponents/SelectStreet.js | 2 +- .../src/pageComponents/SelectStructureType.js | 4 +- .../tl/src/pageComponents/SelectTradeName.js | 2 +- .../tl/src/pageComponents/SelectTradeUnits.js | 2 +- .../pageComponents/SelectTradeUnitsInitial.js | 2 +- .../src/pageComponents/SelectVehicleType.js | 4 +- .../pageComponents/TLAccessoriesEmployee.js | 2 +- .../src/pageComponents/TLDocumentsEmployee.js | 2 +- .../tl/src/pageComponents/TLDocumets.js | 2 +- .../tl/src/pageComponents/TLInfoLabel.js | 4 +- .../pageComponents/TLOwnerDetailsEmployee.js | 4 +- .../tl/src/pageComponents/TLSelectAddress.js | 2 +- .../src/pageComponents/TLSelectGeolocation.js | 2 +- .../tl/src/pageComponents/TLSelectLandMark.js | 2 +- .../pageComponents/TLSelectOwnerAddress.js | 2 +- .../tl/src/pageComponents/TLSelectPincode.js | 2 +- .../tl/src/pageComponents/TLSelectStreet.js | 2 +- .../pageComponents/TLTradeDetailsEmployee.js | 2 +- .../pageComponents/TLTradeUnitsEmployee.js | 2 +- .../TLTradeUnitsEmployeeInitial.js | 2 +- .../pageComponents/TLWFApplicationTimeline.js | 2 +- .../tl/src/pageComponents/TLWFCaption.js | 2 +- .../tl/src/pageComponents/TradeLicense.js | 2 +- .../packages/modules/tl/src/pages/Response.js | 2 +- .../pages/citizen/Applications/Application.js | 12 +- .../Applications/ApplicationDetails.js | 10 +- .../tl/src/pages/citizen/Create/CheckPage.js | 7 +- .../pages/citizen/Create/TLAcknowledgement.js | 2 +- .../tl/src/pages/citizen/EditTrade/index.js | 2 +- .../pages/citizen/Renewal/TradeLicenseList.js | 59 +- .../tl/src/pages/citizen/Renewal/index.js | 4 +- .../src/pages/citizen/Renewal/renewTrade.js | 2 +- .../pages/citizen/SearchTrade/searchTrade.js | 2 +- .../modules/tl/src/pages/citizen/index.js | 2 +- .../src/pages/employee/ApplicationDetails.js | 2 +- .../modules/tl/src/pages/employee/Inbox.js | 2 +- .../pages/employee/NewApplication/index.js | 21 +- .../pages/employee/ReNewApplication/index.js | 18 +- .../modules/tl/src/pages/employee/Search.js | 2 +- .../modules/tl/src/pages/employee/index.js | 2 +- .../tl/src/utils/getTLAcknowledgementData.js | 19 +- .../packages/modules/tl/src/utils/index.js | 38 +- .../packages/modules/ws/package.json | 9 +- .../packages/modules/ws/src/Module.js | 8 +- .../ws/src/components/BillAmendmentCard.js | 2 +- .../FilterFormFieldsComponent.js | 2 +- .../SearchFormFieldsComponent.js | 2 +- .../components/BillIAmendMentInbox/index.js | 2 +- .../useInboxMobileCardsData.js | 2 +- .../ws/src/components/DisconnectTimeline.js | 2 +- .../modules/ws/src/components/SWCard.js | 2 +- .../MobileSearchApplication.js | 2 +- .../SearchApplication/SearchFields.js | 2 +- .../src/components/SearchApplication/index.js | 2 +- .../SearchWaterConnection/BulkBillSearch.js | 538 +++++++ .../BulkBillSearchFields.js | 69 + .../MobileSearchWater.js | 2 +- .../SearchWaterConnection/SearchFields.js | 4 +- .../SearchWaterConnection/SearchFields2.js | 12 +- .../components/SearchWaterConnection/index.js | 4 +- .../modules/ws/src/components/Timeline.js | 2 +- .../modules/ws/src/components/WSCard.js | 2 +- .../WSInbox/FilterFormFieldsComponent.js | 2 +- .../WSInbox/SearchFormFieldsComponent.js | 2 +- .../ws/src/components/WSInbox/index.js | 2 +- .../WSInbox/useInboxMobileCardsData.js | 2 +- .../WSActivationCommentsDetails.js | 2 +- .../WSActivationConnectionDetails.js | 2 +- .../src/pageComponents/WSActivationDetails.js | 2 +- .../pageComponents/WSActivationPageDetails.js | 2 +- .../WSActivationPlumberDetails.js | 2 +- .../WSActivationSupportingDocuments.js | 2 +- .../src/pageComponents/WSConnectionDetails.js | 2 +- .../src/pageComponents/WSConnectionHolder.js | 40 +- .../WSConnectionHolderDetails.js | 72 +- .../WSDisconnectAcknowledgement.js | 2 +- .../WSDisconnectionAppDetails.js | 2 +- .../WSDisconnectionDocsRequired.js | 2 +- .../WSDisconnectionDocumentsForm.js | 2 +- .../src/pageComponents/WSDisconnectionForm.js | 29 +- .../ws/src/pageComponents/WSDocsRequired.js | 2 +- .../ws/src/pageComponents/WSDocument.js | 2 +- .../src/pageComponents/WSDocumentDetails.js | 2 +- .../src/pageComponents/WSDocumentsEmployee.js | 2 +- .../pageComponents/WSEditConnectionDetails.js | 2 +- .../ws/src/pageComponents/WSInfoLabel.js | 4 +- .../ws/src/pageComponents/WSPlumberDetails.js | 2 +- .../src/pageComponents/WSPlumberPreference.js | 2 +- .../src/pageComponents/WSPropertyDetails.js | 2 +- .../WSRestorationAcknowledgement.js | 2 +- .../src/pageComponents/WSRestorationForm.js | 2 +- .../pageComponents/WSRoadCuttingDetails.js | 2 +- .../ws/src/pageComponents/WSServiceName.js | 2 +- .../WSSewerageConnectionDetails.js | 5 +- .../pageComponents/WSWFApplicationTimeline.js | 2 +- .../ws/src/pageComponents/WSWFCaption.js | 2 +- .../WSWaterConnectionDetails.js | 3 +- .../pages/citizen/EditApplication/index.js | 2 +- .../citizen/MyConnection/ConnectionDetails.js | 21 +- .../MyConnection/ConsumptionDetails.js | 2 +- .../citizen/MyConnection/WSConnection.js | 4 +- .../src/pages/citizen/MyConnection/index.js | 2 +- .../src/pages/citizen/MyPayment/WSPayments.js | 2 +- .../ws/src/pages/citizen/MyPayment/index.js | 2 +- .../ReSubmitDisconnection/CheckPage.js | 2 +- .../SearchConnection/searchConnection.js | 6 +- .../citizen/SearchResults/searchResults.js | 2 +- .../src/pages/citizen/WSApplicationDetails.js | 23 +- .../src/pages/citizen/WSCreate/CheckPage.js | 6 +- .../citizen/WSCreate/WSAcknowledgement.js | 2 +- .../citizen/WSDisconnection/CheckPage.js | 4 +- .../WSMyApplications/additionalDetails.js | 2 +- .../pages/citizen/WSMyApplications/index.js | 2 +- .../WSMyApplications/ws-application.js | 51 +- .../pages/citizen/WSRestoration/CheckPage.js | 2 +- .../pages/citizen/WnSMyBills/wnsMyBills.js | 2 +- .../modules/ws/src/pages/citizen/index.js | 2 +- .../employee/ActivateConnection/index.js | 2 +- .../employee/ApplicationBillAmendment.js | 2 +- .../src/pages/employee/ApplicationDetails.js | 2 +- .../ApplicationDetailsBillAmendment.js | 2 +- .../src/pages/employee/BulkBillGeneration.js | 77 + .../WSDisconnectionResponse.js | 2 +- .../DisconnectionApplication/index.js | 2 +- .../pages/employee/DisconnectionDetails.js | 2 +- .../WSEditApplicationByConfig.js | 2 +- .../pages/employee/EditApplication/index.js | 2 +- .../EditDisconnectionByConfig.js | 2 +- .../ResubmitDisconnection.js | 2 +- .../EditDisconnectionApplication/index.js | 2 +- .../employee/EditModifyApplication/index.js | 2 +- .../pages/employee/ModifyApplication/index.js | 2 +- .../employee/ModifyApplicationDetails.js | 2 +- .../pages/employee/NewApplication/index.js | 2 +- .../src/pages/employee/RequiredDocuments.js | 2 +- .../modules/ws/src/pages/employee/Response.js | 2 +- .../src/pages/employee/ResponseBillAmend.js | 2 +- .../WSRestorationResponse.js | 2 +- .../employee/RestorationApplication/index.js | 2 +- .../ws/src/pages/employee/SearchIntegrated.js | 2 +- .../ws/src/pages/employee/SearchWater.js | 2 +- .../SearchWaterConnectionIntegrated.js | 4 +- .../ws/src/pages/employee/WSResponse.js | 2 +- .../ConnectionDetailsModal.js | 2 +- .../connectionDetails/ConsumptionDetails.js | 2 +- .../connectionDetails/connectionDetails.js | 2 +- .../modules/ws/src/pages/employee/index.js | 4 +- .../modules/ws/src/pages/employee/search.js | 2 +- .../ws/src/utils/getConnectionDetails.js | 3 +- .../ws/src/utils/getWSAcknowledgementData.js | 3 +- .../getWSDisconnectionAcknowledgementData.js | 3 +- .../getWSDisconnectionApplicationForm.js | 3 +- .../getWSRestorationAcknowledgementData.js | 3 +- .../ws/src/utils/getWsAckDataForModifyPdfs.js | 3 + .../packages/modules/ws/src/utils/index.js | 21 +- .../react-components/.storybook/preview.js | 2 +- .../packages/react-components/package.json | 4 +- .../src/molecules/DateRange.js | 2 +- .../src/molecules/FormStep.js | 2 +- .../src/molecules/PropertyType.js | 2 +- .../web/micro-ui-internals/publish.sh | 43 +- frontend/micro-ui/web/package.json | 45 +- frontend/micro-ui/web/src/App.js | 33 +- .../pt/pageComponents/PTAllotmentDetails.js | 2 +- .../pt/pageComponents/PTBusinessDetails.js | 2 +- .../pt/pageComponents/PTVasikaDetails.js | 2 +- .../pt/pageComponents/PropertyUsageType.js | 2 +- .../tl/pageComponents/PropertyUsageType.js | 2 +- frontend/micro-ui/web/src/index.js | 2 +- 1060 files changed, 16292 insertions(+), 2554 deletions(-) create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/digiLockerApi/createTokenAPI.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useBreedTypeMDMS.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useMyPetPayments.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRApplicationAction.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRCreateAPI.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRGenderMDMS.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRPetMDMS.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRSearch.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePetDocumentSearch.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePetMDMS.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePtrApplicationDetail.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useServiceSearchPTR.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useTenants.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ws/useBulkMeterCreate.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ws/useBulkSearchWS.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/DigiLocker.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/PTR.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/PTR/ApplicationUpdateActionsPTR.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/PTR/Search.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/ChallanQRCode.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/getAcknowlegment.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/getBPAAcknowledgement.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/EditApplication/EditForm.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/EditApplication/index.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyStructureDetails.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/UploadFile.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/README.md create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/package.json create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/Module.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/MobileInbox.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PTRCard.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PTRDesktopInbox.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PTRTimeline.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PetCaption.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/Reason.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/SearchApplication.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/SearchFields.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/ApplicationCard.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/ApplicationLinks.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/ApplicationTable.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/InboxLink.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/NewInboxFilter.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/SortBy.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/Status.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/StatusCount.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/search.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/config/Create/citizenconfig.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/config/Create/config.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/config/inbox-table-config.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/getPetAcknowledgementData.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRCitizenAddress.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRCitizenDetails.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRCitizenPet.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRDocument.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRDocumentUpload.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTROwnerDetails.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRPetdetails.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectAddress.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectPincode.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectProofIdentity.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectStreet.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRServiceDoc.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRWFApplicationTimeline.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRWFCaption.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRWFReason.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/Response.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/Create/CheckPage.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/Create/PTRAcknowledgement.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/Create/index.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/PTRApplicationDetails.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/PTRMyApplications/index.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/PTRMyApplications/pet-application.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/index.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/ApplicationDetails.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/Inbox.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/NewApplication/index.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/SearchApp.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/index.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/utils/index.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/PTRActionModal.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/PTRApproverApplication.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/BulkBillSearch.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/BulkBillSearchFields.js create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pages/employee/BulkBillGeneration.js diff --git a/frontend/micro-ui/web/docker/Dockerfile b/frontend/micro-ui/web/docker/Dockerfile index b392968cc70..e0230a7f55e 100644 --- a/frontend/micro-ui/web/docker/Dockerfile +++ b/frontend/micro-ui/web/docker/Dockerfile @@ -2,21 +2,22 @@ FROM upyogio/alpine-node-builder-14:yarn AS build #FROM ghcr.io/egovernments/alpine-node-builder-14:yarn AS build RUN apk update && apk upgrade RUN apk add --no-cache git>2.30.0 -RUN yarn add @egovernments/digit-ui-libraries +RUN yarn add @upyog/digit-ui-libraries RUN yarn add @upyog/digit-ui-module-pt RUN yarn add @upyog/digit-ui-module-fsm RUN yarn add @upyog/digit-ui-module-tl -RUN yarn add @egovernments/digit-ui-module-dss -RUN yarn add @egovernments/digit-ui-module-mcollect -RUN yarn add @egovernments/digit-ui-module-pgr -RUN yarn add @egovernments/digit-ui-module-noc -RUN yarn add @egovernments/digit-ui-module-engagement -RUN yarn add @egovernments/digit-ui-module-hrms -RUN yarn add @egovernments/digit-ui-module-core +RUN yarn add @upyog/digit-ui-module-dss +RUN yarn add @upyog/digit-ui-module-mcollect +RUN yarn add @upyog/digit-ui-module-pgr +RUN yarn add @upyog/digit-ui-module-noc +RUN yarn add @upyog/digit-ui-module-engagement +RUN yarn add @upyog/digit-ui-module-hrms +RUN yarn add @upyog/digit-ui-module-core RUN yarn add @upyog/digit-ui-module-obps -RUN yarn add @egovernments/digit-ui-module-common +RUN yarn add @upyog/digit-ui-module-common RUN yarn add @upyog/digit-ui-module-ws -RUN yarn add @egovernments/digit-ui-module-commonpt +RUN yarn add @upyog-niua/upyog-ui-module-ptr +RUN yarn add @upyog/digit-ui-module-commonpt ARG WORK_DIR WORKDIR /app ENV NODE_OPTIONS "--max-old-space-size=4096" diff --git a/frontend/micro-ui/web/micro-ui-internals/example/devpackage.json b/frontend/micro-ui/web/micro-ui-internals/example/devpackage.json index cbadf2fccde..09f9001963d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/devpackage.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/devpackage.json @@ -9,19 +9,21 @@ "start": "react-scripts start" }, "devDependencies": { - "@egovernments/digit-ui-libraries":"^1.4.0", - "@egovernments/digit-ui-module-common":"^1.4.0", - "@egovernments/digit-ui-module-engagement":"^1.4.0", - "@upyog/digit-ui-module-fsm":"^1.4.0", - "@egovernments/digit-ui-module-mcollect":"^1.4.0", - "@egovernments/digit-ui-module-noc":"^1.4.0", - "@upyog/digit-ui-module-obps":"^1.4.0", - "@egovernments/digit-ui-module-pgr":"^1.4.0", - "@upyog/digit-ui-module-pt":"^1.4.0", - "@egovernments/digit-ui-module-receipts":"^1.4.0", - "@upyog/digit-ui-module-tl":"^1.4.0", - "@upyog/digit-ui-module-ws":"^1.4.0", - "@egovernments/digit-ui-module-commonpt":"^1.4.0", + "microbundle-crl": "^0.13.11", + "@upyog/digit-ui-libraries":"1.7.0-beta.4", + "@upyog/digit-ui-module-common":"1.7.0-beta.3", + "@upyog/digit-ui-module-engagement":"^1.4.0", + "@upyog/digit-ui-module-fsm":"1.7.0-beta.13", + "@upyog/digit-ui-module-mcollect":"1.7.0-beta.3", + "@upyog/digit-ui-module-noc":"^1.4.0", + "@upyog/digit-ui-module-obps":"1.7.0-beta.6", + "@upyog/digit-ui-module-pgr":"1.7.0-beta.4", + "@upyog/digit-ui-module-pt":"1.7.0-beta.3", + "@upyog/digit-ui-module-receipts":"^1.4.0", + "@upyog/digit-ui-module-tl":"1.7.0-beta.6", + "@upyog/digit-ui-module-ws":"^1.7.0-beta.9", + "@upyog-niua/upyog-ui-module-ptr":"1.0.5", + "@upyog/digit-ui-module-commonpt":"^1.4.0", "http-proxy-middleware": "^1.0.5", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index fe8f02528e4..447ca7de052 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -9,20 +9,22 @@ "start": "react-scripts start" }, "devDependencies": { - "@egovernments/digit-ui-libraries": "^1.7.0-beta.2", - "@egovernments/digit-ui-module-common": "^1.7.0-beta.2", - "@egovernments/digit-ui-module-engagement": "^1.7.0-beta.2", - "@upyog/digit-ui-module-fsm": "^1.7.0-beta.9", - "@egovernments/digit-ui-module-mcollect": "^1.7.0-beta.2", - "@egovernments/digit-ui-module-noc": "^1.7.0-beta.2", - "@upyog/digit-ui-module-obps": "^1.7.0-beta.2", - "@egovernments/digit-ui-module-pgr": "^1.7.0-beta.2", - "@upyog/digit-ui-module-pt": "^1.7.0-beta.2", - "@egovernments/digit-ui-module-receipts": "^1.7.0-beta.2", - "@upyog/digit-ui-module-tl": "^1.7.0-beta.2", - "@upyog/digit-ui-module-ws": "^1.7.0-beta.2", - "@egovernments/digit-ui-module-bills": "^1.7.0-beta.2", - "@egovernments/digit-ui-module-commonpt": "^1.7.0-beta.3", + "microbundle-crl": "^0.13.11", + "@upyog/digit-ui-libraries": "^1.7.0-beta.4", + "@upyog/digit-ui-module-common": "1.7.0-beta.3", + "@upyog/digit-ui-module-engagement": "^1.7.0-beta.2", + "@upyog/digit-ui-module-fsm": "^1.7.0-beta.13", + "@upyog/digit-ui-module-mcollect": "^1.7.0-beta.2", + "@upyog/digit-ui-module-noc": "^1.7.0-beta.2", + "@upyog/digit-ui-module-obps": "^1.7.0-beta.6", + "@upyog/digit-ui-module-pgr": "^1.7.0-beta.2", + "@upyog/digit-ui-module-pt": "^1.7.0-beta.3", + "@upyog/digit-ui-module-receipts": "^1.7.0-beta.2", + "@upyog/digit-ui-module-tl": "^1.7.0-beta.6", + "@upyog/digit-ui-module-ws": "^1.7.0-beta.9", + "@upyog/digit-ui-module-bills": "^1.7.0-beta.2", + "@upyog/digit-ui-module-commonpt": "^1.7.0-beta.3", + "@upyog-niua/upyog-ui-module-ptr":"1.0.5", "http-proxy-middleware": "^1.0.5", "react": "17.0.2", "react-dom": "17.0.2", @@ -35,4 +37,4 @@ "not dead", "not op_mini all" ] -} +} \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/example/src/components/SelectName.js b/frontend/micro-ui/web/micro-ui-internals/example/src/components/SelectName.js index 56d2a195c12..167222fe8e9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/src/components/SelectName.js +++ b/frontend/micro-ui/web/micro-ui-internals/example/src/components/SelectName.js @@ -1,5 +1,5 @@ import React from "react"; -import { FormStep } from "@egovernments/digit-ui-react-components"; +import { FormStep } from "@upyog/digit-ui-react-components"; const SelectName = ({ config, onSelect, onSkip, t }) => { return ; diff --git a/frontend/micro-ui/web/micro-ui-internals/example/src/index.js b/frontend/micro-ui/web/micro-ui-internals/example/src/index.js index afe1ef3ac87..1ef59114f36 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/src/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/example/src/index.js @@ -1,37 +1,40 @@ import React from "react"; import ReactDOM from "react-dom"; -import { initLibraries } from "@egovernments/digit-ui-libraries"; -import { PGRReducers } from "@egovernments/digit-ui-module-pgr"; +import { initLibraries } from "@upyog/digit-ui-libraries"; +import { PGRReducers } from "@upyog/digit-ui-module-pgr"; import { PTModule, PTLinks, PTComponents } from "@upyog/digit-ui-module-pt"; -import { MCollectModule, MCollectLinks } from "@egovernments/digit-ui-module-mcollect"; +import { MCollectModule, MCollectLinks } from "@upyog/digit-ui-module-mcollect"; // import { TLModule, TLLinks } from "@upyog/digit-ui-module-tl"; import { initFSMComponents } from "@upyog/digit-ui-module-fsm"; -import { initPGRComponents } from "@egovernments/digit-ui-module-pgr"; -import { initDSSComponents } from "@egovernments/digit-ui-module-dss"; -import { initHRMSComponents } from "@egovernments/digit-ui-module-hrms"; -import { initReceiptsComponents, ReceiptsModule } from "@egovernments/digit-ui-module-receipts"; +import { initPGRComponents } from "@upyog/digit-ui-module-pgr"; +import { initDSSComponents } from "@upyog/digit-ui-module-dss"; +import { initHRMSComponents } from "@upyog/digit-ui-module-hrms"; +import { initReceiptsComponents, ReceiptsModule } from "@upyog/digit-ui-module-receipts"; // import { initReportsComponents } from "@egovernments/digit-ui-module-reports"; -import { initMCollectComponents } from "@egovernments/digit-ui-module-mcollect"; +import { initMCollectComponents } from "@upyog/digit-ui-module-mcollect"; import { initTLComponents } from "@upyog/digit-ui-module-tl"; -import { PaymentModule, PaymentLinks, paymentConfigs } from "@egovernments/digit-ui-module-common"; -import { HRMSModule } from "@egovernments/digit-ui-module-hrms"; +import { PaymentModule, PaymentLinks, paymentConfigs } from "@upyog/digit-ui-module-common"; +import { HRMSModule } from "@upyog/digit-ui-module-hrms"; import { initOBPSComponents } from "@upyog/digit-ui-module-obps"; -import { initEngagementComponents } from "@egovernments/digit-ui-module-engagement"; -import { initNOCComponents } from "@egovernments/digit-ui-module-noc"; +import { initEngagementComponents } from "@upyog/digit-ui-module-engagement"; +import { initNOCComponents } from "@upyog/digit-ui-module-noc"; import { initWSComponents } from "@upyog/digit-ui-module-ws"; -import { DigitUI } from "@egovernments/digit-ui-module-core"; -import { initCommonPTComponents } from "@egovernments/digit-ui-module-commonpt"; -import { initBillsComponents, BillsModule } from "@egovernments/digit-ui-module-bills"; +import { DigitUI } from "@upyog/digit-ui-module-core"; +import { initCommonPTComponents } from "@upyog/digit-ui-module-commonpt"; +import { initBillsComponents, BillsModule } from "@upyog/digit-ui-module-bills"; + +import { PTRModule, PTRLinks, PTRComponents } from "@upyog-niua/upyog-ui-module-ptr"; + // import {initCustomisationComponents} from "./customisations"; // import { PGRModule, PGRLinks } from "@egovernments/digit-ui-module-pgr"; -// import { Body, TopBar } from "@egovernments/digit-ui-react-components"; +// import { Body, TopBar } from "@upyog/digit-ui-react-components"; import "@upyog-niua/upyog-css/example/index.css"; -// import * as comps from "@egovernments/digit-ui-react-components"; +// import * as comps from "@upyog/digit-ui-react-components"; -// import { subFormRegistry } from "@egovernments/digit-ui-libraries"; +// import { subFormRegistry } from "@upyog/digit-ui-libraries"; import { pgrCustomizations, pgrComponents } from "./pgr"; @@ -60,7 +63,8 @@ const enabledModules = [ "BillAmendment", "FireNoc", "Birth", - "Death" + "Death", + "PTR" ]; const initTokens = (stateCode) => { @@ -104,6 +108,9 @@ const initDigitUI = () => { HRMSModule, ReceiptsModule, BillsModule, + PTRModule, + PTRLinks, + ...PTRComponents // TLModule, // TLLinks, }); diff --git a/frontend/micro-ui/web/micro-ui-internals/example/src/setupProxy.js b/frontend/micro-ui/web/micro-ui-internals/example/src/setupProxy.js index cc71b6a6a9e..ff5082a094b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/src/setupProxy.js +++ b/frontend/micro-ui/web/micro-ui-internals/example/src/setupProxy.js @@ -3,11 +3,11 @@ const { createProxyMiddleware } = require("http-proxy-middleware"); const createProxy = createProxyMiddleware({ //target: process.env.REACT_APP_PROXY_API || "https://uat.digit.org", // target: process.env.REACT_APP_PROXY_API || "https://qa.digit.org", - target: process.env.REACT_APP_PROXY_API || "https://qa.digit.org", + target: process.env.REACT_APP_PROXY_API || "https://upyog-test.niua.org", changeOrigin: true, }); const assetsProxy = createProxyMiddleware({ - target: process.env.REACT_APP_PROXY_ASSETS || "https://qa.digit.org", + target: process.env.REACT_APP_PROXY_ASSETS || "https://upyog-test.niua.org", changeOrigin: true, }); module.exports = function (app) { @@ -63,6 +63,14 @@ module.exports = function (app) { "/inbox/v1/elastic/_search", "/fsm-calculator", "/service-request", + "/pet-services/pet-registration/_create", + "/pet-services/pet-registration/_search", + "/pet-services/pet-registration/_update", + "/billing-service/bill/v2/_fetchbill", + "/collection-services/payments/pet-services/_search", + "/requester-services-dx" + + ].forEach((location) => app.use(location, createProxy)); ["/pb-egov-assets"].forEach((location) => app.use(location, assetsProxy)); }; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/package.json b/frontend/micro-ui/web/micro-ui-internals/package.json index 98b64d6e715..5ba611356b7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/package.json @@ -9,12 +9,9 @@ "packages/react-components", "packages/modules/common", "packages/modules/core", - "packages/modules/pgr", - "packages/modules/dss", "packages/modules/commonPt", - "packages/modules/pt", - "packages/modules/mCollect", - "packages/modules/obps" + "packages/modules/dss", + "packages/modules/pt" ], "author": "Abhinav Kushwaha ", "license": "MIT", @@ -49,6 +46,7 @@ "dev:bills": "cd packages/modules/bills && yarn start", "dev:reports": "cd packages/modules/reports && yarn start", "dev:example": "cd example && yarn start", + "dev:ptr": "cd packages/modules/ptr && yarn start", "build": "run-p build:**", "build:libraries": "cd packages/libraries && yarn build", "build:components": "cd packages/react-components && yarn build", @@ -56,14 +54,15 @@ "build:pt": "cd packages/modules/pt && yarn build", "build:commonPt": "cd packages/modules/commonPt && yarn build", "build:core": "cd packages/modules/core && yarn build", - "build:pgr": "cd packages/modules/pgr && yarn build", + "buildD:pgr": "cd packages/modules/pgr && yarn build", "buildD:fsm": "cd packages/modules/fsm && yarn build", "build:dss": "cd packages/modules/dss && yarn build", - "build:mcollect": "cd packages/modules/mCollect && yarn build", + "buildD:mcollect": "cd packages/modules/mCollect && yarn build", "buildD:receipts": "cd packages/modules/receipts && yarn build", "buildD:tl": "cd packages/modules/tl && yarn build", + "buildD:ptr": "cd packages/modules/ptr && yarn build", "buildD:hrms": "cd packages/modules/hrms && yarn build", - "build:obps": "cd packages/modules/obps && yarn build", + "buildD:obps": "cd packages/modules/obps && yarn build", "buildD:engagement": "cd packages/modules/engagement && yarn build", "buildD:noc": "cd packages/modules/noc && yarn build", "buildD:ws": "cd packages/modules/ws && yarn build", @@ -91,4 +90,4 @@ "**/@babel/preset-env": "7.14.0", "**/@babel/plugin-transform-modules-commonjs": "7.14.0" } -} +} \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/README.md b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/README.md index 39fc8cb4ee5..34cfb462811 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/README.md +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/README.md @@ -5,14 +5,14 @@ ## Install ```bash -npm install --save @egovernments/digit-ui-libraries +npm install --save @upyog/digit-ui-libraries ``` ## Usage ```jsx import React from "react"; -import initLibraries from "@egovernments/digit-ui-libraries"; +import initLibraries from "@upyog/digit-ui-libraries"; import defaultConfig from "./config"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json index f5c39d4c778..7efe2834e97 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json @@ -1,6 +1,6 @@ { - "name": "@egovernments/digit-ui-libraries", - "version": "1.7.0-beta.2", + "name": "@upyog/digit-ui-libraries", + "version": "1.7.0-beta.4", "main": "dist/index.js", "module": "dist/index.modern.js", "source": "src/index.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/digiLockerApi/createTokenAPI.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/digiLockerApi/createTokenAPI.js new file mode 100644 index 00000000000..01b33492e02 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/digiLockerApi/createTokenAPI.js @@ -0,0 +1,11 @@ +import { DigiLockerService } from "../../services/elements/DigiLocker"; +import { PTService } from "../../services/elements/PT"; +import { useMutation } from "react-query"; + +const createTokenAPI = (type) => { + + return useMutation((data) => { + DigiLockerService.token(data)}); + } + +export default createTokenAPI; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/index.js index 3d0647df055..8d93f065cd6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/index.js @@ -213,6 +213,7 @@ import WSuseSearch from "./ws/useSearch"; import useOldValue from "./ws/useOldValue"; import useSewSearch from "./ws/useSewSearch"; import useSearchWS from "./ws/useSearchWS"; +import useBulkSearchWS from "./ws/useBulkSearchWS" import useMypaymentWS from "./ws/useMypaymentWS"; import useWSDetailsPage from "./ws/useWSDetailsPage"; import useWSApplicationActions from "./ws/useApplicationActions"; @@ -238,6 +239,7 @@ import useWaterPropertySearch from "./ws/useWaterPropertySearch"; import useDisconnectionWorkflow from "./ws/useDisconnectionWorkflow"; import useDisConnectionDetails from "./ws/useDisConnectionDetails"; import useWSModifyDetailsPage from "./ws/useWSModifyDetailsPage"; +import useBulkMeterReadingCreateAPI from "./ws/useBulkMeterCreate"; import useGetHowItWorksJSON from "./useHowItWorksJSON"; import useGetFAQsJSON from "./useGetFAQsJSON"; @@ -250,6 +252,20 @@ import useToCheckPrivacyEnablement from "./ws/useToCheckPrivacyEnablement"; import useWSConfigMDMS from "./ws/useWSConfigMDMS"; import useFeedBackSearch from "./useFeedBackSearch"; +import usePetMDMS from "./ptr/usePetMDMS"; +import useBreedTypeMDMS from "./ptr/useBreedTypeMDMS"; +import usePTRCreateAPI from "./ptr/usePTRCreateAPI"; +import usePTRPetMDMS from "./ptr/usePTRPetMDMS"; +import usePTRGenderMDMS from "./ptr/usePTRGenderMDMS"; +import usePTRSearch from "./ptr/usePTRSearch"; +import usePtrApplicationDetail from "./ptr/usePtrApplicationDetail"; +import usePTRApplicationAction from "./ptr/usePTRApplicationAction"; +import useServiceSearchPTR from "./ptr/useServiceSearchPTR"; +import usePetDocumentSearch from "./ptr/usePetDocumentSearch"; +import useMyPetPayments from "./ptr/useMyPetPayments"; +import useTenantsPTR from "./ptr/useTenants"; + +import createTokenAPI from "./digiLockerApi/createTokenAPI"; const pgr = { useComplaintDetails, @@ -269,6 +285,22 @@ const pgr = { useTradeLicenseBillingslab, useMDMS: usePGRMDMS, }; +const ptr = { + usePetMDMS, + usePTRPetMDMS, + useBreedTypeMDMS, + usePTRCreateAPI, + usePTRApplicationAction, + usePTRGenderMDMS, + usePTRSearch, + usePtrApplicationDetail, + // useTenantsPTR, + useServiceSearchPTR, + usePetDocumentSearch, + useMyPetPayments, + useTenants: useTenantsPTR + +}; const fsm = { useTenants: useTenantsFSM, @@ -462,6 +494,7 @@ const ws = { WSuseSearch, useSewSearch, useSearchWS, + useBulkSearchWS, useWSDetailsPage, useWSApplicationActions, useApplicationActionsBillAmendUpdate, @@ -484,6 +517,7 @@ const ws = { useDisConnectionDetails, useWSModifyDetailsPage, useToCheckPrivacyEnablement, + useBulkMeterReadingCreateAPI, useWSConfigMDMS: useWSConfigMDMS, }; @@ -535,6 +569,7 @@ const Hooks = { mcollect, hrms, tl, + ptr, receipts, obps, events, @@ -554,6 +589,7 @@ const Hooks = { useBulkPdfDetails, useBillAmendmentInbox, useAudit, + createTokenAPI }; export default Hooks; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/pgr/useComplaintDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/pgr/useComplaintDetails.js index ee40baaf459..2f0d68f483b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/pgr/useComplaintDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/pgr/useComplaintDetails.js @@ -10,11 +10,12 @@ const getThumbnails = async (ids, tenantId) => { } }; -const getDetailsRow = ({ id, service, complaintType }) => ({ +const getDetailsRow = ({ id, service, complaintType }) => ({ CS_COMPLAINT_DETAILS_COMPLAINT_NO: id, CS_COMPLAINT_DETAILS_APPLICATION_STATUS: `CS_COMMON_${service.applicationStatus}`, CS_ADDCOMPLAINT_COMPLAINT_TYPE: complaintType === "" ? `SERVICEDEFS.OTHERS` : `SERVICEDEFS.${complaintType}`, CS_ADDCOMPLAINT_COMPLAINT_SUB_TYPE: `SERVICEDEFS.${service.serviceCode.toUpperCase()}`, + CS_ADDCOMPLAINT_PRIORITY_LEVEL : service?.priority, CS_COMPLAINT_ADDTIONAL_DETAILS: service.description, CS_COMPLAINT_FILED_DATE: Digit.DateUtils.ConvertTimestampToDate(service.auditDetails.createdTime), ES_CREATECOMPLAINT_ADDRESS: [ @@ -45,6 +46,7 @@ const transformDetails = ({ id, service, workflow, thumbnails, complaintType }) source: service.source, rating: service.rating, serviceCode: service.serviceCode, + prioritylevel : service.priorityLevel }, service: service, }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/pgr/useInboxData.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/pgr/useInboxData.js index 299b88b0e4a..4323fd316e1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/pgr/useInboxData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/pgr/useInboxData.js @@ -53,6 +53,7 @@ const combineResponses = (complaintDetailsResponse, workflowInstances) => { data.push({ serviceRequestId: complaint.service.serviceRequestId, complaintSubType: complaint.service.serviceCode, + priorityLevel : complaint.service.priority, locality: complaint.service.address.locality.code, status: complaint.service.applicationStatus, taskOwner: wfMap[complaint.service.serviceRequestId]?.assignes?.[0]?.name || "-", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useBreedTypeMDMS.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useBreedTypeMDMS.js new file mode 100644 index 00000000000..6ab7208db02 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useBreedTypeMDMS.js @@ -0,0 +1,20 @@ +import { useQuery } from "react-query"; +import { MdmsService } from "../../services/elements/MDMS"; + +const useBreedTypeMDMS = (tenantId, moduleCode, type, config = {}) => { + const useBreed = () => { + return useQuery("PTR_FORM_BREED_TYPE", () => MdmsService.PTRBreedType(tenantId, moduleCode ,type), config); + }; + + + switch (type) { + case "BreedType": + return useBreed(); + default: + return null; + } +}; + + + +export default useBreedTypeMDMS; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useMyPetPayments.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useMyPetPayments.js new file mode 100644 index 00000000000..f30a6231997 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useMyPetPayments.js @@ -0,0 +1,28 @@ +import { useQuery, useQueryClient } from "react-query"; + +const getOwnerForPayments = (propertyData,data) => { + let newPayments = []; + data && data?.Payments?.map((payment) => { + let owner = propertyData?.filter((ob) => ob.propertyId === payment?.paymentDetails?.[0]?.bill?.consumerCode)[0]?.owners; + newPayments.push({...payment,owners:owner}); + }) + data ? data["Payments"] = [...newPayments] : ""; + return data; +} + +const useMyPetPayments = ({ tenantId, filters, searchedFrom="" }, config = {}) => { + const client = useQueryClient(); + + const paymentargs = tenantId ? { tenantId, filters } : { filters }; + + + const { isLoading, error, data } = useQuery(["paymentpetSearchList", tenantId, filters], () => Digit.PTRService.paymentsearch(paymentargs), { + ...config, + }); + let updatedData = getOwnerForPayments(config?.propertyData,data); + +return { isLoading, error, data, revalidate: () => client.invalidateQueries(["paymentpetSearchList", tenantId, filters]) }; + +}; + +export default useMyPetPayments; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRApplicationAction.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRApplicationAction.js new file mode 100644 index 00000000000..769404dc893 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRApplicationAction.js @@ -0,0 +1,12 @@ +import { useMutation } from "react-query"; +// import ApplicationUpdateActionsPTR from "../../services/molecules/PTR/ApplicationUpdateActionsPTR"; +import ApplicationUpdateActionsPTR from "../../services/molecules/PTR/ApplicationUpdateActionsPTR" + +const usePTRApplicationAction = (tenantId) => { + + return useMutation((applicationData) => ApplicationUpdateActionsPTR(applicationData, tenantId)); +}; + +// console.log("hjdfhj", applicationData) + +export default usePTRApplicationAction; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRCreateAPI.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRCreateAPI.js new file mode 100644 index 00000000000..536a490d03c --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRCreateAPI.js @@ -0,0 +1,15 @@ +import { useQuery, useMutation } from "react-query"; +import { PTRService } from "../../services/elements/PTR"; + + +export const usePTRCreateAPI = (tenantId, type = true) => { + // return useMutation((data) => PTRService.create(data, tenantId)); + if (type) { + return useMutation((data) => PTRService.create(data, tenantId)); + } + else { + return useMutation((data) => PTRService.update(data, tenantId)); + } +}; + +export default usePTRCreateAPI; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRGenderMDMS.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRGenderMDMS.js new file mode 100644 index 00000000000..0cd1b6ffa24 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRGenderMDMS.js @@ -0,0 +1,20 @@ +import { useQuery } from "react-query"; +import { MdmsService } from "../../services/elements/MDMS"; + +const usePTRGenderMDMS = (tenantId, moduleCode, type, config = {}) => { + const usePTRGenders = () => { + return useQuery("PTR_GENDER_DETAILS", () => MdmsService.PTRGenderType(tenantId, moduleCode ,type), config); + }; + + + switch (type) { + case "GenderType": + return usePTRGenders(); + default: + return null; + } +}; + + + +export default usePTRGenderMDMS; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRPetMDMS.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRPetMDMS.js new file mode 100644 index 00000000000..2631a0d1858 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRPetMDMS.js @@ -0,0 +1,20 @@ +import { useQuery } from "react-query"; +import { MdmsService } from "../../services/elements/MDMS"; + +const usePTRPetMDMS = (tenantId, moduleCode, type, config = {}) => { + const usePTRPet = () => { + return useQuery("PTR_FORM_PET_TYPE", () => MdmsService.PTRPetType(tenantId, moduleCode ,type), config); + }; + + + switch (type) { + case "PetType": + return usePTRPet(); + default: + return null; + } +}; + + + +export default usePTRPetMDMS; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRSearch.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRSearch.js new file mode 100644 index 00000000000..b511320ee80 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePTRSearch.js @@ -0,0 +1,23 @@ +import { useQuery, useQueryClient } from "react-query"; + +const usePTRSearch = ({ tenantId, filters, auth,searchedFrom="" }, config = {}) => { + const client = useQueryClient(); + + const args = tenantId ? { tenantId, filters, auth } : { filters, auth }; + + const defaultSelect = (data) => { + // console.log("ptrhook", data) + if(data.PetRegistrationApplications.length > 0) data.PetRegistrationApplications[0].owners = data.PetRegistrationApplications[0].owners || []; + + return data; + }; + + const { isLoading, error, data, isSuccess } = useQuery(["ptrSearchList", tenantId, filters, auth, config], () => Digit.PTRService.search(args), { + select: defaultSelect, + ...config, + }); + + return { isLoading, error, data, isSuccess, revalidate: () => client.invalidateQueries(["ptrSearchList", tenantId, filters, auth]) }; +}; + +export default usePTRSearch; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePetDocumentSearch.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePetDocumentSearch.js new file mode 100644 index 00000000000..11f92388da2 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePetDocumentSearch.js @@ -0,0 +1,13 @@ +import { useQuery, useQueryClient } from "react-query"; + +const usePetDocumentSearch = ({ petdetail }, config = {}) => { + const client = useQueryClient(); + const tenantId = petdetail?.tenantId || Digit.ULBService.getCurrentTenantId(); + const tenant = Digit.ULBService.getStateId(); + const applicationNumber = petdetail?.propertyId; + const filesArray = petdetail?.documents?.map((value) => value?.filestoreId); + const { isLoading, error, data } = useQuery([`ptDocuments-${applicationNumber}`, filesArray], () => Digit.UploadServices.Filefetch(filesArray, tenant)); + return { isLoading, error, data: { pdfFiles: data?.data }, revalidate: () => client.invalidateQueries([`ptDocuments-${applicationNumber}`, filesArray]) }; +}; + +export default usePetDocumentSearch; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePetMDMS.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePetMDMS.js new file mode 100644 index 00000000000..923bf17f48c --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePetMDMS.js @@ -0,0 +1,28 @@ +import { MdmsService } from "../../services/elements/MDMS"; +import { useQuery } from "react-query"; + +const usePetMDMS = (tenantId, moduleCode, type, config = {}) => { + + + + const usePetDocumentsRequiredScreen = () => { + return useQuery("PT_DOCUMENT_REQ_SCREEN", () => MdmsService.getPetDocumentsRequiredScreen(tenantId, moduleCode), config); + }; + + + + const _default = () => { + return useQuery([tenantId, moduleCode, type], () => MdmsService.getMultipleTypes(tenantId, moduleCode, type), config); + }; + + switch (type) { + + case "Documents": + return usePetDocumentsRequiredScreen(); + + default: + return _default(); + } +}; + +export default usePetMDMS; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePtrApplicationDetail.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePtrApplicationDetail.js new file mode 100644 index 00000000000..4fc9588b3ea --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/usePtrApplicationDetail.js @@ -0,0 +1,28 @@ +import { PTRSearch } from "../../services/molecules/PTR/Search"; +import { useQuery } from "react-query"; + +const usePtrApplicationDetail = (t, tenantId, applicationNumber, config = {}, userType, args) => { + + const defaultSelect = (data) => { + // console.log("####",data) + let applicationDetails = data.applicationDetails.map((obj) => { + + return obj; + }); + + + return { + applicationData : data, + applicationDetails + } + }; + + return useQuery( + ["APPLICATION_SEARCH", "PT_SEARCH", applicationNumber, userType, args], + () => PTRSearch.applicationDetails(t, tenantId, applicationNumber, userType, args), + { select: defaultSelect, ...config } + + ); +}; + +export default usePtrApplicationDetail; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useServiceSearchPTR.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useServiceSearchPTR.js new file mode 100644 index 00000000000..72c8dfd1bd8 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useServiceSearchPTR.js @@ -0,0 +1,26 @@ + +import { useQuery, useQueryClient } from "react-query"; + +const useServiceSearchPTR = ({ tenantId, filters }, config = {}) => { + const client = useQueryClient(); + //removing servicedefids from search call as it's not required anymore + // const searchargs = { filters : { ServiceDefinitionCriteria : {tenantId : filters?.serviceSearchArgs?.tenantId, module:filters?.serviceSearchArgs?.module, code:filters?.serviceSearchArgs?.code }}}; + + + // const { isLoading, error, data } = useQuery(["ServiceDefinitionSearch", tenantId, filters], () => Digit.PTService.cfdefinitionsearch(searchargs), { + // ...config, + // }); + +let serviceSearchArg = {filters : {ServiceCriteria : {tenantId:filters?.serviceSearchArgs?.tenantId, /*serviceDefIds: [data?.ServiceDefinition?.[0]?.id]["ca134821-97f0-42b7-a53d-f6cd2796e4b9"],attributes:filters?.serviceSearchArgs?.attributes*/ referenceIds:filters?.serviceSearchArgs?.referenceIds}}} +let serviceconfig = {/*enabled : data?.ServiceDefinition?.[0]?.id ? true : false,*/...config, cacheTime: 0} + +const { isLoading : serviceLoading, error : serviceerror, data :servicedata} = useQuery(["ServiceSearch", tenantId, filters], () => Digit.PTService.cfsearch(serviceSearchArg), { + ...serviceconfig, + }); + + +return {isLoading: serviceLoading, error : serviceerror, data : servicedata, revalidate: () => client.invalidateQueries(["ServiceSearch", tenantId, filters]) }; + +}; + +export default useServiceSearchPTR; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useTenants.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useTenants.js new file mode 100644 index 00000000000..ee7870b55c2 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ptr/useTenants.js @@ -0,0 +1,12 @@ +import React, { useEffect, useState } from "react"; + +const useTenants = () => { + const tenantInfo = Digit.SessionStorage.get("PTR_TENANTS"); + console.log("tenenennenenenen",tenantInfo) + + const [tenants, setTenants] = useState(tenantInfo ? tenantInfo : null); + + return tenants; +}; + +export default useTenants; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/tl/useTLsearchApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/tl/useTLsearchApplication.js index 79a49120be2..55feddd24b7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/tl/useTLsearchApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/tl/useTLsearchApplication.js @@ -39,9 +39,11 @@ export const useTLSearchApplication = (params, config = {}, t) => { TL_APPLICATION_CATEGORY: "ACTION_TEST_TRADE_LICENSE", TL_COMMON_TABLE_COL_OWN_NAME: i?.tradeLicenseDetail?.subOwnerShipCategory.includes("INSTITUTION") ? i?.tradeLicenseDetail?.institution?.name - : i?.tradeLicenseDetail?.owners?.map((ele, index) => + : i?.tradeLicenseDetail?.owners!==null ? i?.tradeLicenseDetail?.owners.sort((a,b)=>a?.additionalDetails?.ownerSequence-b?.additionalDetails?.ownerSequence)?.map((ele, index) => index == 0 ? (multiownername = ele.name) : (multiownername = multiownername + " , " + ele.name) - ), + ) : i?.tradeLicenseDetail?.owners?.map((ele, index) => + index == 0 ? (multiownername = ele.name) : (multiownername = multiownername + " , " + ele.name) + ), TL_COMMON_TABLE_COL_STATUS: `WF_NEWTL_${i?.status}`, TL_COMMON_TABLE_COL_SLA_NAME: i?.status.match(/^(EXPIRED|APPROVED|CANCELLED)$/)? "CS_NA" : `${Math.round(i?.SLA / (1000 * 60 * 60 * 24))} ${t("TL_SLA_DAYS")}`, TL_COMMON_TABLE_COL_TRD_NAME: i?.tradeName, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/tl/useTradeLicenseSearch.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/tl/useTradeLicenseSearch.js index dfb1bde05a0..2f41888810b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/tl/useTradeLicenseSearch.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/tl/useTradeLicenseSearch.js @@ -5,6 +5,7 @@ const useTradeLicenseSearch = ({ tenantId, filters, auth }, config = {}) => { const client = useQueryClient(); const args = tenantId ? { tenantId, filters, auth } : { filters, auth }; + console.log("useTradeLicenseSearch",filters) const { isLoading, error, data } = useQuery(["tradeSearchList", tenantId, filters], () => Digit.TLService.TLsearch(args), config); useEffect (() => { if(config?.filters?.tenantId) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useApplicationForBillSearch.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useApplicationForBillSearch.js index ecc4438eca6..699d18d1cab 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useApplicationForBillSearch.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useApplicationForBillSearch.js @@ -2,14 +2,19 @@ import { FSMService } from "../services/elements/FSM"; import { PTService } from "../services/elements/PT"; import { useQuery } from "react-query"; import { MCollectService } from "../services/elements/MCollect"; +import { PTRService } from "../services/elements/PTR"; const fsmApplications = async (tenantId, filters) => { return (await FSMService.search(tenantId, { ...filters, limit: 10000 })).fsm; }; const ptApplications = async (tenantId, filters) => { + console.log("filstettetetrtr",filters); return (await PTService.search({ tenantId, filters })).Properties; }; +const ptrApplications = async (tenantId, filters) => { + return (await PTRService.search({ tenantId, filters })).PetRegistrationApplications; +}; const advtApplications = async (tenantId, filters) => { return (await MCollectService.search_bill({ tenantId, filters })).Bills; @@ -19,6 +24,8 @@ const tlApplications = async (tenantId, filters) => { }; const refObj = (tenantId, filters) => { + + console.log("filterssssssss",filters); let consumerCodes = filters?.consumerCodes; // delete filters.consumerCodes; @@ -28,6 +35,12 @@ const refObj = (tenantId, filters) => { key: "propertyId", label: "PT_UNIQUE_PROPERTY_ID", }, + + ptr: { + searchFn: () => ptrApplications(null, { ...filters, applicationNumber: consumerCodes }), + key: "applicationNumber", + label: "PTR_UNIQUE_APPLICATION_NUMBER", + }, fsm: { searchFn: () => fsmApplications(tenantId, filters), key: "applicationNo", @@ -67,6 +80,7 @@ const refObj = (tenantId, filters) => { }; export const useApplicationsForBusinessServiceSearch = ({ tenantId, businessService, filters }, config = {}) => { + console.log("busyysysysys",businessService); let _key = businessService?.toLowerCase().split(".")[0]; if (window.location.href.includes("mcollect")) { _key = "mcollect"; @@ -79,7 +93,10 @@ export const useApplicationsForBusinessServiceSearch = ({ tenantId, businessServ } if (window.location.href.includes("BPA.")) { _key = "BPA" - } + } + if (window.location.href.includes("pet-services")) { + _key = "ptr" + } /* key from application ie being used as consumer code in bill */ const { searchFn, key, label } = refObj(tenantId, filters)[_key]; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/filterFn.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/filterFn.js index 7736e52c1af..95ad64cd168 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/filterFn.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/filterFn.js @@ -103,6 +103,57 @@ export const filterFunctions = { searchFilters.offset = offset; } + return { searchFilters, workflowFilters }; + }, + PTR: (filtersArg) => { + console.log("filer",filtersArg ) + let { uuid } = Digit.UserService.getUser()?.info || {}; + + const searchFilters = {}; + const workflowFilters = {}; + + const { applicationNumber, mobileNumber, limit, offset, sortBy, sortOrder, total, applicationStatus, services } = filtersArg || {}; + + if (filtersArg?.applicationNumber) { + searchFilters.applicationNumber = filtersArg?.applicationNumber; + } + + if (applicationStatus && applicationStatus?.[0]) { + workflowFilters.applicationStatus = applicationStatus.map((status) => status.code).join(","); + } + if (filtersArg?.locality?.length) { + searchFilters.locality = filtersArg?.locality.map((item) => item.code.split("_").pop()).join(","); + } + + if (filtersArg?.locality?.code) { + searchFilters.locality = filtersArg?.locality?.code; + } + + if (filtersArg?.uuid && filtersArg?.uuid.code === "ASSIGNED_TO_ME") { + workflowFilters.assignee = uuid; + } + if (mobileNumber) { + searchFilters.mobileNumber = mobileNumber; + } + if (applicationNumber) { + searchFilters.applicationNumber = applicationNumber; + } + if (sortBy) { + searchFilters.sortBy = sortBy; + } + if (sortOrder) { + searchFilters.sortOrder = sortOrder; + } + if (services) { + workflowFilters.businessServices = services.join(); + } + if (limit) { + searchFilters.limit = limit; + } + if (offset) { + searchFilters.offset = offset; + } + return { searchFilters, workflowFilters }; }, }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/newFilterFn.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/newFilterFn.js index 33242762bf9..18cfbb59cc4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/newFilterFn.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/newFilterFn.js @@ -47,6 +47,51 @@ export const filterFunctions = { // workflowFilters.businessService = "PT.CREATE"; // searchFilters.mobileNumber = "9898568989"; + return { searchFilters, workflowFilters, limit, offset, sortBy, sortOrder }; + }, + PTR: (filtersArg) => { + + + let { uuid } = Digit.UserService.getUser()?.info || {}; + + const searchFilters = {}; + const workflowFilters = {}; + + const { applicationNumbers, mobileNumber, limit, offset, sortBy, sortOrder, total, applicationStatus, services } = filtersArg || {}; + + if (filtersArg?.applicationNumber) { + searchFilters.applicationNumber = filtersArg?.applicationNumber; + } + if (filtersArg?.applicationNumbers) { + searchFilters.applicationNumber = applicationNumbers; + } + + if (applicationStatus && applicationStatus?.[0]?.applicationStatus) { + workflowFilters.status = applicationStatus.map((status) => status.uuid); + if (applicationStatus?.some((e) => e.nonActionableRole)) { + searchFilters.fetchNonActionableRecords = true; + } + } + if (filtersArg?.locality?.length) { + searchFilters.locality = filtersArg?.locality.map((item) => item.code.split("_").pop()); + } + if (filtersArg?.uuid && filtersArg?.uuid.code === "ASSIGNED_TO_ME") { + workflowFilters.assignee = uuid; + } + if (mobileNumber) { + searchFilters.mobileNumber = mobileNumber; + } + + + if (services) { + workflowFilters.businessService = services; + } + searchFilters["isInboxSearch"] = true; + searchFilters["creationReason"] = ["CREATE"]; + workflowFilters["moduleName"] = "pet-services"; + + + return { searchFilters, workflowFilters, limit, offset, sortBy, sortOrder }; }, }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/searchFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/searchFields.js index 05cd3d163db..4d7e87be24b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/searchFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/searchFields.js @@ -26,6 +26,33 @@ const inboxSearchFields = { }, }, ], + PTR: [ + { + label: "PTR_APPLICATION_NUMBER", + name: "applicationNumber", + roles: [], + }, + { + label: "PTR_PET_TYPE", + name: "petType", + // minLength: "10", + roles: [], + }, + { + label: "PTR_MOBILE_NUMBER", + name: "mobileNumber", + type: "mobileNumber", + maxLength: 10, + minLength: 0, + roles: [], + pattern: "^$|[6-9][0-9]{9}", + errorMessages: { + pattern: "", + minLength: "", + maxLength: "", + }, + }, + ], }; const searchFieldsForSearch = { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/useInboxGeneral.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/useInboxGeneral.js index 69076d2608c..42f47163cea 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/useInboxGeneral.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/useInboxGeneral.js @@ -16,6 +16,15 @@ const inboxConfig = (tenantId, filters) => ({ fetchFilters: filterFunctions.PT, _searchFn: () => PTService.search({ tenantId, filters }), }, + PTR: { + services: ["ptr"], + searchResponseKey: "PetRegistrationApplications", + businessIdsParamForSearch: "applicationNumber", + businessIdAliasForSearch: "applicationNumber", + fetchFilters: filterFunctions.PTR, + _searchFn: () => PTRService.search({ tenantId, filters }), + }, + FSM: { services: ["FSM"], searchResponseKey: "fsm", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/useNewInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/useNewInbox.js index 19645496acf..3cd8f4daa55 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/useNewInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/useInboxGeneral/useNewInbox.js @@ -16,6 +16,15 @@ const inboxConfig = (tenantId, filters) => ({ fetchFilters: filterFunctions.PT, _searchFn: () => PTService.search({ tenantId, filters }), }, + PTR: { + services: ["ptr"], + searchResponseKey: "PetRegistrationApplications", + businessIdsParamForSearch: "applicationNumber", + businessIdAliasForSearch: "applicationNumber", + fetchFilters: filterFunctions.PTR, + _searchFn: () => PTRService.search({ tenantId, filters }), + }, + FSM: { services: ["FSM"], searchResponseKey: "fsm", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ws/useBulkMeterCreate.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ws/useBulkMeterCreate.js new file mode 100644 index 00000000000..c21de2fb0c4 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ws/useBulkMeterCreate.js @@ -0,0 +1,8 @@ +import { WSService } from "../../services/elements/WS"; +import { useMutation } from "react-query"; + +const useBulkMeterReadingCreateAPI = (businessService = "WS") => { + return useMutation((data) => WSService.bulkMeterConnectioncreate(data, businessService)); +}; + +export default useBulkMeterReadingCreateAPI; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ws/useBulkSearchWS.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ws/useBulkSearchWS.js new file mode 100644 index 00000000000..cfb90aa5e8c --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ws/useBulkSearchWS.js @@ -0,0 +1,22 @@ +import React, { useState } from "react"; +import { useQuery } from "react-query"; +import { WSService } from "../../services/elements/WS"; +/* + * Feature :: Privacy + * Task 6502 to show only locality info without door no and street names + */ + +const useBulkSearchWS = ({ tenantId, filters, config = {}}) => { + let responseWS = ""; + responseWS=useQuery( + ["WS_WATER_SEARCH",tenantId, ...Object.keys(filters)?.map((e) => filters?.[e])], + async () => await WSService.WSMeterSearch({tenantId, filters }), + { + ...config, + } + ) + return responseWS?.data +}; + + +export default useBulkSearchWS; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ws/useSearchWS.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ws/useSearchWS.js index ac703a36d18..16269d5d1bc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ws/useSearchWS.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/ws/useSearchWS.js @@ -17,7 +17,7 @@ const getAddress = (address, t, shortAddress) => { const getOwnerNames = (propertyData) => { const getActiveOwners = propertyData?.owners?.filter((owner) => owner?.active); - const getOwnersList = getActiveOwners?.map((activeOwner) => activeOwner?.name)?.join(","); + const getOwnersList = getActiveOwners.sort((a,b)=>a.additionalDetails?.ownerSequence- b.additionalDetails?.ownerSequence)?.map((activeOwner) => activeOwner?.name)?.join(","); return getOwnersList ? getOwnersList : t("NA"); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/index.js index 2d40c948c32..61d2945e7c3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/index.js @@ -29,6 +29,7 @@ import { ReportsService } from "./services/elements/Reports"; import HrmsService from "./services/elements/HRMS"; import { InboxGeneral } from "./services/elements/InboxService"; import EventsServices from "./services/elements/Events"; +import { DigiLockerService } from "./services/elements/DigiLocker"; import ShareFiles from "./services/molecules/ShareFiles"; import { GetServiceDefinitions } from "./services/molecules/ServiceDefinitions"; @@ -51,6 +52,8 @@ import BillServices from "./services/elements/Bill"; import { CFService } from "./services/elements/CF"; import {CustomService} from "./services/elements/CustomService"; +import { PTRService } from "./services/elements/PTR"; + const setupLibraries = (Library, props) => { window.Digit = window.Digit || {}; @@ -63,7 +66,7 @@ const initLibraries = () => { setupLibraries("PersistantStorage", PersistantStorage); setupLibraries("UserService", UserService); setupLibraries("ULBService", ULBService); - + setupLibraries("PTRService", PTRService); setupLibraries("Config", { mergeConfig }); setupLibraries("Services", { useStore }); setupLibraries("Enums", Enums); @@ -77,6 +80,7 @@ const initLibraries = () => { setupLibraries("CFService", CFService); setupLibraries("CustomService", CustomService); setupLibraries("TLService", TLService); + setupLibraries("DigiLockerService",DigiLockerService) setupLibraries("Surveys", Surveys); setupLibraries("HRMSService", HrmsService); setupLibraries("ReceiptsService", ReceiptsService); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/Utils/Request.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/Utils/Request.js index ad705d1ddff..62698890537 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/Utils/Request.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/Utils/Request.js @@ -162,7 +162,6 @@ export const Request = async ({ : await Axios({ method, url: _url, data, params, headers }); if (userDownload) return res; - const returnData = res?.data || res?.response?.data || {}; if (useCache && res?.data && Object.keys(returnData).length !== 0) { window.Digit.RequestCache[key] = returnData; @@ -195,7 +194,7 @@ export const ServiceRequest = async ({ }) => { const preHookName = `${serviceName}Pre`; const postHookName = `${serviceName}Post`; - + console.log("resDataresData",preHookName,postHookName) let reqParams = params; let reqData = data; if (window[preHookName] && typeof window[preHookName] === "function") { @@ -208,5 +207,6 @@ export const ServiceRequest = async ({ if (window[postHookName] && typeof window[postHookName] === "function") { return await window[postHookName](resData); } + console.log("resData",resData) return resData; }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/urls.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/urls.js index 37fa6d5cacb..5e4cab5c094 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/urls.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/urls.js @@ -140,6 +140,15 @@ const Urls = { edcrreportdownload: "/bpa-services/v1/bpa/_permitorderedcr", getSearchDetails: "/inbox/v1/dss/_search", }, + ptr: { + + create:"/pet-services/pet-registration/_create", + search:"/pet-services/pet-registration/_search", + update:"/pet-services/pet-registration/_update", + fetch_payment_details: "/billing-service/bill/v2/_fetchbill", + payment_search: "/collection-services/payments/pet-services/_search", + + }, edcr: { create: "/edcr/rest/dcr/scrutinize", @@ -173,6 +182,7 @@ const Urls = { billAmendmentCreate: "/billing-service/amendment/_create", billAmendmentUpdate: "/billing-service/amendment/_update", ws_meter_conncetion_create: "/ws-calculator/meterConnection/_create", + ws_meter_conncetion_bulk_create: "/ws-calculator/meterConnection/_bulkReading", sw_meter_conncetion_create: "/sw-calculator/meterConnection/_create", wns_group_bill: "/egov-pdf/download/WNS/wnsgroupbill", cancel_group_bill: "/pdf-service/v1/_cancelProcess", @@ -181,8 +191,15 @@ const Urls = { sewerage_applyAdhocTax: "/sw-calculator/sewerageCalculator/_applyAdhocTax", getSearchDetails: "/inbox/v1/dss/_search", disconnection_notice: "/pdf-service/v1/_createnosave", - }, - + meter_search:"/ws-calculator/meterConnection/_search" + }, +digiLocker:{ + authorization:"/requester-services-dx/user/authorization/url", + register :"/requester-services-dx/user/authorization/url/citizen", + token:"/requester-services-dx/user/token", + issueDoc:"/requester-services-dx/user/issuedfiles", + uri:"/requester-services-dx/user/file" +}, engagement: { document: { search: "/egov-document-uploader/egov-du/document/_search", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/Complaint.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/Complaint.js index 6fc521f467f..1fefa7520be 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/Complaint.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/Complaint.js @@ -2,6 +2,7 @@ export const Complaint = { create: async ({ cityCode, complaintType, + priorityLevel, description, landmark, city, @@ -13,6 +14,7 @@ export const Complaint = { localityName, uploadedImages, mobileNumber, + emailId, name, }) => { const tenantId = Digit.ULBService.getCurrentTenantId(); @@ -20,6 +22,7 @@ export const Complaint = { service: { tenantId: cityCode, serviceCode: complaintType, + priority : priorityLevel.code, description: description, additionalDetail: {}, source: Digit.Utils.browser.isWebview() ? "mobile" : "web", @@ -48,6 +51,7 @@ export const Complaint = { name: name, type: "CITIZEN", mobileNumber: mobileNumber, + emailId:emailId, roles: [ { id: null, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/DigiLocker.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/DigiLocker.js new file mode 100644 index 00000000000..d09f3e3c92c --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/DigiLocker.js @@ -0,0 +1,53 @@ +import Urls from "../atoms/urls"; +import { Request } from "../atoms/Utils/Request"; + +export const DigiLockerService = { + authorization: ({ filters }) => + Request({ + url: Urls.digiLocker.authorization, + useCache: false, + method: "POST", + auth: true, + userService: true, + params: {module:"PT" }, + }), + register: ({ filters }) => + Request({ + url: Urls.digiLocker.register, + useCache: false, + method: "POST", + auth: true, + userService: true, + params: {module:"REGISTER" }, + }), + token: ( data ) => + Request({ + url: Urls.digiLocker.token, + useCache: false, + method: "POST", + auth: true, + userService: true, + data:data, + }), + issueDoc: ( data ) => + Request({ + url: Urls.digiLocker.issueDoc, + useCache: false, + method: "POST", + auth: true, + userService: true, + data:data, + }), + uri:( data) => + Request({ + url: Urls.digiLocker.uri, + useCache: false, + method: "POST", + auth: true, + userService: true, + data:data + + }) +}; + + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/MDMS.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/MDMS.js index 31850ae0944..29bc790e857 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/MDMS.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/MDMS.js @@ -191,6 +191,67 @@ const getSanitationTypeCriteria = (tenantId, moduleCode) => ({ }, }); +const getPetDocumentsRequiredScreenCategory = (tenantId, moduleCode) => ({ + details: { + tenantId: tenantId, + moduleDetails: [ + { + moduleName: moduleCode, + masterDetails: [ + { + name: "Documents", + }, + ], + }, + ], + }, +}); + +const getPetTypeList = (tenantId, moduleCode, type) => ({ + type, + details: { + tenantId, + moduleDetails: [ + { + moduleName: moduleCode, + masterDetails: [ + { + name: "PetType", + }, + ], + }, + ], + }, +}); + +const getBreedTypeList = (tenantId, moduleCode, type) => ({ + type, + details: { + tenantId, + moduleDetails: [ + { + moduleName: moduleCode, + masterDetails: [ + { + name: "BreedType", + }, + ], + }, + ], + }, +}); + +//############################################## +const getPetDocumentsRequiredScreen = (MdmsRes) => { + MdmsRes["PetService"].Documents.filter((Documents) => Documents.active).map((dropdownData) => { + return { + ...Documents, + i18nKey: `${dropdownData.code}`, + }; + }); +}; +//###################### + const getPitTypeCriteria = (tenantId, moduleCode) => ({ type: "PitType", details: { @@ -263,6 +324,57 @@ const getPropertyUsageCriteria = (tenantId, moduleCode, type) => ({ }, }); +////////////////////////////// +const getPetType = (MdmsRes) => { + return MdmsRes["PetService"].PetType.filter((PetType) => PetType.active).map((petDetails) => { + return { + ...petDetails, + i18nKey: `PTR_PET_TYPE_${petDetails.code}`, + }; + }); + //return MdmsRes; +}; + +const getBreedType = (MdmsRes) => { + return MdmsRes["PetService"].BreedType.filter((BreedType) => BreedType.active).map((breedDetails) => { + return { + ...breedDetails, + i18nKey: `PTR_BREED_TYPE_${breedDetails.code}`, + }; + }); + //return MdmsRes; +}; + +const PTRGenderType = (MdmsRes) => { + MdmsRes["common-masters"].GenderType.filter((GenderType) => GenderType.active).map((ptrgenders) => { + return { + ...ptrgenders, + i18nKey: `PTR_GENDER_${ptrgenders.code}`, + }; + }); +}; +///////////////// + +/////////// +const PTRPetType = (MdmsRes) => { + MdmsRes["PetService"].PetType.filter((PetType) => PetType.active).map((petone) => { + return { + ...petone, + i18nKey: `PTR_PET_${petone.code}`, + }; + }); +}; + +const PTRBreedType = (MdmsRes) => { + MdmsRes["PetService"].BreedType.filter((BreedType) => BreedType.active).map((breedone) => { + return { + ...breedone, + i18nKey: `PTR_PET_TYPE_${breedone.code}`, + }; + }); +}; +/////////// + const getCommonFieldsCriteria = (tenantId, moduleCode, type) => ({ type, details: { @@ -1407,6 +1519,25 @@ const transformResponse = (type, MdmsRes, moduleCode, tenantId) => { return GetTripNumber(MdmsRes); case "ReceivedPaymentType": return GetReceivedPaymentType(MdmsRes); + //############ //////////////////********************** */ + case "Documents": + return getPetDocumentsRequiredScreen(MdmsRes); + case "PetType": + return getPetType(MdmsRes); + case "BreedType": + return getBreedType(MdmsRes); + case "PTRGendertype": + return PTRGenderType(MdmsRes); + + case "PTRPetType": + return PTRPetType(MdmsRes); + + case "PTRBreedType": + return PTRBreedType(MdmsRes); + + + + default: return MdmsRes; } @@ -1544,6 +1675,28 @@ export const MdmsService = { return MdmsService.call(tenantId, getBillingServiceForBusinessServiceCriteria(filter)); }, + getPetDocumentsRequiredScreen: (tenantId, moduleCode) => { + return MdmsService.getDataByCriteria(tenantId, getPetDocumentsRequiredScreenCategory(tenantId, moduleCode), moduleCode); + }, + + getPetType: (tenantId, moduleCode, type) => { + return MdmsService.getDataByCriteria(tenantId, getPetTypeList(tenantId, moduleCode, type), moduleCode); + }, + + getBreedType: (tenantId, moduleCode, type) => { + return MdmsService.getDataByCriteria(tenantId, getBreedTypeList(tenantId, moduleCode, type), moduleCode); + }, + PTRGenderType: (tenantId, moduleCode, type) => { + return MdmsService.getDataByCriteria(tenantId, getGenderTypeList(tenantId, moduleCode, type), moduleCode); + }, + PTRPetType: (tenantId, moduleCode, type) => { + return MdmsService.getDataByCriteria(tenantId, getPetTypeList(tenantId, moduleCode, type), moduleCode); + }, + + PTRBreedType: (tenantId, moduleCode, type) => { + return MdmsService.getDataByCriteria(tenantId, getBreedTypeList(tenantId, moduleCode, type), moduleCode); + }, + getCustomizationConfig: (tenantId, moduleCode) => { return MdmsService.getDataByCriteria(tenantId, getConfig(tenantId, moduleCode), moduleCode); }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/OBPS.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/OBPS.js index b110698a7dd..a4bc15e1637 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/OBPS.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/OBPS.js @@ -536,7 +536,8 @@ export const OBPSService = { { title: "BPA_PLOT_NUMBER_LABEL", value: edcr?.planDetail?.planInformation?.plotNo || "NA", isNotTranslated: true }, { title: "BPA_KHATHA_NUMBER_LABEL", value: edcr?.planDetail?.planInformation?.khataNo || "NA", isNotTranslated: true }, { title: "BPA_HOLDING_NUMBER_LABEL", value: BPA?.additionalDetails?.holdingNo || "NA", isNotTranslated: true }, - { title: "BPA_BOUNDARY_LAND_REG_DETAIL_LABEL", value: BPA?.additionalDetails?.registrationDetails || "NA", isNotTranslated: true } + { title: "BPA_BOUNDARY_LAND_REG_DETAIL_LABEL", value: BPA?.additionalDetails?.registrationDetails || "NA", isNotTranslated: true }, + //{ title: "BPA_BOUNDARY_WALL_LENGTH_LABEL", value: BPA?.additionalDetails?.boundaryWallLength || "NA", isNotTranslated: true } ] }; @@ -629,6 +630,7 @@ export const OBPSService = { { title: "CORE_COMMON_NAME", value: owner?.name }, { title: "BPA_APPLICANT_GENDER_LABEL", value: owner?.gender }, { title: "CORE_COMMON_MOBILE_NUMBER", value: owner?.mobileNumber }, + { title: "CORE_COMMON_EMAIL_ID", value: owner?.emailId }, { title: "BPA_IS_PRIMARY_OWNER_LABEL", value: owner?.isPrimaryOwner, isNotTranslated: false } ], }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/PTR.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/PTR.js new file mode 100644 index 00000000000..4571c7b86ba --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/PTR.js @@ -0,0 +1,68 @@ +import Urls from "../atoms/urls"; +import { Request } from "../atoms/Utils/Request"; + + + +export const PTRService = { + + create: (details, tenantId) => + Request({ + url: Urls.ptr.create, + data: details, + useCache: false, + setTimeParam: false, + userService: true, + method: "POST", + params: {}, + auth: true, + }), + + search: ({ tenantId, filters, auth }) => + Request({ + url: Urls.ptr.search, + useCache: false, + method: "POST", + auth: auth === false ? auth : true, + userService: auth === false ? auth : true, + params: { tenantId, ...filters }, + }), + + update: (details, tenantId) => + Request({ + url: Urls.ptr.update, + data: details, + useCache: false, + setTimeParam: false, + userService: true, + method: "POST", + params: {}, + auth: true, + }), + paymentsearch: ({ tenantId, filters, auth }) => + Request({ + url: Urls.ptr.payment_search, + useCache: false, + method: "POST", + auth: auth === false ? auth : true, + userService: auth === false ? auth : true, + params: { tenantId, ...filters }, + }), + + + + + fetchPaymentDetails: ({ tenantId, consumerCodes ,auth=true}) => + Request({ + url: Urls.ptr.fetch_payment_details, + useCache: false, + method: "POST", + auth: auth === false ? auth : true, + userService: auth === false ? auth : true, + params: { tenantId, consumerCode: consumerCodes, businessService: "pet-services" }, + }), + +}; + + + + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/WS.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/WS.js index 617def55c26..039d17a229e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/WS.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/WS.js @@ -135,6 +135,17 @@ export const WSService = { params: {}, auth: true, }), + bulkMeterConnectioncreate: (details, businessService) => + Request({ + url: Urls.ws.ws_meter_conncetion_bulk_create, + data: details, + useCache: false, + setTimeParam: false, + userService: true, + method: "POST", + params: {}, + auth: true, + }), wnsGroupBill: (filters) => Request({ url: Urls.ws.wns_group_bill, @@ -216,4 +227,13 @@ export const WSService = { params: { tenantId, key }, data: data, }), + WSMeterSearch: ({ tenantId, filters }) => + Request({ + url: Urls.ws.meter_search, + useCache: false, + method: "POST", + auth: true, + userService: false, + params: { tenantId, ...filters }, + }), }; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/FSM/Search.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/FSM/Search.js index 1d590055347..869a9a692bc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/FSM/Search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/FSM/Search.js @@ -107,6 +107,7 @@ export const Search = { values: [ { title: "ES_APPLICATION_DETAILS_APPLICANT_NAME", value: response?.citizen?.name }, { title: "ES_APPLICATION_DETAILS_APPLICANT_MOBILE_NO", value: response?.citizen?.mobileNumber }, + {title: "ES_APPLICATION_DETAILS_APPLICANT_EMAIL_ID", value: response?.citizen?.emailId }, response?.paymentPreference && { title: "ES_FSM_PAYMENT_PREFERENCE", value: response?.paymentPreference ? `ES_ACTION_${response?.paymentPreference}` : "N/A", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/PT/Search.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/PT/Search.js index 4fad1ae4a3b..89e8b7f69a5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/PT/Search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/PT/Search.js @@ -80,14 +80,15 @@ export const PTSearch = { title: "PT_DETAILS", values: [ { title: "TL_PROPERTY_ID", value: property?.propertyId || "NA" }, - { title: "PT_OWNER_NAME", value: property?.owners?.map((owner) => owner.name).join(",") || "NA" }, + { title: "PT_OWNER_NAME", value: property?.owners?.map((owner) => owner.name).reverse().join(",") || "NA" }, { title: "PT_SEARCHPROPERTY_TABEL_STATUS", value: Digit.Utils.locale.getTransformedLocale(`WF_PT_${property?.status}`) || "NA" }, ], }; + const ownersSequences=property?.owners?.additionalDetails!==null ? property?.owners?.sort((a,b)=>a?.additionalDetails?.ownerSequence-b?.additionalDetails?.ownerSequence): property?.owners const ownerdetails = { title: "PT_OWNERSHIP_INFO_SUB_HEADER", additionalDetails: { - owners: property?.owners + owners: ownersSequences ?.filter((owner) => owner.status === "ACTIVE") .map((owner, index) => { return { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/PTR/ApplicationUpdateActionsPTR.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/PTR/ApplicationUpdateActionsPTR.js new file mode 100644 index 00000000000..da1c33e0774 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/PTR/ApplicationUpdateActionsPTR.js @@ -0,0 +1,15 @@ + import { PTRService } from "../../elements/PTR"; + + +const ApplicationUpdateActionsPTR = async (applicationData, tenantId) => { + + + try { + const response = await PTRService.update(applicationData, tenantId); + return response; + } catch (error) { + throw new Error(error?.response?.data?.Errors[0].message); + } +}; + +export default ApplicationUpdateActionsPTR; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/PTR/Search.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/PTR/Search.js new file mode 100644 index 00000000000..2b9bc009fc2 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/PTR/Search.js @@ -0,0 +1,123 @@ +/* + + +@author - Shivank shukla -NIUA + +this file is created to show the Application Detail page from both search application and inbox +as this file is specially designed for Pet-Registration + +The hook useApplicationdetailPTR uses the useQuery hook to call the PTRSearch.applicationDetails method, passing in the parameters. + +The data returned from that API call is processed in the select method to extract just the applicationDetails array from the response. + + + + +Note- Please Do Not Copy and paste this file without understanding the context **it may conflit** + + + +*/ + + + + +import { PTRService } from "../../elements/PTR"; + +export const PTRSearch = { + + all: async (tenantId, filters = {}) => { + + const response = await PTRService.search({ tenantId, filters }); + + return response; + }, + + + application: async (tenantId, filters = {}) => { + const response = await PTRService.search({ tenantId, filters }); + return response.PetRegistrationApplications[0]; + }, + RegistrationDetails: ({ PetRegistrationApplications: response, t }) => { + return [ + + { + title: "PTR_APPLICANT_DETAILS_HEADER", + asSectionHeader: true, + values: [ + { title: "PTR_APPLICATION_NUMBER", value: response?.applicationNumber }, + { title: "PTR_APPLICANT_NAME", value: response?.applicantName }, + { title: "PTR_FATHER/HUSBAND_NAME", value: response?.fatherName }, + { title: "PTR_APPLICANT_MOBILE_NO", value: response?.mobileNumber }, + { title: "PTR_APPLICANT_EMAILID", value: response?.emailId }, + ], + }, + + { + title: "PTR_PET_DETAILS_HEADER", + asSectionHeader: true, + values: [ + { title: "PTR_PET_TYPE", value: response?.petDetails?.petType }, + { title: "PTR_BREED_TYPE", value: response?.petDetails?.breedType }, + { title: "PTR_PET_NAME", value: response?.petDetails?.petName }, + { title: "PTR_DOCTOR_NAME", value: response?.petDetails?.doctorName }, + { title: "PTR_CLINIC_NAME", value: response?.petDetails?.clinicName }, + { title: "PTR_VACCINATED_DATE", value: response?.petDetails?.lastVaccineDate }, + { title: "PTR_VACCINATION_NUMBER", value: response?.petDetails?.vaccinationNumber }, + { title: "PTR_PET_AGE", value: response?.petDetails?.petAge }, + { title: "PTR_PET_SEX", value: response?.petDetails?.petGender }, + + + ], + }, + + { + title: "PTR_ADDRESS_HEADER", + asSectionHeader: true, + values: [ + { title: "PTR_ADDRESS_PINCODE", value: response?.address?.pincode }, + { title: "PTR_ADDRESS_CITY", value: response?.address?.city }, + { title: "PTR_STREET_NAME",value: response?.address?.street, }, + { title: "PTR_HOUSE_NO",value: response?.address?.doorNo,}, + + + ], + }, + + { + title: "PTR_DOCUMENT_DETAILS", + additionalDetails: { + + documents: [ + { + + values: response?.documents + ?.map((document) => { + + return { + title: `PTR_${document?.documentType.replace(".", "_")}`, + documentType: document?.documentType, + documentUid: document?.documentUid, + fileStoreId: document?.filestoreId, + status: document.status, + }; + }), + }, + ], + }, + }, + ]; + }, + applicationDetails: async (t, tenantId, applicationNumber, userType, args) => { + const filter = { applicationNumber, ...args }; + const response = await PTRSearch.application(tenantId, filter); + + return { + tenantId: response.tenantId, + applicationDetails: PTRSearch.RegistrationDetails({ PetRegistrationApplications: response, t }), + applicationData: response, + transformToAppDetailsForEmployee: PTRSearch.RegistrationDetails, + + }; + }, +}; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/TL/Search.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/TL/Search.js index 3a3fa5d2463..ddadd4fc6eb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/TL/Search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/TL/Search.js @@ -152,12 +152,12 @@ export const TLSearch = { }), }, }; - + const reversedOwners= Array.isArray(propertyDetails?.Properties?.[0]?.owners) ? propertyDetails?.Properties?.[0]?.owners.slice().reverse():[]; const PropertyDetail = { title: "PT_DETAILS", values: [ { title: "TL_PROPERTY_ID", value: propertyDetails?.Properties?.[0]?.propertyId || "NA" }, - { title: "PT_OWNER_NAME", value: propertyDetails?.Properties?.[0]?.owners[0]?.name || "NA" }, + { title: "PT_OWNER_NAME", value: reversedOwners[0]?.name || "NA" }, { title: "PROPERTY_ADDRESS", value: propertyAddress || "NA" }, { title: "TL_VIEW_PROPERTY_DETAIL", @@ -227,7 +227,7 @@ export const TLSearch = { : { title: "ES_NEW_APPLICATION_OWNERSHIP_DETAILS", additionalDetails: { - owners: response?.tradeLicenseDetail?.owners?.map((owner, index) => { + owners: response?.tradeLicenseDetail?.owners.sort((a,b)=>a?.additionalDetails?.ownerSequence-b?.additionalDetails?.ownerSequence).map((owner, index) => { let subOwnerShipCategory = response?.tradeLicenseDetail?.subOwnerShipCategory ? `COMMON_MASTERS_OWNERSHIPCATEGORY_${stringReplaceAll(response?.tradeLicenseDetail?.subOwnerShipCategory, ".", "_")}` : "NA"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/WS/Search.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/WS/Search.js index 7f3a30249ea..0e43256f753 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/WS/Search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/WS/Search.js @@ -41,7 +41,8 @@ const getAddress = (address, t) => { const getOwnerNames = (propertyData) => { const getActiveOwners = propertyData?.owners?.filter(owner => owner?.active); const getOwnersList = getActiveOwners?.map(activeOwner => activeOwner?.name)?.join(","); - return getOwnersList ? getOwnersList : t("NA"); + return getOwnersList ? getOwnersList.split(",").reverse().join(",") : t("NA"); + } const checkUserExist = async (userInfo) => { @@ -358,6 +359,7 @@ export const WSSearch = { } },}, }, ], + additionalDetails: { redirectUrl: { title: t("WS_VIEW_PROPERTY_DETAILS"), @@ -441,6 +443,14 @@ export const WSSearch = { } }, }, }, + { title: "CORE_COMMON_EMAIL_ID", value: wsDataDetails?.connectionHolders?.[0]?.emailId, privacy: { uuid: uuid, fieldName: ["connectionHoldersEmailId"], model: "WnSConnectionOwner",showValue: false, + loadData: { + serviceName: serviceType === "WATER" ? "/ws-services/wc/_search" : "/sw-services/swc/_search", + requestBody: {}, + requestParam: { tenantId, applicationNumber }, + jsonPath: serviceType === "WATER" ? "WaterConnection[0].connectionHolders[0].emailId" : "SewerageConnections[0].connectionHolders[0].emailId", + isArray: false, + }, }, }, ] : [{ title: "WS_CONN_HOLDER_SAME_AS_OWNER_DETAILS", value: t("SCORE_YES") }], }; @@ -987,6 +997,44 @@ export const WSSearch = { } ] : null }, + { + title: "CORE_COMMON_EMAIL_ID", + value: wsDataDetails?.connectionHolders?.[0]?.emailId, + privacy: [{ + uuid: uuid, fieldName: ["connectionHoldersEmailId"], + model: "WnSConnectionOwner",showValue: false, + loadData: { + serviceName: serviceType === "WATER" ? "/ws-services/wc/_search" : "/sw-services/swc/_search", + requestBody: {}, + requestParam: { tenantId, applicationNumber }, + jsonPath: serviceType === "WATER" ? "WaterConnection[0].connectionHolders[0].emailId" : "SewerageConnections[0].connectionHolders[0].emailId", + isArray: false, + }, + }, + { + uuid: olduuid, fieldName: ["connectionHoldersEmailId"], + model: "WnSConnectionOwner",showValue: false, + loadData: { + serviceName: serviceType === "WATER" ? "/ws-services/wc/_search" : "/sw-services/swc/_search", + requestBody: {}, + requestParam: { tenantId, applicationNumber:OldapplicationNo }, + jsonPath: serviceType === "WATER" ? "WaterConnection[0].connectionHolders[0].emailId" : "SewerageConnections[0].connectionHolders[0].emailId", + isArray: false, + oldValue: true, + d: (res) => { + let resultString = (res?.WaterConnection?.[0] ? `${t("WS_OLD_LABEL_NAME")} ${res?.WaterConnection?.[0]?.connectionHolders?.[0]?.emailId}` : `${t("WS_OLD_LABEL_NAME")} ${res?.SewerageConnections?.[0]?.connectionHolders?.[0]?.emailId}`); + return resultString; + } + }, + }], + oldValue: wsDataDetails?.connectionHolders?.[0]?.emailId != wsOldData?.connectionHolders?.[0]?.emailId ? [ + { value: wsDataDetails?.connectionHolders?.[0]?.emailId ? t(`${wsDataDetails?.connectionHolders?.[0]?.emailId}`) : t("NA"), className: "newValue", style: { display: "inline" } }, + { + value: `${t("WS_OLD_LABEL_NAME")} ${wsOldData?.connectionHolders?.[0]?.emailId ? t(`${wsOldData?.connectionHolders?.[0]?.emailId}`) : t("NA")}`, + style: { color: 'gray', paddingLeft: "10px", display: "inline", fontSize: "13px" }, className: "oldValue" + } + ] : null + }, ] : [ { @@ -1692,7 +1740,23 @@ export const WSSearch = { return resultString; } }, - } } + } }, + { + title: "CORE_COMMON_EMAIL_ID", + value: wsDataDetails?.connectionHolders?.[0]?.emailId, + privacy: { + uuid: wsDataDetails?.connectionHolders?.[0]?.uuid, + fieldName: "connectionHoldersEmailId", + model: "WnSConnectionOwner",showValue: false, + loadData: { + serviceName: serviceType === "WATER" ? "/ws-services/wc/_search" : "/sw-services/swc/_search", + requestBody: {}, + requestParam: { tenantId, connectionNumber, searchType: "CONNECTION" }, + jsonPath: serviceType === "WATER" ? "WaterConnection[0].connectionHolders[0].emailId" : "SewerageConnections[0].connectionHolders[0].emailId", + isArray: false, + }, + } + }, ] : [{ title: "WS_CONN_HOLDER_SAME_AS_OWNER_DETAILS", value: t("SCORE_YES") }], }; @@ -1907,6 +1971,15 @@ export const WSSearch = { return resultString; } }, }}, + { title: "CORE_COMMON_EMAIL_ID", value: wsDataDetails?.connectionHolders?.[0]?.emailId, + privacy: { uuid: wsDataDetails?.connectionHolders?.[0]?.uuid, fieldName: ["connectionHoldersMobileNumber"], model: "WnSConnectionOwner",showValue: false, + loadData: { + serviceName: serviceType === "WATER" ? "/ws-services/wc/_search" : "/sw-services/swc/_search", + requestBody: {}, + requestParam: { tenantId, applicationNumber }, + jsonPath: serviceType === "WATER" ? "WaterConnection[0].connectionHolders[0].emailId" : "SewerageConnections[0].connectionHolders[0].emailId", + isArray: false, + }, } }, ] : [{ title: "WS_CONN_HOLDER_SAME_AS_OWNER_DETAILS", value: t("SCORE_YES") }], }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/utils/pdf.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/utils/pdf.js index 3d9c4bb1d7e..4652ce48712 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/utils/pdf.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/utils/pdf.js @@ -55,6 +55,7 @@ const downloadPDFFileUsingBase64 = (receiptPDF, filename) => { function getBase64Image(tenantId) { try { const img = document.getElementById(`logo-${tenantId}`); + console.log("img", img) var canvas = document.createElement("canvas"); canvas.width = img.width; canvas.height = img.height; @@ -68,8 +69,10 @@ function getBase64Image(tenantId) { const defaultLogo = "data:image/png;base64,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" -const jsPdfGenerator = async ({ breakPageLimit = null, tenantId, logo, name, email, phoneNumber, heading, details, t = (text) => text }) => { + const AcknowledgmentPage= "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABYYAAAfQCAYAAAB2Xou3AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAAJcEhZcwAAGkwAABpMARwsOZwAAAR3aVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pgo8eDp4bXBtZXRhIHhtbG5zOng9J2Fkb2JlOm5zOm1ldGEvJz4KPHJkZjpSREYgeG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjJz4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOkF0dHJpYj0naHR0cDovL25zLmF0dHJpYnV0aW9uLmNvbS9hZHMvMS4wLyc+CiAgPEF0dHJpYjpBZHM+CiAgIDxyZGY6U2VxPgogICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSdSZXNvdXJjZSc+CiAgICAgPEF0dHJpYjpDcmVhdGVkPjIwMjQtMDItMjc8L0F0dHJpYjpDcmVhdGVkPgogICAgIDxBdHRyaWI6RXh0SWQ+NWU4MTU2Y2QtYzMyYS00ZDkyLWFkMDAtNzg0OTMwODRlYjc4PC9BdHRyaWI6RXh0SWQ+CiAgICAgPEF0dHJpYjpGYklkPjUyNTI2NTkxNDE3OTU4MDwvQXR0cmliOkZiSWQ+CiAgICAgPEF0dHJpYjpUb3VjaFR5cGU+MjwvQXR0cmliOlRvdWNoVHlwZT4KICAgIDwvcmRmOmxpPgogICA8L3JkZjpTZXE+CiAgPC9BdHRyaWI6QWRzPgogPC9yZGY6RGVzY3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpkYz0naHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8nPgogIDxkYzp0aXRsZT4KICAgPHJkZjpBbHQ+CiAgICA8cmRmOmxpIHhtbDpsYW5nPSd4LWRlZmF1bHQnPkFja25vd2xlZGdlbWVudCBGb3JtcyAtIDEyPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgog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" + + const jsPdfGenerator = async ({ breakPageLimit = null, tenantId, logo, name, email, phoneNumber, heading, details, applicationNumber, t = (text) => text }) => { const emailLeftMargin = email.length <= 15 ? 190 @@ -92,67 +95,57 @@ const jsPdfGenerator = async ({ breakPageLimit = null, tenantId, logo, name, ema : email.length <= 60 ? -100 : -60; - + const dd = { - pageMargins: [40, 80, 40, 30], + + background:[{ + image: AcknowledgmentPage, + width:595, + height:842 + }], + margin:[20,20,20,20], + header: { - columns: [ - { - image: logo || getBase64Image(tenantId) || defaultLogo, - width: 50, - margin: [10, 10], - }, - { - text: name, - margin: [20, 25], - font: "Hind", - fontSize: 14, - // bold: true, - }, - { - text: email, - margin: [emailLeftMargin, 25, 0, 25], - font: "Hind", - fontSize: 11, - color: "#464747", - }, - { - text: phoneNumber, - color: "#6f777c", - font: "Hind", - fontSize: 11, - margin: [-65, 45, 0, 25], - }, - ], + }, footer: function (currentPage, pageCount) { - return { + return { columns: [ - { text: `${name} / ${heading}`, margin: [15, 0, 0, 0], fontSize: 11, color: "#6f777c", width: 400, font: "Hind" }, - { text: `Page ${currentPage}`, alignment: "right", margin: [0, 0, 25, 0], fontSize: 11, color: "#6f777c", font: "Hind" }, + + { text: `Page ${currentPage}`, alignment: "right", margin: [0, -17, 50, 0], fontSize: 11, color: "#6f777c", font: "Hind" }, ], }; }, content: [ - { - text: heading, - font: "Hind", - fontSize: 24, - // bold: true, - margin: [-25, 5, 0, 0], - }, - ...createContent(details, phoneNumber, breakPageLimit), + ...createHeaderDetails(details,name, phoneNumber, email, logo, tenantId, heading, applicationNumber), + ...createContent(details, phoneNumber,logo, tenantId,breakPageLimit), { text: t("PDF_SYSTEM_GENERATED_ACKNOWLEDGEMENT"), font: "Hind", fontSize: 11, color: "#6f777c", - margin: [-25, 32], + margin: [10, 10], + }, + { + text:"TERMS_AND_CONDITIONS_OF_LICENSE", + fontSize:16, + bold:true, + alignment:"center", + decoration:"underline", + pageBreak:'before', + margin:[0, 25, 0, 0], + }, + { + text:"TERMS_AND_CONDITIONS_OF_LICENSE_CONTENT", + fontSize:8, + margin:[10, 20, 10,0] }, + ], defaultStyle: { font: "Hind", + margin:[20, 10, 20,10] }, }; pdfMake.vfs = Fonts; @@ -201,13 +194,19 @@ const jsPdfGeneratorv1 = async ({ breakPageLimit = null, tenantId, logo, name, e : -60; const dd = { + background:[{ + image: AcknowledgmentPage, + width:595, + height:842 + }], + pageMargins: [40, 40, 40, 30], - header: {}, + header: {}, footer: function (currentPage, pageCount) { return { columns: [ - { text: `${name} / ${heading}`, margin: [15, 0, 0, 0], fontSize: 11, color: "#6f777c", width: 400, font: "Hind" }, - { text: `Page ${currentPage}`, alignment: "right", margin: [0, 0, 25, 0], fontSize: 11, color: "#6f777c", font: "Hind" }, + + { text: `Page ${currentPage}`, alignment: "right", margin: [0, -30, 45, 0], fontSize: 11, color: "#6f777c", font: "Hind" }, ], }; }, @@ -226,7 +225,22 @@ const jsPdfGeneratorv1 = async ({ breakPageLimit = null, tenantId, logo, name, e font: "Hind", fontSize: 11, color: "#6f777c", - margin: [-25, 32], + margin: [10, 32], + }, + { + text:"TERMS_AND_CONDITIONS_OF_LICENSE", + fontSize:16, + bold:true, + alignment:"center", + decoration:"underline", + pageBreak:'before', + margin:[0, 25, 0, 0], + }, + { + text:"TERMS_AND_CONDITIONS_OF_LICENSE_CONTENT", + fontSize:8, + margin:[10, 20, 10,0] + }, ], defaultStyle: { @@ -399,7 +413,7 @@ const createBodyContentBillAmend = (table,t) => { } const createHeaderBillAmend = (headerDetails, logo, tenantId,t) => { - + let headerData = []; headerData.push({ style: 'tableExample', @@ -418,7 +432,7 @@ const createHeaderBillAmend = (headerDetails, logo, tenantId,t) => { //width: 50, //margin: [10, 10] }, - { + { text: headerDetails?.header, //"Amritsar Municipal Corporation", margin: [40, 10, 2, 4], style: "header", @@ -506,7 +520,7 @@ const createHeaderBillAmend = (headerDetails, logo, tenantId,t) => { headerData.push({ style: 'tableExample', - layout: "noBorders", + layout: "noBorders", fillColor: "#f7e0d4", margin: [-40, -25, -1000000, 20], table: { @@ -587,14 +601,14 @@ const createHeaderBillAmend = (headerDetails, logo, tenantId,t) => { } const createBodyContent = (details) => { - let detailsHeaders = [] + let detailsHeaders = [] details.map((table,index) =>{ if (table?.isAttachments && table.values) { detailsHeaders.push({ style: 'tableExample', layout: "noBorders", margin: [0, 13, 0, 5], - table: { + table: { body: [ [ { @@ -658,36 +672,57 @@ const createBodyContent = (details) => { function createContentDetails(details) { let detailsHeaders = []; + let counter=1; details.forEach((detail, index) => { if (detail?.title) { detailsHeaders.push({ style: 'tableExample', - layout: "noBorders", - margin:[0,13,0,5], + layout: "noBorders", + margin:[20,30,20,0], table: { + widths: ['101.8%', '*'], body: [ - [ - { - text: detail?.title, - color: "#a82227", - style: "header", - fontSize: 14, - bold: true - } - ] + [ + { + text: `${counter}. ${detail?.title}`, + //border:[true, true, true, false], + color: "#454545", + style: "header", + fontSize: 14, + bold: true + } + ] ] } }) + counter++; } if (detail?.isAttachments && detail.values) { detailsHeaders.push({ - ul: detail?.values - }) + style: 'tableExample', + layout: "noBorders", + margin:[20,0,20,0], + table: { + + widths: ['40%', '*'], + body: [ + [ + { + ul: detail?.values, + style: "header", + //border: index< detail?.values?.length-1 ? [true, false, true,false]:index===detail?.values?.length-1? [true, false, true, true]:[] , + fontSize: 10, + //bold: true + }, + ] + ] + }}) } else { detail?.values?.forEach(indData => { detailsHeaders.push({ style: 'tableExample', layout: "noBorders", + margin:[20,0,20,0], table: { widths: ['40%', '*'], body: [ @@ -696,12 +731,14 @@ function createContentDetails(details) { text: indData?.title, style: "header", fontSize: 10, - bold: true + //border: index< detail?.values?.length-1 ? [true, false, false,false]:index===detail?.values?.length-1? [true, false, false, true]:[] , + //bold: true }, { - text: indData?.value, - fontSize: 10 + text: `: ${indData?.value}`, + fontSize: 10, + //border: index< detail?.values?.length-1 ? [false, false, true, false]:index===detail?.values?.length-1? [false, false, true, true] :[], } ] ] @@ -711,6 +748,107 @@ function createContentDetails(details) { } }); return detailsHeaders; + } + function createHeaderDetails(details,name, phoneNumber, email, logo, tenantId, heading, applicationNumber){ + let headerData = []; + headerData.push({ + style: 'tableExample', + layout: "noBorders", + //fillColor: "#f7e0d4", + margin: [0, 10, 0, 0], + table: { + widths: ['100%'], + body: [ + [ + { + text: heading, //"New Sewerage Connection", + bold: true, + fontSize: 19, + alignment: "center", + decoration : "underline" + + } + ] + ] + } + }); + headerData.push({ + style : 'tableExample', + layout: "noBorders", + margin:[0,0,0,0], + table:{ + widths:['100%'], + body:[ + [{ + + text: `Issued by the ${name}`, + alignment:"center", + fontSize: 11, + //bold: true + + }] + ] + } + }) + headerData.push({ + style : 'tableExample', + layout: "noBorders", + margin:[0,-6,0,0], + table:{ + widths:['100%'], + body:[ + [{ + + text: `${email} ${phoneNumber}`, //"Amritsar Municipal Corporation", + alignment:"center", + fontSize: 11, + //bold: true + }] + ] + } +}) + headerData.push({ + style : 'tableExample', + layout: "noBorders", + margin: [0, -45, 0, 20], + table:{ + widths: ['20%', '*', '10%'], + body:[ + [ + { + image: logo|| getBase64Image(tenantId) || defaultLogo, + width: 70, + margin: [10, 10], + fit:[50,50] + }, + + ] + ] + } +}) +headerData.push({ + style : 'tableExample', + layout: "noBorders", + margin:[0,-45,7,0], + + table:{ + widths:['100%'], + body:[ + [ + { + + text: `Application Number: ${applicationNumber}`, + alignment:"right", + fontSize: 9, + //bold: true + }, + ] + ] + } +}) + + return headerData; + console.log("details", details) } function createHeader(headerDetails,logo,tenantId) { @@ -718,201 +856,194 @@ function createHeader(headerDetails,logo,tenantId) { headerData.push({ style: 'tableExample', layout: "noBorders", - fillColor: "#f7e0d4", - "margin": [-40, -40, -40, 40], + //fillColor: "#f7e0d4", + margin: [0, 10, 0, 0], table: { - widths: ['5%', 'auto', '*'], + widths: ['100%'], body: [ [ - // { - // margin: [40, 10, 2, 2], - // "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAABBtJREFUWAntV11oVEcUnjN3mzXm111toQ8lWOtLTbIG0YgpMdQ05CEv0iTU1hhR7EMRWYuKSkteVExJBRGkpaUk0ChRSYtpKam4sbE0ia7RSNaS0uIfWtT4E8Xs5u7O8Vy7c3f27t2fh4W+ZF7OmfN9c86Ze2bOvZex/3mAGv/RIU9xJCL2IWIdAS7C/Nyhtbm8l39XeVKfOrLcHZoOHmCA7zJkC6VdSmAQRoYBAHbCXZBzED726xKT0kwgGnyUgpdI0JBEEMD4B+4dV3pU+9Mvyl4NMTZKAV5X7cl0APC5P127BqBNqBwuJ5Gw2G8NbmDIGEcQR+9/u6pAcg0ZYtiRaXCDT75rHnT0bjF0dZgJkLP3VEDVEakcj58ti7MBJOWrPFUHJurUuaGbCVCd5llBdQ4Yw7GnUaM9Fal4JjptJCGGmQA964upnPBXHCYOTSciDMGcp1qnYpzBBXVu6LEEGHxOByViJURJX7m2+W+qmKax3cn4Kk/qdJgnnXOdHXIupZnA/B1jw5TP+wzgngSpLEhX6ahLy/dKm5Su7WODBK4l/I60JZPkJ0DcuvxPLvxr5ZjXUAL45crchxD00A12OR3apTyv/67E7CQerndOztwto9uymPI1N2RwOcMwgBYorigah5qBsN36WVtCCZI9kqqu8Td0DG2mhlJKdb8JGvQOrV86YMevPDZagjpuQoFLqPY3gDtOjawvH7TjZpRAZeelesHwON3jQtUJtej2kdalu1RbZZe/QSB0U6L5ph0AObB9wy0Vn5m2qJI2geWd19yI09eo8SywLjbmdMgaRjZ4+gx9RffV13BGD1BXNV5kCYMzrW641dOvAnGnVgVMHYLUPu2DGxxk4iPJFeFwfbLgL7lcfCi5UqZNgK7WIkm2k4AxHARLyaUSJuBpE6AtBuwCmzaAGM5Tc6neMW7UQdoEcnOdv9Cpv24GjFNAAPCvpalwTuFP1J5vy7kqqRtGOGjfqDZDT5vAQNPbzzTgzQmOAWZotXe4xXNeOj3T9OYTjUMzHU1Le4YQImwdaimndh8/0t4CSV/T83fR1PRUI9W8lALc4jla3x/ryv6UuCqrvh+bp+t6IwL81weQn6abMqFyZnX5BDIugVyQifT52hxD7HyVAFFKb8nreVg46K354bHd2qwn0H6u9i0dI9S2scIMSN8YHHDjnmrfz6YtqmQ1gZ7xxpyJ+5MX6ROYDqplADzPAc2zs/rXv1Qk7TVUyen0iclHDbbBjYWIc3UR3mb1kdUEQGC5NYA6p1dzAp7VBKjulgakhjf+sqwNKoNOGO8i9Uxz8H6KEkzKAvzRimX1Cex+58w/9O2/nT4S4v7/jKDUyo/vrfZ1WxPI6i2Qzvf/VrtKRMJbKewSeiI3aJcn96w++53EVfkCw79XQZYr/EsAAAAASUVORK5CYII=" - // }, - { - image: logo || getBase64Image(tenantId) || defaultLogo, - // width: 50, - margin: [10, 10], - fit: [50,50], - //width: 50, - //margin: [10, 10] - }, - { - text: headerDetails?.[0]?.header, //"Amritsar Municipal Corporation", - margin: [40, 10, 2, 4], - style: "header", - // italics: true, - fontSize: 18, - bold: true - }, - { - text: headerDetails?.[0]?.typeOfApplication, //"New Sewerage Connection", - bold: true, - fontSize: 16, - alignment: "right", - margin: [-40, 10, 2, 0], - color: "#a82227" - } - ], - [ - { text: "" }, - { - text: headerDetails?.[0]?.subHeader, //"Municipal Corporation Amritsar, Town Hall, Amritsar, Punjab.", - margin: [40, -45, -2, -5], - style: "header", - // italics: true, - fontSize: 10, - // bold: true - }, - - { - text: headerDetails?.[0]?.date, //"28/03/2022", + { + text: (headerDetails?.[0]?.typeOfApplication).toUpperCase(), //"New Sewerage Connection", bold: true, - fontSize: 16, - margin: [0, -50, 10, 0], - alignment: "right", - color: "#a82227" - } - ], - [ - { text: "" }, - - { - text: headerDetails?.[0]?.description, //"0183-2545155 | www.amritsarcorp.com | cmcasr@gmail.com", - margin: [40, -40, 2, 10], - style: "header", - // italics: true, - fontSize: 10, - // bold: true - }, - { - text: "", - } - ] + fontSize: 19, + alignment: "center", + decoration : "underline" + + } + ] ] - } + } }); - headerDetails?.[0]?.values?.forEach((header, index) => { - headerData.push({ - style: 'tableExample', + headerData.push({ + style : 'tableExample', layout: "noBorders", - fillColor: "#f7e0d4", - "margin": [-40, -40, -40, 20], - table: { - widths: ['30%', '*'], - body: [ - [ - { - text: header?.title, - margin: index == 0 ? [40, 0, 2, 10] : [40, 10, 2, 10], - style: "header", - fontSize: 10, - bold: true - }, - { - text: header?.value, - // bold: true, - fontSize: 10, - alignment: "left", - margin: index == 0 ? [0, 0, 2, 10] : [0, 10, 2, 10], - } - ] + margin:[0,0,0,0], + table:{ + widths:['100%'], + body:[ + [{ + + text: `Issued by the ${headerDetails?.[0]?.subHeader}`, //"Amritsar Municipal Corporation", + alignment:"center", + fontSize: 11, + //bold: true + + }] ] } - }) }) + const description=headerDetails?.[0]?.description||""; + const extractedDetails=description.split("|"); + let email=extractedDetails[2];; + let phoneNumber=extractedDetails[0]; + headerData.push({ + style : 'tableExample', + layout: "noBorders", + margin:[0,-6,0,0], + table:{ + widths:['100%'], + body:[ + [{ + + text: `${email} ${phoneNumber}`, //"Amritsar Municipal Corporation", + alignment:"center", + fontSize: 11, + //bold: true + }] + ] + } +}) + + headerData.push({ + style : 'tableExample', + layout: "noBorders", + margin: [0, -45, 0, 20], + table:{ + widths: ['auto', '*', 'auto'], + body:[ + [ + { + image: logo || getBase64Image(tenantId) || defaultLogo, + width: 50, + margin: [10, 10], + fit:[50,50] + }, + + ] + ] + } +}) +headerData.push({ + style : 'tableExample', + layout: "noBorders", + margin:[0,-45,5,0], + + table:{ + widths:['100%'], + body:[ + [ + { + + text: `Application Number: ${headerDetails?.[0]?.values?.[0]?.value}`, + alignment:"right", + fontSize: 9, + //bold: true + }, + ] + ] + } +}) return headerData; } - - -function createContent(details, phoneNumber, breakPageLimit = null) { - const data = []; - +function createContent(details, logo, tenantId,phoneNumber, breakPageLimit = null) { + const detailsHeaders = []; + let counter=1; details.forEach((detail, index) => { if (detail?.values?.length > 0) { - console.log("details",detail.values) - let column1 = []; - let column2 = []; - - if ( breakPageLimit ? (index + 1) % breakPageLimit === 0 : (index + 1) % 7 === 0) { - data.push({ - text: "", - margin: [-25, 0, 0, 200], - }); - } - - data.push({ - text: `${detail.title}`, - font: "Hind", - fontSize: 18, - // bold: true, - margin: [-25, 20, 0, 20], - }); - - const newArray = []; - let count = 0; - let arrayNumber = 0; - - detail.values.forEach((value, index) => { - if (count <= 3) { - if (!newArray[arrayNumber]) { - newArray[arrayNumber] = []; - } - if (value) { - newArray[arrayNumber].push(value); - } - count++; - } - if (count === 4) { - count = 0; - arrayNumber++; + console.log("lennn", detail?.title.length) + detailsHeaders.push({ + style: 'tableExample', + margin:[10,20,10,0], + layout:"noBorders", + table: { + widths: ['101.8%', '*'], + body: [ + [ + { + text: `${counter}. ${detail?.title}`, + border:[true, true, true, false], + color: "#454545", + style: "header", + fontSize: 14, + bold: true + } + ] + ] } - }); + }) + counter++; + } + if (detail?.isAttachments && detail.values) { + detailsHeaders.push({ + style: 'tableExample', + + margin:[10,0,10,0], + table: { + widths: ['40%', '*'], + body: [ + [ + { + ul: detail?.values, + style: "header", + + fontSize: 10, + //bold: true + }, + ] + ] + }}) + } else { + detail?.values?.map((indData, index) => { + detailsHeaders.push({ + style: 'tableExample', + layout: "noBorders", + margin:[10,0,10,0], + table: { + widths: ['40%', '*'], + body: [ + [ + + { + text: indData?.title, + style: "header", + fontSize: 10, + //border: index< detail?.values?.length-1 ? [true, false, false,false]:index===detail?.values?.length-1 ? [true, false, false, true]:[] , + + }, - newArray.forEach((value) => { - if (value?.length === 2) { - createContentForDetailsWithLengthOfTwo(value, data, column1, column2, detail.values.length > 3 ? 10 : 0); - } else if (value?.length === 1 || value?.length === 3) { - createContentForDetailsWithLengthOfOneAndThree(value, data, column1, column2, detail.values.length > 3 ? 10 : 0); - } else { - value.forEach((value, index) => { - let margin = [-25, 0, 0, 5]; - if (index === 1) margin = [15, 0, 0, 5]; - if (index === 2) margin = [26, 0, 0, 5]; - if (index === 3) margin = [30, 0, 0, 5]; - column1.push({ - text: value.title, - font: "Hind", - fontSize: 11, - // bold: true, - margin, - }); - if (index === 1) margin = [15, 0, 0, 10]; - if (index === 2) margin = [26, 0, 0, 10]; - if (index === 3) margin = [30, 0, 0, 10]; - column2.push({ - text: value.value, - font: "Hind", - fontSize: 9, - margin, - color: "#1a1a1a", - width: "25%", - }); - }); - data.push({ columns: column1 }); - data.push({ columns: column2 }); - column1 = []; - column2 = []; - } - }); + { + text: `: ${indData?.value}`, + //border: index< detail?.values?.length-1 ? [false, false, true, false]:index===detail?.values?.length-1? [false, false, true, true] :[], + //borderColor:borderColor, + fontSize: 10, + + } + ] + ] + } + }) + }) + } }); + - return data; + return detailsHeaders; } function createContentForDetailsWithLengthOfTwo(values, data, column1, column2, num = 0) { - values.forEach((value, index) => { + values.forEach((value, index) => { if (index === 0) { column1.push({ text: value.title, @@ -920,7 +1051,7 @@ function createContentForDetailsWithLengthOfTwo(values, data, column1, column2, fontSize: 12, // bold: true, margin: [-25, num - 10, -25, 0], - }); + }); column2.push({ text: value.value, font: "Hind", @@ -928,7 +1059,7 @@ function createContentForDetailsWithLengthOfTwo(values, data, column1, column2, margin: [-25, 5, 0, 0], color: "#1a1a1a", width: "25%", - }); + }); } else { column1.push({ text: value.title, @@ -936,7 +1067,7 @@ function createContentForDetailsWithLengthOfTwo(values, data, column1, column2, fontSize: 12, // bold: true, margin: [-115, num - 10, -115, 0], - }); + }); column2.push({ text: value.value, font: "Hind", @@ -944,7 +1075,7 @@ function createContentForDetailsWithLengthOfTwo(values, data, column1, column2, margin: [15, 5, 0, 0], color: "#1a1a1a", width: "25%", - }); + }); } }); data.push({ columns: column1 }); @@ -962,14 +1093,14 @@ function createContentForDetailsWithLengthOfOneAndThree(values, data, column1, c // bold: true, width: "30%", margin:[-25, 0, 0, 0], - }); + }); column2.push({ text: value.value, font: "Hind", fontSize: 9, color: "#1a1a1a", margin:[-25, 0, 0, 0], - width: "30%", + width: "30%", }); } else if (index === 2) { column1.push({ @@ -978,7 +1109,7 @@ function createContentForDetailsWithLengthOfOneAndThree(values, data, column1, c fontSize: 9, // bold: true, width: "30%", - margin:[-25, 0, 0, 0], + margin:[-25, 0, 0, 0], }); column2.push({ text: value.value, @@ -987,7 +1118,7 @@ function createContentForDetailsWithLengthOfOneAndThree(values, data, column1, c margin:[-25, 0, 0, 0], color: "#1a1a1a", width: "30%", - }); + }); } else { column1.push({ text: value.title, @@ -996,7 +1127,7 @@ function createContentForDetailsWithLengthOfOneAndThree(values, data, column1, c // bold: true, width: "30%", margin:[-25, 0, 0, 0], - }); + }); column2.push({ text: value.value, font: "Hind", @@ -1004,7 +1135,7 @@ function createContentForDetailsWithLengthOfOneAndThree(values, data, column1, c margin:[-25, 0, 0, 0], color: "#1a1a1a", width: "30%", - }); + }); } }); data.push({ columns: column1 }); @@ -1073,7 +1204,7 @@ function createContentForDetailsWithLengthOfOneAndThree(values, data, column1, c // , const downloadPdf = (blob, fileName) => { - if (window.mSewaApp && window.mSewaApp.isMsewaApp() && window.mSewaApp.downloadBase64File) { + if (window.mSewaApp && window.mSewaApp.isMsewaApp() && window.mSewaApp.downloadBase64File) { var reader = new FileReader(); reader.readAsDataURL(blob); reader.onloadend = function () { @@ -1104,7 +1235,7 @@ export const downloadReceipt = async ( receiptNumber = null ) => { const response = await Digit.ReceiptsService.receipt_download(businessService, consumerCode, tenantId, pdfKey, receiptNumber); - const responseStatus = parseInt(response.status, 10); + const responseStatus = parseInt(response.status, 10); if (responseStatus === 201 || responseStatus === 200) { let filename = receiptNumber ? `receiptNumber-${receiptNumber}.pdf` : `consumer-${consumerCode}.pdf`; downloadPdf(new Blob([response.data], { type: "application/pdf" }), filename); @@ -1119,7 +1250,7 @@ export const downloadBill = async ( tenantId = Digit.ULBService.getCurrentTenantId(), ) => { const response = await Digit.ReceiptsService.bill_download(businessService, consumerCode, tenantId, pdfKey); - const responseStatus = parseInt(response.status, 10); + const responseStatus = parseInt(response.status, 10); if (responseStatus === 201 || responseStatus === 200) { let filename = consumerCode ? `consumerCode-${consumerCode}.pdf` : `consumer-${consumerCode}.pdf`; downloadPdf(new Blob([response.data], { type: "application/pdf" }), filename); @@ -1135,7 +1266,7 @@ export const getFileUrl = (linkText = "") => { fileURL = link; } }); - return fileURL; + return fileURL; }; /* Use this util function to download the file from any s3 links */ @@ -1149,7 +1280,7 @@ export const downloadPDFFromLink = async (link, openIn = "_blank") => { method: "GET", mode: "cors", }).then((res) => res.blob()); - if (window.mSewaApp && window.mSewaApp.isMsewaApp() && window.mSewaApp.downloadBase64File) { + if (window.mSewaApp && window.mSewaApp.isMsewaApp() && window.mSewaApp.downloadBase64File) { var reader = new FileReader(); reader.readAsDataURL(response); reader.onloadend = function () { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/package.json index 751073d9cc8..2d3c068a322 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/package.json @@ -1,5 +1,5 @@ { - "name": "@egovernments/digit-ui-module-bills", + "name": "@upyog/digit-ui-module-bills", "version": "1.7.0-beta.2", "description": "BILLS", "license": "MIT", @@ -15,7 +15,8 @@ "prepublish": "yarn build" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "react": "17.0.2", "react-dom": "17.0.2", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/Module.js index 5db46a3423b..f76007981ee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/Module.js @@ -16,7 +16,7 @@ import SearchCitizenFilter from "./components/citizen/SearchCitizenFilter"; import CitizenInbox from "./components/citizen/inbox"; import CitizenMobileInbox from "./components/citizen/CitizenMobileInbox"; import CitizenApp from "./pages/citizen"; -import { CitizenHomeCard, CollectionIcon } from "@egovernments/digit-ui-react-components"; +import { CitizenHomeCard, CollectionIcon } from "@upyog/digit-ui-react-components"; import CancelBills from "./components/CancelBill"; import GroupBills from "./components/GroupBill"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/billHomeCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/billHomeCard.js index 36eb3b8029f..444b5ddc391 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/billHomeCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/billHomeCard.js @@ -1,4 +1,4 @@ -import { EmployeeModuleCard, CollectionIcon } from "@egovernments/digit-ui-react-components"; +import { EmployeeModuleCard, CollectionIcon } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Banner.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Banner.js index db1dcd02334..facc7008d5b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Banner.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Banner.js @@ -1,4 +1,4 @@ -import { CardLabel, LabelFieldPair } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair } from "@upyog/digit-ui-react-components"; import React from "react"; const Banner = ({ t, config }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/BillCancelModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/BillCancelModal.js index 327396b080e..837f4235b6c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/BillCancelModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/BillCancelModal.js @@ -1,4 +1,4 @@ -import { FormComposer, Loader, Modal } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Loader, Modal } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useHistory } from "react-router-dom"; import { configCancelConfig } from "./Modal/CancelConfig"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/BillsFilter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/BillsFilter.js index 435f77bd6cd..67d1feddddd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/BillsFilter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/BillsFilter.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { Dropdown, CloseSvg, SubmitBar, Loader } from "@egovernments/digit-ui-react-components"; +import { Dropdown, CloseSvg, SubmitBar, Loader } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import _ from "lodash"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/CancelBillModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/CancelBillModal.js index 0de359810cb..5aea771ea62 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/CancelBillModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/CancelBillModal.js @@ -1,5 +1,5 @@ import React,{useMemo, useState} from "react"; -import { Modal, Card, CardText,CardLabelError, TextArea ,Dropdown, Loader} from "@egovernments/digit-ui-react-components"; +import { Modal, Card, CardText,CardLabelError, TextArea ,Dropdown, Loader} from "@upyog/digit-ui-react-components"; import { Controller, useForm,useWatch } from "react-hook-form"; const Heading = (props) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/MobileCancelBill.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/MobileCancelBill.js index b714ff6ee0b..b51acd4f132 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/MobileCancelBill.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/MobileCancelBill.js @@ -1,6 +1,6 @@ import React, { Fragment, useCallback, useMemo, useReducer,useState } from "react"; import { Link } from "react-router-dom"; -import { CloseSvg, SearchForm, Table, Card, SearchAction, PopUp, DetailsCard, Loader, Toast } from "@egovernments/digit-ui-react-components"; +import { CloseSvg, SearchForm, Table, Card, SearchAction, PopUp, DetailsCard, Loader, Toast } from "@upyog/digit-ui-react-components"; import { useHistory } from "react-router-dom"; import SearchFormFields from "./SearchFields"; import CancelBillModal from "./CancelBillModal"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/SearchFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/SearchFields.js index 0b26c570459..1b3f998ebae 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/SearchFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/SearchFields.js @@ -1,5 +1,5 @@ import React, { Fragment,useState } from "react"; -import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader, MobileNumber, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader, MobileNumber, CardLabelError } from "@upyog/digit-ui-react-components"; import { Controller, useWatch } from "react-hook-form"; const SearchFields = ({ register, control, reset, tenantId, t,formState}) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/index.js index c14bc055a8c..6c7233db0ef 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/CancelBill/index.js @@ -1,5 +1,5 @@ import React, { Fragment, useEffect, useCallback, useMemo,useState } from "react"; -import { SearchForm, Table, Card, Loader, Header, DownloadBtnCommon, DownloadIcon } from "@egovernments/digit-ui-react-components"; +import { SearchForm, Table, Card, Loader, Header, DownloadBtnCommon, DownloadIcon } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import SearchFields from "./SearchFields"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/GroupBill/MobileGroupBill.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/GroupBill/MobileGroupBill.js index 25f50e43d1f..487ebb080b6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/GroupBill/MobileGroupBill.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/GroupBill/MobileGroupBill.js @@ -1,6 +1,6 @@ import React, { Fragment, useCallback, useMemo, useReducer,useState } from "react"; import { Link } from "react-router-dom"; -import { CloseSvg, SearchForm, Table, Card, SearchAction, PopUp, DetailsCard, Loader, Toast, MultiLink } from "@egovernments/digit-ui-react-components"; +import { CloseSvg, SearchForm, Table, Card, SearchAction, PopUp, DetailsCard, Loader, Toast, MultiLink } from "@upyog/digit-ui-react-components"; import { useHistory } from "react-router-dom"; import SearchFormFields from "./SearchFields"; import { getBillNumber } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/GroupBill/SearchFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/GroupBill/SearchFields.js index 543eeb3f961..274b658a700 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/GroupBill/SearchFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/GroupBill/SearchFields.js @@ -1,5 +1,5 @@ import React, { Fragment, useState } from "react"; -import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader, MobileNumber, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader, MobileNumber, CardLabelError } from "@upyog/digit-ui-react-components"; import { Controller, useWatch } from "react-hook-form"; const SearchFields = ({ register, control, reset, tenantId, t, formState,tenantlocalties }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/GroupBill/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/GroupBill/index.js index 6c4a176c2ab..6a65305455b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/GroupBill/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/GroupBill/index.js @@ -1,5 +1,5 @@ import React, { Fragment, useEffect, useCallback, useMemo, useState } from "react"; -import { SearchForm, Table, Card, Loader, Header, DownloadBtnCommon, DownloadIcon,MultiLink,Toast } from "@egovernments/digit-ui-react-components"; +import { SearchForm, Table, Card, Loader, Header, DownloadBtnCommon, DownloadIcon,MultiLink,Toast } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import SearchFields from "./SearchFields"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Modal/CancelConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Modal/CancelConfig.js index 9b47c8536bb..30a935ebd85 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Modal/CancelConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Modal/CancelConfig.js @@ -1,4 +1,4 @@ -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; import React from "react"; export const configCancelConfig = ({ t, selectedReason, Reasons, selectReason }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Search/MobileSearchApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Search/MobileSearchApplication.js index fdf4ba6dc8b..b3485576d0a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Search/MobileSearchApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Search/MobileSearchApplication.js @@ -11,7 +11,7 @@ import { Toast, Header, DownloadBtnCommon -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import { getBillNumber } from "../../utils"; import SearchFormFields from "./SearchFields"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Search/SearchFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Search/SearchFields.js index 16daf782e5a..d1736773a92 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Search/SearchFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Search/SearchFields.js @@ -8,7 +8,7 @@ import { Dropdown, MobileNumber, Loader -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; const SearchFields = ({register, control, reset, tenantId, t, previousPage ,formState}) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Search/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Search/index.js index 027601d15be..68395a7723a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Search/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/Search/index.js @@ -1,4 +1,4 @@ -import { Loader, Card, Header, SearchForm, Table, DownloadIcon, MultiLink, DownloadBtnCommon } from "@egovernments/digit-ui-react-components"; +import { Loader, Card, Header, SearchForm, Table, DownloadIcon, MultiLink, DownloadBtnCommon } from "@upyog/digit-ui-react-components"; import React, { useCallback, useEffect, useMemo, useState } from "react"; import { Controller, useForm } from "react-hook-form"; import { getActionButton, getBillNumber } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/ApplicationCitizenCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/ApplicationCitizenCard.js index 8b0f28048f4..f4c5e764636 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/ApplicationCitizenCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/ApplicationCitizenCard.js @@ -1,4 +1,4 @@ -import { Card, DetailsCard, FilterAction, Loader, PopUp, SearchAction } from "@egovernments/digit-ui-react-components"; +import { Card, DetailsCard, FilterAction, Loader, PopUp, SearchAction } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import SearchCitizenFilter from "./SearchCitizenFilter"; import SearchCitizen from "./SearchCitizen"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/SearchCitizen.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/SearchCitizen.js index f48f0a1bf8b..7a88e93c072 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/SearchCitizen.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/SearchCitizen.js @@ -8,7 +8,7 @@ import { SubmitBar, TextInput, Toast, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState, useRef } from "react"; import { Controller, useForm } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/SearchCitizenFilter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/SearchCitizenFilter.js index 4cd85610b86..6dfc5fe75b6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/SearchCitizenFilter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/SearchCitizenFilter.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { Dropdown, CloseSvg, SubmitBar, Loader } from "@egovernments/digit-ui-react-components"; +import { Dropdown, CloseSvg, SubmitBar, Loader } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import _ from "lodash"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/inbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/inbox.js index a18ed7ec97d..a34fae29438 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/inbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/citizen/inbox.js @@ -1,4 +1,4 @@ -import { Card, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Loader } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/ApplicationCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/ApplicationCard.js index 53cdb8f7502..4d90f80f31f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/ApplicationCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/ApplicationCard.js @@ -1,4 +1,4 @@ -import { Card, DetailsCard, FilterAction, Loader, PopUp, SearchAction } from "@egovernments/digit-ui-react-components"; +import { Card, DetailsCard, FilterAction, Loader, PopUp, SearchAction } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import BillsFilter from "../BillsFilter"; import SearchApplication from "./search"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/ApplicationLinks.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/ApplicationLinks.js index 8191f3b0a12..68b0d425e78 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/ApplicationLinks.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/ApplicationLinks.js @@ -1,4 +1,4 @@ -import { AnnouncementIcon, Card } from "@egovernments/digit-ui-react-components"; +import { AnnouncementIcon, Card } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/ApplicationTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/ApplicationTable.js index 1fa8134d9f4..5ac20e48680 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/ApplicationTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/ApplicationTable.js @@ -1,4 +1,4 @@ -import { Table } from "@egovernments/digit-ui-react-components"; +import { Table } from "@upyog/digit-ui-react-components"; import React from "react"; const ApplicationTable = ({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/BillsDesktopInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/BillsDesktopInbox.js index e9d17ebd099..3a0daf666d2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/BillsDesktopInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/BillsDesktopInbox.js @@ -1,4 +1,4 @@ -import { Card, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Loader } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/search.js index 9db680ef595..4eda33e3e22 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/components/inbox/search.js @@ -8,7 +8,7 @@ import { SubmitBar, TextInput, Toast, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState, useRef } from "react"; import { Controller, useForm } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/citizen/SearchBill/Inbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/citizen/SearchBill/Inbox.js index 6a693c8694a..36c5f1f9171 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/citizen/SearchBill/Inbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/citizen/SearchBill/Inbox.js @@ -1,4 +1,4 @@ -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import React, { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import CitizenMobileInbox from "../../../components/citizen/CitizenMobileInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/citizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/citizen/index.js index cd1e48c137a..b7ed61dc266 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/citizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/citizen/index.js @@ -1,4 +1,4 @@ -import { AppContainer, BackButton, PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { AppContainer, BackButton, PrivateRoute } from "@upyog/digit-ui-react-components"; import React from "react"; import { Route, Switch, useRouteMatch } from "react-router-dom"; import Inbox from "../../pages/citizen/SearchBill/Inbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/BillDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/BillDetails.js index c1a394ffd88..7cab946d453 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/BillDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/BillDetails.js @@ -1,4 +1,4 @@ -import { ActionBar, Card, Header, Loader, Row, StatusTable, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Card, Header, Loader, Row, StatusTable, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/BillDetailsv1.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/BillDetailsv1.js index 1be8560e942..9df5a6dccbf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/BillDetailsv1.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/BillDetailsv1.js @@ -1,5 +1,5 @@ import React, { Fragment,useState } from 'react' -import { Card, CardSectionHeader, Header, Loader, RadioButtons, Row, StatusTable, TextInput,ActionBar,SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, CardSectionHeader, Header, Loader, RadioButtons, Row, StatusTable, TextInput,ActionBar,SubmitBar } from "@upyog/digit-ui-react-components"; import { Link, useLocation } from "react-router-dom" import { useTranslation } from "react-i18next"; import { BillDetailsConfig } from './BillDetailsConfig'; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/CancelBill.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/CancelBill.js index c6fba70ce4c..2e3b6c44201 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/CancelBill.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/CancelBill.js @@ -1,4 +1,4 @@ -import {Header}from "@egovernments/digit-ui-react-components"; +import {Header}from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; const CancelBill = () => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/DownloadBill/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/DownloadBill/index.js index 37e470b66e6..3f2ef87a6e3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/DownloadBill/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/DownloadBill/index.js @@ -1,4 +1,4 @@ -import { Header, DownloadIcon, Table, Loader, Toast, DetailsCard } from "@egovernments/digit-ui-react-components"; +import { Header, DownloadIcon, Table, Loader, Toast, DetailsCard } from "@upyog/digit-ui-react-components"; import React, { useCallback, useEffect, useMemo, useState, Fragment } from "react"; import { useTranslation } from "react-i18next"; import DesktopInbox from "../../../components/inbox/BillsDesktopInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/GroupBill.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/GroupBill.js index 5ff844626c8..e2123a2487b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/GroupBill.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/GroupBill.js @@ -1,4 +1,4 @@ -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; const GroupBill = () => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/GroupBill/GroupFilter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/GroupBill/GroupFilter.js index 1757f8f0f8b..b54781e838c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/GroupBill/GroupFilter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/GroupBill/GroupFilter.js @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo } from "react"; -import { Dropdown, CloseSvg, SubmitBar, Loader, RemoveableTag, Localities } from "@egovernments/digit-ui-react-components"; +import { Dropdown, CloseSvg, SubmitBar, Loader, RemoveableTag, Localities } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import _ from "lodash"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/GroupBill/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/GroupBill/index.js index 25d04b9f362..f16a15f6486 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/GroupBill/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/GroupBill/index.js @@ -1,4 +1,4 @@ -import { Header, DownloadIcon, MultiLink,Toast } from "@egovernments/digit-ui-react-components"; +import { Header, DownloadIcon, MultiLink,Toast } from "@upyog/digit-ui-react-components"; import React, { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import DesktopInbox from "../../../components/inbox/BillsDesktopInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/ResponseCancelBill.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/ResponseCancelBill.js index e6c9855abde..d09e268b17b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/ResponseCancelBill.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/ResponseCancelBill.js @@ -1,4 +1,4 @@ -import { ActionBar, Banner, Card, CardText, Loader, SubmitBar } from "@egovernments/digit-ui-react-components" +import { ActionBar, Banner, Card, CardText, Loader, SubmitBar } from "@upyog/digit-ui-react-components" import React, { useEffect } from "react" import { useTranslation } from "react-i18next" import { Link, useLocation } from "react-router-dom" diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/SearchBill/BillInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/SearchBill/BillInbox.js index 4ba2fb3a9f5..2dc7d3b2db3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/SearchBill/BillInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/SearchBill/BillInbox.js @@ -1,4 +1,4 @@ -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import React, { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import DesktopInbox from "../../../components/inbox/BillsDesktopInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/index.js index 9eaeb5de091..8d1070d16d3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/pages/employee/index.js @@ -1,4 +1,4 @@ -import { PrivateRoute,BreadCrumb } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute,BreadCrumb } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link, Switch, useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/utils/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/utils/index.js index 2895da92c94..efac35f67f1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/utils/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/bills/src/utils/index.js @@ -1,4 +1,4 @@ -import { Toast } from "@egovernments/digit-ui-react-components"; +import { Toast } from "@upyog/digit-ui-react-components"; import React, { useEffect,useState,Fragment } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/package.json index a35756a67c3..e43e4d0638e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/package.json @@ -1,6 +1,6 @@ { - "name": "@egovernments/digit-ui-module-common", - "version": "1.7.0-beta.2", + "name": "@upyog/digit-ui-module-common", + "version": "1.7.0-beta.3", "license": "MIT", "description": "Digit Common Payment Module", "main": "dist/index.js", @@ -15,8 +15,9 @@ "prepublish": "yarn build" }, "dependencies": { - "@egovernments/digit-ui-libraries": "1.7.0-beta.2", - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-libraries": "1.7.0-beta.4", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "react": "17.0.2", "react-dom": "17.0.2", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/hoc/subform-composer.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/hoc/subform-composer.js index 98dd3df4551..4bb9d2229c7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/hoc/subform-composer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/hoc/subform-composer.js @@ -1,7 +1,7 @@ -import { Card, CardHeader } from "@egovernments/digit-ui-react-components"; +import { Card, CardHeader } from "@upyog/digit-ui-react-components"; import React, { useCallback, useEffect, useMemo, useState } from "react"; import { useForm, Controller } from "react-hook-form"; -import { subFormRegistry } from "@egovernments/digit-ui-libraries"; +import { subFormRegistry } from "@upyog/digit-ui-libraries"; export const SubformComposer = ({ _key, ...props }) => { const config = subFormRegistry._registry[_key]; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/hoc/testForm-config.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/hoc/testForm-config.js index 42c48e5e887..2c30bd43b88 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/hoc/testForm-config.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/hoc/testForm-config.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown, SearchIconSvg } from "@egovernments/digit-ui-react-components"; +import { Dropdown, SearchIconSvg } from "@upyog/digit-ui-react-components"; const middleWare_1 = async (data, _break, _next) => { data.a = "a"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/index.js index 72bbb8971b4..a148fa61255 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/index.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useParams, useHistory, useRouteMatch, useLocation } from "react-router-dom"; import Routes from "./routes"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/bill-details/bill-details.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/bill-details/bill-details.js index 14f5c4b51af..eed10dbaa64 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/bill-details/bill-details.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/bill-details/bill-details.js @@ -1,4 +1,4 @@ -import { Card, CardSubHeader, Header, KeyNote, Loader, RadioButtons, SubmitBar, TextInput } from "@egovernments/digit-ui-react-components"; +import { Card, CardSubHeader, Header, KeyNote, Loader, RadioButtons, SubmitBar, TextInput } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useLocation, useParams, Redirect } from "react-router-dom"; @@ -7,15 +7,20 @@ import BillSumary from "./bill-summary"; import { stringReplaceAll } from "./utils"; const BillDetails = ({ paymentRules, businessService }) => { + console.log("businessServiceat bisllmainpage",businessService); + + const { t } = useTranslation(); const history = useHistory(); const { state, pathname, search } = useLocation(); const userInfo = Digit.UserService.getUser(); let { consumerCode } = useParams(); + console.log("consumerCode at bill main page",consumerCode) const { workflow: wrkflow, tenantId: _tenantId, authorization, ConsumerName } = Digit.Hooks.useQueryParams(); const [bill, setBill] = useState(state?.bill); const tenantId = state?.tenantId || _tenantId || Digit.UserService.getUser().info?.tenantId; const propertyId = state?.propertyId; + const applicationNumber = state?.applicationNumber; if (wrkflow === "WNS" && consumerCode.includes("?")) consumerCode = consumerCode.substring(0, consumerCode.indexOf("?")); const { data, isLoading } = state?.bill ? { isLoading: false } @@ -25,6 +30,11 @@ const BillDetails = ({ paymentRules, businessService }) => { consumerCode: wrkflow === "WNS" ? stringReplaceAll(consumerCode, "+", "/") : consumerCode, }); + +// console.log("thgis page is renderinhg here e ujedehfjhsguj") + + + let Useruuid = data?.Bill?.[0]?.userId || ""; let requestCriteria = [ "/user/_search", @@ -46,7 +56,8 @@ const BillDetails = ({ paymentRules, businessService }) => { { enabled: pathname.includes("FSM") ? true : false }, "CITIZEN" ); - let { minAmountPayable, isAdvanceAllowed } = paymentRules; + + let { minAmountPayable, isAdvanceAllowed } = paymentRules; minAmountPayable = wrkflow === "WNS" ? 100 : minAmountPayable; const billDetails = bill?.billDetails?.sort((a, b) => b.fromPeriod - a.fromPeriod)?.[0] || []; const Arrears = @@ -54,7 +65,14 @@ const BillDetails = ({ paymentRules, businessService }) => { ?.sort((a, b) => b.fromPeriod - a.fromPeriod) ?.reduce((total, current, index) => (index === 0 ? total : total + current.amount), 0) || 0; - const { key, label } = Digit.Hooks.useApplicationsForBusinessServiceSearch({ businessService }, { enabled: false }); + + + const { key, label } = Digit.Hooks.useApplicationsForBusinessServiceSearch({ businessService }, { enabled: false }); + + + + + const getBillingPeriod = () => { const { fromPeriod, toPeriod } = billDetails; if (fromPeriod && toPeriod) { @@ -92,6 +110,7 @@ const BillDetails = ({ paymentRules, businessService }) => { } else return "N/A"; }; + const getBillBreakDown = () => billDetails?.billAccountDetails || []; const getTotal = () => bill?.totalAmount || 0; @@ -124,7 +143,7 @@ const BillDetails = ({ paymentRules, businessService }) => { }, [paymentType, amount]); useEffect(() => { - if (!isFSMLoading && application?.pdfData?.applicationStatus === "PENDING_APPL_FEE_PAYMENT_CITIZEN") { + if (!isFSMLoading && (application?.pdfData?.applicationStatus === "PENDING_APPL_FEE_PAYMENT_CITIZEN" || application?.pdfData?.applicationStatus ==="PENDING_APPL_FEE_PAYMENT")) { setPaymentAllowed(true); setPaymentType(t("CS_PAYMENT_ADV_COLLECTION")); } @@ -133,11 +152,12 @@ const BillDetails = ({ paymentRules, businessService }) => { useEffect(() => { if (!bill && data) { let requiredBill = data.Bill.filter((e) => e.consumerCode == (wrkflow === "WNS" ? stringReplaceAll(consumerCode, "+", "/") : consumerCode))[0]; - console.log("requiredBillrequiredBill",requiredBill) setBill(requiredBill); } }, [isLoading]); + + const onSubmit = () => { let paymentAmount = paymentType === t("CS_PAYMENT_FULL_AMOUNT") @@ -163,11 +183,18 @@ const BillDetails = ({ paymentRules, businessService }) => { tenantId: billDetails.tenantId, name: bill.payerName, mobileNumber: bill.mobileNumber && bill.mobileNumber?.includes("*") ? userData?.user?.[0]?.mobileNumber : bill.mobileNumber, }); - } else { + } else if (businessService === "pet-services") { + history.push(`/digit-ui/citizen/payment/billDetails/${businessService}/${consumerCode}/${paymentAmount}`, { + paymentAmount, + tenantId: billDetails.tenantId, + name: bill.payerName, + mobileNumber: bill.mobileNumber && bill.mobileNumber?.includes("*") ? userData?.user?.[0]?.mobileNumber : bill.mobileNumber, }); + }else { history.push(`/digit-ui/citizen/payment/collect/${businessService}/${consumerCode}`, { paymentAmount, tenantId: billDetails.tenantId, propertyId: propertyId }); } }; + const onChangeAmount = (value) => { setError(""); if (isNaN(value) || value.includes(".")) { @@ -204,8 +231,8 @@ const BillDetails = ({ paymentRules, businessService }) => {
- {application?.pdfData?.applicationStatus !== "PENDING_APPL_FEE_PAYMENT_CITIZEN" ? ( - + {application?.pdfData?.applicationStatus !== "PENDING_APPL_FEE_PAYMENT_CITIZEN" || application?.pdfData?.applicationStatus !== "PENDING_APPL_FEE_PAYMENT" ? ( + ) : null}
) : ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/index.js index 812d541bcae..37ecce5fbd5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/index.js @@ -2,7 +2,7 @@ import React from "react"; import { Route, Switch, useRouteMatch } from "react-router-dom"; import { BillList } from "./my-bills/my-bills"; import BillDetails from "./bill-details/bill-details"; -import { BackButton } from "@egovernments/digit-ui-react-components"; +import { BackButton } from "@upyog/digit-ui-react-components"; const BillRoutes = ({ billsList, paymentRules, businessService }) => { const { url: currentPath, ...match } = useRouteMatch(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/my-bills/my-bill.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/my-bills/my-bill.js index 617d8a0590a..10e0b805824 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/my-bills/my-bill.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/my-bills/my-bill.js @@ -1,11 +1,12 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { Card, KeyNote, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, KeyNote, SubmitBar } from "@upyog/digit-ui-react-components"; import { Link, useHistory } from "react-router-dom"; // import { getKeyNotesConfig } from "./keynotesConfig"; const MyBill = ({ bill, currentPath, businessService, getKeyNotesConfig }) => { + console.log("busususususususuus",businessService); const { t } = useTranslation(); const history = useHistory(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/my-bills/my-bills.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/my-bills/my-bills.js index 8240f251a7d..cd81cacdf8c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/my-bills/my-bills.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/bills/routes/my-bills/my-bills.js @@ -1,19 +1,24 @@ import React, { useState, useEffect, useMemo } from "react"; -import { ArrowLeft, Header, Loader } from "@egovernments/digit-ui-react-components"; +import { ArrowLeft, Header, Loader } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { Link, useHistory } from "react-router-dom"; import MyBill from "./my-bill"; export const BillList = ({ billsList, currentPath, businessService }) => { + console.log("searchresulttttttt",businessService) const { t } = useTranslation(); const history = useHistory(); const consumerCodes = billsList.map((bill) => bill.consumerCode); + + // const { mobileNumber } = Digit.UserService.getUser()?.info; const searchResult = Digit.Hooks.useApplicationsForBusinessServiceSearch({ filters: { consumerCodes: consumerCodes.join() }, businessService }); + + /* call the relevant business search and find what key is being used as consumerCode in bills it is as follows :- diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/index.js index 8bbbef59a99..098155740e7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/index.js @@ -1,6 +1,6 @@ import React from "react"; import { Switch, Route, useRouteMatch } from "react-router-dom"; -import { PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute } from "@upyog/digit-ui-react-components"; import PayersDetails from "./payers-details"; import { MyBills } from "./bills"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/payers-details/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/payers-details/index.js index 5fb0432a116..83b203486de 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/payers-details/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/citizen/payers-details/index.js @@ -10,7 +10,7 @@ import { MobileNumber, CheckBox, CitizenConsentForm -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useForm } from "react-hook-form"; import { useParams, useHistory, useLocation } from "react-router-dom"; @@ -170,7 +170,7 @@ const SelectPaymentType = (props) => { {t("CS_COMMON_BACK")}
{/*
{t("PAYMENT_CS_HEADER")}
*/} -
{t("PT_PAYERS_DETAILS_HEADER")}
+
{t("PAYERS_DETAILS_HEADER")}
{t(mobileNumberError)} { ); const { isLoading, data, isError } = Digit.Hooks.usePaymentUpdate({ egId }, business_service, { + retry: false, staleTime: Infinity, refetchOnWindowFocus: false, }); + console.log("datatatataty",data) const { label } = Digit.Hooks.useApplicationsForBusinessServiceSearch({ businessService: business_service }, { enabled: false }); @@ -150,6 +152,19 @@ export const convertEpochToDate = (dateEpoch) => { window.open(fileStore[response.filestoreIds[0]], "_blank"); } }; + // const printpetCertificate = async () => { + // // const tenantId = Digit.ULBService.getCurrentTenantId(); + // const state = tenantId; + // const applicationDetails = await Digit.PTRService.search({ applicationNumber: consumerCode, tenantId }); + // console.log("aplllldetailllin citizen",applicationDetails) + // const generatePdfKeyForPTR = "petservicecertificate"; + + // if (applicationDetails) { + // let response = await Digit.PaymentService.generatePdf(state, { PetRegistrationApplications: applicationDetails?.PetRegistrationApplications }, generatePdfKeyForPTR); + // const fileStore = await Digit.PaymentService.printReciept(state, { fileStoreIds: response.filestoreIds[0] }); + // window.open(fileStore[response.filestoreIds[0]], "_blank"); + // } + // }; const printReciept = async () => { if (printing) return; @@ -583,7 +598,7 @@ export const convertEpochToDate = (dateEpoch) => { applicationNumber={paymentData?.paymentDetails[0].receiptNumber} successful={true} /> - {t(`${bannerText}_DETAIL`)} + {/** TODO : move this key and value into the hook based on business Service */} @@ -640,6 +655,26 @@ export const convertEpochToDate = (dateEpoch) => { {t("TL_CERTIFICATE")} ) : null} + {/*for pett */} + {business_service == "pet-services" ? ( +
+ + + + + {t("PTR_FEE_RECEIPT")} +
+ ) : null} + {/* {business_service == "pet-services" ? ( +
+ + + + + {t("PTR_CERTIFICATE")} +
+ ) : null} */} + {/*for pett */} {bpaData?.[0]?.businessService === "BPA_OC" && (bpaData?.[0]?.status==="APPROVED" || bpaData?.[0]?.status==="PENDING_SANC_FEE_PAYMENT") ? (
getPermitOccupancyOrderSearch("occupancy-certificate")}> @@ -698,6 +733,11 @@ export const convertEpochToDate = (dateEpoch) => { )} + {business_service == "pet-services" && ( + + + + )} ); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/IFrameInterface/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/IFrameInterface/index.js index 28bc48cb6c3..308a0114a91 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/IFrameInterface/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/IFrameInterface/index.js @@ -1,4 +1,4 @@ -import { Header, Loader } from "@egovernments/digit-ui-react-components"; +import { Header, Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/index.js index fb36975de6c..24a2d1febbf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/index.js @@ -6,7 +6,7 @@ import { SuccessfulPayment, FailedPayment } from "./response"; // import { SubformComposer } from "../../hoc"; // import { subFormRegistry } from "../../hoc/subFormClass"; import { testForm } from "../../hoc/testForm-config"; -import { subFormRegistry } from "@egovernments/digit-ui-libraries"; +import { subFormRegistry } from "@upyog/digit-ui-libraries"; import { useTranslation } from "react-i18next"; import IFrameInterface from "./IFrameInterface"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/payment-collect/Bill-details/billDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/payment-collect/Bill-details/billDetails.js index 70b5ba54c25..7f97250f938 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/payment-collect/Bill-details/billDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/payment-collect/Bill-details/billDetails.js @@ -1,4 +1,4 @@ -import { CardSectionHeader, Loader, RadioButtons, Row, StatusTable, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardSectionHeader, Loader, RadioButtons, Row, StatusTable, TextInput } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState, Fragment } from "react"; import { useTranslation } from "react-i18next"; import { BillDetailsKeyNoteConfig } from "./billDetailsConfig"; @@ -208,7 +208,8 @@ const BillDetails = ({ businessService, consumerCode, _amount, onChange }) => { const getTotal = () => (bill?.totalAmount ? bill?.totalAmount : 0); const getTotalFSM = () => (application?.totalAmount ? application?.totalAmount : 0); const getAdvanceAmount = () => (applicationData?.advanceAmount ? applicationData?.advanceAmount : 0); - const dueAmountTobePaid = () => ( bill?.totalAmount ? bill?.totalAmount - applicationData?.advanceAmount:0); + //const dueAmountTobePaid = () => ( bill?.totalAmount ? bill?.totalAmount - applicationData?.advanceAmount:0); + const dueAmountTobePaid = () => ( application?.totalAmount ? application?.totalAmount - applicationData?.advanceAmount:0); const getAmountPerTrip = () => (application?.additionalDetails?.tripAmount ? application?.additionalDetails?.tripAmount : 0); const arrears = @@ -407,7 +408,7 @@ const BillDetails = ({ businessService, consumerCode, _amount, onChange }) => { /> ))} - {applicationData?.applicationStatus !== "PENDING_APPL_FEE_PAYMENT" ? ( + {(applicationData?.applicationStatus !== "PENDING_APPL_FEE_PAYMENT" || applicationData?.applicationStatus !== "PENDING_APPL_FEE_PAYMENT_CITIZEN") ? ( { const config = [ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/payment-collect/cheque/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/payment-collect/cheque/index.js index e1f8ab47997..0f3639c10a4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/payment-collect/cheque/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/payment-collect/cheque/index.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { TextInput, SearchIconSvg, DatePicker, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { TextInput, SearchIconSvg, DatePicker, CardLabelError } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; export const useChequeDetails = (props, t) => { const config = [ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/payment-collect/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/payment-collect/index.js index cc9ec0a1e8f..9ba7a6a3407 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/payment-collect/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/payment-collect/index.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { RadioButtons, FormComposer, Dropdown, CardSectionHeader, Loader, Toast, Card, Header } from "@egovernments/digit-ui-react-components"; +import { RadioButtons, FormComposer, Dropdown, CardSectionHeader, Loader, Toast, Card, Header } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory, useParams, useRouteMatch, useLocation } from "react-router-dom"; import { useQueryClient } from "react-query"; @@ -126,7 +126,7 @@ export const CollectPayment = (props) => { paidBy: data.paidBy, }, }; - if (advanceBill !== null && applicationData?.applicationStatus === "PENDING_APPL_FEE_PAYMENT" && !applicationData.paymentPreference) { + if (advanceBill !== null && (applicationData?.applicationStatus === "PENDING_APPL_FEE_PAYMENT" || applicationData?.applicationStatus === "PENDING_APPL_FEE_PAYMENT_CITIZEN") && !applicationData.paymentPreference) { (recieptRequest.Payment.paymentDetails[0].totalAmountPaid = advanceBill), (recieptRequest.Payment.totalAmountPaid = advanceBill), (recieptRequest.Payment.totalDue = bill.totalAmount); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/response/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/response/index.js index c84bfef0065..f105cf277b8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/response/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/common/src/payments/employee/response/index.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { Banner, Card, CardText, SubmitBar, ActionBar, DownloadPrefixIcon, Loader, Menu } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, SubmitBar, ActionBar, DownloadPrefixIcon, Loader, Menu } from "@upyog/digit-ui-react-components"; import { useHistory, useParams, Link, LinkLabel } from "react-router-dom"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; @@ -31,6 +31,7 @@ export const SuccessfulPayment = (props) => { props.setLink(combineResponseFSM); let { consumerCode, receiptNumber, businessService } = useParams(); + console.log("consummennene",consumerCode); const tenantId = Digit.ULBService.getCurrentTenantId(); receiptNumber = receiptNumber.replace(/%2F/g, "/"); const { data = {}, isLoading: isBpaSearchLoading, isSuccess: isBpaSuccess, error: bpaerror } = Digit.Hooks.obps.useOBPSSearch( @@ -110,6 +111,21 @@ export const SuccessfulPayment = (props) => { window.open(fileStore[response.filestoreIds[0]], "_blank"); } }; + + // const printpetCertificate = async () => { + // const tenantId = Digit.ULBService.getCurrentTenantId(); + // const state = Digit.ULBService.getStateId(); + // const applicationpetDetails = await Digit.PTRService.search({ tenantId, applicationNumber: consumerCode }); + // console.log("aplllldetailll",consumerCode) + // const generatePdfKeyForPTR = "petservicecertificate"; + + // if (applicationpetDetails) { + // let response = await Digit.PaymentService.generatePdf(state, { PetRegistrationApplications: applicationpetDetails?.PetRegistrationApplications }, generatePdfKeyForPTR); + // const fileStore = await Digit.PaymentService.printReciept(state, { fileStoreIds: response.filestoreIds[0] }); + // window.open(fileStore[response.filestoreIds[0]], "_blank"); + // } + // }; + const convertDateToEpoch = (dateString, dayStartOrEnd = "dayend") => { //example input format : "2018-10-02" @@ -465,6 +481,15 @@ export const SuccessfulPayment = (props) => { {t("CS_COMMON_PRINT_CERTIFICATE")}
) : null} + {/* {businessService == "pet-services" ? ( +
+ + + + + {t("CS_COMMON_PRINT_CERTIFICATE")} +
+ ) : null} */} {data?.[0]?.businessService === "BPA_OC" && (data?.[0]?.status === "APPROVED" || data?.[0]?.status === "PENDING_SANC_FEE_PAYMENT") ? (
{ 'WS_COMMON_SUMMARY', ] break; - default: actions = [ + case "TL": actions = [ 'TL_COMMON_TR_DETAILS', 'TL_LOCATION_AND_OWNER_DETAILS', 'TL_DOCUMENT_DETAIL', 'TL_COMMON_SUMMARY', ] + default: actions = [] + break; } } const CPTTimeline = ({ currentStep = 1, flow = "" }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/CommonPTCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/CommonPTCard.js index 6d3eb230133..47fe0d70e3a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/CommonPTCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/CommonPTCard.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { EmployeeModuleCard, PropertyHouse } from "@egovernments/digit-ui-react-components"; +import { EmployeeModuleCard, PropertyHouse } from "@upyog/digit-ui-react-components"; const CommonPTCard = () => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/Timeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/Timeline.js index dd4d7c1b82f..80ed50d8a9b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/Timeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/Timeline.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TickMark } from "@egovernments/digit-ui-react-components"; +import { TickMark } from "@upyog/digit-ui-react-components"; let actions = []; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/search/CPTPropertySearchForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/search/CPTPropertySearchForm.js index e9993082444..06eda1558d4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/search/CPTPropertySearchForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/search/CPTPropertySearchForm.js @@ -1,4 +1,4 @@ -import { CardLabelError, SearchField, SearchForm, SubmitBar, TextInput,Localities } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, SearchField, SearchForm, SubmitBar, TextInput,Localities } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { Controller, useForm } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/search/CPTPropertySearchResults.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/search/CPTPropertySearchResults.js index 373679ccf0b..74b99bd6e4e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/search/CPTPropertySearchResults.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/components/search/CPTPropertySearchResults.js @@ -1,4 +1,4 @@ -import { DetailsCard, Loader, Table } from "@egovernments/digit-ui-react-components"; +import { DetailsCard, Loader, Table } from "@upyog/digit-ui-react-components"; import React, { memo, useMemo, useState } from "react"; import { Link } from "react-router-dom"; import { useLocation, useHistory } from "react-router-dom"; @@ -51,7 +51,7 @@ const SearchPTID = ({ tenantId, t, payload, showToast, setShowToast, ptSearchCon { Header: t("PT_COMMON_TABLE_COL_OWNER_NAME"), disableSortBy: true, - Cell: ({ row }) => GetCell(row.original.ownerNames || ""), + Cell: ({ row }) => GetCell(row.original.owners.sort((a,b)=>a.additionalDetails.ownerSequence-b.additionalDetails.ownerSequence).map( o => o.name ). join(",") || "" ), }, { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/Create/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/Create/index.js index 82705f6516d..e805e161432 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/Create/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/Create/index.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React ,{Fragment}from "react"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/LinkSuccess/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/LinkSuccess/index.js index 1a87f01b705..46e0c123c46 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/LinkSuccess/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/LinkSuccess/index.js @@ -4,7 +4,7 @@ import { Row, StatusTable, SubmitBar, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/Otp/SelectOtp.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/Otp/SelectOtp.js index 462ad79387e..ea1dfd1e998 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/Otp/SelectOtp.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/Otp/SelectOtp.js @@ -1,5 +1,5 @@ import React, { useState, Fragment } from "react"; -import { ButtonSelector, CardText, FormStep, LinkButton, OTPInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { ButtonSelector, CardText, FormStep, LinkButton, OTPInput, CardLabelError } from "@upyog/digit-ui-react-components"; import useInterval from "../../../../../core/src/hooks/useInterval.js"; const SelectOtp = ({ config, otp, onOtpChange, onResend, onSelect, t, error, userType="citizen" }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/SearchProperty/searchProperty.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/SearchProperty/searchProperty.js index b9800e2a083..3b4a34bf78c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/SearchProperty/searchProperty.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/SearchProperty/searchProperty.js @@ -1,4 +1,4 @@ -import { Dropdown, FormComposer, InfoBannerIcon, Loader, Localities, RadioButtons, Toast } from "@egovernments/digit-ui-react-components"; +import { Dropdown, FormComposer, InfoBannerIcon, Loader, Localities, RadioButtons, Toast } from "@upyog/digit-ui-react-components"; import _ from "lodash"; import PropTypes from "prop-types"; import React, { useEffect, useLayoutEffect, useState } from "react"; @@ -28,10 +28,135 @@ const SearchProperty = ({ config: propsConfig, onSelect, redirectToUrl }) => { let allCities = Digit.Hooks.pt.useTenants()?.sort((a, b) => a?.i18nKey?.localeCompare?.(b?.i18nKey)); // if called from tl module get tenants from tl usetenants allCities = allCities ? allCities : Digit.Hooks.tl.useTenants()?.sort((a, b) => a?.i18nKey?.localeCompare?.(b?.i18nKey)); - if(window.location.href.includes("obps")) + + if(window.location.href.includes("obps") ) { allCities = Digit.SessionStorage.get("OBPS_TENANTS") } + else if(window.location.href.includes("fsm") ) + { + allCities = [ + { + "i18nKey": "TENANT_TENANTS_PG_CITYA", + "code": "pg.citya", + "name": "City A", + "description": "City A", + "pincode": [ + 143001, + 143002, + 143003, + 143004, + 143005 + ], + "logoId": "https://in-egov-assets.s3.ap-south-1.amazonaws.com/in.citya/logo.png", + "imageId": null, + "domainUrl": "https://www.upyog.niua.org", + "type": "CITY", + "twitterUrl": null, + "facebookUrl": null, + "emailId": "citya@gmail.com", + "OfficeTimings": { + "Mon - Fri": "9.00 AM - 6.00 PM" + }, + "city": { + "name": "City A", + "localName": null, + "districtCode": "CITYA", + "districtName": null, + "districtTenantCode": "pg.citya", + "regionName": null, + "ulbGrade": "Municipal Corporation", + "longitude": 75.5761829, + "latitude": 31.3260152, + "shapeFileLocation": null, + "captcha": null, + "code": "1013", + "ddrName": "DDR A" + }, + "address": "City A Municipal Corporation", + "contactNumber": "001-2345876" + }, + { + "i18nKey": "TENANT_TENANTS_PG_CITYB", + "code": "pg.cityb", + "name": "City B", + "description": null, + "pincode": [ + 143006, + 143007, + 143008, + 143009, + 143010 + ], + "logoId": "https://in-egov-assets.s3.ap-south-1.amazonaws.com/in.citya/logo.png", + "imageId": null, + "domainUrl": "https://www.upyog.niua.org", + "type": "CITY", + "twitterUrl": null, + "facebookUrl": null, + "emailId": "cityb@gmail.com", + "OfficeTimings": { + "Mon - Fri": "9.00 AM - 6.00 PM", + "Sat": "9.00 AM - 12.00 PM" + }, + "city": { + "name": "City B", + "localName": null, + "districtCode": "CITYB", + "districtName": null, + "districtTenantCode": "pg.cityb", + "regionName": null, + "ulbGrade": "Municipal Corporation", + "longitude": 74.8722642, + "latitude": 31.6339793, + "shapeFileLocation": null, + "captcha": null, + "code": "107", + "ddrName": "DDR B" + }, + "address": "City B Municipal Corporation Address", + "contactNumber": "0978-7645345", + "helpLineNumber": "0654-8734567" + }, + { + "i18nKey": "TENANT_TENANTS_PG_CITYC", + "code": "pg.cityc", + "name": "City C", + "description": null, + "logoId": "https://in-egov-assets.s3.ap-south-1.amazonaws.com/in.citya/logo.png", + "imageId": null, + "domainUrl": "https://www.upyog.niua.org", + "type": "CITY", + "twitterUrl": null, + "facebookUrl": null, + "emailId": "cityc@gmail.com", + "OfficeTimings": { + "Mon - Fri": "9.00 AM - 6.00 PM", + "Sat": "9.00 AM - 12.00 PM" + }, + "city": { + "name": "City C", + "localName": null, + "districtCode": "CITYC", + "districtName": null, + "districtTenantCode": "pg.cityc", + "regionName": null, + "ulbGrade": "Municipal Corporation", + "longitude": 73.8722642, + "latitude": 31.6339793, + "shapeFileLocation": null, + "captcha": null, + "code": "108", + "ddrName": "DDR C" + }, + "address": "City C Municipal Corporation Address", + "contactNumber": "0978-7645345", + "helpLineNumber": "0654-8734567" + } + ] + + } + console.log("allCities",allCities) const [cityCode, setCityCode] = useState(); const [formValue, setFormValue] = useState(); const [errorShown, seterrorShown] = useState(false); @@ -142,11 +267,7 @@ const SearchProperty = ({ config: propsConfig, onSelect, redirectToUrl }) => { {...customProps} selected={props.value} select={(d) => { - Digit.LocalizationService.getLocale({ - modules: [`rainmaker-${props?.value?.code}`], - locale: Digit.StoreData.getCurrentLanguage(), - tenantId: `${props?.value?.code}`, - }); + "pg.citya" if (d.code !== cityCode) props.setValue("locality", null); props.onChange(d); }} @@ -418,8 +539,9 @@ const SearchProperty = ({ config: propsConfig, onSelect, redirectToUrl }) => { const mobileNumberLength = data?.[mobileNumber.name]?.length; const oldPropId = data?.[oldProperty.name]; const propId = data?.[property.name]; - const city = data?.city; - + const city = data?.city || allCities[0]; +console.log("citycity",city) +setCityCode(city.code); // if ((city!=null && Object.keys(city).length !=0) && !(mobileNumberLength > 0 || oldPropId!="" || propId!="")){ // setShowToast({ warning: true, label: "ERR_PT_FILL_VALID_FIELDS" }); // } @@ -528,7 +650,7 @@ const SearchProperty = ({ config: propsConfig, onSelect, redirectToUrl }) => { cardStyle={{marginBottom:"0",maxWidth:"960px"}} > - {t("CPT_REG_NEW_PROPERTY")} + {t("CPT_REG_NEW_PROPERTY")} {showToast && ( e.status === "ACTIVE") : result?.data?.Properties; const searchResults = arr?.map((property) => { + let addr = property?.address || {}; return { property_id: property?.propertyId, - owner_name: (property?.owners || [])[0]?.name, + owner_name: (property?.owners || []).sort((a,b)=>a?.additionalDetails?.ownerSequence-b?.additionalDetails?.ownerSequence)?.[0]?.name, property_address: [addr.doorNo || "", addr.buildingName || "", addr.street || "", t(`TENANTS_MOHALLA_${addr.locality?.code}`) || "", t(addr.tenantId) || ""] .filter((a) => a) .join(", "), @@ -134,6 +135,7 @@ const PropertySearchResults = ({ template, header, actionButtonLabel, isMutation owner_mobile: (property?.owners || [])[0]?.mobileNumber, address:property?.address, owners:property.owners, + propertyDetails:property, privacy: { property_address : { uuid: property?.owners?.[0]?.uuid, @@ -161,6 +163,7 @@ const PropertySearchResults = ({ template, header, actionButtonLabel, isMutation const sendOtpToUser = async (record) => { sessionStorage.setItem("Digit_OBPS_PT",JSON.stringify(record)) + sessionStorage.setItem("Digit_FSM_PT",JSON.stringify(record)) if(onSelect) { onSelect('cptId', { id: record.property_id }); } else { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/index.js index 62ee36789c3..2bd0a8acd1c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/citizen/index.js @@ -1,4 +1,4 @@ -import { AppContainer, BackButton, PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { AppContainer, BackButton, PrivateRoute } from "@upyog/digit-ui-react-components"; import React from "react"; import { Route, Switch, useRouteMatch } from "react-router-dom"; import CreateProperty from "./Create"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/components/PropertyAssemblyDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/components/PropertyAssemblyDetails.js index 95f05050de9..2725474539b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/components/PropertyAssemblyDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/components/PropertyAssemblyDetails.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, CardLabel, RadioButtons, LabelFieldPair, Dropdown, Menu, MobileNumber, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, CardLabel, RadioButtons, LabelFieldPair, Dropdown, Menu, MobileNumber, CardLabelError } from "@upyog/digit-ui-react-components"; import { cardBodyStyle } from "../utils"; import { useLocation, useRouteMatch } from "react-router-dom"; import { stringReplaceAll } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/components/PropertyLocationDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/components/PropertyLocationDetails.js index 0b08c07ab1e..2efe7c92ccf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/components/PropertyLocationDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/components/PropertyLocationDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, CardLabelError, Dropdown, LabelFieldPair, Localities, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CardLabelError, Dropdown, LabelFieldPair, Localities, TextInput } from "@upyog/digit-ui-react-components"; import _ from "lodash"; import React, { useEffect, useState } from "react"; import { Controller, useForm } from "react-hook-form"; @@ -9,6 +9,12 @@ const PropertyLocationDetails = ({ t, config, onSelect, userType, formData, form if(window.location.href.includes("obps")) { allCities = Digit.SessionStorage.get("OBPS_TENANTS") + + } + if(window.location.href.includes("fsm")) + { + allCities = Digit.SessionStorage.get("FSM_TENANTS") + console.log("allc", allCities) } // if called from tl module get tenants from tl usetenants const userInfo = Digit.UserService.getUser()?.info; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/components/PropertyOwnerDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/components/PropertyOwnerDetails.js index 15b0bb4d8f9..7cc2969f9c0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/components/PropertyOwnerDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/components/PropertyOwnerDetails.js @@ -12,7 +12,7 @@ import { LinkButton, DeleteIcon, CardSectionHeader -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import _ from "lodash"; import React, { useState, useMemo, useEffect } from "react"; import { Controller, useForm } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/employee/NewApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/employee/NewApplication/index.js index c2a87808b5d..c2f21643e3f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/employee/NewApplication/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/employee/NewApplication/index.js @@ -1,5 +1,5 @@ import React from "react"; -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; import { Route, Switch, useHistory, useLocation, useRouteMatch } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/employee/Search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/employee/Search.js index ee96c58fd32..29793e415bb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/employee/Search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/employee/Search.js @@ -1,6 +1,6 @@ import React, { memo, useCallback, useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { Header, Loader, Localities, Toast } from "@egovernments/digit-ui-react-components"; +import { Header, Loader, Localities, Toast } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const PTSearchFields = { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/employee/index.js index 92aeef7a973..0abbc9f0bbd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/employee/index.js @@ -1,4 +1,4 @@ -import { BreadCrumb, PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { BreadCrumb, PrivateRoute } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link, Switch, useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/KnowYourProperty.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/KnowYourProperty.js index 66b431eed9e..1db75d444df 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/KnowYourProperty.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/KnowYourProperty.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { FormStep, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { FormStep, RadioButtons } from "@upyog/digit-ui-react-components"; import Timeline from "../../components/CPTTimeline"; const KnowYourProperty = ({ t, config, onSelect, userType, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/PTAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/PTAcknowledgement.js index bd213c29dfa..56ea831003a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/PTAcknowledgement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/PTAcknowledgement.js @@ -1,4 +1,4 @@ -import { Banner, Card, CardText, LinkButton, Loader, Row, StatusTable, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, LinkButton, Loader, Row, StatusTable, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { Link, useLocation, useHistory } from "react-router-dom"; @@ -149,6 +149,7 @@ const PTAcknowledgement = ({ onSuccess, onSelect, formData, redirectUrl, userTyp if (onSelect) { if (mutation.isSuccess) { sessionStorage.setItem("Digit_OBPS_PT",JSON.stringify(mutation?.data?.Properties[0])) + sessionStorage.setItem("Digit_FSM_PT",JSON.stringify(mutation?.data?.Properties[0])) onSelect("cpt", { details: mutation?.data?.Properties[0] }); } } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/PropertyDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/PropertyDetails.js index ccaa473bff1..9a6c95738e8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/PropertyDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/PropertyDetails.js @@ -1,6 +1,6 @@ import { CardHeader, FormStep, LinkButton, Loader, Row, StatusTable, SubmitBar -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React from "react"; import { Link } from "react-router-dom"; import Timeline from "../../components/CPTTimeline"; @@ -34,6 +34,8 @@ const PropertyDetails = ({ t, config, onSelect, userType, formData }) => { onSelect("cpt", { details: propertyDetails?.Properties[0] }); }; + const reversedOwners= Array.isArray(propertyDetails?.Properties?.[0]?.owners) ? propertyDetails?.Properties?.[0]?.owners.slice().reverse():[]; + let propAddArr = []; if (propertyDetails && propertyDetails?.Properties.length) { if (propertyDetails?.Properties[0]?.address?.doorNo) { @@ -84,7 +86,7 @@ const PropertyDetails = ({ t, config, onSelect, userType, formData }) => { {t("PT_DETAILS")} - + { ); }; -export default PropertyDetails; +export default PropertyDetails; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/PropertySearchNSummary.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/PropertySearchNSummary.js index f02e065316a..cd0e1b972e6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/PropertySearchNSummary.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/PropertySearchNSummary.js @@ -13,7 +13,7 @@ import { Toast, StatusTable, Row, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import _ from "lodash"; import { useLocation, Link, useHistory } from "react-router-dom"; @@ -58,6 +58,7 @@ const PropertySearchNSummary = ({ config, onSelect, userType, formData, setError }, [error, propertyDetails]); useEffect(() => { onSelect("cpt", { details: propertyDetails?.Properties[0] }); + sessionStorage.setItem("Digit_FSM_PT",JSON.stringify(propertyDetails?.Properties[0])) localStorage.setItem("pgrProperty",JSON.stringify(propertyDetails?.Properties[0])) }, [propertyDetails, pathname]); @@ -95,7 +96,7 @@ const PropertySearchNSummary = ({ config, onSelect, userType, formData, setError const getOwnerNames = (propertyData) => { const getActiveOwners = propertyData?.owners?.filter(owner => owner?.active); - const getOwnersList = getActiveOwners?.map(activeOwner => activeOwner?.name)?.join(","); + const getOwnersList = getActiveOwners.sort((a,b)=> a?.additionalDetails?.ownerSequence- b?.additionalDetails?.ownerSequence)?.map(activeOwner => activeOwner?.name)?.join(","); return getOwnersList ? getOwnersList : t("NA"); } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/ViewProperty.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/ViewProperty.js index c32fb970739..9cba9d81b49 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/ViewProperty.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/ViewProperty.js @@ -1,4 +1,4 @@ -import { Header, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Header, ActionBar, SubmitBar } from "@upyog/digit-ui-react-components"; import React, {useEffect} from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/createForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/createForm.js index 994f2ed74a1..84cdfbfbc01 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/createForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/pageComponents/createForm.js @@ -1,4 +1,4 @@ -import { FormComposer, Loader, Dropdown, Localities, Header, Toast } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Loader, Dropdown, Localities, Header, Toast } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useRouteMatch,useLocation } from "react-router-dom"; @@ -25,6 +25,10 @@ const CreatePropertyForm = ({ config, onSelect,value, userType, redirectUrl }) = { allCities = Digit.SessionStorage.get("OBPS_TENANTS") } + if(window.location.href.includes("fsm")) + { + allCities = Digit.SessionStorage.get("FSM_TENANTS") + } const [formValue, setFormValue] = useState(""); const [cityCode, setCityCode] = useState(""); let enableSkip = userType=="employee"?false :config?.isSkipEnabled || sessionStorage.getItem("skipenabled"); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/utils/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/utils/index.js index 6d5c8332ed6..fa18747a7bd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/utils/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/commonPt/src/pages/utils/index.js @@ -172,7 +172,23 @@ export const convertToPropertyLightWeight = (data = {}) => { ...data.propertyDetails, ownershipCategory: ownershipCategory, usageCategory: data?.assemblyDet?.usageCategoryMajor?.code, - owners: data.owners, + owners: [ + ...data.owners.map((owner, index)=>({ + ...owner, + additionalDetails : { ownerSequence: index, ownerName:owner?.name}, + documents : Object.keys(owner.documents).map((key) => { + const { documentType, fileStoreId } = owner.documents[key]; + return { documentType: documentType.code, fileStoreId }; + }), + gender: owner.gender?.code, + ownerType: owner.ownerType?.code || "NONE", + relationship: owner.relationship?.code, + inistitutetype: owner?.inistitutetype?.value, + landlineNumber: owner?.altContactNumber, + status: "ACTIVE", + + })), + ], noOfFloors: noOfFloors, additionalDetails: { isRainwaterHarvesting: false, @@ -208,7 +224,23 @@ export const convertToUpdatePropertyLightWeight = (data = {}) => { address: data.address, propertyType: propertyType, ownershipCategory: data?.ownershipCategory, - owners: data.owners, + owners: [ + ...data.owners.map((owner, index)=>({ + ...owner, + additionalDetails : { ownerSequence: index, ownerName:owner?.name}, + documents : Object.keys(owner.documents).map((key) => { + const { documentType, fileStoreId } = owner.documents[key]; + return { documentType: documentType.code, fileStoreId }; + }), + gender: owner.gender?.code, + ownerType: owner.ownerType?.code || "NONE", + relationship: owner.relationship?.code, + inistitutetype: owner?.inistitutetype?.value, + landlineNumber: owner?.altContactNumber, + status: "ACTIVE", + + })), + ], noOfFloors: noOfFloors, additionalDetails: { isRainwaterHarvesting: false, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/package.json index 9c4b1fc7da5..808995a481b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/package.json @@ -1,5 +1,5 @@ { - "name": "@egovernments/digit-ui-module-core", + "name": "@upyog/digit-ui-module-core", "version": "1.7.0-beta.2", "license": "MIT", "description": "Digit App Core Module contains all core components", @@ -15,7 +15,8 @@ "prepublish": "yarn build" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "react": "17.0.2", "react-dom": "17.0.2", "react-i18next": "11.16.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/Module.js index 08915d6e7eb..d84935269c1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/Module.js @@ -3,7 +3,7 @@ import { QueryClient, QueryClientProvider } from "react-query"; import { Provider } from "react-redux"; import { BrowserRouter as Router } from "react-router-dom"; import { getI18n } from "react-i18next"; -import { Body, Loader } from "@egovernments/digit-ui-react-components"; +import { Body, Loader } from "@upyog/digit-ui-react-components"; import { DigitApp } from "./App"; import SelectOtp from "./pages/citizen/Login/SelectOtp"; import AcknowledgementCF from "./components/AcknowledgementCF"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/AcknowledgementCF.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/AcknowledgementCF.js index 2c8b0209edf..c215890b5a3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/AcknowledgementCF.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/AcknowledgementCF.js @@ -1,4 +1,4 @@ -import { Banner, Card, CardText, LinkButton, Loader, Row, StatusTable, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, LinkButton, Loader, Row, StatusTable, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { Link, useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/ChangeCity.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/ChangeCity.js index 28827051f8e..e6b4f626147 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/ChangeCity.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/ChangeCity.js @@ -1,6 +1,6 @@ -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; -import { CustomButton, Menu } from "@egovernments/digit-ui-react-components"; +import { CustomButton, Menu } from "@upyog/digit-ui-react-components"; import { useHistory } from "react-router-dom"; const stringReplaceAll = (str = "", searcher = "", replaceWith = "") => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/ChangeLanguage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/ChangeLanguage.js index da89400c46e..345c372b9f3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/ChangeLanguage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/ChangeLanguage.js @@ -1,6 +1,6 @@ -import { ActionBar, Button, Dropdown } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Button, Dropdown } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; -import { CustomButton, Menu } from "@egovernments/digit-ui-react-components"; +import { CustomButton, Menu } from "@upyog/digit-ui-react-components"; const ChangeLanguage = (prop) => { const isDropdown = prop.dropdown || false; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/CitizenFeedback.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/CitizenFeedback.js index d9b80603be3..034fa3db7e0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/CitizenFeedback.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/CitizenFeedback.js @@ -4,7 +4,7 @@ import { useForm } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { RatingAndFeedBack } from "../config/RatingAndFeedback"; -import { Card, CardHeader, CardLabel, CheckBox, TextArea, SubmitBar, Rating, CloseSvg, Loader, CardText, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { Card, CardHeader, CardLabel, CheckBox, TextArea, SubmitBar, Rating, CloseSvg, Loader, CardText, CardLabelError } from "@upyog/digit-ui-react-components"; const CitizenFeedback = ({popup = false, onClose, setShowToast, data}) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Dialog/LogoutDialog.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Dialog/LogoutDialog.js index 5f7e9aa76cf..e7d0b547eca 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Dialog/LogoutDialog.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Dialog/LogoutDialog.js @@ -1,4 +1,4 @@ -import { CardText, CloseSvg, Modal } from "@egovernments/digit-ui-react-components"; +import { CardText, CloseSvg, Modal } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Header.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Header.js index 2998ee04ca7..eade30b4a83 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Header.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Header.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { Loader } from "@egovernments/digit-ui-react-components" +import { Loader } from "@upyog/digit-ui-react-components" const Header = () => { const { data: storeData, isLoading } = Digit.Hooks.useStore.getInitData(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Home.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Home.js index 2c1d9066ed3..25bdc1607ca 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Home.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Home.js @@ -11,7 +11,7 @@ import { PTIcon, TLIcon, WSICon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Search/MobileSearchApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Search/MobileSearchApplication.js index a9950815b46..92c22292385 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Search/MobileSearchApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Search/MobileSearchApplication.js @@ -13,7 +13,7 @@ import { BackButton, Header, DownloadBtnCommon -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import SearchFormFields from "./SearchFields"; // import { convertEpochToDateDMY } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Search/SearchFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Search/SearchFields.js index e05239b9836..61bc317752f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Search/SearchFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Search/SearchFields.js @@ -17,7 +17,7 @@ import { Loader, CardText, Header, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; const SearchFields = ({ register, control, reset, tenantId, t, previousPage, formState, isLoading }) => { const isMobile = window.Digit.Utils.browser.isMobile(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Search/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Search/index.js index 3a5a22640d5..8d1be81fae7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Search/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/Search/index.js @@ -1,4 +1,4 @@ -import { BackButton, Card, Header, SearchForm, Table, Loader,DownloadBtnCommon } from "@egovernments/digit-ui-react-components"; +import { BackButton, Card, Header, SearchForm, Table, Loader,DownloadBtnCommon } from "@upyog/digit-ui-react-components"; import React, { useCallback, useEffect, useMemo , useState} from "react"; import { Controller, useForm } from "react-hook-form"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/CitizenSideBar.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/CitizenSideBar.js index f12422ed7a1..a7cceb88add 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/CitizenSideBar.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/CitizenSideBar.js @@ -1,6 +1,6 @@ import { Loader, NavBar -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/CitizenSubMenuSideBar.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/CitizenSubMenuSideBar.js index 0edb1c95539..2f4d9b9216a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/CitizenSubMenuSideBar.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/CitizenSubMenuSideBar.js @@ -13,7 +13,7 @@ import { BirthIcon, DeathIcon, FirenocIcon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const CitizenSubMenuSideBar = ({ item }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/EmployeeSideBar.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/EmployeeSideBar.js index d5430641268..f85f2487b2b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/EmployeeSideBar.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/EmployeeSideBar.js @@ -1,6 +1,6 @@ import React, { useRef, useEffect, useState } from "react"; import SubMenu from "./SubMenu"; -import { Loader, SearchIcon } from "@egovernments/digit-ui-react-components"; +import { Loader, SearchIcon } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import NavItem from "./NavItem"; import _, { findIndex } from "lodash"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/NavItem.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/NavItem.js index 1247e290415..f52489f9f3c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/NavItem.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/NavItem.js @@ -14,7 +14,7 @@ import { CollectionsBookmarIcons, FinanceChartIcon, CollectionIcon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import ReactTooltip from 'react-tooltip'; import { useTranslation } from 'react-i18next'; @@ -40,7 +40,7 @@ const NavItem = props => { const leftIcon = IconsObject[leftIconArray] || IconsObject.collections; const iconArr=icon?.leftIcon?.split?.(":")|| leftIcon?.split?.(":"); if(iconArr?.[0]=='dynamic'){ - var IconComp = require("@egovernments/digit-ui-react-components")?.[iconArr?.[1]]; + var IconComp = require("@upyog/digit-ui-react-components")?.[iconArr?.[1]]; leftIcon=IconComp?:leftIcon; } const getModuleName = label?.replace(/[ -]/g, "_").toUpperCase(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/NavItemHeader.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/NavItemHeader.js index e9df67621e0..54c587532c6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/NavItemHeader.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/NavItemHeader.js @@ -16,7 +16,7 @@ import { CollectionsBookmarIcons, FinanceChartIcon, CollectionIcon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import ReactTooltip from "react-tooltip"; import { useTranslation } from 'react-i18next'; @@ -50,7 +50,7 @@ const NavItemHeader = props => { const leftIcon = IconsObject[leftIconArray] || IconsObject.collections; const iconArr=item?.icon?.leftIcon?.split?.(":")|| item?.leftIcon?.split?.(":"); if(iconArr?.[0]=='dynamic'){ - var IconComp = require("@egovernments/digit-ui-react-components")?.[iconArr?.[1]]; + var IconComp = require("@upyog/digit-ui-react-components")?.[iconArr?.[1]]; leftIcon=IconComp?:leftIcon; } const getModuleName = label?.replace(/[ -]/g, "_").toUpperCase(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/StaticCitizenSideBar.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/StaticCitizenSideBar.js index 98e7d182b9d..1c789e8ed49 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/StaticCitizenSideBar.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/StaticCitizenSideBar.js @@ -19,7 +19,7 @@ import { DeathIcon, FirenocIcon, LoginIcon -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { Link, useLocation } from "react-router-dom"; import SideBarMenu from "../../../config/sidebar-menu"; import { useTranslation } from "react-i18next"; @@ -55,7 +55,7 @@ Feature :: Citizen Webview sidebar const Profile = ({ info, stateName, t }) => (
- +
{info?.name}
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/SubMenu.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/SubMenu.js index 23829f05af6..8bca1100239 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/SubMenu.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/SideBar/SubMenu.js @@ -16,7 +16,7 @@ import { CollectionsBookmarIcons, FinanceChartIcon, CollectionIcon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import ReactTooltip from "react-tooltip"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/TopBar.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/TopBar.js index fa78b39e6b2..7a7c7009c6d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/TopBar.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/TopBar.js @@ -1,4 +1,4 @@ -import { Dropdown, Hamburger, TopBar as TopBarComponent } from "@egovernments/digit-ui-react-components"; +import { Dropdown, Hamburger, TopBar as TopBarComponent } from "@upyog/digit-ui-react-components"; import React from "react"; import { useHistory, useLocation } from "react-router-dom"; import ChangeCity from "../ChangeCity"; @@ -141,7 +141,7 @@ const TopBar = ({ profilePic == null ? ( ) : ( - + ) } /> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/index.js index 03252277446..7fff16d27cf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/components/TopBarSideBar/index.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { EditPencilIcon, LogoutIcon } from "@egovernments/digit-ui-react-components"; +import { EditPencilIcon, LogoutIcon } from "@upyog/digit-ui-react-components"; import TopBar from "./TopBar"; import { useHistory } from "react-router-dom"; import SideBar from "./SideBar"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/config/employee-sidebar-menu.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/config/employee-sidebar-menu.js index 719bd0d65ed..83941874b44 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/config/employee-sidebar-menu.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/config/employee-sidebar-menu.js @@ -11,7 +11,7 @@ import { ReceiptIcon, CaseIcon, ComplaintIcon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; const EmployeeSideBarMenu = (t, HRMS, FSM, PT, mCollect, DSS, RECEIPTS, TL, NOC, FSTPOperator, PGR, ...links) => [ HRMS && { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/config/sidebar-menu.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/config/sidebar-menu.js index 79ddee07fed..b4d31146e40 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/config/sidebar-menu.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/config/sidebar-menu.js @@ -1,5 +1,5 @@ import React from "react"; -import { HomeIcon, LanguageIcon, LogoutIcon, AddressBookIcon, LocationIcon, LoginIcon } from "@egovernments/digit-ui-react-components"; +import { HomeIcon, LanguageIcon, LogoutIcon, AddressBookIcon, LocationIcon, LoginIcon } from "@upyog/digit-ui-react-components"; import ChangeLanguage from "../components/ChangeLanguage"; const SideBarMenu = (t, closeSidebar, redirectToLoginPage, isEmployee, storeData, tenantId) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/ChallanQRCode.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/ChallanQRCode.js new file mode 100644 index 00000000000..36c9e69b080 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/ChallanQRCode.js @@ -0,0 +1,82 @@ +import React from "react"; +import { Card, Row, CardHeader, StatusTable } from "@upyog/digit-ui-react-components"; +import { useTranslation } from "react-i18next"; +import { useParams, useHistory, useRouteMatch } from "react-router-dom"; +const ChallanQRCode = ({ path }) => { + const { t } = useTranslation(); + const convertEpochToDate = (dateEpoch) => { + // Returning NA in else case because new Date(null) returns Current date from calender + if (dateEpoch) { + const dateFromApi = new Date(dateEpoch); + let month = dateFromApi.getMonth() + 1; + let day = dateFromApi.getDate(); + let year = dateFromApi.getFullYear(); + month = (month > 9 ? "" : "0") + month; + day = (day > 9 ? "" : "0") + day; + return `${day}/${month}/${year}`; + } else { + return "NA"; + } + }; + const convertToLocale = (value = "", key = "") => { + let convertedValue = convertDotValues(value); + if (convertedValue == "NA") { + return "PT_NA"; + } + return `${key}_${convertedValue}`; + }; + + const convertDotValues = (value = "") => { + return ( + (checkForNotNull(value) && ((value.replaceAll && value.replaceAll(".", "_")) || (value.replace && stringReplaceAll(value, ".", "_")))) || "NA" + ); + }; + const checkForNotNull = (value = "") => { + return value && value != null && value != undefined && value != "" ? true : false; + }; + const getFinancialYears = (from, to) => { + const fromDate = new Date(from); + const toDate = new Date(to); + if (toDate.getYear() - fromDate.getYear() != 0) { + return `FY${fromDate.getYear() + 1900}-${toDate.getYear() - 100}`; + } + return `${fromDate.toLocaleDateString()}-${toDate.toLocaleDateString()}`; + }; + const city = window.location.href.split("/challan/details?")?.[1].split("&")?.[0].split("=")[1] + const challan = window.location.href.split("challan/details?")?.[1].split("&")?.[1].split("=")[1] + const {isLoading , data, ...rest }= Digit.Hooks.mcollect.useMCollectSearch({ + tenantId:city, + filters: { challanNo: challan }, + }); + return ( + +
+ + Challan summary + {!isLoading? + + + + + + + + :null} + + + + + +
+
+ ); +}; +export default ChallanQRCode; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/FAQs/FAQs.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/FAQs/FAQs.js index 727108700b2..ecaca8710f1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/FAQs/FAQs.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/FAQs/FAQs.js @@ -1,4 +1,4 @@ -import { Header, TextInput, SearchIconSvg, ArrowForward, Loader, BackButton} from "@egovernments/digit-ui-react-components"; +import { Header, TextInput, SearchIconSvg, ArrowForward, Loader, BackButton} from "@upyog/digit-ui-react-components"; import React, { useState, Fragment, useRef, useEffect}from "react"; import { useTranslation } from "react-i18next"; import FaqComponent from "./FaqComponent"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/FAQs/FaqComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/FAQs/FaqComponent.js index 6720c886a5f..4ac772e5b51 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/FAQs/FaqComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/FAQs/FaqComponent.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { ArrowForward } from "@egovernments/digit-ui-react-components"; +import { ArrowForward } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const FaqComponent = props => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/ImageUpload/ImgUp.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/ImageUpload/ImgUp.js index 77319653fd9..391d41b365d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/ImageUpload/ImgUp.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/ImageUpload/ImgUp.js @@ -1,5 +1,5 @@ import React,{useState,useEffect} from "react"; -import{UploadFile} from '@egovernments/digit-ui-react-components'; +import{UploadFile} from '@upyog/digit-ui-react-components'; const ImgUp=()=>{ const [uploadedFile, setUploadedFile] = useState("a"); const [file,setFile] = useState("") diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/ImageUpload/UploadDrawer.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/ImageUpload/UploadDrawer.js index 1eb56769351..c9d3d7c7a02 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/ImageUpload/UploadDrawer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/ImageUpload/UploadDrawer.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { GalleryIcon, RemoveIcon, UploadFile } from "@egovernments/digit-ui-react-components"; +import { GalleryIcon, RemoveIcon, UploadFile } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; function UploadDrawer({ setProfilePic, closeDrawer, userType, removeProfilePic ,showToast}) { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/LanguageSelection.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/LanguageSelection.js index 08c3e5db035..b1a4049b1c3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/LanguageSelection.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/LanguageSelection.js @@ -1,5 +1,5 @@ import React, { useMemo } from "react"; -import { PageBasedInput, Loader, RadioButtons, CardHeader } from "@egovernments/digit-ui-react-components"; +import { PageBasedInput, Loader, RadioButtons, CardHeader } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; @@ -9,7 +9,7 @@ const LanguageSelection = () => { const { data: { languages, stateInfo } = {}, isLoading } = Digit.Hooks.useStore.getInitData(); const selectedLanguage = Digit.StoreData.getCurrentLanguage(); - +console.log("languageslanguages",languages) const texts = useMemo( () => ({ header: t("CS_COMMON_CHOOSE_LANGUAGE"), diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/LocationSelection.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/LocationSelection.js index b1839b6ccf8..4175846c6c6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/LocationSelection.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/LocationSelection.js @@ -1,4 +1,4 @@ -import { BackButton, CardHeader, CardLabelError, PageBasedInput, SearchOnRadioButtons } from "@egovernments/digit-ui-react-components"; +import { BackButton, CardHeader, CardLabelError, PageBasedInput, SearchOnRadioButtons } from "@upyog/digit-ui-react-components"; import React, { useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/UserProfile.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/UserProfile.js index c6c85f894d1..b6f5422cb40 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/UserProfile.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/UserProfile.js @@ -11,11 +11,12 @@ import { BackButton, Loader, DatePicker -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; import UploadDrawer from "./ImageUpload/UploadDrawer"; +import { subYears, format, differenceInYears } from "date-fns"; const defaultImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADUCAMAAACs0e/bAAAAM1BMVEXK0eL" + @@ -49,12 +50,16 @@ const UserProfile = ({ stateCode, userType, cityDetails }) => { const userInfo = Digit.UserService.getUser()?.info || {}; const [userDetails, setUserDetails] = useState(null); const [name, setName] = useState(userInfo?.name ? userInfo.name : ""); - const [dob, setDob] = useState(userInfo?.dob? userInfo.dob: ""); + const dateOfBirth= userDetails?.dob + console.log("ddd", dateOfBirth) + const formattedDob=(dateOfBirth!==undefined) ?format(new Date(dateOfBirth), 'MM/dd/yyyy') : "" + //const dateOfBirth1= (dateOfBirth!==undefined) ?dateOfBirth.split("-").reverse().join("-") : "" + const [dob, setDob] = useState(dateOfBirth); const [email, setEmail] = useState(userInfo?.emailId ? userInfo.emailId : ""); const [gender, setGender] = useState(userDetails?.gender); const [city, setCity] = useState(userInfo?.permanentCity ? userInfo.permanentCity : cityDetails.name); const [mobileNumber, setMobileNo] = useState(userInfo?.mobileNumber ? userInfo.mobileNumber : ""); - const [profilePic, setProfilePic] = useState(null); + const [profilePic, setProfilePic] = useState(userDetails?.photo ? userDetails?.photo : ""); const [profileImg, setProfileImg] = useState(""); const [openUploadSlide, setOpenUploadSide] = useState(false); const [changepassword, setChangepassword] = useState(false); @@ -98,13 +103,16 @@ const UserProfile = ({ stateCode, userType, cityDetails }) => { setLoading(false); }, [userDetails !== null]); - console.log("Details",userDetails) let validation = {}; const editScreen = false; // To-do: Deubug and make me dynamic or remove if not needed const onClickAddPic = () => setOpenUploadSide(!openUploadSlide); const TogleforPassword = () => setChangepassword(!changepassword); const setGenderName = (value) => setGender(value); + + const setUserDOB =(value)=> { + setDob(value); + } const closeFileUploadDrawer = () => setOpenUploadSide(false); const setUserName = (value) => { @@ -184,7 +192,7 @@ const UserProfile = ({ stateCode, userType, cityDetails }) => { const requestData = { ...userInfo, name, - dob, + dob: dob!== undefined ? dob.split("-").reverse().join("/") : "", gender: gender?.value, emailId: email, photo: profilePic, @@ -227,10 +235,11 @@ const UserProfile = ({ stateCode, userType, cityDetails }) => { info: { ...user.info, name, - dob, + //DOB, mobileNumber, emailId: email, permanentCity: city, + photo: profileImg }, }); } @@ -438,7 +447,7 @@ const UserProfile = ({ stateCode, userType, cityDetails }) => { {`${t("CORE_COMMON_PROFILE_DOB")}`}*
- + {errors?.userName && {errors?.userName?.message} }
@@ -454,7 +463,7 @@ const UserProfile = ({ stateCode, userType, cityDetails }) => { name="email" value={email} onChange={(e)=>setUserEmailAddress(e.target.value)} - disable={!editScreen} + disable={editScreen} /> {errors?.emailAddress && {errors?.emailAddress?.message} }
@@ -585,7 +594,7 @@ const UserProfile = ({ stateCode, userType, cityDetails }) => { "CORE_COMMON_PROFILE_DOB" )}`}
- + {/* {errors?.emailAddress && {errors?.emailAddress?.message} } */}
@@ -712,4 +721,4 @@ const UserProfile = ({ stateCode, userType, cityDetails }) => { ); }; -export default UserProfile; +export default UserProfile; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/index.js index 54f8659ca49..a8ac8381e00 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Home/index.js @@ -14,7 +14,7 @@ import { WhatsNewCard, OBPSIcon, WSICon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; import { CitizenSideBar } from "../../../components/TopBarSideBar/SideBar/CitizenSideBar"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/HowItWorks/howItWorks.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/HowItWorks/howItWorks.js index 2bf381a603c..d36897839e6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/HowItWorks/howItWorks.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/HowItWorks/howItWorks.js @@ -1,4 +1,4 @@ -import { Header, CloseSvg, DownloadImgIcon, CustomButton, Loader, BackButton, PDFSvg, DownloadBtnCommon} from "@egovernments/digit-ui-react-components"; +import { Header, CloseSvg, DownloadImgIcon, CustomButton, Loader, BackButton, PDFSvg, DownloadBtnCommon} from "@upyog/digit-ui-react-components"; import React, { useState, Fragment }from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectMobileNumber.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectMobileNumber.js index 1d8d3387ff9..7cf8d694fcf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectMobileNumber.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectMobileNumber.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { CardText, FormStep, CitizenConsentForm, Loader, CheckBox } from "@egovernments/digit-ui-react-components"; +import { CardText, FormStep, CitizenConsentForm, Loader, CheckBox } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; const SelectMobileNumber = ({ t, onSelect, showRegisterLink, mobileNumber, onMobileChange, config, canSubmit }) => { @@ -63,7 +63,14 @@ const SelectMobileNumber = ({ t, onSelect, showRegisterLink, mobileNumber, onMob } }; if (isLoading) return - + const register = async (e) => { + const data = await Digit.DigiLockerService.register({ module: "REGISTER" }); + e.preventDefault() + const redirectUrl = data.redirectURL.replace("https://upyog-test.niua.org", "http://localhost:3001") + console.log("data", data) + sessionStorage.setItem("code_verfier_register", data?.codeverifier) + window.location.href = redirectUrl + } return (
)} +
+ +
); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectName.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectName.js index 6f4bc3d7aa7..958ac7f329a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectName.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectName.js @@ -1,5 +1,5 @@ import React from "react"; -import { FormStep } from "@egovernments/digit-ui-react-components"; +import { FormStep } from "@upyog/digit-ui-react-components"; const SelectName = ({ config, onSelect, t, isDisabled }) => { return ; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectOtp.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectOtp.js index 84d7cd6f910..8c2767c947e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectOtp.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/SelectOtp.js @@ -1,22 +1,95 @@ -import React, { useState, Fragment } from "react"; -import { ButtonSelector, CardText, FormStep, LinkButton, OTPInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import React, { useState, Fragment, useEffect } from "react"; +import { ButtonSelector, CardText, FormStep, LinkButton, OTPInput, CardLabelError } from "@upyog/digit-ui-react-components"; import useInterval from "../../../hooks/useInterval"; const SelectOtp = ({ config, otp, onOtpChange, onResend, onSelect, t, error, userType = "citizen", canSubmit }) => { const [timeLeft, setTimeLeft] = useState(30); - + const TYPE_REGISTER = { type: "register" }; + const [errorRegister, setErrorRegister]= useState(false) + const getUserType = () => Digit.UserService.getType(); + let newData={} useInterval( () => { setTimeLeft(timeLeft - 1); }, timeLeft > 0 ? 1000 : null ); + useEffect(async ()=>{ + //sessionStorage.setItem("DigiLocker.token1","cf87055822e4aa49b0ba74778518dc400a0277e5") + if(window.location.href.includes("code")) + { + let code =window.location.href.split("=")[1].split("&")[0] + let TokenReq = { + code_verifier: sessionStorage.getItem("code_verfier_register"), + code: code, module: "REGISTER" + } + console.log("token",code,TokenReq,sessionStorage.getItem("code_verfier_register")) + // const data = await Digit.DigiLockerService.token({TokenReq }) + + fetch('https://api.digitallocker.gov.in/public/oauth2/1/token', { + method: 'POST', + mode: 'cors', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + "Access-Control-Allow-Origin": "*", + "Access-Control-Allow-Methods": "PUT, DELETE,POST" + }, + body: new URLSearchParams({ + 'code': code, + 'grant_type': "authorization_code", + 'client_id': "YN77ADDADE", + "client_secret": "71abd480b5811ab72277", + "redirect_uri": "http://localhost:3001/digit-ui/citizen/login/otp", + "code_verifier": sessionStorage.getItem("code_verfier_register") + }) + }) .then(response => + {response.json().then(data => ( + + registerUser(data) + + + ))}) + + //console.log("datadatadata",data,newData) + //sessionStorage.setItem("DigiLocker.registerToken",data?.TokenRes?.access_token) + + } + },[]) + const registerUser = async (response) => { + console.log("registerUser",response) + const data = { + dob: "1998-02-03", + mobileNumber: response.mobile, + name: response.name, + tenantId: "pg", + userType: getUserType(), + }; + + const res = await sendOtp({ otp: { ...data, ...TYPE_REGISTER } }); + if(res?.[1]) + { + console.log("gggg",res?.[1],typeof(res?.[1])) + setErrorRegister(true) + setTimeout(() => { + window.location.href = window.location.href.split("/otp")[0] + }, 3000); + + } + }; const handleResendOtp = () => { onResend(); setTimeLeft(2); }; - + const sendOtp = async (data) => { + try { + console.log("sendOtpsendOtp",data) + const res = await Digit.UserService.sendOtp(data, "pg"); + return [res, null]; + } catch (err) { + return [null, err]; + } + }; if (userType === "employee") { return ( @@ -44,6 +117,7 @@ const SelectOtp = ({ config, otp, onOtpChange, onResend, onSelect, t, error, use

)} {!error && {t("CS_INVALID_OTP")}} + {!errorRegister && {t("CS_ALREADY_REGISTERED")}} ); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/index.js index daf021bf1da..bb1133ac5fd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/Login/index.js @@ -1,6 +1,6 @@ import React, { useEffect, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; -import { AppContainer, BackButton, Toast } from "@egovernments/digit-ui-react-components"; +import { AppContainer, BackButton, Toast } from "@upyog/digit-ui-react-components"; import { Route, Switch, useHistory, useRouteMatch, useLocation } from "react-router-dom"; import { loginSteps } from "./config"; import SelectMobileNumber from "./SelectMobileNumber"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/QRCode.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/QRCode.js index 211ad4e5421..a1956a6c599 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/QRCode.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/QRCode.js @@ -1,5 +1,5 @@ import React from "react"; -import { Card, Row, CardHeader, StatusTable } from "@egovernments/digit-ui-react-components"; +import { Card, Row, CardHeader, StatusTable } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const QRCode = ({ path }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/StaticDynamicComponent/StaticDynamicCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/StaticDynamicComponent/StaticDynamicCard.js index c24ad3a1e30..8fa0fcb1fb2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/StaticDynamicComponent/StaticDynamicCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/StaticDynamicComponent/StaticDynamicCard.js @@ -13,7 +13,7 @@ import { ComplaintIcon, BPAHomeIcon, WSICon -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/index.js index b9b0fb03c3e..425d975a93e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/citizen/index.js @@ -1,4 +1,4 @@ -import { BackButton, WhatsappIcon, Card, CitizenHomeCard, CitizenInfoLabel, PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { BackButton, WhatsappIcon, Card, CitizenHomeCard, CitizenInfoLabel, PrivateRoute } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Route, Switch, useRouteMatch, useHistory, Link } from "react-router-dom"; @@ -18,7 +18,8 @@ import StaticDynamicCard from "./StaticDynamicComponent/StaticDynamicCard"; import AcknowledgementCF from "../../components/AcknowledgementCF"; import CitizenFeedback from "../../components/CitizenFeedback"; import Search from "./SearchApp"; -import QRCode from "./QRCode" +import QRCode from "./QRCode"; +import ChallanQRCode from "./ChallanQRCode"; const sidebarHiddenFor = [ "digit-ui/citizen/register/name", "/digit-ui/citizen/select-language", @@ -213,6 +214,9 @@ const Home = ({ + + + {appRoutes} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ChangePassword/changePassword.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ChangePassword/changePassword.js index f19cf6bd091..8dd43527775 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ChangePassword/changePassword.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ChangePassword/changePassword.js @@ -1,6 +1,6 @@ import { BackButton, CardSubHeader, CardText, FormComposer, Toast -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import PropTypes from "prop-types"; import React, { useEffect, useState } from "react"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ChangePassword/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ChangePassword/index.js index b6481305a28..46f425f14c3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ChangePassword/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ChangePassword/index.js @@ -1,6 +1,6 @@ import React, { useMemo } from "react"; import { useTranslation } from "react-i18next"; -import { AppContainer } from "@egovernments/digit-ui-react-components"; +import { AppContainer } from "@upyog/digit-ui-react-components"; import { Route, Switch, useRouteMatch } from "react-router-dom"; import { config } from "./config"; import ChangePasswordComponent from "./changePassword"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ForgotPassword/forgotPassword.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ForgotPassword/forgotPassword.js index 574acad1cf8..8797b2a55bd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ForgotPassword/forgotPassword.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ForgotPassword/forgotPassword.js @@ -1,4 +1,4 @@ -import { BackButton, Dropdown, FormComposer, Loader, Toast } from "@egovernments/digit-ui-react-components"; +import { BackButton, Dropdown, FormComposer, Loader, Toast } from "@upyog/digit-ui-react-components"; import PropTypes from "prop-types"; import React, { useEffect, useState } from "react"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ForgotPassword/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ForgotPassword/index.js index 3b4334e642e..15a79aa6b28 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ForgotPassword/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/ForgotPassword/index.js @@ -1,6 +1,6 @@ import React, { useMemo } from "react"; import { useTranslation } from "react-i18next"; -import { AppContainer } from "@egovernments/digit-ui-react-components"; +import { AppContainer } from "@upyog/digit-ui-react-components"; import { Route, Switch, useRouteMatch } from "react-router-dom"; import { loginConfig } from "./config"; import ForgotPasswordComponent from "./forgotPassword"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/LanguageSelection/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/LanguageSelection/index.js index c172348ca94..9028a615569 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/LanguageSelection/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/LanguageSelection/index.js @@ -1,4 +1,4 @@ -import { Card, CustomButton, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, CustomButton, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/Login/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/Login/index.js index 5f4c93f5f53..1b5188e1cd0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/Login/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/Login/index.js @@ -1,6 +1,6 @@ import React, { useMemo } from "react"; import { useTranslation } from "react-i18next"; -import { AppContainer } from "@egovernments/digit-ui-react-components"; +import { AppContainer } from "@upyog/digit-ui-react-components"; import { Route, Switch, useRouteMatch } from "react-router-dom"; import { loginConfig } from "./config"; import LoginComponent from "./login"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/Login/login.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/Login/login.js index 0e7bd2ff6fa..fd55612e872 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/Login/login.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/Login/login.js @@ -1,4 +1,4 @@ -import { BackButton, Dropdown, FormComposer, Loader, Toast } from "@egovernments/digit-ui-react-components"; +import { BackButton, Dropdown, FormComposer, Loader, Toast } from "@upyog/digit-ui-react-components"; import PropTypes from "prop-types"; import React, { useEffect, useState } from "react"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/index.js index 95bc25becc0..8372185885a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/core/src/pages/employee/index.js @@ -10,7 +10,7 @@ import LanguageSelection from "./LanguageSelection"; import EmployeeLogin from "./Login"; import UserProfile from "../citizen/Home/UserProfile"; import ErrorComponent from "../../components/ErrorComponent"; -import { PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute } from "@upyog/digit-ui-react-components"; const userScreensExempted = ["user/profile", "user/error"]; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/package.json index 8a59ce5bdd3..7e9be5fac20 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/package.json @@ -1,5 +1,5 @@ { - "name": "@egovernments/digit-ui-module-dss", + "name": "@upyog/digit-ui-module-dss", "version": "1.7.0-beta.2", "license": "MIT", "description": "Digit Dashboard Module", @@ -19,19 +19,20 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", + "lodash": "4.17.21", "react": "17.0.2", "react-date-range": "1.3.0", "react-dom": "17.0.2", "react-hook-form": "6.15.8", "react-i18next": "11.16.2", + "react-inlinesvg": "1.1.7", "react-query": "3.6.1", "react-router-dom": "5.3.0", - "react-time-picker": "4.2.1", - "recharts": "^2.0.9", "react-simple-maps": "2.0.0", + "react-time-picker": "4.2.1", "react-tooltip": "4.1.2", - "react-inlinesvg": "1.1.7", - "lodash": "4.17.21" + "recharts": "^2.0.9" } } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/Module.js index b427bc1f4b3..b07fd3dc3af 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/Module.js @@ -1,7 +1,7 @@ import React, { Fragment } from "react"; import { useTranslation } from "react-i18next"; // import { useRouteMatch } from "react-router"; -import { BackButton, Loader, PrivateRoute, BreadCrumb } from "@egovernments/digit-ui-react-components"; +import { BackButton, Loader, PrivateRoute, BreadCrumb } from "@upyog/digit-ui-react-components"; import DashBoard from "./pages"; import NewDashBoard from "./pages/NewDashboard"; import Home from "./pages/Home"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomAreaChart.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomAreaChart.js index d3e34dcfbde..bad47ff3ae3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomAreaChart.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomAreaChart.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import { getDaysInMonth } from "date-fns"; import React, { useContext, useEffect, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomBarChart.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomBarChart.js index 209de10a03d..755d83f9584 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomBarChart.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomBarChart.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React, { Fragment, useContext, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomHorizontalBarChart.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomHorizontalBarChart.js index b9423bdc458..06009b20f88 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomHorizontalBarChart.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomHorizontalBarChart.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React, { Fragment, useContext, useEffect, useMemo } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomPieChart.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomPieChart.js index f536d1e2485..72a60f9592a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomPieChart.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomPieChart.js @@ -1,4 +1,4 @@ -import { Loader, RemoveableTag } from "@egovernments/digit-ui-react-components"; +import { Loader, RemoveableTag } from "@upyog/digit-ui-react-components"; import React, { useContext, useMemo, useState, Fragment, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { Cell, Legend, Pie, PieChart, ResponsiveContainer, Tooltip } from "recharts"; @@ -43,6 +43,12 @@ const CustomPieChart = ({ dataKey = "value", data, setChartDenomination, moduleC return acc; }, []); }, [response]); + const totalValue= useMemo(()=>{ + if(chartData){ + return chartData.reduce((total, entry)=> total+entry.value,0); + } + return 0; + }, [chartData]) const renderLegend = (value) => ( {t(`COMMON_MASTERS_${value && Digit.Utils.locale.getTransformedLocale(value)}`)} @@ -146,7 +152,20 @@ const CustomPieChart = ({ dataKey = "value", data, setChartDenomination, moduleC setdrillDownId(null); setPieSelected(null); }, [id]); - + const CustomLegend=({payload, totalValue})=>{ + return ( +
+ {payload.map((entry, index)=>( +
+
+ + {`${entry.value}:${(entry?.payload?.percent * 100).toFixed(1)}% (${Digit.Utils.dss.formatter(entry?.payload?.value, entry?.payload?.payload?.symbol, value?.denomination, true, t)} )`} + +
+ ))} +
+ ); + }; if (isLoading) { return ; } @@ -195,6 +214,7 @@ const CustomPieChart = ({ dataKey = "value", data, setChartDenomination, moduleC ))} + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomTable.js index 4bc820f921b..09d1eb9fec7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/CustomTable.js @@ -1,4 +1,4 @@ -import { DownwardArrow, Loader, Rating, RemoveableTag, Table, UpwardArrow } from "@egovernments/digit-ui-react-components"; +import { DownwardArrow, Loader, Rating, RemoveableTag, Table, UpwardArrow } from "@upyog/digit-ui-react-components"; import { differenceInCalendarDays, subYears } from "date-fns"; import React, { useCallback, useContext, useEffect, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/DSSCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/DSSCard.js index 0e222627f6a..585cbb69140 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/DSSCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/DSSCard.js @@ -1,4 +1,4 @@ -import { ModuleCardFullWidth } from "@egovernments/digit-ui-react-components"; +import { ModuleCardFullWidth } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/DateRange.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/DateRange.js index 267fecc717c..f4c71b41ee0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/DateRange.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/DateRange.js @@ -1,4 +1,4 @@ -import { Calender } from "@egovernments/digit-ui-react-components"; +import { Calender } from "@upyog/digit-ui-react-components"; import { addHours, addMinutes, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/Filters.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/Filters.js index e65aa305ddc..2f36dfcbf98 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/Filters.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/Filters.js @@ -1,4 +1,4 @@ -import { CloseSvg, FilterIcon, MultiSelectDropdown, RefreshIcon, Dropdown } from "@egovernments/digit-ui-react-components"; +import { CloseSvg, FilterIcon, MultiSelectDropdown, RefreshIcon, Dropdown } from "@upyog/digit-ui-react-components"; import React, { useContext, useEffect, useMemo, useState } from "react"; import DateRange from "./DateRange"; import FilterContext from "./FilterContext"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/FiltersNational.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/FiltersNational.js index b82231381b3..3379d7e7656 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/FiltersNational.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/FiltersNational.js @@ -1,4 +1,4 @@ -import { CloseSvg, FilterIcon, MultiSelectDropdown, RefreshIcon } from "@egovernments/digit-ui-react-components"; +import { CloseSvg, FilterIcon, MultiSelectDropdown, RefreshIcon } from "@upyog/digit-ui-react-components"; import React, { useContext, useEffect, useState } from "react"; import DateRange from "./DateRange"; import FilterContext from "./FilterContext"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/GenericChart.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/GenericChart.js index 99bb47cb13a..3ecb1958478 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/GenericChart.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/GenericChart.js @@ -8,7 +8,7 @@ import { SearchIconSvg, TextInput, WhatsappIcon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useRef, Fragment, useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/MapChart.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/MapChart.js index f3ada1e41e5..0eab9aef854 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/MapChart.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/MapChart.js @@ -5,7 +5,7 @@ import { useTranslation } from "react-i18next"; import { get } from "lodash"; import FilterContext from "./FilterContext"; import { endOfMonth, getTime, startOfMonth } from "date-fns"; -import { Loader } from "@egovernments/digit-ui-react-components" +import { Loader } from "@upyog/digit-ui-react-components" import { ResponsiveContainer } from "recharts"; import { format } from "date-fns"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/MetricChart.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/MetricChart.js index 5a65aac2955..547ac347fa9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/MetricChart.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/MetricChart.js @@ -1,4 +1,4 @@ -import { DownwardArrow, Rating, UpwardArrow } from "@egovernments/digit-ui-react-components"; +import { DownwardArrow, Rating, UpwardArrow } from "@upyog/digit-ui-react-components"; import React, { Fragment, useContext, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import FilterContext from "./FilterContext"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/MetricChartNew.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/MetricChartNew.js index 3339e741fa9..45bf5892f58 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/MetricChartNew.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/MetricChartNew.js @@ -1,4 +1,4 @@ -import { DownwardArrow, Rating, UpwardArrow } from "@egovernments/digit-ui-react-components"; +import { DownwardArrow, Rating, UpwardArrow } from "@upyog/digit-ui-react-components"; import React, { Fragment, useContext, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import FilterContext from "./FilterContext"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/Summary.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/Summary.js index d70a15eda5b..25459351c94 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/Summary.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/Summary.js @@ -1,4 +1,4 @@ -import { Card, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Loader } from "@upyog/digit-ui-react-components"; import React, { useContext, useState } from "react"; import { useTranslation } from "react-i18next"; import { ArrowDownwardElement } from "./ArrowDownward"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/mapDrillDownTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/mapDrillDownTable.js index 89b33466256..7b13bf305dc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/mapDrillDownTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/components/mapDrillDownTable.js @@ -1,6 +1,6 @@ import React, { useContext } from "react"; import { useTranslation } from "react-i18next"; -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import { ResponsiveContainer } from "recharts"; import { format } from "date-fns"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/About.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/About.js index 1025d306326..ad3cb78341d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/About.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/About.js @@ -1,4 +1,4 @@ -import { Card, Loader, Header, CardSubHeader } from "@egovernments/digit-ui-react-components"; +import { Card, Loader, Header, CardSubHeader } from "@upyog/digit-ui-react-components"; import React, { Fragment } from "react"; import { useTranslation } from "react-i18next"; const About = () => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/DrillDown.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/DrillDown.js index 01798774727..7f711839f37 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/DrillDown.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/DrillDown.js @@ -1,4 +1,4 @@ -import { Header, Loader, RemoveableTag } from "@egovernments/digit-ui-react-components"; +import { Header, Loader, RemoveableTag } from "@upyog/digit-ui-react-components"; import { addMonths, endOfYear, format, startOfYear } from "date-fns"; import React, { useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/FAQs/FAQComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/FAQs/FAQComponent.js index f6995d6dd9e..3a266abb497 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/FAQs/FAQComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/FAQs/FAQComponent.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { ArrowForward } from "@egovernments/digit-ui-react-components"; +import { ArrowForward } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const FAQComponent = props => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/FAQs/FAQs.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/FAQs/FAQs.js index fb91f6547bf..4fa0e8b3265 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/FAQs/FAQs.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/FAQs/FAQs.js @@ -1,4 +1,4 @@ -import { Header, TextInput, ArrowForward, Loader, BackButton} from "@egovernments/digit-ui-react-components"; +import { Header, TextInput, ArrowForward, Loader, BackButton} from "@upyog/digit-ui-react-components"; import React, { useState, Fragment, useRef, useEffect}from "react"; import { useTranslation } from "react-i18next"; import FAQComponent from "./FAQComponent"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/Home.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/Home.js index 840a3c38071..49475cd0e89 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/Home.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/Home.js @@ -10,7 +10,7 @@ import { Rating, ShareIcon, WhatsappIcon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { format } from "date-fns"; import React, { useMemo, useRef, useState, useContext } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/NewDashboard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/NewDashboard.js index b4d40c430c1..b2f932d08eb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/NewDashboard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/NewDashboard.js @@ -8,7 +8,7 @@ import { RemoveableTag, ShareIcon, WhatsappIcon, - } from "@egovernments/digit-ui-react-components"; + } from "@upyog/digit-ui-react-components"; import { format } from "date-fns"; import React, { useEffect, Fragment, useMemo, useRef, useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/Overview.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/Overview.js index 26ca9c1b5f2..a716b5ce333 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/Overview.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/Overview.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { Header, Loader } from "@egovernments/digit-ui-react-components"; +import { Header, Loader } from "@upyog/digit-ui-react-components"; import Layout from "../components/Layout"; const Overview = () => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/index.js index 8e58cf58d5a..98dee8769f8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/dss/src/pages/index.js @@ -8,7 +8,7 @@ import { RemoveableTag, ShareIcon, WhatsappIcon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { format } from "date-fns"; import React, { useEffect, Fragment, useMemo, useRef, useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/package.json index 47476a1a1ee..00797cc7f60 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/package.json @@ -1,6 +1,6 @@ { - "name": "@egovernments/digit-ui-module-engagement", - "version": "1.7.0-beta.2", + "name": "@upyog/digit-ui-module-engagement", + "version": "1.7.0-beta.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "react": "17.0.2", "react-dom": "17.0.2", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/Module.js index 77af75d3cec..1e16610b69b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/Module.js @@ -1,4 +1,4 @@ -import { Loader, BreadCrumb } from "@egovernments/digit-ui-react-components"; +import { Loader, BreadCrumb } from "@upyog/digit-ui-react-components"; import React, {Fragment} from "react"; import { useTranslation } from "react-i18next"; import { Switch, useLocation, useRouteMatch, Route } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/ApplicationCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/ApplicationCard.js index 6dc3d45ee8e..c40fa5458e5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/ApplicationCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/ApplicationCard.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { Card, DetailsCard, Loader, PopUp, SearchAction, FilterAction } from "@egovernments/digit-ui-react-components"; +import { Card, DetailsCard, Loader, PopUp, SearchAction, FilterAction } from "@upyog/digit-ui-react-components"; import Filter from "./Filter"; import Search from "./Search"; import { useHistory, Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DesktopInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DesktopInbox.js index 5354ef707d5..7c306d537e5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DesktopInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DesktopInbox.js @@ -1,5 +1,5 @@ import React from "react"; -import { Card, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Loader } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import EventLink from "../Events/EventLink"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DocumentCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DocumentCard.js index 645c857be57..5d28fe9b1b5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DocumentCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DocumentCard.js @@ -10,7 +10,7 @@ import { ExternalLinkIcon, GenericFileIcon, PDFSvg -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { format } from 'date-fns'; import { getFileSize } from '../../utils'; import { downloadDocument, openDocumentLink, openUploadedDocument } from '../../utils'; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DocumentDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DocumentDetails.js index 118483dd37b..b78b318af7e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DocumentDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DocumentDetails.js @@ -1,4 +1,4 @@ -import { Header, ActionBar, SubmitBar, ExternalLinkIcon, Menu, GenericFileIcon, LinkButton } from '@egovernments/digit-ui-react-components'; +import { Header, ActionBar, SubmitBar, ExternalLinkIcon, Menu, GenericFileIcon, LinkButton } from '@upyog/digit-ui-react-components'; import React, { useState } from 'react' import { useTranslation } from 'react-i18next'; import { openDocumentLink, openUploadedDocument } from '../../utils'; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DocumentNotificationTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DocumentNotificationTable.js index a881bb1ee8c..150520bd186 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DocumentNotificationTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/DocumentNotificationTable.js @@ -1,5 +1,5 @@ import React from "react"; -import { Table } from "@egovernments/digit-ui-react-components"; +import { Table } from "@upyog/digit-ui-react-components"; const DocumentNotificationTable = ({ t, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/EngagementDocsULB.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/EngagementDocsULB.js index 8d04d8c1161..764f549e5f2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/EngagementDocsULB.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/EngagementDocsULB.js @@ -1,5 +1,5 @@ import React, { useEffect, useMemo } from "react"; -import { Card, Header, LabelFieldPair, CardLabel, TextInput, Dropdown, FormComposer, RemoveableTag } from "@egovernments/digit-ui-react-components"; +import { Card, Header, LabelFieldPair, CardLabel, TextInput, Dropdown, FormComposer, RemoveableTag } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import { useLocation } from "react-router-dom"; import { alphabeticalSortFunctionForTenantsBasedOnName } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/EngagementULBDropdown.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/EngagementULBDropdown.js index 06a0137752c..787cbf9a15e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/EngagementULBDropdown.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/EngagementULBDropdown.js @@ -1,5 +1,5 @@ import React from "react"; -import { LabelFieldPair, CardLabel, Dropdown,} from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, Dropdown,} from "@upyog/digit-ui-react-components"; import { Controller } from "react-hook-form"; import { alphabeticalSortFunctionForTenantsBasedOnName } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/Filter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/Filter.js index f4677a2a85b..7566db6cf27 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/Filter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/Filter.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { CloseSvg, Loader, SubmitBar, Dropdown, RefreshIcon } from "@egovernments/digit-ui-react-components"; +import { CloseSvg, Loader, SubmitBar, Dropdown, RefreshIcon } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/Search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/Search.js index 3b34afc8143..20b2cbfa591 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/Search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/Search.js @@ -1,6 +1,6 @@ import React, { useMemo } from "react"; import { useForm, Controller } from "react-hook-form"; -import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, Dropdown } from "@egovernments/digit-ui-react-components"; +import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, Dropdown } from "@upyog/digit-ui-react-components"; import { alphabeticalSortFunctionForTenantsBasedOnName } from "../../utils"; const Search = ({ onSearch, searchParams, searchFields, type, onClose, isInboxPage, t }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/Searchbar.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/Searchbar.js index 5acc271fa70..c04966a22bb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/Searchbar.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/Searchbar.js @@ -3,7 +3,7 @@ import { TextInput, SearchIconSvg, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; const Searchbar = ({searchValue, onChange, handleKeyPress, handleSearch, t}) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-category.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-category.js index 91bb2160242..ebfdc560250 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-category.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-category.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { Card, Header, LabelFieldPair, CardLabel, TextInput, Dropdown, FormComposer, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Header, LabelFieldPair, CardLabel, TextInput, Dropdown, FormComposer, Loader } from "@upyog/digit-ui-react-components"; import { Controller } from "react-hook-form"; const SelectCategory = ({ userType, t, setValue, onSelect, config, data, formData, register, errors, setError, clearErrors, formState, control }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-description.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-description.js index 8baca355cf8..3409134ac50 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-description.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-description.js @@ -9,7 +9,7 @@ import { Dropdown, FormComposer, TextArea, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const SelectULB = ({ userType, t, setValue, onSelect, config, data, formData, register, errors, setError, clearErrors, formState, control }) => { return ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-documents.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-documents.js index f64b262a238..76bb9810142 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-documents.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-documents.js @@ -1,4 +1,4 @@ -import { CardLabel, LabelFieldPair, TextInput, UploadFile, CardLabelError, Loader } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, TextInput, UploadFile, CardLabelError, Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState, useMemo } from "react"; import { Controller } from "react-hook-form"; import { useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-name.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-name.js index e46396d7dd8..69d780268af 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-name.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Documents/engagement-doc-name.js @@ -1,5 +1,5 @@ import React from "react"; -import { LabelFieldPair, CardLabel, TextInput } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput } from "@upyog/digit-ui-react-components"; const DocumentName = ({ userType, t, setValue, onSelect, config, data, formData, register, errors, setError, clearErrors, formState, control }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/EngagementCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/EngagementCard.js index acdb588b6ed..ff64c46206a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/EngagementCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/EngagementCard.js @@ -8,7 +8,7 @@ import { PMBIconSolid, SurveyIconSolid, PropertyHouse, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; const EngagementCard = () => { const userRoles = Digit.SessionStorage.get("User")?.info?.roles; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/ApplicationCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/ApplicationCard.js index 17f0ae0b579..b6a2aed6aa5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/ApplicationCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/ApplicationCard.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { Card, DetailsCard, Loader, PopUp, SearchAction, FilterAction } from "@egovernments/digit-ui-react-components"; +import { Card, DetailsCard, Loader, PopUp, SearchAction, FilterAction } from "@upyog/digit-ui-react-components"; import Filter from "./Filter"; import Search from "./Search"; import { areEqual } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/ApplicationTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/ApplicationTable.js index 947a48876f4..543eccc0bc7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/ApplicationTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/ApplicationTable.js @@ -1,5 +1,5 @@ import React from "react"; -import { Table } from "@egovernments/digit-ui-react-components"; +import { Table } from "@upyog/digit-ui-react-components"; const ApplicationTable = ({ t, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/DesktopInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/DesktopInbox.js index 66dca8c8596..d94deef0326 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/DesktopInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/DesktopInbox.js @@ -1,7 +1,7 @@ import React from "react"; import { format } from "date-fns"; import { Link } from "react-router-dom"; -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import ApplicationTable from "./ApplicationTable"; import Search from "./Search"; import EventLink from "./EventLink"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/DocumentDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/DocumentDetails.js index e3b25fd5ae0..06d9c40ac88 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/DocumentDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/DocumentDetails.js @@ -1,4 +1,4 @@ -import { Header, ActionBar, SubmitBar, PDFSvg, Menu, GenericFileIcon, Loader } from '@egovernments/digit-ui-react-components'; +import { Header, ActionBar, SubmitBar, PDFSvg, Menu, GenericFileIcon, Loader } from '@upyog/digit-ui-react-components'; import React, { useState } from 'react' import { useTranslation } from 'react-i18next'; import { useParams, useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/DropdownUlb.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/DropdownUlb.js index 381b77af0b1..1c47f3ac5e1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/DropdownUlb.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/DropdownUlb.js @@ -1,4 +1,4 @@ -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; import React from "react"; const DropdownUlb = ({ ulb, onAssignmentChange, value, t }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/EventForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/EventForm.js index 4fa101cd821..22e8e05638b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/EventForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/EventForm.js @@ -1,4 +1,4 @@ -import { TextInput, CardLabel, LabelFieldPair, Dropdown, Loader, LocationSearch, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { TextInput, CardLabel, LabelFieldPair, Dropdown, Loader, LocationSearch, CardLabelError } from "@upyog/digit-ui-react-components"; import React, { Fragment, useMemo } from "react"; import { useTranslation } from "react-i18next"; import { Controller } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/EventLink.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/EventLink.js index 6f9f8505a80..4a6a2dd4d59 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/EventLink.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/EventLink.js @@ -1,5 +1,5 @@ import React from "react"; -import { Card, DocumentIcon, EventCalendar } from "@egovernments/digit-ui-react-components"; +import { Card, DocumentIcon, EventCalendar } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/Filter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/Filter.js index 82f16c788e7..313777be28f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/Filter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/Filter.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { ActionBar, RemoveableTag, CloseSvg, Loader, DateRange, Localities, ApplyFilterBar, SubmitBar, Dropdown, RefreshIcon } from "@egovernments/digit-ui-react-components"; +import { ActionBar, RemoveableTag, CloseSvg, Loader, DateRange, Localities, ApplyFilterBar, SubmitBar, Dropdown, RefreshIcon } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import Status from "./Status"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/Search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/Search.js index 9c43d96c8f8..a771cd15f29 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/Search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/Search.js @@ -1,6 +1,6 @@ import React from "react"; import { useForm, Controller } from "react-hook-form"; -import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker } from "@egovernments/digit-ui-react-components"; +import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker } from "@upyog/digit-ui-react-components"; import DropdownUlb from "./DropdownUlb"; import { alphabeticalSortFunctionForTenantsBasedOnName } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/SelectGeoLocation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/SelectGeoLocation.js index ffa44d84127..be6a5a3d71a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/SelectGeoLocation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/SelectGeoLocation.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { CardLabel, LabelFieldPair, LocationSearch } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, LocationSearch } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const SelectGeolocation = ({ onSelect, config, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/SelectToDate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/SelectToDate.js index 54d3a07bc8c..1829f92d753 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/SelectToDate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/SelectToDate.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { TextInput, CardLabel, LabelFieldPair, Dropdown, Loader, LocationSearch, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { TextInput, CardLabel, LabelFieldPair, Dropdown, Loader, LocationSearch, CardLabelError } from "@upyog/digit-ui-react-components"; import { Controller } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { isValid, format, startOfToday } from 'date-fns'; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/StatusCount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/StatusCount.js index 48e4a1e7b44..001f28ef3ab 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/StatusCount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Events/StatusCount.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { CheckBox } from "@egovernments/digit-ui-react-components"; +import { CheckBox } from "@upyog/digit-ui-react-components"; const StatusCount = ({ status, onAssignmentChange, searchParams }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/ApplicationCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/ApplicationCard.js index 602f48e274d..79503d2af67 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/ApplicationCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/ApplicationCard.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { Card, DetailsCard, Loader, PopUp, SearchAction, FilterAction } from "@egovernments/digit-ui-react-components"; +import { Card, DetailsCard, Loader, PopUp, SearchAction, FilterAction } from "@upyog/digit-ui-react-components"; import Filter from "./Filter"; import Search from "./Search"; import { areEqual } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/ApplicationTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/ApplicationTable.js index 947a48876f4..543eccc0bc7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/ApplicationTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/ApplicationTable.js @@ -1,5 +1,5 @@ import React from "react"; -import { Table } from "@egovernments/digit-ui-react-components"; +import { Table } from "@upyog/digit-ui-react-components"; const ApplicationTable = ({ t, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/DesktopInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/DesktopInbox.js index 176828af02a..b5a4581d253 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/DesktopInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/DesktopInbox.js @@ -1,7 +1,7 @@ import React from "react"; import { format } from "date-fns"; import { Link } from "react-router-dom"; -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import ApplicationTable from "./ApplicationTable"; import Search from "./Search"; import EventLink from "./EventLink"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/DocumentDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/DocumentDetails.js index e69232e08ac..f77a95a68f1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/DocumentDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/DocumentDetails.js @@ -1,4 +1,4 @@ -import { Header, ActionBar, SubmitBar, PDFSvg, Menu, GenericFileIcon, Loader } from '@egovernments/digit-ui-react-components'; +import { Header, ActionBar, SubmitBar, PDFSvg, Menu, GenericFileIcon, Loader } from '@upyog/digit-ui-react-components'; import React, { useState ,useEffect} from 'react' import { useTranslation } from 'react-i18next'; import { useParams, useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/DropdownUlb.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/DropdownUlb.js index 381b77af0b1..1c47f3ac5e1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/DropdownUlb.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/DropdownUlb.js @@ -1,4 +1,4 @@ -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; import React from "react"; const DropdownUlb = ({ ulb, onAssignmentChange, value, t }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/EventLink.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/EventLink.js index db34d409d88..aeaad62d5d1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/EventLink.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/EventLink.js @@ -1,5 +1,5 @@ import React from "react"; -import { Card, DocumentIcon, PMBIcon } from "@egovernments/digit-ui-react-components"; +import { Card, DocumentIcon, PMBIcon } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/Filter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/Filter.js index f83dd4b4dcf..3005be9ad4d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/Filter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/Filter.js @@ -1,5 +1,5 @@ import React, { useCallback, useState } from "react"; -import { ActionBar, RemoveableTag, CloseSvg, Loader, DateRange, Localities, ApplyFilterBar, SubmitBar, Dropdown, RefreshIcon } from "@egovernments/digit-ui-react-components"; +import { ActionBar, RemoveableTag, CloseSvg, Loader, DateRange, Localities, ApplyFilterBar, SubmitBar, Dropdown, RefreshIcon } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import Status from "./Status"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/MessageForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/MessageForm.js index bcd1b4450d7..df9ee6c4eff 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/MessageForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/MessageForm.js @@ -1,4 +1,4 @@ -import { TextInput, CardLabel, LabelFieldPair, Dropdown, Loader, LocationSearch, CardLabelError, TextArea, MultiUploadWrapper } from "@egovernments/digit-ui-react-components"; +import { TextInput, CardLabel, LabelFieldPair, Dropdown, Loader, LocationSearch, CardLabelError, TextArea, MultiUploadWrapper } from "@upyog/digit-ui-react-components"; import React, { Fragment, useState } from "react"; import { useTranslation } from "react-i18next"; import { Controller } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/Search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/Search.js index 6723fe09a5e..3f640b31f9a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/Search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/Search.js @@ -1,6 +1,6 @@ import React, {useCallback} from "react"; import { useForm, Controller } from "react-hook-form"; -import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, DateRange } from "@egovernments/digit-ui-react-components"; +import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, DateRange } from "@upyog/digit-ui-react-components"; import DropdownUlb from "./DropdownUlb"; import { alphabeticalSortFunctionForTenantsBasedOnName } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/SelectGeoLocation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/SelectGeoLocation.js index ffa44d84127..be6a5a3d71a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/SelectGeoLocation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/SelectGeoLocation.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { CardLabel, LabelFieldPair, LocationSearch } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, LocationSearch } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const SelectGeolocation = ({ onSelect, config, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/SelectToDate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/SelectToDate.js index 54d3a07bc8c..1829f92d753 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/SelectToDate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/SelectToDate.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { TextInput, CardLabel, LabelFieldPair, Dropdown, Loader, LocationSearch, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { TextInput, CardLabel, LabelFieldPair, Dropdown, Loader, LocationSearch, CardLabelError } from "@upyog/digit-ui-react-components"; import { Controller } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { isValid, format, startOfToday } from 'date-fns'; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/StatusCount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/StatusCount.js index 48e4a1e7b44..001f28ef3ab 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/StatusCount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Messages/StatusCount.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { CheckBox } from "@egovernments/digit-ui-react-components"; +import { CheckBox } from "@upyog/digit-ui-react-components"; const StatusCount = ({ status, onAssignmentChange, searchParams }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Confirmation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Confirmation.js index cde99213bf1..9af3fb8fc8e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Confirmation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Confirmation.js @@ -1,4 +1,4 @@ -import { Modal, Text } from "@egovernments/digit-ui-react-components"; +import { Modal, Text } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; const Heading = ({ t, heading }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Surveys/Delete.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Surveys/Delete.js index 3236cde7240..2e8c1d9affe 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Surveys/Delete.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Surveys/Delete.js @@ -1,5 +1,5 @@ import React from "react"; -import { Modal, Card, CardText } from "@egovernments/digit-ui-react-components"; +import { Modal, Card, CardText } from "@upyog/digit-ui-react-components"; const Heading = (props) => { return

{props.t(props.heading)}

; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Surveys/MarkActive.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Surveys/MarkActive.js index c9b91999400..634bf3e6b26 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Surveys/MarkActive.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Surveys/MarkActive.js @@ -1,5 +1,5 @@ import React from "react"; -import { Modal, Card, CardText, TextInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { Modal, Card, CardText, TextInput, CardLabelError } from "@upyog/digit-ui-react-components"; import { Controller, useForm } from "react-hook-form"; const Heading = (props) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Surveys/MarkInActive.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Surveys/MarkInActive.js index bd5ab77be61..1e6d4020555 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Surveys/MarkInActive.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Modal/Surveys/MarkInActive.js @@ -1,5 +1,5 @@ import React from "react"; -import { Modal, Card, CardText } from "@egovernments/digit-ui-react-components"; +import { Modal, Card, CardText } from "@upyog/digit-ui-react-components"; const Heading = (props) => { return

{props.t(props.heading)}

; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/CitizenSurveyForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/CitizenSurveyForm.js index 980ceac6dfb..446fe263c14 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/CitizenSurveyForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/CitizenSurveyForm.js @@ -1,6 +1,6 @@ import React from "react"; import { useForm } from "react-hook-form"; -import { ActionBar, Header, Loader, SubmitBar, Toast } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Header, Loader, SubmitBar, Toast } from "@upyog/digit-ui-react-components"; import CitizenSurveyQuestion from "./CitizenSurveyQuestion"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/CitizenSurveyQuestion.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/CitizenSurveyQuestion.js index 2882cf07988..3cc344fe218 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/CitizenSurveyQuestion.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/CitizenSurveyQuestion.js @@ -1,4 +1,4 @@ -import { Card, CardLabelError, CheckBox, RadioButtons, TextArea, TextInput } from "@egovernments/digit-ui-react-components"; +import { Card, CardLabelError, CheckBox, RadioButtons, TextArea, TextInput } from "@upyog/digit-ui-react-components"; import React, { Fragment } from "react"; import { Controller } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/EditSurveyForms/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/EditSurveyForms/index.js index 2055dea2c79..131e81c9efe 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/EditSurveyForms/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/EditSurveyForms/index.js @@ -1,4 +1,4 @@ -import { ActionBar, Card, SubmitBar, Menu } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Card, SubmitBar, Menu } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useForm,FormProvider } from "react-hook-form"; import SurveyInfoLabel from "../../../utils/SurveyInfoLabel"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/NoSurveyFoundPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/NoSurveyFoundPage.js index be766557c10..6d20817fa24 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/NoSurveyFoundPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/NoSurveyFoundPage.js @@ -1,5 +1,5 @@ -import { ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionBar, SubmitBar } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import React from "react"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/ResultsView/SurveyDetailsView.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/ResultsView/SurveyDetailsView.js index 47c39e03ca8..3c584353c3d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/ResultsView/SurveyDetailsView.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/ResultsView/SurveyDetailsView.js @@ -1,4 +1,4 @@ -import { TextInput, Dropdown, RemoveableTag, LinkButton,LinkLabel, SearchField,SubmitBar } from '@egovernments/digit-ui-react-components' +import { TextInput, Dropdown, RemoveableTag, LinkButton,LinkLabel, SearchField,SubmitBar } from '@upyog/digit-ui-react-components' import React,{useMemo} from 'react' import { useHistory, Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/ResultsView/SurveyResultsView.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/ResultsView/SurveyResultsView.js index b7df3b2866e..6e825e6c8ed 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/ResultsView/SurveyResultsView.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/ResultsView/SurveyResultsView.js @@ -1,5 +1,5 @@ import React,{Fragment,useEffect,useMemo,useState} from 'react' -import { Card, CardLabelError, CheckBox, RadioButtons, TextArea, TextInput, Loader, CardHeader, BreakLine, CardLabel, CardSectionHeader, Header, MultiLink } from "@egovernments/digit-ui-react-components"; +import { Card, CardLabelError, CheckBox, RadioButtons, TextArea, TextInput, Loader, CardHeader, BreakLine, CardLabel, CardSectionHeader, Header, MultiLink } from "@upyog/digit-ui-react-components"; import { bindQuesWithAns } from './bindquesansutil'; import WhoHasResponded from './WhoHasResponded'; import SurveyDetailsView from './SurveyDetailsView'; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/ResultsView/WhoHasResponded.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/ResultsView/WhoHasResponded.js index 69da485849a..57ae0130951 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/ResultsView/WhoHasResponded.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/ResultsView/WhoHasResponded.js @@ -1,5 +1,5 @@ import React,{Fragment} from 'react' -import { Header,BreakLine, CardHeader,Card,CardSubHeader } from '@egovernments/digit-ui-react-components' +import { Header,BreakLine, CardHeader,Card,CardSubHeader } from '@upyog/digit-ui-react-components' const WhoHasResponded = ({t,userInfo}) => { const data = Object.entries(userInfo); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/AnswerTypes/Checkboxes.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/AnswerTypes/Checkboxes.js index 185ed9f5ad6..883db666ad6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/AnswerTypes/Checkboxes.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/AnswerTypes/Checkboxes.js @@ -1,4 +1,4 @@ -import { CheckBox, CloseSvg } from "@egovernments/digit-ui-react-components"; +import { CheckBox, CloseSvg } from "@upyog/digit-ui-react-components"; import React, { useEffect, useMemo, useState } from "react"; import { useDebounce } from "../../../../hooks/useDebounce"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/AnswerTypes/MultipleChoice.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/AnswerTypes/MultipleChoice.js index 0d821d1d8e6..67924b3b450 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/AnswerTypes/MultipleChoice.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/AnswerTypes/MultipleChoice.js @@ -1,4 +1,4 @@ -import { CloseSvg } from "@egovernments/digit-ui-react-components"; +import { CloseSvg } from "@upyog/digit-ui-react-components"; import React, { useEffect, useMemo, useState } from "react"; import { useDebounce } from "../../../../hooks/useDebounce"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/NewSurveyForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/NewSurveyForm.js index e5126cc8f87..0cb531e5d89 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/NewSurveyForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/NewSurveyForm.js @@ -1,5 +1,5 @@ -import { DatePicker, Dropdown, CheckBox, TextArea, TextInput, CardLabelError } from "@egovernments/digit-ui-react-components"; -import { DustbinIcon } from "@egovernments/digit-ui-react-components"; +import { DatePicker, Dropdown, CheckBox, TextArea, TextInput, CardLabelError } from "@upyog/digit-ui-react-components"; +import { DustbinIcon } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useFormContext } from "react-hook-form"; import TimePicker from "react-time-picker"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/SurveyDetailsForms.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/SurveyDetailsForms.js index f0c7c2f5277..5bb16bcd82d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/SurveyDetailsForms.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/SurveyDetailsForms.js @@ -1,4 +1,4 @@ -import { CardLabelError, Dropdown, RemoveableTag, TextInput, MultiSelectDropdown } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, Dropdown, RemoveableTag, TextInput, MultiSelectDropdown } from "@upyog/digit-ui-react-components"; import React, { Fragment, useMemo } from "react"; import { Controller } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/SurveySettingsForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/SurveySettingsForm.js index 6475d4952a6..ce5e69a0c25 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/SurveySettingsForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/SurveySettingsForm.js @@ -1,5 +1,5 @@ import React, { useEffect,useMemo } from "react"; -import { CardLabelError, TextInput, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, TextInput, RadioButtons } from "@upyog/digit-ui-react-components"; import { Controller, useFormContext } from "react-hook-form"; const ConvertEpochToDate = (dateEpoch) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/index.js index 2a02619bb6a..ba91ff98dac 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyForms/index.js @@ -1,4 +1,4 @@ -import { ActionBar, Card, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Card, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { FormProvider, useForm } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyListCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyListCard.js index ea372c57ee0..7b181cf13f2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyListCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/components/Surveys/SurveyListCard.js @@ -1,4 +1,4 @@ -import { Clock } from '@egovernments/digit-ui-react-components' +import { Clock } from '@upyog/digit-ui-react-components' import React from 'react' import {format, formatDistanceToNow} from "date-fns"; import { useTranslation } from 'react-i18next'; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/CitizenSurvey/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/CitizenSurvey/Response.js index ecf13c978f0..f082a4c9e5a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/CitizenSurvey/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/CitizenSurvey/Response.js @@ -1,4 +1,4 @@ -import { Banner, Card, Loader, CardText, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, Loader, CardText, ActionBar, SubmitBar } from "@upyog/digit-ui-react-components"; import { useQueryClient } from "react-query"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/CitizenSurvey/ShowSurvey.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/CitizenSurvey/ShowSurvey.js index 682e1e19ebb..ecd8ae094ee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/CitizenSurvey/ShowSurvey.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/CitizenSurvey/ShowSurvey.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useQueryClient } from "react-query"; import CitizenSurveyForm from "../../../components/Surveys/CitizenSurveyForm"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/CitizenSurvey/SurveyList.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/CitizenSurvey/SurveyList.js index c8565cc8031..a72a27e0065 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/CitizenSurvey/SurveyList.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/CitizenSurvey/SurveyList.js @@ -1,4 +1,4 @@ -import { Header, Loader } from "@egovernments/digit-ui-react-components"; +import { Header, Loader } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/Documents/DocumentCategories.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/Documents/DocumentCategories.js index 58a37d65dd4..cf1ca5fd4c2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/Documents/DocumentCategories.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/Documents/DocumentCategories.js @@ -1,4 +1,4 @@ -import { AppContainer, Card, CardCaption, Header, Loader, PrevIcon } from "@egovernments/digit-ui-react-components"; +import { AppContainer, Card, CardCaption, Header, Loader, PrevIcon } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useHistory } from "react-router-dom"; import Searchbar from "../../../components/Documents/Searchbar"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/Documents/DocumentList.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/Documents/DocumentList.js index b6d892a6304..1b4a0e28a7d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/Documents/DocumentList.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/Documents/DocumentList.js @@ -1,4 +1,4 @@ -import { AppContainer, Card, CardCaption, Header, Loader } from "@egovernments/digit-ui-react-components"; +import { AppContainer, Card, CardCaption, Header, Loader } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import DocumentCard from "../../../components/Documents/DocumentCard"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/Documents/ViewDocument.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/Documents/ViewDocument.js index da2b748f22f..1504fb1ae7d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/Documents/ViewDocument.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/Documents/ViewDocument.js @@ -1,7 +1,7 @@ import { AppContainer, Card, CardCaption, Header, Loader -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import DocumentCard from "../../../components/Documents/DocumentCard"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/EventsListOnGround/EventDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/EventsListOnGround/EventDetails.js index e785d3d26c4..537315c5bc2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/EventsListOnGround/EventDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/EventsListOnGround/EventDetails.js @@ -1,4 +1,4 @@ -import { Clock, Header, Loader, MapMarker, OnGroundEventCard } from "@egovernments/digit-ui-react-components"; +import { Clock, Header, Loader, MapMarker, OnGroundEventCard } from "@upyog/digit-ui-react-components"; import React, { useMemo } from "react"; import { useTranslation } from "react-i18next"; import { Redirect, useHistory, useLocation, useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/EventsListOnGround/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/EventsListOnGround/index.js index 0f4c17d8998..9489b9c88e9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/EventsListOnGround/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/EventsListOnGround/index.js @@ -1,4 +1,4 @@ -import { Card, CardCaption, Header, Loader, OnGroundEventCard } from "@egovernments/digit-ui-react-components"; +import { Card, CardCaption, Header, Loader, OnGroundEventCard } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Redirect, useHistory, useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/NotificationsAndWhatsNew.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/NotificationsAndWhatsNew.js index 8eb5c8a83a5..7ecd1d3554b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/NotificationsAndWhatsNew.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/NotificationsAndWhatsNew.js @@ -1,4 +1,4 @@ -import { Card, CardCaption, Header, Loader, OnGroundEventCard, WhatsNewCard } from "@egovernments/digit-ui-react-components"; +import { Card, CardCaption, Header, Loader, OnGroundEventCard, WhatsNewCard } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { Redirect, useHistory, useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/index.js index e5934981387..0a52b735a3e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/citizen/index.js @@ -1,7 +1,7 @@ import React from "react"; import { useTranslation } from "react-i18next"; import { Switch, useLocation, Route } from "react-router-dom"; -import { BackButton, PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { BackButton, PrivateRoute } from "@upyog/digit-ui-react-components"; import DocumentCategories from "./Documents/DocumentCategories"; import ViewDocument from "./Documents/ViewDocument"; import Response from "./CitizenSurvey/Response"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/FilterFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/FilterFieldsComponent.js index 6e6675f753e..ccb3bee06df 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/FilterFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/FilterFieldsComponent.js @@ -1,5 +1,5 @@ import React, { Fragment, useMemo } from "react" -import { FilterFormField, Loader, Dropdown} from "@egovernments/digit-ui-react-components"; +import { FilterFormField, Loader, Dropdown} from "@upyog/digit-ui-react-components"; import { Controller } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/SearchFieldsComponents.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/SearchFieldsComponents.js index 9b627378002..b5b0b951b56 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/SearchFieldsComponents.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/SearchFieldsComponents.js @@ -1,5 +1,5 @@ import React, { Fragment, useMemo } from "react" -import { CardLabelError, Dropdown, SearchField, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, Dropdown, SearchField, TextInput } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import {Controller } from "react-hook-form"; import { alphabeticalSortFunctionForTenantsBasedOnName } from "../../../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/index.js index 007447839d2..ee2ee514399 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/index.js @@ -1,5 +1,5 @@ import React, { Fragment, useCallback, useMemo, useReducer } from "react" -import { InboxComposer, DocumentIcon } from "@egovernments/digit-ui-react-components"; +import { InboxComposer, DocumentIcon } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import FilterFormFieldsComponent from "./FilterFieldsComponent"; import SearchFormFieldsComponents from "./SearchFieldsComponents"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/useInboxTableConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/useInboxTableConfig.js index 7fe37529e5e..e6a47d85b6b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/useInboxTableConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/Inbox/useInboxTableConfig.js @@ -2,7 +2,7 @@ import React, { Fragment, useMemo } from "react" import { Link } from "react-router-dom"; import { format } from "date-fns"; import { useTranslation } from "react-i18next"; -import { InfoBannerIcon } from "@egovernments/digit-ui-react-components"; +import { InfoBannerIcon } from "@upyog/digit-ui-react-components"; const useInboxTableConfig = ({ parentRoute, onPageSizeChange, formState, totalCount, table, dispatch, inboxStyles={} }) => { const GetCell = (value) => {value}; const GetStatusCell = (value) => value?.toLowerCase() === "active" ? {value} : {value} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/NewSurvey.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/NewSurvey.js index dbd9663e177..d6b521bd053 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/NewSurvey.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/NewSurvey.js @@ -1,4 +1,4 @@ -import { CloseSvg, FormComposer, Header, Toast } from "@egovernments/digit-ui-react-components"; +import { CloseSvg, FormComposer, Header, Toast } from "@upyog/digit-ui-react-components"; import React, { Fragment, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/SurveyDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/SurveyDetails.js index 308bf79ed49..f417a31bddc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/SurveyDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/SurveyDetails.js @@ -1,4 +1,4 @@ -import { Header, Modal, Loader, Toast } from "@egovernments/digit-ui-react-components"; +import { Header, Modal, Loader, Toast } from "@upyog/digit-ui-react-components"; import React, { Fragment, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import { useParams, useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/SurveyResults.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/SurveyResults.js index 05750696848..efc81fd67da 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/SurveyResults.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/SurveyResults.js @@ -2,7 +2,7 @@ import React,{ useEffect,useState } from 'react' import { useHistory, useParams } from "react-router-dom"; import CitizenSurveyForm from "../../../components/Surveys/CitizenSurveyForm"; import { useQueryClient } from "react-query"; -import { ActionBar, Card, SubmitBar, Menu,Loader } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Card, SubmitBar, Menu,Loader } from "@upyog/digit-ui-react-components"; import { format } from "date-fns"; import SurveyResultsView from '../../../components/Surveys/ResultsView/SurveyResultsView'; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/index.js index 705fba28b02..b3807cf4b99 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/index.js @@ -1,6 +1,6 @@ import React from "react" import { Switch } from "react-router-dom" -import { PrivateRoute } from "@egovernments/digit-ui-react-components" +import { PrivateRoute } from "@upyog/digit-ui-react-components" import Inbox from "./Inbox" import NewSurvey from "./NewSurvey" import CreateResponse from "./responses/create" diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/responses/create.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/responses/create.js index 32d6e8be529..92b2d6feb05 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/responses/create.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/responses/create.js @@ -1,4 +1,4 @@ -import { Banner, Card, Loader, CardText, ActionBar, SubmitBar,Menu } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, Loader, CardText, ActionBar, SubmitBar,Menu } from "@upyog/digit-ui-react-components"; import { useQueryClient } from "react-query"; import React, { useEffect,useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/responses/delete.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/responses/delete.js index 15cba08d0ed..2d870faa102 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/responses/delete.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/responses/delete.js @@ -1,4 +1,4 @@ -import { Banner, Card, Loader, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, Loader, ActionBar, SubmitBar } from "@upyog/digit-ui-react-components"; import { useQueryClient } from "react-query"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/responses/update.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/responses/update.js index 00f5e1f22a8..a199dac4c6a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/responses/update.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/CitizenSurveys/responses/update.js @@ -1,4 +1,4 @@ -import { Banner, Card, Loader, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, Loader, ActionBar, SubmitBar } from "@upyog/digit-ui-react-components"; import { useQueryClient } from "react-query"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/Inbox/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/Inbox/index.js index b7a302e012a..1511175991d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/Inbox/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/Inbox/index.js @@ -1,6 +1,6 @@ import React, { useEffect, useState, useCallback } from "react"; import { useTranslation } from "react-i18next"; -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import DesktopInbox from "../../../../components/Documents/DesktopInbox"; import MobileInbox from "../../../../components/Documents/MobileInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/delete-response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/delete-response.js index d48fb226685..8c1957f424d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/delete-response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/delete-response.js @@ -1,4 +1,4 @@ -import { Banner, Card, Loader, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, Loader, ActionBar, SubmitBar } from "@upyog/digit-ui-react-components"; import { useQueryClient } from "react-query"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/doc-update.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/doc-update.js index a1b4c66bcfe..1b194aa0b89 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/doc-update.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/doc-update.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/documents-create.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/documents-create.js index 1cc0e1f1e2f..2ceb9078351 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/documents-create.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/documents-create.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { FormComposer, Header } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Header } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { documentsFormConfig } from "../../../config/doc-create"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/documents-update.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/documents-update.js index e271a983626..710dbb3c563 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/documents-update.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/documents-update.js @@ -1,5 +1,5 @@ import React, { useState, useCallback } from "react"; -import { Card, Header, LabelFieldPair, CardLabel, TextInput, Dropdown, FormComposer, SubmitBar, ActionBar } from "@egovernments/digit-ui-react-components"; +import { Card, Header, LabelFieldPair, CardLabel, TextInput, Dropdown, FormComposer, SubmitBar, ActionBar } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { documentsFormConfig } from "../../../config/doc-update"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/response.js index dbfdd3e6be1..38a549467c8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/response.js @@ -1,4 +1,4 @@ -import { Banner, Card, Loader, CardText, SubmitBar, ActionBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, Loader, CardText, SubmitBar, ActionBar } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import { useQueryClient } from "react-query"; import React, { useEffect } from "react"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/update-response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/update-response.js index 91b446059ba..16a563883d8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/update-response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Documents/update-response.js @@ -1,4 +1,4 @@ -import { Banner, Card, Loader, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, Loader, ActionBar, SubmitBar } from "@upyog/digit-ui-react-components"; import { useQueryClient } from "react-query"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/EditEvent/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/EditEvent/index.js index 646d1a487ce..bfabd5bccf7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/EditEvent/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/EditEvent/index.js @@ -1,4 +1,4 @@ -import { FormComposer, Header, Loader } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Header, Loader } from "@upyog/digit-ui-react-components"; import { format } from 'date-fns'; import React, { Fragment, useEffect } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/EventDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/EventDetails.js index 0aaed115d60..839c029b15c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/EventDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/EventDetails.js @@ -1,7 +1,7 @@ import React, { Fragment, useState ,useEffect} from "react"; import { useParams, useHistory } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { Header, Card, CardSectionHeader, PDFSvg, Loader, StatusTable, Menu, ActionBar, SubmitBar, Modal, CardText } from "@egovernments/digit-ui-react-components"; +import { Header, Card, CardSectionHeader, PDFSvg, Loader, StatusTable, Menu, ActionBar, SubmitBar, Modal, CardText } from "@upyog/digit-ui-react-components"; import ApplicationDetailsTemplate from "../../../../../templates/ApplicationDetails"; const Heading = (props) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/Inbox/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/Inbox/index.js index fc5781d1b8f..7b5eaa475cb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/Inbox/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/Inbox/index.js @@ -1,7 +1,7 @@ import React, { useState, useCallback } from "react"; import { useTranslation } from "react-i18next"; import { format, isValid } from "date-fns"; -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import DesktopInbox from "../../../../components/Events/DesktopInbox"; import MobileInbox from "../../../../components/Events/MobileInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/NewEvent/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/NewEvent/Response.js index de400d223e0..567723af3b2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/NewEvent/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/NewEvent/Response.js @@ -1,4 +1,4 @@ -import { ActionBar, Banner, Card, CardText, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Banner, Card, CardText, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; import { format } from "date-fns"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/NewEvent/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/NewEvent/index.js index 6082d2aa290..7e65ff8ad2c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/NewEvent/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Events/NewEvent/index.js @@ -1,4 +1,4 @@ -import { FormComposer, Header } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Header } from "@upyog/digit-ui-react-components"; import React, { Fragment, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/EditMessage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/EditMessage.js index 87d4d0b6862..c3e6a5a79ef 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/EditMessage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/EditMessage.js @@ -1,4 +1,4 @@ -import { FormComposer, Header, Loader } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Header, Loader } from "@upyog/digit-ui-react-components"; import { format } from 'date-fns'; import React, { Fragment, useEffect, useMemo } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/Inbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/Inbox.js index bd63fff6053..9d4b60cb0ba 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/Inbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/Inbox.js @@ -1,7 +1,7 @@ import React, { useState, useCallback } from "react"; import { useTranslation } from "react-i18next"; import { format, isValid } from "date-fns"; -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import DesktopInbox from "../../../components/Messages/DesktopInbox"; import MobileInbox from "../../../components/Messages/MobileInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/Inbox_DEMO.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/Inbox_DEMO.js index d413477616d..77e96437ca1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/Inbox_DEMO.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/Inbox_DEMO.js @@ -1,5 +1,5 @@ import React, {Fragment, useCallback, useMemo, useReducer} from "react" -import { InboxComposer, CaseIcon, SearchField, TextInput, FilterFormField, Loader } from "@egovernments/digit-ui-react-components"; +import { InboxComposer, CaseIcon, SearchField, TextInput, FilterFormField, Loader } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; import { format } from "date-fns"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/MessageDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/MessageDetails.js index a624a3de5a8..7bfe37e8a4c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/MessageDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/MessageDetails.js @@ -1,7 +1,7 @@ import React, { Fragment, useState } from "react"; import { useParams, useHistory } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { Header, Card, CardSectionHeader, PDFSvg, Loader, StatusTable, Menu, ActionBar, SubmitBar, Modal, CardText } from "@egovernments/digit-ui-react-components"; +import { Header, Card, CardSectionHeader, PDFSvg, Loader, StatusTable, Menu, ActionBar, SubmitBar, Modal, CardText } from "@upyog/digit-ui-react-components"; import ApplicationDetailsTemplate from "../../../../../templates/ApplicationDetails"; import { format } from "date-fns"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/NewMessage/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/NewMessage/Response.js index 9a38fce670c..35b41e7f8e7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/NewMessage/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/NewMessage/Response.js @@ -1,4 +1,4 @@ -import { ActionBar, Banner, Card, CardText, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Banner, Card, CardText, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/NewMessage/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/NewMessage/index.js index b82c9a5a5dc..2cfe37b1821 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/NewMessage/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/NewMessage/index.js @@ -1,4 +1,4 @@ -import { FormComposer, Header } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Header } from "@upyog/digit-ui-react-components"; import React, { Fragment, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/index.js index 32c1d0d4673..d2d3393e470 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/pages/employee/Messages/index.js @@ -1,6 +1,6 @@ import React from "react" import { Switch } from "react-router-dom" -import { PrivateRoute } from "@egovernments/digit-ui-react-components" +import { PrivateRoute } from "@upyog/digit-ui-react-components" import Inbox from "./Inbox" import NewMessage from "./NewMessage" import Response from "./NewMessage/Response" diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/utils/SurveyInfoLabel.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/utils/SurveyInfoLabel.js index 697e40b948c..f96fe1a7718 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/utils/SurveyInfoLabel.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/engagement/src/utils/SurveyInfoLabel.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; -import { TypeSelectCard } from "@egovernments/digit-ui-react-components"; -import { FormStep, RadioOrSelect, RadioButtons, CitizenInfoLabel, InfoBannerIcon } from "@egovernments/digit-ui-react-components"; +import { TypeSelectCard } from "@upyog/digit-ui-react-components"; +import { FormStep, RadioOrSelect, RadioButtons, CitizenInfoLabel, InfoBannerIcon } from "@upyog/digit-ui-react-components"; const EyeSvgINdex = ({ style }) => { return diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/package.json index b9d4352277b..974dd4a9506 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/package.json @@ -1,6 +1,6 @@ { "name": "@upyog/digit-ui-module-fsm", - "version": "1.7.0-beta.9", + "version": "1.7.0-beta.13", "license": "MIT", "main": "dist/index.js", "description": "Digit FSM Module", @@ -19,7 +19,7 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", "microbundle-crl": "0.13.11", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/Module.js index b77e725dd76..1afff8beddd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/Module.js @@ -1,4 +1,4 @@ -import { CitizenHomeCard, CitizenTruck, Loader } from "@egovernments/digit-ui-react-components"; +import { CitizenHomeCard, CitizenTruck, Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { Link, useRouteMatch } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/ApplicationTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/ApplicationTimeline.js index 476133bc5cf..f4118360072 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/ApplicationTimeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/ApplicationTimeline.js @@ -13,7 +13,7 @@ import { LinkButton, Loader, Rating, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import _ from "lodash"; import TLCaption from "./TLCaption"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/DesktopInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/DesktopInbox.js index 170819ecc0e..e74df053131 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/DesktopInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/DesktopInbox.js @@ -1,7 +1,7 @@ import React from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; -import { Card, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Loader } from "@upyog/digit-ui-react-components"; import FSMLink from "./inbox/FSMLink"; import ApplicationTable from "./inbox/ApplicationTable"; import Filter from "./inbox/Filter"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/FsmCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/FsmCard.js index 6e0e69b516e..6cfcee6cb1a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/FsmCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/FsmCard.js @@ -1,7 +1,7 @@ import React, { useEffect, useState } from "react"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { ArrowRightInbox, ShippingTruck, EmployeeModuleCard, AddNewIcon, ViewReportIcon, InboxIcon } from "@egovernments/digit-ui-react-components"; +import { ArrowRightInbox, ShippingTruck, EmployeeModuleCard, AddNewIcon, ViewReportIcon, InboxIcon } from "@upyog/digit-ui-react-components"; import { checkForEmployee } from "../utils"; const ArrowRight = ({ to }) => ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/RegistryInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/RegistryInbox.js index d429fd76e42..bb1a1a31821 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/RegistryInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/RegistryInbox.js @@ -1,11 +1,11 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link, useHistory } from "react-router-dom"; -import { Card, Dropdown, Loader, Menu, SubmitBar, Toast } from "@egovernments/digit-ui-react-components"; +import { Card, Dropdown, Loader, Menu, SubmitBar, Toast } from "@upyog/digit-ui-react-components"; import FSMLink from "./inbox/FSMLink"; import ApplicationTable from "./inbox/ApplicationTable"; import Filter from "./inbox/Filter"; -import { ToggleSwitch } from "@egovernments/digit-ui-react-components"; +import { ToggleSwitch } from "@upyog/digit-ui-react-components"; import RegistrySearch from "./RegistrySearch"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/RegistrySearch.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/RegistrySearch.js index 2c94330e716..bf3c7d3e654 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/RegistrySearch.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/RegistrySearch.js @@ -11,7 +11,7 @@ import { CardLabelError, Menu, AddIcon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import DropdownStatus from "./inbox/DropdownStatus"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/TLCaption.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/TLCaption.js index 1844e631a0b..dc22fe320dc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/TLCaption.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/TLCaption.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TelePhone } from "@egovernments/digit-ui-react-components"; +import { TelePhone } from "@upyog/digit-ui-react-components"; import Reason from "./Reason"; import Username from "./Username"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/TLTimelineInFSM.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/TLTimelineInFSM.js index f3bc3234a53..8f744f92564 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/TLTimelineInFSM.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/TLTimelineInFSM.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TickMark } from "@egovernments/digit-ui-react-components"; +import { TickMark } from "@upyog/digit-ui-react-components"; let actions = []; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/ApplicationCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/ApplicationCard.js index 53112177d64..3dca6629542 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/ApplicationCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/ApplicationCard.js @@ -1,7 +1,7 @@ import React, { useCallback, useEffect, useState } from "react"; -import { Card, DetailsCard, Loader, PopUp, SearchAction } from "@egovernments/digit-ui-react-components"; -import { FilterAction } from "@egovernments/digit-ui-react-components"; +import { Card, DetailsCard, Loader, PopUp, SearchAction } from "@upyog/digit-ui-react-components"; +import { FilterAction } from "@upyog/digit-ui-react-components"; import Filter from "./Filter"; import SearchApplication from "./search"; import SortBy from "./SortBy"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/ApplicationLinks.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/ApplicationLinks.js index 55e92dde1da..ce6568085ac 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/ApplicationLinks.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/ApplicationLinks.js @@ -1,4 +1,4 @@ -import { Card, ShippingTruck } from "@egovernments/digit-ui-react-components"; +import { Card, ShippingTruck } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/ApplicationTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/ApplicationTable.js index 1253b6c5232..52c5fb930ce 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/ApplicationTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/ApplicationTable.js @@ -1,5 +1,5 @@ import React from "react"; -import { Table } from "@egovernments/digit-ui-react-components"; +import { Table } from "@upyog/digit-ui-react-components"; const ApplicationTable = ({ className = "table", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/AssignedTo.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/AssignedTo.js index 45a02a674f1..2fdf1b7fba0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/AssignedTo.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/AssignedTo.js @@ -1,5 +1,5 @@ import React from "react"; -import { RadioButtons } from "@egovernments/digit-ui-react-components"; +import { RadioButtons } from "@upyog/digit-ui-react-components"; const AssignedTo = ({ onFilterChange, searchParams, paginationParms, tenantId, t }) => { const { data: AssignedToAll } = Digit.Hooks.fsm.useInbox( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/DropdownStatus.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/DropdownStatus.js index f6bfb296cf8..50cdb360fc5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/DropdownStatus.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/DropdownStatus.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown, Loader } from "@egovernments/digit-ui-react-components"; +import { Dropdown, Loader } from "@upyog/digit-ui-react-components"; const DropdownStatus = ({ onAssignmentChange, value, applicationStatuses, areApplicationStatus }) => { return areApplicationStatus ? ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/FSMLink.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/FSMLink.js index fcd4fe0b1ba..75af3a5f6ae 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/FSMLink.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/FSMLink.js @@ -1,4 +1,4 @@ -import { Card, ShippingTruck } from "@egovernments/digit-ui-react-components"; +import { Card, ShippingTruck } from "@upyog/digit-ui-react-components"; import { forEach } from "lodash"; import React, { useEffect, useState } from "react"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/Filter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/Filter.js index b2b9166f6d7..6a60f3d6218 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/Filter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/Filter.js @@ -1,6 +1,6 @@ import React from "react"; -import { ActionBar, RemoveableTag, CloseSvg, Loader, Localities } from "@egovernments/digit-ui-react-components"; -import { ApplyFilterBar } from "@egovernments/digit-ui-react-components"; +import { ActionBar, RemoveableTag, CloseSvg, Loader, Localities } from "@upyog/digit-ui-react-components"; +import { ApplyFilterBar } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import Status from "./Status"; import AssignedTo from "./AssignedTo"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/SortBy.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/SortBy.js index 66166c40ccc..4d36b564459 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/SortBy.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/SortBy.js @@ -1,7 +1,7 @@ import React, { useState } from "react"; -import { ActionBar, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { ActionBar, RadioButtons } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; -import { ApplyFilterBar, CloseSvg } from "@egovernments/digit-ui-react-components"; +import { ApplyFilterBar, CloseSvg } from "@upyog/digit-ui-react-components"; const SortBy = (props) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/Status.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/Status.js index ba6d430486c..c86025e64a7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/Status.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/Status.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import StatusCount from "./StatusCount"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/StatusCount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/StatusCount.js index 76291c411dd..ea40d0154d9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/StatusCount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/StatusCount.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { CheckBox } from "@egovernments/digit-ui-react-components"; +import { CheckBox } from "@upyog/digit-ui-react-components"; const StatusCount = ({ status, fsmfilters, onAssignmentChange, statusMap }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/search.js index 7f9b866dc98..c24a4d78d44 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/components/inbox/search.js @@ -10,7 +10,7 @@ import { DatePicker, CardLabelError, Header, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import DropdownStatus from "./DropdownStatus"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/config/NewApplication/config.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/config/NewApplication/config.js index 50e488b8a13..0512a44836b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/config/NewApplication/config.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/config/NewApplication/config.js @@ -1,22 +1,78 @@ export const newConfig = [ { - head: "ES_NEW_APPLICATION_PROPERTY_DETAILS", + + head: "", + body: [ + + { + type: "component", + route: "search-property", + isMandatory: true, + component: "CPTSearchProperty", + key: "cptsearchproperty", + withoutLabel: true, + nextStep: 'search-results', + hideInEmployee: true, + }, + { + type: "component", + route: "search-results", + isMandatory: true, + component: "CPTSearchResults", + key: "cptsearchresults", + withoutLabel: true, + nextStep: 'property-type', + hideInEmployee: true, + }, + { + type: "component", + route: "create-property", + isMandatory: true, + component: "CPTCreateProperty", + key: "cptcreateproperty", + withoutLabel: true, + isSkipEnabled : true, + nextStep: 'acknowledge-create-property', + hideInEmployee: true, + }, + { + type: "component", + route: "acknowledge-create-property", + isMandatory: true, + component: "CPTAcknowledgement", + key: "cptacknowledgement", + withoutLabel: true, + nextStep: 'property-type', + hideInEmployee: true, + }, + { + type: "component", + route: "property-details", + isMandatory: true, + component: "CPTPropertyDetails", + key: "propertydetails", + withoutLabel: true, + nextStep: 'property-type', + hideInEmployee: true, + }, + + ], + }, + { + head: "FSM_NEW_APPLICATION_PROPERTY", body: [ { - label: "ES_NEW_APPLICATION_PROPERTY_ID", - isMandatory: true, + component: "CPTPropertySearchNSummary", + withoutLabel: true, + key: "cpt", type: "component", - route: "property-id", - key: "propertyID", - component: "SelectPropertyID", - texts: { - headerCaption: "", - header: "CS_FILE_APPLICATION_PROPERTY_ID_LABEL", - cardText: "CS_FILE_APPLICATION_PROPERTY_ID_TEXT", - submitBarLabel: "CS_COMMON_NEXT", - }, - nextStep: "property-type", - }, + hideInCitizen: true + } + ] + }, + { + head: "ES_NEW_APPLICATION_PROPERTY_DETAILS", + body: [ { label: "ES_NEW_APPLICATION_PROPERTY_TYPE", isMandatory: true, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/getPDFData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/getPDFData.js index 2bee8d7d134..2e09837c0e5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/getPDFData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/getPDFData.js @@ -43,12 +43,13 @@ const getPDFData = (application, tenantInfo, t) => { name: `${t(tenantInfo?.i18nKey)} ${t(`ULBGRADE_${tenantInfo?.city?.ulbGrade.toUpperCase().replace(" ", "_").replace(".", "_")}`)}`, email: tenantInfo?.emailId, phoneNumber: tenantInfo?.contactNumber, + applicationNumber: application?.applicationNo||"NA", heading: t("PDF_HEADER_DESLUDGING_REQUEST_ACKNOWLEDGEMENT"), details: [ { title: t("CS_TITLE_APPLICATION_DETAILS"), values: [ - { title: t("CS_MY_APPLICATION_APPLICATION_NO"), value: application?.applicationNo }, + { title: t("CS_APPLICATION_DETAILS_APPLICATION_DATE"), value: Digit.DateUtils.ConvertTimestampToDate(application?.auditDetails?.createdTime, "dd/MM/yyyy"), @@ -64,6 +65,7 @@ const getPDFData = (application, tenantInfo, t) => { values: [ { title: t("CS_APPLICATION_DETAILS_APPLICANT_NAME"), value: application?.citizen?.name || "N/A" }, { title: t("CS_APPLICATION_DETAILS_APPLICANT_MOBILE"), value: application?.citizen?.mobileNumber || "N/A" }, + { title: t("CS_APPLICATION_DETAILS_APPLICANT_EMAIL_ID"), value: application?.citizen?.emailId || application?.additionalDetails?.emailId || "NA" }, ], }, { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/AdvanceCollection.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/AdvanceCollection.js index 7ee2f3ab84b..451881d1c4f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/AdvanceCollection.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/AdvanceCollection.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { LabelFieldPair, CardLabel, TextInput, Dropdown, Loader, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, Dropdown, Loader, CardLabelError } from "@upyog/digit-ui-react-components"; import { useParams, useLocation } from "react-router-dom"; const AdvanceCollection = ({ t, config, onSelect, formData, userType, FSMTextFieldStyle }) => { @@ -33,6 +33,7 @@ const AdvanceCollection = ({ t, config, onSelect, formData, userType, FSMTextFie name: "advanceAmount", validation: { isRequired: true, + disabled: true, min: "0", pattern: `^[0-9]+`, title: t("ES_NEW_APPLICATION_AMOUNT_INVALID"), @@ -70,6 +71,7 @@ const AdvanceCollection = ({ t, config, onSelect, formData, userType, FSMTextFie if (billSlab?.price || billSlab?.price === 0) { const totaltripAmount = billSlab.price * formData.tripData.noOfTrips; + const isTotalAmountOdd=totaltripAmount %2 !==0; const { advanceAmount: advanceBalanceAmount } = await Digit.FSMService.advanceBalanceCalculate(tenantId, { totalTripAmount: totaltripAmount, @@ -80,7 +82,7 @@ const AdvanceCollection = ({ t, config, onSelect, formData, userType, FSMTextFie setAdvanceAmounts(advanceBalanceAmount); !url.includes("modify") || (url.includes("modify") && advanceBalanceAmount > formData?.advancepaymentPreference?.advanceAmount) ? setValue({ - advanceAmount: advanceBalanceAmount, + advanceAmount: (isTotalAmountOdd ? Math.ceil(advanceBalanceAmount) : advanceBalanceAmount) , }) : null; setError(false); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/CheckSlum.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/CheckSlum.js index 9f0eed0a632..202e29161a3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/CheckSlum.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/CheckSlum.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, RadioOrSelect } from "@egovernments/digit-ui-react-components"; +import { FormStep, RadioOrSelect } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const CheckSlum = ({ t, config, onSelect, userType, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectAddress.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectAddress.js index 7f14a804c36..a2d5c049370 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectAddress.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectAddress.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, CardLabel, Dropdown, RadioButtons, LabelFieldPair, RadioOrSelect } from "@egovernments/digit-ui-react-components"; +import { FormStep, CardLabel, Dropdown, RadioButtons, LabelFieldPair, RadioOrSelect } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const FSMSelectAddress = ({ t, config, onSelect, userType, formData }) => { @@ -13,8 +13,20 @@ const FSMSelectAddress = ({ t, config, onSelect, userType, formData }) => { : pincode ? allCities.filter((city) => city?.pincode?.some((pin) => pin == pincode)) : allCities; - - const [selectedCity, setSelectedCity] = useState(() => formData?.address?.city || Digit.SessionStorage.get("fsm.file.address.city") || null); +let property = sessionStorage?.getItem("Digit_FSM_PT") +if (property !== "undefined") +{ + property = JSON.parse(sessionStorage?.getItem("Digit_FSM_PT")) +} +console.log("property",property) +let cityDetail={} +if (property) +{ +cityDetail = cities.filter((city) =>{ +return city.code == property?.propertyDetails?.address?.tenantId +}) +} + const [selectedCity, setSelectedCity] = useState(() =>formData?.address?.city ||cityDetail?.[0] || null); const { data: fetchedLocalities } = Digit.Hooks.useBoundaryLocalities( selectedCity?.code, "revenue", @@ -23,8 +35,9 @@ const FSMSelectAddress = ({ t, config, onSelect, userType, formData }) => { }, t ); + const [localities, setLocalities] = useState(); - const [selectedLocality, setSelectedLocality] = useState(); + const [selectedLocality, setSelectedLocality] = useState(()=>property?.propertyDetails?.address?.locality || formData?.cpt?.details?.address?.locality|| formData?.address?.locality); useEffect(() => { if (cities) { @@ -38,10 +51,17 @@ const FSMSelectAddress = ({ t, config, onSelect, userType, formData }) => { if (selectedCity && fetchedLocalities) { let __localityList = fetchedLocalities; let filteredLocalityList = []; - +console.log("formData?.address?.locality",formData?.address?.locality,formData?.cpt?.details?.address?.locality,property?.propertyDetails?.address?.locality) if (formData?.address?.locality) { setSelectedLocality(formData.address.locality); } + else if (formData?.cpt?.details?.address?.locality) { + setSelectedLocality(formData.cpt.details.address.locality); + } + else if (property?.propertyDetails?.address?.locality) { + setSelectedLocality(property?.propertyDetails?.address?.locality); + } + if (formData?.address?.pincode) { filteredLocalityList = __localityList.filter((obj) => obj.pincode?.find((item) => item == formData.address.pincode)); @@ -59,7 +79,7 @@ const FSMSelectAddress = ({ t, config, onSelect, userType, formData }) => { } } } - }, [selectedCity, formData?.address?.pincode, fetchedLocalities]); + }, [selectedCity, formData?.cpt?.details?.address, fetchedLocalities]); function selectCity(city) { setSelectedLocality(null); @@ -68,10 +88,10 @@ const FSMSelectAddress = ({ t, config, onSelect, userType, formData }) => { setSelectedCity(city); } - function selectLocality(locality) { - setSelectedLocality(locality); + function selectLocality(selectedLocality) { + setSelectedLocality(selectedLocality); if (userType === "employee") { - onSelect(config.key, { ...formData[config.key], locality: locality }); + onSelect(config.key, { ...formData[config.key], locality: selectedLocality }); } } @@ -109,7 +129,7 @@ const FSMSelectAddress = ({ t, config, onSelect, userType, formData }) => { selected={selectedLocality} option={localities} select={selectLocality} - optionKey="i18nkey" + optionKey="name" t={t} /> @@ -128,7 +148,7 @@ const FSMSelectAddress = ({ t, config, onSelect, userType, formData }) => { isMandatory={config.isMandatory} options={localities} selectedOption={selectedLocality} - optionKey="i18nkey" + optionKey="name" onSelect={selectLocality} t={t} /> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectGeolocation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectGeolocation.js index 952ed770d7c..0c97b011de9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectGeolocation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectGeolocation.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { LocationSearchCard } from "@egovernments/digit-ui-react-components"; +import { LocationSearchCard } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const FSMSelectGeolocation = ({ t, config, onSelect, formData = {} }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectLandmark.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectLandmark.js index be0589afd39..4f3ec63fe38 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectLandmark.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectLandmark.js @@ -1,9 +1,17 @@ import React, { useState, useEffect } from "react"; -import { FormStep, TextArea, LabelFieldPair, CardLabel } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextArea, LabelFieldPair, CardLabel } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const FSMSelectLandmark = ({ t, config, onSelect, formData, userType }) => { - const [landmark, setLandmark] = useState(); + + //let property = JSON.parse(sessionStorage?.getItem("Digit_FSM_PT")||"{}") + let property = sessionStorage?.getItem("Digit_FSM_PT") +if (property !== "undefined") +{ + property = JSON.parse(sessionStorage?.getItem("Digit_FSM_PT")) +} + + const [landmark, setLandmark] = useState(property?.propertyDetails?.address?.landmark); const [error, setError] = useState(""); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectPincode.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectPincode.js index 5fd624a2e49..035e5457b6b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectPincode.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectPincode.js @@ -1,4 +1,4 @@ -import { FormStep, TextInput, CardLabel, LabelFieldPair, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, CardLabel, LabelFieldPair, CardLabelError } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect, Fragment } from "react"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimelineInFSM"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectStreet.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectStreet.js index 4aaf07aafef..329ce2945b2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectStreet.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/FSMSelectStreet.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, LabelFieldPair, CardLabel, WrapUnMaskComponent } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, LabelFieldPair, CardLabel, WrapUnMaskComponent } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import _ from "lodash"; import Timeline from "../components/TLTimelineInFSM"; @@ -8,7 +8,12 @@ const FSMSelectStreet = ({ t, config, onSelect, userType, formData, formState, s const onSkip = () => onSelect(); const [focusIndex, setFocusIndex] = useState({ index: -1, type: "" }); - +//const property = JSON.parse(sessionStorage.getItem("Digit_FSM_PT")|| "{}") +let property = sessionStorage?.getItem("Digit_FSM_PT") +if (property !== "undefined") +{ + property = JSON.parse(sessionStorage?.getItem("Digit_FSM_PT")) +} const { control, formState: localFormState, @@ -23,8 +28,8 @@ const FSMSelectStreet = ({ t, config, onSelect, userType, formData, formState, s const { errors } = localFormState; const checkLocation = window.location.href.includes("tl/new-application") || window.location.href.includes("tl/renew-application-details") || window.location.href.includes("tl/edit-application-details/") || window.location.href.includes("/tl/tradelicence/new-application/street") || window.location.href.includes("/tl/tradelicence/renew-trade") || window.location.href.includes("/tl/tradelicence/edit-application") ; const isRenewal = window.location.href.includes("edit-application") || window.location.href.includes("tl/renew-application-details"); - const [street, setStreet] = useState(); - const [doorNo, setDoorNo] = useState(); + const [street, setStreet] = useState(property?.propertyDetails?.address?.street); + const [doorNo, setDoorNo] = useState(property?.propertyDetails?.address?.doorNo); let inputs; if (window.location.href.includes("tl")) { inputs = config.inputs; @@ -38,6 +43,7 @@ const FSMSelectStreet = ({ t, config, onSelect, userType, formData, formState, s label: "PT_PROPERTY_ADDRESS_STREET_NAME", type: "text", name: "street", + isMandatory: true, validation: { pattern: "[a-zA-Z0-9 ]{1,255}", // maxlength: 256, @@ -48,6 +54,7 @@ const FSMSelectStreet = ({ t, config, onSelect, userType, formData, formState, s label: "PT_PROPERTY_ADDRESS_HOUSE_NO", type: "text", name: "doorNo", + isMandatory: true, validation: { pattern: "[A-Za-z0-9#,/ -]{1,63}", // maxlength: 256, @@ -78,7 +85,7 @@ const FSMSelectStreet = ({ t, config, onSelect, userType, formData, formState, s }; useEffect(() => { - if(window.location.href.includes("employee/tl/") && formData?.cpt?.details) + if(window.location.href.includes("employee/fsm/") && formData?.cpt?.details) { setValue("doorNo", formData?.cpt?.details?.address?.doorNo); setValue("street", formData?.cpt?.details?.address?.street); @@ -115,7 +122,7 @@ const FSMSelectStreet = ({ t, config, onSelect, userType, formData, formState, s }, [formValue]); useEffect(() => { - if (formData?.cpt?.details && window.location.href.includes("tl")) { + if (formData?.cpt?.details && window.location.href.includes("fsm")) { inputs?.map((input) => { if (getValues(input.name) !== formData?.cpt?.details?.address?.[input.name]) { setValue( @@ -143,7 +150,7 @@ const FSMSelectStreet = ({ t, config, onSelect, userType, formData, formState, s {t(input.label)} - {config.isMandatory ? " * " : null} + {input.isMandatory ? " * " : null}
- {window.location.href.includes("/tl") ? : } + {window.location.href.includes("/fsm") ? : } onSelect(config.key, data)} - isDisabled={doorNo || street ? false : true} + isDisabled={doorNo && street ? false : true} t={t} /> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectAddress.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectAddress.js index b44bae2c7aa..dfca6cfbe0e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectAddress.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectAddress.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, CardLabel, Dropdown, RadioButtons, LabelFieldPair, RadioOrSelect } from "@egovernments/digit-ui-react-components"; +import { FormStep, CardLabel, Dropdown, RadioButtons, LabelFieldPair, RadioOrSelect } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const SelectAddress = ({ t, config, onSelect, userType, formData }) => { @@ -13,8 +13,9 @@ const SelectAddress = ({ t, config, onSelect, userType, formData }) => { : pincode ? allCities.filter((city) => city?.pincode?.some((pin) => pin == pincode)) : allCities; - - const [selectedCity, setSelectedCity] = useState(() => formData?.address?.city || Digit.SessionStorage.get("fsm.file.address.city") || null); +const property = sessionStorage.getItem("Digit_FSM_PT") +console.log("property",property) + const [selectedCity, setSelectedCity] = useState(() => formData?.address?.city || sessionStorage.getItem("Digit_FSM_PT") || null); const { data: fetchedLocalities } = Digit.Hooks.useBoundaryLocalities( selectedCity?.code, "revenue", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectChannel.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectChannel.js index 4351ee49c98..ab0d4d04706 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectChannel.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectChannel.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; -import { Loader } from "@egovernments/digit-ui-react-components"; -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const SelectChannel = ({ t, config, onSelect, formData = {}, userType }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectGender.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectGender.js index 8c2467c7f8e..e47912e6bfb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectGender.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectGender.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { Dropdown, FormStep, Loader, RadioOrSelect } from "@egovernments/digit-ui-react-components"; +import { Dropdown, FormStep, Loader, RadioOrSelect } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const SelectGender = ({ config, onSelect, t, userType, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectGeolocation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectGeolocation.js index c8d7afa846b..6f6dfb21607 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectGeolocation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectGeolocation.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { LocationSearchCard } from "@egovernments/digit-ui-react-components"; +import { LocationSearchCard } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const SelectGeolocation = ({ t, config, onSelect, formData = {} }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectLandmark.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectLandmark.js index 717e0ee3eca..36bd49584c0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectLandmark.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectLandmark.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { FormStep, TextArea, LabelFieldPair, CardLabel } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextArea, LabelFieldPair, CardLabel } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const SelectLandmark = ({ t, config, onSelect, formData, userType }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectName.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectName.js index a1413119307..eea16cb500b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectName.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectName.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { LabelFieldPair, CardLabel, TextInput, CardLabelError, Dropdown } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, CardLabelError, Dropdown } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const SelectName = ({ t, config, onSelect, formData = {}, userType, register, errors }) => { @@ -33,7 +33,18 @@ const SelectName = ({ t, config, onSelect, formData = {}, userType, register, er }, componentInFront:
+91
, isMandatory: true, - } + }, + { + label: "ES_NEW_APPLICATION_MAIL_ID", + type: "text", + name: "emailId", + validation: { + //isRequired: true, + pattern: "[A-Za-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$", + title: t("CORE_COMMON_EMAIL_ID_INVALID"), + }, + isMandatory:false, + }, ]; useEffect(() => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPaymentPreference.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPaymentPreference.js index e81896e27f9..03ec51dfd3f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPaymentPreference.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPaymentPreference.js @@ -9,7 +9,7 @@ import { TextInput, CardLabelError, KeyNote, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const SelectPaymentPreference = ({ config, formData, t, onSelect, userType }) => { @@ -29,7 +29,7 @@ const SelectPaymentPreference = ({ config, formData, t, onSelect, userType }) => validation: { isRequired: true, }, - disable: MinAmount === totalAmount ? true : false, + disable: true, default: formData?.selectPaymentPreference?.advanceAmount, isMandatory: true, }, @@ -72,8 +72,8 @@ const SelectPaymentPreference = ({ config, formData, t, onSelect, userType }) => Digit.SessionStorage.set("total_amount", totaltripAmount); Digit.SessionStorage.set("advance_amount", advanceBalanceAmount); formData?.selectPaymentPreference?.advanceAmount - ? setAdvanceAmount(formData?.selectPaymentPreference?.advanceAmount) - : setAdvanceAmount(advanceBalanceAmount); + ? setAdvanceAmount(Math.ceil(formData?.selectPaymentPreference?.advanceAmount)) + : setAdvanceAmount(Math.ceil(advanceBalanceAmount)); setError(false); } else if (billSlab?.price === 0) { @@ -104,7 +104,7 @@ const SelectPaymentPreference = ({ config, formData, t, onSelect, userType }) => if (advanceAmount === null) { return ; } - +console.log("advance",advanceAmount,totalAmount,MinAmount) return ( @@ -116,7 +116,7 @@ const SelectPaymentPreference = ({ config, formData, t, onSelect, userType }) => t={t} > - + {inputs?.map((input, index) => { return ( @@ -129,7 +129,7 @@ const SelectPaymentPreference = ({ config, formData, t, onSelect, userType }) => setAdvanceAmountValue(e.target.value)} value={advanceAmount} {...input.validation} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPaymentType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPaymentType.js index 83fecc1fd7c..04bd6933ea7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPaymentType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPaymentType.js @@ -1,7 +1,7 @@ import React, { useEffect, useState } from "react"; -import { LabelFieldPair, CardLabel, TextInput, CardLabelError, Dropdown } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, CardLabelError, Dropdown } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; -import { RadioButtons } from "@egovernments/digit-ui-react-components"; +import { RadioButtons } from "@upyog/digit-ui-react-components"; const SelectPaymentType = ({ t, config, onSelect, formData = {}, userType, register, errors }) => { const stateId = Digit.ULBService.getStateId(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPincode.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPincode.js index 51e92511cfa..fbd7d26f380 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPincode.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPincode.js @@ -1,4 +1,4 @@ -import { FormStep, TextInput, CardLabel, LabelFieldPair, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, CardLabel, LabelFieldPair, CardLabelError } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect, Fragment } from "react"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimelineInFSM"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPitType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPitType.js index 187a5c1eb28..d5873c7194d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPitType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPitType.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { FormStep, Dropdown, Loader, CardLabel, RadioButtons, RadioOrSelect } from "@egovernments/digit-ui-react-components"; +import { FormStep, Dropdown, Loader, CardLabel, RadioButtons, RadioOrSelect } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const SelectPitType = ({ t, formData, config, onSelect, userType }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPropertyID.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPropertyID.js index 663792097ea..6dc83550d8f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPropertyID.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPropertyID.js @@ -1,9 +1,9 @@ import React, { useState, useEffect } from "react"; -import { TextArea, LabelFieldPair, CardLabel, TextInput } from "@egovernments/digit-ui-react-components"; +import { TextArea, LabelFieldPair, CardLabel, TextInput } from "@upyog/digit-ui-react-components"; import FormStep from "../../../../react-components/src/molecules/FormStep" import Timeline from "../components/TLTimelineInFSM"; const SelectPropertyID = ({ t, config, onSelect, formData, userType, setError: setFormError, clearErrors: clearFormErrors }) => { -const [propertyID, setPropertyID] = useState(formData?.propertyID?.propertyID|| formData.propertyID ||""); +const [propertyID, setPropertyID] = useState(formData?.propertyID?.propertyID ||""); const [disable,setDisable]=useState(false) const [error, setError] = useState(""); const inputs = [ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPropertySubtype.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPropertySubtype.js index 05f00aa3cf0..40be1e00a45 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPropertySubtype.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPropertySubtype.js @@ -1,10 +1,15 @@ import React, { useState, useEffect, useMemo } from "react"; -import { Loader, TypeSelectCard, Dropdown, FormStep, CardLabel, RadioOrSelect } from "@egovernments/digit-ui-react-components"; +import { Loader, TypeSelectCard, Dropdown, FormStep, CardLabel, RadioOrSelect } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; import { useLocation } from "react-router-dom"; const SelectPropertySubtype = ({ config, onSelect, t, userType, formData }) => { const { pathname: url } = useLocation(); + let property = sessionStorage?.getItem("Digit_FSM_PT") + if (property !== "undefined") + { + property = JSON.parse(sessionStorage?.getItem("Digit_FSM_PT")) + } const select = (items) => items.map((item) => ({ ...item, i18nKey: t(item.i18nKey) })); const tenantId = Digit.ULBService.getCurrentTenantId(); const stateId = Digit.ULBService.getStateId(); @@ -15,7 +20,9 @@ const SelectPropertySubtype = ({ config, onSelect, t, userType, formData }) => { const [subtype, setSubtype] = useState(); const [subtypeOptions, setSubtypeOptions] = useState([]); - const { propertyType } = formData || {}; + console.log("propertyType",formData) + formData.propertyType = property?.usageCategory || formData.propertyType + const { propertyType } =formData || {}; useEffect(() => { if (!propertySubtypesDataLoading && propertySubtypesData) { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPropertyType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPropertyType.js index ec4ccdf4c59..b8de78e3791 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPropertyType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectPropertyType.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { CitizenInfoLabel, Loader, Dropdown, FormStep, CardLabel, RadioOrSelect } from "@egovernments/digit-ui-react-components"; +import { CitizenInfoLabel, Loader, Dropdown, FormStep, CardLabel, RadioOrSelect } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; import { useLocation } from "react-router-dom"; @@ -11,16 +11,44 @@ const SelectPropertyType = ({ config, onSelect, t, userType, formData }) => { const propertyTypesData = Digit.Hooks.fsm.useMDMS(stateId, "FSM", "PropertyType", { select }); + //const usageType=formData?.cpt!=="undefined"? (formData?.cpt?.details?.usageCategory==="RESIDENTIAL" ? formData?.cpt?.details?.usageCategory: formData?.cpt?.details?.usageCategory.split('.')[1]):"" + //const property = JSON.parse(sessionStorage?.getItem("Digit_FSM_PT")|| "{}") + let property = sessionStorage?.getItem("Digit_FSM_PT") +if (property !== "undefined") +{ + property = JSON.parse(sessionStorage?.getItem("Digit_FSM_PT")) +} + const usageType = property?.propertyDetails?.usageCategory || property?.usageCategory const [propertyType, setPropertyType] = useState(); - +useEffect(()=>{ + if(userType === "employee" && property && propertyTypesData.data) + { + + let propertyType = [] + + propertyType = propertyTypesData?.data.filter((city) => { + return city.code == usageType + }) + console.log("SSSSSS",propertyType) + if(propertyType.length >0) + { + onSelect(config.key, propertyType[0].code) + } + + } +},[]) useEffect(() => { + if(property){ + setPropertyType(usageType) + } + if (!propertyTypesData.isLoading && propertyTypesData.data) { const preFilledPropertyType = propertyTypesData.data.filter( - (propertyType) => propertyType.code === (formData?.propertyType?.code || formData?.propertyType) + (propertyType) => propertyType.code === (usageType||formData?.propertyType?.code || formData?.propertyType) )[0]; setPropertyType(preFilledPropertyType); } - }, [formData?.propertyType, propertyTypesData.data]); + }, [property, formData?.propertyType, propertyTypesData.data]); const goNext = () => { sessionStorage.removeItem("Digit.total_amount"); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectRoadDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectRoadDetails.js index e988a5ed161..c689b990012 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectRoadDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectRoadDetails.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { TextInput, LabelFieldPair, CardLabel, WrapUnMaskComponent } from "@egovernments/digit-ui-react-components"; +import { TextInput, LabelFieldPair, CardLabel, WrapUnMaskComponent } from "@upyog/digit-ui-react-components"; import FormStep from "../../../../react-components/src/molecules/FormStep"; import { useForm, Controller } from "react-hook-form"; import _ from "lodash"; @@ -9,7 +9,6 @@ const SelectRoadDetails = ({ t, config, onSelect, userType, formData, formState, const onSkip = () => onSelect(); const [focusIndex, setFocusIndex] = useState({ index: -1, type: "" }); -console.log("formData",formData) const { watch, trigger, @@ -30,6 +29,7 @@ console.log("formData",formData) label: "ES_NEW_APPLICATION_ROAD_WIDTH", type: "text", name: "roadWidth", + isMandatory: true, placeholder:"Enter road width in meters", validation: { maxlength: 256, @@ -40,6 +40,7 @@ console.log("formData",formData) label: "ES_NEW_APPLICATION_DISTANCE_FROM_ROAD", type: "text", name: "distancefromroad", + isMandatory:true, placeholder:"Enter distance of pit from road", validation: { maxlength: 256, @@ -97,6 +98,7 @@ console.log("formData",formData) {window.location.href.includes("/tl") ? : } onSelect(config.key, data)} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectSlumName.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectSlumName.js index c190ecdd968..f29af6256fd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectSlumName.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectSlumName.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, FormStep, Loader } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, FormStep, Loader } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const SelectSlumName = ({ config, onSelect, t, userType, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectStreet.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectStreet.js index 75745167896..550d4e7e50f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectStreet.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectStreet.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, LabelFieldPair, CardLabel, WrapUnMaskComponent } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, LabelFieldPair, CardLabel, WrapUnMaskComponent } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import _ from "lodash"; import Timeline from "../components/TLTimelineInFSM"; @@ -39,6 +39,7 @@ const SelectStreet = ({ t, config, onSelect, userType, formData, formState, setE label: "PT_PROPERTY_ADDRESS_STREET_NAME", type: "text", name: "street", + isMandatory: true, validation: { pattern: "[a-zA-Z0-9 ]{1,255}", // maxlength: 256, @@ -49,6 +50,7 @@ const SelectStreet = ({ t, config, onSelect, userType, formData, formState, setE label: "PT_PROPERTY_ADDRESS_HOUSE_NO", type: "text", name: "doorNo", + isMandatory: true, validation: { pattern: "[A-Za-z0-9#,/ -]{1,63}", // maxlength: 256, @@ -134,7 +136,7 @@ const SelectStreet = ({ t, config, onSelect, userType, formData, formState, setE {t(input.label)} - {config.isMandatory ? " * " : null} + {input.isMandatory ? " * " : null}
: } onSelect(config.key, data)} - isDisabled={doorNo || street ? false : true} + isDisabled={doorNo && street ? false : true} t={t} /> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTankSize.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTankSize.js index 4c2b1df9880..61bdea4164d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTankSize.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTankSize.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, PitDimension, ImageUploadHandler } from "@egovernments/digit-ui-react-components"; +import { FormStep, PitDimension, ImageUploadHandler } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const isConventionalSpecticTank = (tankDimension) => tankDimension === "lbd"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTripData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTripData.js index 7016d596a69..eca3541340e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTripData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTripData.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { getVehicleType } from "../utils"; -import { LabelFieldPair, CardLabel, TextInput, Dropdown, Loader, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, Dropdown, Loader, CardLabelError } from "@upyog/digit-ui-react-components"; import { useLocation, useParams } from "react-router-dom"; const SelectTripData = ({ t, config, onSelect, formData = {}, userType }) => { @@ -81,7 +81,9 @@ const SelectTripData = ({ t, config, onSelect, formData = {}, userType }) => { } function setValue(object) { - onSelect(config.key, { ...formData[config.key], ...object }); + let a = {...formData[config.key],...object} + console.log("config.key",config.key,a) + onSelect(config.key, a); } useEffect(() => { (async () => { @@ -98,7 +100,7 @@ const SelectTripData = ({ t, config, onSelect, formData = {}, userType }) => { capacity, slum, }); - + console.log("billingDetails",billingDetails) const billSlab = billingDetails?.billingSlab?.length && billingDetails?.billingSlab[0]; if (billSlab?.price || billSlab?.price === 0) { setValue({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTripNo.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTripNo.js index dbb84a5bdc8..12bdb5fc375 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTripNo.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTripNo.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { FormStep, Dropdown, Loader, RadioOrSelect, CardText } from "@egovernments/digit-ui-react-components"; +import { FormStep, Dropdown, Loader, RadioOrSelect, CardText } from "@upyog/digit-ui-react-components"; const SelectTripNo = ({ config, formData, t, onSelect, userType }) => { const state = Digit.ULBService.getStateId(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTrips.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTrips.js index e4fd2ecbee2..90f1a164d80 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTrips.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectTrips.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { getVehicleType } from "../utils"; -import { LabelFieldPair, CardLabel, TextInput, Dropdown, Loader, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, Dropdown, Loader, CardLabelError } from "@upyog/digit-ui-react-components"; import { useLocation, useParams } from "react-router-dom"; const SelectTrips = ({ t, config, onSelect, formData = {}, userType, styles, FSMTextFieldStyle }) => { @@ -61,14 +61,14 @@ const SelectTrips = ({ t, config, onSelect, formData = {}, userType, styles, FSM type: "text", name: "distancefromroad", default: formData?.tripData?.distancefromroad, - //isMandatory: true, + isMandatory: true, }, { label: "ES_NEW_APPLICATION_ROAD_WIDTH", type: "text", name: "roadWidth", default: formData?.tripData?.roadWidth, - //isMandatory: true, + isMandatory: true, } ]; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectVehicleType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectVehicleType.js index 210f516b574..74cbc9e0af8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectVehicleType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pageComponents/SelectVehicleType.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { CardLabel, Dropdown, LabelFieldPair, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, Dropdown, LabelFieldPair, TextInput } from "@upyog/digit-ui-react-components"; const SelectVehicleType = ({ t, config, onSelect, userType, formData, setValue }) => { const stateId = Digit.ULBService.getStateId(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/Response.js index dca73360a50..de1bff6578a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/Response.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { Card, Banner, CardText, SubmitBar, Loader, LinkButton, Toast, ActionBar, Menu } from "@egovernments/digit-ui-react-components"; +import { Card, Banner, CardText, SubmitBar, Loader, LinkButton, Toast, ActionBar, Menu } from "@upyog/digit-ui-react-components"; import { Link, useHistory } from "react-router-dom"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; @@ -67,7 +67,7 @@ const Response = (props) => { const [successData, setsuccessData, clearSuccessData] = Digit.Hooks.useSessionStorage("FSM_MUTATION_SUCCESS_DATA", false); const [displayMenu, setDisplayMenu] = useState(false); const [selectedAction, setSelectedAction] = useState(null); - + sessionStorage.removeItem("Digit_FSM_PT") const onError = (error, variables) => { setErrorInfo(error?.response?.data?.Errors[0]?.code || error?.message || "ERROR"); setMutationHappened(true); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/ApplicationDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/ApplicationDetails.js index 91f60fdb6f1..080b36b45f3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/ApplicationDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/ApplicationDetails.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { Header, Card, KeyNote, LinkButton, Loader, MultiLink } from "@egovernments/digit-ui-react-components"; +import { Header, Card, KeyNote, LinkButton, Loader, MultiLink } from "@upyog/digit-ui-react-components"; import { useHistory, useLocation, useParams } from "react-router-dom"; import getPDFData from "../../getPDFData"; import { getVehicleType } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/MyApplications/MyApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/MyApplications/MyApplication.js index 34bf7625915..a0d468ec6c3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/MyApplications/MyApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/MyApplications/MyApplication.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { Card, KeyNote, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, KeyNote, SubmitBar } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; const MyApplication = ({ application }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/MyApplications/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/MyApplications/index.js index d2201406f77..93cc54d92a8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/MyApplications/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/MyApplications/index.js @@ -1,5 +1,5 @@ import React from "react"; -import { Header, Loader } from "@egovernments/digit-ui-react-components"; +import { Header, Loader } from "@upyog/digit-ui-react-components"; import MyApplication from "./MyApplication"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/NewApplication/CheckPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/NewApplication/CheckPage.js index 235fee85fe2..bb66b078074 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/NewApplication/CheckPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/NewApplication/CheckPage.js @@ -12,7 +12,7 @@ import { SubmitBar, CardText, CitizenInfoLabel, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useHistory } from "react-router-dom"; import { useTranslation } from "react-i18next"; import Timeline from "../../../components/TLTimelineInFSM"; @@ -75,8 +75,8 @@ const CheckPage = ({ onSubmit, value }) => { )} } + text={value?.cptId?.id ? value?.cptId?.id : "NA"} + actionButton={} /> { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/NewApplication/defaultConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/NewApplication/defaultConfig.js index 9f9c1b1cddb..c0bbe557bba 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/NewApplication/defaultConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/NewApplication/defaultConfig.js @@ -8,6 +8,15 @@ import FSMSelectStreet from "./FSMSelectStreet"; // import SelectLandmark from "./SelectLandmark"; import FSMSelectLandmark from "./FSMSelectLandmark"; // import SelectPincode from "./SelectPincode"; +import CPTKnowYourProperty from "../../../../../commonPt/src/pages/pageComponents/KnowYourProperty"; +import CPTSearchProperty from "../../../../../commonPt/src/pages/citizen/SearchProperty"; +import CPTPropertySearchResults from "../../../../../commonPt/src/components/search/CPTPropertySearchResults" +import CPTPropertyDetails from "../../../../../commonPt/src/pages/pageComponents/PropertyDetails" +import CPTCreateProperty from "../../../../../commonPt/src/pages/pageComponents/createForm"; +import CPTAcknowledgement from "../../../../../commonPt/src/pages/pageComponents/PTAcknowledgement"; +//import PropertyDetails from "../../../../../commonPt/src/pages/pageComponents/PTAcknowledgement"; +import CPTSearchResults from "../../../../../commonPt/src/pages/citizen/SearchResults" +import CPTPropertySearchNSummary from "../../../../../commonPt/src/pages/pageComponents/PropertySearchNSummary" import FSMSelectPincode from "./FSMSelectPincode"; import SelectTankSize from "./SelectTankSize"; import SelectPitType from "./SelectPitType"; @@ -16,18 +25,69 @@ import FSMSelectGeolocation from "./FSMSelectGeolocation"; export const config = { routes: [ - { - route: "property-id", - component: SelectPropertyID, - groupKey: "ES_TITLE_APPLICATION_DETAILS", - texts: { - headerCaption: "", - header: "CS_FILE_APPLICATION_PROPERTY_ID_LABEL", - cardText: "CS_FILE_APPLICATION_PROPERTY_ID_TEXT", - submitBarLabel: "CS_COMMON_NEXT", - }, - nextStep: "property-type", - }, + { + type: "component", + route: "search-property", + isMandatory: true, + component: CPTSearchProperty, + key: "cptsearchproperty", + withoutLabel: true, + nextStep: 'search-results', + hideInEmployee: true, + }, + { + type: "component", + route: "search-results", + isMandatory: true, + component: CPTSearchResults, + key: "cptsearchresults", + withoutLabel: true, + nextStep: 'property-type', + hideInEmployee: true, + }, + { + type: "component", + route: "create-property", + isMandatory: true, + component: CPTCreateProperty, + key: "cptcreateproperty", + withoutLabel: true, + isSkipEnabled : true, + nextStep: 'acknowledge-create-property', + hideInEmployee: true, + }, + { + type: "component", + route: "acknowledge-create-property", + isMandatory: true, + component: CPTAcknowledgement, + key: "cptacknowledgement", + withoutLabel: true, + nextStep: 'property-type', + hideInEmployee: true, + }, + { + type: "component", + route: "property-details", + isMandatory: true, + component: CPTPropertyDetails, + key: "propertydetails", + withoutLabel: true, + nextStep: 'property-type', + hideInEmployee: true, + }, + + { + type: "component", + component: CPTPropertySearchNSummary, + withoutLabel: true, + key: "cpt", + hideInCitizen: true + + + }, + + { route: "property-type", component: SelectPropertyType, @@ -188,5 +248,5 @@ export const config = { nextStep: null, }, ], - indexRoute: "property-id", + indexRoute: "search-property", }; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/NewApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/NewApplication/index.js index 82cb1425e4e..53802916ffd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/NewApplication/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/NewApplication/index.js @@ -1,7 +1,7 @@ import React, { useEffect, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import { Redirect, Route, BrowserRouter as Router, Switch, useHistory, useRouteMatch, useLocation } from "react-router-dom"; -import { TypeSelectCard, Loader } from "@egovernments/digit-ui-react-components"; +import { TypeSelectCard, Loader } from "@upyog/digit-ui-react-components"; import { newConfig } from "../../../config/NewApplication/config"; import CheckPage from "./CheckPage"; import Response from "./Response"; @@ -70,26 +70,75 @@ const FileComplaint = ({ parentRoute }) => { config = config.concat(obj.body.filter((a) => !a.hideInCitizen)); }); - configs = [...config] - configs.indexRoute = "select-trip-number"; -let newConfig=[ - { - "label": "ES_NEW_APPLICATION_PROPERTY_ID", - "isMandatory": true, - "type": "component", - "route": "property-id", - "key": "propertyID", - "component": "SelectPropertyID", - "texts": { - "headerCaption": "", - "header": "CS_FILE_APPLICATION_PROPERTY_ID_LABEL", - "cardText": "CS_FILE_APPLICATION_PROPERTY_ID_TEXT", - "submitBarLabel": "CS_COMMON_NEXT" - }, - "nextStep": "property-type" - }, + +let newConfig=[ + { + "type": "component", + "route": "search-property", + "isMandatory": true, + "component": "CPTSearchProperty", + "key": "cptsearchproperty", + "withoutLabel": true, + "nextStep": 'search-results', + "hideInEmployee": true, + }, + { + "type": "component", + "route": "search-results", + "isMandatory": true, + "component": "CPTSearchResults", + "key": "cptsearchresults", + "withoutLabel": true, + "nextStep": 'property-type', + "hideInEmployee": true, + }, + { + "type": "component", + "route": "create-property", + "isMandatory": true, + "component": "CPTCreateProperty", + "key": "cptcreateproperty", + "withoutLabel": true, + "isSkipEnabled" : true, + "nextStep": 'acknowledge-create-property', + "hideInEmployee": true, + }, + { + "type": "component", + "route": "acknowledge-create-property", + "isMandatory": true, + "component": "CPTAcknowledgement", + "key": "cptacknowledgement", + "withoutLabel": true, + "nextStep": 'property-type', + "hideInEmployee": true, + }, + { + "type": "component", + "route": "property-details", + "isMandatory": true, + "component": "CPTPropertyDetails", + "key": "propertydetails", + "withoutLabel": true, + "nextStep": 'property-type', + "hideInEmployee": true, + }, + + { + "head": "FSM_NEW_APPLICATION_PROPERTY", + "body": [ + { + "component": "CPTPropertySearchNSummary", + "withoutLabel": true, + "key": "cpt", + "type": "component", + "hideInCitizen": true + } + ] + }, + { - "label": "ES_NEW_APPLICATION_PROPERTY_TYPE", + "label": "ES_NEW_APPLICATION_PROPERTY_TYPEs", "isMandatory": true, "type": "component", "route": "property-type", @@ -280,7 +329,7 @@ let newConfig=[ "submitBarLabel": "CS_COMMON_NEXT", "skipLabel": "CS_COMMON_SERVICE_SKIP_INFO" }, - "nextStep": "property-id" + "nextStep": "search-property" }, { "label": "a", @@ -329,9 +378,12 @@ let newConfig=[ "component": "AdvanceCollection" } ] +configs = [...newConfig] + configs.indexRoute = "select-trip-number"; +console.log("newConfig",newConfig) return ( - {newConfig.map((routeObj, index) => { + {configs.map((routeObj, index) => { const { component, texts, inputs, key } = routeObj; const Component = typeof component === "string" ? Digit.ComponentRegistryService.getComponent(component) : component; return ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/Rating/RateView.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/Rating/RateView.js index 85fe89e4e22..dd136ad6e23 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/Rating/RateView.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/Rating/RateView.js @@ -1,7 +1,7 @@ import React from "react"; import { useTranslation } from "react-i18next"; import { useParams } from "react-router-dom"; -import { Card, CardLabel, CardHeader, KeyNote, Loader, Rating } from "@egovernments/digit-ui-react-components"; +import { Card, CardLabel, CardHeader, KeyNote, Loader, Rating } from "@upyog/digit-ui-react-components"; const RateView = (props) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/Rating/SelectRating.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/Rating/SelectRating.js index a7b317f238c..68622afe4e9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/Rating/SelectRating.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/Rating/SelectRating.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { CardLabelError, Loader, RatingCard } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, Loader, RatingCard } from "@upyog/digit-ui-react-components"; import { useHistory, useParams } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/index.js index 179fa3174d0..666d2fc16d8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/citizen/index.js @@ -1,4 +1,4 @@ -import { BackButton, PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { BackButton, PrivateRoute } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Redirect, Switch, useLocation } from "react-router-dom"; @@ -6,6 +6,8 @@ import { Redirect, Switch, useLocation } from "react-router-dom"; const CitizenApp = ({ path }) => { const location = useLocation(); const { t } = useTranslation(); + let isCommonPTPropertyScreen = window.location.href.includes("/ws/create-application/property-details"); + let isAcknowledgement = window.location.href.includes("/acknowledgement") || window.location.href.includes("/disconnect-acknowledge"); const NewApplicationCitizen = Digit.ComponentRegistryService.getComponent("FSMNewApplicationCitizen"); const MyApplications = Digit.ComponentRegistryService.getComponent("FSMMyApplications"); const EmployeeApplicationDetails = Digit.ComponentRegistryService.getComponent("FSMEmployeeApplicationDetails"); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationAudit.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationAudit.js index 66060a78644..21a6b43e3fa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationAudit.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationAudit.js @@ -1,4 +1,4 @@ -import { Header, LinkButton, Loader, Table } from "@egovernments/digit-ui-react-components"; +import { Header, LinkButton, Loader, Table } from "@upyog/digit-ui-react-components"; import { Link, useParams } from "react-router-dom"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/Modal/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/Modal/index.js index 90977c59f0f..57547a1b833 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/Modal/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/Modal/index.js @@ -1,7 +1,7 @@ -import { Loader, Modal, FormComposer, Toast } from "@egovernments/digit-ui-react-components"; +import { Loader, Modal, FormComposer, Toast } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { useQueryClient } from "react-query"; -import { UploadPitPhoto } from "@egovernments/digit-ui-react-components"; +import { UploadPitPhoto } from "@upyog/digit-ui-react-components"; import { configAssignDso, configCompleteApplication, configReassignDSO, configAcceptDso, configRejectApplication, configScheduleDso, configUpdateTrips, configRejectFstpo } from "../config"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/AcceptDso.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/AcceptDso.js index ec3eed24116..0a1ce8cc2cc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/AcceptDso.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/AcceptDso.js @@ -1,5 +1,5 @@ import React from "react"; -import { CardLabelError, Dropdown } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, Dropdown } from "@upyog/digit-ui-react-components"; export const configAcceptDso = ({ t, dsoData, dso, selectVehicleNo, vehicleNoList, vehicleNo, vehicle, noOfTrips, action }) => { return { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/AssignDso.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/AssignDso.js index aecbdc14e61..d916f5f7167 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/AssignDso.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/AssignDso.js @@ -1,5 +1,5 @@ import React from "react"; -import { DatePicker, Dropdown, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { DatePicker, Dropdown, CardLabelError } from "@upyog/digit-ui-react-components"; function todayDate() { var today = new Date(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/CompleteApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/CompleteApplication.js index 7be1c215f01..47fea779534 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/CompleteApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/CompleteApplication.js @@ -1,6 +1,6 @@ import React from "react"; -import { DatePicker } from "@egovernments/digit-ui-react-components"; -import { RadioButtons } from "@egovernments/digit-ui-react-components"; +import { DatePicker } from "@upyog/digit-ui-react-components"; +import { RadioButtons } from "@upyog/digit-ui-react-components"; export const configCompleteApplication = ({ t, vehicle, vehicleCapacity, noOfTrips, applicationCreatedTime = 0, receivedPaymentType, action, module }) => ({ @@ -55,22 +55,75 @@ export const configCompleteApplication = ({ t, vehicle, vehicleCapacity, noOfTri error: `${t("ES_FSM_ACTION_INVALID_WASTE_VOLUME")} ${vehicleCapacity} ${t("CS_COMMON_LITRES")}`, }, }, + { + head: "", + body: [ + { - label: "ES_NEW_APPLICATION_PROPERTY_ID", + type: "component", + route: "search-property", isMandatory: true, + component: "CPTSearchProperty", + key: "cptsearchproperty", + withoutLabel: true, + nextStep: 'search-results', + hideInEmployee: true, + }, + { type: "component", - route: "property-id", - key: "propertyID", - component: "SelectPropertyID", - disable: true, - texts: { - headerCaption: "", - header: "CS_FILE_APPLICATION_PROPERTY_ID", - cardText: "CS_FILE_APPLICATION_PROPERTY_ID_TEXT", - submitBarLabel: "CS_COMMON_NEXT", - }, - nextStep: "property-type", + route: "search-results", + isMandatory: true, + component: "CPTSearchResults", + key: "cptsearchresults", + withoutLabel: true, + nextStep: 'property-type', + hideInEmployee: true, }, + { + type: "component", + route: "create-property", + isMandatory: true, + component: "CPTCreateProperty", + key: "cptcreateproperty", + withoutLabel: true, + isSkipEnabled : true, + nextStep: 'acknowledge-create-property', + hideInEmployee: true, + }, + { + type: "component", + route: "acknowledge-create-property", + isMandatory: true, + component: "CPTAcknowledgement", + key: "cptacknowledgement", + withoutLabel: true, + nextStep: 'property-type', + hideInEmployee: true, + }, + { + type: "component", + route: "property-details", + isMandatory: true, + component: "CPTPropertyDetails", + key: "propertydetails", + withoutLabel: true, + nextStep: 'property-type', + hideInEmployee: true, + }, + ], + }, + { + head: "FSM_NEW_APPLICATION_PROPERTY", + body: [ + { + component: "CPTPropertySearchNSummary", + withoutLabel: true, + key: "cpt", + type: "component", + hideInCitizen: true + } + ] + }, { label: t("ES_FSM_ACTION_ROAD_WIDTH"), type: "number", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/ReassignDso.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/ReassignDso.js index 856b896a358..0d40833d0bb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/ReassignDso.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/ReassignDso.js @@ -1,5 +1,5 @@ import React from "react"; -import { DatePicker, Dropdown, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { DatePicker, Dropdown, CardLabelError } from "@upyog/digit-ui-react-components"; function getFilteredDsoData(dsoData, vehicle, vehicleCapacity) { return dsoData?.filter((e) => e.vehicles?.find((veh) => veh?.capacity == vehicleCapacity)); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/RejectApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/RejectApplication.js index d6a41117ed8..00c6997a085 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/RejectApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/RejectApplication.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; export const configRejectApplication = ({ t, rejectMenu, setReason, reason, action }) => { return { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/RejectFstpo.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/RejectFstpo.js index 75d099111f3..e744884119f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/RejectFstpo.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/RejectFstpo.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; export const configRejectFstpo = ({ t, rejectMenu, selectReason, reason, action }) => { return { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/ScheduleDso.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/ScheduleDso.js index ede828c5242..146dbe52cf4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/ScheduleDso.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/config/ScheduleDso.js @@ -1,6 +1,6 @@ import React from "react"; -import { Dropdown } from "@egovernments/digit-ui-react-components"; -import { DatePicker } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; +import { DatePicker } from "@upyog/digit-ui-react-components"; export const configScheduleDso = ({ t, rejectMenu, setTrips, trips, applicationCreatedTime = 0, vehicleCapacity, noOfTrips, action }) => { return { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/index.js index af4a1aa6632..9b32afe299e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/index.js @@ -20,7 +20,7 @@ import { ActionLinks, Header, ImageViewer, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import ActionModal from "./Modal"; import TLCaption from "../../../components/TLCaption"; @@ -50,7 +50,7 @@ const ApplicationDetails = (props) => { tenantId, applicationNumber, {}, - props.userType + "EMPLOYEE" ); const { isLoading: isDataLoading, isSuccess, data: applicationData } = Digit.Hooks.fsm.useSearch( tenantId, @@ -82,9 +82,9 @@ const ApplicationDetails = (props) => { applicationData?.advanceAmount === null ? "FSM_ZERO_PAY_SERVICE" : "FSM", - role: DSO ? "FSM_DSO" : "FSM_EMPLOYEE", + role: "FSM_EMPLOYEE", serviceData: applicationDetails, - getTripData: DSO ? false : true, + getTripData: true, }); useEffect(() => { @@ -173,6 +173,7 @@ const ApplicationDetails = (props) => { date: checkpoint?.auditDetails?.created, name: checkpoint?.assigner, mobileNumber: applicationData?.citizen?.mobileNumber, + emailId:applicationData?.citizen?.emailId, source: applicationData?.source || "", }; return ; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/DsoDashboard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/DsoDashboard.js index 5ca1ae1c2ac..cffdae044db 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/DsoDashboard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/DsoDashboard.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { Loader, ShippingTruck, EmployeeModuleCard } from "@egovernments/digit-ui-react-components"; +import { Loader, ShippingTruck, EmployeeModuleCard } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useMemo } from "react"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/EditApplication/EditForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/EditApplication/EditForm.js index 67ead7e8999..4954ebeea6c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/EditApplication/EditForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/EditApplication/EditForm.js @@ -1,6 +1,6 @@ import React, { useState, useEffect, Fragment } from "react"; import { useHistory } from "react-router-dom"; -import { FormComposer, Header, Loader } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Header, Loader } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const isConventionalSpecticTank = (tankDimension) => tankDimension === "lbd"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Driver/AddDriver.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Driver/AddDriver.js index cbbe57d1ac7..38651b81aa1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Driver/AddDriver.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Driver/AddDriver.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { FormComposer, Toast, Header } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Toast, Header } from "@upyog/digit-ui-react-components"; import { useHistory } from "react-router-dom"; import DriverConfig from "../../configs/DriverConfig"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Driver/DriverDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Driver/DriverDetails.js index 0252dcef5d9..c160f4c662e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Driver/DriverDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Driver/DriverDetails.js @@ -18,7 +18,7 @@ import { CardText, Dropdown, AddIcon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Driver/EditDriver.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Driver/EditDriver.js index 5a2cfd2bf11..abdea72c491 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Driver/EditDriver.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Driver/EditDriver.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { FormComposer, Loader, Toast, Header } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Loader, Toast, Header } from "@upyog/digit-ui-react-components"; import { useHistory, useParams } from "react-router-dom"; import { useQueryClient } from "react-query"; import DriverConfig from "../../configs/DriverConfig"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vehicle/AddVehicle.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vehicle/AddVehicle.js index 1cc541fc6b2..3c3fe3bab63 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vehicle/AddVehicle.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vehicle/AddVehicle.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { FormComposer, Toast, Header } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Toast, Header } from "@upyog/digit-ui-react-components"; import { useHistory } from "react-router-dom"; import VehicleConfig from "../../configs/VehicleConfig"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vehicle/EditVehicle.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vehicle/EditVehicle.js index 57ec101841b..9983081041c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vehicle/EditVehicle.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vehicle/EditVehicle.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { FormComposer, Loader, Toast, Header } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Loader, Toast, Header } from "@upyog/digit-ui-react-components"; import { useHistory, useParams } from "react-router-dom"; import { useQueryClient } from "react-query"; import VehicleConfig from "../../configs/VehicleConfig"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vehicle/VehicleDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vehicle/VehicleDetails.js index 285f5abf990..03f09a04c98 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vehicle/VehicleDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vehicle/VehicleDetails.js @@ -18,7 +18,7 @@ import { CardText, AddIcon, Dropdown, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/AddVendor.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/AddVendor.js index 3fa5f9fd8db..cc0a78d7692 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/AddVendor.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/AddVendor.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { FormComposer, Toast, Header } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Toast, Header } from "@upyog/digit-ui-react-components"; import { useHistory } from "react-router-dom"; import VendorConfig from "../../configs/VendorConfig"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/EditVendor.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/EditVendor.js index 56949b40960..2e512c34991 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/EditVendor.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/EditVendor.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { FormComposer, Loader, Toast, Header } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Loader, Toast, Header } from "@upyog/digit-ui-react-components"; import { useHistory, useParams } from "react-router-dom"; import VendorConfig from "../../configs/VendorConfig"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/VendorDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/VendorDetails.js index 2ec10e4c61f..82590391219 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/VendorDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/VendorDetails.js @@ -17,7 +17,7 @@ import { Modal, CardText, Dropdown, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/index.js index a039fc0e046..fc737802b54 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/index.js @@ -1,6 +1,6 @@ import React, { useState, useCallback, useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import RegisryInbox from "../../../components/RegistryInbox"; const FSMRegistry = () => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpAddVehicle.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpAddVehicle.js index 5d8c912dbc9..94009c8c224 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpAddVehicle.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpAddVehicle.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, LabelFieldPair, CardLabel, Header } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, LabelFieldPair, CardLabel, Header } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import _ from "lodash"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpInbox.js index df694cefb1c..a250b3af902 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpInbox.js @@ -1,6 +1,6 @@ import React, { useState, useCallback } from "react"; import { useTranslation } from "react-i18next"; -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import DesktopInbox from "../../components/DesktopInbox"; import MobileInbox from "../../components/MobileInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpOperations.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpOperations.js index 0c43bfb6d97..629e701107a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpOperations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpOperations.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { BackButton, Card, AddNewIcon, InboxIcon, ViewReportIcon, CardText, CardHeader, ULBHomeCard } from "@egovernments/digit-ui-react-components"; +import { BackButton, Card, AddNewIcon, InboxIcon, ViewReportIcon, CardText, CardHeader, ULBHomeCard } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpOperatorDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpOperatorDetails.js index f3b191b791a..b755df89b86 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpOperatorDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpOperatorDetails.js @@ -1,7 +1,7 @@ import React, { Fragment, useState, useEffect, useRef } from "react"; import { useParams, useHistory, useLocation } from "react-router-dom"; import TimePicker from "react-time-picker"; -import { Dropdown, Header, MultiUploadWrapper, TextArea } from "@egovernments/digit-ui-react-components"; +import { Dropdown, Header, MultiUploadWrapper, TextArea } from "@upyog/digit-ui-react-components"; import { Card, CardLabel, @@ -16,7 +16,7 @@ import { Row, LabelFieldPair, Menu, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; import CustomTimePicker from "../../components/CustomTimePicker"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpServiceRequest.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpServiceRequest.js index 5d81ca6cbc4..fcdd3f185e6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpServiceRequest.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FstpServiceRequest.js @@ -1,6 +1,6 @@ import React, { useState, useCallback, useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { CardHeader, Header, Loader } from "@egovernments/digit-ui-react-components"; +import { CardHeader, Header, Loader } from "@upyog/digit-ui-react-components"; import DesktopInbox from "../../components/DesktopInbox"; import MobileInbox from "../../components/MobileInbox"; import { Link, useHistory, useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/Inbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/Inbox.js index 5544661df60..4947e20b9b8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/Inbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/Inbox.js @@ -1,7 +1,7 @@ import React, { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import DesktopInbox from "../../components/DesktopInbox"; import MobileInbox from "../../components/MobileInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/NewApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/NewApplication/index.js index 5558e734ba5..145a8ec4a0d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/NewApplication/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/NewApplication/index.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { FormComposer, Loader, Header } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Loader, Header } from "@upyog/digit-ui-react-components"; import { useHistory } from "react-router-dom"; const isConventionalSpecticTank = (tankDimension) => tankDimension === "lbd"; @@ -44,14 +44,18 @@ export const NewApplication = ({ parentUrl, heading }) => { const onFormValueChange = (setValue, formData) => { console.log("ProID", formData) if ( - formData?. propertyID && + formData?.propertyType && formData?.subtype && - formData?.address?.locality?.code && + formData?.address?.locality?.code || formData?.cpt?.details?.address?.locality?.code && formData?.tripData?.vehicleType && formData?.channel && formData?.pitType && - (formData?.tripData?.amountPerTrip || formData?.tripData?.amountPerTrip === 0) + formData?.tripData?.roadWidth && + formData?.tripData?.distancefromroad && + formData?. address?.street && + formData?.address?.doorNo && + (formData?.tripData?.amountPerTrip || formData?.tripData?.amountPerTrip === 0 || formData?.tripData?.undefined?.amountPerTrip) ) { setSubmitValve(true); const pitDetailValues = formData?.pitDetail ? Object.values(formData?.pitDetail).filter((value) => value > 0) : null; @@ -86,24 +90,26 @@ export const NewApplication = ({ parentUrl, heading }) => { // }, [propertyType, subType, vehicle]); const onSubmit = (data) => { + console.log("data",data) const applicationChannel = data.channel; const sanitationtype = data?.pitType?.code; const pitDimension = data?.pitDetail; const applicantName = data.applicationData.applicantName; const mobileNumber = data.applicationData.mobileNumber; + const emailId = data.applicationData.emailId; const pincode = data?.address?.pincode; const street = data?.address?.street?.trim(); const doorNo = data?.address?.doorNo?.trim(); const slum = data?.address?.slum; const landmark = data?.address?.landmark?.trim(); - const propertyID = data.propertyID. propertyID; + const propertyID = data?.propertyID?.propertyID; const noOfTrips = data?.tripData?.noOfTrips; - const amount = data.tripData.amountPerTrip; + const amount = data.tripData.amount || data?.tripData?.undefined?.amount; const cityCode = data?.address?.city?.code; const city = data?.address?.city?.name; const state = data?.address?.city?.state; - const localityCode = data?.address?.locality?.code; - const localityName = data?.address?.locality?.name; + const localityCode = data.cpt?.details?.address?.locality?.code || data?.address?.locality?.code ; + const localityName = data.cpt?.details?.address?.locality?.name || data?.address?.locality?.name; const gender = data.applicationData.applicantGender; const paymentPreference = amount === 0 ? null : data?.paymentPreference ? data?.paymentPreference : null; const advanceAmount = amount === 0 ? null : data?.advancepaymentPreference?.advanceAmount; @@ -115,6 +121,7 @@ export const NewApplication = ({ parentUrl, heading }) => { name: applicantName, mobileNumber, gender: gender, + emailId:emailId }, tenantId: tenantId, sanitationtype: sanitationtype, @@ -169,6 +176,318 @@ export const NewApplication = ({ parentUrl, heading }) => { } const configs = [...preFields, ...commonFields]; + let conf =[ + { + "head": "ES_TITLE_APPLICANT_DETAILS", + "body": [ + { + "label": "ES_NEW_APPLICATION_APPLICATION_CHANNEL", + "isMandatory": true, + "type": "component", + "key": "channel", + "component": "SelectChannel", + "nextStep": "applicantName" + }, + { + "type": "component", + "key": "applicationData", + "withoutLabel": true, + "component": "SelectName" + } + ] + }, + { + "head": "ES_NEW_APPLICATION_PROPERTY_DETAILS", + "body": [ + {"label": "ES_NEW_APPLICATION_PROPERTY_ID", + "isMandatory": true, + component: "CPTPropertySearchNSummary", + withoutLabel: true, + key: "cpt", + type: "component", + hideInCitizen: true + }, + { + "label": "ES_NEW_APPLICATION_PROPERTY_TYPE", + "isMandatory": true, + "type": "component", + "route": "property-type", + "key": "propertyType", + "component": "SelectPropertyType", + "texts": { + "headerCaption": "", + "header": "CS_FILE_APPLICATION_PROPERTY_LABEL", + "cardText": "CS_FILE_APPLICATION_PROPERTY_TEXT", + "submitBarLabel": "CS_COMMON_NEXT" + }, + "nextStep": "property-subtype" + }, + { + "label": "ES_NEW_APPLICATION_PROPERTY_SUB-TYPE", + "isMandatory": true, + "type": "component", + "route": "property-subtype", + "key": "subtype", + "component": "SelectPropertySubtype", + "texts": { + "headerCaption": "", + "header": "CS_FILE_APPLICATION_PROPERTY_SUBTYPE_LABEL", + "cardText": "CS_FILE_APPLICATION_PROPERTY_SUBTYPE_TEXT", + "submitBarLabel": "CS_COMMON_NEXT" + }, + "nextStep": "map" + } + ] + }, + { + "head": "ES_NEW_APPLICATION_LOCATION_DETAILS", + "body": [ + { + "route": "map", + "component": "FSMSelectGeolocation", + "nextStep": "pincode", + "hideInEmployee": true, + "key": "address" + }, + { + "route": "pincode", + "component": "FSMSelectPincode", + "texts": { + "headerCaption": "", + "header": "CS_FILE_APPLICATION_PINCODE_LABEL", + "cardText": "CS_FILE_APPLICATION_PINCODE_TEXT", + "submitBarLabel": "CS_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE" + }, + "withoutLabel": true, + "key": "address", + "nextStep": "address", + "type": "component" + }, + { + "route": "address", + "component": "FSMSelectAddress", + "withoutLabel": true, + "texts": { + "headerCaption": "CS_FILE_APPLICATION_PROPERTY_LOCATION_LABEL", + "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_ADDRESS_TEXT", + "cardText": "CS_FILE_APPLICATION_PROPERTY_LOCATION_CITY_MOHALLA_TEXT", + "submitBarLabel": "CS_COMMON_NEXT" + }, + "key": "address", + "nextStep": "locality-gramPanchayat", + "isMandatory": true, + "type": "component" + }, + // { + // "route": "locality-gramPanchayat", + // "component": "SelectLocalityOrGramPanchayat", + // "withoutLabel": true, + // "texts": { + // "headerCaption": "CS_FILE_APPLICATION_PROPERTY_LOCATION_LABEL", + // "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_ADDRESS_TEXT", + // "cardText": "CS_FILE_APPLICATION_PROPERTY_LOCATION_CITY_MOHALLA_TEXT", + // "submitBarLabel": "CS_COMMON_NEXT" + // }, + // "key": "address", + // "nextStep": "check-slum", + // "isMandatory": true, + // "type": "component" + // }, + { + "type": "component", + "route": "check-slum", + "isMandatory": true, + "component": "CheckSlum", + "texts": { + "header": "ES_NEW_APPLICATION_SLUM_CHECK", + "submitBarLabel": "CS_COMMON_NEXT" + }, + "key": "address", + "withoutLabel": true, + "nextStep": "slum-details", + "hideInEmployee": true + }, + { + "type": "component", + "route": "slum-details", + "isMandatory": true, + "component": "SelectSlumName", + "texts": { + "header": "CS_NEW_APPLICATION_SLUM_NAME", + "cardText": "CS_NEW_APPLICATION_SLUM_TEXT", + "submitBarLabel": "CS_COMMON_NEXT" + }, + "withoutLabel": true, + "key": "address", + "nextStep": "street" + }, + { + "type": "component", + "route": "street", + "component": "FSMSelectStreet", + "key": "address", + "withoutLabel": true, + "texts": { + "headerCaption": "CS_FILE_APPLICATION_PROPERTY_LOCATION_LABEL", + "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_ADDRESS_TEXT", + "cardText": "CS_FILE_APPLICATION_PROPERTY_LOCATION_STREET_DOOR_NO_LABEL", + "submitBarLabel": "CS_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE" + }, + "nextStep": "landmark" + }, + { + "type": "component", + "route": "landmark", + "component": "FSMSelectLandmark", + "withoutLabel": true, + "texts": { + "headerCaption": "CS_FILE_APPLICATION_PROPERTY_LOCATION_LABEL", + "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_PROVIDE_LANDMARK_TITLE", + "cardText": "CS_FILE_APPLICATION_PROPERTY_LOCATION_PROVIDE_LANDMARK_TEXT", + "submitBarLabel": "CS_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE" + }, + "key": "address", + "nextStep": "pit-type" + } + ] + }, + { + "head": "CS_CHECK_PIT_SEPTIC_TANK_DETAILS", + "body": [ + { + "label": "ES_NEW_APPLICATION_ROAD_WIDTH", + "isMandatory": true, + "type": "component", + "route": "road-details", + "key": "roadWidth", + "hideInEmployee": true, + "component": "SelectRoadDetails", + "texts": { + "header": "CS_FILE_PROPERTY_ROAD_WIDTH", + "cardText": "CS_FILE_PROPERTY_ROAD_WIDTH_TEXT", + "submitBarLabel": "CS_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE" + }, + "nextStep": "tank-size" + }, + { + "label": "ES_NEW_APPLICATION_PIT_TYPE", + "isMandatory": true, + "type": "component", + "route": "pit-type", + "key": "pitType", + "component": "SelectPitType", + "texts": { + "header": "CS_FILE_PROPERTY_PIT_TYPE", + "cardText": "CS_FILE_PROPERTY_PIT_TYPE_TEXT", + "submitBarLabel": "CS_COMMON_NEXT" + }, + "nextStep": "road-details" + }, + { + "route": "tank-size", + "component": "SelectTankSize", + "isMandatory": false, + "texts": { + "headerCaption": "", + "header": "CS_FILE_APPLICATION_PIT_SEPTIC_TANK_SIZE_TITLE", + "cardText": "CS_FILE_APPLICATION_PIT_SEPTIC_TANK_SIZE_TEXT", + "submitBarLabel": "CS_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE" + }, + "type": "component", + "key": "pitDetail", + "nextStep": "select-payment-preference", + "label": "ES_NEW_APPLICATION_PIT_DIMENSION" + }, + { + "type": "component", + "key": "tripData", + "withoutLabel": true, + "component": "SelectTrips" + } + ] + }, + { + "head": "CS_FILE_ADDITIONAL_DETAILS", + "hideInEmployee": true, + "body": [ + { + "label": "a", + "isMandatory": true, + "type": "component", + "route": "select-trip-number", + "key": "selectTripNo", + "component": "SelectTripNo", + "hideInEmployee": true, + "texts": { + "headerCaption": "", + "header": "ES_FSM_SERVICE_REQUEST", + "cardText": "ES_FSM_SERVICE_REQUEST_TEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE", + "submitBarLabel": "CS_COMMON_NEXT", + "skipLabel": "CS_COMMON_SERVICE_SKIP_INFO" + }, + "nextStep": "property-id" + }, + { + "label": "a", + "isMandatory": false, + "type": "component", + "route": "select-gender", + "hideInEmployee": true, + "key": "selectGender", + "component": "SelectGender", + "texts": { + "headerCaption": "", + "header": "CS_COMMON_CHOOSE_GENDER", + "cardText": "CS_COMMON_SELECT_GENDER", + "submitBarLabel": "CS_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE" + }, + "nextStep": "select-payment-preference" + }, + { + "label": "a", + "isMandatory": false, + "type": "component", + "route": "select-payment-preference", + "key": "selectPaymentPreference", + "hideInEmployee": true, + "component": "SelectPaymentPreference", + "texts": { + "headerCaption": "", + "header": "ES_FSM_PAYMENT_PREFERENCE_LABEL", + "cardText": "ES_FSM_PAYMENT_PREFERENCE_TEXT", + "submitBarLabel": "CS_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE" + }, + "nextStep": null + } + ] + }, + { + "head": "ES_TITLE_PAYMENT_DETAILS", + "body": [ + { + "type": "component", + "key": "tripData", + "withoutLabel": true, + "component": "SelectTripData" + }, + { + "type": "component", + "key": "advancepaymentPreference", + "withoutLabel": true, + "component": "AdvanceCollection" + } + ] + } +] + console.log("configs",configs) return (
@@ -177,7 +496,7 @@ export const NewApplication = ({ parentUrl, heading }) => { !i.hideInEmployee) .map((config) => { return { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/ApplicantDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/ApplicantDetails.js index b233acf6f5a..18db5153cfb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/ApplicantDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/ApplicantDetails.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const ApplicantDetails = (channelMenu, channel, setChannel, disable = {}) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/DriverConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/DriverConfig.js index 63c5bbddb0e..67aa117fad7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/DriverConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/DriverConfig.js @@ -1,5 +1,5 @@ import React from "react"; -const { DatePicker } = require("@egovernments/digit-ui-react-components"); +const { DatePicker } = require("@upyog/digit-ui-react-components"); import { convertEpochToDate } from "../../../utils"; const DriverConfig = (t, disabled = false) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/TripDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/TripDetails.js index f61b0a9875f..014d5c173ce 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/TripDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/TripDetails.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { getVehicleType } from "../../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/VehicleConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/VehicleConfig.js index 4698b54412d..d64943a7649 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/VehicleConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/VehicleConfig.js @@ -1,5 +1,5 @@ import React from "react"; -const { DatePicker, Dropdown } = require("@egovernments/digit-ui-react-components"); +const { DatePicker, Dropdown } = require("@upyog/digit-ui-react-components"); const VehicleConfig = (t, disabled = false) => { return [ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/VendorConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/VendorConfig.js index d07d74274cf..46d2716ae7a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/VendorConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/configs/VendorConfig.js @@ -1,6 +1,6 @@ import React from "react"; import { convertEpochToDate } from "../../../utils"; -const { DatePicker, Dropdown } = require("@egovernments/digit-ui-react-components"); +const { DatePicker, Dropdown } = require("@upyog/digit-ui-react-components"); const VendorConfig = (t, disabled = false) => { return [ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/index.js index fd279e0f2d8..50c4d104d5e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/index.js @@ -8,7 +8,7 @@ import { ViewReportIcon, InboxIcon, ULBHomeCard, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { Fragment, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Switch, useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/package.json index c64caede4ba..3626a4476a9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/package.json @@ -1,5 +1,5 @@ { - "name": "@egovernments/digit-ui-module-hrms", + "name": "@upyog/digit-ui-module-hrms", "version": "1.7.0-beta.2", "description": "Digit HRMS Module", "license": "MIT", @@ -15,7 +15,8 @@ "prepublish": "yarn build" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "react": "17.0.2", "react-dom": "17.0.2", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/EmployeeAction.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/EmployeeAction.js index cc2fe61f177..2f70ac573a4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/EmployeeAction.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/EmployeeAction.js @@ -1,4 +1,4 @@ -import { FormComposer, Loader, Modal } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Loader, Modal } from "@upyog/digit-ui-react-components"; import set from "lodash/set"; import React, { useEffect, useState } from "react"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/InboxFilter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/InboxFilter.js index fb74a4ebc87..81ed09f1374 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/InboxFilter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/InboxFilter.js @@ -1,4 +1,4 @@ -import { ActionBar, ApplyFilterBar, CloseSvg, Dropdown, RadioButtons, RemoveableTag, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionBar, ApplyFilterBar, CloseSvg, Dropdown, RadioButtons, RemoveableTag, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { getCityThatUserhasAccess } from "./Utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/Modal/EmployeeActivation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/Modal/EmployeeActivation.js index cc81e7d81e7..e1d7566f8d6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/Modal/EmployeeActivation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/Modal/EmployeeActivation.js @@ -1,4 +1,4 @@ -import { Dropdown, UploadFile } from "@egovernments/digit-ui-react-components"; +import { Dropdown, UploadFile } from "@upyog/digit-ui-react-components"; import React from "react"; import { convertEpochToDate } from "../Utils/index"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/Modal/EmployeeAppliaction.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/Modal/EmployeeAppliaction.js index cf7f63d5667..bead50c2421 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/Modal/EmployeeAppliaction.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/Modal/EmployeeAppliaction.js @@ -1,5 +1,5 @@ import React from "react"; -import { UploadFile, Dropdown } from "@egovernments/digit-ui-react-components"; +import { UploadFile, Dropdown } from "@upyog/digit-ui-react-components"; import { convertEpochToDate } from "../Utils/index"; export const configEmployeeApplication = ({ t, action, selectFile, uploadedFile, setUploadedFile, selectedReason, Reasons, selectReason }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/hrmscard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/hrmscard.js index 086e3c1d85b..629222d70d1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/hrmscard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/hrmscard.js @@ -1,4 +1,4 @@ -import { PersonIcon, EmployeeModuleCard } from "@egovernments/digit-ui-react-components"; +import { PersonIcon, EmployeeModuleCard } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/inbox/ApplicationCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/inbox/ApplicationCard.js index f4ebecf8ac8..eaf13510e60 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/inbox/ApplicationCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/inbox/ApplicationCard.js @@ -1,7 +1,7 @@ import React, { useCallback, useEffect, useState } from "react"; -import { Card, DetailsCard, Loader, PopUp, SearchAction } from "@egovernments/digit-ui-react-components"; -import { FilterAction } from "@egovernments/digit-ui-react-components"; +import { Card, DetailsCard, Loader, PopUp, SearchAction } from "@upyog/digit-ui-react-components"; +import { FilterAction } from "@upyog/digit-ui-react-components"; import Filter from "../InboxFilter"; import SearchApplication from "./search"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/inbox/ApplicationLinks.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/inbox/ApplicationLinks.js index efd5a1a2633..a573eba3144 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/inbox/ApplicationLinks.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/inbox/ApplicationLinks.js @@ -1,4 +1,4 @@ -import { Card, PersonIcon } from "@egovernments/digit-ui-react-components"; +import { Card, PersonIcon } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/inbox/ApplicationTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/inbox/ApplicationTable.js index cbb999d6b77..53086eed03b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/inbox/ApplicationTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/inbox/ApplicationTable.js @@ -1,5 +1,5 @@ import React from "react"; -import { Table } from "@egovernments/digit-ui-react-components"; +import { Table } from "@upyog/digit-ui-react-components"; const ApplicationTable = ({ t, columns, data, getCellProps, onNextPage, onPrevPage, currentPage, totalRecords, pageSizeLimit, onPageSizeChange }) => ( { return ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/EmployeeDOB.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/EmployeeDOB.js index 6b3eb196044..ae375680514 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/EmployeeDOB.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/EmployeeDOB.js @@ -1,5 +1,5 @@ import React from "react"; -import { LabelFieldPair, CardLabel, TextInput, CardLabelError, DatePicker } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, CardLabelError, DatePicker } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; import { convertEpochToDate } from "../Utils/index"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/EmployeePhoneNumber.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/EmployeePhoneNumber.js index 709996e6c66..84ec50335b9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/EmployeePhoneNumber.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/EmployeePhoneNumber.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { LabelFieldPair, CardLabel, TextInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, CardLabelError } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const SelectEmployeePhoneNumber = ({ t, config, onSelect, formData = {}, userType, register, errors }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/Multiselect.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/Multiselect.js index 43c2fe704f8..1c3d7c9b6b4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/Multiselect.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/Multiselect.js @@ -1,5 +1,5 @@ import React, { useRef, useState } from "react"; -import { ArrowDown, CheckSvg } from "@egovernments/digit-ui-react-components"; +import { ArrowDown, CheckSvg } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const MultiSelect = ({ options, optionsKey, selected = [], onSelect, defaultLabel = "", defaultUnit = "",BlockNumber=1,isOBPSMultiple=false}) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectDateofEmployment.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectDateofEmployment.js index 1168e2855ef..93ce1186c09 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectDateofEmployment.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectDateofEmployment.js @@ -1,5 +1,5 @@ import React from "react"; -import { LabelFieldPair, CardLabel, TextInput, CardLabelError, DatePicker } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, CardLabelError, DatePicker } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; import { convertEpochToDate } from "../Utils/index"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmailId.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmailId.js index 98cef560f95..82d2065f6ca 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmailId.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmailId.js @@ -1,5 +1,5 @@ import React from "react"; -import { LabelFieldPair, CardLabel, TextInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, CardLabelError } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const SelectEmployeeEmailId = ({ t, config, onSelect, formData = {}, userType, register, errors }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeCorrespondenceAddress.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeCorrespondenceAddress.js index e16a078d3d8..daaae746ee1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeCorrespondenceAddress.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeCorrespondenceAddress.js @@ -1,5 +1,5 @@ import React from "react"; -import { LabelFieldPair, CardLabel, TextInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, CardLabelError } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const SelectEmployeeCorrespondenceAddress = ({ t, config, onSelect, formData = {}, userType, register, errors }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeGender.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeGender.js index 9bbc1599732..5da8979e7ae 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeGender.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeGender.js @@ -1,5 +1,5 @@ import React from "react"; -import { LabelFieldPair, CardLabel, TextInput, CardLabelError, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, CardLabelError, RadioButtons } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const SelectEmployeeGender = ({ t, config, onSelect, formData = {}, userType, register, errors }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeId.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeId.js index bfd97abfb2a..24f4395163e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeId.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeId.js @@ -1,5 +1,5 @@ import React from "react"; -import { LabelFieldPair, CardLabel, TextInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, CardLabelError } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const SelectEmployeeId = ({ t, config, onSelect, formData = {}, userType, register, errors }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeName.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeName.js index 3cc384f3791..882a28b71a6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeName.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeName.js @@ -1,5 +1,5 @@ import React from "react"; -import { LabelFieldPair, CardLabel, TextInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { LabelFieldPair, CardLabel, TextInput, CardLabelError } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const SelectEmployeeName = ({ t, config, onSelect, formData = {}, userType, register, errors }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeType.js index 63874c909db..374953522f5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/SelectEmployeeType.js @@ -1,6 +1,6 @@ import React, { useState, useEffect } from "react"; -import { Loader } from "@egovernments/digit-ui-react-components"; -import { Dropdown, LabelFieldPair, CardLabel } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; +import { Dropdown, LabelFieldPair, CardLabel } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const SelectEmployeeType = ({ t, config, onSelect, formData = {}, userType }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/assignment.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/assignment.js index 0181378dc18..333218dfa2a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/assignment.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/assignment.js @@ -1,4 +1,4 @@ -import { CardLabel, CheckBox, DatePicker, Dropdown, LabelFieldPair, Loader } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CheckBox, DatePicker, Dropdown, LabelFieldPair, Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import cleanup from "../Utils/cleanup"; import { convertEpochToDate } from "../Utils/index"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/jurisdiction.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/jurisdiction.js index 4c9894ea538..e48c2321d0a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/jurisdiction.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/components/pageComponents/jurisdiction.js @@ -1,4 +1,4 @@ -import { CardLabel, Dropdown, LabelFieldPair, Loader, RemoveableTag ,MultiSelectDropdown} from "@egovernments/digit-ui-react-components"; +import { CardLabel, Dropdown, LabelFieldPair, Loader, RemoveableTag ,MultiSelectDropdown} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import cleanup from "../Utils/cleanup"; // import MultiSelectDropdown from "./Multiselect"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/EditEmployee/EditForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/EditEmployee/EditForm.js index b8f5e0b4b6f..cc2f8fc9f9b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/EditEmployee/EditForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/EditEmployee/EditForm.js @@ -1,4 +1,4 @@ -import { FormComposer, Toast,Loader } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Toast,Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/EditEmployee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/EditEmployee/index.js index 2cfa645c1be..1c1f9ffa8e9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/EditEmployee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/EditEmployee/index.js @@ -1,7 +1,7 @@ import React, { useState } from "react"; import { useParams } from "react-router-dom"; import EditForm from "./EditForm"; -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; const EditEmpolyee = ({ parentUrl, heading }) => { const isupdate = Digit.SessionStorage.get("isupdate"); const { id: employeeId } = useParams(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/EmployeeDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/EmployeeDetails.js index a70fe0a72da..81491944110 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/EmployeeDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/EmployeeDetails.js @@ -1,4 +1,4 @@ -import { ActionBar, Card, CardSubHeader, DocumentSVG, Header, Loader, Menu, Row, StatusTable, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Card, CardSubHeader, DocumentSVG, Header, Loader, Menu, Row, StatusTable, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/Inbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/Inbox.js index 6963bd12256..f8f95fd8167 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/Inbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/Inbox.js @@ -1,4 +1,4 @@ -import { Header, Loader } from "@egovernments/digit-ui-react-components"; +import { Header, Loader } from "@upyog/digit-ui-react-components"; import React, { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import DesktopInbox from "../components/inbox/DesktopInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/Response.js index 670716e92b5..8552e3850af 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/Response.js @@ -1,5 +1,5 @@ import React, { useEffect } from "react"; -import { Card, Banner, CardText, SubmitBar, Loader, LinkButton, ActionBar } from "@egovernments/digit-ui-react-components"; +import { Card, Banner, CardText, SubmitBar, Loader, LinkButton, ActionBar } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/createEmployee.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/createEmployee.js index 4394cd80bb6..2cc427f9263 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/createEmployee.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/createEmployee.js @@ -1,4 +1,4 @@ -import { FormComposer, Toast ,Loader, Header} from "@egovernments/digit-ui-react-components"; +import { FormComposer, Toast ,Loader, Header} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/index.js index fdacac686de..0b9c9114489 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/hrms/src/pages/index.js @@ -1,4 +1,4 @@ -import { PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link, Switch, useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/package.json index 185732eb279..2f031533a71 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/package.json @@ -1,6 +1,6 @@ { - "name": "@egovernments/digit-ui-module-mcollect", - "version": "1.7.0-beta.2", + "name": "@upyog/digit-ui-module-mcollect", + "version": "1.7.0-beta.3", "license": "MIT", "description": "Digit Misc Collections Module", "main": "dist/index.js", @@ -19,8 +19,9 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", "lodash.merge": "^4.6.2", + "microbundle-crl": "^0.13.11", "react": "17.0.2", "react-dom": "17.0.2", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/EmployeeChallan.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/EmployeeChallan.js index 15ef246b569..0570092b1b6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/EmployeeChallan.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/EmployeeChallan.js @@ -1,4 +1,4 @@ -import { Card, CardSubHeader, Header, Row, StatusTable, SubmitBar, ActionBar, Menu, Toast,MultiLink,DownloadBtnCommon} from "@egovernments/digit-ui-react-components"; +import { Card, CardSubHeader, Header, Row, StatusTable, SubmitBar, ActionBar, Menu, Toast,MultiLink,DownloadBtnCommon} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useParams, useHistory, useRouteMatch } from "react-router-dom"; @@ -165,6 +165,7 @@ const EmployeeChallan = (props) => { + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/Module.js index 0963b6a52af..d2236b92d89 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/Module.js @@ -1,4 +1,4 @@ -import { CitizenHomeCard, Loader, PTIcon } from "@egovernments/digit-ui-react-components"; +import { CitizenHomeCard, Loader, PTIcon } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useRouteMatch } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/DesktopInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/DesktopInbox.js index 1dd43890283..cf073932059 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/DesktopInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/DesktopInbox.js @@ -1,4 +1,4 @@ -import { Card, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Loader } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/FormComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/FormComposer.js index 8d2554861e5..9029c7b7395 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/FormComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/FormComposer.js @@ -13,7 +13,7 @@ import { ActionBar, SubmitBar, LabelFieldPair, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/MCollectCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/MCollectCard.js index 63f94ce7750..3ec5201d5b7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/MCollectCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/MCollectCard.js @@ -1,4 +1,4 @@ -import { EmployeeModuleCard, PTIcon } from "@egovernments/digit-ui-react-components"; +import { EmployeeModuleCard, PTIcon } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/Modal/MCollectActionModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/Modal/MCollectActionModal.js index e583301591b..1c9ce7a0ecd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/Modal/MCollectActionModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/Modal/MCollectActionModal.js @@ -1,4 +1,4 @@ -import { Loader, Modal, FormComposer } from "@egovernments/digit-ui-react-components"; +import { Loader, Modal, FormComposer } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { configMCollectRejectApplication } from "./MCollectRejectApplication"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/Modal/MCollectWFAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/Modal/MCollectWFAcknowledgement.js index fc35d9ff72a..91e8f98855e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/Modal/MCollectWFAcknowledgement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/Modal/MCollectWFAcknowledgement.js @@ -1,4 +1,4 @@ -import { Banner, Card, CardText, LinkButton, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, LinkButton, ActionBar, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { useLocation } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/TLCaption.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/TLCaption.js index e1e964df48c..a81dfc9eaf1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/TLCaption.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/TLCaption.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TelePhone } from "@egovernments/digit-ui-react-components"; +import { TelePhone } from "@upyog/digit-ui-react-components"; import Reason from "./Reason"; const TLCaption = ({ data }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ApplicationCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ApplicationCard.js index dfef453d9a4..b055107550b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ApplicationCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ApplicationCard.js @@ -1,7 +1,7 @@ import React, { useCallback, useEffect, useState } from "react"; -import { Card, DetailsCard, Loader, PopUp, SearchAction } from "@egovernments/digit-ui-react-components"; -import { FilterAction } from "@egovernments/digit-ui-react-components"; +import { Card, DetailsCard, Loader, PopUp, SearchAction } from "@upyog/digit-ui-react-components"; +import { FilterAction } from "@upyog/digit-ui-react-components"; import SearchApplication from "./search"; import SortBy from "./SortBy"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ApplicationLinks.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ApplicationLinks.js index 6e9ebe79475..c38e57a5c6e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ApplicationLinks.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ApplicationLinks.js @@ -1,4 +1,4 @@ -import { Card, ShippingTruck } from "@egovernments/digit-ui-react-components"; +import { Card, ShippingTruck } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ApplicationTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ApplicationTable.js index 1f1207d83b8..adc504bb168 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ApplicationTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ApplicationTable.js @@ -1,5 +1,5 @@ import React from "react"; -import { Table } from "@egovernments/digit-ui-react-components"; +import { Table } from "@upyog/digit-ui-react-components"; const ApplicationTable = ({ t, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/Filter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/Filter.js index ee13d2e8007..9285b9aafda 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/Filter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/Filter.js @@ -1,6 +1,6 @@ import React from "react"; -import { ActionBar, CloseSvg } from "@egovernments/digit-ui-react-components"; -import { ApplyFilterBar } from "@egovernments/digit-ui-react-components"; +import { ActionBar, CloseSvg } from "@upyog/digit-ui-react-components"; +import { ApplyFilterBar } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import Status from "./Status"; import ServiceCategory from "./ServiceCategory"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/InboxLink.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/InboxLink.js index fdaa26f40ca..a33486d05e1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/InboxLink.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/InboxLink.js @@ -1,4 +1,4 @@ -import { Card, PTIcon } from "@egovernments/digit-ui-react-components"; +import { Card, PTIcon } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/NewInboxFilter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/NewInboxFilter.js index 1d2a2e2c93c..3b5ac6f77c3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/NewInboxFilter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/NewInboxFilter.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { Dropdown, RadioButtons, ActionBar, RemoveableTag, CloseSvg, CheckBox, Localities, SubmitBar, RefreshSVG } from "@egovernments/digit-ui-react-components"; +import { Dropdown, RadioButtons, ActionBar, RemoveableTag, CloseSvg, CheckBox, Localities, SubmitBar, RefreshSVG } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ServiceCategory.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ServiceCategory.js index 0c079171ff5..d5b2a4a9bd0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ServiceCategory.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ServiceCategory.js @@ -1,5 +1,5 @@ import React, { useState, useMemo, useEffect } from "react"; -import { Loader, MultiSelectDropdown, RemoveableTag } from "@egovernments/digit-ui-react-components"; +import { Loader, MultiSelectDropdown, RemoveableTag } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import ServiceCategoryCount from "./ServiceCategoryCount"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ServiceCategoryCount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ServiceCategoryCount.js index 572820d96b7..feecbc9a846 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ServiceCategoryCount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/ServiceCategoryCount.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { CheckBox } from "@egovernments/digit-ui-react-components"; +import { CheckBox } from "@upyog/digit-ui-react-components"; const ServiceCategoryCount = ({ status, searchParams, onAssignmentChange, businessServices,clearCheck,setclearCheck }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/SortBy.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/SortBy.js index acecdc5e9a6..42baa3958f4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/SortBy.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/SortBy.js @@ -1,7 +1,7 @@ import React, { useState } from "react"; -import { RadioButtons } from "@egovernments/digit-ui-react-components"; +import { RadioButtons } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; -import { CloseSvg } from "@egovernments/digit-ui-react-components"; +import { CloseSvg } from "@upyog/digit-ui-react-components"; const SortBy = (props) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/Status.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/Status.js index a1be9e88615..385fedb8489 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/Status.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/Status.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import StatusCount from "./StatusCount"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/StatusCount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/StatusCount.js index f4ca2f11a38..e3c106dde48 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/StatusCount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/StatusCount.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { CheckBox } from "@egovernments/digit-ui-react-components"; +import { CheckBox } from "@upyog/digit-ui-react-components"; const StatusCount = ({ status, searchParams, onAssignmentChange, businessServices,clearCheck,setclearCheck }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/search.js index 948cf7f8364..1d63f31eef2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/components/inbox/search.js @@ -1,6 +1,6 @@ import React from "react"; import { useForm, Controller } from "react-hook-form"; -import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker } from "@egovernments/digit-ui-react-components"; +import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; // import _ from "lodash"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pageComponents/AddressDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pageComponents/AddressDetails.js index 341e7a40afc..e74bed1048c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pageComponents/AddressDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pageComponents/AddressDetails.js @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo, useCallback } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber, DatePicker, Loader, CardSectionHeader } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber, DatePicker, Loader, CardSectionHeader } from "@upyog/digit-ui-react-components"; import { useForm, Controller, useWatch } from "react-hook-form"; import * as func from "../pages/employee/Utils/Category"; import { sortDropdownNames } from "../pages/employee/Utils/Sortbyname"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pageComponents/ConsumerDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pageComponents/ConsumerDetails.js index 35cae444129..e25b297489c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pageComponents/ConsumerDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pageComponents/ConsumerDetails.js @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo, useCallback } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber, DatePicker, Loader, CardSectionHeader } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber, DatePicker, Loader, CardSectionHeader } from "@upyog/digit-ui-react-components"; import { useForm, Controller, useWatch } from "react-hook-form"; import * as func from "../pages/employee/Utils/Category"; import { sortDropdownNames } from "../pages/employee/Utils/Sortbyname"; @@ -11,6 +11,7 @@ import { getUniqueItemsFromArray, commonTransform, stringReplaceAll,getPattern, const createConsumerDetails = () => ({ ConsumerName: "", mobileNumber: "", + emailId:"", // key: Date.now(), }); @@ -199,6 +200,28 @@ const OwnerForm1 = (_props) => { {localFormState.touched.mobileNumber ? errors?.mobileNumber?.message : ""} + + {`${t("UC_EMAIL_ID")}`} +
+ (/[A-Za-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/.test(val) ? true : t("CS_ADDCOMPLAINT_EMAIL_ERROR")) } }} + render={(props) => ( + { + props.onChange(e.target.value) + }} + disable={isEdit} + /> + )} + /> +
+
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pageComponents/ServiceDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pageComponents/ServiceDetails.js index af804851e45..b46f31df677 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pageComponents/ServiceDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pageComponents/ServiceDetails.js @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo, useCallback } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber, DatePicker, Loader, CardSectionHeader } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber, DatePicker, Loader, CardSectionHeader } from "@upyog/digit-ui-react-components"; import { useForm, Controller, useWatch } from "react-hook-form"; import * as func from "../pages/employee/Utils/Category"; import { sortDropdownNames } from "../pages/employee/Utils/Sortbyname"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/MyChallan/myChallan.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/MyChallan/myChallan.js index 89d8fa129df..927276e33d6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/MyChallan/myChallan.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/MyChallan/myChallan.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { Header, ResponseComposer, Loader } from "@egovernments/digit-ui-react-components"; +import { Header, ResponseComposer, Loader } from "@upyog/digit-ui-react-components"; import PropTypes from "prop-types"; import Axios from "axios"; import { useHistory, Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/SearchChallan/searchChallan.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/SearchChallan/searchChallan.js index 830864acd89..3c00a4ab693 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/SearchChallan/searchChallan.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/SearchChallan/searchChallan.js @@ -1,7 +1,7 @@ import React, { useState, useEffect } from "react"; -import { FormComposer, CardLabelDesc, Loader, Menu } from "@egovernments/digit-ui-react-components"; -import { FormStep, CardLabel, RadioButtons, RadioOrSelect } from "@egovernments/digit-ui-react-components"; -import { TextInput, LabelFieldPair, Dropdown } from "@egovernments/digit-ui-react-components"; +import { FormComposer, CardLabelDesc, Loader, Menu } from "@upyog/digit-ui-react-components"; +import { FormStep, CardLabel, RadioButtons, RadioOrSelect } from "@upyog/digit-ui-react-components"; +import { TextInput, LabelFieldPair, Dropdown } from "@upyog/digit-ui-react-components"; import PropTypes from "prop-types"; import { useHistory } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/SearchResults/searchResults.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/SearchResults/searchResults.js index 0011a5ed589..b99bd22f122 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/SearchResults/searchResults.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/SearchResults/searchResults.js @@ -1,5 +1,5 @@ import React from "react"; -import { Header, ResponseComposer, Loader } from "@egovernments/digit-ui-react-components"; +import { Header, ResponseComposer, Loader } from "@upyog/digit-ui-react-components"; import PropTypes from "prop-types"; import Axios from "axios"; import { useHistory, Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/index.js index af630c09985..446de76e37a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/citizen/index.js @@ -1,4 +1,4 @@ -import { AppContainer, BackButton, PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { AppContainer, BackButton, PrivateRoute } from "@upyog/digit-ui-react-components"; import React from "react"; import { Redirect, Switch, useRouteMatch } from "react-router-dom"; // import SearchChallanComponent from "./SearchChallan"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/CreateChallan.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/CreateChallan.js index fb280a4c2c4..a5e81ee537f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/CreateChallan.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/CreateChallan.js @@ -1,6 +1,6 @@ import React, { useState, useEffect, useRef } from "react"; import { useTranslation } from "react-i18next"; -import { Dropdown, DatePicker, Toast } from "@egovernments/digit-ui-react-components"; +import { Dropdown, DatePicker, Toast } from "@upyog/digit-ui-react-components"; import * as func from "./Utils/Category"; import { FormComposer } from "../../components/FormComposer"; import { sortDropdownNames } from "./Utils/Sortbyname"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/EmployeeChallanAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/EmployeeChallanAcknowledgement.js index 3004ab2e162..bac9515a670 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/EmployeeChallanAcknowledgement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/EmployeeChallanAcknowledgement.js @@ -1,4 +1,4 @@ -import { Banner, Card, CardText, LinkButton, ActionBar, Row, StatusTable, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, LinkButton, ActionBar, Row, StatusTable, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { useLocation, Link, useParams } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/Inbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/Inbox.js index e364169993b..76dc3cc6853 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/Inbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/Inbox.js @@ -1,6 +1,6 @@ import React, { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import DesktopInbox from "../../components/DesktopInbox"; import MobileInbox from "../../components/MobileInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/NewChallan/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/NewChallan/index.js index 6c4c9a3dbf3..5521982d265 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/NewChallan/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/NewChallan/index.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { FormComposer, Toast, Header, Loader } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Toast, Header, Loader } from "@upyog/digit-ui-react-components"; import { newConfig as newConfigMcollect } from "../../../config/config"; import { useHistory, useRouteMatch } from "react-router-dom"; import { stringReplaceAll } from "../../../utils"; @@ -10,6 +10,7 @@ const getformDataforEdit = (ChallanData,fetchBillData) => { let defaultval = { ConsumerName: ChallanData[0].citizen.name, mobileNumber: ChallanData[0].citizen.mobileNumber, + emailId: ChallanData[0].citizen.emailId, doorNo: ChallanData[0].address.doorNo, building: ChallanData[0].address.buildingName, streetName: ChallanData[0].address.street, @@ -118,6 +119,7 @@ const NewChallan = ({ChallanData}) => { citizen: { name: data.ConsumerName, mobileNumber: data.mobileNumber, + emailId: data.emailId }, //businessService: selectedCategoryType ? temp + "." + humanized(selectedCategoryType.code, temp) : "", businessService:data?.categoryType?.code, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/index.js index cfc389e6e6b..995096a9f06 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/mCollect/src/pages/employee/index.js @@ -2,7 +2,7 @@ import React from "react"; import { MCollectLinks } from "../../Module"; import Inbox from "./Inbox"; import { Switch, useLocation, Link } from "react-router-dom"; -import { PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; // import EmployeeChallan from "../../EmployeeChallan"; // import CreateChallen from "../employee/CreateChallan"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/package.json index 116b2ef82d0..efe0e07b1c7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/package.json @@ -1,5 +1,5 @@ { - "name": "@egovernments/digit-ui-module-noc", + "name": "@upyog/digit-ui-module-noc", "version": "1.7.0-beta.2", "description": "", "main": "dist/index.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "react": "17.0.2", "react-dom": "17.0.2", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/Module.js index 9e2b02e460d..b29cf05a6ef 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/Module.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React from "react"; import { useRouteMatch } from "react-router-dom"; import EmployeeApp from "./pages/employee"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/ApplicationOverview/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/ApplicationOverview/index.js index 9b32d10bb2b..709bca165b4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/ApplicationOverview/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/ApplicationOverview/index.js @@ -1,6 +1,6 @@ import { CardSectionHeader, Header, MultiUploadWrapper, PDFSvg, Row, StatusTable, LabelFieldPair, CardLabel, Loader -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { Fragment, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/EmployeeCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/EmployeeCard.js index adc10aee1e2..3fdd03c53db 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/EmployeeCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/EmployeeCard.js @@ -1,6 +1,6 @@ import React, { useMemo, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { EmployeeModuleCard } from "@egovernments/digit-ui-react-components"; +import { EmployeeModuleCard } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; import { businessServiceList } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/FilterFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/FilterFormFieldsComponent.js index 2b718b64e04..262c4e98e61 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/FilterFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/FilterFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, { Fragment, useMemo } from "react" -import { FilterFormField, Loader, RadioButtons, Localities, RemoveableTag, Dropdown, CheckBox } from "@egovernments/digit-ui-react-components"; +import { FilterFormField, Loader, RadioButtons, Localities, RemoveableTag, Dropdown, CheckBox } from "@upyog/digit-ui-react-components"; import { Controller, useWatch } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { businessServiceList } from "../../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/SearchFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/SearchFormFieldsComponent.js index 8d68e3af691..964059e6a83 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/SearchFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/SearchFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, {Fragment} from "react" -import { CardLabelError, SearchField, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, SearchField, TextInput } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const SearchFormFieldsComponents = ({registerRef, searchFormState, searchFieldComponents}) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/index.js index 478c086268e..b3acda6ef43 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/index.js @@ -1,5 +1,5 @@ import React, {Fragment, useCallback, useMemo, useReducer} from "react" -import { InboxComposer, ComplaintIcon, Header } from "@egovernments/digit-ui-react-components"; +import { InboxComposer, ComplaintIcon, Header } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import SearchFormFieldsComponents from "./SearchFormFieldsComponent"; import FilterFormFieldsComponent from "./FilterFormFieldsComponent"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/useInboxMobileCardsData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/useInboxMobileCardsData.js index c4f1042fc01..73a37f0acef 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/useInboxMobileCardsData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Inbox/useInboxMobileCardsData.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { SearchField, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { SearchField, RadioButtons } from "@upyog/digit-ui-react-components"; import { Controller, useFormContext } from "react-hook-form"; import { format } from "date-fns"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Response.js index 0ddf36f97b6..f964ea3aa54 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/Response.js @@ -1,4 +1,4 @@ -import { Banner, Card, CardText, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, ActionBar, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/SearchAtom/desktop.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/SearchAtom/desktop.js index 64b4005bfc9..f0ca2172eba 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/SearchAtom/desktop.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/SearchAtom/desktop.js @@ -1,5 +1,5 @@ import React, { useCallback, useEffect, useState } from "react"; -import { SearchForm, Table, Card, Loader } from "@egovernments/digit-ui-react-components"; +import { SearchForm, Table, Card, Loader } from "@upyog/digit-ui-react-components"; import { useFormContext } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/SearchAtom/mobile.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/SearchAtom/mobile.js index f50202bc26c..a1e8d3004f4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/SearchAtom/mobile.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/SearchAtom/mobile.js @@ -10,7 +10,7 @@ import { DetailsCard, Loader, Toast, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const SearchApplicationMobileView = ({ SearchFormFieldsComponent, propsMobileInboxCards, isLoading, data, getRedirectionLink, onSubmit }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/SearchFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/SearchFormFieldsComponent.js index 0b3b43feacb..e4571cb7fc9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/SearchFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/SearchFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, CardLabelError, MobileNumber, CardHeader } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, CardLabelError, MobileNumber, CardHeader } from "@upyog/digit-ui-react-components"; import { Controller, useFormContext } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { businessServiceList } from "../../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/index.js index 35d52dd79c6..85e3ad951e6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/SearchApplication/index.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; import { useTranslation } from "react-i18next"; -import { CardHeader } from "@egovernments/digit-ui-react-components"; +import { CardHeader } from "@upyog/digit-ui-react-components"; import { businessServiceList } from "../../../utils"; import cloneDeep from "lodash/cloneDeep"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/index.js index 796e62b3c23..a30ee435d6f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/noc/src/pages/employee/index.js @@ -1,4 +1,4 @@ -import { BreadCrumb, PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { BreadCrumb, PrivateRoute } from "@upyog/digit-ui-react-components"; import React, { Fragment } from "react"; import { useTranslation } from "react-i18next"; import SearchApplication from "./SearchApplication"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/getAcknowlegment.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/getAcknowlegment.js new file mode 100644 index 00000000000..c20bf568534 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/getAcknowlegment.js @@ -0,0 +1,127 @@ +import React from "react"; +import { Card, CardHeader } from "@upyog/digit-ui-react-components"; + +const getMohallaLocale = (value = "", tenantId = "") => { + let convertedValue = convertDotValues(tenantId); + if (convertedValue == "NA" || !checkForNotNull(value)) { + return "PGR_NA"; + } + convertedValue = convertedValue.toUpperCase(); + return convertToLocale(value, `${convertedValue}_REVENUE`); + }; + const convertDotValues = (value = "") => { + return ( + (checkForNotNull(value) && ((value.replaceAll && value.replaceAll(".", "_")) || (value.replace && stringReplaceAll(value, ".", "_")))) || "NA" + ); + }; + const stringReplaceAll = (str = "", searcher = "", replaceWith = "") => { + if (searcher == "") return str; + while (str.includes(searcher)) { + str = str.replace(searcher, replaceWith); + } + return str; + }; + const checkForNotNull = (value = "") => { + return value && value != null && value != undefined && value != "" ? true : false; + }; + const getCityLocale = (value = "") => { + let convertedValue = convertDotValues(value); + if (convertedValue == "NA" || !checkForNotNull(value)) { + return "PGR_NA"; + } + convertedValue = convertedValue.toUpperCase(); + return convertToLocale(convertedValue, `TENANT_TENANTS`); + }; + const convertToLocale = (value = "", key = "") => { + let convertedValue = convertDotValues(value); + if (convertedValue == "NA") { + return "PGR_NA"; + } + return `${key}_${convertedValue}`; + }; + const capitalize = (text) => text.substr(0, 1).toUpperCase() + text.substr(1); + const ulbCamel = (ulb) => ulb.toLowerCase().split(" ").map(capitalize).join(" "); + const getAcknowledgementData=async(application, tenantInfo, t)=>{ + return { + t: t, + tenantId: tenantInfo?.code, + name: `${t(tenantInfo?.i18nKey)} ${ulbCamel(t(`ULBGRADE_${tenantInfo?.city?.ulbGrade.toUpperCase().replace(" ", "_").replace(".", "_")}`))}`, + email: tenantInfo?.emailId, + phoneNumber: tenantInfo?.contactNumber, + heading: t("NEW_STAKEHOLDER_REGISTRATION"), + applicationNumber:application?.applicationData?.applicationNumber || "NA", + details: [ + + { + title: t("CS_APPLICATION_DETAILS"), + values: [ + { + title: t("REGISTRATION_FILED_DATE"), + value: Digit.DateUtils.ConvertTimestampToDate(application?.applicationData?.auditDetails?.createdTime, "dd/MM/yyyy") || "NA", + }, + + + ], + }, + { + title: t("BPA_LICENSE_DETAILS_LABEL"), + values: [ + { + title : t("BPA_LICENSE_TYPE"), + value : application?.applicationDetails?.[1]?.values[0]?.value || "NA", + }, + { + title : t("BPA_COUNCIL_OF_ARCH_NO_LABEL"), + value : application?.applicationDetails?.[1]?.values[1]?.value || "NA", + }, + { + title: t("LICENSE_TYPE"), + value: application?.applicationData?.licenseType|| "NA", + }, + ] + }, + + { + title: t("BPA_LICENSEE_DETAILS_HEADER_OWNER_INFO"), + values: [ + { + title: t("BPA_APPLICANT_NAME_LABEL"), + value: application?.applicationData?.tradeLicenseDetail?.owners?.[0]?.name || "NA", + }, + { + title: t("BPA_OWNER_MOBILE_NO_LABEL"), + value: application?.applicationData?.tradeLicenseDetail?.owners?.[0]?.mobileNumber || "NA", + }, + { + title : t("BPA_APPLICANT_GENDER_LABEL"), + value : application?.applicationDetails?.[2]?.values[1]?.value || "NA", + }, + { + title : t("BPA_APPLICANT_EMAIL_LABEL"), + value : application?.applicationDetails?.[2]?.values[3]?.value || "NA", + } + + ] + }, + { + title: t("BPA_ADDRESS_LABEL"), + values: [ + { + title : t("BPA_PERMANANT_ADDRESS_LABEL"), + value : application?.applicationDetails?.[3]?.values[0]?.value || "NA", + }, + { + title : t("BPA_APPLICANT_CORRESPONDENCE_ADDRESS_LABEL"), + value : application?.applicationDetails?.[4]?.values[0]?.value || "NA", + } + ] + }, + + ], + }; + }; + + + + + export default getAcknowledgementData; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/getBPAAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/getBPAAcknowledgement.js new file mode 100644 index 00000000000..a53851d5e61 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/getBPAAcknowledgement.js @@ -0,0 +1,191 @@ +import React from "react"; +import { Card, CardHeader } from "@upyog/digit-ui-react-components"; + +const getMohallaLocale = (value = "", tenantId = "") => { + let convertedValue = convertDotValues(tenantId); + if (convertedValue == "NA" || !checkForNotNull(value)) { + return "PGR_NA"; + } + convertedValue = convertedValue.toUpperCase(); + return convertToLocale(value, `${convertedValue}_REVENUE`); + }; + const convertDotValues = (value = "") => { + return ( + (checkForNotNull(value) && ((value.replaceAll && value.replaceAll(".", "_")) || (value.replace && stringReplaceAll(value, ".", "_")))) || "NA" + ); + }; + const stringReplaceAll = (str = "", searcher = "", replaceWith = "") => { + if (searcher == "") return str; + while (str.includes(searcher)) { + str = str.replace(searcher, replaceWith); + } + return str; + }; + const checkForNotNull = (value = "") => { + return value && value != null && value != undefined && value != "" ? true : false; + }; + const getCityLocale = (value = "") => { + let convertedValue = convertDotValues(value); + if (convertedValue == "NA" || !checkForNotNull(value)) { + return "PGR_NA"; + } + convertedValue = convertedValue.toUpperCase(); + return convertToLocale(convertedValue, `TENANT_TENANTS`); + }; + const convertToLocale = (value = "", key = "") => { + let convertedValue = convertDotValues(value); + if (convertedValue == "NA") { + return "PGR_NA"; + } + return `${key}_${convertedValue}`; + }; + const capitalize = (text) => text.substr(0, 1).toUpperCase() + text.substr(1); + const ulbCamel = (ulb) => ulb.toLowerCase().split(" ").map(capitalize).join(" "); + const getBPAAcknowledgement=async(application,tenantInfo,t)=>{ + + const owner=application?.landInfo?.owners + return{ + t: t, + tenantId: tenantInfo?.code, + name: `${t(tenantInfo?.i18nKey)} ${ulbCamel(t(`ULBGRADE_${tenantInfo?.city?.ulbGrade.toUpperCase().replace(" ", "_").replace(".", "_")}`))}`, + email: tenantInfo?.emailId, + phoneNumber: tenantInfo?.contactNumber, + heading: t("NEW_BUILD_PERMIT_APPLICATION"), + applicationNumber:application?.applicationNo||"NA", + details:[ + { + title : t("BPA_BASIC_DETAILS_TITLE"), + values:[ + { + title: application?.businessService !== t("BPA_OC") ? t("BPA_EDCR_NO_LABEL") : t("BPA_OC_EDCR_NO_LABEL"), + value: application?.edcrNumber || "NA" + }, + { + title: t("BPA_BASIC_DETAILS_APP_DATE_LABEL"), + value: Digit.DateUtils.ConvertTimestampToDate(application?.auditDetails?.createdTime, "dd/MM/yyyy") || "NA", + }, + { + title: t("BPA_BASIC_DETAILS_APPLICATION_TYPE_LABEL"), + value: t(`WF_BPA_${application?.data?.edcrDetails?.appliactionType}`) || "NA" + }, + { + title: t("BPA_BASIC_DETAILS_SERVICE_TYPE_LABEL"), + value:t(`${application?.data?.edcrDetails?.applicationSubType}`) || "NA" + }, + { + title: t("BPA_BASIC_DETAILS_OCCUPANCY_LABEL"), + value: application?.data?.edcrDetails?.planDetail?.planInformation?.occupancy + }, + { + title: t("BPA_BASIC_DETAILS_RISK_TYPE_LABEL"), + value: t(`WF_BPA_${application?.riskType}`) || "NA" + }, + { + title: t("BPA_BASIC_DETAILS_APPLICATION_NAME_LABEL"), + value: application?.data?.edcrDetails?.planDetail?.planInformation?.applicantName || "NA" + }, + + ] + + }, + { + title: t("BPA_PLOT_DETAILS_TITLE"), + values: [ + { + title: t("BPA_BOUNDARY_PLOT_AREA_LABEL"), + value: `${application?.data?.edcrDetails?.planDetail?.planInformation?.plotArea} sq.ft` || "NA" + }, + { + title: t("BPA_PLOT_NUMBER_LABEL"), + value: application?.data?.edcrDetails?.planDetail?.planInformation?.plotNo || "NA" + }, + { + title: t("BPA_KHATHA_NUMBER_LABEL"), + value: application?.data?.edcrDetails?.planDetail?.planInformation?.khataNo || "NA" + }, + { + title: t("BPA_HOLDING_NUMBER_LABEL"), + value: application?.additionalDetails?.holdingNo || "NA" + }, + { + title: t("BPA_BOUNDARY_LAND_REG_DETAIL_LABEL"), + value: application?.additionalDetails?.registrationDetails || "NA" + }, + { + title: t("BPA_APPLICATION_DEMOLITION_AREA_LABEL"), + value: t(`${application?.data?.edcrDetails?.planDetail?.planInformation?.demolitionArea} sq.mtrs`) || "NA" + } + ] + }, + { + title: t(`BPA_NOC_DETAILS_SUMMARY`) , + values: [ + { + title: t(`BPA_${application?.nocDocuments?.NocDetails[0]?.nocType}_LABEL`), + value: application?.nocDocuments?.NocDetails[0]?.applicationNo || "NA", + }, + { + title: t(`BPA_${application?.nocDocuments?.NocDetails[1]?.nocType}_LABEL`), + value: application?.nocDocuments?.NocDetails[1]?.applicationNo || "NA", + + }, + + ], + }, + { + title: t("BPA_APPLICANT_DETAILS_HEADER"), + values: [ + { + title: t("CORE_COMMON_NAME"), + value:application?.landInfo?.owners[0]?.name|| "NA" + }, + { + title: t("BPA_APPLICANT_GENDER_LABEL"), + value: application?.landInfo?.owners[0]?.gender || "NA" + }, + { + title: t("CORE_COMMON_MOBILE_NUMBER"), + value: application?.landInfo?.owners[0]?.mobileNumber || "NA" + }, + { + title: t("CORE_COMMON_EMAIL_ID"), + value: application?.landInfo?.owners[0]?.emailId || "NA" + }, + { + title: t("BPA_IS_PRIMARY_OWNER_LABEL"), + value: application?.landInfo?.owners[0]?.isPrimaryOwner || "NA" + } + + ] + }, + { + title : t("BPA_NEW_TRADE_DETAILS_HEADER_DETAILS"), + values:[ + { + title: t("BPA_DETAILS_PIN_LABEL"), + value: application?.landInfo?.address?.pincode || "NA" + }, + { + title: t("BPA_CITY_LABEL"), + value: application?.landInfo?.address?.city || "NA" + }, + { + title: t("BPA_LOC_MOHALLA_LABEL"), + value: application?.landInfo?.address?.locality?.name || "NA" + }, + { + title: t("BPA_DETAILS_SRT_NAME_LABEL"), + value: application?.landInfo?.address?.street || "NA" + }, + { + title: t("ES_NEW_APPLICATION_LOCATION_LANDMARK"), + value: application?.landInfo?.address?.landmark || "NA" + } + ] + }, + + + ] + } + } + export default getBPAAcknowledgement; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/package.json index a2378ef7b73..0df77900b5e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/package.json @@ -1,6 +1,6 @@ { "name": "@upyog/digit-ui-module-obps", - "version": "1.7.0-beta.2", + "version": "1.7.0-beta.6", "description": "", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "react": "17.0.2", "react-dom": "17.0.2", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/Module.js index d2ddda9ba4f..b370a10b5d0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/Module.js @@ -1,7 +1,7 @@ import React from "react"; import { useTranslation } from "react-i18next"; import { useRouteMatch } from "react-router-dom"; -import { Loader, CitizenHomeCard, OBPSIcon, CitizenInfoLabel } from "@egovernments/digit-ui-react-components"; +import { Loader, CitizenHomeCard, OBPSIcon, CitizenInfoLabel } from "@upyog/digit-ui-react-components"; import CitizenApp from "./pages/citizen"; import Inbox from "./pages/employee/Inbox"; import stakeholderInbox from "./pages/employee/stakeholderInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/ApplicationTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/ApplicationTimeline.js index 03271de6fcf..11f149e5133 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/ApplicationTimeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/ApplicationTimeline.js @@ -1,7 +1,7 @@ import React, { Fragment } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; -import { ActionLinks, CardSectionHeader, CheckPoint, ConnectingCheckPoints, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionLinks, CardSectionHeader, CheckPoint, ConnectingCheckPoints, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; import BPACaption from "../pages/citizen/BpaApplicationDetail/BPACaption"; const ApplicationTimeline = ({ id, tenantId }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/DocumentDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/DocumentDetails.js index a0300a81239..3bd6723a09f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/DocumentDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/DocumentDetails.js @@ -1,6 +1,6 @@ import React, { Fragment, useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { PDFSvg, Row } from "@egovernments/digit-ui-react-components"; +import { PDFSvg, Row } from "@upyog/digit-ui-react-components"; const DocumentDetails = ({ documents }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/SearchApplication/SearchFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/SearchApplication/SearchFormFieldsComponent.js index 9b55c92b5b3..1c3bf32079d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/SearchApplication/SearchFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/SearchApplication/SearchFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, CardLabelError, MobileNumber } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, CardLabelError, MobileNumber } from "@upyog/digit-ui-react-components"; import { useWatch } from "react-hook-form"; const SearchFormFieldsComponent = ({ formState, Controller, register, control, t, reset, previousPage }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/SearchApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/SearchApplication/index.js index 158693d17ca..cfe24cac0f6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/SearchApplication/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/SearchApplication/index.js @@ -11,7 +11,7 @@ import { Loader, Toast, Header -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { convertEpochToDateDMY } from "../../utils"; import SearchFormFieldsComponent from "./SearchFormFieldsComponent"; import useSearchApplicationTableConfig from "./useTableConfig"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/Timeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/Timeline.js index 7b5a8381f24..8cad7ad68b9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/Timeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/components/Timeline.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TickMark } from "@egovernments/digit-ui-react-components"; +import { TickMark } from "@upyog/digit-ui-react-components"; let actions = []; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/config/buildingPermitConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/config/buildingPermitConfig.js index 70a525aa653..b56647c8b3f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/config/buildingPermitConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/config/buildingPermitConfig.js @@ -42,7 +42,13 @@ export const newConfig = [ // required: true }, name: "registrationDetails" - } + }, + // { + // label: "BPA_BOUNDARY_WALL_LENGTH_LABEL", + // type: "text", + // validation: {}, + // name: "boundaryWallLength" + // } ] }, { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/config/ocbuildingPermitConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/config/ocbuildingPermitConfig.js index 7f37e1b419c..896954afad4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/config/ocbuildingPermitConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/config/ocbuildingPermitConfig.js @@ -38,7 +38,13 @@ export const newConfig = [ type: "textarea", validation: {}, name: "registrationDetails" - } + }, + // { + // label: "BPA_BOUNDARY_WALL_LENGTH_LABEL", + // type: "text", + // validation: {}, + // name: "boundaryWallLength" + // }, ] }, { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/BasicDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/BasicDetails.js index 9cf6885872b..bd6fc1dc622 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/BasicDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/BasicDetails.js @@ -12,7 +12,7 @@ import { CardCaption, SubmitBar, Loader, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import Timeline from "../components/Timeline"; import { useTranslation } from "react-i18next"; import { scrutinyDetailsData } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/CorrospondenceAddress.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/CorrospondenceAddress.js index f404e949713..816395339df 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/CorrospondenceAddress.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/CorrospondenceAddress.js @@ -1,4 +1,4 @@ -import { BackButton, CardLabel, CheckBox, FormStep, TextArea, Toast } from "@egovernments/digit-ui-react-components"; +import { BackButton, CardLabel, CheckBox, FormStep, TextArea, Toast } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import Timeline from "../components/Timeline"; @@ -64,6 +64,7 @@ const CorrospondenceAddress = ({ t, config, onSelect, value, userType, formData ], "additionalDetail": { "counsilForArchNo": formData?.LicneseType?.ArchitectNo, + "isSelfCertificationRequired": formData?.LicneseType?.selfCertification?formData?.LicneseType?.selfCertification: null, }, "address": { "city": "", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/DocsRequired.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/DocsRequired.js index e1ff7fe221b..67bc4fbe577 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/DocsRequired.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/DocsRequired.js @@ -1,5 +1,5 @@ import React, { Fragment, useEffect, useState } from "react"; -import { Card, CardHeader, CardLabel, CardText, CitizenInfoLabel, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, CardHeader, CardLabel, CardText, CitizenInfoLabel, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory, useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/DocumentDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/DocumentDetails.js index de9f9d62f4d..b6c3366bd77 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/DocumentDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/DocumentDetails.js @@ -8,7 +8,7 @@ import { FormStep, MultiUploadWrapper, CitizenInfoLabel -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import Timeline from "../components/Timeline"; import DocumentsPreview from "../../../templates/ApplicationDetails/components/DocumentsPreview"; import { stringReplaceAll } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/EDCRForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/EDCRForm.js index eea559a8f82..a4fe0e914aa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/EDCRForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/EDCRForm.js @@ -1,4 +1,4 @@ -import { CardLabel, Dropdown, FormStep, Loader, TextInput, Toast, UploadFile } from "@egovernments/digit-ui-react-components"; +import { CardLabel, Dropdown, FormStep, Loader, TextInput, Toast, UploadFile } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useLocation, useHistory } from "react-router-dom"; import { getPattern, stringReplaceAll, sortDropdownNames } from "../utils"; @@ -115,7 +115,8 @@ const EDCRForm = ({ t, config, onSelect, userType, formData, ownerIndex = 0, add value={name} {...(validation = { isRequired: true, - pattern: "^[a-zA-Z]+(( )+[a-zA-z]+)*$", + //pattern: "^[a-zA-Z]+(( )+[a-zA-z]+)*$", + pattern: "^[a-zA-Z ]+$", type: "text", title: t("TL_NAME_ERROR_MESSAGE"), })} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/GIS.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/GIS.js index bf65afcfea1..35e3e45cfcf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/GIS.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/GIS.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { LocationSearchCard, LinkButton, Card } from "@egovernments/digit-ui-react-components"; +import { LocationSearchCard, LinkButton, Card } from "@upyog/digit-ui-react-components"; const GIS = ({ t, config, onSelect, formData = {},handleRemove,onSave }) => { const [pincode, setPincode] = useState(formData?.address?.pincode || ""); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/InspectionReport.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/InspectionReport.js index b67aab26466..07b2cb92ee1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/InspectionReport.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/InspectionReport.js @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, DatePicker, CardSectionHeader, DeleteIcon } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, DatePicker, CardSectionHeader, DeleteIcon } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import { useTranslation } from "react-i18next"; import _ from "lodash"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/LicenseDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/LicenseDetails.js index 9304ff7c760..adf660f697e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/LicenseDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/LicenseDetails.js @@ -1,4 +1,4 @@ -import { BackButton, CardLabel, FormStep, Loader, MobileNumber, RadioButtons, TextInput } from "@egovernments/digit-ui-react-components"; +import { BackButton, CardLabel, FormStep, Loader, MobileNumber, RadioButtons, TextInput } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; import Timeline from "../components/Timeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/LicenseType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/LicenseType.js index de60d1e1494..2adb9d9431d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/LicenseType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/LicenseType.js @@ -1,4 +1,4 @@ -import { CardLabel, FormStep, RadioOrSelect, TextInput, OpenLinkContainer, BackButton } from "@egovernments/digit-ui-react-components"; +import { CardLabel, FormStep, RadioOrSelect, TextInput, OpenLinkContainer, BackButton, CheckBox } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { stringReplaceAll } from "../utils"; import Timeline from "../components/Timeline"; @@ -20,7 +20,7 @@ const LicenseType = ({ t, config, onSelect, userType, formData }) => { const { data, isLoading } = Digit.Hooks.obps.useMDMS(stateId, "StakeholderRegistraition", "TradeTypetoRoleMapping"); let isopenlink = window.location.href.includes("/openlink/"); const isCitizenUrl = Digit.Utils.browser.isMobile() ? true : false; - + const [selfCertification, setSelfCertification]=useState(formData?.selfCertification||formData?.formData?.selfCertification||null) if(isopenlink) window.onunload = function () { sessionStorage.removeItem("Digit.BUILDING_PERMIT"); @@ -52,14 +52,18 @@ const LicenseType = ({ t, config, onSelect, userType, formData }) => { function goNext() { if (!(formData?.result && formData?.result?.Licenses[0]?.id)) - onSelect(config.key, { LicenseType, ArchitectNo }); + onSelect(config.key, { LicenseType, ArchitectNo, selfCertification }); else { let data = formData?.formData; data.LicneseType.LicenseType = LicenseType; data.LicneseType.ArchitectNo = ArchitectNo; + data.LicneseType.selfCertification=selfCertification? selfCertification: false; onSelect("", formData) } } + function selectSelfCertification(e){ + setSelfCertification(e.target.checked); + } return (
@@ -91,6 +95,16 @@ const LicenseType = ({ t, config, onSelect, userType, formData }) => { onChange={selectArchitectNo} />
} + {LicenseType && (LicenseType?.i18nKey.includes("ARCHITECT") || LicenseType?.i18nKey.includes("_ENGINEER")||LicenseType?.i18nKey.includes("DESIGNER")||LicenseType?.i18nKey.includes("SUPERVISOR")) && +
+ +
}
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/LocationDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/LocationDetails.js index eb415d5281e..bf7525751cb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/LocationDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/LocationDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, FormStep, LinkButton, RadioOrSelect, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, FormStep, LinkButton, RadioOrSelect, TextInput } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; import GIS from "./GIS"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/NOCDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/NOCDetails.js index debdb54800c..4e9a082480a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/NOCDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/NOCDetails.js @@ -9,7 +9,7 @@ import { StatusTable, MultiUploadWrapper, Row -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import Timeline from "../components/Timeline"; import PropertyDocuments from "../../../templates/ApplicationDetails/components/PropertyDocuments"; import DocumentsPreview from "../../../templates/ApplicationDetails/components/DocumentsPreview"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OBPSDocuments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OBPSDocuments.js index abbeb0adfc1..caeb68a2eee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OBPSDocuments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OBPSDocuments.js @@ -1,4 +1,4 @@ -import { CardText, Loader, PDFSvg } from "@egovernments/digit-ui-react-components"; +import { CardText, Loader, PDFSvg } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { pdfDocumentName, pdfDownloadLink, getDocumentsName,stringReplaceAll } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OBPSDocumentsEmp.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OBPSDocumentsEmp.js index 09f0dd8fc12..98dbb337578 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OBPSDocumentsEmp.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OBPSDocumentsEmp.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, UploadFile, Toast, Loader, MultiUploadWrapper } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, UploadFile, Toast, Loader, MultiUploadWrapper } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const OBPSDocumentsEmp = ({ t, config, onSelect, userType, formData, setError: setFormError, clearErrors: clearFormErrors, formState, index: indexx, setFieldReports, documentList }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OBPSDocumentsHolder.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OBPSDocumentsHolder.js index 937df071037..9a2685fcf49 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OBPSDocumentsHolder.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OBPSDocumentsHolder.js @@ -1,4 +1,4 @@ -import { CardSectionHeader, CardText, Loader, PDFSvg, StatusTable } from "@egovernments/digit-ui-react-components"; +import { CardSectionHeader, CardText, Loader, PDFSvg, StatusTable } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCBasicDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCBasicDetails.js index db6d4b43ffb..d11bee4ff33 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCBasicDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCBasicDetails.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { fromUnixTime, format } from 'date-fns'; -import { Card, CardHeader, Label, SearchIconSvg, Toast, StatusTable, TextInput, Row, CardCaption, SubmitBar, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, CardHeader, Label, SearchIconSvg, Toast, StatusTable, TextInput, Row, CardCaption, SubmitBar, Loader } from "@upyog/digit-ui-react-components"; import Timeline from "../components/Timeline"; import { useTranslation } from "react-i18next"; import { ocScrutinyDetailsData } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCEDCRDocsRequired.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCEDCRDocsRequired.js index faef8920ec5..27950f37d39 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCEDCRDocsRequired.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCEDCRDocsRequired.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { Card, CardHeader, CardLabel, CardText, CitizenInfoLabel, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, CardHeader, CardLabel, CardText, CitizenInfoLabel, SubmitBar } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const OCEDCRDocsRequired = ({ onSelect, onSkip, config }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCUploadPlanDiagram.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCUploadPlanDiagram.js index 88639ad8d7f..9b5e8bd5316 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCUploadPlanDiagram.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCUploadPlanDiagram.js @@ -3,7 +3,7 @@ import { UploadFile, Toast, Loader -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useLocation, useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCeDCRScrutiny.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCeDCRScrutiny.js index 946e1c88b21..281f32b1b52 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCeDCRScrutiny.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OCeDCRScrutiny.js @@ -12,7 +12,7 @@ import { StatusTable, Row, PDFSvg -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { getPattern, convertDateToEpoch, convertEpochToDate } from "../utils"; const OCeDCRScrutiny = ({ t, config, onSelect, userType, formData, ownerIndex = 0, addNewOwner, isShowToast }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OwnerDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OwnerDetails.js index 5d88c41fdac..7ba2ee9b038 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OwnerDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/OwnerDetails.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, CardLabel, RadioButtons,RadioOrSelect, LabelFieldPair, Dropdown, CheckBox, LinkButton, Loader, Toast, SearchIcon, DeleteIcon } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, CardLabel, RadioButtons,RadioOrSelect, LabelFieldPair, Dropdown, CheckBox, LinkButton, Loader, Toast, SearchIcon, DeleteIcon } from "@upyog/digit-ui-react-components"; import { stringReplaceAll, getPattern, convertDateTimeToEpoch, convertDateToEpoch } from "../utils"; import Timeline from "../components/Timeline"; import cloneDeep from "lodash/cloneDeep"; @@ -16,6 +16,7 @@ const OwnerDetails = ({ t, config, onSelect, userType, formData }) => { const [genderList, setGenderList] = useState([]); const [ownershipCategory, setOwnershipCategory] = useState(formData?.owners?.ownershipCategory); const [name, setName] = useState(formData?.owners?.name || ""); + const [emailId, setEmail] = useState(formData?.owners?.emailId || ""); const [isPrimaryOwner, setisPrimaryOwner] = useState(false); const [gender, setGender] = useState(formData?.owners?.gender); const [mobileNumber, setMobileNumber] = useState(formData?.owners?.mobileNumber || ""); @@ -28,15 +29,15 @@ const OwnerDetails = ({ t, config, onSelect, userType, formData }) => { if(owner.isPrimaryOwner == "false" ) owner.isPrimaryOwner = false }) let [fields, setFeilds] = useState( - (formData?.owners && formData?.owners?.owners) || [{ name: "", gender: "", mobileNumber: null, isPrimaryOwner: true }] + (formData?.owners && formData?.owners?.owners) || [{ name: "",emailId:"", gender: "", mobileNumber: null, isPrimaryOwner: true }] ); useEffect(() => { var flag=0; fields.map((ob) => { - if(ob.isPrimaryOwner) + if(ob?.isPrimaryOwner) flag=1; - if (ob.name && ob.mobileNumber && ob.gender) { + if (ob?.name && ob?.mobileNumber && ob?.gender) { setCanmovenext(false); } else { @@ -95,7 +96,7 @@ const OwnerDetails = ({ t, config, onSelect, userType, formData }) => { function handleAdd() { const values = [...fields]; - values.push({ name: "", gender: "", mobileNumber: null, isPrimaryOwner: false }); + values.push({ name: "",emailId:"", gender: "", mobileNumber: null, isPrimaryOwner: false }); setFeilds(values); setCanmovenext(true); @@ -133,6 +134,15 @@ const OwnerDetails = ({ t, config, onSelect, userType, formData }) => { setCanmovenext(false); } } + function setOwnerEmail(i, e) { + let units = [...fields]; + units[i].emailId = e.target.value; + setEmail(e.target.value); + setFeilds(units); + if (units[i].gender && units[i].mobileNumber && units[i].name) { + setCanmovenext(false); + } + } function setMobileNo(i, e) { let units = [...fields]; units[i].mobileNumber = e.target.value; @@ -295,6 +305,7 @@ const OwnerDetails = ({ t, config, onSelect, userType, formData }) => { ...owner, active:true, name: owner.name, + emailId:owner.emailId, mobileNumber: owner.mobileNumber, isPrimaryOwner: owner.isPrimaryOwner, gender: owner.gender.code, @@ -317,6 +328,7 @@ const OwnerDetails = ({ t, config, onSelect, userType, formData }) => { // Additonal details payload.additionalDetails = {GISPlaceName:formData?.address?.placeName}; if (formData?.data?.holdingNumber) payload.additionalDetails.holdingNo = formData?.data?.holdingNumber; + //if (formData?.data?.boundaryWallLength) payload.additionalDetails.boundaryWallLength = formData?.data?.boundaryWallLength; if (formData?.data?.registrationDetails) payload.additionalDetails.registrationDetails = formData?.data?.registrationDetails; if (formData?.data?.applicationType) payload.additionalDetails.applicationType = formData?.data?.applicationType; if (formData?.data?.serviceType) payload.additionalDetails.serviceType = formData?.data?.serviceType; @@ -401,7 +413,7 @@ fields =propertyData.owners.map((owner) =>{ "active": true, "i18nKey": "COMMON_GENDER_FEMALE" } - return {"name":owner.name, "mobileNumber":owner.mobileNumber, gender:gender,isPrimaryOwner} + return {"name":owner.name,"emailId":owner.emailId, "mobileNumber":owner.mobileNumber, gender:gender,isPrimaryOwner} } else if (owner.gender =="MALE") { @@ -410,7 +422,7 @@ fields =propertyData.owners.map((owner) =>{ "active": true, "i18nKey": "COMMON_GENDER_MALE" } - return {"name":owner.name, "mobileNumber":owner.mobileNumber, gender:gender,isPrimaryOwner} + return {"name":owner.name, "emailId":owner.emailId, "mobileNumber":owner.mobileNumber, gender:gender,isPrimaryOwner} } }) @@ -517,6 +529,24 @@ useEffect(()=>{ t={t} disabled={true} /> + {`${t("CORE_EMAIL_ID")}`} + setOwnerEmail(index, e)} + {...(validation = { + isRequired: true, + pattern: "[A-Za-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$", + type: "emailId", + title: t("TL_EMAIL_ID_ERROR_MESSAGE"), + })} + disabled={true} + /> {ismultiple && ( { const { t } = useTranslation(); const [holdingNumber, setHoldingNumber] = useState(""); + //const [boundaryWallLength, setBoundaryWallLength] = useState(""); const [registrationDetails, setRegistrationDetails] = useState(""); const tenantId = Digit.ULBService.getCurrentTenantId(); const checkingFlow = formData?.uiFlow?.flow; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/ScrutinyDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/ScrutinyDetails.js index 787a2669eaa..7309dd6a907 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/ScrutinyDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/ScrutinyDetails.js @@ -10,7 +10,7 @@ import { RemoveableTag, Toast, Loader, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState, useMemo } from "react"; import { render } from "react-dom"; import { useTranslation } from "react-i18next"; @@ -162,6 +162,7 @@ const ScrutinyDetails = ({ onSelect, userType, formData, config }) => { // Additonal details payload.additionalDetails = {}; if (formData?.data?.holdingNumber) payload.additionalDetails.holdingNo = formData?.data?.holdingNumber; + //if (formData?.data?.boundaryWallLength) payload.additionalDetails.boundaryWallLength = formData?.data?.boundaryWallLength; if (formData?.data?.registrationDetails) payload.additionalDetails.registrationDetails = formData?.data?.registrationDetails; if (formData?.data?.applicationType) payload.additionalDetails.applicationType = formData?.data?.applicationType; if (formData?.data?.serviceType) payload.additionalDetails.serviceType = formData?.data?.serviceType; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/StakeholderDocsRequired.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/StakeholderDocsRequired.js index cf0c0768ed2..8d29ce8a8c8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/StakeholderDocsRequired.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/StakeholderDocsRequired.js @@ -1,5 +1,5 @@ import React, { Fragment, useEffect } from "react"; -import { Card, CardHeader, CardLabel, CardSubHeader, CardText, CitizenInfoLabel, Loader, SubmitBar,NavBar,OpenLinkContainer, BackButton } from "@egovernments/digit-ui-react-components"; +import { Card, CardHeader, CardLabel, CardSubHeader, CardText, CitizenInfoLabel, Loader, SubmitBar,NavBar,OpenLinkContainer, BackButton } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/StakeholderDocuments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/StakeholderDocuments.js index f24a84e38da..51de2d22ee8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/StakeholderDocuments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pageComponents/StakeholderDocuments.js @@ -9,7 +9,7 @@ import { CitizenInfoLabel, OpenLinkContainer, BackButton -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import Timeline from "../components/Timeline"; const StakeholderDocuments = ({ t, config, onSelect, userType, formData, setError: setFormError, clearErrors: clearFormErrors, formState }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ApplicationDetail/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ApplicationDetail/index.js index 6fd5e30830c..f562f01da2c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ApplicationDetail/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ApplicationDetail/index.js @@ -1,4 +1,4 @@ -import { StatusTable, Header, Card, CardHeader, Row, PDFSvg, CardSectionHeader, MultiLink, Loader } from "@egovernments/digit-ui-react-components"; +import { StatusTable, Header, Card, CardHeader, Row, PDFSvg, CardSectionHeader, MultiLink, Loader } from "@upyog/digit-ui-react-components"; import React, { Fragment, useEffect, useState } from "react"; import { useParams } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/ApplicationCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/ApplicationCard.js index 8ae3a2f2c1f..779ab961a68 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/ApplicationCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/ApplicationCard.js @@ -1,4 +1,4 @@ -import { Card, DetailsCard, FilterAction, Loader, PopUp, SearchAction } from "@egovernments/digit-ui-react-components"; +import { Card, DetailsCard, FilterAction, Loader, PopUp, SearchAction } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useHistory } from "react-router-dom"; import Filter from "./Filter"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/ApplicationLinks.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/ApplicationLinks.js index f6ca8fcdb1e..5a969788717 100755 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/ApplicationLinks.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/ApplicationLinks.js @@ -1,4 +1,4 @@ -import { Card, OBPSIconSolidBg } from "@egovernments/digit-ui-react-components"; +import { Card, OBPSIconSolidBg } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/ApplicationTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/ApplicationTable.js index 76416b423e6..dc6a833587c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/ApplicationTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/ApplicationTable.js @@ -1,5 +1,5 @@ import React from "react"; -import { Table } from "@egovernments/digit-ui-react-components"; +import { Table } from "@upyog/digit-ui-react-components"; const ApplicationTable = ({ t, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/DesktopInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/DesktopInbox.js index ce1632a44b4..2503d7f184e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/DesktopInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/DesktopInbox.js @@ -1,4 +1,4 @@ -import { Card, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Loader } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/Filter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/Filter.js index 3b9a23ef643..9bdf56351b2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/Filter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/Filter.js @@ -1,4 +1,4 @@ -import { ActionBar, ApplyFilterBar, CloseSvg, Dropdown, SubmitBar, FilterIcon, Loader, CheckBox, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { ActionBar, ApplyFilterBar, CloseSvg, Dropdown, SubmitBar, FilterIcon, Loader, CheckBox, RadioButtons } from "@upyog/digit-ui-react-components"; import React ,{useMemo, useState}from "react"; import { useTranslation } from "react-i18next"; import Status from "./Status"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/Search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/Search.js index d0e4ca76cec..18fd14fa2c5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/Search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/Search.js @@ -1,6 +1,6 @@ import React from "react"; import { useForm, Controller } from "react-hook-form"; -import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardHeader } from "@egovernments/digit-ui-react-components"; +import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardHeader } from "@upyog/digit-ui-react-components"; const Search = ({ onSearch, searchParams, searchFields, type, onClose, isInboxPage, t }) => { const { register, handleSubmit, formState, reset, watch, control } = useForm({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/SortBy.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/SortBy.js index 6223738defa..df096359ca0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/SortBy.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/SortBy.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { ActionBar, RadioButtons, ApplyFilterBar, CloseSvg, SortSvg } from "@egovernments/digit-ui-react-components"; +import { ActionBar, RadioButtons, ApplyFilterBar, CloseSvg, SortSvg } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const SortBy = (props) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/StatusCount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/StatusCount.js index a729564fb9b..09ca269e9cb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/StatusCount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/StatusCount.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { CheckBox } from "@egovernments/digit-ui-react-components"; +import { CheckBox } from "@upyog/digit-ui-react-components"; const StatusCount = ({ status, searchParams, onAssignmentChange }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/index.js index 70ea44da3e2..879ad5265c4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/ArchitectInbox/index.js @@ -1,4 +1,4 @@ -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import DesktopInbox from "./DesktopInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BPASendBackToCitizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BPASendBackToCitizen/index.js index d304d55eea0..72aefe25c50 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BPASendBackToCitizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BPASendBackToCitizen/index.js @@ -7,7 +7,7 @@ import { newConfig as newConfigBPA } from "../../../config/buildingPermitConfig" //import Acknowledgement from "../OCSendBackToCitizen"; //import OBPSAcknowledgement from "../OCBuildingPermit/OBPSAcknowledgement"; import { getBPAEditDetails, getPath } from "../../../utils"; -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; const BPASendBackToCitizen = ({ parentRoute }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BPASendToArchitect/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BPASendToArchitect/index.js index bfbf6071f52..f68a20ac7f6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BPASendToArchitect/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BPASendToArchitect/index.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; @@ -51,6 +51,7 @@ const getBPAEditDetails = async (data, APIScrutinyDetails,mdmsData,nocdata,t) => applicationDate: data?.auditDetails?.createdTime, applicationType: APIScrutinyDetails?.appliactionType, holdingNumber: data?.additionalDetails?.holdingNo, + //boundaryWallLength: data?.additionalDetails?.boundaryWallLength, occupancyType: APIScrutinyDetails?.planDetail?.planInformation?.occupancy, registrationDetails: data?.additionalDetails?.registrationDetails, riskType: Digit.Utils.obps.calculateRiskType(mdmsData?.BPA?.RiskTypeComputation, APIScrutinyDetails?.planDetail?.plot?.area, APIScrutinyDetails?.planDetail?.blocks), diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/BPAApplicationTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/BPAApplicationTimeline.js index e640607512c..8f67b36eef8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/BPAApplicationTimeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/BPAApplicationTimeline.js @@ -1,6 +1,6 @@ import React, { Fragment } from "react"; import { useTranslation } from "react-i18next"; -import { ActionLinks, CardSectionHeader, CheckPoint, ConnectingCheckPoints, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionLinks, CardSectionHeader, CheckPoint, ConnectingCheckPoints, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; import BPACaption from "./BPACaption"; const BPAApplicationTimeline = (props) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/BPACaption.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/BPACaption.js index c8713e1c53d..eeb3b8aa673 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/BPACaption.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/BPACaption.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TelePhone, DisplayPhotos } from "@egovernments/digit-ui-react-components"; +import { TelePhone, DisplayPhotos } from "@upyog/digit-ui-react-components"; import BPAReason from "./BPAReason"; const BPACaption = ({ data,OpenImage }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/Modal/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/Modal/index.js index f7f04f9bfed..70cb1e169d0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/Modal/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/Modal/index.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { Loader, Modal, FormComposer, ButtonSelector, ActionBar,ApplyFilterBar } from "@egovernments/digit-ui-react-components"; +import { Loader, Modal, FormComposer, ButtonSelector, ActionBar,ApplyFilterBar } from "@upyog/digit-ui-react-components"; import { configAcceptApplication } from "../config/Approve"; import { configTermsAndConditions } from "../config/TermsAndConditions"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/config/Approve.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/config/Approve.js index 26ca5a11821..588aba5cee4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/config/Approve.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/config/Approve.js @@ -1,4 +1,4 @@ -import { UploadFile } from "@egovernments/digit-ui-react-components" +import { UploadFile } from "@upyog/digit-ui-react-components" import React from 'react'; export const configAcceptApplication = ({ t, action, selectFile, uploadedFile, error, isCommentRequired = true, setUploadedFile, file }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/index.js index b98f6304681..28bed76a92c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/BpaApplicationDetail/index.js @@ -1,4 +1,4 @@ -import { CardHeader, Header, Toast, Card, StatusTable, Row, Loader, Menu, PDFSvg, SubmitBar, LinkButton, ActionBar, CheckBox, MultiLink, CardText, CardSubHeader } from "@egovernments/digit-ui-react-components"; +import { CardHeader, Header, Toast, Card, StatusTable, Row, Loader, Menu, PDFSvg, SubmitBar, LinkButton, ActionBar, CheckBox, MultiLink, CardText, CardSubHeader } from "@upyog/digit-ui-react-components"; import React, { Fragment, useEffect, useState } from "react"; import { useParams, useHistory } from "react-router-dom"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EDCR/EDCRAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EDCR/EDCRAcknowledgement.js index 5d1663a8985..7ccc24aa8e3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EDCR/EDCRAcknowledgement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EDCR/EDCRAcknowledgement.js @@ -1,4 +1,4 @@ -import { Banner, Card, CardText, LinkButton, SubmitBar, Toast } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, LinkButton, SubmitBar, Toast } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { Link, useHistory } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/FilterFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/FilterFormFieldsComponent.js index b3b31a0f484..be5d8c65968 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/FilterFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/FilterFormFieldsComponent.js @@ -1,4 +1,4 @@ -import { Dropdown, FilterFormField, Loader, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { Dropdown, FilterFormField, Loader, RadioButtons } from "@upyog/digit-ui-react-components"; import React, { Fragment } from "react"; import { Controller } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/SearchFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/SearchFormFieldsComponent.js index 59250324e20..17cbac7f3bf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/SearchFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/SearchFormFieldsComponent.js @@ -1,4 +1,4 @@ -import { SearchField, TextInput } from "@egovernments/digit-ui-react-components"; +import { SearchField, TextInput } from "@upyog/digit-ui-react-components"; import React, { Fragment } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/index.js index 3ad87352d9b..2224beb01d9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/index.js @@ -1,4 +1,4 @@ -import { CaseIcon, Header, InboxComposer } from "@egovernments/digit-ui-react-components"; +import { CaseIcon, Header, InboxComposer } from "@upyog/digit-ui-react-components"; import React, { Fragment, useCallback, useMemo, useReducer } from "react"; import { useTranslation } from "react-i18next"; import FilterFormFieldsComponent from "./FilterFormFieldsComponent"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/useInboxMobileCardsData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/useInboxMobileCardsData.js index 71d4e878a0c..cd108185985 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/useInboxMobileCardsData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/useInboxMobileCardsData.js @@ -1,4 +1,4 @@ -import { RadioButtons, SearchField } from "@egovernments/digit-ui-react-components"; +import { RadioButtons, SearchField } from "@upyog/digit-ui-react-components"; import { format } from "date-fns"; import React from "react"; import { Controller, useFormContext } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/useInboxTableConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/useInboxTableConfig.js index 104c4ac1400..826943f9bc7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/useInboxTableConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/EdcrInbox/useInboxTableConfig.js @@ -1,7 +1,7 @@ import { format } from "date-fns"; import React, { useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; -import { MultiLink } from "@egovernments/digit-ui-react-components"; +import { MultiLink } from "@upyog/digit-ui-react-components"; const Download = ({ dowloadOptions }) => { const [showOptions, setShowOptions] = useState(false); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/MyApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/MyApplication/index.js index 2f77130b0a3..19429459690 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/MyApplication/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/MyApplication/index.js @@ -1,6 +1,6 @@ import React, { useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { Card, KeyNote, Loader, SubmitBar, Header } from "@egovernments/digit-ui-react-components"; +import { Card, KeyNote, Loader, SubmitBar, Header } from "@upyog/digit-ui-react-components"; import { Fragment } from "react"; import { Link, useHistory } from "react-router-dom"; import { getBPAFormData } from "../../../utils/index"; @@ -152,6 +152,16 @@ const MyApplication = () => { : getBPAREGFormData(application)} />} + {application.status==="PENDINGPAYMENT" ? ( + +
+ +
+ + ) : null} ) } else { @@ -172,6 +182,17 @@ const MyApplication = () => { : getBPAFormData(application, mdmsData, history, t)} />} } + {application.status==="PENDINGPAYMENT" ? ( + +
+ +
+ + ) : null} ) } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/CheckPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/CheckPage.js index 2631e699b57..362e9b42bf9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/CheckPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/CheckPage.js @@ -1,7 +1,7 @@ import { Card, CardHeader, CardSubHeader, CardText, CitizenInfoLabel, Header, LinkButton, Row, StatusTable, SubmitBar, Table, CardSectionHeader, EditIcon, PDFSvg, Loader - } from "@egovernments/digit-ui-react-components"; + } from "@upyog/digit-ui-react-components"; import React,{ useMemo } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useRouteMatch } from "react-router-dom"; @@ -155,7 +155,7 @@ import { return } - + console.log("DATA",data) return ( @@ -189,6 +189,7 @@ import { + {/* */} @@ -278,7 +279,8 @@ import { - + + ))} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/NewConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/NewConfig.js index 70aa498c0d8..11775858d92 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/NewConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/NewConfig.js @@ -35,7 +35,14 @@ export const newConfig1=[ "type": "textarea", "validation": {}, "name": "registrationDetails" - } + }, + // { + // "label": "BPA_BOUNDARY_WALL_LENGTH_LABEL", + // "type": "text", + // "validation": {}, + // "name": "boundaryWallLength" + // }, + ] }, { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/OBPSAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/OBPSAcknowledgement.js index d099c56289d..584ce0b42bf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/OBPSAcknowledgement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/NewBuildingPermit/OBPSAcknowledgement.js @@ -1,9 +1,11 @@ -import { Banner, Card, CardText, LinkButton, Loader, Row, StatusTable, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, LinkButton, Loader, Row, StatusTable, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; import {convertToNocObject, convertToBPAObject, stringReplaceAll} from "../../../utils/index"; - +import getBPAAcknowledgement from "../../../../getBPAAcknowledgement"; +import { NOCService } from "../../../../../../libraries/src/services/elements/NOC"; +import { OBPSService } from "../../../../../../libraries/src/services/elements/OBPS"; const GetActionMessage = (props) => { const bpaData = props?.data?.BPA?.[0]; let bpaBusinessService = props?.data?.BPA?.[0]?.businessService ? props?.data?.BPA?.[0]?.businessService : "BPA"; @@ -88,6 +90,12 @@ const OBPSAcknowledgement = ({ data, onSuccess }) => { } catch (err) { } }, []); + const handleDownloadPdf = async () => { + const Property = data; + const tenantInfo = tenants.find((tenant) => tenant.code === Property.tenantId); + const acknowledgementData = await getBPAAcknowledgement(Property, tenantInfo, t); + Digit.Utils.pdf.generate(acknowledgementData); + }; return mutation1.isLoading || mutation1.isIdle ? ( @@ -101,6 +109,11 @@ const OBPSAcknowledgement = ({ data, onSuccess }) => { }}> + {mutation1.isSuccess &&( +
+ +
+ )}
); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCBuildingPermit/CheckPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCBuildingPermit/CheckPage.js index db8e1e79a1d..818e759fc81 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCBuildingPermit/CheckPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCBuildingPermit/CheckPage.js @@ -12,7 +12,7 @@ import { EditIcon, PDFSvg, Loader -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useMemo } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useRouteMatch } from "react-router-dom"; @@ -204,6 +204,7 @@ const CheckPage = ({ onSubmit, value }) => { + {/* */} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCBuildingPermit/OBPSAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCBuildingPermit/OBPSAcknowledgement.js index 9cdf019c195..23415ed2ad3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCBuildingPermit/OBPSAcknowledgement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCBuildingPermit/OBPSAcknowledgement.js @@ -1,4 +1,4 @@ -import { Banner, Card, CardText, LinkButton, Loader, Row, StatusTable, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, LinkButton, Loader, Row, StatusTable, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCEDCR/EDCRAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCEDCR/EDCRAcknowledgement.js index 18a7ba34ef0..7f2eccac068 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCEDCR/EDCRAcknowledgement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCEDCR/EDCRAcknowledgement.js @@ -1,4 +1,4 @@ -import { Banner, Card, CardText, LinkButton, SubmitBar, Toast } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, LinkButton, SubmitBar, Toast } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { Link, useHistory } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendBackToCitizen/Acknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendBackToCitizen/Acknowledgement.js index 36adfaea344..6a625f375d4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendBackToCitizen/Acknowledgement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendBackToCitizen/Acknowledgement.js @@ -3,7 +3,7 @@ import { Card, SubmitBar, CardText -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React from "react"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendBackToCitizen/CheckPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendBackToCitizen/CheckPage.js index baf09d64053..567fc329bcc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendBackToCitizen/CheckPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendBackToCitizen/CheckPage.js @@ -13,7 +13,7 @@ import { PDFSvg, Toast, Loader -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useMemo, useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useRouteMatch } from "react-router-dom"; @@ -239,6 +239,7 @@ const CheckPage = ({ onSubmit, value }) => { + {/* */} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendBackToCitizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendBackToCitizen/index.js index d33c5679f08..7e3859dafdd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendBackToCitizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendBackToCitizen/index.js @@ -4,7 +4,7 @@ import { useQueryClient } from "react-query"; import { Redirect, Route, Switch, useHistory, useLocation, useParams, useRouteMatch } from "react-router-dom"; import { newConfig as newConfigOCBPA } from "../../../config/ocbuildingPermitConfig"; import { getBPAEditDetails, getPath } from "../../../utils"; -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; const OCSendBackToCitizen = ({ parentRoute }) => { sessionStorage.setItem("BPA_SUBMIT_APP", JSON.stringify("BPA_SUBMIT_APP")); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendToArchitect/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendToArchitect/index.js index abfbca11b4b..7250afcb0a3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendToArchitect/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/OCSendToArchitect/index.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; @@ -49,6 +49,7 @@ const getBPAEditDetails = async (data, APIScrutinyDetails,mdmsData,nocdata,t,OCD applicationDate: data?.auditDetails?.createdTime, applicationType: APIScrutinyDetails?.appliactionType, holdingNumber: data?.additionalDetails?.holdingNo, + //boundaryWallLength: data?.additionalDetails?.boundaryWallLength, bpaData:OCData, occupancyType: APIScrutinyDetails?.planDetail?.planInformation?.occupancy, registrationDetails: data?.additionalDetails?.registrationDetails, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/StakeholderRegistration/CheckPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/StakeholderRegistration/CheckPage.js index ce57d64a229..264501637d1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/StakeholderRegistration/CheckPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/StakeholderRegistration/CheckPage.js @@ -12,7 +12,7 @@ import { BackButton, EditIcon, CardText, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useMemo } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useRouteMatch } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/StakeholderRegistration/StakeholderAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/StakeholderRegistration/StakeholderAcknowledgement.js index 9b2462aef1a..d06c031f5c5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/StakeholderRegistration/StakeholderAcknowledgement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/StakeholderRegistration/StakeholderAcknowledgement.js @@ -1,9 +1,10 @@ -import { BackButton, Banner, Card, CardText, LinkButton, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; -import React, { useEffect } from "react"; +import { BackButton, Banner, Card, CardText, LinkButton, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; +import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { Link } from "react-router-dom"; +import { useParams } from "react-router-dom"; +import { Link, useHistory } from "react-router-dom"; import { convertToStakeholderObject } from "../../../utils/index"; - +import getAcknowledgementData from "../../../../getAcknowlegment"; const GetActionMessage = ( props) => { const LicenseType=props?.data?.Licenses?.[0]?.tradeLicenseDetail?.tradeUnits?.[0]?.tradeType?.split(".")[0] || "ARCHITECT"; const { t } = useTranslation(); @@ -37,6 +38,7 @@ const BannerPicker = (props) => { const StakeholderAcknowledgement = ({ data, onSuccess }) => { const { t } = useTranslation(); + const {id}= useParams(); //const isPropertyMutation = window.location.href.includes("property-mutation"); const tenantId = Digit.ULBService.getCurrentTenantId(); const mutation = Digit.Hooks.obps.useStakeholderAPI(data?.address?.city ? data.address?.city?.code : tenantId, true); @@ -58,13 +60,21 @@ const StakeholderAcknowledgement = ({ data, onSuccess }) => { } catch (err) { } }, []); - + const state = tenantId?.split('.')[0] + const workflowDetails = Digit.Hooks.useWorkflowDetails({ + tenantId: tenantId?.split('.')[0], + id: id, + moduleCode: "BPAREG", + }); + const { data: applicationDetails } = Digit.Hooks.obps.useLicenseDetails(state, { applicationNumber: id, tenantId: state }, {}); const handleDownloadPdf = async () => { - // const { Properties = [] } = mutation.data; - // const Property = (Properties && Properties[0]) || {}; - // const tenantInfo = tenants.find((tenant) => tenant.code === Property.tenantId); - // const data = await getPTAcknowledgementData({ ...Property }, tenantInfo, t); - // Digit.Utils.pdf.generate(data); + const Property = applicationDetails ; + const tenantInfo = tenants.find((tenant) => tenant.code === Property.tenantId); + + const acknowledgementData = await getAcknowledgementData(Property, tenantInfo, t); + + Digit.Utils.pdf.generate(acknowledgementData); + }; return mutation.isLoading || mutation.isIdle ? ( @@ -89,6 +99,11 @@ const StakeholderAcknowledgement = ({ data, onSuccess }) => { )} + {mutation.isSuccess &&( +
+ +
+ )} {!isOpenLinkFlow && ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/home.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/home.js index cab3ea1c1bf..7fa7d20c86e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/home.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/home.js @@ -1,4 +1,4 @@ -import { BPAHomeIcon, BPAIcon, CitizenHomeCard, EDCRIcon, EmployeeModuleCard, Loader, Toast } from "@egovernments/digit-ui-react-components"; +import { BPAHomeIcon, BPAIcon, CitizenHomeCard, EDCRIcon, EmployeeModuleCard, Loader, Toast } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/index.js index eb4241f0a08..08edcf848dc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/citizen/index.js @@ -4,7 +4,7 @@ import OBPSSearchApplication from "../../components/SearchApplication"; import Search from "../employee/Search"; import { useTranslation } from "react-i18next"; import { Switch, useLocation, Route } from "react-router-dom"; -import { PrivateRoute, BackButton } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute, BackButton } from "@upyog/digit-ui-react-components"; // import NewBuildingPermit from "./NewBuildingPermit"; // import CreateEDCR from "./EDCR"; // import CreateOCEDCR from "./OCEDCR"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/ApplicationDetail/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/ApplicationDetail/index.js index e32e2eedaff..8466c74fb39 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/ApplicationDetail/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/ApplicationDetail/index.js @@ -1,7 +1,7 @@ import React, { Fragment, useEffect, useState } from "react"; import { useParams } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { Header, CardSectionHeader, PDFSvg, StatusTable, Row, MultiLink } from "@egovernments/digit-ui-react-components"; +import { Header, CardSectionHeader, PDFSvg, StatusTable, Row, MultiLink } from "@upyog/digit-ui-react-components"; import ApplicationDetailsTemplate from "../../../../../templates/ApplicationDetails"; import { downloadAndPrintReciept } from "../../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/BpaApplicationDetails/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/BpaApplicationDetails/index.js index e509a4b635d..82de9607bb5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/BpaApplicationDetails/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/BpaApplicationDetails/index.js @@ -1,7 +1,7 @@ import React, { useState, Fragment, useEffect } from "react"; import { useParams, useHistory } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { FormComposer, Header, Card, CardSectionHeader, PDFSvg, Loader, StatusTable, Row, ActionBar, SubmitBar, MultiLink } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Header, Card, CardSectionHeader, PDFSvg, Loader, StatusTable, Row, ActionBar, SubmitBar, MultiLink } from "@upyog/digit-ui-react-components"; import ApplicationDetailsTemplate from "../../../../../templates/ApplicationDetails"; import { newConfig as newConfigFI } from "../../../config/InspectionReportConfig"; import get from "lodash/get"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/EmployeeCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/EmployeeCard.js index 3073e31e47e..687a341a516 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/EmployeeCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/EmployeeCard.js @@ -1,6 +1,6 @@ import React, { useMemo, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { OBPSIconSolidBg, EmployeeModuleCard } from "@egovernments/digit-ui-react-components"; +import { OBPSIconSolidBg, EmployeeModuleCard } from "@upyog/digit-ui-react-components"; import { showHidingLinksForStakeholder, showHidingLinksForBPA } from "../../utils"; import { useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/FilterFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/FilterFormFieldsComponent.js index 56e1ae13ea1..94aa6806d9a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/FilterFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/FilterFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, { Fragment, useMemo } from "react" -import { FilterFormField, Loader, RadioButtons, Localities, RemoveableTag, Dropdown, CheckBox, MultiSelectDropdown } from "@egovernments/digit-ui-react-components"; +import { FilterFormField, Loader, RadioButtons, Localities, RemoveableTag, Dropdown, CheckBox, MultiSelectDropdown } from "@upyog/digit-ui-react-components"; import { Controller, useWatch } from "react-hook-form"; import { useTranslation } from "react-i18next"; import cloneDeep from "lodash/cloneDeep"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/SearchFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/SearchFormFieldsComponent.js index 1a5552877d4..6d8b1f3f483 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/SearchFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/SearchFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, {Fragment} from "react" -import { CardLabelError, SearchField, TextInput, MobileNumber } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, SearchField, TextInput, MobileNumber } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const SearchFormFieldsComponents = ({registerRef, searchFormState, searchFieldComponents}) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/index.js index 79e57fcc028..a9da92e7343 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/index.js @@ -1,5 +1,5 @@ import React, { Fragment, useCallback, useMemo, useReducer } from "react"; -import { InboxComposer, CaseIcon, Header } from "@egovernments/digit-ui-react-components"; +import { InboxComposer, CaseIcon, Header } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import FilterFormFieldsComponent from "./FilterFormFieldsComponent"; import SearchFormFieldsComponents from "./SearchFormFieldsComponent"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/useInboxMobileCardsData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/useInboxMobileCardsData.js index 1b75a63b144..acef0a92397 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/useInboxMobileCardsData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/Inbox/useInboxMobileCardsData.js @@ -1,7 +1,7 @@ import React from "react"; import { useTranslation } from "react-i18next"; import { format } from "date-fns"; -import { SearchField, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { SearchField, RadioButtons } from "@upyog/digit-ui-react-components"; import { Controller, useFormContext } from "react-hook-form"; const useInboxMobileCardsData = ({parentRoute, table, getRedirectionLink}) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/OBPSResponse.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/OBPSResponse.js index cf5836a3b67..c2ad0101cf2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/OBPSResponse.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/OBPSResponse.js @@ -1,4 +1,4 @@ -import { Banner, Card, CardText, ActionBar, SubmitBar, Loader, LinkButton } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, ActionBar, SubmitBar, Loader, LinkButton } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { stringReplaceAll, getBusinessServices } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/StakeholderResponse.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/StakeholderResponse.js index 0d83a88c62f..4f3e8ac6768 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/StakeholderResponse.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/StakeholderResponse.js @@ -1,4 +1,4 @@ -import { Banner, Card, CardText, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, ActionBar, SubmitBar } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/index.js index 1e410166f89..572b3962431 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/index.js @@ -1,4 +1,4 @@ -import { PrivateRoute, BreadCrumb, BackButton } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute, BreadCrumb, BackButton } from "@upyog/digit-ui-react-components"; import React, { Fragment } from "react"; import { Switch, useLocation } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/FilterFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/FilterFormFieldsComponent.js index 03dbbc33311..072773b2672 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/FilterFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/FilterFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, { Fragment, useMemo } from "react" -import { FilterFormField, Loader, RadioButtons, Localities, RemoveableTag, Dropdown, CheckBox } from "@egovernments/digit-ui-react-components"; +import { FilterFormField, Loader, RadioButtons, Localities, RemoveableTag, Dropdown, CheckBox } from "@upyog/digit-ui-react-components"; import { Controller, useWatch } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/SearchFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/SearchFormFieldsComponent.js index b44d42acee8..44147e0e04e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/SearchFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/SearchFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, {Fragment} from "react" -import { CardLabelError, SearchField, TextInput, MobileNumber } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, SearchField, TextInput, MobileNumber } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const SearchFormFieldsComponents = ({registerRef, searchFormState, searchFieldComponents}) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/index.js index 5e4b87f7484..732b3c40991 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/index.js @@ -1,5 +1,5 @@ import React, { Fragment, useCallback, useMemo, useReducer } from "react" -import { InboxComposer, CaseIcon, Header } from "@egovernments/digit-ui-react-components"; +import { InboxComposer, CaseIcon, Header } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import FilterFormFieldsComponent from "./FilterFormFieldsComponent"; import SearchFormFieldsComponents from "./SearchFormFieldsComponent"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/useInboxMobileCardsData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/useInboxMobileCardsData.js index 05a65e54e55..e3828f32970 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/useInboxMobileCardsData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/pages/employee/stakeholderInbox/useInboxMobileCardsData.js @@ -1,7 +1,7 @@ import React from "react"; import { useTranslation } from "react-i18next"; import { format } from "date-fns"; -import { SearchField, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { SearchField, RadioButtons } from "@upyog/digit-ui-react-components"; import { Controller, useFormContext } from "react-hook-form"; const useInboxMobileCardsData = ({ parentRoute, table }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/utils/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/utils/index.js index 6524a959712..5560242099b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/utils/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/obps/src/utils/index.js @@ -113,6 +113,7 @@ export const getBPAFormData = async (data, mdmsData, history, t) => { applicationDate: data?.auditDetails?.createdTime, applicationType: APIScrutinyDetails?.appliactionType, holdingNumber: data?.additionalDetails?.holdingNo, + //boundaryWallLength:data?.additionalDetails?.boundaryWallLength, occupancyType: APIScrutinyDetails?.planDetail?.planInformation?.occupancy, registrationDetails: data?.additionalDetails?.registrationDetails, riskType: Digit.Utils.obps.calculateRiskType( @@ -408,6 +409,7 @@ export const convertToBPAObject = (data, isOCBPA = false, isSendBackTOCitizen = ...data?.additionalDetails, GISPlaceName : data?.address?.placeName, holdingNo: data?.data?.holdingNumber ? data?.data?.holdingNumber : data?.additionalDetails?.holdingNo, + //boundaryWallLength:data?.data?.boundaryWallLength ? data?.data?.boundaryWallLength : data?.additionalDetails?.boundaryWallLength , registrationDetails: data?.data?.registrationDetails ? data?.data?.registrationDetails : data?.additionalDetails?.registrationDetails, }, applicationType: "BUILDING_PLAN_SCRUTINY", @@ -442,7 +444,7 @@ export const convertToStakeholderObject = (data) => { action: "APPLY", tradeLicenseDetail: { ...data?.result?.Licenses[0]?.tradeLicenseDetail, - additionalDetail: { counsilForArchNo: data?.formData?.LicneseType?.ArchitectNo }, + additionalDetail: { counsilForArchNo: data?.formData?.LicneseType?.ArchitectNo, isSelfCertificationRequired:data?.formData?.LicneseType?.selfCertification}, tradeUnits: [ { ...data?.result?.Licenses[0]?.tradeLicenseDetail?.tradeUnits?.[0], @@ -553,6 +555,7 @@ export const getBPAEditDetails = async (data, APIScrutinyDetails, mdmsData, nocd applicationDate: data?.auditDetails?.createdTime, applicationType: APIScrutinyDetails?.appliactionType, holdingNumber: data?.additionalDetails?.holdingNo, + //boundaryWallLength: data?.additionalDetails?.boundaryWallLength, occupancyType: APIScrutinyDetails?.planDetail?.planInformation?.occupancy, registrationDetails: data?.additionalDetails?.registrationDetails, riskType: Digit.Utils.obps.calculateRiskType( @@ -708,7 +711,7 @@ export const printPdf = (blob) => { } }; -export const downloadAndPrintReciept = async (bussinessService, consumerCode, tenantId, mode = "download", pdfKey = "consolidatedreceipt") => { +export const downloadAndPrintReciept = async (bussinessService, consumerCode, tenantId, mode = "download", pdfKey = "bpa-receipt") => { const response = await Digit.OBPSService.receipt_download(bussinessService, consumerCode, tenantId, { pdfKey: pdfKey }); const responseStatus = parseInt(response.status, 10); if (responseStatus === 201 || responseStatus === 200) { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/package.json index 3b3ef742e2e..2ae08210f4e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/package.json @@ -1,6 +1,6 @@ { - "name": "@egovernments/digit-ui-module-pgr", - "version": "1.7.0-beta.2", + "name": "@upyog/digit-ui-module-pgr", + "version": "1.7.0-beta.4", "license": "MIT", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,8 @@ }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "lodash.merge": "^4.6.2", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/EmployeeApp.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/EmployeeApp.js index 3cbbdc4f52a..278261b6257 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/EmployeeApp.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/EmployeeApp.js @@ -1,5 +1,5 @@ import React from "react"; -import { AppContainer, EmployeeAppContainer } from "@egovernments/digit-ui-react-components"; +import { AppContainer, EmployeeAppContainer } from "@upyog/digit-ui-react-components"; import Complaint from "./pages/employee/index"; const App = () => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/Module.js index 430b1e75e27..5c4a95138c1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/Module.js @@ -5,7 +5,7 @@ import getRootReducer from "./redux/reducers"; import CitizenApp from "./pages/citizen"; import EmployeeApp from "./EmployeeApp"; -import { ComplaintIcon, CitizenHomeCard, Loader } from "@egovernments/digit-ui-react-components"; +import { ComplaintIcon, CitizenHomeCard, Loader } from "@upyog/digit-ui-react-components"; import { PGR_CITIZEN_CREATE_COMPLAINT } from "./constants/Citizen"; import { useTranslation } from "react-i18next"; import { LOCALE } from "./constants/Localization"; @@ -19,6 +19,7 @@ import { ComplaintsList } from "./pages/citizen/ComplaintsList"; import ComplaintDetailsPage from "./pages/citizen/ComplaintDetails"; import SelectRating from "./pages/citizen/Rating/SelectRating"; import ResponseCitizen from "./pages/citizen/Response"; +import EditApplication from "./pages/employee/EditApplication"; export const PGRReducers = getRootReducer; @@ -75,7 +76,8 @@ const componentsToRegister = { PGRComplaintsList : ComplaintsList, PGRComplaintDetailsPage : ComplaintDetailsPage, PGRSelectRating : SelectRating, - PGRResponseCitzen : ResponseCitizen + PGRResponseCitzen : ResponseCitizen, + PGREditApplication: EditApplication, }; export const initPGRComponents = () => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/Complaint.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/Complaint.js index 3583fa17aad..6c4356bc68c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/Complaint.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/Complaint.js @@ -1,8 +1,8 @@ import React from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; -import { Card, DateWrap, KeyNote } from "@egovernments/digit-ui-react-components"; -import { CardSubHeader } from "@egovernments/digit-ui-react-components"; +import { Card, DateWrap, KeyNote } from "@upyog/digit-ui-react-components"; +import { CardSubHeader } from "@upyog/digit-ui-react-components"; import { LOCALIZATION_KEY } from "../constants/Localization"; // import { ConvertTimestampToDate } from "../@egovernments/digit-utils/services/date"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/DesktopInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/DesktopInbox.js index a81aba6a4c8..80a0fdd8592 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/DesktopInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/DesktopInbox.js @@ -1,7 +1,7 @@ import React from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; -import { Card, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Loader } from "@upyog/digit-ui-react-components"; import ComplaintsLink from "./inbox/ComplaintLinks"; import ComplaintTable from "./inbox/ComplaintTable"; import Filter from "./inbox/Filter"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/FormComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/FormComposer.js index 1e28507b5b2..63de235ace3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/FormComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/FormComposer.js @@ -12,7 +12,7 @@ import { ActionBar, SubmitBar, LabelFieldPair, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; export const FormComposer = (props) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/MobileInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/MobileInbox.js index 34e8f9eadbf..452675d4b2e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/MobileInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/MobileInbox.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { Loader, Card } from "@egovernments/digit-ui-react-components"; +import { Loader, Card } from "@upyog/digit-ui-react-components"; import { ComplaintCard } from "./inbox/ComplaintCard"; import ComplaintsLink from "./inbox/ComplaintLinks"; import { LOCALE } from "../constants/Localization"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/PGRCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/PGRCard.js index 11e56ae8293..42d55e1e2af 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/PGRCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/PGRCard.js @@ -1,7 +1,7 @@ import React, { useEffect, useState } from "react"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { EmployeeModuleCard } from "@egovernments/digit-ui-react-components"; +import { EmployeeModuleCard } from "@upyog/digit-ui-react-components"; const PGRCard = () => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/TimeLine.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/TimeLine.js index a9cee1246ce..bd85fb38f48 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/TimeLine.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/TimeLine.js @@ -1,4 +1,4 @@ -import { Card, CardSubHeader, CheckPoint, ConnectingCheckPoints, GreyOutText, Loader, DisplayPhotos } from "@egovernments/digit-ui-react-components"; +import { Card, CardSubHeader, CheckPoint, ConnectingCheckPoints, GreyOutText, Loader, DisplayPhotos } from "@upyog/digit-ui-react-components"; import React, {Fragment, useEffect, useMemo } from "react"; import { useTranslation } from "react-i18next"; import { LOCALIZATION_KEY } from "../constants/Localization"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/ComplaintCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/ComplaintCard.js index 13a625a7c3e..b3ca6ff3419 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/ComplaintCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/ComplaintCard.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; -import { FilterAction, Card, DetailsCard, PopUp, SearchAction } from "@egovernments/digit-ui-react-components"; +import { FilterAction, Card, DetailsCard, PopUp, SearchAction } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import Filter from "./Filter"; import SearchComplaint from "./search"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/ComplaintLinks.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/ComplaintLinks.js index 59a47b833c0..3b28e0ef067 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/ComplaintLinks.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/ComplaintLinks.js @@ -1,4 +1,4 @@ -import { Card } from "@egovernments/digit-ui-react-components"; +import { Card } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/ComplaintTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/ComplaintTable.js index 7facec2f239..e1303fa738d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/ComplaintTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/ComplaintTable.js @@ -1,5 +1,5 @@ import React from "react"; -import { Table } from "@egovernments/digit-ui-react-components"; +import { Table } from "@upyog/digit-ui-react-components"; const ComplaintTable = ({ t, columns, data, getCellProps, onNextPage, onPrevPage, currentPage, totalRecords, pageSizeLimit, onPageSizeChange }) => (
{ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/search.js index fec229838ae..fdbfdeecde3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/inbox/search.js @@ -1,7 +1,7 @@ import React, { useState } from "react"; import { useForm } from "react-hook-form"; import { useTranslation } from "react-i18next"; -import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg } from "@egovernments/digit-ui-react-components"; +import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg } from "@upyog/digit-ui-react-components"; const SearchComplaint = ({ onSearch, type, onClose, searchParams }) => { const [complaintNo, setComplaintNo] = useState(searchParams?.search?.serviceRequestId || ""); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/PendingForAssignment.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/PendingForAssignment.js index 489c1de0f38..bbcae49dd23 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/PendingForAssignment.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/PendingForAssignment.js @@ -1,5 +1,5 @@ import React from "react"; -import { CheckPoint } from "@egovernments/digit-ui-react-components"; +import { CheckPoint } from "@upyog/digit-ui-react-components"; const PendingForAssignment = ({ isCompleted, text, complaintFiledDate, customChild }) => { return ; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/StarRated.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/StarRated.js index 23efde2d31a..a2ba2070a9e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/StarRated.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/StarRated.js @@ -1,5 +1,5 @@ import React from "react"; -import { Rating } from "@egovernments/digit-ui-react-components"; +import { Rating } from "@upyog/digit-ui-react-components"; const StarRated = ({ text, rating }) => {}} />; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/pendingAtLme.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/pendingAtLme.js index e55ddac2c11..90286b84bde 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/pendingAtLme.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/pendingAtLme.js @@ -1,4 +1,4 @@ -import { TelePhone, CheckPoint } from "@egovernments/digit-ui-react-components"; +import { TelePhone, CheckPoint } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/rejected.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/rejected.js index 2fc29095bdf..d81d231a770 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/rejected.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/rejected.js @@ -1,5 +1,5 @@ import React from "react"; -import { ActionLinks, CheckPoint } from "@egovernments/digit-ui-react-components"; +import { ActionLinks, CheckPoint } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import StarRated from "./StarRated"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/reopen.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/reopen.js index 59b1bd8681e..4445fa75464 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/reopen.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/reopen.js @@ -1,4 +1,4 @@ -import { GreyOutText } from "@egovernments/digit-ui-react-components"; +import { GreyOutText } from "@upyog/digit-ui-react-components"; import React from "react"; const Reopen = ({ text, reopenDate }) => { // let { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/resolved.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/resolved.js index 7d51132ba3b..30aceb5463b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/resolved.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/components/timelineInstances/resolved.js @@ -1,5 +1,5 @@ import React from "react"; -import { ActionLinks, CheckPoint } from "@egovernments/digit-ui-react-components"; +import { ActionLinks, CheckPoint } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import StarRated from "./StarRated"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/constants/Routes.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/constants/Routes.js index c1170e2f607..d6bbad41393 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/constants/Routes.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/constants/Routes.js @@ -24,6 +24,7 @@ export const PgrRoutes = { UploadPhotos: `/upload-photos`, Details: `/details`, CreateComplaintResponse: `/response`, + EditApplication: "/modify-application" }; export const Employee = { @@ -32,6 +33,7 @@ export const Employee = { CreateComplaint: PGR_EMPLOYEE_CREATE_COMPLAINT, Response: "/response", Home: "/digit-ui/employee", + EditApplication: "/modify-application" }; export const getRoute = (match, route) => `${match.path}${route}`; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ComplaintDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ComplaintDetails.js index c4fd9bc9b65..c41fbe0a4e6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ComplaintDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ComplaintDetails.js @@ -16,7 +16,7 @@ import { ImageViewer, Loader, Toast, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import TimeLine from "../../components/TimeLine"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ComplaintsList.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ComplaintsList.js index 805ebb5941b..08ce81b7e25 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ComplaintsList.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ComplaintsList.js @@ -2,7 +2,7 @@ import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useRouteMatch } from "react-router-dom"; -import { Card, Header, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Header, Loader } from "@upyog/digit-ui-react-components"; import { LOCALE } from "../../constants/Localization"; import Complaint from "../../components/Complaint"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Response.js index cdc6308083c..d072a904b24 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Response.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { Card, Banner, CardText, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, Banner, CardText, SubmitBar } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import { useSelector } from "react-redux"; import { PgrRoutes, getRoute } from "../../../constants/Routes"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/Response.js index 9e14b599eab..3d36801ebdf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/Response.js @@ -1,5 +1,5 @@ import React from "react"; -import { FormStep, Banner } from "@egovernments/digit-ui-react-components"; +import { FormStep, Banner } from "@upyog/digit-ui-react-components"; import { useSelector } from "react-redux"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectAddress.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectAddress.js index e1b66aa2c48..527683e9f39 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectAddress.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectAddress.js @@ -1,5 +1,5 @@ import React, { useEffect, useState, useRef } from "react"; -import { CardLabel, Dropdown, FormStep, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { CardLabel, Dropdown, FormStep, RadioButtons } from "@upyog/digit-ui-react-components"; const SelectAddress = ({ t, config, onSelect, value }) => { const allCities = Digit.Hooks.pgr.useTenants(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectComplaintType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectComplaintType.js index 4aec06aa6cf..3a92685b20c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectComplaintType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectComplaintType.js @@ -1,7 +1,7 @@ import React, { useState, useEffect } from "react"; import { useForm } from "react-hook-form"; -import { TypeSelectCard } from "@egovernments/digit-ui-react-components"; -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { TypeSelectCard } from "@upyog/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; import { useRouteMatch, useHistory } from "react-router-dom"; import { useQueryClient } from "react-query"; import { FormComposer } from "../../../../components/FormComposer"; @@ -18,18 +18,43 @@ const SelectComplaintType = ({ t, config, onSelect, value }) => { const { subType } = value; return subType ? subType : {}; }); + const [priorityLevel, setPriorityLevel]=useState(()=>{ + const {priorityLevel}=value; + return priorityLevel? priorityLevel:{}; + }) const goNext = () => { console.log("complaintType",complaintType) sessionStorage.setItem("complaintType",JSON.stringify(complaintType)) - onSelect({ subType }); + onSelect({ subType , priorityLevel}); }; + const textParams = config.texts; const valuenew= { key :"PropertyTax", name :"Property Tax"} const menu = Digit.Hooks.pgr.useComplaintTypes({ stateCode: Digit.ULBService.getCurrentTenantId() }); + const priorityMenu= + [ + { + "name": "LOW", + "code": "LOW", + "active": true + }, + { + "name": "MEDIUM", + "code": "MEDIUM", + "active": true + }, + { + "name": "HIGH", + "code": "HIGH", + "active": true + } + + ] + const prioritylevel=priorityLevel.code; const cities = Digit.Hooks.pgr.useTenants(); const [subTypeMenu, setSubTypeMenu] = useState([]); const pttype=sessionStorage.getItem("type") @@ -64,6 +89,14 @@ const SelectComplaintType = ({ t, config, onSelect, value }) => { menu: { ...subTypeMenu }, populators: , }, + { + + label: t("CS_COMPLAINT_DETAILS_COMPLAINT_PRIORITY_LEVEL"), + isMandatory: true, + type: "dropdown", + populators: , + + }, ], @@ -82,6 +115,11 @@ const SelectComplaintType = ({ t, config, onSelect, value }) => { } } } + async function selectedPriorityLevel(value){ + sessionStorage.setItem("priorityLevel", JSON.stringify(value)) + setPriorityLevel(value); + //setPriorityMenu(await serviceDefinitions.getSubMen) + } return ( { const pttype=sessionStorage.getItem("type") diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectGeolocation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectGeolocation.js index d16efff8e6b..dd8ed830e2c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectGeolocation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectGeolocation.js @@ -1,5 +1,5 @@ import React from "react"; -import { LocationSearchCard } from "@egovernments/digit-ui-react-components"; +import { LocationSearchCard } from "@upyog/digit-ui-react-components"; const SelectGeolocation = ({ onSelect, onSkip, value, t }) => { let pincode = ""; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectImages.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectImages.js index 1cc1fd67d0b..00ddbc66d32 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectImages.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectImages.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { FormStep, ImageUploadHandler, Loader } from "@egovernments/digit-ui-react-components"; +import { FormStep, ImageUploadHandler, Loader } from "@upyog/digit-ui-react-components"; const SelectImages = ({ t, config, onSelect, onSkip, value }) => { // const __initImages = Digit.SessionStorage.get("PGR_CREATE_IMAGES"); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectLandmark.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectLandmark.js index ae293bc7dfb..889f0cdf757 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectLandmark.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectLandmark.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { FormStep } from "@egovernments/digit-ui-react-components"; +import { FormStep } from "@upyog/digit-ui-react-components"; const SelectLandmark = ({ t, config, onSelect, value }) => { const [landmark, setLandmark] = useState(() => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectPincode.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectPincode.js index 6d2e19746c7..743c43d2691 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectPincode.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectPincode.js @@ -1,4 +1,4 @@ -import { FormStep } from "@egovernments/digit-ui-react-components"; +import { FormStep } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; const SelectPincode = ({ t, config, onSelect, value }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectSubType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectSubType.js index 9b6d34fa77c..a047c59645d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectSubType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/Steps/SelectSubType.js @@ -1,4 +1,4 @@ -import { TypeSelectCard } from "@egovernments/digit-ui-react-components"; +import { TypeSelectCard } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; const SelectSubType = ({ t, config, onSelect, value }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/index.js index 602e80088d6..e3d268c07f0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Create/index.js @@ -66,7 +66,7 @@ export const CreateComplaint = () => { }; const submitComplaint = async () => { if (paramState?.complaintType) { - const { city_complaint, locality_complaint, uploadedImages, complaintType, subType, details, ...values } = paramState; + const { city_complaint, locality_complaint, uploadedImages, complaintType, subType, prioritylevel, details, ...values } = paramState; const { code: cityCode, name: city } = city_complaint; const { code: localityCode, name: localityName } = locality_complaint; const storedpropertyid =sessionStorage.getItem("propertyid") @@ -82,6 +82,7 @@ export const CreateComplaint = () => { complaintType: subType.key, cityCode, city, + prioritylevel: prioritylevel , description: details, district: city, region: city, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Rating/Rating.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Rating/Rating.js index 6516c89b1ab..40c93b24418 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Rating/Rating.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Rating/Rating.js @@ -4,7 +4,7 @@ import { useForm } from "react-hook-form"; import { useDispatch } from "react-redux"; import { useTranslation } from "react-i18next"; -import { Card, CardHeader, CardLabel, Rating, CheckBox, TextArea, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, CardHeader, CardLabel, Rating, CheckBox, TextArea, SubmitBar } from "@upyog/digit-ui-react-components"; import { updateComplaints } from "../../../redux/actions/index"; import { LOCALIZATION_KEY } from "../../../constants/Localization"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Rating/SelectRating.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Rating/SelectRating.js index c24bce32f20..9f3ea2c2830 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Rating/SelectRating.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Rating/SelectRating.js @@ -1,6 +1,6 @@ import React, { useCallback, useState } from "react"; import { useDispatch } from "react-redux"; -import { RatingCard, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { RatingCard, CardLabelError } from "@upyog/digit-ui-react-components"; import { useParams, Redirect, useHistory } from "react-router-dom"; import { useTranslation } from "react-i18next"; import { updateComplaints } from "../../../redux/actions/index"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ReopenComplaint/AddtionalDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ReopenComplaint/AddtionalDetails.js index 3982b8ea60e..42cb2345b63 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ReopenComplaint/AddtionalDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ReopenComplaint/AddtionalDetails.js @@ -3,7 +3,7 @@ import { useTranslation } from "react-i18next"; import { useDispatch, useSelector } from "react-redux"; import { useParams, useHistory, Redirect } from "react-router-dom"; -import { BackButton, Card, CardHeader, CardText, TextArea, SubmitBar,Toast } from "@egovernments/digit-ui-react-components"; +import { BackButton, Card, CardHeader, CardText, TextArea, SubmitBar,Toast } from "@upyog/digit-ui-react-components"; import { updateComplaints } from "../../../redux/actions/index"; import { LOCALIZATION_KEY } from "../../../constants/Localization"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ReopenComplaint/Reason.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ReopenComplaint/Reason.js index a67b9b52c1c..b991210c3b6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ReopenComplaint/Reason.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ReopenComplaint/Reason.js @@ -1,7 +1,7 @@ import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { Link, useHistory, useParams } from "react-router-dom"; -import { BackButton, Card, CardHeader, CardLabelError, CardText, RadioButtons, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { BackButton, Card, CardHeader, CardLabelError, CardText, RadioButtons, SubmitBar } from "@upyog/digit-ui-react-components"; import { LOCALIZATION_KEY } from "../../../constants/Localization"; import { getRoute, PgrRoutes, PGR_BASE } from "../../../constants/Routes"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ReopenComplaint/UploadPhoto.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ReopenComplaint/UploadPhoto.js index a50ae8af67f..c5ce36f1621 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ReopenComplaint/UploadPhoto.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/ReopenComplaint/UploadPhoto.js @@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react"; import { Link, useHistory, useParams } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { Card, SubmitBar, BackButton, ImageUploadHandler, CardLabelError, LinkButton } from "@egovernments/digit-ui-react-components"; +import { Card, SubmitBar, BackButton, ImageUploadHandler, CardLabelError, LinkButton } from "@upyog/digit-ui-react-components"; import { LOCALIZATION_KEY } from "../../../constants/Localization"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Response.js index cdf383d0d62..2ad5f116f9a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/Response.js @@ -1,5 +1,5 @@ import React ,{useState}from "react"; -import { Card, Banner, CardText, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, Banner, CardText, SubmitBar } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import { useSelector } from "react-redux"; import { PgrRoutes, getRoute } from "../../constants/Routes"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/index.js index 9319f81beb7..2eed2d14c72 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/citizen/index.js @@ -3,7 +3,7 @@ import { ReopenComplaint } from "./ReopenComplaint/index"; import SelectRating from "./Rating/SelectRating"; import { PgrRoutes, getRoute } from "../../constants/Routes"; import { useRouteMatch, Switch, useLocation } from "react-router-dom"; -import { AppContainer, BackButton, PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { AppContainer, BackButton, PrivateRoute } from "@upyog/digit-ui-react-components"; import { CreateComplaint } from "./Create"; import { ComplaintsList } from "./ComplaintsList"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/ComplaintDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/ComplaintDetails.js index 6f75d443bbe..9f13f3e5ece 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/ComplaintDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/ComplaintDetails.js @@ -28,7 +28,7 @@ import { Loader, Modal, SectionalDropdown, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { Close } from "../../Icons"; import { useTranslation } from "react-i18next"; @@ -302,6 +302,9 @@ export const ComplaintDetails = (props) => { setImageZoom(null); } + function redirectToPage(redirectingUrl){ + window.location.href=redirectingUrl; + } function onActionSelect(action) { setSelectedAction(action); switch (action) { @@ -325,6 +328,11 @@ export const ComplaintDetails = (props) => { setPopup(true); setDisplayMenu(false); break; + case "EDIT": + let url=window.location.href; + let redirectingUrl=url.split("complaint")[0]+"modify-application/"+url.split("details/")[1]; + redirectToPage(redirectingUrl); + break; default: setDisplayMenu(false); } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/CreateComplaint/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/CreateComplaint/index.js index 4dbb08a8396..13cff378b50 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/CreateComplaint/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/CreateComplaint/index.js @@ -1,7 +1,7 @@ import React, { useState, useEffect, useMemo } from "react"; import { useTranslation } from "react-i18next"; import { useDispatch } from "react-redux"; -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown, Loader } from "@upyog/digit-ui-react-components"; import { useRouteMatch, useHistory } from "react-router-dom"; import { useQueryClient } from "react-query"; @@ -17,9 +17,11 @@ const propetyData=localStorage.getItem("pgrProperty") const [complaintType, setComplaintType] = useState(JSON?.parse(sessionStorage.getItem("complaintType")) || {}); const [subTypeMenu, setSubTypeMenu] = useState([]); const [subType, setSubType] = useState(JSON?.parse(sessionStorage.getItem("subType")) || {}); + const [priorityLevel, setPriorityLevel]=useState(JSON?.parse(sessionStorage.getItem("PriorityLevel"))||{}) const [pincode, setPincode] = useState(""); const [mobileNumber, setMobileNumber] = useState(sessionStorage.getItem("mobileNumber") || ""); const [fullName, setFullName] = useState(sessionStorage.getItem("name") || ""); + const [emailId, setEmail] = useState(sessionStorage.getItem("emailId") || ""); const [selectedCity, setSelectedCity] = useState(getCities()[0] ? getCities()[0] : null); const [propertyId, setPropertyId]= useState("") const [description, setDescription] = useState("") @@ -41,18 +43,37 @@ const [description, setDescription] = useState("") const [params, setParams] = useState({}); const tenantId = window.Digit.SessionStorage.get("Employee.tenantId"); const menu = Digit.Hooks.pgr.useComplaintTypes({ stateCode: tenantId }); + const priorityMenu= + [ + { + "name": "LOW", + "code": "LOW", + "active": true + }, + { + "name": "MEDIUM", + "code": "MEDIUM", + "active": true + }, + { + "name": "HIGH", + "code": "HIGH", + "active": true + } + + ] const dispatch = useDispatch(); const match = useRouteMatch(); const history = useHistory(); const serviceDefinitions = Digit.GetServiceDefinitions; const client = useQueryClient(); useEffect(() => { - if (complaintType?.key && subType?.key && selectedCity?.code && selectedLocality?.code) { + if (complaintType?.key && subType?.key && selectedCity?.code && selectedLocality?.code && priorityLevel?.code ) { setSubmitValve(true); } else { setSubmitValve(false); } - }, [complaintType, subType, selectedCity, selectedLocality]); + }, [complaintType, subType, priorityLevel, selectedCity, selectedLocality]); useEffect(() => { setLocalities(fetchedLocalities); @@ -90,6 +111,11 @@ const [description, setDescription] = useState("") } } } + async function selectedPriorityLevel(value){ + sessionStorage.setItem("priorityLevel", JSON.stringify(value)) + setPriorityLevel(value); + //setPriorityMenu(await serviceDefinitions.getSubMen) + } function selectedSubType(value) { sessionStorage.setItem("subType",JSON.stringify(value)) @@ -124,9 +150,11 @@ const [description, setDescription] = useState("") const landmark = data?.landmark; const { key } = subType; const complaintType = key; + //const prioritylevel=priorityLevel.code; const mobileNumber = data?.mobileNumber; const name = data?.name; - const formData = { ...data, cityCode, city, district, region, localityCode, localityName, landmark, complaintType, mobileNumber, name }; + const emailId=data?.emailId; + const formData = { ...data, cityCode, city, district, region, localityCode, localityName, landmark, complaintType, priorityLevel, mobileNumber, name,emailId}; await dispatch(createComplaint(formData)); await client.refetchQueries(["fetchInboxData"]); localStorage.removeItem("pgrProperty"); @@ -151,6 +179,10 @@ const [description, setDescription] = useState("") const { value } = event.target; setFullName(value); }; + const handleEmail = (event) => { + const { value } = event.target; + setEmail(value); + }; const handleDescription = (event) => { const { value } = event.target; setDescription(value); @@ -194,6 +226,21 @@ const [description, setDescription] = useState("") error: t("CS_ADDCOMPLAINT_NAME_ERROR"), }, }, + { + label: t("ES_MAIL_ID"), + isMandatory: false, + type: "text", + value:emailId, + populators: { + name: "emailId", + onChange: handleEmail, + validation: { + //required: true, + pattern: /[A-Za-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/, + }, + error: t("CS_ADDCOMPLAINT_EMAIL_ERROR"), + }, + }, ], }, { @@ -212,6 +259,14 @@ const [description, setDescription] = useState("") menu: { ...subTypeMenu }, populators: , }, + { + + label: t("CS_COMPLAINT_DETAILS_COMPLAINT_PRIORITY_LEVEL"), + isMandatory: true, + type: "dropdown", + populators: , + + }, { //label: t("WS_COMMON_PROPERTY_DETAILS"), "isEditConnection": true, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/EditApplication/EditForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/EditApplication/EditForm.js new file mode 100644 index 00000000000..ec563cd11a0 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/EditApplication/EditForm.js @@ -0,0 +1,316 @@ +import React, { useState, useEffect, useMemo,Fragment } from "react"; +import { useTranslation } from "react-i18next"; +import { useDispatch } from "react-redux"; +import { Dropdown, Loader,Header } from "@upyog/digit-ui-react-components"; +import { useRouteMatch, useHistory } from "react-router-dom"; +import { useQueryClient } from "react-query"; +import { FormComposer } from "../../../components/FormComposer"; +import {updateComplaints} from "../../../redux/actions/index"; + + +const EditForm = ({ applicationData, details ,complaintDetails}) => { + complaintDetails.workflow.action = "EDIT"; + complaintDetails.workflow.assignes = null; + complaintDetails.workflow.comments = null; + complaintDetails.workflow.verificationDocuments= []; + console.log("complaintDetails_inside_edit",complaintDetails) + const { t } = useTranslation(); + const history = useHistory(); + const [canSubmit, setSubmitValve] = useState(true); + const cities = Digit.Hooks.pgr.useTenants(); + const getCities = () => cities?.filter((e) => e.code === Digit.ULBService.getCurrentTenantId()) || []; + const [pincode, setPincode] = useState(""); + const [complaintType, setComplaintType] = useState( {}); + const [subTypeMenu, setSubTypeMenu] = useState([]); + const [subType, setSubType] = useState({}); + const [priorityLevel, setPriorityLevel]=useState(("")||{}) + const [selectedCity, setSelectedCity] = useState(getCities()[0] ? getCities()[0] : null); + const { data: fetchedLocalities } = Digit.Hooks.useBoundaryLocalities( + getCities()[0]?.code, + "admin", + { + enabled: !!getCities()[0], + }, + t + ); + + const [localities, setLocalities] = useState(fetchedLocalities); + const [selectedLocality, setSelectedLocality] = useState(); + const [submitted, setSubmitted] = useState(false); + const [pincodeNotValid, setPincodeNotValid] = useState(false); + const tenantId = window.Digit.SessionStorage.get("Employee.tenantId"); + const menu = Digit.Hooks.pgr.useComplaintTypes({ stateCode: tenantId }); + const dispatch = useDispatch(); + const serviceDefinitions = Digit.GetServiceDefinitions; + const client = useQueryClient(); + + const priorityMenu= + [ + { + "name": "LOW", + "code": "LOW", + "active": true + }, + { + "name": "MEDIUM", + "code": "MEDIUM", + "active": true + }, + { + "name": "HIGH", + "code": "HIGH", + "active": true + } + ] + + + useEffect(() => { + setLocalities(fetchedLocalities); + }, [fetchedLocalities]); + + useEffect(() => { + const city = cities.find((obj) => obj.pincode?.find((item) => item == pincode)); + if (city?.code === getCities()[0]?.code) { + setPincodeNotValid(false); + setSelectedCity(city); + setSelectedLocality(null); + const __localityList = fetchedLocalities; + const __filteredLocalities = __localityList.filter((city) => city["pincode"] == pincode); + setLocalities(__filteredLocalities); + } else if (pincode === "" || pincode === null) { + setPincodeNotValid(false); + setLocalities(fetchedLocalities); + } else { + setPincodeNotValid(true); + } + }, [pincode]); + + + useEffect(()=>{ + if(menu!=undefined){ + const complaintValue= menu.filter(item=>item.name.toLocaleLowerCase()==details?.CS_ADDCOMPLAINT_COMPLAINT_TYPE.split("SERVICEDEFS.")[1].toLocaleLowerCase())[0]; + selectedType(complaintValue); + } + + const priorityValue=priorityMenu.filter(item=>item.name === applicationData?.priority)[0]; + setPriorityLevel(priorityValue) + + if(localities!==undefined){ + const localityValue=localities.filter(item=>item.code===applicationData?.address?.locality?.code)[0]; + setSelectedLocality(localityValue) + } +},[localities]) + + + async function selectedPriorityLevel(value){ + setPriorityLevel(value); + } + + + const isPincodeValid = () => !pincodeNotValid; + + async function selectedType(value) { + if (value.key !== complaintType.key) { + if (value.key === "Others") { + setSubType({ name: "" }); + setComplaintType(value); + setSubTypeMenu([{ key: "Others", name: t("SERVICEDEFS.OTHERS") }]); + const subTypeMenuVal=[{ key: "Others", name: t("SERVICEDEFS.OTHERS") }]; + const complaintSubValue= subTypeMenuVal.filter(item=>item.key.toLocaleLowerCase()==details?.CS_ADDCOMPLAINT_COMPLAINT_SUB_TYPE.split("SERVICEDEFS.")[1].toLocaleLowerCase())[0]; + setSubType(complaintSubValue); + } else { + setSubType({ name: "" }); + setComplaintType(value); + setSubTypeMenu(await serviceDefinitions.getSubMenu(tenantId, value, t)); + const subTypeMenuVal=await serviceDefinitions.getSubMenu(tenantId, value, t) + const complaintSubValue= subTypeMenuVal.filter(item=>item.key.toLocaleLowerCase()==details?.CS_ADDCOMPLAINT_COMPLAINT_SUB_TYPE.split("SERVICEDEFS.")[1].toLocaleLowerCase())[0]; + setSubType(complaintSubValue); + } + } + + } + + const config = [ + { + head: t("ES_CREATECOMPLAINT_PROVIDE_COMPLAINANT_DETAILS"), + body: [ + { + label: t("ES_CREATECOMPLAINT_MOBILE_NUMBER"), + isMandatory: true, + type: "text", + populators: { + name: "mobileNumber", + defaultValue:applicationData?.citizen?.mobileNumber, + disabled:true, + //onChange: handleMobileNumber, + validation: { + required: true, + pattern: /^[6-9]\d{9}$/, + }, + componentInFront:
+91
, + error: t("CORE_COMMON_MOBILE_ERROR"), + }, + }, + { + label: t("ES_CREATECOMPLAINT_COMPLAINT_NAME"), + isMandatory: true, + type: "text", + populators: { + name: "name", + defaultValue: applicationData?.citizen?.name, + disabled:true, + //onChange: handleName, + validation: { + required: true, + pattern: /^[A-Za-z]/, + }, + error: t("CS_ADDCOMPLAINT_NAME_ERROR"), + }, + }, + { + label: t("ES_MAIL_ID"), + isMandatory: false, + type: "text", + populators: { + name: "emailId", + defaultValue: applicationData?.citizen?.emailId, + disabled:true, + //onChange: handleEmail, + validation: { + //required: true, + pattern: /[A-Za-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$/, + }, + error: t("CS_ADDCOMPLAINT_EMAIL_ERROR"), + }, + }, + ], + }, + { + head: t("CS_COMPLAINT_DETAILS_COMPLAINT_DETAILS"), + body: [ + { + label: t("CS_COMPLAINT_DETAILS_COMPLAINT_TYPE"), + isMandatory: true, + type: "dropdown", + populators: , + }, + { + label: t("CS_COMPLAINT_DETAILS_COMPLAINT_SUBTYPE"), + isMandatory: true, + type: "dropdown", + menu: { ...subTypeMenu }, + populators: , + }, + { + + label: t("CS_COMPLAINT_DETAILS_COMPLAINT_PRIORITY_LEVEL"), + isMandatory: true, + type: "dropdown", + populators: , + + } + ], + }, + { + head: t("CS_ADDCOMPLAINT_LOCATION"), + body: [ + { + label: t("CORE_COMMON_PINCODE"), + type: "text", + populators: { + name: "pincode", + defaultValue: applicationData?.address?.pincode, + disabled:true, + validation: { pattern: /^[1-9][0-9]{5}$/, validate: isPincodeValid }, + error: t("CORE_COMMON_PINCODE_INVALID"), + // onChange: handlePincode, + }, + }, + { + label: t("CS_COMPLAINT_DETAILS_CITY"), + isMandatory: true, + type: "dropdown", + populators: ( + + ), + }, + { + label: t("CS_CREATECOMPLAINT_MOHALLA"), + type: "dropdown", + isMandatory: true, + populators: ( + + ), + }, + { + label: t("CS_COMPLAINT_DETAILS_LANDMARK"), + type: "textarea", + populators: { + name: "landmark", + value:applicationData?.address?.landmark, + disabled:true, + //onchange: handleLandmark, + }, + }, + ], + }, + { + head: t("CS_COMPLAINT_DETAILS_ADDITIONAL_DETAILS"), + body: [ + { + label: t("CS_COMPLAINT_DETAILS_ADDITIONAL_DETAILS"), + type: "textarea", + isDisabled:true, + populators: { + name: "description", + value: applicationData?.description, + disabled:true, + // onChange: handleDescription, + }, + }, + ], + }, + ]; + function redirectToPage(redirectingUrl){ + window.location.href=redirectingUrl; + } + + const onSubmit = async () => { + delete complaintDetails.details; + complaintDetails.service.priority=priorityLevel.code; + await dispatch(updateComplaints(complaintDetails)); + await client.refetchQueries(["fetchInboxData"]); + let redirectingUrl=window.location.href.split("modify")[0]+"response"; + redirectToPage(redirectingUrl); + }; + + + return ( + + ); +} +export default EditForm; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/EditApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/EditApplication/index.js new file mode 100644 index 00000000000..20c0e1d930b --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/EditApplication/index.js @@ -0,0 +1,19 @@ +import React from "react"; +import { useTranslation } from "react-i18next"; +import { useParams } from "react-router-dom"; +import EditForm from "./EditForm"; +import { ComplaintDetails } from "../ComplaintDetails"; + +const EditApplication = () => { + const { t } = useTranslation(); + let { id } = useParams(); + + let url=window.location.href + let applicationNumber=url.split("application/")[1]; + const tenantId = Digit.ULBService.getCurrentTenantId(); + id=applicationNumber; + const { isLoading, complaintDetails } = Digit.Hooks.pgr.useComplaintDetails({ tenantId, id }); + + return complaintDetails && !isLoading ? : null; +}; +export default EditApplication; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/Inbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/Inbox.js index a9be8e207da..8e771e11ff2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/Inbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/Inbox.js @@ -1,6 +1,6 @@ import React, { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { Loader, Header } from "@egovernments/digit-ui-react-components"; +import { Loader, Header } from "@upyog/digit-ui-react-components"; import DesktopInbox from "../../components/DesktopInbox"; import MobileInbox from "../../components/MobileInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/Response.js index 280c66aa8c9..097d4131afb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/Response.js @@ -1,5 +1,5 @@ import React,{ useState } from "react"; -import { Card, Banner, CardText, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, Banner, CardText, SubmitBar } from "@upyog/digit-ui-react-components"; import { Link, useRouteMatch } from "react-router-dom"; import { useSelector } from "react-redux"; import { PgrRoutes, getRoute } from "../../constants/Routes"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/index.js index 29d5772135e..43759e068a3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/pages/employee/index.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; import { Switch, Route, useRouteMatch, useLocation } from "react-router-dom"; -import { ActionBar, Menu, SubmitBar, BreadCrumb } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Menu, SubmitBar, BreadCrumb } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; // import { ComplaintDetails } from "./ComplaintDetails"; // import { CreateComplaint } from "./CreateComplaint"; @@ -35,6 +35,10 @@ const Complaint = () => { content: t("CS_PGR_RESPONSE"), path: match.url + Employee.Response, }, + editApplication: { + content: t("CS_PGR_EDIT_APPLICATION"), + path: match.url + Employee.EditApplication, + }, }; function popupCall(option) { setDisplayMenu(false); @@ -47,7 +51,7 @@ const Complaint = () => { const ComplaintDetails = Digit?.ComponentRegistryService?.getComponent('PGRComplaintDetails'); const Inbox = Digit?.ComponentRegistryService?.getComponent('PGRInbox'); const Response = Digit?.ComponentRegistryService?.getComponent('PGRResponseEmp'); - + const EditApplication = Digit.ComponentRegistryService.getComponent("PGREditApplication"); return (
@@ -69,6 +73,10 @@ const Complaint = () => { path={match.url + Employee.Response} component={} /> + } + /> )} @@ -76,6 +84,7 @@ const Complaint = () => { } /> +
{/* diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/redux/actions/complaint.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/redux/actions/complaint.js index 7cf5160621d..975bd0ddd89 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/redux/actions/complaint.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/redux/actions/complaint.js @@ -3,6 +3,7 @@ import { CREATE_COMPLAINT } from "./types"; const createComplaint = ({ cityCode, complaintType, + priorityLevel, description, landmark, city, @@ -15,11 +16,13 @@ const createComplaint = ({ uploadedImages, mobileNumber, name, + emailId, additionalDetails }) => async (dispatch, getState) => { const response = await Digit.Complaint.create({ cityCode, complaintType, + priorityLevel, description, landmark, city, @@ -32,6 +35,7 @@ const createComplaint = ({ uploadedImages, mobileNumber, name, + emailId, additionalDetails }); dispatch({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/utils/getPGRcknowledgementData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/utils/getPGRcknowledgementData.js index e262112ea91..857608202fa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/utils/getPGRcknowledgementData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pgr/src/utils/getPGRcknowledgementData.js @@ -1,3 +1,4 @@ +import { ComplaintDetails } from "../pages/employee/ComplaintDetails"; const getMohallaLocale = (value = "", tenantId = "") => { let convertedValue = convertDotValues(tenantId); @@ -47,12 +48,12 @@ const getPGRcknowledgementData = async (complaintDetails,tenantInfo, t) => { name: `${t(tenantInfo?.i18nKey)} ${ulbCamel(t(`ULBGRADE_${tenantInfo?.city?.ulbGrade.toUpperCase().replace(" ", "_").replace(".", "_")}`))}`, email: tenantInfo?.emailId, phoneNumber: tenantInfo?.contactNumber, - heading: t("PGR_ACKNOWLEDGEMENT"), + heading: t("NEW_GRIEVANCE_APPLICATION"), + applicationNumber:complaintDetails?.service?.serviceRequestId, details: [ { title: t("CS_TITLE_APPLICATION_DETAILS"), values: [ - { title: t("PGR_APPLICATION_NO"), value: complaintDetails?.service?.serviceRequestId}, { title: t("CS_COMPLAINT_FILED_DATE"), value: Digit.DateUtils.ConvertTimestampToDate(complaintDetails?.audit?.details?.createdTime, "dd/MM/yyyy"), @@ -65,9 +66,13 @@ const getPGRcknowledgementData = async (complaintDetails,tenantInfo, t) => { title: t("CS_COMPLAINT_SUB_TYPE"), value: complaintDetails?.details?.CS_ADDCOMPLAINT_COMPLAINT_SUB_TYPE, }, + { + title: t("CS_COMPLAINT_PRIORITY_LEVEL"), + value: complaintDetails?.service?.priority, + }, { title: t("CS_COMPLAINT_ADDITIONAL_DETAILS"), - value: complaintDetails?.details?.CS_COMPLAINT_ADDTIONAL_DETAILS, + value: complaintDetails?.details?.CS_COMPLAINT_ADDTIONAL_DETAILS||"NA", }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/package.json index 68a6204816e..ed0a2fc8ba4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/package.json @@ -1,6 +1,6 @@ { "name": "@upyog/digit-ui-module-pt", - "version": "1.7.0-beta.2", + "version": "1.7.0-beta.3", "license": "MIT", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,8 @@ }, "dependencies": { "axios": "0.21.1", - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "lodash.merge": "^4.6.2", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/Module.js index 8d16a562fb9..5c238d4763e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/Module.js @@ -1,4 +1,4 @@ -import { Header, CitizenHomeCard, PTIcon } from "@egovernments/digit-ui-react-components"; +import { Header, CitizenHomeCard, PTIcon } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useRouteMatch } from "react-router-dom"; @@ -71,7 +71,8 @@ import PTRegistrationDocument from "./pageComponents/Mutate/RegistrationDocument import TransferProof from "./pageComponents/Mutate/transferReasonDocument"; import UpdateNumber from "./pages/citizen/MyProperties/updateNumber"; import EmployeeUpdateOwnerNumber from "./pages/employee/updateNumber"; -//import PTCitizenFeedback from "@egovernments/digit-ui-module-core/src/components/PTCitizenFeedback"; +import PropertyStructureDetails from "./pageComponents/PropertyStructureDetails"; +//import PTCitizenFeedback from "@upyog/digit-ui-module-core/src/components/PTCitizenFeedback"; import EmployeeApp from "./pages/employee"; import PTCard from "./components/PTCard"; @@ -87,9 +88,9 @@ import Response from "./pages/Response"; import TransferOwnership from "./pages/employee/PropertyMutation"; import DocsRequired from "./pages/employee/PropertyMutation/docsRequired"; import SelectOtp from "../../core/src/pages/citizen/Login/SelectOtp"; -import CitizenFeedback from "@egovernments/digit-ui-module-core/src/components/CitizenFeedback"; -import AcknowledgementCF from "@egovernments/digit-ui-module-core/src/components/AcknowledgementCF"; -// PTAcknowledgementCF from "@egovernments/digit-ui-module-core/src/components/PTAcknowledgementCF"; +import CitizenFeedback from "@upyog/digit-ui-module-core/src/components/CitizenFeedback"; +import AcknowledgementCF from "@upyog/digit-ui-module-core/src/components/AcknowledgementCF"; +// PTAcknowledgementCF from "@upyog/digit-ui-module-core/src/components/PTAcknowledgementCF"; //import PTCitizenFeedbackPopUp from "./pageComponents/PTCitizenFeedbackPopUp"; import PTSelectLandmark from "./pageComponents/PTSelectLandmark"; @@ -123,6 +124,7 @@ const componentsToRegister = { Area, UID, Electricity, + PropertyStructureDetails, IsResidential, PropertyType, PropertyUsageType, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/DesktopInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/DesktopInbox.js index c6de4415986..b1518d8477c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/DesktopInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/DesktopInbox.js @@ -1,4 +1,4 @@ -import { Card, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Loader } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import ApplicationTable from "./inbox/ApplicationTable"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/MobileSearchApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/MobileSearchApplication.js index 741b5bd6a67..5659ee90d62 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/MobileSearchApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/MobileSearchApplication.js @@ -9,7 +9,7 @@ import { DetailsCard, Loader, Toast, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import SearchFormFields from "./SearchFields"; const MobileSearchApplication = ({ Controller, register, control, t, reset, previousPage, handleSubmit, tenantId, data, onSubmit, formState, setShowToast}) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/PTCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/PTCard.js index 24f1c78cce2..12e9bd5b9af 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/PTCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/PTCard.js @@ -1,7 +1,7 @@ import React, { useEffect, useState } from "react"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { EmployeeModuleCard, PropertyHouse } from "@egovernments/digit-ui-react-components"; +import { EmployeeModuleCard, PropertyHouse } from "@upyog/digit-ui-react-components"; const PTCard = () => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/SearchApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/SearchApplication.js index b99f7409e9b..eb702b89b9a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/SearchApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/SearchApplication.js @@ -1,6 +1,6 @@ import React, { useCallback, useMemo, useEffect } from "react" import { useForm, Controller } from "react-hook-form"; -import { TextInput, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Table, Card, MobileNumber, Loader, CardText, Header } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Table, Card, MobileNumber, Loader, CardText, Header } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import MobileSearchApplication from "./MobileSearchApplication"; @@ -86,7 +86,7 @@ const PTSearchApplication = ({tenantId, isLoading, t, onSubmit, data, count, set }, { Header: t("PT_COMMON_TABLE_COL_OWNER_NAME"), - accessor: (row) => GetCell(row.owners.map( o => o.name ). join(",") || ""), + accessor: (row) => GetCell(row.owners?.[0]?.additionalDetails?.ownerSequence ? row.owners.sort((a,b)=>a.additionalDetails.ownerSequence-b.additionalDetails.ownerSequence).map( o => o.name ). join(",") || "" : row.owners.map( o => o.name ). join(",") || ""), disableSortBy: true, }, { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/SearchFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/SearchFields.js index f28b82a928e..3bb3a4b1778 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/SearchFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/SearchFields.js @@ -1,6 +1,6 @@ import React, {Fragment} from "react" import { Controller, useWatch } from "react-hook-form"; -import { TextInput, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Table, Card, MobileNumber, Loader, CardText, Header } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Table, Card, MobileNumber, Loader, CardText, Header } from "@upyog/digit-ui-react-components"; const SearchFields = ({register, control, reset, tenantId, t, formState, setShowToast, previousPage }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/TLCaption.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/TLCaption.js index e1e964df48c..a81dfc9eaf1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/TLCaption.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/TLCaption.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TelePhone } from "@egovernments/digit-ui-react-components"; +import { TelePhone } from "@upyog/digit-ui-react-components"; import Reason from "./Reason"; const TLCaption = ({ data }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/TLTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/TLTimeline.js index 68f43c1bc6b..029bc67676b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/TLTimeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/TLTimeline.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TickMark } from "@egovernments/digit-ui-react-components"; +import { TickMark } from "@upyog/digit-ui-react-components"; let actions = []; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/UlbAssesmentSearch.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/UlbAssesmentSearch.js index 06c45b3ef34..79b46b2c4ef 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/UlbAssesmentSearch.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/UlbAssesmentSearch.js @@ -1,6 +1,6 @@ import React, { useCallback, useMemo, useEffect,useState } from "react" import { useForm, Controller } from "react-hook-form"; -import { TextInput, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Table, Card, MobileNumber, Loader, CardText, Header } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Table, Card, MobileNumber, Loader, CardText, Header } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import MobileSearchApplication from "./MobileSearchApplication"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/empty-result.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/empty-result.js index 0aef1ccd65f..3f053f96317 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/empty-result.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/empty-result.js @@ -1,4 +1,4 @@ -import { SubmitBar } from "@egovernments/digit-ui-react-components"; +import { SubmitBar } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/ApplicationCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/ApplicationCard.js index 427df9bc195..e7ab2c27e08 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/ApplicationCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/ApplicationCard.js @@ -1,7 +1,7 @@ import React, { useCallback, useEffect, useState } from "react"; -import { Card, DetailsCard, Loader, PopUp, SearchAction } from "@egovernments/digit-ui-react-components"; -import { FilterAction } from "@egovernments/digit-ui-react-components"; +import { Card, DetailsCard, Loader, PopUp, SearchAction } from "@upyog/digit-ui-react-components"; +import { FilterAction } from "@upyog/digit-ui-react-components"; import SearchApplication from "./search"; import SortBy from "./SortBy"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/ApplicationLinks.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/ApplicationLinks.js index 3b2ed95a6ca..5b7c162733f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/ApplicationLinks.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/ApplicationLinks.js @@ -1,4 +1,4 @@ -import { Card, ShippingTruck } from "@egovernments/digit-ui-react-components"; +import { Card, ShippingTruck } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/ApplicationTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/ApplicationTable.js index 3259185d568..56423f4826b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/ApplicationTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/ApplicationTable.js @@ -1,5 +1,5 @@ import React from "react"; -import { Table } from "@egovernments/digit-ui-react-components"; +import { Table } from "@upyog/digit-ui-react-components"; const ApplicationTable = ({ t, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/InboxLink.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/InboxLink.js index 5b7d2c4778d..5383b49c547 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/InboxLink.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/InboxLink.js @@ -1,4 +1,4 @@ -import { Card, PropertyHouse } from "@egovernments/digit-ui-react-components"; +import { Card, PropertyHouse } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/NewInboxFilter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/NewInboxFilter.js index 72c35abecf8..f7330a11724 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/NewInboxFilter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/NewInboxFilter.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { Dropdown, RadioButtons, ActionBar, RemoveableTag, CloseSvg, CheckBox, Localities, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Dropdown, RadioButtons, ActionBar, RemoveableTag, CloseSvg, CheckBox, Localities, SubmitBar } from "@upyog/digit-ui-react-components"; import { useQueryClient } from "react-query"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/SortBy.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/SortBy.js index acecdc5e9a6..42baa3958f4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/SortBy.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/SortBy.js @@ -1,7 +1,7 @@ import React, { useState } from "react"; -import { RadioButtons } from "@egovernments/digit-ui-react-components"; +import { RadioButtons } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; -import { CloseSvg } from "@egovernments/digit-ui-react-components"; +import { CloseSvg } from "@upyog/digit-ui-react-components"; const SortBy = (props) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/Status.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/Status.js index 9bf3968786d..89acb9c7cea 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/Status.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/Status.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import StatusCount from "./StatusCount"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/StatusCount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/StatusCount.js index 13555da271f..75a0fc3e453 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/StatusCount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/StatusCount.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { CheckBox } from "@egovernments/digit-ui-react-components"; +import { CheckBox } from "@upyog/digit-ui-react-components"; const StatusCount = ({ status, searchParams, onAssignmentChange, statusMap, businessServices }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/search.js index 593bf0bdb74..701882f4194 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/inbox/search.js @@ -11,7 +11,7 @@ import { MobileNumber, Dropdown, Localities, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/search/PropertySearchForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/search/PropertySearchForm.js index bc807cc173d..c5ee498a784 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/search/PropertySearchForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/search/PropertySearchForm.js @@ -1,4 +1,4 @@ -import { CardLabelError, SearchField, SearchForm, SubmitBar, TextInput,Localities,MobileNumber, Dropdown } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, SearchField, SearchForm, SubmitBar, TextInput,Localities,MobileNumber, Dropdown } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { Controller, useForm } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/search/PropertySearchResults.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/search/PropertySearchResults.js index d221b18b1b6..ab770df04b6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/search/PropertySearchResults.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/search/PropertySearchResults.js @@ -1,4 +1,4 @@ -import { DetailsCard, Loader, Table, Modal } from "@egovernments/digit-ui-react-components"; +import { DetailsCard, Loader, Table, Modal } from "@upyog/digit-ui-react-components"; import React, { memo, useMemo, useState } from "react"; import { Link, useHistory } from "react-router-dom"; import PropertyInvalidMobileNumber from "../../pages/citizen/MyProperties/PropertyInvalidMobileNumber"; @@ -113,7 +113,7 @@ const SearchPTID = ({ tenantId, t, payload, showToast, setShowToast,ptSearchConf { Header: t("PT_COMMON_TABLE_COL_OWNER_NAME"), disableSortBy: true, - Cell: ({ row }) => GetCell(`${row.original.owners.map((ob) => ob.name).join(",")}` || ""), + Cell: ({ row }) => GetCell(row.original.owners.additionalDetails!==null ? `${row?.original?.owners.sort((a,b)=>a?.additionalDetails?.ownerSequence-b?.additionalDetails?.ownerSequence).map((ob) => ob.name).join(",")}`: `${row.original.owners.map((ob) => ob.name).join(",")}` || ""), }, { Header: t("ES_INBOX_LOCALITY"), diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/search/SearchDefaulter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/search/SearchDefaulter.js index 76dd0ff0f76..68bdf33feac 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/search/SearchDefaulter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/components/search/SearchDefaulter.js @@ -1,4 +1,4 @@ -import { DetailsCard, Loader, Table, Modal,SearchField,SubmitBar,SearchForm } from "@egovernments/digit-ui-react-components"; +import { DetailsCard, Loader, Table, Modal,SearchField,SubmitBar,SearchForm } from "@upyog/digit-ui-react-components"; import React, { memo, useEffect, useMemo, useState } from "react"; import { Link, useHistory } from "react-router-dom"; import PropertyInvalidMobileNumber from "../../pages/citizen/MyProperties/PropertyInvalidMobileNumber"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/config/Create/config.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/config/Create/config.js index cc6548996a3..a04bdfee039 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/config/Create/config.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/config/Create/config.js @@ -195,11 +195,26 @@ export const newConfig =[ "submitBarLabel": "PT_COMMONS_NEXT" }, - "nextStep": "uid", + "nextStep": "PropertyStructureDetails", "withoutLabel": true }, + { + "type": "component", + "route": "PropertyStructureDetails", + "isMandatory": true, + "component": "PropertyStructureDetails", + "key": "propertyStructureDetails", + "withoutLabel": true, + "texts": { + "headerCaption": "", + "header": "PT_STRUCTURE_DETAILS", + "cardText": "", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "nextStep": "uid" + }, { "type": "component", "route": "uid", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/getPTAcknowledgementData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/getPTAcknowledgementData.js index 228b6569943..18e18072b98 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/getPTAcknowledgementData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/getPTAcknowledgementData.js @@ -16,15 +16,17 @@ const ulbCamel = (ulb) => ulb.toLowerCase().split(" ").map(capitalize).join(" ") const getOwner = (application, t, customTitle) => { let owners = []; - if(customTitle && customTitle.includes("TRANSFEROR")) + if(customTitle && customTitle.includes("TRANSFEROR")){ if (application?.isTransferor && application?.transferorDetails) { - application.ownershipCategory = application?.transferorDetails?.ownershipCategory; - owners = [...(application?.transferorDetails?.owners) || []]; + application.ownershipCategory = application?.transferorDetails?.ownershipCategory + } else if(application?.ownersInit){ + owners = [...(application?.ownersInit) || []]; } else { owners = [...(application?.owners.filter((owner) => owner.status == "INACTIVE") || [])]; - } - else + }} + else{ owners = [...(application?.owners.filter((owner) => owner.status == "ACTIVE") || [])]; + } if (application?.ownershipCategory == "INDIVIDUAL.SINGLEOWNER") { return { title: t(customTitle || "PT_OWNERSHIP_INFO_SUB_HEADER"), @@ -43,7 +45,7 @@ const getOwner = (application, t, customTitle) => { let values = []; owners.map((owner) => { let doc = [ - { title: t("PT_OWNERSHIP_INFO_NAME"), value: owner?.name || t("CS_NA") }, + { title: t("PT_OWNERSHIP_INFO_NAME"), value: owner?.name || t("CS_NA") }, { title: t("PT_OWNERSHIP_INFO_MOBILE_NO"), value: owner?.mobileNumber || t("CS_NA") }, { title: t("PT_SEARCHPROPERTY_TABEL_GUARDIANNAME"), value: owner?.fatherOrHusbandName || t("CS_NA") }, { title: t("PT_OWNERSHIP_INFO_GENDER"), value: t(owner?.gender) || t("CS_NA") }, @@ -52,13 +54,13 @@ const getOwner = (application, t, customTitle) => { { title: t("PT_OWNERSHIP_INFO_USER_CATEGORY"), value: t(getPropertyOwnerTypeLocale(owner?.ownerType)) || t("CS_NA") }, { title: t("PT_OWNERSHIP_INFO_CORR_ADDR"), value: owner?.permanentAddress || t("CS_NA") }, ]; - values.push(...doc); + values.push(...doc); }); return { title: t(customTitle || "PT_OWNERSHIP_INFO_SUB_HEADER"), values: values, }; - } else if (application?.ownershipCategory.includes("INSTITUTIONAL")) { + } else if (application?.ownershipCategory.includes("INSTITUTIONAL")) { return { title: t("PT_OWNERSHIP_INFO_SUB_HEADER"), values: [ @@ -70,6 +72,7 @@ const getOwner = (application, t, customTitle) => { { title: t("PT_OWNERSHIP_INFO_TEL_PHONE_NO"), value: owners[0]?.altContactNumber || t("CS_NA") }, { title: t("PT_OWNERSHIP_INFO_CORR_ADDR"), value: owners[0]?.correspondenceAddress || t("CS_NA") }, { title: t("PT_FORM3_OWNERSHIP_TYPE"), value: t(application?.ownershipCategory) || t("CS_NA") }, + { title: t("PT_OWNERSHIP_INFO_EMAIL_ID"), value: owners[0]?.emailId || t("CS_NA") }, ], }; } else { @@ -91,6 +94,8 @@ const getAssessmentInfo = (application, t) => { { title: t("PT_ASSESMENT_INFO_NO_OF_FLOOR"), value: t(application?.noOfFloors) || t("CS_NA") }, { title: t("PT_ASSESMENT_INFO_ELECTRICITY_ID"), value: t(application?.additionalDetails?.electricity) || t("CS_NA") }, { title: t("PT_ASSESMENT_INFO_ELECTRICITY_UID"), value: t(application?.additionalDetails?.uid) || t("CS_NA") }, + { title: t("PT_FORM2_PROPERTY_TYPE"),value: t(application?.additionalDetails?.structureType.i18nKey) || t("CS_NA")}, + {title: t("PT_FORM2_AGE_OF_PROPERTY"),value: t(application?.additionalDetails?.ageOfProperty.code)|| t("CS_NA")}, ]; application.units = application?.units?.filter((unit) => unit.active == true) || []; let flrno, @@ -132,14 +137,6 @@ const getAssessmentInfo = (application, t) => { title: (flrno = unit?.floorNo) > -3 ? t("PT_FORM2_BUILT_AREA") : "", value: (flrno = unit?.floorNo) > -3 ? t(unit?.constructionDetail?.builtUpArea) || t("CS_NA") : "", }, - { - title: (flrno = unit?.floorNo) > -3 ? t("PT_FORM2_PROPERTY_TYPE") : "", - value: (flrno = unit?.floorNo) > -3 ? t(application?.additionalDetails?.unit?.[0]?.structureType) || t(unit.additionalDetails.structureType) || t("CS_NA") : "", - }, - { - title: (flrno = unit?.floorNo) > -3 ? t("PT_FORM2_AGE_OF_PROPERTY") : "", - value: (flrno = unit?.floorNo) > -3 ? t(application?.additionalDetails?.unit?.[0]?.ageOfProperty) ||t(unit.additionalDetails.ageOfProperty)|| t("CS_NA") : "", - }, { title: (flrno = unit?.floorNo) > -3 @@ -284,12 +281,12 @@ const getPTAcknowledgementData = async (application, tenantInfo, t) => { name: `${t(tenantInfo?.i18nKey)} ${ulbCamel(t(`ULBGRADE_${tenantInfo?.city?.ulbGrade.toUpperCase().replace(" ", "_").replace(".", "_")}`))}`, email: tenantInfo?.emailId, phoneNumber: tenantInfo?.contactNumber, - heading: t("PT_ACKNOWLEDGEMENT"), + heading: t("NEW_PROPERTY_REGISTRATION"), + applicationNumber:application?.acknowldgementNumber, details: [ { title: t("CS_TITLE_APPLICATION_DETAILS"), values: [ - { title: t("PT_APPLICATION_NO"), value: application?.acknowldgementNumber }, { title: t("PT_PROPERRTYID"), value: application?.propertyId }, { title: t("CS_APPLICATION_DETAILS_APPLICATION_DATE"), diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Area.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Area.js index 32164ea4d6a..8df51d75fdd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Area.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Area.js @@ -1,4 +1,4 @@ -import { CardLabel, FormStep, LabelFieldPair, TextInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { CardLabel, FormStep, LabelFieldPair, TextInput, CardLabelError } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Electricity.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Electricity.js index a51bc04a220..3fc444fc982 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Electricity.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Electricity.js @@ -1,4 +1,4 @@ -import { CardLabel,LabelFieldPair, TextInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { CardLabel,LabelFieldPair, TextInput, CardLabelError } from "@upyog/digit-ui-react-components"; import FormStep from "../../../../react-components/src/molecules/FormStep"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/GroundFloorDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/GroundFloorDetails.js index d16d1965065..3eab717cda5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/GroundFloorDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/GroundFloorDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, CitizenInfoLabel, FormStep, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CitizenInfoLabel, FormStep, TextInput } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; const GroundFloorDetails = ({ t, config, onSelect, value, userType, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/IsAnyPartOfThisFloorUnOccupied.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/IsAnyPartOfThisFloorUnOccupied.js index 04a0a779c66..acd5993ab32 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/IsAnyPartOfThisFloorUnOccupied.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/IsAnyPartOfThisFloorUnOccupied.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { FormStep, RadioOrSelect, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { FormStep, RadioOrSelect, RadioButtons } from "@upyog/digit-ui-react-components"; const IsAnyPartOfThisFloorUnOccupied = ({ t, config, onSelect, userType, formData }) => { let index = window.location.href.split("/").pop(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/IsResidential.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/IsResidential.js index 25238188b5a..0673fab6cb1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/IsResidential.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/IsResidential.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; -import { TypeSelectCard } from "@egovernments/digit-ui-react-components"; -import { FormStep, RadioOrSelect, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { TypeSelectCard } from "@upyog/digit-ui-react-components"; +import { FormStep, RadioOrSelect, RadioButtons } from "@upyog/digit-ui-react-components"; const IsResidential = ({ t, config, onSelect, userType, formData }) => { const [isResdential, setisResdential] = useState(formData?.isResdential); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/IsThisFloorSelfOccupied.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/IsThisFloorSelfOccupied.js index 3c82a93ba1e..97b83dbbbd5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/IsThisFloorSelfOccupied.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/IsThisFloorSelfOccupied.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { FormStep, RadioOrSelect, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { FormStep, RadioOrSelect, RadioButtons } from "@upyog/digit-ui-react-components"; const IsThisFloorSelfOccupied = ({ t, config, onSelect, userType, formData }) => { let index = window.location.href.split("/").pop(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/Comments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/Comments.js index 0bc61ae4406..9df9f0f9769 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/Comments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/Comments.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { TextInput, FormStep, TextArea, LabelFieldPair, CardLabel } from "@egovernments/digit-ui-react-components"; +import { TextInput, FormStep, TextArea, LabelFieldPair, CardLabel } from "@upyog/digit-ui-react-components"; import Timeline from "../../components/TLTimeline"; const Comments = (props) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/IsMutationPending.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/IsMutationPending.js index eeec3726fdd..613a080c765 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/IsMutationPending.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/IsMutationPending.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, RadioButtons, LabelFieldPair, CardLabel, Dropdown, Loader, TextInput, CheckBox } from "@egovernments/digit-ui-react-components"; +import { FormStep, RadioButtons, LabelFieldPair, CardLabel, Dropdown, Loader, TextInput, CheckBox } from "@upyog/digit-ui-react-components"; import Timeline from "../../components/TLTimeline"; const IsMutationPending = (props) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/PropertyMarketValue.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/PropertyMarketValue.js index ffb5511d14c..0c50d6e874d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/PropertyMarketValue.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/PropertyMarketValue.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, LabelFieldPair, CardLabel } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, LabelFieldPair, CardLabel } from "@upyog/digit-ui-react-components"; import Timeline from "../../components/TLTimeline"; const PropertyMarketValue = (props) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/ReasonForTransfer.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/ReasonForTransfer.js index 133512aa416..370dffb4d59 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/ReasonForTransfer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/ReasonForTransfer.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { Dropdown, FormStep, LabelFieldPair, CardLabel, RadioOrSelect } from "@egovernments/digit-ui-react-components"; +import { Dropdown, FormStep, LabelFieldPair, CardLabel, RadioOrSelect } from "@upyog/digit-ui-react-components"; import Timeline from "../../components/TLTimeline"; const ReasonForTransfer = (props) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/RegistrationDocument.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/RegistrationDocument.js index 5df7149e97c..7942cae9075 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/RegistrationDocument.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/RegistrationDocument.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, CardLabel, DatePicker, CardLabelError, LabelFieldPair } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, CardLabel, DatePicker, CardLabelError, LabelFieldPair } from "@upyog/digit-ui-react-components"; import Timeline from "../../components/TLTimeline"; const RegistrationDocument = (props) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/TransfererDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/TransfererDetails.js index 93638d4ad19..d808110129a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/TransfererDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/TransfererDetails.js @@ -1,5 +1,5 @@ import React from "react"; -import { FormStep, StatusTable, Row, CardHeader, KeyNote, CardCaption } from "@egovernments/digit-ui-react-components"; +import { FormStep, StatusTable, Row, CardHeader, KeyNote, CardCaption } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import Timeline from "../../components/TLTimeline"; // import { cardBodyStyle, stringReplaceAll } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/transferReasonDocument.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/transferReasonDocument.js index 64cdb8304ea..af356670220 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/transferReasonDocument.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/transferReasonDocument.js @@ -1,4 +1,4 @@ -import { CardLabel, CardLabelDesc, Dropdown, FormStep, UploadFile } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CardLabelDesc, Dropdown, FormStep, UploadFile } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; import Timeline from "../../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/underStateAquire.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/underStateAquire.js index d20da58dd7c..cca99c055e0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/underStateAquire.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Mutate/underStateAquire.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, RadioButtons, LabelFieldPair, CardLabel, TextInput, CheckBox } from "@egovernments/digit-ui-react-components"; +import { FormStep, RadioButtons, LabelFieldPair, CardLabel, TextInput, CheckBox } from "@upyog/digit-ui-react-components"; import Timeline from "../../components/TLTimeline"; const PTPropertyUnderStateAquire = ({ ...props }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/OwnerDetailsEmployee.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/OwnerDetailsEmployee.js index fef70433db3..ef5f42a0816 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/OwnerDetailsEmployee.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/OwnerDetailsEmployee.js @@ -1,4 +1,4 @@ -import { CardLabel, CardLabelError, Dropdown, LabelFieldPair, LinkButton, MobileNumber, TextInput,Toast } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CardLabelError, Dropdown, LabelFieldPair, LinkButton, MobileNumber, TextInput,Toast } from "@upyog/digit-ui-react-components"; import _ from "lodash"; import React, { useEffect, useMemo, useState } from "react"; import { Controller, useForm } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTCitizenFeedbackPopUp.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTCitizenFeedbackPopUp.js index a6b2ed40c38..61003c0d832 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTCitizenFeedbackPopUp.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTCitizenFeedbackPopUp.js @@ -1,4 +1,4 @@ -import { PopUp } from "@egovernments/digit-ui-react-components"; +import { PopUp } from "@upyog/digit-ui-react-components"; import React from "react"; const PTCitizenFeedbackPopUp = ({ setpopup, setShowToast, data }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTLandArea.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTLandArea.js index ce0df8ab3a1..a2b258ca3bd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTLandArea.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTLandArea.js @@ -1,4 +1,4 @@ -import { CardLabel, FormStep, LabelFieldPair, TextInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { CardLabel, FormStep, LabelFieldPair, TextInput, CardLabelError } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectAddress.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectAddress.js index 348443bf463..cbbd1973af2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectAddress.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectAddress.js @@ -1,4 +1,4 @@ -import { CardLabel, CardLabelError, Dropdown, FormStep, LabelFieldPair, RadioOrSelect } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CardLabelError, Dropdown, FormStep, LabelFieldPair, RadioOrSelect } from "@upyog/digit-ui-react-components"; import _ from "lodash"; import React, { useEffect, useState } from "react"; import { Controller, useForm } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectGeolocation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectGeolocation.js index 415c8b8525d..09550273db0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectGeolocation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectGeolocation.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { LocationSearchCard } from "@egovernments/digit-ui-react-components"; +import { LocationSearchCard } from "@upyog/digit-ui-react-components"; import { cardBodyStyle } from "../utils"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectLandmark.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectLandmark.js index d904adabcd6..dabdd32522f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectLandmark.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectLandmark.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { FormStep, TextArea, LabelFieldPair, CardLabel } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextArea, LabelFieldPair, CardLabel } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimeline"; const PTSelectLandmark = ({ t, config, onSelect, formData, userType }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectPincode.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectPincode.js index c96bc71f5b9..ac7c2a62c91 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectPincode.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectPincode.js @@ -1,4 +1,4 @@ -import { CardLabel, CardLabelError, FormStep, LabelFieldPair, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CardLabelError, FormStep, LabelFieldPair, TextInput } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectStreet.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectStreet.js index da731d40b31..f6770118f93 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectStreet.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTSelectStreet.js @@ -1,4 +1,4 @@ -import { CardLabel, FormStep, LabelFieldPair, TextInput ,CardLabelError} from "@egovernments/digit-ui-react-components"; +import { CardLabel, FormStep, LabelFieldPair, TextInput ,CardLabelError} from "@upyog/digit-ui-react-components"; import _ from "lodash"; import React, { useEffect, useState } from "react"; import { Controller, useForm } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTWFApplicationTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTWFApplicationTimeline.js index fbfa76d07ed..b3aeea7b16a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTWFApplicationTimeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTWFApplicationTimeline.js @@ -1,4 +1,4 @@ -import { ActionLinks, CardSectionHeader, CheckPoint, ConnectingCheckPoints, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionLinks, CardSectionHeader, CheckPoint, ConnectingCheckPoints, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { Fragment } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTWFCaption.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTWFCaption.js index 704a44216be..1048e7599b2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTWFCaption.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PTWFCaption.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TelePhone, DisplayPhotos } from "@egovernments/digit-ui-react-components"; +import { TelePhone, DisplayPhotos } from "@upyog/digit-ui-react-components"; import PTWFReason from "./PTWFReason"; const PTWFCaption = ({ data,OpenImage }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Proof.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Proof.js index 4f099172e5c..3e9095dba56 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Proof.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Proof.js @@ -1,11 +1,13 @@ -import { CardLabel, CardLabelDesc, Dropdown, FormStep ,UploadFile} from "@egovernments/digit-ui-react-components"; +import { CardLabel, CardLabelDesc, Dropdown, FormStep, UploadFile } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; import { stringReplaceAll } from "../utils"; import Timeline from "../components/TLTimeline"; +import UploadFileDigiLocker from "../utils/UploadFile" const Proof = ({ t, config, onSelect, userType, formData }) => { //let index = window.location.href.charAt(window.location.href.length - 1); + const [digiLockerUpload,setDigilockerUpload] = useState(false) const { pathname: url } = useLocation(); const isMutation = url.includes("property-mutation"); @@ -29,13 +31,14 @@ const Proof = ({ t, config, onSelect, userType, formData }) => { const docs = Documentsob?.PropertyTax?.Documents; const proofOfAddress = Array.isArray(docs) && docs.filter((doc) => doc.code.includes("ADDRESSPROOF")); if (proofOfAddress.length > 0) { - dropdownData = proofOfAddress[0]?.dropdownData; + dropdownData = proofOfAddress[0]?.dropdownData.filter((doc) => doc?.active == true); dropdownData.forEach((data) => { data.i18nKey = stringReplaceAll(data.code, ".", "_"); }); } function setTypeOfDropdownValue(dropdownValue) { + dropdownValue?.digiLockerFetch == true ? setDigilockerUpload(true) : setDigilockerUpload(false),setUploadedFile(null) setDropdownValue(dropdownValue); } @@ -114,7 +117,8 @@ const Proof = ({ t, config, onSelect, userType, formData }) => { select={setTypeOfDropdownValue} placeholder={t(`PT_MUTATION_SELECT_DOC_LABEL`)} /> - { }} message={uploadedFile ? `1 ${t(`PT_ACTION_FILEUPLOADED`)}` : t(`PT_ACTION_NO_FILEUPLOADED`)} error={error} - /> + /> : { + setUploadedFile(null); + }} + message={uploadedFile ? `1 ${t(`PT_ACTION_FILEUPLOADED`)}` : t(`PT_ACTION_NO_FILEUPLOADED`)} + error={error} + /> } + {error ?
{error}
: ""}
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyBasementDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyBasementDetails.js index 0a957a95018..7c9fc30350b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyBasementDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyBasementDetails.js @@ -1,4 +1,4 @@ -import { CitizenInfoLabel, FormStep, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { CitizenInfoLabel, FormStep, RadioButtons } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyDocument.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyDocument.js index ebd9d60d21b..6eff2efb1db 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyDocument.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyDocument.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { pdfDocumentName, pdfDownloadLink } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyFloorDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyFloorDetails.js index 94c759fdcb8..2940642eb6c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyFloorDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyFloorDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, CitizenInfoLabel, Dropdown, FormStep, LabelFieldPair, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CitizenInfoLabel, Dropdown, FormStep, LabelFieldPair, RadioButtons } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyStructureDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyStructureDetails.js new file mode 100644 index 00000000000..992625b3d53 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyStructureDetails.js @@ -0,0 +1,301 @@ +import { CardLabel, Dropdown, FormStep, LinkButton, Loader, LabelFieldPair, DeleteIcon } from "@upyog/digit-ui-react-components"; +import React, { useEffect, useState ,Fragment} from "react"; +import Timeline from "../components/TLTimeline"; + + +const getUsageCategory = (usageCategory = "") => { + let categoryArray = usageCategory?.split(".") || []; + let tempObj = {}; + tempObj["usageCategoryMajor"] = categoryArray && categoryArray.length > 0 && categoryArray[0]; + tempObj["usageCategoryMinor"] = categoryArray && categoryArray.length > 1 && categoryArray[1]; + tempObj["usageCategorySubMinor"] = categoryArray && categoryArray.length > 2 && categoryArray[2]; + tempObj["usageCategoryDetail"] = categoryArray && categoryArray.length > 3 && categoryArray[3]; + return tempObj; +}; + +const PropertyStructureDetails = ({ t, config, onSelect, userType, formData }) => { + let path = window.location.pathname.split("/"); + let currentFloor = Number(path[path.length - 1]); + let isFloor = window.location.pathname.includes("new-application/units") || window.location.pathname.includes("/edit-application/units"); + const [fields, setFields] = useState(window.location.pathname.includes("/pt/modify-application/")? formData.propertyStructureDetails: {"usageCategory":"","structureType":"","ageOfProperty":""}) + + +console.log("formaDataPropertyStructureDetails",formData) + + const getheader = () => { + + return `PROPERTYTAX_STRUCTURE_DETAILS`; + + }; + + const { data: mdmsData, isLoading } = Digit.Hooks.useCommonMDMS( + Digit.ULBService.getStateId(), + "PropertyTax", + ["Floor", "OccupancyType", "UsageCategory"], + { + select: (data) => { + let usageCategory = data?.PropertyTax?.UsageCategory?.map((category) => getUsageCategory(category.code)) + .filter( + (category) => category.usageCategoryDetail === false && category.usageCategorySubMinor === false && category.usageCategoryMinor !== false + ) + .map((category) => ({ code: category.usageCategoryMinor, i18nKey: `PROPERTYTAX_BILLING_SLAB_${category.usageCategoryMinor}` })); + let subCategory = Digit.Utils.getUnique( + data?.PropertyTax?.UsageCategory.map((e) => getUsageCategory(e.code)) + .filter((e) => e.usageCategoryDetail) + .map((e) => ({ + code: e.usageCategoryDetail, + i18nKey: `PROPERTYTAX_BILLING_SLAB_${e.usageCategoryDetail}`, + usageCategorySubMinor: e.usageCategorySubMinor, + usageCategoryMinor: e.usageCategoryMinor, + })) + ); + + return { + Floor: data?.PropertyTax?.Floor?.filter((floor) => floor.active)?.map((floor) => ({ + i18nKey: `PROPERTYTAX_FLOOR_${floor.code}`, + code: floor.code, + })), + OccupancyType: data?.PropertyTax?.OccupancyType?.filter((occupancy) => occupancy.active)?.map((occupancy) => ({ + i18nKey: `PROPERTYTAX_OCCUPANCYTYPE_${occupancy.code}`, + code: occupancy.code, + })), + UsageCategory: usageCategory, + UsageSubCategory: subCategory, + usageDetails: data?.PropertyTax?.UsageCategory, + }; + }, + retry: false, + enable: false, + } + ); + + let ageOfProperty =[ + { + "i18nKey": "PROPERTYTAX_MONTH>10", + "name": "greater than 10 years", + "code": "10", + "active": true + }, + { + "i18nKey": "PROPERTYTAX_MONTH>15", + "name": "greater than 15 years", + "code": "15", + "active": true + }, + { + "i18nKey": "PROPERTYTAX_MONTH>25", + "name": "greater than 24 years", + "code": "25", + "active": true + } + ] + let structureType =[ + { + "i18nKey": "PERMANENT", + "name": "Permanent", + "code": "permanent", + "active": true + }, + { + "i18nKey": "TEMPORARY", + "name": "Temporary", + "code": "temporary", + "active": true + }, + { + "i18nKey": "SEMI_PERMANENT", + "name": "Semi Permanent", + "code": "semi permanent", + "active": true + }, + { + "i18nKey": "RCC", + "name": "RCC", + "code": "RCC", + "active": true + } + ] + const catMenu= [ + { + "code": "RESIDENTIAL", + "name": "RESIDENTIAL", + "i18nKey": "PROPERTYTAX_BILLING_SLAB_RESIDENTIAL", + "label": "PropertyType" + }, + { + "code": "NONRESIDENTIAL.COMMERCIAL", + "name": "NONRESIDENTIAL.COMMERCIAL", + "i18nKey": "PROPERTYTAX_BILLING_SLAB_COMMERCIAL", + "label": "PropertyType" + }, + { + "code": "NONRESIDENTIAL.INDUSTRIAL", + "name": "NONRESIDENTIAL.INDUSTRIAL", + "i18nKey": "PROPERTYTAX_BILLING_SLAB_INDUSTRIAL", + "label": "PropertyType" + }, + { + "code": "NONRESIDENTIAL.INSTITUTIONAL", + "name": "NONRESIDENTIAL.INSTITUTIONAL", + "i18nKey": "PROPERTYTAX_BILLING_SLAB_INSTITUTIONAL", + "label": "PropertyType" + }, + { + "code": "NONRESIDENTIAL.OTHERS", + "name": "NONRESIDENTIAL.OTHERS", + "i18nKey": "PROPERTYTAX_BILLING_SLAB_OTHERS", + "label": "PropertyType" + } + ] + function selectUsageCategory(i, value) { + let field ={...fields} + field.usageCategory = value; + setFields(field); + } + + function selectageOfProperty(i, value) { + let field ={...fields} + field.ageOfProperty=value; + setFields(field); + if(userType === "employee") + { + onSelect(config.key, field); + } + } + + function selectstructureType(i, value) { + let field ={...fields} + field.structureType=value; + setFields(field); + if(userType === "employee") + { + onSelect(config.key, field); + } + } + + + + const goNext = () => { + onSelect(config.key, fields); + }; + + const onSkip = () => onSelect(); + if (isLoading) { + return ; + } + + function isAllowedNext (){ + +console.log("fields",fields) + return true; + } + if (userType === "employee") { + return ( + + + {`${t("PT_STRUCTURE_TYPE")}*`} +
+ selectstructureType(1, e)} + /> + +
+
+ + {`${t("PT_AGE_OF_PROPERTY")}*`} +
+ selectageOfProperty(2, e)} + /> + +
+
+
+ ); + } + return ( + + {window.location.href.includes("/citizen") ? : null} + + +
+
+ {/* } + style={{ width: "100px", display: "inline" }} + onClick={(e) => handleRemove(index)} + /> */} + {formData?.PropertyType?.code === "VACANT"? +
+ {`${t("PT_FORM2_USAGE_TYPE")}*`} + selectUsageCategory(0, e)} + /> +
:""} + {`${t("PT_STRUCTURE_TYPE")}*`} +
+ selectstructureType(1, e)} + /> +
+ {`${t("PT_AGE_OF_PROPERTY")}*`} +
+ selectageOfProperty(2, e)} + /> +
+
+
+ + +
+
+ ); +}; +export default PropertyStructureDetails; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyTax.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyTax.js index b5adfcf85fd..9776b65bc30 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyTax.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyTax.js @@ -1,4 +1,4 @@ -import { Card, CardHeader, CardSubHeader, CardText, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, CardHeader, CardSubHeader, CardText, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { cardBodyStyle, stringReplaceAll } from "../utils"; //import { map } from "lodash-es"; @@ -19,6 +19,172 @@ const PropertyTax = ({ t, config, onSelect, userType, formData }) => { function goNext() { onSelect(); } + function randomIntFromInterval(min, max) { + return Math.floor(Math.random() * (max - min + 1) + min); + } + function generateCodeVerifier(length) { + const characters = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~"; + let codeVerifier = ""; + for (let i = 0; i < length; i++) { + const randomIndex = Math.floor(Math.random() * characters.length); + codeVerifier += characters.charAt(randomIndex); + } + return codeVerifier; + } + function sha256(plain) { + const encoder = new TextEncoder(); + const data = encoder.encode(plain); + return window.crypto.subtle.digest("SHA-256", data); + } + function base64UrlEncode(buffer) { + const padding = "=".repeat((4 - (buffer.length % 4)) % 4); + const base64 = btoa(String.fromCharCode.apply(null, new Uint8Array(buffer))); + return ( + base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "") + padding + ); + } + async function generateCodeChallenge(codeVerifier) { + const hashedBuffer = await sha256(codeVerifier); + const codeChallenge = base64UrlEncode(hashedBuffer); + return codeChallenge; + } + useEffect(()=>{ +window.process={...window.process} +// console.log("enviorement Variable",process.env.NODE_ENV,process.env.REACT_APP_PROXY_API, +// process.env) + + },[]) + + const { isSuccess,error,count, mutate: assessmentMutate } = Digit.Hooks.createTokenAPI(); +const onConcent=async (e)=>{ + const data = await Digit.DigiLockerService.authorization({module:"PT"}); + e.preventDefault() + console.log("data",data) + sessionStorage.setItem("code_verfier",data?.codeverifier) + //let redirectURL=data?.redirectURL.replace("https://upyog-test.niua.org","http://localhost:3000") + window.location.href=data?.redirectURL + /* Number of Random Bytes to Use to Generate Code Verifier (min 32, max 96 bytes) */ + // const randomByte = randomIntFromInterval(44, 96); + // const codeVerifier = generateCodeVerifier(randomByte); + // setItemWithExpiry('DigiLocker.codeVerifier', codeVerifier, 60); + // /* Generate Code Challenge */ + // generateCodeChallenge(codeVerifier) + // .then((codeChallenge) => { + + // console.log("Code Verifier:", codeVerifier); + // console.log("Code Challenge:", codeChallenge); + // window.location.href =`https://digilocker.meripehchaan.gov.in/public/oauth2/1/authorize?response_type=code&client_id=AT3053EB6D&state=oidc_flow&redirect_uri=http%3A%2F%2Flocalhost:3000%2Fdigit-ui%2Fcitizen%2Fpt%2Fproperty%2Fnew-application%2Finfo&code_challenge=${codeChallenge}&code_challenge_method=S256&dl_flow=signin`; + + // }) + // .catch((error) => { + // console.error("An error occurred:", error); + // }); + + +} +// const useTLSearch = (params, config) => { +// return async () => { +// const data = await Digit.TLService.search(params, config); +// const tenant = data?.Licenses?.[0]?.tenantId; +// const businessIds = data?.Licenses.map((application) => application.applicationNumber); +// const workflowRes = await Digit.WorkflowService.getAllApplication(tenant, { businessIds: businessIds.join() }); +// return combineResponse(data?.Licenses, workflowRes?.ProcessInstances, data?.Count); +// }; +// }; +useEffect(async ()=>{ + //sessionStorage.setItem("DigiLocker.token1","cf87055822e4aa49b0ba74778518dc400a0277e5") +if(window.location.href.includes("code")) +{ + let code =window.location.href.split("=")[1].split("&")[0] + let TokenReq = { + code_verifier: sessionStorage.getItem("code_verfier"), + code: code, module: "PT" + } + console.log("token",code,TokenReq,sessionStorage.getItem("code_verfier")) + const data = await Digit.DigiLockerService.token({TokenReq }) + sessionStorage.setItem("DigiLocker.token1",data?.TokenRes?.access_token) + //sessionStorage.setItem("DigiLocker.token1",data?.) + //const data = await Digit.DigiLockerService.token(TokenReq); + // assessmentMutate( + // { TokenReq + // }, + // { + // onError: (error, variables) => { + // console.log("error:123 ",error) + // //setShowToast({ key: "error", action: error?.response?.data?.Errors[0]?.message || error.message, error : { message:error?.response?.data?.Errors[0]?.code || error.message } }); + // setTimeout(closeToast, 5000); + // }, + // onSuccess: (data, variables) => { + // //sessionStorage.setItem("IsPTAccessDone", data?.Assessments?.[0]?.auditDetails?.lastModifiedTime); + // console.log("success",data,isSuccess,variables) + // sessionStorage.setItem("DigiLocker.token1","94e648239a5096773d18774fb97b37f00a413587") + + // }, + // } + // ); + //console.log("tokenData",data) + // fetch('https://api.digitallocker.gov.in/public/oauth2/1/token', { + // method: 'POST', + // mode: 'cors', + // headers: { + // 'Content-Type': 'application/x-www-form-urlencoded', + // "Access-Control-Allow-Origin": "*", + // "Access-Control-Allow-Methods": "PUT, DELETE,POST" + // }, + // body: new URLSearchParams({ + // 'code': code, + // 'grant_type': "authorization_code", + // 'client_id': "AT3053EB6D", + // "client_secret": "75fa589aa7c35b89e127", + // "redirect_uri": "http://localhost:3000/digit-ui/citizen/pt/property/new-application/info", + // "code_verifier": getItemWithExpiry('DigiLocker.codeVerifier') + // }) + // }) .then(response => + // response.json().then(data => ({ + // data: data, + + // })).then(res => { + // console.log("step 1",res) + // //code1 = "Bearer " + res.data.access_token + // sessionStorage.setItem('DigiLocker.token1', res.data.access_token) + // setItemWithExpiry('DigiLocker.token', res.data.access_token, 60); + // })) + +} +},[]) +// Function to set data with an expiration time in sessionStorage +function setItemWithExpiry(key, value, expiryMinutes) { + const now = new Date(); + const expiryTime = now.getTime() + (expiryMinutes * 60 * 1000); // Convert minutes to milliseconds + + const item = { + value: value, + expiry: expiryTime + }; + + sessionStorage.setItem(key, JSON.stringify(item)); +} + +// Function to get data from sessionStorage, checking for expiration +function getItemWithExpiry(key) { + const itemString = sessionStorage.getItem(key); + + if (!itemString) { + return null; + } + + const item = JSON.parse(itemString); + const now = new Date(); + + if (now.getTime() > item.expiry) { + // Item has expired, remove it + sessionStorage.removeItem(key); + return null; + } + + return item.value; +} return ( @@ -63,6 +229,9 @@ const PropertyTax = ({ t, config, onSelect, userType, formData }) => { + + {onConcent(e)}} /> + ); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyType.js index 7379f8bb09b..13dbd0efc63 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyType.js @@ -7,7 +7,7 @@ import { LabelFieldPair, Loader, RadioButtons, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; import { stringReplaceAll } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyUsageType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyUsageType.js index 6aeab26a510..2e02719a955 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyUsageType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/PropertyUsageType.js @@ -7,7 +7,7 @@ import { CardLabel, Dropdown, CardLabelError, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { cardBodyStyle } from "../utils"; import { useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/ProvideFloorNo.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/ProvideFloorNo.js index 493cb78c1c5..67482afc73f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/ProvideFloorNo.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/ProvideFloorNo.js @@ -1,4 +1,4 @@ -import { CardLabel, FormStep, RadioOrSelect } from "@egovernments/digit-ui-react-components"; +import { CardLabel, FormStep, RadioOrSelect } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { stringReplaceAll } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/ProvideSubUsageType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/ProvideSubUsageType.js index 2dc56e1ca18..a2d7e1f8a00 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/ProvideSubUsageType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/ProvideSubUsageType.js @@ -1,4 +1,4 @@ -import { CardLabel, CitizenInfoLabel, Dropdown, FormStep, LabelFieldPair, RadioOrSelect } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CitizenInfoLabel, Dropdown, FormStep, LabelFieldPair, RadioOrSelect } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/ProvideSubUsageTypeOfRentedArea.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/ProvideSubUsageTypeOfRentedArea.js index d891fd193b4..198860a86cd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/ProvideSubUsageTypeOfRentedArea.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/ProvideSubUsageTypeOfRentedArea.js @@ -1,4 +1,4 @@ -import { CardLabel, CitizenInfoLabel, FormStep, RadioOrSelect } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CitizenInfoLabel, FormStep, RadioOrSelect } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/RentalDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/RentalDetails.js index 4a4f303401c..f8be453c0a5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/RentalDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/RentalDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, CitizenInfoLabel, FormStep, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CitizenInfoLabel, FormStep, TextInput } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectAltContactNumber.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectAltContactNumber.js index 3de8f92e406..fa23d11b136 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectAltContactNumber.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectAltContactNumber.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { TextInput, CardLabel, LabelFieldPair } from "@egovernments/digit-ui-react-components"; +import { TextInput, CardLabel, LabelFieldPair } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const SelectAltContactNumber = ({ t, config, onSelect, userType, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectDocuments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectDocuments.js index 8e51d12fb40..412ea0a3def 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectDocuments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectDocuments.js @@ -8,7 +8,7 @@ import { Loader, CardHeader, CardSectionHeader, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const SelectDocuments = ({ t, config, onSelect, userType, formData, setError: setFormError, clearErrors: clearFormErrors, formState }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectInistitutionOwnerDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectInistitutionOwnerDetails.js index 3dc97af89f2..aae2a33d88b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectInistitutionOwnerDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectInistitutionOwnerDetails.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; import { useLocation } from "react-router-dom"; -import { CardHeader, CardLabel, Dropdown, FormStep, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardHeader, CardLabel, Dropdown, FormStep, TextInput } from "@upyog/digit-ui-react-components"; import { cardBodyStyle } from "../utils"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectOwnerAddress.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectOwnerAddress.js index 9afd8a667dd..c4d6ed12b99 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectOwnerAddress.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectOwnerAddress.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, CheckBox, CardLabel, LabelFieldPair, TextArea } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, CheckBox, CardLabel, LabelFieldPair, TextArea } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectOwnerDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectOwnerDetails.js index b2cbb80da40..eba7a9bbb23 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectOwnerDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectOwnerDetails.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, CardLabel, RadioButtons, LabelFieldPair, Dropdown, Menu, MobileNumber } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, CardLabel, RadioButtons, LabelFieldPair, Dropdown, Menu, MobileNumber } from "@upyog/digit-ui-react-components"; import { cardBodyStyle } from "../utils"; import { useLocation, useRouteMatch } from "react-router-dom"; import Timeline from "../components/TLTimeline"; @@ -69,7 +69,7 @@ const SelectOwnerDetails = ({ t, config, onSelect, userType, formData, ownerInde onSelect("", ownerStep); return; } - ownerStep = { ...owner, name, gender, mobileNumber, fatherOrHusbandName, relationship }; + ownerStep = { ...owner, name, gender, mobileNumber, fatherOrHusbandName, relationship, emailId:email}; onSelect(config.key, ownerStep, false, index); } }; @@ -293,6 +293,15 @@ const SelectOwnerDetails = ({ t, config, onSelect, userType, formData, ownerInde labelKey="PT_RELATION" disabled={isUpdateProperty || isEditProperty} /> + {`${t("PT_FORM3_EMAIL_ID")}`} +
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectOwnerShipDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectOwnerShipDetails.js index de6a245435c..cf26eb84de9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectOwnerShipDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectOwnerShipDetails.js @@ -8,7 +8,7 @@ import { CardLabel, CardLabelError, Loader, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { cardBodyStyle } from "../utils"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectPTUnits.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectPTUnits.js index 0193d938782..9b7cd4e6f66 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectPTUnits.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectPTUnits.js @@ -1,4 +1,4 @@ -import { CardLabel, Dropdown, FormStep, LinkButton, Loader, TextInput, DeleteIcon } from "@egovernments/digit-ui-react-components"; +import { CardLabel, Dropdown, FormStep, LinkButton, Loader, TextInput, DeleteIcon } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState ,Fragment} from "react"; import Timeline from "../components/TLTimeline"; @@ -472,30 +472,6 @@ const SelectPTUnits = React.memo(({ t, config, onSelect, userType, formData }) = select={(e) => selectOccupancy(index, e)} /> - {`${t("PT_STRUCTURE_TYPE")}*`} -
- selectstructureType(index, e)} - /> -
- {`${t("PT_AGE_OF_PROPERTY")}*`} -
- selectageOfProperty(index, e)} - /> -
{field?.occupancyType?.code && field.occupancyType.code.includes("RENTED") && ( <> {`${t("PT_FORM2_TOTAL_ANNUAL_RENT")}*`} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectProofIdentity.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectProofIdentity.js index ca21aca8d5b..48deb45a7d0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectProofIdentity.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectProofIdentity.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { FormStep, UploadFile, CardLabelDesc, Dropdown, CardLabel } from "@egovernments/digit-ui-react-components"; +import { FormStep, UploadFile, CardLabelDesc, Dropdown, CardLabel } from "@upyog/digit-ui-react-components"; import { stringReplaceAll } from "../utils"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectSpecialOwnerCategoryType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectSpecialOwnerCategoryType.js index 9807043e87a..11d31f09984 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectSpecialOwnerCategoryType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectSpecialOwnerCategoryType.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, RadioOrSelect, RadioButtons, LabelFieldPair, CardLabel, Dropdown, Loader } from "@egovernments/digit-ui-react-components"; +import { FormStep, RadioOrSelect, RadioButtons, LabelFieldPair, CardLabel, Dropdown, Loader } from "@upyog/digit-ui-react-components"; import { cardBodyStyle } from "../utils"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectSpecialProofIdentity.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectSpecialProofIdentity.js index 4f93ddd44bb..e88ef60cf41 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectSpecialProofIdentity.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/SelectSpecialProofIdentity.js @@ -1,4 +1,4 @@ -import { CardLabel, CardLabelDesc, Dropdown, FormStep, UploadFile } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CardLabelDesc, Dropdown, FormStep, UploadFile } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; import { stringReplaceAll } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/UID.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/UID.js index b0c71c11517..2a0ff4f38ad 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/UID.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/UID.js @@ -1,4 +1,4 @@ -import { CardLabel, LabelFieldPair, TextInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, TextInput, CardLabelError } from "@upyog/digit-ui-react-components"; import FormStep from "../../../../react-components/src/molecules/FormStep"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/UnOccupiedArea.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/UnOccupiedArea.js index 0b39d609396..d1fdcac9bfe 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/UnOccupiedArea.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/UnOccupiedArea.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { FormStep, CardLabel, TextInput } from "@egovernments/digit-ui-react-components"; +import { FormStep, CardLabel, TextInput } from "@upyog/digit-ui-react-components"; const UnOccupiedArea = ({ t, config, onSelect, value, userType, formData }) => { //let index = window.location.href.charAt(window.location.href.length - 1); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Units.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Units.js index ca4aaa4dccd..f93efee334d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Units.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pageComponents/Units.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, Loader, DeleteIcon } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, Loader, DeleteIcon } from "@upyog/digit-ui-react-components"; import { stringReplaceAll } from "../utils"; import { useForm, Controller } from "react-hook-form"; import _ from "lodash"; @@ -146,52 +146,52 @@ const Units = ({ t, config, onSelect, userType, formData, setError, formState, c "active": true }, ] - let ageOfPropertyOptions =[ - { - "i18nKey": "PROPERTYTAX_MONTH>10", - "name": "greater than 10 years", - "code": "10", - "active": true - }, - { - "i18nKey": "PROPERTYTAX_MONTH>15", - "name": "greater than 15 years", - "code": "15", - "active": true - }, - { - "i18nKey": "PROPERTYTAX_MONTH>25", - "name": "greater than 24 years", - "code": "25", - "active": true - } - ] - let structureTypeOptions =[ - { - "i18nKey": "PERMANENT", - "name": "Permanent", - "code": "permanent", - "active": true - }, - { - "i18nKey": "TEMPORARY", - "name": "Temporary", - "code": "temporary", - "active": true - }, - { - "i18nKey": "SEMI_PERMANENT", - "name": "Semi Permanent", - "code": "semiPermanent", - "active": true - }, - { - "i18nKey": "RCC", - "name": "RCC", - "code": "RCC", - "active": true - } - ] + let ageOfPropertyOptions =[ + { + "i18nKey": "PROPERTYTAX_MONTH>10", + "name": "greater than 10 years", + "code": "10", + "active": true + }, + { + "i18nKey": "PROPERTYTAX_MONTH>15", + "name": "greater than 15 years", + "code": "15", + "active": true + }, + { + "i18nKey": "PROPERTYTAX_MONTH>25", + "name": "greater than 24 years", + "code": "25", + "active": true + } + ] + let structureTypeOptions =[ + { + "i18nKey": "PERMANENT", + "name": "Permanent", + "code": "permanent", + "active": true + }, + { + "i18nKey": "TEMPORARY", + "name": "Temporary", + "code": "temporary", + "active": true + }, + { + "i18nKey": "SEMI_PERMANENT", + "name": "Semi Permanent", + "code": "semiPermanent", + "active": true + }, + { + "i18nKey": "RCC", + "name": "RCC", + "code": "RCC", + "active": true + } + ] let floorListData = []; function getfloorlistdata(floorlist) { floorListData = floorlist?.map((floor) => ({ i18nKey: "PROPERTYTAX_FLOOR_" + stringReplaceAll(floor?.code, "-", "_"), code: floor?.code })) || []; @@ -595,27 +595,7 @@ function Unit({ {!["RESIDENTIAL"].includes(usageType?.code) ? ( {localFormState.touched.usageCategory ? errors?.usageCategory?.message : ""} ) : null} - - {t("PT_STRUCTURE_TYPE") + " *"} - ( - - )} - /> - + {t("PT_FORM2_OCCUPANCY") + " *"} ) : null} - - {t("PT_FORM_AGE_OF_PROPERTY") + " *"} - - ( - - )} - /> - - {t("PT_FORM2_BUILT_AREA") + " *"} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/Response.js index c59293b9761..6838beb120e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/Response.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { Card, Banner, CardText, SubmitBar, Loader, LinkButton, Toast, ActionBar } from "@egovernments/digit-ui-react-components"; +import { Card, Banner, CardText, SubmitBar, Loader, LinkButton, Toast, ActionBar } from "@upyog/digit-ui-react-components"; import { Link, useHistory } from "react-router-dom"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Create/CheckPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Create/CheckPage.js index 474c34e2a30..868814c4cc1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Create/CheckPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Create/CheckPage.js @@ -8,7 +8,7 @@ import { Row, StatusTable, SubmitBar -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; @@ -62,6 +62,7 @@ const CheckPage = ({ onSubmit, value = {} }) => { owners, isEditProperty, isUpdateProperty, + propertyStructureDetails, } = value; const typeOfApplication = !isEditProperty && !isUpdateProperty ? `new-application` : `edit-application`; let flatplotsize; @@ -227,6 +228,12 @@ const CheckPage = ({ onSubmit, value = {} }) => { text={`${t(checkForNA(owner?.relationship?.code))}`} actionButton={} /> + } + /> + { text={`${t(checkForNA(owner?.permanentAddress))}`} actionButton={} /> - } - /> + {owner?.ownerType?.code !== "NONE" ? ( { )} } /> {unit?.arv && ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Create/PTAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Create/PTAcknowledgement.js index b8fc2d23736..45a647055c8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Create/PTAcknowledgement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Create/PTAcknowledgement.js @@ -1,4 +1,4 @@ -import { Banner, Card, CardText, LinkButton, LinkLabel, Loader, Row, StatusTable, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, LinkButton, LinkLabel, Loader, Row, StatusTable, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { Link, useRouteMatch } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Create/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Create/index.js index 56b8ef4f540..44df1358024 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Create/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Create/index.js @@ -1,4 +1,4 @@ -import { Loader,Modal ,Card , CardHeader, StatusTable,Row} from "@egovernments/digit-ui-react-components"; +import { Loader,Modal ,Card , CardHeader, StatusTable,Row} from "@upyog/digit-ui-react-components"; import React ,{Fragment,useState,useEffect}from "react"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; @@ -154,6 +154,16 @@ const CreateProperty = ({ parentRoute }) => { units = data; setParams({ ...params, units }); + } + else if(key === "propertyStructureDetails") + { + + let propertyStructureDetail = params.propertyStructureDetails || {}; + // if(index){units[index] = data;}else{ + propertyStructureDetail = data; +let propertyStructureDetails ={"propertyStructureDetails":propertyStructureDetail} + setParams({ ...params, ...propertyStructureDetails }); + } else { setParams({ ...params, ...{ [key]: { ...params[key], ...data } } }); } @@ -202,7 +212,610 @@ const CreateProperty = ({ parentRoute }) => { commonFields.forEach((obj) => { config = config.concat(obj.body.filter((a) => !a.hideInCitizen)); }); - config.indexRoute = "info"; +// let conf = [ +// { +// "route": "map", +// "component": "PTSelectGeolocation", +// "nextStep": "pincode", +// "hideInEmployee": true, +// "key": "address", +// "texts": { +// "header": "PT_GEOLOCATON_HEADER", +// "cardText": "PT_GEOLOCATION_TEXT", +// "nextText": "PT_COMMON_NEXT", +// "skipAndContinueText": "CORE_COMMON_SKIP_CONTINUE" +// } +// }, +// { +// "route": "pincode", +// "component": "PTSelectPincode", +// "texts": { +// "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", +// "header": "PT_PINCODE_LABEL", +// "cardText": "PT_PINCODE_TEXT", +// "submitBarLabel": "PT_COMMON_NEXT", +// "skipText": "CORE_COMMON_SKIP_CONTINUE" +// }, +// "withoutLabel": true, +// "key": "address", +// "nextStep": "address", +// "type": "component" +// }, +// { +// "route": "address", +// "component": "PTSelectAddress", +// "withoutLabel": true, +// "texts": { +// "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", +// "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_ADDRESS_TEXT", +// "cardText": "CS_FILE_APPLICATION_PROPERTY_LOCATION_CITY_MOHALLA_TEXT", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "address", +// "nextStep": "street", +// "isMandatory": true, +// "type": "component" +// }, +// { +// "type": "component", +// "route": "street", +// "component": "PTSelectStreet", +// "key": "address", +// "withoutLabel": true, +// "texts": { +// "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", +// "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_ADDRESS_TEXT", +// "cardText": "PT_STREET_TEXT", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "nextStep": "landmark" +// }, +// { +// "type": "component", +// "route": "landmark", +// "component": "PTSelectLandmark", +// "withoutLabel": true, +// "texts": { +// "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", +// "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_PROVIDE_LANDMARK_TITLE", +// "cardText": "CS_FILE_APPLICATION_PROPERTY_LOCATION_PROVIDE_LANDMARK_TEXT", +// "submitBarLabel": "PT_COMMON_NEXT", +// "skipText": "CORE_COMMON_SKIP_CONTINUE" +// }, +// "key": "address", +// "nextStep": "proof", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "proof", +// "component": "Proof", +// "withoutLabel": true, +// "texts": { +// "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", +// "header": "PT_PROOF_OF_ADDRESS_HEADER", +// "cardText": "", +// "nextText": "PT_COMMONS_NEXT", +// "submitBarLabel": "PT_COMMONS_NEXT" +// }, +// "key": "address", +// "nextStep": "owner-ship-details@0", +// "hideInEmployee": true +// }, +// { +// "route": "info", +// "component": "PropertyTax", +// "nextStep": "property-type", +// "hideInEmployee": true, +// "key": "Documents" +// }, +// { +// "type": "component", +// "route": "isResidential", +// "isMandatory": true, +// "component": "IsResidential", +// "texts": { +// "headerCaption": "", +// "header": "PT_PROPERTY_DETAILS_RESIDENTIAL_PROPERTY_HEADER", +// "cardText": "PT_PROPERTY_DETAILS_RESIDENTIAL_PROPERTY_TEXT", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "isResdential", +// "withoutLabel": true, +// "hideInEmployee": true, +// "nextStep": { +// "PT_COMMON_YES": "property-type", +// "PT_COMMON_NO": "property-usage-type" +// } +// }, +// { +// "type": "component", +// "route": "property-usage-type", +// "isMandatory": true, +// "component": "PropertyUsageType", +// "texts": { +// "headerCaption": "PT_ASSESMENT_INFO_USAGE_TYPE", +// "header": "PT_PROPERTY_DETAILS_USAGE_TYPE_HEADER", +// "cardText": "PT_PROPERTY_DETAILS_USAGE_TYPE_TEXT", +// "submitBarLabel": "PT_COMMONS_NEXT" +// }, +// "nextStep": "property-type", +// "key": "usageCategoryMajor", +// "withoutLabel": true +// }, +// { +// "type": "component", +// "isMandatory": true, +// "component": "ProvideSubUsageType", +// "key": "usageCategoryMinor", +// "withoutLabel": true +// }, +// { +// "type": "component", +// "route": "provide-sub-usage-type", +// "isMandatory": true, +// "component": "ProvideSubUsageType", +// "texts": { +// "headerCaption": "PT_ASSESMENT_INFO_USAGE_TYPE", +// "header": "PT_ASSESSMENT_FLOW_SUBUSAGE_HEADER", +// "cardText": "PT_ASSESSMENT_FLOW_SUBUSAGE_TEXT", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "units", +// "withoutLabel": true, +// "nextStep": { +// "yes": "is-any-part-of-this-floor-unoccupied", +// "no": "provide-sub-usage-type-of-rented-area" +// }, +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "property-type", +// "isMandatory": true, +// "component": "PropertyType", +// "key": "PropertyType", +// "texts": { +// "headerCaption": "", +// "header": "PT_ASSESMENT1_PROPERTY_TYPE", +// "cardText": "", +// "submitBarLabel": "PT_COMMONS_NEXT" +// }, +// "nextStep": "electricity-number", +// "withoutLabel": true +// }, +// { +// "type": "component", +// "route": "electricity-number", +// "isMandatory": true, +// "component": "Electricity", +// "key": "electricity", +// "withoutLabel": true, +// "texts": { +// "headerCaption": "", +// "header": "PT_ASSESMENT1_ELECTRICITY_NUMBER", +// "cardText": "", +// "submitBarLabel": "PT_COMMONS_NEXT" +// }, +// "nextStep": "PropertyStructureDetails" +// }, +// { +// "type": "component", +// "route": "PropertyStructureDetails", +// "isMandatory": true, +// "component": "PropertyStructureDetails", +// "key": "propertyStructureDetails", +// "withoutLabel": true, +// "texts": { +// "headerCaption": "", +// "header": "PT_STRUCTURE_DETAILS", +// "cardText": "", +// "submitBarLabel": "PT_COMMONS_NEXT" +// }, +// "nextStep": "" +// }, +// { +// "type": "component", +// "route": "uid", +// "isMandatory": true, +// "component": "UID", +// "texts": { +// "headerCaption": "", +// "header": "PT_ASSESMENT1_ELECTRICITY_UID_NUMBER", +// "cardText": "", +// "submitBarLabel": "PT_COMMONS_NEXT" +// }, +// "nextStep": { +// "COMMON_PROPTYPE_BUILTUP_INDEPENDENTPROPERTY": "landarea", +// "COMMON_PROPTYPE_BUILTUP_SHAREDPROPERTY": "PtUnits", +// "COMMON_PROPTYPE_VACANT": "area" +// }, +// "key": "uid", +// "withoutLabel": true +// }, + +// { +// "type": "component", +// "isMandatory": true, +// "component": "Area", +// "key": "landarea", +// "withoutLabel": true +// }, +// { +// "type": "component", +// "route": "PtUnits", +// "isMandatory": true, +// "component": "SelectPTUnits", +// "texts": { +// "headerCaption": "", +// "header": "PT_FLAT_DETAILS", +// "cardText": "PT_FLAT_DETAILS_DESC", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "units", +// "withoutLabel": true, +// "nextStep": "map", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "landarea", +// "isMandatory": true, +// "component": "PTLandArea", +// "texts": { +// "headerCaption": "", +// "header": "PT_PLOT_SIZE_HEADER", +// "cardText": "", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "units", +// "withoutLabel": true, +// "nextStep": "number-of-floors", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "area", +// "isMandatory": true, +// "component": "Area", +// "texts": { +// "headerCaption": "", +// "header": "PT_PLOT_SIZE_HEADER", +// "cardText": "PT_FORM2_PLOT_SIZE_PLACEHOLDER", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "units", +// "withoutLabel": true, +// "nextStep": "map", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "number-of-floors", +// "isMandatory": true, +// "component": "PropertyBasementDetails", +// "texts": { +// "headerCaption": "", +// "header": "PT_PROPERTY_DETAILS_NO_OF_BASEMENTS_HEADER", +// "cardText": "", +// "submitBarLabel": "PT_COMMONS_NEXT" +// }, +// "nextStep": "number-of-basements@0", +// "key": "noOofBasements", +// "withoutLabel": true +// }, +// { +// "type": "component", +// "component": "Units", +// "key": "units", +// "withoutLabel": true +// }, +// { +// "type": "component", +// "route": "provide-floor-no", +// "isMandatory": true, +// "component": "ProvideFloorNo", +// "texts": { +// "headerCaption": "", +// "header": "PT_FLOOR_NUMBER_HEADER", +// "cardText": "", +// "submitBarLabel": "PT_COMMONS_NEXT" +// }, +// "nextStep": "units", +// "key": "Floorno", +// "withoutLabel": true, +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "is-this-floor-self-occupied", +// "isMandatory": true, +// "component": "IsThisFloorSelfOccupied", +// "texts": { +// "headerCaption": "", +// "header": "PT_ASSESSMENT_FLOW_FLOOR_OCC_HEADER", +// "cardText": "PT_ASSESSMENT_FLOW_FLOOR_OCC_TEXT", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "units", +// "withoutLabel": true, +// "nextStep": { +// "PT_YES_IT_IS_SELFOCCUPIED": "provide-sub-usage-type", +// "PT_YES_IT_IS_SELFOCCUPIED1": "is-any-part-of-this-floor-unoccupied", +// "PT_PARTIALLY_RENTED_OUT": "area", +// "PT_PARTIALLY_RENTED_OUT1": "area", +// "PT_FULLY_RENTED_OUT": "provide-sub-usage-type-of-rented-area", +// "PT_FULLY_RENTED_OUT1": "rental-details" +// }, +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "number-of-basements@0", +// "isMandatory": true, +// "component": "PropertyFloorDetails", +// "texts": { +// "headerCaption": "", +// "header": "BPA_SCRUTINY_DETAILS_NUMBER_OF_FLOORS_LABEL", +// "cardText": "PT_PROPERTY_DETAILS_NO_OF_FLOORS_TEXT", +// "submitBarLabel": "PT_COMMONS_NEXT" +// }, +// "nextStep": { +// "PT_NO_BASEMENT_OPTION": "units", +// "PT_ONE_BASEMENT_OPTION": "units", +// "PT_TWO_BASEMENT_OPTION": "units" +// }, +// "key": "noOfFloors", +// "withoutLabel": true, +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "units", +// "isMandatory": true, +// "component": "SelectPTUnits", +// "texts": { +// "headerCaption": "", +// "header": "PT_FLAT_DETAILS", +// "cardText": "PT_FLAT_DETAILS_DESC", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "nextStep": "map", +// "key": "units", +// "withoutLabel": true, +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "rental-details", +// "isMandatory": true, +// "component": "RentalDetails", +// "texts": { +// "header": "PT_ASSESSMENT_FLOW_RENTAL_DETAIL_HEADER", +// "cardText": "", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "units", +// "withoutLabel": true, +// "nextStep": "is-any-part-of-this-floor-unoccupied", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "provide-sub-usage-type-of-rented-area", +// "isMandatory": true, +// "component": "ProvideSubUsageTypeOfRentedArea", +// "texts": { +// "headerCaption": "PT_ASSESMENT_INFO_USAGE_TYPE", +// "header": "PT_ASSESSMENT_FLOW_RENT_SUB_USAGE_HEADER", +// "cardText": "PT_ASSESSMENT_FLOW_SUBUSAGE_TEXT", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "units", +// "withoutLabel": true, +// "nextStep": "rental-details", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "is-any-part-of-this-floor-unoccupied", +// "isMandatory": true, +// "component": "IsAnyPartOfThisFloorUnOccupied", +// "texts": { +// "header": "PT_ASSESSMENT_FLOW_ISUNOCCUPIED_HEADER", +// "cardText": "PT_ASSESSMENT_FLOW_ISUNOCCUPIED_TEXT", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "units", +// "withoutLabel": true, +// "nextStep": { +// "PT_COMMON_NO": "map", +// "PT_COMMON_YES": "un-occupied-area" +// }, +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "un-occupied-area", +// "isMandatory": true, +// "component": "UnOccupiedArea", +// "texts": { +// "header": "PT_ASSESSMENT_FLOW_UNOCCUPIED_AREA_HEADER", +// "cardText": "PT_ASSESSMENT_FLOW_UNOCCUPIED_AREA_TEXT", +// "submitBarLabel": "PT_COMMON_NEXT", +// "skipText": "" +// }, +// "key": "units", +// "withoutLabel": true, +// "nextStep": "map", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "owner-ship-details@0", +// "isMandatory": true, +// "component": "SelectOwnerShipDetails", +// "texts": { +// "headerCaption": "PT_PROPERTIES_OWNERSHIP", +// "header": "PT_PROVIDE_OWNERSHIP_DETAILS", +// "cardText": "PT_PROVIDE_OWNERSHI_DETAILS_SUB_TEXT", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "ownershipCategory", +// "withoutLabel": true, +// "nextStep": { +// "INSTITUTIONALPRIVATE": "inistitution-details", +// "INSTITUTIONALGOVERNMENT": "inistitution-details", +// "INDIVIDUAL.SINGLEOWNER": "owner-details", +// "INDIVIDUAL.MULTIPLEOWNERS": "owner-details" +// } +// }, +// { +// "isMandatory": true, +// "type": "component", +// "route": "owner-details", +// "key": "owners", +// "component": "SelectOwnerDetails", +// "texts": { +// "headerCaption": "", +// "header": "PT_OWNERSHIP_INFO_SUB_HEADER", +// "cardText": "PT_FORM3_HEADER_MESSAGE", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "withoutLabel": true, +// "nextStep": "special-owner-category", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "special-owner-category", +// "isMandatory": true, +// "component": "SelectSpecialOwnerCategoryType", +// "texts": { +// "headerCaption": "PT_OWNERS_DETAILS", +// "header": "PT_SPECIAL_OWNER_CATEGORY", +// "cardText": "PT_FORM3_HEADER_MESSAGE", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "owners", +// "withoutLabel": true, +// "nextStep": "owner-address", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "owner-address", +// "isMandatory": true, +// "component": "SelectOwnerAddress", +// "texts": { +// "headerCaption": "PT_OWNERS_DETAILS", +// "header": "PT_OWNERS_ADDRESS", +// "cardText": "", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "owners", +// "withoutLabel": true, +// "nextStep": "special-owner-category-proof", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "component": "SelectAltContactNumber", +// "key": "owners", +// "withoutLabel": true, +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "special-owner-category-proof", +// "isMandatory": true, +// "component": "SelectSpecialProofIdentity", +// "texts": { +// "headerCaption": "PT_OWNERS_DETAILS", +// "header": "PT_SPECIAL_OWNER_CATEGORY_PROOF_HEADER", +// "cardText": "", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "owners", +// "withoutLabel": true, +// "nextStep": "proof-of-identity", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "proof-of-identity", +// "isMandatory": true, +// "component": "SelectProofIdentity", +// "texts": { +// "headerCaption": "PT_DOCUMENT_DETAILS", +// "header": "PT_PROOF_IDENTITY_HEADER", +// "cardText": "", +// "submitBarLabel": "PT_COMMON_NEXT", +// "addMultipleText": "PT_COMMON_ADD_APPLICANT_LABEL" +// }, +// "key": "owners", +// "withoutLabel": true, +// "nextStep": null, +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "inistitution-details", +// "isMandatory": true, +// "component": "SelectInistitutionOwnerDetails", +// "texts": { +// "headerCaption": "", +// "header": "PT_INSTITUTION_DETAILS_HEADER", +// "cardText": "PT_FORM3_HEADER_MESSAGE", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "owners", +// "withoutLabel": true, +// "nextStep": "institutional-owner-address", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "institutional-owner-address", +// "isMandatory": true, +// "component": "SelectOwnerAddress", +// "texts": { +// "headerCaption": "PT_OWNERS_DETAILS", +// "header": "PT_OWNERS_ADDRESS", +// "cardText": "", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "owners", +// "withoutLabel": true, +// "nextStep": "institutional-proof-of-identity", +// "hideInEmployee": true +// }, +// { +// "type": "component", +// "route": "institutional-proof-of-identity", +// "isMandatory": true, +// "component": "SelectProofIdentity", +// "texts": { +// "headerCaption": "PT_OWNERS_DETAILS", +// "header": "PT_PROOF_IDENTITY_HEADER", +// "cardText": "", +// "submitBarLabel": "PT_COMMON_NEXT" +// }, +// "key": "owners", +// "withoutLabel": true, +// "nextStep": null, +// "hideInEmployee": true +// }, +// { +// "component": "SelectDocuments", +// "withoutLabel": true, +// "key": "documents", +// "type": "component" +// } +// ] +config.indexRoute = "info"; + // console.log("configconfigconfig",config) + const CheckPage = Digit?.ComponentRegistryService?.getComponent("PTCheckPage"); const PTAcknowledgement = Digit?.ComponentRegistryService?.getComponent("PTAcknowledgement"); return ( @@ -211,6 +824,7 @@ const CreateProperty = ({ parentRoute }) => { {config.map((routeObj, index) => { const { component, texts, inputs, key } = routeObj; + const Component = typeof component === "string" ? Digit.ComponentRegistryService.getComponent(component) : component; return ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/EditProperty/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/EditProperty/index.js index 98165ae7b99..287ce08fa1a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/EditProperty/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/EditProperty/index.js @@ -1,5 +1,5 @@ // import React from "react"; -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; @@ -449,6 +449,7 @@ const EditProperty = ({ parentRoute }) => { } sessionStorage.setItem("propertyInitialObject", JSON.stringify({ ...application })); let propertyEditDetails = getPropertyEditDetails(application); + console.log("propertyEditDetails",propertyEditDetails) setParams({ ...params, ...propertyEditDetails }); } }, [data]); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Mutate/CheckPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Mutate/CheckPage.js index c3e48425496..9d1b1f9512f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Mutate/CheckPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/Mutate/CheckPage.js @@ -10,7 +10,7 @@ import { SubmitBar, Header, EditIcon, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyPayments/PTPayments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyPayments/PTPayments.js index 73b61c65075..30647330e48 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyPayments/PTPayments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyPayments/PTPayments.js @@ -1,4 +1,4 @@ -import { Card, KeyNote, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, KeyNote, SubmitBar } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyPayments/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyPayments/index.js index 663a4256ba8..5a9bddc74ef 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyPayments/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyPayments/index.js @@ -1,4 +1,4 @@ -import { Header, Loader } from "@egovernments/digit-ui-react-components"; +import { Header, Loader } from "@upyog/digit-ui-react-components"; import React from "react"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/PropertyInvalidMobileNumber.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/PropertyInvalidMobileNumber.js index 867d968464b..24a859a3fe0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/PropertyInvalidMobileNumber.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/PropertyInvalidMobileNumber.js @@ -1,4 +1,4 @@ -import { Card, ButtonSelector } from "@egovernments/digit-ui-react-components"; +import { Card, ButtonSelector } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/TransferDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/TransferDetails.js index 5a778505b1e..e3adfb61d51 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/TransferDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/TransferDetails.js @@ -1,5 +1,5 @@ import React from "react"; -import { Row, StatusTable } from "@egovernments/digit-ui-react-components"; +import { Row, StatusTable } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const returnTransferData = (value, rowContainerStyles) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/index.js index bc61053366b..32ba74ecd2b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/index.js @@ -1,4 +1,4 @@ -import { Card, CardSubHeader, CardText, Header, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, CardSubHeader, CardText, Header, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/my-properties.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/my-properties.js index cd23288ae66..612ea439545 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/my-properties.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/my-properties.js @@ -1,5 +1,5 @@ -import { Card, KeyNote, SubmitBar } from "@egovernments/digit-ui-react-components"; -import React from "react"; +import { Card, KeyNote, SubmitBar } from "@upyog/digit-ui-react-components"; +import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; @@ -7,18 +7,35 @@ const MyProperty = ({ application }) => { const { t } = useTranslation(); const address = application?.address; const owners = application?.owners; + const [billData, setBillData]=useState(null); + const [loading, setLoading]=useState(false); + const fetchBillData=async()=>{ + setLoading(true); + const result= await Digit.PaymentService.fetchBill( + application.tenantId,{ + businessService: "PT", + consumerCode: application.propertyId, + }); + + setBillData(result); + setLoading(false); + }; + useEffect(()=>{ + fetchBillData(); + }, [application.tenantId, application.propertyId]); sessionStorage.removeItem("type" ); sessionStorage.removeItem("pincode"); sessionStorage.removeItem("tenantId"); sessionStorage.removeItem("localityCode"); sessionStorage.removeItem("landmark"); sessionStorage.removeItem("propertyid") + const ownersSequences=owners?.additionalDetails!==null ? owners.sort((a,b)=>a?.additionalDetails?.ownerSequence-b?.additionalDetails?.ownerSequence): owners; return ( ( + note={ownersSequences.map((owners, index) => (
{index == owners.length - 1 ? owners?.name + "," : owners.name}
))} /> @@ -32,6 +49,13 @@ const MyProperty = ({ application }) => { + {billData?.Bill.length > 0 ? ( + + +
+ + ):null} +
); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/propertyInformation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/propertyInformation.js index 92564bbf696..6e6974f3991 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/propertyInformation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/propertyInformation.js @@ -10,7 +10,7 @@ import { StatusTable, SubmitBar, LinkLabel -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link, useHistory, useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/propertyOwnerHistory.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/propertyOwnerHistory.js index f1c923c91bc..5308e0f721f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/propertyOwnerHistory.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/propertyOwnerHistory.js @@ -1,4 +1,4 @@ -import { Card, CardSubHeader, Header, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, CardSubHeader, Header, Loader } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { propertyCardBodyStyle, convertEpochToDate } from "../../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/updateNumber.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/updateNumber.js index 4aab0c71ce3..851fb4821f4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/updateNumber.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyProperties/updateNumber.js @@ -9,7 +9,7 @@ import { StatusTable, SubmitBar, Toast -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useCallback, useReducer } from "react"; import { Controller, useForm } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyReceipts/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyReceipts/index.js index 1abd4dc8472..08c9b587cde 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyReceipts/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyReceipts/index.js @@ -1,5 +1,5 @@ import React from "react"; -import { Header, Loader } from "@egovernments/digit-ui-react-components"; +import { Header, Loader } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import MyReceipt from "./my-receipt"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyReceipts/my-receipt.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyReceipts/my-receipt.js index f67aec8039e..90e4dc43bed 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyReceipts/my-receipt.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/MyReceipts/my-receipt.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { Card, KeyNote, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, KeyNote, SubmitBar } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; const MyReceipt = ({ application }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/PTApplicationDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/PTApplicationDetails.js index 11e0a2dfc34..82fc7e3aef4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/PTApplicationDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/PTApplicationDetails.js @@ -1,4 +1,4 @@ -import { Card, CardSubHeader, Header, LinkButton, Loader, Row, StatusTable, MultiLink, PopUp, Toast, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, CardSubHeader, Header, LinkButton, Loader, Row, StatusTable, MultiLink, PopUp, Toast, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useParams } from "react-router-dom"; @@ -7,7 +7,7 @@ import PropertyDocument from "../../pageComponents/PropertyDocument"; import PTWFApplicationTimeline from "../../pageComponents/PTWFApplicationTimeline"; import { getCityLocale, getPropertyTypeLocale, propertyCardBodyStyle, getMohallaLocale, pdfDownloadLink } from "../../utils"; import PTCitizenFeedbackPopUp from "../../pageComponents/PTCitizenFeedbackPopUp"; -//import PTCitizenFeedback from "@egovernments/digit-ui-module-core/src/components/PTCitizenFeedback"; +//import PTCitizenFeedback from "@upyog/digit-ui-module-core/src/components/PTCitizenFeedback"; import get from "lodash/get"; import { size } from "lodash"; @@ -240,6 +240,8 @@ const PTApplicationDetails = () => { label: t("MT_CERTIFICATE"), onClick: () => printCertificate(), }); + + const reversedOwners= Array.isArray(data?.Properties?.[0]?.owners) ? data?.Properties?.[0]?.owners.slice().reverse():[]; return (
@@ -459,6 +461,16 @@ const PTApplicationDetails = () => { label={t("PT_ASSESMENT1_ELECTRICITY_UID")} text={(`${t(`${property.additionalDetails?.uid}`)}`) || t("CS_NA")} /> + +
{Array.isArray(units) && @@ -494,16 +506,7 @@ const PTApplicationDetails = () => { label={t("PT_BUILTUP_AREA_LABEL")} text={`${`${unit?.constructionDetail?.builtUpArea} sq.ft` || t("CS_NA")}`} /> - - + {unit.occupancyType == "RENTED" && ( { {t("PT_COMMON_PROPERTY_OWNERSHIP_DETAILS_HEADER")}
{Array.isArray(owners) && - owners.sort((item,item2)=>{return item?.additionalDetails?.ownerSequence - item2?.additionalDetails?.ownerSequence}).map((owner, index) => ( + reversedOwners.sort(()=>{return reversedOwners}).map((owner, index) => (
{owners.length != 1 && ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/PTMyApplications/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/PTMyApplications/index.js index ea511f854f6..f3e4cafd1f5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/PTMyApplications/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/PTMyApplications/index.js @@ -1,4 +1,4 @@ -import { Header, Loader } from "@egovernments/digit-ui-react-components"; +import { Header, Loader } from "@upyog/digit-ui-react-components"; import React from "react"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/PTMyApplications/pt-application.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/PTMyApplications/pt-application.js index 4b0183be38f..43df017b4e5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/PTMyApplications/pt-application.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/PTMyApplications/pt-application.js @@ -1,4 +1,4 @@ -import { Card, KeyNote, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, KeyNote, SubmitBar } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/SearchProperty/searchProperty.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/SearchProperty/searchProperty.js index 51c421b5861..3422f3ad831 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/SearchProperty/searchProperty.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/SearchProperty/searchProperty.js @@ -1,4 +1,4 @@ -import { Dropdown, FormComposer, InfoBannerIcon, Loader, Localities, RadioButtons, Toast } from "@egovernments/digit-ui-react-components"; +import { Dropdown, FormComposer, InfoBannerIcon, Loader, Localities, RadioButtons, Toast } from "@upyog/digit-ui-react-components"; import _ from "lodash"; import PropTypes from "prop-types"; import React, { useEffect, useLayoutEffect, useState } from "react"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/SearchResults/searchResults.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/SearchResults/searchResults.js index f38eb5532a0..3f1a63c3944 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/SearchResults/searchResults.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/SearchResults/searchResults.js @@ -1,5 +1,5 @@ import React, { useEffect, useRef, useState } from "react"; -import { Header, ResponseComposer, Loader, Modal, Card, KeyNote, SubmitBar, CitizenInfoLabel} from "@egovernments/digit-ui-react-components"; +import { Header, ResponseComposer, Loader, Modal, Card, KeyNote, SubmitBar, CitizenInfoLabel} from "@upyog/digit-ui-react-components"; import PropTypes from "prop-types"; import { useHistory, Link, useLocation } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/index.js index a16db69ffb3..d7209a7a9bb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/citizen/index.js @@ -1,4 +1,4 @@ -import { AppContainer, BackButton, PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { AppContainer, BackButton, PrivateRoute } from "@upyog/digit-ui-react-components"; import React from "react"; import { Route, Switch, useRouteMatch } from "react-router-dom"; import { shouldHideBackButton } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/ApplicationDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/ApplicationDetails.js index 2e849cd19fe..d49cf5de988 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/ApplicationDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/ApplicationDetails.js @@ -1,4 +1,4 @@ -import { Header, MultiLink } from "@egovernments/digit-ui-react-components"; +import { Header, MultiLink } from "@upyog/digit-ui-react-components"; import _ from "lodash"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; @@ -72,7 +72,7 @@ const ApplicationDetails = () => { useEffect(() => { if (applicationDetails) { - applicationDetails.applicationDetails[2].additionalDetails.owners= applicationDetails?.applicationDetails?.[2]?.additionalDetails?.owners?.reverse() + appDetailsToShow?.applicationData?.owners.sort((item, item2) => { return item?.additionalDetails?.ownerSequence - item2?.additionalDetails?.ownerSequence }) setAppDetailsToShow(_.cloneDeep(applicationDetails)); if (applicationDetails?.applicationData?.status !== "ACTIVE" && applicationDetails?.applicationData?.creationReason === "MUTATION") { setEnableAudit(true); @@ -217,8 +217,10 @@ const ApplicationDetails = () => { applicationDetails?.applicationDetails[1].values.push(obj) } } + + const reversedOwners= Array.isArray(appDetailsToShow?.applicationData?.owners) ? appDetailsToShow?.applicationData?.owners.slice().reverse(): []; if (appDetailsToShow?.applicationData) { - appDetailsToShow?.applicationData?.owners.sort((item, item2) => { return item?.additionalDetails?.ownerSequence - item2?.additionalDetails?.ownerSequence }) + appDetailsToShow?.applicationDetails?.[3]?.additionalDetails?.owners.sort(() => { return appDetailsToShow?.applicationDetails?.[3]?.additionalDetails?.owners}) } return (
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/AssessmentDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/AssessmentDetails.js index 8d0a0dae365..97e6ec59f12 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/AssessmentDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/AssessmentDetails.js @@ -1,663 +1,663 @@ -import React, { useEffect, useState,useRef } from "react"; -import { useTranslation } from "react-i18next"; -import ApplicationDetailsTemplate from "../../../../templates/ApplicationDetails"; - -import { useParams, useLocation, useHistory } from "react-router-dom"; -import { ActionBar, Header, Loader, SubmitBar,Card,CardSubHeader,CardSectionHeader,LinkLabel, CardLabel, CardHeader, CardText} from "@egovernments/digit-ui-react-components"; -import { useQueryClient } from "react-query"; -import _, { first, update } from "lodash"; -import { Modal,Dropdown, Row, StatusTable } from "@egovernments/digit-ui-react-components"; -import {convertEpochToDate} from "../../utils/index"; - - -const AssessmentDetails = () => { - const { t } = useTranslation(); - const [penalty,setPenalty] = useState("") - const [rebate,setRebate] = useState("") - const tenantId = Digit.ULBService.getCurrentTenantId(); - const { id: propertyId } = useParams(); - const stateId = Digit.ULBService.getStateId(); - const location = useLocation(); - const AssessmentData = location?.state?.Assessment; - const [showToast, setShowToast] = useState(null); - const queryClient = useQueryClient(); - const history = useHistory(); - const [appDetailsToShow, setAppDetailsToShow] = useState({}); - const isMobile = window.Digit.Utils.browser.isMobile(); - - const [popup,showPopUp]=useState(false); - const [selectedPenalityReason,setSelectedPenalityReason]=useState(null); - const [selectedRebateReason,setSelectedRebateReason]=useState(null); - - - const first_temp=useRef(); - const second_temp=useRef(); - const third_temp=useRef(); - const fourth_temp=useRef(); - - const getPropertyTypeLocale = (value) => { - return `PROPERTYTAX_BILLING_SLAB_${value?.split(".")[0]}`; - }; - - const getPropertySubtypeLocale = (value) => `PROPERTYTAX_BILLING_SLAB_${value}`; - - let { isLoading, isError, data: applicationDetails, error } = Digit.Hooks.pt.useApplicationDetail(t, tenantId, propertyId); - const { isLoading: assessmentLoading, mutate: assessmentMutate } = Digit.Hooks.pt.usePropertyAssessment(tenantId); - const { - isLoading: ptCalculationEstimateLoading, - data: ptCalculationEstimateData, - mutate: ptCalculationEstimateMutate, - } = Digit.Hooks.pt.usePtCalculationEstimate(tenantId); - const { data: ChargeSlabsMenu, isLoading: isChargeSlabsLoading } = Digit.Hooks.pt.usePropertyMDMS(stateId, "PropertyTax", "ChargeSlabs"); - const fetchBillParams = { consumerCode : propertyId }; - - let ptCalculationEstimateDataCopy; - if(!ptCalculationEstimateDataCopy ) - ptCalculationEstimateDataCopy = ptCalculationEstimateData?.Calculation[0]; - - const paymentDetails = Digit.Hooks.useFetchBillsForBuissnessService( - { businessService: "PT", ...fetchBillParams, tenantId: tenantId }, - { - enabled: propertyId ? true : false, - } - ); - - useEffect(() => { - // estimate calculation - ptCalculationEstimateMutate({ Assessment: AssessmentData }); - }, []); - useEffect(()=>{ - setPenalty(parseInt(ptCalculationEstimateData?.Calculation[0].taxHeadEstimates[6].estimateAmount)) - setRebate(parseInt(ptCalculationEstimateData?.Calculation[0].taxHeadEstimates[5].estimateAmount)) - },[ptCalculationEstimateLoading]) - useEffect(() => { - if (applicationDetails) setAppDetailsToShow(_.cloneDeep(applicationDetails)); - }, [applicationDetails]); - - let workflowDetails = Digit.Hooks.useWorkflowDetails({ - tenantId: applicationDetails?.tenantId || tenantId, - id: applicationDetails?.applicationData?.acknowldgementNumber, - moduleCode: "PT", - role: "PT_CEMP", - // serviceData: applicationDetails, - }); - const date=new Date(); - - appDetailsToShow?.applicationDetails?.shift(); - appDetailsToShow?.applicationDetails?.unshift({ - title: "PT_ESTIMATE_DETAILS_HEADER", - values: [ - { - title: "PT_PROPERTY_PTUID", - value: propertyId, - }, - { - title: "ES_PT_TITLE_BILLING_PERIOD", - value: location?.state?.Assessment?.financialYear, - }, - ], - additionalDetails: { - taxHeadEstimatesCalculation: ptCalculationEstimateData?.Calculation[0], - }, - } - ); - - const closeToast = () => { - setShowToast(null); - }; - - const handleAssessment = () => { - if (!queryClient.getQueryData(["PT_ASSESSMENT", propertyId, location?.state?.Assessment?.financialYear])) { - assessmentMutate( - { Assessment:AssessmentData}, - { - onError: (error, variables) => { - setShowToast({ key: "error", action: error?.response?.data?.Errors[0]?.message || error.message, error : { message:error?.response?.data?.Errors[0]?.code || error.message } }); - setTimeout(closeToast, 5000); - }, - onSuccess: (data, variables) => { - sessionStorage.setItem("IsPTAccessDone", data?.Assessments?.[0]?.auditDetails?.lastModifiedTime); - let user = sessionStorage.getItem("Digit.User") - let userType = JSON.parse(user) - setShowToast({ key: "success", action: { action: "ASSESSMENT" } }); - setTimeout(closeToast, 5000); - console.log("useType.value.info.type",userType,typeof(userType)) - // queryClient.clear(); - // queryClient.setQueryData(["PT_ASSESSMENT", propertyId, location?.state?.Assessment?.financialYear], true); - if(userType?.value?.info?.type == "CITIZEN") - { - history.push(`/digit-ui/citizen/payment/my-bills/PT/${propertyId}`); - } - else{ - proceeedToPay() - } - - }, - } - ); - } - }; - - const proceeedToPay = () => { - history.push(`/digit-ui/employee/payment/collect/PT/${propertyId}`); - }; - - if (ptCalculationEstimateLoading || assessmentLoading||!applicationDetails?.applicationDetails) { - return ; - } - - -let address_to_display=applicationDetails?.applicationData?.address; -if(address_to_display?.doorNo){ - address_to_display=address_to_display?.doorNo+','+address_to_display?.locality?.area+','+address_to_display?.city; -} -else{ - address_to_display=address_to_display?.locality?.area+','+address_to_display?.city; -} - - -const Heading = (props) => { - return

{props.label}

; -}; - -const Close = () => ( - - - - -); - -const CloseBtn = (props) => { - return ( -
- -
- ); -}; -function change(){ - let total_amount=ptCalculationEstimateData?.Calculation[0]?.totalAmount - const [first,second]=[parseInt(first_temp.current.value),parseInt(second_temp.current.value)]; - let additionalDetails={ - "adhocPenalty":0, - "adhocExemptionReason":null, - "adhocPenaltyReason":null, - "adhocExemption":0 - } - AssessmentData.additionalDetails=additionalDetails; - if((selectedPenalityReason && first>0)/* &&(!selectedRebateReason) */){ - if(selectPenalityReason.value!=='Others'){ - if(first0){ - if(second0){ - if(second{ - setSelectedPenalityReason(reason); - } - const selectRebateReason=(reason)=>{ - setSelectedRebateReason(reason); - } -/* const RebatePenalityPoPup=() =>{ - return ( - } - headerBarEnd={showPopUp(false)}/>} - actionCancelLabel={t("PT_CANCEL")} - actionCancelOnSubmit={()=>showPopUp(false)} - actionSaveLabel={t("PT_ADD")} - actionSaveOnSubmit={()=>(change())} - hideSubmit={false} - > - { -
- - {t("PT_AD_PENALTY")} - - {t("PT_TX_HEADS")} - -
-
-
- -
-
-
- {selectedPenalityReason && selectedPenalityReason.value==="Others" &&
- {t("PT_REASON")} -
-
- -
-
-
} - {t("PT_HEAD_AMT")} -
-
-
- -
-
-
-
- - {t("PT_AD_REBATE")} - {t("PT_TX_HEADS")} -
-
-
- -
-
-
- {selectedRebateReason && selectedRebateReason.value==="Others" &&
- {t("PT_REASON")} -
-
- -
-
-
} - {t("PT_HEAD_AMT")} -
-
-
- -
-
-
-
-
- } -
) -} */ - return ( -
-
{t("PT_TX_ASSESSMENT")}
- {showPopUp(true)}} style={isMobile ? {color:"#a82227",marginLeft:"0px"} : {color:"#a82227"}}>{t("PT_ADD_REBATE_PENALITY")} - }, - { - title: "PT_ASSESMENT_INFO_SUB_HEADER", - values: [ - { title: "PT_ASSESMENT_INFO_TYPE_OF_BUILDING", value: getPropertyTypeLocale(applicationDetails?.applicationData?.propertyType) }, - { title: "PT_ASSESMENT_INFO_USAGE_TYPE", value: getPropertySubtypeLocale(applicationDetails?.applicationData?.usageCategory) }, - { title: "PT_ASSESMENT_INFO_PLOT_SIZE", value: applicationDetails?.applicationData?.landArea }, - { title: "PT_ASSESMENT_INFO_NO_OF_FLOOR", value: applicationDetails?.applicationData?.noOfFloors }, - ], - additionalDetails: { - floors: applicationDetails?.applicationData?.units - ?.filter((e) => e.active) - ?.sort?.((a, b) => a.floorNo - b.floorNo) - ?.map((unit, index) => { - let floorName = `PROPERTYTAX_FLOOR_${unit.floorNo}`; - const values = [ - { - title: `${t("ES_APPLICATION_DETAILS_UNIT")} ${index + 1}`, - value: "", - }, - { - title: "Floor No", - value: unit?.floorNo, - }, - { - title: "PT_ASSESSMENT_UNIT_USAGE_TYPE", - value: `PROPERTYTAX_BILLING_SLAB_${ - unit?.usageCategory != "RESIDENTIAL" ? unit?.usageCategory?.split(".")[1] : unit?.usageCategory - }`, - }, - { - title: "PT_ASSESMENT_INFO_OCCUPLANCY", - value: unit?.occupancyType, - }, - { - title: "PT_FORM2_BUILT_AREA", - value: unit?.constructionDetail?.builtUpArea, - }, - ]; - - if (unit.occupancyType === "RENTED") values.push({ title: "PT_FORM2_TOTAL_ANNUAL_RENT", value: unit.arv }); - - return { - //title: floorName, - title:"", - values: [ - { - title: "", - values, - }, - ], - }; - }), - }, - }, - { - belowComponent:()=>{ - return ( -
- - {t("PT_CALC_DETAILS")}
-
- {t("PT_CALC_LOGIC_HEADER")} - {t("PT_CALC_LOGIC")} - {/*
-
*/} -
-

{t("PT_APPLICABLE_CHARGE_SLABS")}

- {/*

{t("PT_GRND_FLOOR_UNIT-1")}

-
{t("PT_RATE")}
-
*/} - - {applicationDetails?.applicationData?.units - ?.filter((e) => e.active) - ?.sort?.((a, b) => a.floorNo - b.floorNo) - ?.map((unit, index) => ( - ob.floorNo == unit.floorNo)?.[0]?.name} /> - ))} - -
-
- - ) - } - } - ]} - } - showTimeLine={false} - isLoading={isLoading} - isDataLoading={isLoading} - applicationData={appDetailsToShow?.applicationData} - mutate={null} - workflowDetails={ - queryClient.getQueryData(["PT_ASSESSMENT", propertyId, location?.state?.Assessment?.financialYear]) - ? { ...workflowDetails, data: { ...workflowDetails.data, nextActions: [] } } - : workflowDetails - } - businessService="PT" - assessmentMutate={assessmentMutate} - ptCalculationEstimateMutate={ptCalculationEstimateMutate} - showToast={showToast} - setShowToast={setShowToast} - closeToast={closeToast} - timelineStatusPrefix={"ES_PT_COMMON_STATUS_"} - forcedActionPrefix={"WF_EMPLOYEE_PT.CREATE"} - /> - {/* {popup && ()} */} - { popup && } - headerBarEnd={ {showPopUp(false), ptCalculationEstimateData.Calculation[0] = ptCalculationEstimateDataCopy; setSelectedPenalityReason(null); setSelectedRebateReason(null);}}/>} - actionCancelLabel={t("PT_CANCEL")} - actionCancelOnSubmit={()=>{ptCalculationEstimateData.Calculation[0] = ptCalculationEstimateDataCopy; setSelectedPenalityReason(null);setSelectedRebateReason(null); showPopUp(false)}} - actionSaveLabel={t("PT_ADD")} - actionSaveOnSubmit={()=>(change())} - hideSubmit={false} - > - { -
- - {t("PT_AD_PENALTY")} - - {t("PT_TX_HEADS")} - -
-
-
- -
-
-
- {selectedPenalityReason && selectedPenalityReason.value==="Others" &&
- {t("PT_REASON")} -
-
- -
-
-
} - {t("PT_HEAD_AMT")} -
-
-
- -
- {/* */} -
-
-
- - {t("PT_AD_REBATE")} - {t("PT_TX_HEADS")} -
-
-
- -
-
-
- {selectedRebateReason && selectedRebateReason.value==="Others" &&
- {t("PT_REASON")} -
-
- -
-
-
} - {t("PT_HEAD_AMT")} -
-
-
- -
-
-
-
-
- } -
} - {!queryClient.getQueryData(["PT_ASSESSMENT", propertyId, location?.state?.Assessment?.financialYear]) ? ( - - - - ) : ( - - 0 ? false : true} label={t("PT_PROCEED_PAYMENT")} onSubmit={proceeedToPay} /> - - )} -
- ); -}; - +import React, { useEffect, useState,useRef } from "react"; +import { useTranslation } from "react-i18next"; +import ApplicationDetailsTemplate from "../../../../templates/ApplicationDetails"; + +import { useParams, useLocation, useHistory } from "react-router-dom"; +import { ActionBar, Header, Loader, SubmitBar,Card,CardSubHeader,CardSectionHeader,LinkLabel, CardLabel, CardHeader, CardText} from "@upyog/digit-ui-react-components"; +import { useQueryClient } from "react-query"; +import _, { first, update } from "lodash"; +import { Modal,Dropdown, Row, StatusTable } from "@upyog/digit-ui-react-components"; +import {convertEpochToDate} from "../../utils/index"; + + +const AssessmentDetails = () => { + const { t } = useTranslation(); + const [penalty,setPenalty] = useState("") + const [rebate,setRebate] = useState("") + const tenantId = Digit.ULBService.getCurrentTenantId(); + const { id: propertyId } = useParams(); + const stateId = Digit.ULBService.getStateId(); + const location = useLocation(); + const AssessmentData = location?.state?.Assessment; + const [showToast, setShowToast] = useState(null); + const queryClient = useQueryClient(); + const history = useHistory(); + const [appDetailsToShow, setAppDetailsToShow] = useState({}); + const isMobile = window.Digit.Utils.browser.isMobile(); + + const [popup,showPopUp]=useState(false); + const [selectedPenalityReason,setSelectedPenalityReason]=useState(null); + const [selectedRebateReason,setSelectedRebateReason]=useState(null); + + + const first_temp=useRef(); + const second_temp=useRef(); + const third_temp=useRef(); + const fourth_temp=useRef(); + + const getPropertyTypeLocale = (value) => { + return `PROPERTYTAX_BILLING_SLAB_${value?.split(".")[0]}`; + }; + + const getPropertySubtypeLocale = (value) => `PROPERTYTAX_BILLING_SLAB_${value}`; + + let { isLoading, isError, data: applicationDetails, error } = Digit.Hooks.pt.useApplicationDetail(t, tenantId, propertyId); + const { isLoading: assessmentLoading, mutate: assessmentMutate } = Digit.Hooks.pt.usePropertyAssessment(tenantId); + const { + isLoading: ptCalculationEstimateLoading, + data: ptCalculationEstimateData, + mutate: ptCalculationEstimateMutate, + } = Digit.Hooks.pt.usePtCalculationEstimate(tenantId); + const { data: ChargeSlabsMenu, isLoading: isChargeSlabsLoading } = Digit.Hooks.pt.usePropertyMDMS(stateId, "PropertyTax", "ChargeSlabs"); + const fetchBillParams = { consumerCode : propertyId }; + + let ptCalculationEstimateDataCopy; + if(!ptCalculationEstimateDataCopy ) + ptCalculationEstimateDataCopy = ptCalculationEstimateData?.Calculation[0]; + + const paymentDetails = Digit.Hooks.useFetchBillsForBuissnessService( + { businessService: "PT", ...fetchBillParams, tenantId: tenantId }, + { + enabled: propertyId ? true : false, + } + ); + + useEffect(() => { + // estimate calculation + ptCalculationEstimateMutate({ Assessment: AssessmentData }); + }, []); + useEffect(()=>{ + setPenalty(parseInt(ptCalculationEstimateData?.Calculation[0].taxHeadEstimates[6].estimateAmount)) + setRebate(parseInt(ptCalculationEstimateData?.Calculation[0].taxHeadEstimates[5].estimateAmount)) + },[ptCalculationEstimateLoading]) + useEffect(() => { + if (applicationDetails) setAppDetailsToShow(_.cloneDeep(applicationDetails)); + }, [applicationDetails]); + + let workflowDetails = Digit.Hooks.useWorkflowDetails({ + tenantId: applicationDetails?.tenantId || tenantId, + id: applicationDetails?.applicationData?.acknowldgementNumber, + moduleCode: "PT", + role: "PT_CEMP", + // serviceData: applicationDetails, + }); + const date=new Date(); + + appDetailsToShow?.applicationDetails?.shift(); + appDetailsToShow?.applicationDetails?.unshift({ + title: "PT_ESTIMATE_DETAILS_HEADER", + values: [ + { + title: "PT_PROPERTY_PTUID", + value: propertyId, + }, + { + title: "ES_PT_TITLE_BILLING_PERIOD", + value: location?.state?.Assessment?.financialYear, + }, + ], + additionalDetails: { + taxHeadEstimatesCalculation: ptCalculationEstimateData?.Calculation[0], + }, + } + ); + + const closeToast = () => { + setShowToast(null); + }; + + const handleAssessment = () => { + if (!queryClient.getQueryData(["PT_ASSESSMENT", propertyId, location?.state?.Assessment?.financialYear])) { + assessmentMutate( + { Assessment:AssessmentData}, + { + onError: (error, variables) => { + setShowToast({ key: "error", action: error?.response?.data?.Errors[0]?.message || error.message, error : { message:error?.response?.data?.Errors[0]?.code || error.message } }); + setTimeout(closeToast, 5000); + }, + onSuccess: (data, variables) => { + sessionStorage.setItem("IsPTAccessDone", data?.Assessments?.[0]?.auditDetails?.lastModifiedTime); + let user = sessionStorage.getItem("Digit.User") + let userType = JSON.parse(user) + setShowToast({ key: "success", action: { action: "ASSESSMENT" } }); + setTimeout(closeToast, 5000); + console.log("useType.value.info.type",userType,typeof(userType)) + // queryClient.clear(); + // queryClient.setQueryData(["PT_ASSESSMENT", propertyId, location?.state?.Assessment?.financialYear], true); + if(userType?.value?.info?.type == "CITIZEN") + { + history.push(`/digit-ui/citizen/payment/my-bills/PT/${propertyId}`); + } + else{ + proceeedToPay() + } + + }, + } + ); + } + }; + + const proceeedToPay = () => { + history.push(`/digit-ui/employee/payment/collect/PT/${propertyId}`); + }; + + if (ptCalculationEstimateLoading || assessmentLoading||!applicationDetails?.applicationDetails) { + return ; + } + + +let address_to_display=applicationDetails?.applicationData?.address; +if(address_to_display?.doorNo){ + address_to_display=address_to_display?.doorNo+','+address_to_display?.locality?.area+','+address_to_display?.city; +} +else{ + address_to_display=address_to_display?.locality?.area+','+address_to_display?.city; +} + + +const Heading = (props) => { + return

{props.label}

; +}; + +const Close = () => ( + + + + +); + +const CloseBtn = (props) => { + return ( +
+ +
+ ); +}; +function change(){ + let total_amount=ptCalculationEstimateData?.Calculation[0]?.totalAmount + const [first,second]=[parseInt(first_temp.current.value),parseInt(second_temp.current.value)]; + let additionalDetails={ + "adhocPenalty":0, + "adhocExemptionReason":null, + "adhocPenaltyReason":null, + "adhocExemption":0 + } + AssessmentData.additionalDetails=additionalDetails; + if((selectedPenalityReason && first>0)/* &&(!selectedRebateReason) */){ + if(selectPenalityReason.value!=='Others'){ + if(first0){ + if(second0){ + if(second{ + setSelectedPenalityReason(reason); + } + const selectRebateReason=(reason)=>{ + setSelectedRebateReason(reason); + } +/* const RebatePenalityPoPup=() =>{ + return ( + } + headerBarEnd={showPopUp(false)}/>} + actionCancelLabel={t("PT_CANCEL")} + actionCancelOnSubmit={()=>showPopUp(false)} + actionSaveLabel={t("PT_ADD")} + actionSaveOnSubmit={()=>(change())} + hideSubmit={false} + > + { +
+ + {t("PT_AD_PENALTY")} + + {t("PT_TX_HEADS")} + +
+
+
+ +
+
+
+ {selectedPenalityReason && selectedPenalityReason.value==="Others" &&
+ {t("PT_REASON")} +
+
+ +
+
+
} + {t("PT_HEAD_AMT")} +
+
+
+ +
+
+
+
+ + {t("PT_AD_REBATE")} + {t("PT_TX_HEADS")} +
+
+
+ +
+
+
+ {selectedRebateReason && selectedRebateReason.value==="Others" &&
+ {t("PT_REASON")} +
+
+ +
+
+
} + {t("PT_HEAD_AMT")} +
+
+
+ +
+
+
+
+
+ } +
) +} */ + return ( +
+
{t("PT_TX_ASSESSMENT")}
+ {showPopUp(true)}} style={isMobile ? {color:"#a82227",marginLeft:"0px"} : {color:"#a82227"}}>{t("PT_ADD_REBATE_PENALITY")} + }, + { + title: "PT_ASSESMENT_INFO_SUB_HEADER", + values: [ + { title: "PT_ASSESMENT_INFO_TYPE_OF_BUILDING", value: getPropertyTypeLocale(applicationDetails?.applicationData?.propertyType) }, + { title: "PT_ASSESMENT_INFO_USAGE_TYPE", value: getPropertySubtypeLocale(applicationDetails?.applicationData?.usageCategory) }, + { title: "PT_ASSESMENT_INFO_PLOT_SIZE", value: applicationDetails?.applicationData?.landArea }, + { title: "PT_ASSESMENT_INFO_NO_OF_FLOOR", value: applicationDetails?.applicationData?.noOfFloors }, + ], + additionalDetails: { + floors: applicationDetails?.applicationData?.units + ?.filter((e) => e.active) + ?.sort?.((a, b) => a.floorNo - b.floorNo) + ?.map((unit, index) => { + let floorName = `PROPERTYTAX_FLOOR_${unit.floorNo}`; + const values = [ + { + title: `${t("ES_APPLICATION_DETAILS_UNIT")} ${index + 1}`, + value: "", + }, + { + title: "Floor No", + value: unit?.floorNo, + }, + { + title: "PT_ASSESSMENT_UNIT_USAGE_TYPE", + value: `PROPERTYTAX_BILLING_SLAB_${ + unit?.usageCategory != "RESIDENTIAL" ? unit?.usageCategory?.split(".")[1] : unit?.usageCategory + }`, + }, + { + title: "PT_ASSESMENT_INFO_OCCUPLANCY", + value: unit?.occupancyType, + }, + { + title: "PT_FORM2_BUILT_AREA", + value: unit?.constructionDetail?.builtUpArea, + }, + ]; + + if (unit.occupancyType === "RENTED") values.push({ title: "PT_FORM2_TOTAL_ANNUAL_RENT", value: unit.arv }); + + return { + //title: floorName, + title:"", + values: [ + { + title: "", + values, + }, + ], + }; + }), + }, + }, + { + belowComponent:()=>{ + return ( +
+ + {t("PT_CALC_DETAILS")}
+
+ {t("PT_CALC_LOGIC_HEADER")} + {t("PT_CALC_LOGIC")} + {/*
+
*/} +
+

{t("PT_APPLICABLE_CHARGE_SLABS")}

+ {/*

{t("PT_GRND_FLOOR_UNIT-1")}

+
{t("PT_RATE")}
+
*/} + + {applicationDetails?.applicationData?.units + ?.filter((e) => e.active) + ?.sort?.((a, b) => a.floorNo - b.floorNo) + ?.map((unit, index) => ( + ob.floorNo == unit.floorNo)?.[0]?.name} /> + ))} + +
+
+ + ) + } + } + ]} + } + showTimeLine={false} + isLoading={isLoading} + isDataLoading={isLoading} + applicationData={appDetailsToShow?.applicationData} + mutate={null} + workflowDetails={ + queryClient.getQueryData(["PT_ASSESSMENT", propertyId, location?.state?.Assessment?.financialYear]) + ? { ...workflowDetails, data: { ...workflowDetails.data, nextActions: [] } } + : workflowDetails + } + businessService="PT" + assessmentMutate={assessmentMutate} + ptCalculationEstimateMutate={ptCalculationEstimateMutate} + showToast={showToast} + setShowToast={setShowToast} + closeToast={closeToast} + timelineStatusPrefix={"ES_PT_COMMON_STATUS_"} + forcedActionPrefix={"WF_EMPLOYEE_PT.CREATE"} + /> + {/* {popup && ()} */} + { popup && } + headerBarEnd={ {showPopUp(false), ptCalculationEstimateData.Calculation[0] = ptCalculationEstimateDataCopy; setSelectedPenalityReason(null); setSelectedRebateReason(null);}}/>} + actionCancelLabel={t("PT_CANCEL")} + actionCancelOnSubmit={()=>{ptCalculationEstimateData.Calculation[0] = ptCalculationEstimateDataCopy; setSelectedPenalityReason(null);setSelectedRebateReason(null); showPopUp(false)}} + actionSaveLabel={t("PT_ADD")} + actionSaveOnSubmit={()=>(change())} + hideSubmit={false} + > + { +
+ + {t("PT_AD_PENALTY")} + + {t("PT_TX_HEADS")} + +
+
+
+ +
+
+
+ {selectedPenalityReason && selectedPenalityReason.value==="Others" &&
+ {t("PT_REASON")} +
+
+ +
+
+
} + {t("PT_HEAD_AMT")} +
+
+
+ +
+ {/* */} +
+
+
+ + {t("PT_AD_REBATE")} + {t("PT_TX_HEADS")} +
+
+
+ +
+
+
+ {selectedRebateReason && selectedRebateReason.value==="Others" &&
+ {t("PT_REASON")} +
+
+ +
+
+
} + {t("PT_HEAD_AMT")} +
+
+
+ +
+
+
+
+
+ } +
} + {!queryClient.getQueryData(["PT_ASSESSMENT", propertyId, location?.state?.Assessment?.financialYear]) ? ( + + + + ) : ( + + 0 ? false : true} label={t("PT_PROCEED_PAYMENT")} onSubmit={proceeedToPay} /> + + )} +
+ ); +}; + export default AssessmentDetails; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/EditApplication/EditForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/EditApplication/EditForm.js index ff43a1e1221..0f6912a7d63 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/EditApplication/EditForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/EditApplication/EditForm.js @@ -1,4 +1,4 @@ -import { FormComposer, Loader } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useLocation } from "react-router-dom"; @@ -17,10 +17,12 @@ const EditForm = ({ applicationData }) => { setMutationHappened(false); clearSuccessData(); }, []); - + console.log("applicationData",applicationData) +let propertyStructureDetails= {"usageCategory":"","structureType":applicationData?.additionalDetails?.structureType,"ageOfProperty":applicationData?.additionalDetails?.ageOfProperty} const defaultValues = { originalData: applicationData, address: applicationData?.address, + propertyStructureDetails:propertyStructureDetails, owners: applicationData?.owners.map((owner) => ({ ...owner, ownerType: { code: owner.ownerType, i18nKey: owner.ownerType }, @@ -42,6 +44,7 @@ const EditForm = ({ applicationData }) => { }; const onSubmit = (data) => { + console.log("dataaaa",data) const formData = { ...applicationData, address: { @@ -57,7 +60,8 @@ const EditForm = ({ applicationData }) => { noOfFloors: Number(data?.noOfFloors), landArea: Number(data?.landarea), superBuiltUpArea: Number(data?.landarea), - additionalDetails:{...data.originalData.additionalDetails, electricity:data.electricity,uid:data.uid}, + additionalDetails:{...data.originalData.additionalDetails, electricity:data.electricity,uid:data.uid,ageOfProperty:data?.propertyStructureDetails?.ageOfProperty, + structureType:data?.propertyStructureDetails?.structureType}, //electricity:data?.electricity, source: "MUNICIPAL_RECORDS", // required channel: "CFC_COUNTER", // required @@ -88,13 +92,626 @@ const EditForm = ({ applicationData }) => { /* use newConfig instead of commonFields for local development in case needed */ const configs = commonFields ? commonFields : newConfig; - + let conf =[ + { + "head": "ES_NEW_APPLICATION_LOCATION_DETAILS", + "body": [ + { + "route": "map", + "component": "PTSelectGeolocation", + "nextStep": "pincode", + "hideInEmployee": true, + "key": "address", + "texts": { + "header": "PT_GEOLOCATON_HEADER", + "cardText": "PT_GEOLOCATION_TEXT", + "nextText": "PT_COMMON_NEXT", + "skipAndContinueText": "CORE_COMMON_SKIP_CONTINUE" + } + }, + { + "route": "pincode", + "component": "PTSelectPincode", + "texts": { + "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", + "header": "PT_PINCODE_LABEL", + "cardText": "PT_PINCODE_TEXT", + "submitBarLabel": "PT_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE" + }, + "withoutLabel": true, + "key": "address", + "nextStep": "address", + "type": "component" + }, + { + "route": "address", + "component": "PTSelectAddress", + "withoutLabel": true, + "texts": { + "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", + "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_ADDRESS_TEXT", + "cardText": "CS_FILE_APPLICATION_PROPERTY_LOCATION_CITY_MOHALLA_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "address", + "nextStep": "street", + "isMandatory": true, + "type": "component" + }, + { + "type": "component", + "route": "street", + "component": "PTSelectStreet", + "key": "address", + "withoutLabel": true, + "texts": { + "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", + "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_ADDRESS_TEXT", + "cardText": "PT_STREET_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "nextStep": "landmark" + }, + { + "type": "component", + "route": "landmark", + "component": "SelectLandmark", + "withoutLabel": true, + "texts": { + "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", + "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_PROVIDE_LANDMARK_TITLE", + "cardText": "CS_FILE_APPLICATION_PROPERTY_LOCATION_PROVIDE_LANDMARK_TEXT", + "submitBarLabel": "PT_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE" + }, + "key": "address", + "nextStep": "proof", + "hideInEmployee": true + }, + { + "type": "component", + "route": "proof", + "component": "Proof", + "withoutLabel": true, + "texts": { + "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", + "header": "PT_PROOF_OF_ADDRESS_HEADER", + "cardText": "", + "nextText": "PT_COMMONS_NEXT", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "key": "address", + "nextStep": "owner-ship-details@0", + "hideInEmployee": true + } + ] + }, + { + "head": "ES_NEW_APPLICATION_PROPERTY_ASSESSMENT", + "body": [ + { + "route": "info", + "component": "PropertyTax", + "nextStep": "isResidential", + "hideInEmployee": true, + "key": "Documents" + }, + { + "type": "component", + "route": "isResidential", + "isMandatory": true, + "component": "IsResidential", + "texts": { + "headerCaption": "", + "header": "PT_PROPERTY_DETAILS_RESIDENTIAL_PROPERTY_HEADER", + "cardText": "PT_PROPERTY_DETAILS_RESIDENTIAL_PROPERTY_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "isResdential", + "withoutLabel": true, + "hideInEmployee": true, + "nextStep": { + "PT_COMMON_YES": "property-type", + "PT_COMMON_NO": "property-usage-type" + } + }, + { + "type": "component", + "route": "property-usage-type", + "isMandatory": true, + "component": "PropertyUsageType", + "texts": { + "headerCaption": "PT_ASSESMENT_INFO_USAGE_TYPE", + "header": "PT_PROPERTY_DETAILS_USAGE_TYPE_HEADER", + "cardText": "PT_PROPERTY_DETAILS_USAGE_TYPE_TEXT", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "nextStep": "property-type", + "key": "usageCategoryMajor", + "withoutLabel": true + }, + { + "type": "component", + "isMandatory": true, + "component": "ProvideSubUsageType", + "key": "usageCategoryMinor", + "withoutLabel": true + }, + { + "type": "component", + "route": "provide-sub-usage-type", + "isMandatory": true, + "component": "ProvideSubUsageType", + "texts": { + "headerCaption": "PT_ASSESMENT_INFO_USAGE_TYPE", + "header": "PT_ASSESSMENT_FLOW_SUBUSAGE_HEADER", + "cardText": "PT_ASSESSMENT_FLOW_SUBUSAGE_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": { + "yes": "is-any-part-of-this-floor-unoccupied", + "no": "provide-sub-usage-type-of-rented-area" + }, + "hideInEmployee": true + }, + { + "type": "component", + "route": "property-type", + "isMandatory": true, + "component": "PropertyType", + "texts": { + "headerCaption": "", + "header": "PT_ASSESMENT1_PROPERTY_TYPE", + "cardText": "", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "nextStep": { + "COMMON_PROPTYPE_BUILTUP_INDEPENDENTPROPERTY": "number-of-floors", + "COMMON_PROPTYPE_BUILTUP_SHAREDPROPERTY": "provide-floor-no", + "COMMON_PROPTYPE_VACANT": "area" + }, + "key": "PropertyType", + "withoutLabel": true + }, + { + "type": "component", + "isMandatory": true, + "component": "Area", + "key": "landarea", + "withoutLabel": true + }, + { + "type": "component", + "isMandatory": true, + "component": "Electricity", + "key": "electricity", + "withoutLabel": true + }, + { + "type": "component", + "isMandatory": true, + "component": "UID", + "key": "uid", + "withoutLabel": true + }, + { + "type": "component", + "isMandatory": true, + "component": "PropertyStructureDetails", + "key": "propertyStructureDetails", + "withoutLabel": true + }, + { + "type": "component", + "route": "electricity", + "isMandatory": true, + "component": "Electricity", + "texts": { + "headerCaption": "", + "header": "PT_ASSESSMENT_FLOW_AREA_HEADER", + "cardText": "PT_SELFOCCUPIED_AREA", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": { + "yes": "rental-details", + "no": "provide-sub-usage-type", + "vacant": "map" + }, + "hideInEmployee": true + }, + { + "type": "component", + "route": "uid", + "isMandatory": true, + "component": "UID", + "texts": { + "headerCaption": "", + "header": "PT_ASSESSMENT_FLOW_AREA_HEADER", + "cardText": "PT_SELFOCCUPIED_AREA", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": { + "yes": "rental-details", + "no": "provide-sub-usage-type", + "vacant": "map" + }, + "hideInEmployee": true + }, + { + "type": "component", + "route": "area", + "isMandatory": true, + "component": "Area", + "texts": { + "headerCaption": "", + "header": "PT_ASSESSMENT_FLOW_AREA_HEADER", + "cardText": "PT_SELFOCCUPIED_AREA", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": { + "yes": "rental-details", + "no": "provide-sub-usage-type", + "vacant": "map" + }, + "hideInEmployee": true + }, + { + "type": "component", + "route": "number-of-floors", + "isMandatory": true, + "component": "PropertyFloorDetails", + "texts": { + "headerCaption": "", + "header": "BPA_SCRUTINY_DETAILS_NUMBER_OF_FLOORS_LABEL", + "cardText": "PT_PROPERTY_DETAILS_NO_OF_FLOORS_TEXT", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "nextStep": "number-of-basements@0", + "key": "noOfFloors", + "withoutLabel": true + }, + { + "type": "component", + "component": "Units", + "key": "units", + "withoutLabel": true + }, + { + "type": "component", + "route": "provide-floor-no", + "isMandatory": true, + "component": "ProvideFloorNo", + "texts": { + "headerCaption": "", + "header": "PT_FLOOR_NUMBER_HEADER", + "cardText": "", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "nextStep": "floordetails", + "key": "Floorno", + "withoutLabel": true, + "hideInEmployee": true + }, + { + "type": "component", + "route": "is-this-floor-self-occupied", + "isMandatory": true, + "component": "IsThisFloorSelfOccupied", + "texts": { + "headerCaption": "", + "header": "PT_ASSESSMENT_FLOW_FLOOR_OCC_HEADER", + "cardText": "PT_ASSESSMENT_FLOW_FLOOR_OCC_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": { + "PT_YES_IT_IS_SELFOCCUPIED": "provide-sub-usage-type", + "PT_YES_IT_IS_SELFOCCUPIED1": "is-any-part-of-this-floor-unoccupied", + "PT_PARTIALLY_RENTED_OUT": "area", + "PT_PARTIALLY_RENTED_OUT1": "area", + "PT_FULLY_RENTED_OUT": "provide-sub-usage-type-of-rented-area", + "PT_FULLY_RENTED_OUT1": "rental-details" + }, + "hideInEmployee": true + }, + { + "type": "component", + "route": "number-of-basements@0", + "isMandatory": true, + "component": "PropertyBasementDetails", + "texts": { + "headerCaption": "", + "header": "PT_PROPERTY_DETAILS_NO_OF_BASEMENTS_HEADER", + "cardText": "", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "nextStep": { + "PT_NO_BASEMENT_OPTION": "floordetails", + "PT_ONE_BASEMENT_OPTION": "floordetails", + "PT_TWO_BASEMENT_OPTION": "floordetails" + }, + "key": "noOofBasements", + "withoutLabel": true, + "hideInEmployee": true + }, + { + "type": "component", + "route": "floordetails", + "isMandatory": true, + "component": "GroundFloorDetails", + "texts": { + "headerCaption": "", + "cardText": "PT_PROPERTY_DETAILS_FLOOR_DETAILS_TEXT", + "submitBarLabel": "Next" + }, + "nextStep": "is-this-floor-self-occupied", + "key": "units", + "withoutLabel": true, + "hideInEmployee": true + }, + { + "type": "component", + "route": "rental-details", + "isMandatory": true, + "component": "RentalDetails", + "texts": { + "header": "PT_ASSESSMENT_FLOW_RENTAL_DETAIL_HEADER", + "cardText": "", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": "is-any-part-of-this-floor-unoccupied", + "hideInEmployee": true + }, + { + "type": "component", + "route": "provide-sub-usage-type-of-rented-area", + "isMandatory": true, + "component": "ProvideSubUsageTypeOfRentedArea", + "texts": { + "headerCaption": "PT_ASSESMENT_INFO_USAGE_TYPE", + "header": "PT_ASSESSMENT_FLOW_RENT_SUB_USAGE_HEADER", + "cardText": "PT_ASSESSMENT_FLOW_SUBUSAGE_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": "rental-details", + "hideInEmployee": true + }, + { + "type": "component", + "route": "is-any-part-of-this-floor-unoccupied", + "isMandatory": true, + "component": "IsAnyPartOfThisFloorUnOccupied", + "texts": { + "header": "PT_ASSESSMENT_FLOW_ISUNOCCUPIED_HEADER", + "cardText": "PT_ASSESSMENT_FLOW_ISUNOCCUPIED_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": { + "PT_COMMON_NO": "map", + "PT_COMMON_YES": "un-occupied-area" + }, + "hideInEmployee": true + }, + { + "type": "component", + "route": "un-occupied-area", + "isMandatory": true, + "component": "UnOccupiedArea", + "texts": { + "header": "PT_ASSESSMENT_FLOW_UNOCCUPIED_AREA_HEADER", + "cardText": "PT_ASSESSMENT_FLOW_UNOCCUPIED_AREA_TEXT", + "submitBarLabel": "PT_COMMON_NEXT", + "skipText": "" + }, + "key": "units", + "withoutLabel": true, + "nextStep": "map", + "hideInEmployee": true + } + ] + }, + { + "head": "ES_NEW_APPLICATION_OWNERSHIP_DETAILS", + "body": [ + { + "type": "component", + "route": "owner-ship-details@0", + "isMandatory": true, + "component": "SelectOwnerShipDetails", + "texts": { + "headerCaption": "PT_PROPERTIES_OWNERSHIP", + "header": "PT_PROVIDE_OWNERSHIP_DETAILS", + "cardText": "PT_PROVIDE_OWNERSHI_DETAILS_SUB_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "ownershipCategory", + "withoutLabel": true, + "nextStep": { + "INSTITUTIONALPRIVATE": "inistitution-details", + "INSTITUTIONALGOVERNMENT": "inistitution-details", + "INDIVIDUAL.SINGLEOWNER": "owner-details", + "INDIVIDUAL.MULTIPLEOWNERS": "owner-details" + } + }, + { + "isMandatory": true, + "type": "component", + "route": "owner-details", + "key": "owners", + "component": "SelectOwnerDetails", + "texts": { + "headerCaption": "", + "header": "PT_OWNERSHIP_INFO_SUB_HEADER", + "cardText": "PT_FORM3_HEADER_MESSAGE", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "withoutLabel": true, + "nextStep": "special-owner-category", + "hideInEmployee": true + }, + { + "type": "component", + "route": "special-owner-category", + "isMandatory": true, + "component": "SelectSpecialOwnerCategoryType", + "texts": { + "headerCaption": "PT_OWNERS_DETAILS", + "header": "PT_SPECIAL_OWNER_CATEGORY", + "cardText": "PT_FORM3_HEADER_MESSAGE", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": "owner-address", + "hideInEmployee": true + }, + { + "type": "component", + "route": "owner-address", + "isMandatory": true, + "component": "SelectOwnerAddress", + "texts": { + "headerCaption": "PT_OWNERS_DETAILS", + "header": "PT_OWNERS_ADDRESS", + "cardText": "", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": "special-owner-category-proof", + "hideInEmployee": true + }, + { + "type": "component", + "component": "SelectAltContactNumber", + "key": "owners", + "withoutLabel": true, + "hideInEmployee": true + }, + { + "type": "component", + "route": "special-owner-category-proof", + "isMandatory": true, + "component": "SelectSpecialProofIdentity", + "texts": { + "headerCaption": "PT_OWNERS_DETAILS", + "header": "PT_SPECIAL_OWNER_CATEGORY_PROOF_HEADER", + "cardText": "", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": "proof-of-identity", + "hideInEmployee": true + }, + { + "type": "component", + "route": "proof-of-identity", + "isMandatory": true, + "component": "SelectProofIdentity", + "texts": { + "headerCaption": "PT_OWNERS_DETAILS", + "header": "PT_PROOF_IDENTITY_HEADER", + "cardText": "", + "submitBarLabel": "PT_COMMON_NEXT", + "addMultipleText": "PT_COMMON_ADD_APPLICANT_LABEL" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": null, + "hideInEmployee": true + }, + { + "type": "component", + "route": "inistitution-details", + "isMandatory": true, + "component": "SelectInistitutionOwnerDetails", + "texts": { + "headerCaption": "", + "header": "PT_INSTITUTION_DETAILS_HEADER", + "cardText": "PT_FORM3_HEADER_MESSAGE", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": "institutional-owner-address", + "hideInEmployee": true + }, + { + "type": "component", + "route": "institutional-owner-address", + "isMandatory": true, + "component": "SelectOwnerAddress", + "texts": { + "headerCaption": "PT_OWNERS_DETAILS", + "header": "PT_OWNERS_ADDRESS", + "cardText": "", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": "institutional-proof-of-identity", + "hideInEmployee": true + }, + { + "type": "component", + "route": "institutional-proof-of-identity", + "isMandatory": true, + "component": "SelectProofIdentity", + "texts": { + "headerCaption": "PT_OWNERS_DETAILS", + "header": "PT_PROOF_IDENTITY_HEADER", + "cardText": "", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": null, + "hideInEmployee": true + }, + { + "type": "component", + "component": "PTEmployeeOwnershipDetails", + "key": "owners", + "withoutLabel": true, + "hideInCitizen": true + } + ] + }, + { + "head": "ES_NEW_APPLICATION_DOCUMENTS_REQUIRED", + "body": [ + { + "component": "SelectDocuments", + "withoutLabel": true, + "key": "documents", + "type": "component" + } + ] + } + ] return ( { + config={conf.map((config) => { return { ...config, body: [ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/Inbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/Inbox.js index 91a94f0499a..f457e6af1f1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/Inbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/Inbox.js @@ -1,6 +1,6 @@ import React, { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import DesktopInbox from "../../components/DesktopInbox"; import MobileInbox from "../../components/MobileInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/MutationApplicatinDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/MutationApplicatinDetails.js index 37aa1f61dd6..9ec42a790ff 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/MutationApplicatinDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/MutationApplicatinDetails.js @@ -1,4 +1,4 @@ -import { Card, CardSubHeader, Header, LinkButton, Loader, Row, StatusTable, MultiLink } from "@egovernments/digit-ui-react-components"; +import { Card, CardSubHeader, Header, LinkButton, Loader, Row, StatusTable, MultiLink } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/NewApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/NewApplication/index.js index 1754d4b187d..c66978820af 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/NewApplication/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/NewApplication/index.js @@ -1,4 +1,4 @@ -import { FormComposer, Loader,Modal ,Card , CardHeader, StatusTable,Row } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Loader,Modal ,Card , CardHeader, StatusTable,Row } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; @@ -31,6 +31,7 @@ const NewApplication = () => { }, []); const onFormValueChange = (setValue, formData, formState) => { + console.log("formData, formState",formData, formState) setSubmitValve(!Object.keys(formState.errors).length); let addressError= formData?.address?.street == "" || formData?.address?.doorNo == "" || !formData?.address?.doorNo || !formData?.address?.street || Object.keys(formState.errors).length? setSubmitValve(false): setSubmitValve(true); if (Object.keys(formState.errors).length === 1 && (formState.errors?.units?.message.includes("arv")|| formState.errors?.units?.message.includes("RentedMonths") ) ){ @@ -50,11 +51,12 @@ const NewApplication = () => { }; const onSubmit = (data) => { - let dataNew = data?.units?.map((value)=>{ - let additionalDetails ={"structureType" : value.structureType,"ageOfProperty":value.ageOfProperty } - return {...value,additionalDetails} - }) - data.units = dataNew + console.log("datadata",data) + // let dataNew = data?.units?.map((value)=>{ + // let additionalDetails ={"structureType" : value.structureType,"ageOfProperty":value.ageOfProperty } + // return {...value,additionalDetails} + // }) + // data.units = dataNew const formData = { tenantId, address: { @@ -71,10 +73,10 @@ const NewApplication = () => { noOfFloors: Number(data?.noOfFloors), ownershipCategory: data?.ownershipCategory?.code, additionalDetails:{ - RentedMonths: data?.units[0]?.RentedMonths, - NonRentedMonthsUsage: data?.units[0]?.NonRentedMonthsUsage, - // ageOfProperty:data?.units[0]?.ageOfProperty, - // structureType:data?.units[0]?.structureType, + //RentedMonths: data?.units[0]?.RentedMonths, + //NonRentedMonthsUsage: data?.units[0]?.NonRentedMonthsUsage, + ageOfProperty:data?.propertyStructureDetails?.ageOfProperty, + structureType:data?.propertyStructureDetails?.structureType, electricity:data?.electricity, uid:data?.uid }, @@ -145,8 +147,8 @@ const NewApplication = () => { if (!data?.ownershipCategory?.code.includes("INDIVIDUAL")) { formData.institution = { name: data.owners?.[0].institution.name, - type: data.owners?.[0].institution.type?.code?.split(".")[1], - designation: data.owners?.[0].designation, + type:data.owners?.[0].institution?.type?.code, + designation: data.owners?.[0].designation, nameOfAuthorizedPerson: data.owners?.[0].name, tenantId: Digit.ULBService.getCurrentTenantId(), }; @@ -197,14 +199,627 @@ const NewApplication = () => { setShowToast(false) history.replace("/digit-ui/employee/pt/response", { Property: formData }) } - +let conf =[ + { + "head": "ES_NEW_APPLICATION_LOCATION_DETAILS", + "body": [ + { + "route": "map", + "component": "PTSelectGeolocation", + "nextStep": "pincode", + "hideInEmployee": true, + "key": "address", + "texts": { + "header": "PT_GEOLOCATON_HEADER", + "cardText": "PT_GEOLOCATION_TEXT", + "nextText": "PT_COMMON_NEXT", + "skipAndContinueText": "CORE_COMMON_SKIP_CONTINUE" + } + }, + { + "route": "pincode", + "component": "PTSelectPincode", + "texts": { + "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", + "header": "PT_PINCODE_LABEL", + "cardText": "PT_PINCODE_TEXT", + "submitBarLabel": "PT_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE" + }, + "withoutLabel": true, + "key": "address", + "nextStep": "address", + "type": "component" + }, + { + "route": "address", + "component": "PTSelectAddress", + "withoutLabel": true, + "texts": { + "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", + "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_ADDRESS_TEXT", + "cardText": "CS_FILE_APPLICATION_PROPERTY_LOCATION_CITY_MOHALLA_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "address", + "nextStep": "street", + "isMandatory": true, + "type": "component" + }, + { + "type": "component", + "route": "street", + "component": "PTSelectStreet", + "key": "address", + "withoutLabel": true, + "texts": { + "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", + "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_ADDRESS_TEXT", + "cardText": "PT_STREET_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "nextStep": "landmark" + }, + { + "type": "component", + "route": "landmark", + "component": "SelectLandmark", + "withoutLabel": true, + "texts": { + "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", + "header": "CS_FILE_APPLICATION_PROPERTY_LOCATION_PROVIDE_LANDMARK_TITLE", + "cardText": "CS_FILE_APPLICATION_PROPERTY_LOCATION_PROVIDE_LANDMARK_TEXT", + "submitBarLabel": "PT_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE" + }, + "key": "address", + "nextStep": "proof", + "hideInEmployee": true + }, + { + "type": "component", + "route": "proof", + "component": "Proof", + "withoutLabel": true, + "texts": { + "headerCaption": "PT_PROPERTY_LOCATION_CAPTION", + "header": "PT_PROOF_OF_ADDRESS_HEADER", + "cardText": "", + "nextText": "PT_COMMONS_NEXT", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "key": "address", + "nextStep": "owner-ship-details@0", + "hideInEmployee": true + } + ] + }, + { + "head": "ES_NEW_APPLICATION_PROPERTY_ASSESSMENT", + "body": [ + { + "route": "info", + "component": "PropertyTax", + "nextStep": "isResidential", + "hideInEmployee": true, + "key": "Documents" + }, + { + "type": "component", + "route": "isResidential", + "isMandatory": true, + "component": "IsResidential", + "texts": { + "headerCaption": "", + "header": "PT_PROPERTY_DETAILS_RESIDENTIAL_PROPERTY_HEADER", + "cardText": "PT_PROPERTY_DETAILS_RESIDENTIAL_PROPERTY_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "isResdential", + "withoutLabel": true, + "hideInEmployee": true, + "nextStep": { + "PT_COMMON_YES": "property-type", + "PT_COMMON_NO": "property-usage-type" + } + }, + { + "type": "component", + "route": "property-usage-type", + "isMandatory": true, + "component": "PropertyUsageType", + "texts": { + "headerCaption": "PT_ASSESMENT_INFO_USAGE_TYPE", + "header": "PT_PROPERTY_DETAILS_USAGE_TYPE_HEADER", + "cardText": "PT_PROPERTY_DETAILS_USAGE_TYPE_TEXT", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "nextStep": "property-type", + "key": "usageCategoryMajor", + "withoutLabel": true + }, + { + "type": "component", + "isMandatory": true, + "component": "ProvideSubUsageType", + "key": "usageCategoryMinor", + "withoutLabel": true + }, + { + "type": "component", + "route": "provide-sub-usage-type", + "isMandatory": true, + "component": "ProvideSubUsageType", + "texts": { + "headerCaption": "PT_ASSESMENT_INFO_USAGE_TYPE", + "header": "PT_ASSESSMENT_FLOW_SUBUSAGE_HEADER", + "cardText": "PT_ASSESSMENT_FLOW_SUBUSAGE_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": { + "yes": "is-any-part-of-this-floor-unoccupied", + "no": "provide-sub-usage-type-of-rented-area" + }, + "hideInEmployee": true + }, + { + "type": "component", + "route": "property-type", + "isMandatory": true, + "component": "PropertyType", + "texts": { + "headerCaption": "", + "header": "PT_ASSESMENT1_PROPERTY_TYPE", + "cardText": "", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "nextStep": { + "COMMON_PROPTYPE_BUILTUP_INDEPENDENTPROPERTY": "number-of-floors", + "COMMON_PROPTYPE_BUILTUP_SHAREDPROPERTY": "provide-floor-no", + "COMMON_PROPTYPE_VACANT": "area" + }, + "key": "PropertyType", + "withoutLabel": true + }, + { + "type": "component", + "isMandatory": true, + "component": "Area", + "key": "landarea", + "withoutLabel": true + }, + { + "type": "component", + "isMandatory": true, + "component": "Electricity", + "key": "electricity", + "withoutLabel": true + }, + { + "type": "component", + "isMandatory": true, + "component": "UID", + "key": "uid", + "withoutLabel": true + }, + { + "type": "component", + "isMandatory": true, + "component": "PropertyStructureDetails", + "key": "propertyStructureDetails", + "withoutLabel": true + }, + { + "type": "component", + "route": "electricity", + "isMandatory": true, + "component": "Electricity", + "texts": { + "headerCaption": "", + "header": "PT_ASSESSMENT_FLOW_AREA_HEADER", + "cardText": "PT_SELFOCCUPIED_AREA", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": { + "yes": "rental-details", + "no": "provide-sub-usage-type", + "vacant": "map" + }, + "hideInEmployee": true + }, + { + "type": "component", + "route": "uid", + "isMandatory": true, + "component": "UID", + "texts": { + "headerCaption": "", + "header": "PT_ASSESSMENT_FLOW_AREA_HEADER", + "cardText": "PT_SELFOCCUPIED_AREA", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": { + "yes": "rental-details", + "no": "provide-sub-usage-type", + "vacant": "map" + }, + "hideInEmployee": true + }, + { + "type": "component", + "route": "area", + "isMandatory": true, + "component": "Area", + "texts": { + "headerCaption": "", + "header": "PT_ASSESSMENT_FLOW_AREA_HEADER", + "cardText": "PT_SELFOCCUPIED_AREA", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": { + "yes": "rental-details", + "no": "provide-sub-usage-type", + "vacant": "map" + }, + "hideInEmployee": true + }, + { + "type": "component", + "route": "number-of-floors", + "isMandatory": true, + "component": "PropertyFloorDetails", + "texts": { + "headerCaption": "", + "header": "BPA_SCRUTINY_DETAILS_NUMBER_OF_FLOORS_LABEL", + "cardText": "PT_PROPERTY_DETAILS_NO_OF_FLOORS_TEXT", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "nextStep": "number-of-basements@0", + "key": "noOfFloors", + "withoutLabel": true + }, + { + "type": "component", + "component": "Units", + "key": "units", + "withoutLabel": true + }, + { + "type": "component", + "route": "provide-floor-no", + "isMandatory": true, + "component": "ProvideFloorNo", + "texts": { + "headerCaption": "", + "header": "PT_FLOOR_NUMBER_HEADER", + "cardText": "", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "nextStep": "floordetails", + "key": "Floorno", + "withoutLabel": true, + "hideInEmployee": true + }, + { + "type": "component", + "route": "is-this-floor-self-occupied", + "isMandatory": true, + "component": "IsThisFloorSelfOccupied", + "texts": { + "headerCaption": "", + "header": "PT_ASSESSMENT_FLOW_FLOOR_OCC_HEADER", + "cardText": "PT_ASSESSMENT_FLOW_FLOOR_OCC_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": { + "PT_YES_IT_IS_SELFOCCUPIED": "provide-sub-usage-type", + "PT_YES_IT_IS_SELFOCCUPIED1": "is-any-part-of-this-floor-unoccupied", + "PT_PARTIALLY_RENTED_OUT": "area", + "PT_PARTIALLY_RENTED_OUT1": "area", + "PT_FULLY_RENTED_OUT": "provide-sub-usage-type-of-rented-area", + "PT_FULLY_RENTED_OUT1": "rental-details" + }, + "hideInEmployee": true + }, + { + "type": "component", + "route": "number-of-basements@0", + "isMandatory": true, + "component": "PropertyBasementDetails", + "texts": { + "headerCaption": "", + "header": "PT_PROPERTY_DETAILS_NO_OF_BASEMENTS_HEADER", + "cardText": "", + "submitBarLabel": "PT_COMMONS_NEXT" + }, + "nextStep": { + "PT_NO_BASEMENT_OPTION": "floordetails", + "PT_ONE_BASEMENT_OPTION": "floordetails", + "PT_TWO_BASEMENT_OPTION": "floordetails" + }, + "key": "noOofBasements", + "withoutLabel": true, + "hideInEmployee": true + }, + { + "type": "component", + "route": "floordetails", + "isMandatory": true, + "component": "GroundFloorDetails", + "texts": { + "headerCaption": "", + "cardText": "PT_PROPERTY_DETAILS_FLOOR_DETAILS_TEXT", + "submitBarLabel": "Next" + }, + "nextStep": "is-this-floor-self-occupied", + "key": "units", + "withoutLabel": true, + "hideInEmployee": true + }, + { + "type": "component", + "route": "rental-details", + "isMandatory": true, + "component": "RentalDetails", + "texts": { + "header": "PT_ASSESSMENT_FLOW_RENTAL_DETAIL_HEADER", + "cardText": "", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": "is-any-part-of-this-floor-unoccupied", + "hideInEmployee": true + }, + { + "type": "component", + "route": "provide-sub-usage-type-of-rented-area", + "isMandatory": true, + "component": "ProvideSubUsageTypeOfRentedArea", + "texts": { + "headerCaption": "PT_ASSESMENT_INFO_USAGE_TYPE", + "header": "PT_ASSESSMENT_FLOW_RENT_SUB_USAGE_HEADER", + "cardText": "PT_ASSESSMENT_FLOW_SUBUSAGE_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": "rental-details", + "hideInEmployee": true + }, + { + "type": "component", + "route": "is-any-part-of-this-floor-unoccupied", + "isMandatory": true, + "component": "IsAnyPartOfThisFloorUnOccupied", + "texts": { + "header": "PT_ASSESSMENT_FLOW_ISUNOCCUPIED_HEADER", + "cardText": "PT_ASSESSMENT_FLOW_ISUNOCCUPIED_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "units", + "withoutLabel": true, + "nextStep": { + "PT_COMMON_NO": "map", + "PT_COMMON_YES": "un-occupied-area" + }, + "hideInEmployee": true + }, + { + "type": "component", + "route": "un-occupied-area", + "isMandatory": true, + "component": "UnOccupiedArea", + "texts": { + "header": "PT_ASSESSMENT_FLOW_UNOCCUPIED_AREA_HEADER", + "cardText": "PT_ASSESSMENT_FLOW_UNOCCUPIED_AREA_TEXT", + "submitBarLabel": "PT_COMMON_NEXT", + "skipText": "" + }, + "key": "units", + "withoutLabel": true, + "nextStep": "map", + "hideInEmployee": true + } + ] + }, + { + "head": "ES_NEW_APPLICATION_OWNERSHIP_DETAILS", + "body": [ + { + "type": "component", + "route": "owner-ship-details@0", + "isMandatory": true, + "component": "SelectOwnerShipDetails", + "texts": { + "headerCaption": "PT_PROPERTIES_OWNERSHIP", + "header": "PT_PROVIDE_OWNERSHIP_DETAILS", + "cardText": "PT_PROVIDE_OWNERSHI_DETAILS_SUB_TEXT", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "ownershipCategory", + "withoutLabel": true, + "nextStep": { + "INSTITUTIONALPRIVATE": "inistitution-details", + "INSTITUTIONALGOVERNMENT": "inistitution-details", + "INDIVIDUAL.SINGLEOWNER": "owner-details", + "INDIVIDUAL.MULTIPLEOWNERS": "owner-details" + } + }, + { + "isMandatory": true, + "type": "component", + "route": "owner-details", + "key": "owners", + "component": "SelectOwnerDetails", + "texts": { + "headerCaption": "", + "header": "PT_OWNERSHIP_INFO_SUB_HEADER", + "cardText": "PT_FORM3_HEADER_MESSAGE", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "withoutLabel": true, + "nextStep": "special-owner-category", + "hideInEmployee": true + }, + { + "type": "component", + "route": "special-owner-category", + "isMandatory": true, + "component": "SelectSpecialOwnerCategoryType", + "texts": { + "headerCaption": "PT_OWNERS_DETAILS", + "header": "PT_SPECIAL_OWNER_CATEGORY", + "cardText": "PT_FORM3_HEADER_MESSAGE", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": "owner-address", + "hideInEmployee": true + }, + { + "type": "component", + "route": "owner-address", + "isMandatory": true, + "component": "SelectOwnerAddress", + "texts": { + "headerCaption": "PT_OWNERS_DETAILS", + "header": "PT_OWNERS_ADDRESS", + "cardText": "", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": "special-owner-category-proof", + "hideInEmployee": true + }, + { + "type": "component", + "component": "SelectAltContactNumber", + "key": "owners", + "withoutLabel": true, + "hideInEmployee": true + }, + { + "type": "component", + "route": "special-owner-category-proof", + "isMandatory": true, + "component": "SelectSpecialProofIdentity", + "texts": { + "headerCaption": "PT_OWNERS_DETAILS", + "header": "PT_SPECIAL_OWNER_CATEGORY_PROOF_HEADER", + "cardText": "", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": "proof-of-identity", + "hideInEmployee": true + }, + { + "type": "component", + "route": "proof-of-identity", + "isMandatory": true, + "component": "SelectProofIdentity", + "texts": { + "headerCaption": "PT_OWNERS_DETAILS", + "header": "PT_PROOF_IDENTITY_HEADER", + "cardText": "", + "submitBarLabel": "PT_COMMON_NEXT", + "addMultipleText": "PT_COMMON_ADD_APPLICANT_LABEL" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": null, + "hideInEmployee": true + }, + { + "type": "component", + "route": "inistitution-details", + "isMandatory": true, + "component": "SelectInistitutionOwnerDetails", + "texts": { + "headerCaption": "", + "header": "PT_INSTITUTION_DETAILS_HEADER", + "cardText": "PT_FORM3_HEADER_MESSAGE", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": "institutional-owner-address", + "hideInEmployee": true + }, + { + "type": "component", + "route": "institutional-owner-address", + "isMandatory": true, + "component": "SelectOwnerAddress", + "texts": { + "headerCaption": "PT_OWNERS_DETAILS", + "header": "PT_OWNERS_ADDRESS", + "cardText": "", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": "institutional-proof-of-identity", + "hideInEmployee": true + }, + { + "type": "component", + "route": "institutional-proof-of-identity", + "isMandatory": true, + "component": "SelectProofIdentity", + "texts": { + "headerCaption": "PT_OWNERS_DETAILS", + "header": "PT_PROOF_IDENTITY_HEADER", + "cardText": "", + "submitBarLabel": "PT_COMMON_NEXT" + }, + "key": "owners", + "withoutLabel": true, + "nextStep": null, + "hideInEmployee": true + }, + { + "type": "component", + "component": "PTEmployeeOwnershipDetails", + "key": "owners", + "withoutLabel": true, + "hideInCitizen": true + } + ] + }, + { + "head": "ES_NEW_APPLICATION_DOCUMENTS_REQUIRED", + "body": [ + { + "component": "SelectDocuments", + "withoutLabel": true, + "key": "documents", + "type": "component" + } + ] + } +] return (
{ + config={conf.map((config) => { return { ...config, body: config.body.filter((a) => !a.hideInEmployee), diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PaymentDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PaymentDetails.js index 7988208edd9..216b649a3d5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PaymentDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PaymentDetails.js @@ -1,4 +1,4 @@ -import { Card, CardText, Header, LinkLabel, Loader, Row, StatusTable } from "@egovernments/digit-ui-react-components"; +import { Card, CardText, Header, LinkLabel, Loader, Row, StatusTable } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PropertyDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PropertyDetails.js index bd67fb513c2..27f898bc05e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PropertyDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PropertyDetails.js @@ -1,4 +1,4 @@ -import { EditIcon, Header, LinkLabel, Loader, Modal } from "@egovernments/digit-ui-react-components"; +import { EditIcon, Header, LinkLabel, Loader, Modal } from "@upyog/digit-ui-react-components"; import _ from "lodash"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PropertyMutation/docsRequired.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PropertyMutation/docsRequired.js index 3c44b9bf899..b4549909c18 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PropertyMutation/docsRequired.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PropertyMutation/docsRequired.js @@ -1,7 +1,7 @@ import { ActionBar, Card, CardLabel, CardSectionHeader, CardText, Header, Loader, SubmitBar -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PropertyMutation/mutationForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PropertyMutation/mutationForm.js index e7d360f9f0f..29fcf8e0b4e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PropertyMutation/mutationForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/PropertyMutation/mutationForm.js @@ -1,6 +1,6 @@ import React, { useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { FormComposer, Toast } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Toast } from "@upyog/digit-ui-react-components"; import { newConfigMutate } from "../../../config/Mutate/config"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/Search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/Search.js index 4ab1b34e0e8..cb4a3af0f5a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/Search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/Search.js @@ -1,4 +1,4 @@ -import { Header, Localities, Toast } from "@egovernments/digit-ui-react-components"; +import { Header, Localities, Toast } from "@upyog/digit-ui-react-components"; import PropertyType from "../../utils/PropertyType"; import React, { memo, useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/SearchApp.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/SearchApp.js index 454abf35752..246124ad58b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/SearchApp.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/SearchApp.js @@ -1,5 +1,5 @@ import React, { useState } from "react" -import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Toast } from "@egovernments/digit-ui-react-components"; +import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Toast } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import { useParams } from "react-router-dom" import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/UlbAssesment.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/UlbAssesment.js index 0f9ec4c3702..d034d34a591 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/UlbAssesment.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/UlbAssesment.js @@ -1,5 +1,5 @@ import React, { useState } from "react" -import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Toast } from "@egovernments/digit-ui-react-components"; +import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Toast } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import { useParams } from "react-router-dom" import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/index.js index 3757499b67b..19960856c19 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/index.js @@ -1,4 +1,4 @@ -import { PrivateRoute,BreadCrumb } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute,BreadCrumb } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link, Switch, useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/updateNumber.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/updateNumber.js index 3da2e709356..4505b76525f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/updateNumber.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/pages/employee/updateNumber.js @@ -1,7 +1,7 @@ import { FormComposer, Row, StatusTable, Toast, UploadFile -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useCallback, useEffect, useMemo, useReducer, useState } from "react"; import { useForm } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/PaymentDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/PaymentDetails.js index 7988208edd9..216b649a3d5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/PaymentDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/PaymentDetails.js @@ -1,4 +1,4 @@ -import { Card, CardText, Header, LinkLabel, Loader, Row, StatusTable } from "@egovernments/digit-ui-react-components"; +import { Card, CardText, Header, LinkLabel, Loader, Row, StatusTable } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/PropertyType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/PropertyType.js index c3e0c5e7aee..9bec051c881 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/PropertyType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/PropertyType.js @@ -1,5 +1,5 @@ import React from "react"; -import {Dropdown,Loader} from "@egovernments/digit-ui-react-components"; +import {Dropdown,Loader} from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const PropertyType = ({ selectLocality, keepNull, selected, optionCardStyles, style, disable, disableLoader }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/UploadFile.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/UploadFile.js new file mode 100644 index 00000000000..e1629c896bc --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/UploadFile.js @@ -0,0 +1,353 @@ +import React, { useEffect, useRef, useState, Fragment } from "react"; +import ButtonSelector from "./ButtonSelector"; +import { useTranslation } from "react-i18next"; +import RemoveableTag from "./RemoveableTag"; + + +const getRandomId = () => { + return Math.floor((Math.random() || 1) * 139); +}; + +const getCitizenStyles = (value) => { + let citizenStyles = {}; + if (value == "propertyCreate") { + citizenStyles = { + textStyles: { + whiteSpace: "nowrap", + width: "100%", + overflow: "hidden", + textOverflow: "ellipsis", + width: "80%" + }, + tagStyles: { + width: "90%", + flexWrap: "nowrap", + }, + inputStyles: { + width: "44%", + minHeight: "2rem", + maxHeight: "3rem", + top: "20%" + }, + buttonStyles: { + height: "auto", + minHeight: "2rem", + width: "40%", + maxHeight: "3rem" + }, + tagContainerStyles: { + width: "60%", + display: "flex", + marginTop: "0px" + }, + closeIconStyles: { + width : "20px" + }, + containerStyles: { + padding: "10px", + marginTop: "0px" + }, + + }; + } else if (value == "IP") { + citizenStyles = { + textStyles: { + whiteSpace: "nowrap", + maxWidth: "250px", + overflow: "hidden", + textOverflow: "ellipsis", + }, + tagStyles: { + marginLeft:"-30px" + }, + inputStyles: {}, + closeIconStyles: { + position:"absolute", + marginTop:"-12px" + }, + buttonStyles: {}, + tagContainerStyles: {}, + }; + } else if (value == "OBPS") { + citizenStyles = { + containerStyles: { + display: "flex", + justifyContent: "flex-start", + alignItems: "center", + flexWrap: "wrap", + margin: "0px", + padding: "0px" + }, + tagContainerStyles: { + margin: "0px", + padding: "0px", + width: "46%" + }, + tagStyles: { + height: "auto", + padding: "5px", + margin: 0, + width: "100%", + margin: "5px" + }, + textStyles: { + wordBreak: "break-word", + height: "auto", + lineHeight: "16px", + overflow: "hidden", + // minHeight: "35px", + maxHeight: "34px" + }, + inputStyles: { + width: "43%", + minHeight: "42px", + maxHeight: "42px", + top: "5px", + left: "5px" + }, + buttonStyles: { + height: "auto", + minHeight: "40px", + width: "43%", + maxHeight: "40px", + margin: "5px", + padding: "0px" + }, + closeIconStyles: { + width : "20px" + }, + uploadFile: { + minHeight: "50px" + } + }; + } + else { + citizenStyles = { + textStyles: {}, + tagStyles: {}, + inputStyles: {}, + buttonStyles: {}, + tagContainerStyles: {}, + }; + } + return citizenStyles; +}; + +const UploadFileDigiLocker = (props) => { + const { t } = useTranslation(); + const inpRef = useRef(); + const [hasFile, setHasFile] = useState(false); + const [prevSate, setprevSate] = useState(null); + const [showModal, setShowModal] = useState(false); + const user_type = Digit.SessionStorage.get("userType"); + const { isLoading, isSuccess,error,count,data:dataNew, mutate: assessmentMutate } = Digit.Hooks.createTokenAPI("document"); + let extraStyles = {}; + const handleChange = () => { + if (inpRef.current.files[0]) + { setHasFile(true); + setprevSate(inpRef.current.files[0]) + } + else setHasFile(false); + }; + const closeModal = () => { + setShowModal(false); +} + // for common aligmnent issues added common styles + extraStyles = getCitizenStyles("OBPS"); + const handleDelete = () => { + inpRef.current.value = ""; + props.onDelete(); + }; + const handleEmpty = () => { + if(inpRef.current.files.length <= 0 && prevSate !== null) + { inpRef.current.value = ""; + props.onDelete(); + } + }; + + if (props.uploadMessage && inpRef.current.value) { + handleDelete(); + setHasFile(false); + } + useEffect(() => handleEmpty(), [inpRef?.current?.files]) + + useEffect(() => handleChange(), [props.message]); + + const dataURItoBlob = (dataURI) => { + var binary = atob(dataURI.split(',')[1]); + var array = []; + for (var i = 0; i < binary.length; i++) { + array.push(binary.charCodeAt(i)); + } + return new Blob([new Uint8Array(array)], { type: 'application/pdf' }); + }; +/* this fetchDigiLockerDocuments function is used to fetch documents from Digilocker*/ + + const fetchDigiLockerDocuments = async (e) => { + e.preventDefault() + + const digiLockerToken = sessionStorage.getItem('DigiLocker.token1') + let TokenReq = { + "authToken":digiLockerToken + } + const res1 = await Digit.DigiLockerService.issueDoc({TokenReq }) + console.log("res1res1res1res1res1",res1) + let uri = res1.IssuedDoc.filter((item)=>{ + return item.doctype == "DRVLC" + }) + let TokenReqNew = { + "authToken":digiLockerToken, + "id":uri?.[0]?.uri, + } + + console.log("url",uri) + if(uri?.length>0) + { + const res2 = await Digit.DigiLockerService.uri({"TokenReq":TokenReqNew}) + + let c= new Blob([res2]) + convertToFile(e,c) + + // fetch('https://api.digitallocker.gov.in/public/oauth2/1/file/' + uri?.[0]?.uri, { + // method: 'GET', + // mode: 'cors', + // headers: { + // "Authorization": code1, + // "Access-Control-Allow-Origin": "*", + // "Accept":"*/*" + + // }, + // }).then(res => res.blob().then(data =>{ + // console.log("resssssssss",res) + // var reader = new FileReader(); + // reader.readAsDataURL(data); + // reader.onloadend = function () { + // var base64data = reader.result; + // var blobData = dataURItoBlob(base64data); + // let newFile= new File([blobData], `drivingL.pdf`, { type: "application/pdf" }) + // console.log("newFile",newFile) + // props.onUpload(e,newFile) + // // const response1 = Digit.UploadServices.Filestorage("property-upload", newFile, Digit.ULBService.getStateId()); + // // console.log("fffffffff",response1) + // } + // }).catch(err =>{console.log("pdffff",err)}) + // ) + + } + // console.log("data",data) + // fetch('https://api.digitallocker.gov.in/public/oauth2/2/files/issued', { + // method: 'GET', + // mode: 'cors', + // headers: { + // "Authorization": code1, + // "Access-Control-Allow-Origin": "*", + // }, + // }).then(response => + // response.json().then(data => ({ + // data: data, + // }))).then(res => { + // console.log("step 2",res) + // fetch('https://api.digitallocker.gov.in/public/oauth2/1/file/' + res.data.items[0].uri, { + // method: 'GET', + // mode: 'cors', + // headers: { + // "Authorization": code1, + // "Access-Control-Allow-Origin": "*", + // "Accept":"*/*" + + // }, + // }).then(res => res.blob().then(data =>{ + // var reader = new FileReader(); + // reader.readAsDataURL(data); + // reader.onloadend = function () { + // var base64data = reader.result; + // var blobData = dataURItoBlob(base64data); + // let newFile= new File([blobData], `drivingL.pdf`, { type: "application/pdf" }) + // console.log("newFile",newFile) + // props.onUpload(e,newFile) + // // const response1 = Digit.UploadServices.Filestorage("property-upload", newFile, Digit.ULBService.getStateId()); + // // console.log("fffffffff",response1) + // } + // }).catch(err =>{console.log("pdffff",err)}) + // ) + // }).catch(error => console.log('error2', error)) + + } + const convertToFile = (e,blob) => { + var reader = new FileReader(); + reader.readAsDataURL(blob); + reader.onloadend = function () { + var base64data = reader.result; + var blobData = dataURItoBlob(base64data); + let newFile = new File([blobData], `drivingL.pdf`, { type: "application/pdf" }) + props.onUpload(e, newFile) + }; + + }; + const Close = () => ( + + + + ); + const showHint = props?.showHint || false; + return ( + + {showHint &&

{t(props?.hintText)}

} +
+
+ + OR +
+ +
+ {props?.uploadedFiles?.map((file, index) => { + const fileDetailsData = file[1] + return
+ props?.removeTargetedFile(fileDetailsData, e)} /> +
+ })} + {!hasFile || props.error ? ( +

{props.message}

+ ) : ( +
+
+ + {(typeof inpRef.current.files[0]?.name !== "undefined") && !(props?.file) ? inpRef.current.files[0]?.name : props.file?.name} + + handleDelete()} style={extraStyles ? extraStyles?.closeIconStyles : null}> + + +
+
+ )} +
+ props.onUpload(e)} + onClick ={ event => { + const { target = {} } = event || {}; + target.value = ""; + }} + /> +
+ {props.iserror &&

{props.iserror}

} + {props?.showHintBelow &&

{t(props?.hintText)}

} +
+ ); +}; + +export default UploadFileDigiLocker; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/index.js index 6e214780e57..b192fa44b32 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/pt/src/utils/index.js @@ -297,6 +297,7 @@ export const getusageCategory = (data, i) => { }; export const getunits = (data) => { + console.log("datadatadatadatadatadatadata",data) let unit = []; if (data?.selfOccupied?.i18nKey === "PT_YES_IT_IS_SELFOCCUPIED" && data?.IsAnyPartOfThisFloorUnOccupied.i18nKey === "PT_COMMON_YES") { unit.push({ @@ -369,6 +370,7 @@ export const getunits = (data) => { }; export const getunitarray = (i, unitsdata, unit, data) => { + console.log("unitsdataunitsdataunitsdata"),unitsdata if (unitsdata[i].active === true) { unit.push(unitsdata[i]); } else if ( @@ -473,7 +475,7 @@ export const setPropertyDetails = (data) => { landArea: parseInt(data?.landarea?.floorarea), propertyType: data?.PropertyType?.code, noOfFloors: 0, - usageCategory: getUsageType(data), + usageCategory: data?.propertyStructureDetails?.usageCategory?.code, }; } else if (data?.PropertyType?.code?.includes("SHAREDPROPERTY")) { /* update this case tulika*/ @@ -522,10 +524,11 @@ export const setPropertyDetails = (data) => { /* method to convert collected details to proeprty create object */ export const convertToProperty = (data = {}) => { - let dataNew = data?.units?.map((value) => { - let additionalDetails = { "structureType": value?.structureType, "ageOfProperty": value?.ageOfProperty } - return { ...value, additionalDetails } - }) + console.log("data",data) + // let dataNew = data?.units?.map((value) => { + // let additionalDetails = { "structureType": value?.structureType, "ageOfProperty": value?.ageOfProperty } + // return { ...value, additionalDetails } + // }) let isResdential = data.isResdential; let propertyType = data.PropertyType; let selfOccupied = data.selfOccupied; @@ -535,7 +538,7 @@ export const convertToProperty = (data = {}) => { let builtUpArea = data?.floordetails?.builtUpArea || null; let noOfFloors = data?.noOfFloors; let noOofBasements = data?.noOofBasements; - let unit = dataNew; + let unit = data?.units; let basement1 = Array.isArray(data?.units) && data?.units["-1"] ? data?.units["-1"] : null; let basement2 = Array.isArray(data?.units) && data?.units["-2"] ? data?.units["-2"] : null; data = setDocumentDetails(data); @@ -567,11 +570,12 @@ export const convertToProperty = (data = {}) => { builtUpArea: builtUpArea, noOfFloors: noOfFloors, noOofBasements: noOofBasements, - unit: unit, basement1: basement1, basement2: basement2, electricity:data.electricity.electricity, - uid:data.uid.uid + uid:data.uid.uid, + ageOfProperty: data.propertyStructureDetails.ageOfProperty, + structureType:data.propertyStructureDetails.structureType, }, @@ -769,6 +773,8 @@ export const convertToUpdateProperty = (data = {}, t) => { unit: unit, basement1: basement1, basement2: basement2, + ageOfProperty: data.propertyStructureDetails.ageOfProperty, + structureType:data.propertyStructureDetails.structureType, }, creationReason: getCreationReason(data), diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/README.md b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/README.md new file mode 100644 index 00000000000..e69de29bb2d diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/package.json new file mode 100644 index 00000000000..faef8ef1613 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/package.json @@ -0,0 +1,32 @@ +{ + "name": "@upyog-niua/upyog-ui-module-ptr", + "version": "1.0.5", + "license": "MIT", + "main": "dist/index.js", + "module": "dist/index.modern.js", + "source": "src/Module.js", + "files": [ + "dist" + ], + "scripts": { + "start": "microbundle-crl watch --no-compress --format modern,cjs", + "build": "microbundle-crl --compress --no-sourcemap --format cjs", + "prepublish": "yarn build" + }, + "peerDependencies": { + "react": "17.0.2", + "react-router-dom": "5.3.0" + }, + "dependencies": { + "@upyog/digit-ui-libraries": "1.7.0-beta.4", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "lodash.merge": "^4.6.2", + "microbundle-crl": "^0.13.11", + "react": "17.0.2", + "react-dom": "17.0.2", + "react-hook-form": "6.15.8", + "react-i18next": "11.16.2", + "react-query": "3.6.1", + "react-router-dom": "5.3.0" + } +} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/Module.js new file mode 100644 index 00000000000..602280fd4fd --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/Module.js @@ -0,0 +1,145 @@ +import { Header, CitizenHomeCard, PTIcon } from "@upyog/digit-ui-react-components"; +import React, { useEffect } from "react"; +import { useTranslation } from "react-i18next"; +import { useRouteMatch } from "react-router-dom"; +import PTRPetdetails from "./pageComponents/PTRPetdetails"; +import PTROwnerDetails from "./pageComponents/PTROwnerDetails"; +import PTRCitizenPet from "./pageComponents/PTRCitizenPet"; +import PTRDocumentUpload from "./pageComponents/PTRDocumentUpload"; +import PTRSelectStreet from "./pageComponents/PTRSelectStreet"; +import PTRCreate from "./pages/citizen/Create"; +import PTRCitizenDetails from "./pageComponents/PTRCitizenDetails"; +import PTRCitizenAddress from "./pageComponents/PTRCitizenAddress"; +import PTRSelectPincode from "./pageComponents/PTRSelectPincode"; +import PTRSelectAddress from "./pageComponents/PTRSelectAddress"; +import PTRSelectProofIdentity from "./pageComponents/PTRSelectProofIdentity"; +import PTRServiceDoc from "./pageComponents/PTRServiceDoc"; +import PTRWFApplicationTimeline from "./pageComponents/PTRWFApplicationTimeline"; +import CitizenApp from "./pages/citizen"; +import PTRCheckPage from "./pages/citizen/Create/CheckPage"; +import PTRAcknowledgement from "./pages/citizen/Create/PTRAcknowledgement"; +import { PTRMyApplications } from "./pages/citizen/PTRMyApplications"; +import PTRApplicationDetails from "./pages/citizen/PTRApplicationDetails"; +import PTRWFCaption from "./pageComponents/PTRWFCaption"; +import PTRWFReason from "./pageComponents/PTRWFReason"; +import EmployeeApp from "./pages/employee"; +import PTRCard from "./components/PTRCard"; +import InboxFilter from "./components/inbox/NewInboxFilter"; +import { TableConfig } from "./config/inbox-table-config"; +import NewApplication from "./pages/employee/NewApplication"; +import ApplicationDetails from "./pages/employee/ApplicationDetails"; +import Response from "./pages/Response"; +import SelectOtp from "../../core/src/pages/citizen/Login/SelectOtp"; +import CitizenFeedback from "@upyog/digit-ui-module-core/src/components/CitizenFeedback"; +import AcknowledgementCF from "@upyog/digit-ui-module-core/src/components/AcknowledgementCF"; + + + +const componentsToRegister = { + PTRCheckPage, + PTRAcknowledgement, + PTRWFCaption, + PTRWFReason, + PTRNewApplication: NewApplication, + ApplicationDetails: ApplicationDetails, + PTRResponse: Response, + PTRMyApplications: PTRMyApplications, + PTRApplicationDetails: PTRApplicationDetails, + SelectOtp, // To-do: Temp fix, Need to check why not working if selectOtp module is already imported from core module + AcknowledgementCF, + CitizenFeedback, + PTRPetdetails, + PTROwnerDetails, + PTRCreatePet: PTRCreate, + PTRDocumentUpload, + PTRSelectStreet, + PTRCitizenDetails, + PTRCitizenPet, + PTRCitizenAddress, + PTRSelectPincode, + PTRSelectAddress, + PTRSelectProofIdentity, + PTRServiceDoc, + PTRWFApplicationTimeline, + + + + + + +}; + +const addComponentsToRegistry = () => { + Object.entries(componentsToRegister).forEach(([key, value]) => { + Digit.ComponentRegistryService.setComponent(key, value); + }); +}; + + +export const PTRModule = ({ stateCode, userType, tenants }) => { + const { path, url } = useRouteMatch(); + + const moduleCode = "PTR"; + const language = Digit.StoreData.getCurrentLanguage(); + const { isLoading, data: store } = Digit.Services.useStore({ stateCode, moduleCode, language }); + + addComponentsToRegistry(); + + Digit.SessionStorage.set("PTR_TENANTS", tenants); + + useEffect( + () => + userType === "employee" && + Digit.LocalizationService.getLocale({ + modules: [`rainmaker-${Digit.ULBService.getCurrentTenantId()}`], + locale: Digit.StoreData.getCurrentLanguage(), + tenantId: Digit.ULBService.getCurrentTenantId(), + }), + [] + ); + + if (userType === "employee") { + return ; + } else return ; +}; + +export const PTRLinks = ({ matchPath, userType }) => { + const { t } = useTranslation(); + const [params, setParams, clearParams] = Digit.Hooks.useSessionStorage("PTR_PET", {}); + + useEffect(() => { + clearParams(); + }, []); + + const links = [ + + { + link: `${matchPath}/ptr/petservice/new-application`, + i18nKey: t("PTR_CREATE_PET_APPLICATION"), + }, + + { + link: `${matchPath}/ptr/petservice/my-application`, + i18nKey: t("PTR_MY_APPLICATIONS_HEADER"), + }, + + { + link: `${matchPath}/howItWorks`, + i18nKey: t("PTR_HOW_IT_WORKS"), + }, + { + link: `${matchPath}/faqs`, + i18nKey: t("PTR_FAQ_S"), + }, + ]; + + return } />; +}; + +export const PTRComponents = { + PTRCard, + PTRModule, + PTRLinks, + PT_INBOX_FILTER: (props) => , + PTRInboxTableConfig: TableConfig, +}; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/MobileInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/MobileInbox.js new file mode 100644 index 00000000000..b7669a4b63e --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/MobileInbox.js @@ -0,0 +1,59 @@ +import React, { useEffect, useState } from "react"; +import { useTranslation } from "react-i18next"; +import { ApplicationCard } from "./inbox/ApplicationCard"; +import ApplicationLinks from "./inbox/ApplicationLinks"; + +const MobileInbox = ({ + data, + isLoading, + isSearch, + searchFields, + onFilterChange, + onSearch, + onSort, + parentRoute, + searchParams, + sortParams, + linkPrefix, + tableConfig, + filterComponent, +}) => { + const { t } = useTranslation(); + const getData = () => { + return data?.map((dataObj) => { + const obj = {}; + const columns = isSearch ? tableConfig.searchColumns() : tableConfig.inboxColumns(); + columns.forEach((el) => { + if (el.mobileCell) obj[el.Header] = el.mobileCell(dataObj); + }); + return obj; + }); + }; + + return ( +
+
+
+ {!isSearch && } + +
+
+
+ ); +}; + +export default MobileInbox; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PTRCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PTRCard.js new file mode 100644 index 00000000000..2cd9f8f2b29 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PTRCard.js @@ -0,0 +1,63 @@ +import React, { useEffect, useState } from "react"; +import { Link } from "react-router-dom"; +import { useTranslation } from "react-i18next"; +import { EmployeeModuleCard, PropertyHouse } from "@upyog/digit-ui-react-components"; + +const PTRCard = () => { + const { t } = useTranslation(); + + const [total, setTotal] = useState("-"); + const { data, isLoading, isFetching, isSuccess } = Digit.Hooks.useNewInboxGeneral({ + tenantId: Digit.ULBService.getCurrentTenantId(), + ModuleCode: "PTR", + filters: { limit: 10, offset: 0, services: ["ptr"] }, + + config: { + select: (data) => { + return {totalCount:data?.totalCount,nearingSlaCount:data?.nearingSlaCount} || "-"; + }, + enabled: Digit.Utils.ptAccess(), + }, + }); + + useEffect(() => { + if (!isFetching && isSuccess) setTotal(data); + }, [isFetching]); + + if (!Digit.Utils.ptAccess()) { + return null; + } + const links=[ + { + count: isLoading ? "-" : total?.totalCount, + label: t("ES_COMMON_INBOX"), + link: `/digit-ui/employee/ptr/petservice/inbox`, + }, + { + label: t("PTR_TITLE_NEW_PET_REGISTRATION"), + link: `/digit-ui/employee/ptr/petservice/new-application`, + role: "PT_CEMP" + }, + { + label: t("ES_COMMON_APPLICATION_SEARCH"), + link: `/digit-ui/employee/ptr/petservice/my-applications`, + }, + ] + const PT_CEMP = Digit.UserService.hasAccess(["PT_CEMP"]) || false; + const propsForModuleCard = { + Icon: , + moduleName: t("PTR_TITLE_PET_REGISTRATION"), + kpis: [ + { + count: total?.totalCount, + label: t("ES_TITLE_INBOX"), + link: `/digit-ui/employee/ptr/petservice/inbox`, + }, + ], + links:links.filter(link=>!link?.role||PT_CEMP), + }; + + return ; +}; + +export default PTRCard; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PTRDesktopInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PTRDesktopInbox.js new file mode 100644 index 00000000000..2fd24d0a916 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PTRDesktopInbox.js @@ -0,0 +1,112 @@ +import { Card, Loader } from "@upyog/digit-ui-react-components"; +import React, { useState } from "react"; +import { useTranslation } from "react-i18next"; +import ApplicationTable from "./inbox/ApplicationTable"; +import InboxLinks from "./inbox/InboxLink"; +import SearchApplication from "./inbox/search"; + +const PTRDesktopInbox = ({ tableConfig, filterComponent, ...props }) => { + + const { data, useNewInboxAPI } = props; + const { t } = useTranslation(); + const [FilterComponent, setComp] = useState(() => Digit.ComponentRegistryService?.getComponent(filterComponent)); + const [EmptyInboxComp, setEmptyInboxComp] = useState(() => { + const com = Digit.ComponentRegistryService?.getComponent(props.EmptyResultInboxComp); + return com; + }); + + const [clearSearchCalled, setClearSearchCalled] = useState(false); + + const columns = React.useMemo(() => (props.isSearch ? tableConfig.searchColumns(props) : tableConfig.inboxColumns(props) || []), []); + + let result; + if (props.isLoading) { + result = ; + } else if (clearSearchCalled) { + result = null; + } else if (!data || data?.length === 0 || (useNewInboxAPI && data?.[0].dataEmpty)) { + result = + (EmptyInboxComp && ) || + (data?.length === 0 || (useNewInboxAPI && data?.[0].dataEmpty) ? ( + + {t("CS_MYAPPLICATIONS_NO_APPLICATION") + .split("\\n") + .map((text, index) => ( +

+ {text} +

+ ))} +
+ ) : ( + + )); + } else if (data?.length > 0) { + result = ( + { + return { + style: { + minWidth: cellInfo.column.Header === t("ES_INBOX_APPLICATION_NO") ? "240px" : "", + padding: "20px 18px", + fontSize: "16px", + }, + }; + }} + onPageSizeChange={props.onPageSizeChange} + currentPage={props.currentPage} + onNextPage={props.onNextPage} + onPrevPage={props.onPrevPage} + pageSizeLimit={props.pageSizeLimit} + onSort={props.onSort} + disableSort={props.disableSort} + sortParams={props.sortParams} + totalRecords={props.totalRecords} + /> + ); + } + + return ( +
+ {!props.isSearch && ( +
+ +
+ { + + } +
+
+ )} +
+ { + props.onSearch(d); + setClearSearchCalled(false); + }} + type="desktop" + searchFields={props.searchFields} + isInboxPage={!props?.isSearch} + searchParams={props.searchParams} + clearSearch={() => setClearSearchCalled(true)} + /> +
+ {result} +
+
+
+ ); +}; + +export default PTRDesktopInbox; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PTRTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PTRTimeline.js new file mode 100644 index 00000000000..ac3d9dabde9 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PTRTimeline.js @@ -0,0 +1,35 @@ +import React from "react"; +import { useTranslation } from "react-i18next"; +import { TickMark } from "@upyog/digit-ui-react-components"; + +let actions = []; + +const getAction = (flow) => { + switch (flow) { + case "STAKEHOLDER": + actions = []; + break; + default: + actions = ["ES_TITILE_OWNER_DETAILS", "ES_TITILE_PET_DETAILS", "PTR_LOCATION_DETAILS", "ES_TITILE_DOCUMENT_DETAILS","PTR_SUMMARY"]; + } +}; +const Timeline = ({ currentStep = 1, flow = "" }) => { + const { t } = useTranslation(); + const isMobile = window.Digit.Utils.browser.isMobile(); + getAction(flow); + return ( +
+ {actions.map((action, index, arr) => ( +
+
+ {index < currentStep - 1 ? : index + 1} + {t(action)} +
+ {index < arr.length - 1 && } +
+ ))} +
+ ); +}; + +export default Timeline; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PetCaption.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PetCaption.js new file mode 100644 index 00000000000..254c6110448 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/PetCaption.js @@ -0,0 +1,19 @@ +import React from "react"; +import { useTranslation } from "react-i18next"; +import { TelePhone } from "@upyog/digit-ui-react-components"; +import Reason from "./Reason"; + +const PetCaption = ({ data }) => { + const { t } = useTranslation(); + return ( +
+ {data.date &&

{data.date}

} +

{data.name}

+ {data.mobileNumber && } + {data.source &&

{t("ES_APPLICATION_DETAILS_APPLICATION_CHANNEL_" + data.source.toUpperCase())}

} + {data.comment && } +
+ ); +}; + +export default PetCaption; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/Reason.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/Reason.js new file mode 100644 index 00000000000..0f226935c5b --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/Reason.js @@ -0,0 +1,10 @@ +import React from "react"; + +const Reason = ({ headComment, otherComment }) => ( +
+

{headComment}

+

{otherComment}

+
+); + +export default Reason; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/SearchApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/SearchApplication.js new file mode 100644 index 00000000000..0bd356c9bbf --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/SearchApplication.js @@ -0,0 +1,252 @@ + import React, { useCallback, useMemo, useEffect } from "react" + import { useForm, Controller } from "react-hook-form"; + import { TextInput, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Table, Card, MobileNumber, Loader, CardText, Header } from "@upyog/digit-ui-react-components"; + import { Link } from "react-router-dom"; + + const PTRSearchApplication = ({tenantId, isLoading, t, onSubmit, data, count, setShowToast }) => { + const isMobile = window.Digit.Utils.browser.isMobile(); + const { register, control, handleSubmit, setValue, getValues, reset, formState } = useForm({ + defaultValues: { + offset: 0, + limit: !isMobile && 10, + sortBy: "commencementDate", + sortOrder: "DESC" + } + }) + useEffect(() => { + register("offset", 0) + register("limit", 10) + register("sortBy", "commencementDate") + register("sortOrder", "DESC") + },[register]) + + const applicationStatuses = [ + { + code: "ACTIVE", + i18nKey: "WF_PTR_ACTIVE" + }, + { + code: "INACTIVE", + i18nKey: "WF_PTR_INACTIVE" + }, + { + code: "INWORKFLOW", + i18nKey: "WF_PTR_INWORKFLOW" + }, + ] + + + const GetCell = (value) => {value}; + const columns = useMemo( () => ([ + + { + Header: t("PTR_APPLICATION_NUMBER"), + accessor: "applicationNumber", + disableSortBy: true, + Cell: ({ row }) => { + return ( +
+ + + {row.original["applicationNumber"]} + + +
+ ); + }, + }, + + + { + Header: t("PTR_APPLICANT_NAME"), + Cell: ( row ) => { + return GetCell(`${row?.row?.original?.["applicantName"]}`) + + }, + disableSortBy: true, + }, + { + Header: t("PTR_PET_TYPE"), + Cell: ({ row }) => { + return GetCell(`${row.original?.petDetails?.["petType"]}`) + }, + disableSortBy: true, + + }, + { + Header: t("PTR_BREED_TYPE"), + Cell: ({ row }) => { + return GetCell(`${row.original?.petDetails?.["breedType"]}`) + }, + disableSortBy: true, + }, + { + Header: t("PTR_MOBILE_NUMBER"), + Cell: ({ row }) => { + return GetCell(`${row?.original?.["mobileNumber"]}`) + }, + disableSortBy: true, + }, + ]), [] ) + + const onSort = useCallback((args) => { + if (args.length === 0) return + setValue("sortBy", args.id) + setValue("sortOrder", args.desc ? "DESC" : "ASC") + }, []) + + function onPageSizeChange(e){ + setValue("limit",Number(e.target.value)) + handleSubmit(onSubmit)() + } + + function nextPage () { + setValue("offset", getValues("offset") + getValues("limit")) + handleSubmit(onSubmit)() + } + function previousPage () { + setValue("offset", getValues("offset") - getValues("limit") ) + handleSubmit(onSubmit)() + } + let validation={} + + return + +
+
{t("PTR_SEARCH_PET_APPLICATIONS")}
+ < Card className={"card-search-heading"}> + {t("Provide at least one parameter to search for an application")} + + + + + + + + + + + + + +91
} + //maxlength={10} + /> + {formState?.errors?.["mobileNumber"]?.message} + + + + + + + + ( + + )} + /> + + + + } + name="fromDate" + control={control} + /> + + + + } + name="toDate" + control={control} + /> + + + +

{ + reset({ + applicationNumber: "", + fromDate: "", + toDate: "", + petType: "", + mobileNumber:"", + status: "", + breedType: "", + offset: 0, + limit: 10, + sortBy: "commencementDate", + sortOrder: "DESC" + }); + setShowToast(null); + previousPage(); + }}>{t(`ES_COMMON_CLEAR_ALL`)}

+
+ + {!isLoading && data?.display ? + { + t(data.display) + .split("\\n") + .map((text, index) => ( +

+ {text} +

+ )) + } +
+ :(!isLoading && data !== ""?
{ + return { + style: { + minWidth: cellInfo.column.Header === t("PTR_INBOX_APPLICATION_NO") ? "240px" : "", + padding: "20px 18px", + fontSize: "16px" + }, + }; + }} + onPageSizeChange={onPageSizeChange} + currentPage={getValues("offset")/getValues("limit")} + onNextPage={nextPage} + onPrevPage={previousPage} + pageSizeLimit={getValues("limit")} + onSort={onSort} + disableSort={false} + sortParams={[{id: getValues("sortBy"), desc: getValues("sortOrder") === "DESC" ? true : false}]} + />: data !== "" || isLoading && )} + + + } + + export default PTRSearchApplication \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/SearchFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/SearchFields.js new file mode 100644 index 00000000000..7c4e31f2888 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/SearchFields.js @@ -0,0 +1,80 @@ +import React, {Fragment} from "react" +import { Controller, useWatch } from "react-hook-form"; +import { TextInput, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Table, Card, MobileNumber, Loader, CardText, Header } from "@upyog/digit-ui-react-components"; + +const SearchFields = ({register, control, reset, tenantId, t, formState, setShowToast, previousPage }) => { + + + + return <> + + + + + + + + + +91} + //maxlength={10} + /> + {formState?.errors?.["mobileNumber"]?.message} + + + + + } + name="fromDate" + control={control} + /> + + + + } + name="toDate" + control={control} + /> + + + +

{ + reset({ + applicationNumber: "", + fromDate: "", + toDate: "", + mobileNumber:"", + status: "", + creationReason: "", + offset: 0, + limit: 10, + sortBy: "commencementDate", + sortOrder: "DESC" + }); + setShowToast(null); + previousPage(); + }}>{t(`ES_COMMON_CLEAR_ALL`)}

+
+ +} +export default SearchFields \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/ApplicationCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/ApplicationCard.js new file mode 100644 index 00000000000..03a94c120f7 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/ApplicationCard.js @@ -0,0 +1,124 @@ +import React, { useCallback, useEffect, useState } from "react"; + +import { Card, DetailsCard, Loader, PopUp, SearchAction } from "@upyog/digit-ui-react-components"; +import { FilterAction } from "@upyog/digit-ui-react-components"; +import SearchApplication from "./search"; +import SortBy from "./SortBy"; + +export const ApplicationCard = ({ + t, + data, + onFilterChange, + onSearch, + onSort, + serviceRequestIdKey, + isFstpOperator, + isLoading, + isSearch, + searchParams, + searchFields, + sortParams, + linkPrefix, + removeParam, + filterComponent, +}) => { + const [type, setType] = useState(isSearch ? "SEARCH" : ""); + const [popup, setPopup] = useState(isSearch ? true : false); + const [_sortparams, setSortParams] = useState(sortParams); + const [FilterComp] = useState(() => Digit.ComponentRegistryService?.getComponent(filterComponent)); + + const onSearchFilter = (params) => { + onFilterChange(params); + setPopup(false); + }; + + useEffect(() => { + if (type) setPopup(true); + }, [type]); + + const handlePopupClose = () => { + setPopup(false); + setType(""); + setSortParams(sortParams); + }; + + if (isLoading) { + return ; + } + + let result; + if (!data || data?.length === 0) { + result = ( + + {t("CS_MYAPPLICATIONS_NO_APPLICATION") + .split("\\n") + .map((text, index) => ( +

+ {text} +

+ ))} +
+ ); + } else if (data && data?.length > 0) { + result = ; + } + + return ( + +
+ {onSearch && ( + { + setType("SEARCH"); + setPopup(true); + }} + /> + )} + {!isSearch && onFilterChange && ( + { + setType("FILTER"); + setPopup(true); + }} + /> + )} + { + setType("SORT"); + setPopup(true); + }} + /> +
+ {result} + {popup && ( + + {type === "FILTER" && ( +
+ {} +
+ )} + {type === "SORT" && ( +
+ {} +
+ )} + {type === "SEARCH" && ( +
+ +
+ )} +
+ )} +
+ ); +}; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/ApplicationLinks.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/ApplicationLinks.js new file mode 100644 index 00000000000..035518c5ba0 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/ApplicationLinks.js @@ -0,0 +1,67 @@ +import { Card, ShippingTruck } from "@upyog/digit-ui-react-components"; +import React, { useEffect, useState } from "react"; +import { useTranslation } from "react-i18next"; +import { Link } from "react-router-dom"; + +const ApplicationLinks = ({ linkPrefix, classNameForMobileView="" }) => { + const { t } = useTranslation(); + + const allLinks = [ + { + text: t("ES_TITLE_NEW_REGISTRATION"), + link: "/digit-ui/employee/ptr/new-application", + }, + { + text: t("ES_TITILE_SEARCH_APPLICATION"), + link: `${linkPrefix}/search`, + }, + ]; + + const [links, setLinks] = useState([]); + + const { roles } = Digit.UserService.getUser().info; + + const hasAccess = (accessTo) => { + return roles.filter((role) => accessTo.includes(role.code)).length; + }; + + useEffect(() => { + let linksToShow = []; + allLinks.forEach((link) => { + if (link.accessTo) { + if (hasAccess(link.accessTo)) { + linksToShow.push(link); + } + } else { + linksToShow.push(link); + } + }); + setLinks(linksToShow); + }, []); + + const GetLogo = () => ( +
+ + + {" "} + {t("ES_TITLE_PET_REGISTRATION")} +
+ ); + + return ( + +
+ {GetLogo()} +
+ {links.map(({ link, text }, index) => ( + + {text} + + ))} +
+
+
+ ); +}; + +export default ApplicationLinks; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/ApplicationTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/ApplicationTable.js new file mode 100644 index 00000000000..56423f4826b --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/ApplicationTable.js @@ -0,0 +1,38 @@ +import React from "react"; +import { Table } from "@upyog/digit-ui-react-components"; + +const ApplicationTable = ({ + t, + currentPage, + columns, + data, + getCellProps, + disableSort, + onSort, + onNextPage, + onPrevPage, + onPageSizeChange, + pageSizeLimit, + sortParams, + totalRecords, +}) => { + return ( +
+ ); +}; + +export default ApplicationTable; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/InboxLink.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/InboxLink.js new file mode 100644 index 00000000000..a8b7c99e865 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/InboxLink.js @@ -0,0 +1,72 @@ +import { Card, PropertyHouse } from "@upyog/digit-ui-react-components"; +import React, { useEffect, useState } from "react"; +import { Link } from "react-router-dom"; +import { useTranslation } from "react-i18next"; + +const InboxLinks = ({ parentRoute, businessService }) => { + const { t } = useTranslation(); + + const allLinks = [ + { + text: "ES_TITLE_NEW_PET_REGISTRATION", + link: "/digit-ui/employee/ptr/new-application", + businessService: "ptr", + roles: ["PT_CEMP"], + }, + { + text: "PTR_SEARCH_PET", + link: `/digit-ui/employee/ptr/search`, + businessService: "ptr", + roles: [], + }, + { + text: "PTR_COMMON_APPLICATION_SEARCH", + link: `/digit-ui/employee/ptr/application-search`, + businessService: "ptr", + roles: [], + }, + // { text: "PT_REPORTS", hyperLink: true, link: "/digit-ui/employee/integration/dss/propertytax", roles: [], businessService: "PT" }, + // { text: "PT_DASHBOARD", link: "/digit-ui/employee/", roles: [], businessService: "PT" }, + ]; + + const [links, setLinks] = useState([]); + + const { roles: userRoles } = Digit.UserService.getUser().info; + + useEffect(() => { + let linksToShow = allLinks + .filter((e) => e.businessService === businessService) + .filter(({ roles }) => roles.some((e) => userRoles.map(({ code }) => code).includes(e)) || !roles?.length); + setLinks(linksToShow); + }, []); + + const GetLogo = () => ( +
+ + + {" "} + {t("PET_SERVICE")} +
+ ); + + return ( + // + +
+ {GetLogo()} + {/*
*/} +
+ {links.map(({ link, text, hyperlink = false, roles = [] }, index) => { + return ( + + {hyperlink ? {text} : {t(text)}} + + ); + })} +
+
+ + ); +}; + +export default InboxLinks; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/NewInboxFilter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/NewInboxFilter.js new file mode 100644 index 00000000000..352fc2558a5 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/NewInboxFilter.js @@ -0,0 +1,155 @@ +import React, { useEffect, useState } from "react"; +import { Dropdown, RadioButtons, ActionBar, RemoveableTag, CloseSvg, CheckBox, Localities, SubmitBar } from "@upyog/digit-ui-react-components"; +import { useQueryClient } from "react-query"; +import { useTranslation } from "react-i18next"; + +import Status from "./Status"; +import _ from "lodash"; + +const Filter = ({ searchParams, onFilterChange, defaultSearchParams, statusMap, moduleCode, ...props }) => { + const { t } = useTranslation(); + const client = useQueryClient(); + + const [_searchParams, setSearchParams] = useState(() => ({ ...searchParams, services: [] })); + + const ApplicationTypeMenu = [ + { + label: "PTR_NEW_REGISTRATION", + value: "ptr", + }, + + ]; + + const localParamChange = (filterParam) => { + let keys_to_delete = filterParam.delete; + let _new = { ..._searchParams, ...filterParam }; + if (keys_to_delete) keys_to_delete.forEach((key) => delete _new[key]); + delete filterParam.delete; + setSearchParams({ ..._new }); + }; + + const applyLocalFilters = () => { + if (_searchParams.services.length === 0) onFilterChange({ ..._searchParams, services: ApplicationTypeMenu.map((e) => e.value) }); + else onFilterChange(_searchParams); + }; + + const clearAll = () => { + setSearchParams({ ...defaultSearchParams, services: [] }); + onFilterChange({ ...defaultSearchParams }); + }; + + const tenantId = Digit.ULBService.getCurrentTenantId(); + + const onServiceSelect = (e, label) => { + if (e.target.checked) localParamChange({ services: Array.isArray(_searchParams.services) ? [..._searchParams.services, label] : [label] }); + else + localParamChange({ + services: _searchParams.services.filter((o) => o !== label), + applicationStatus: _searchParams.applicationStatus?.filter((e) => e.stateBusinessService !== label), + }); + }; + + const selectLocality = (d) => { + localParamChange({ locality: [...(_searchParams?.locality || []), d] }); + }; + + return ( + +
+
+
+
+ + + + + + {t("ES_COMMON_FILTER_BY")}: +
+
+ {t("ES_COMMON_CLEAR_ALL")} +
+ {props.type === "desktop" && ( + + + + + {/* {t("ES_COMMON_CLEAR_ALL")} */} + + )} + {props.type === "mobile" && ( + + + + )} +
+
+ +
+
+ {t("ES_INBOX_LOCALITY")}: +
+ +
+ {_searchParams?.locality?.map((locality, index) => { + return ( + { + localParamChange({ locality: _searchParams?.locality.filter((loc) => loc.code !== locality.code) }); + }} + /> + ); + })} +
+
+
+
+ {t("ES_PTR_APP_TYPE")} +
+ {ApplicationTypeMenu.map((e, index) => { + const checked = _searchParams?.services?.includes(e.value); + return ( + onServiceSelect(event, e.value)} + /> + ); + })} +
+
+ { + if (e.target.checked) localParamChange({ applicationStatus: [..._searchParams?.applicationStatus, status] }); + else { + let applicationStatus = _searchParams?.applicationStatus.filter((e) => e.state !== status.state); + localParamChange({ applicationStatus }); + } + }} + /> +
+
+ applyLocalFilters()} label={t("ES_COMMON_APPLY")} /> +
+
+
+
+
+ ); +}; + +export default Filter; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/SortBy.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/SortBy.js new file mode 100644 index 00000000000..42baa3958f4 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/SortBy.js @@ -0,0 +1,58 @@ +import React, { useState } from "react"; +import { RadioButtons } from "@upyog/digit-ui-react-components"; +import { useTranslation } from "react-i18next"; +import { CloseSvg } from "@upyog/digit-ui-react-components"; + +const SortBy = (props) => { + const { t } = useTranslation(); + const [selectedOption, setSelectedOption] = useState(() => { + return props.sortParams?.[0]?.desc + ? { code: "DESC", name: t("ES_INBOX_DATE_LATEST_FIRST") } + : { code: "ASC", name: t("ES_INBOX_DATE_LATEST_LAST") }; + }); + + function clearAll() {} + + function onSort(option) { + props.onSort([{ id: "createdTime", desc: option.code === "DESC" ? true : false }]); + props.onClose(); + } + + return ( + +
+
+
+
{t("SORT_BY")}:
+
+ {t("ES_COMMON_CLEAR_ALL")} +
+ {props.type === "desktop" && ( + + {t("ES_COMMON_CLEAR_ALL")} + + )} + {props.type === "mobile" && ( + + + + )} +
+
+ +
+
+
+
+ ); +}; + +export default SortBy; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/Status.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/Status.js new file mode 100644 index 00000000000..e018a164068 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/Status.js @@ -0,0 +1,76 @@ +import React, { useEffect, useState } from "react"; +import { Loader } from "@upyog/digit-ui-react-components"; +import { useTranslation } from "react-i18next"; +import StatusCount from "./StatusCount"; + +const Status = ({ onAssignmentChange, searchParams, businessServices, statusMap, moduleCode }) => { + const { t } = useTranslation(); + + const [moreStatus, showMoreStatus] = useState(false); + + const { data: statusData, isLoading } = Digit.Hooks.useApplicationStatusGeneral({ businessServices }, {}); + + const { userRoleStates } = statusData || {}; + + + + const translateState = (state, t) => { + return `${t(map[state.stateBusinessService])}` + " - " + t(`ES_PTR_COMMON_STATUS_${state.state || "CREATED"}`); + // return t(`ES_PT_COMMON_STATUS_${state.state || "CREATED"}`); + }; + + + if (isLoading) { + return ; + } + + return userRoleStates?.filter((e) => !e.isTerminateState).length ? ( +
+
+ {t("ES_INBOX_STATUS")} +
+ {userRoleStates + ?.filter((e) => !e.isTerminateState) + ?.slice(0, 4) + ?.map((option, index) => { + return ( + + ); + })} + {userRoleStates?.filter((e) => !e.isTerminateState)?.slice(4).length > 0 ? ( + + {moreStatus && + userRoleStates + ?.filter((e) => !e.isTerminateState) + ?.slice(4) + ?.map((option, index) => { + return ( + + ); + })} + +
showMoreStatus(!moreStatus)}> + {" "} + {moreStatus ? t("ES_COMMON_LESS") : t("ES_COMMON_MORE")}{" "} +
+
+ ) : null} +
+ ) : null; +}; + +export default Status; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/StatusCount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/StatusCount.js new file mode 100644 index 00000000000..75a0fc3e453 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/StatusCount.js @@ -0,0 +1,21 @@ +import React from "react"; +import { useTranslation } from "react-i18next"; +import { CheckBox } from "@upyog/digit-ui-react-components"; + +const StatusCount = ({ status, searchParams, onAssignmentChange, statusMap, businessServices }) => { + const { t } = useTranslation(); + + + return ( + onAssignmentChange({ ...e, state: status.state }, status)} + checked={(() => { + return searchParams?.applicationStatus.some((e) => e.uuid === status.uuid); + })()} + label={`${status.name} (${statusMap?.find((e) => e.statusid === status.uuid)?.count || "-"})`} + /> + ); +}; + +export default StatusCount; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/search.js new file mode 100644 index 00000000000..3ce90e43811 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/components/inbox/search.js @@ -0,0 +1,205 @@ +import React, { useEffect, useState } from "react"; +import { useForm, Controller } from "react-hook-form"; +import { + TextInput, + Label, + SubmitBar, + LinkLabel, + ActionBar, + CloseSvg, + DatePicker, + MobileNumber, + Dropdown, + Localities, +} from "@upyog/digit-ui-react-components"; + +import { useTranslation } from "react-i18next"; + +const fieldComponents = { + date: DatePicker, + mobileNumber: MobileNumber, +// Locality: (props) => ( +// (a.i18nkey < b.i18nkey ? -1 : 1)} +// /> +// ), +}; + +const SearchApplication = ({ onSearch, type, onClose, searchFields, searchParams, isInboxPage, defaultSearchParams, clearSearch: _clearSearch }) => { + const { t } = useTranslation(); + const { handleSubmit, reset, watch, control, setError, clearErrors, formState, setValue } = useForm({ + defaultValues: isInboxPage ? searchParams : { locality: null, city: null, ...searchParams }, + }); + + const form = watch(); + + const formValueEmpty = () => { + let isEmpty = true; + Object.keys(form).forEach((key) => { + if (!["locality", "city"].includes(key) && form[key]) isEmpty = false; + }); + + if (searchFields?.find((e) => e.name === "locality") && !form?.locality?.code) isEmpty = true; + return isEmpty; + }; + + const mobileView = innerWidth <= 640; + + // useEffect(() => { + // searchFields.forEach(({ pattern, name, maxLength, minLength, errorMessages, ...el }) => { + // const value = form[name]; + // const error = formState.errors[name]; + // if (pattern) { + // if (!new RegExp(pattern).test(value) && !error) + // setError(name, { type: "pattern", message: t(errorMessages?.pattern) || t(`PATTERN_${name.toUpperCase()}_FAILED`) }); + // else if (new RegExp(pattern).test(value) && error?.type === "pattern") clearErrors([name]); + // } + // if (minLength) { + // if (value?.length < minLength && !error) + // setError(name, { type: "minLength", message: t(errorMessages?.minLength || `MINLENGTH_${name.toUpperCase()}_FAILED`) }); + // else if (value?.length >= minLength && error?.type === "minLength") clearErrors([name]); + // } + // if (maxLength) { + // if (value?.length > maxLength && !error) + // setError(name, { type: "maxLength", message: t(errorMessages?.maxLength || `MAXLENGTH_${name.toUpperCase()}_FAILED`) }); + // else if (value?.length <= maxLength && error?.type === "maxLength") clearErrors([name]); + // } + // }); + // }, [form, formState, setError, clearErrors]); + + + const onSubmitInput = (data) => { + if (!data.mobileNumber) { + delete data.mobileNumber; + } + + data.delete = []; + + searchFields.forEach((field) => { + if (!data[field.name]) data.delete.push(field.name); + }); + + onSearch(data); + if (type === "mobile") { + onClose(); + } + }; + + function clearSearch() { + const resetValues = searchFields.reduce((acc, field) => ({ ...acc, [field?.name]: "" }), {}); + reset(resetValues); + if (isInboxPage) { + const _newParams = { ...searchParams }; + _newParams.delete = []; + searchFields.forEach((e) => { + _newParams.delete.push(e?.name); + }); + onSearch({ ..._newParams }); + } else { + _clearSearch(); + } + } + + const clearAll = (mobileView) => { + const mobileViewStyles = mobileView ? { margin: 0 } : {}; + return ( + + {t("ES_COMMON_CLEAR_SEARCH")} + + ); + }; + + return ( + + +
+
+ {(type === "mobile" || mobileView) && ( +
+

{t("ES_COMMON_SEARCH_BY")}

+ + + +
+ )} +
+ {searchFields + ?.filter((e) => true) + ?.map((input, index) => ( +
+ {/* */} + + + {!input.type ? ( + { + return ; + }} + name={input.name} + control={control} + defaultValue={""} + /> + ) : ( + { + const Comp = fieldComponents?.[input.type]; + return ; + }} + name={input.name} + control={control} + defaultValue={""} + /> + )} + + {formState?.dirtyFields?.[input.name] ? ( + + {formState?.errors?.[input.name]?.message} + + ) : null} +
+ ))} + + {isInboxPage && ( +
+
{clearAll()}
+
+ )} + + {type === "desktop" && !mobileView && ( +
+ + {/* style={{ paddingTop: "16px", textAlign: "center" }} className="clear-search" */} + {!isInboxPage &&
{clearAll()}
} +
+ )} +
+
+
+ {(type === "mobile" || mobileView) && ( + + + + + )} +
+ + ); +}; + +export default SearchApplication; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/config/Create/citizenconfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/config/Create/citizenconfig.js new file mode 100644 index 00000000000..497f5a30ebb --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/config/Create/citizenconfig.js @@ -0,0 +1,115 @@ + export const citizenConfig = + [ + { + "head": "ES_TITILE_OWNER_DETAILS", + "body": [ + { + "route":"info", + "component":"PTRServiceDoc", + "nextStep": "owners", + "key": "Documents" + }, + + + { + "route": "owners", + "component": "PTRCitizenDetails", + "withoutLabel": true, + "key": "ownerss", + "type": "component", + "nextStep": "pet-details", + "hideInEmployee": true, + "isMandatory": true, + "texts": { + "submitBarLabel": "PTR_COMMON_NEXT", + } + }, + ], + }, + + { + "head": "ES_TITILE_PET_DETAILS", + "body": [ + { + "route": "pet-details", + "component": "PTRCitizenPet", + "withoutLabel": true, + "key": "pets", + "type": "component", + "isMandatory": true, + "hideInEmployee": true, + "nextStep": "pincode", + "texts": { + "submitBarLabel": "PTR_COMMON_NEXT", + } + }, + ], + }, + + { + "head": "PTR_LOCATION_DETAILS", + "body": + [ + { + "route": "pincode", + "component": "PTRSelectPincode", + "texts": { + + "submitBarLabel": "PTR_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE", + }, + "withoutLabel": true, + "key": "address", + "nextStep": "address", + "type": "component", + }, + + { + "route": "address", + "component": "PTRSelectAddress", + "withoutLabel": true, + "texts": { + + "submitBarLabel": "PTR_COMMON_NEXT", + }, + "key": "address", + "nextStep": "street", + "isMandatory": true, + "type": "component", + }, + + { + "type": "component", + "route": "street", + "component": "PTRCitizenAddress", + "key": "address", + "withoutLabel": true, + "texts": { + "submitBarLabel": "PTR_COMMON_NEXT", + }, + "nextStep": "documents", + }, + + + ], + }, + + + { + "head": "ES_TITILE_DOCUMENT_DETAILS", + "body": [ + { + "route": "documents", + "component": "PTRSelectProofIdentity", + "withoutLabel": true, + "key": "documents", + "type": "component", + "nextStep":null, + "texts": { + "submitBarLabel": "PTR_COMMON_NEXT", + }, + + } + ], + }, + ]; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/config/Create/config.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/config/Create/config.js new file mode 100644 index 00000000000..49cd0a00716 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/config/Create/config.js @@ -0,0 +1,91 @@ +export const newConfig =[ + + { + "head": "ES_TITILE_OWNER_DETAILS", + "body": [ + { + "component": "PTROwnerDetails", + "withoutLabel": true, + "key": "owners", + "type": "component" + } + ] + }, + + { + "head": "ES_TITILE_PET_DETAILS", + "body": [ + { + "component": "PTRPetdetails", + "withoutLabel": true, + "key": "pets", + "type": "component" + } + ] + }, + + + { + "head": "PTR_LOCATION_DETAILS", + "body": [ + + { + "route": "pincode", + "component": "PTRSelectPincode", + "texts": { + "headerCaption": "PTR_CAPTION", + "header": "PTR_PINCODE_LABEL", + "cardText": "PTR_PINCODE_TEXT", + "submitBarLabel": "PTR_COMMON_NEXT", + "skipText": "CORE_COMMON_SKIP_CONTINUE" + }, + "withoutLabel": true, + "key": "address", + "nextStep": "address", + "type": "component" + }, + { + "route": "address", + "component": "PTRSelectAddress", + "withoutLabel": true, + "key": "address", + "nextStep": "street", + "isMandatory": true, + "type": "component" + }, + { + "type": "component", + "route": "street", + "component": "PTRSelectStreet", + "key": "address", + "withoutLabel": true, + "nextStep": "landmark" + }, + { + "type": "component", + "route": "landmark", + "component": "PTSelectLandmark", + "withoutLabel": true, + "key": "address", + // "nextStep": "proof", + "hideInEmployee": true + }, + + ] + }, + { + "head": "ES_TITILE_DOCUMENT_DETAILS", + "body": [ + { + "component": "PTRDocumentUpload", + "withoutLabel": true, + "key": "documents", + "type": "component" + } + ] + }, + + + + +]; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/config/inbox-table-config.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/config/inbox-table-config.js new file mode 100644 index 00000000000..b4deabd41b8 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/config/inbox-table-config.js @@ -0,0 +1,85 @@ + import React from "react"; + import { Link } from "react-router-dom"; + + const GetCell = (value) => {value}; + + + const GetSlaCell = (value) => { + if (isNaN(value)) return 0; + return value < 0 ? {value} : {value}; + }; + + const GetMobCell = (value) => {value}; + + export const TableConfig = (t) => ({ + PTR: { + + + inboxColumns: (props) => [ + + { + Header: t("PTR_APPLICATION_NUMBER"), + Cell: ({ row }) => { + return ( +
+ + + + + {row.original?.searchData?.["applicationNumber"]} + + +
+ ); + }, + mobileCell: (original) => GetMobCell(original?.searchData?.["applicationNumber"]), + }, + + { + Header: t("PTR_APPLICANT_NAME"), + Cell: ( row ) => { + + return GetCell(`${row?.cell?.row?.original?.searchData?.["applicantName"]}`) + + }, + mobileCell: (original) => GetMobCell(original?.searchData?.["applicantName"]), + + }, + { + Header: t("PTR_PET_TYPE"), + Cell: ({ row }) => { + return GetCell(`${row.original?.searchData?.petDetails?.["petType"]}`); + + }, + mobileCell: (original) => GetMobCell(original?.searchData?.petDetails?.["petType"]), + }, + + { + Header: t("PTR_BREED_TYPE"), + Cell: ({ row }) => { + return GetCell(`${row.original?.searchData?.petDetails?.["breedType"]}`); + }, + mobileCell: (original) => GetMobCell(original?.searchData?.petDetails?.["breedType"]), + }, + + + { + Header: t("PTR_STATUS"), + Cell: ({ row }) => { + + const wf = row.original?.workflowData; + return GetCell(t(`${row?.original?.workflowData?.state?.["applicationStatus"]}`)); + + + }, + mobileCell: (original) => GetMobCell(t(`ES_PTR_COMMON_STATUS_${original?.workflowData?.state?.["applicationStatus"]}`)), + + + }, + + ], + serviceRequestIdKey: (original) => original?.[t("PTR_INBOX_UNIQUE_APPLICATION_NUMBER")]?.props?.children, + + + }, + }); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/getPetAcknowledgementData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/getPetAcknowledgementData.js new file mode 100644 index 00000000000..e8a21a9eb9f --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/getPetAcknowledgementData.js @@ -0,0 +1,92 @@ + const capitalize = (text) => text.substr(0, 1).toUpperCase() + text.substr(1); + const ulbCamel = (ulb) => ulb.toLowerCase().split(" ").map(capitalize).join(" "); + + + + const getAssessmentInfo = (application, t) => { + + let values = [ + { + title: t("PTR_PET_NAME"), + + value: application?.petDetails.petName, + }, + + { title: t("PTR_PET_TYPE"), value: application?.petDetails.petType }, + { title: t("PTR_BREED_TYPE"), value: application?.petDetails.breedType }, + { title: t("PTR_VACCINATED_DATE"), value: application?.petDetails.lastVaccineDate }, + { title: t("PTR_VACCINATION_NUMBER"), value: application?.petDetails.vaccinationNumber }, + {title: t("PTR_DOCTOR_NAME"), value: application?.petDetails.doctorName }, + {title: t("PTR_CLINIC_NAME"), value: application?.petDetails.clinicName }, + {title: t("PTR_PET_AGE"), value: application?.petDetails.petAge }, + {title: t("PTR_PET_SEX"), value: application?.petDetails.petGender }, + + + + ]; + + return { + title: t("ES_TITILE_PET_DETAILS"), + values: values, + }; + }; + + + + + + const getPetAcknowledgementData = async (application, tenantInfo, t) => { + const filesArray = application?.documents?.map((value) => value?.fileStoreId); + const res = filesArray?.length > 0 && (await Digit.UploadServices.Filefetch(filesArray, Digit.ULBService.getStateId())); + + + return { + t: t, + tenantId: tenantInfo?.code, + name: `${t(tenantInfo?.i18nKey)} ${ulbCamel(t(`ULBGRADE_${tenantInfo?.city?.ulbGrade.toUpperCase().replace(" ", "_").replace(".", "_")}`))}`, + email: tenantInfo?.emailId, + phoneNumber: tenantInfo?.contactNumber, + heading: t("PTR_ACKNOWLEDGEMENT"), + details: [ + { + title: t("CS_TITLE_APPLICATION_DETAILS"), + values: [ + { title: t("PTR_APPLICATION_NUMBER"), value: application?.applicationNumber }, + + { + title: t("PTR_APPLICANT_NAME"), + value: application?.applicantName, + }, + { + title: t("CS_APPLICATION_DETAILS_APPLICATION_DATE"), + value: Digit.DateUtils.ConvertTimestampToDate(application?.auditDetails?.createdTime, "dd/MM/yyyy"), + }, + { + title: t("PTR_MOBILE_NUMBER"), + value: application?.mobileNumber, + }, + { + title: t("PTR_EMAIL_ID"), + value: application?.emailId, + }, + ], + }, + + getAssessmentInfo(application, t), + { + + title: t("PTR_LOCATION_DETAILS"), + values: [ + { title: t("PTR_PINCODE"), value: application?.address?.pincode }, + { title: t("PTR_CITY"), value: application?.address?.city }, + + { title: t("PTR_STREET_NAME"), value: application?.address?.street }, + { title: t("PTR_HOUSE_NO"), value: application?.address?.doorNo }, + ], + }, + + ], + }; + }; + + export default getPetAcknowledgementData; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRCitizenAddress.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRCitizenAddress.js new file mode 100644 index 00000000000..82ad1e83a5c --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRCitizenAddress.js @@ -0,0 +1,182 @@ +import { CardLabel, FormStep, LabelFieldPair, TextInput } from "@upyog/digit-ui-react-components"; +import _ from "lodash"; +import React, { useEffect, useState } from "react"; +import { Controller, useForm } from "react-hook-form"; +import Timeline from "../components/PTRTimeline"; + +const PTRCitizenAddress = ({ t, config, onSelect, userType, formData, formState, setError, clearErrors }) => { + const onSkip = () => onSelect(); + const [focusIndex, setFocusIndex] = useState({ index: -1, type: "" }); + const { control, formState: localFormState, watch, setError: setLocalError, clearErrors: clearLocalErrors, setValue, trigger } = useForm(); + const formValue = watch(); + const { errors } = localFormState; + const checkLocation = window.location.href.includes("ptr/petservice/new-application"); + + let inputs; + + inputs = [ + { + label: "PTR_STREET_NAME", + type: "text", + name: "street", + validation: { + pattern: "[a-zA-Z0-9 !@#$%^&*()_+\-={};':\\\\|,.<>/?]{1,64}", + // maxlength: 256, + title: t("CORE_COMMON_STREET_INVALID"), + }, + }, + { + label: "PTR_HOUSE_NO", + type: "text", + name: "doorNo", + validation: { + pattern: "[a-zA-Z0-9 !@#$%^&*()_+\-={};':\\\\|,.<>/?]{1,64}", + // maxlength: 256, + title: t("CORE_COMMON_DOOR_INVALID"), + }, + }, + { + label: "PTR_HOUSE_NAME", + type: "text", + name: "buildingName", + validation: { + pattern: "[a-zA-Z0-9 !@#$%^&*()_+\-={};':\\\\|,.<>/?]{1,64}", + // maxlength: 256, + title: t("CORE_COMMON_DOOR_INVALID"), + }, + }, + { + label: "PTR_ADDRESS_LINE1", + type: "text", + name: "addressLine1", + validation: { + pattern: "[a-zA-Z0-9 !@#$%^&*()_+\-={};':\\\\|,.<>/?]{1,64}", + // maxlength: 256, + title: t("CORE_COMMON_DOOR_INVALID"), + }, + }, + { + label: "PTR_ADDRESS_LINE2", + type: "text", + name: "addressLine2", + validation: { + pattern: "[a-zA-Z0-9 !@#$%^&*()_+\-={};':\\\\|,.<>/?]{1,64}", + // maxlength: 256, + title: t("CORE_COMMON_DOOR_INVALID"), + }, + }, + { + label: "PTR_landmark", + type: "text", + name: "landmark", + validation: { + pattern: "[a-zA-Z0-9 !@#$%^&*()_+\-={};':\\\\|,.<>/?]{1,64}", + // maxlength: 256, + title: t("CORE_COMMON_DOOR_INVALID"), + }, + }, + + + ]; + // } + + const convertValidationToRules = ({ validation, name, messages }) => { + if (validation) { + let { pattern: valPattern, maxlength,minlength, required: valReq } = validation || {}; + let pattern = (value) => { + if (valPattern) { + if (valPattern instanceof RegExp) return valPattern.test(value) ? true : messages?.pattern || `${name.toUpperCase()}_PATTERN`; + else if (typeof valPattern === "string") + return new RegExp(valPattern)?.test(value) ? true : messages?.pattern || `${name.toUpperCase()}_PATTERN`; + } + return true; + }; + let maxLength = (value) => (maxlength ? (value?.length <= maxlength ? true : messages?.maxlength || `${name.toUpperCase()}_MAXLENGTH`) : true); + let minLength = (value) => (minlength ? (value?.length >= minlength ? true : messages?.minlength || `${name.toUpperCase()}_MINLENGTH`) : true); + let required = (value) => (valReq ? (!!value ? true : messages?.required || `${name.toUpperCase()}_REQUIRED`) : true); + + return { pattern, required, maxLength,minlength }; + } + return {}; + }; + + useEffect(() => { + trigger(); + }, []); + + useEffect(() => { + if (userType === "employee") { + if (Object.keys(errors).length && !_.isEqual(formState.errors[config.key]?.type || {}, errors)) setError(config.key, { type: errors }); + else if (!Object.keys(errors).length && formState.errors[config.key]) clearErrors(config.key); + } + }, [errors]); + + useEffect(() => { + const keys = Object.keys(formValue); + const part = {}; + keys.forEach((key) => (part[key] = formData[config.key]?.[key])); + + if (!_.isEqual(formValue, part)) { + onSelect(config.key, { ...formData[config.key], ...formValue }); + trigger(); + } + }, [formValue]); + + if (userType === "employee") { + return inputs?.map((input, index) => { + return ( + + + {!checkLocation ? t(input.label) : `${t(input.label)}:`} + {config.isMandatory ? " * " : null} + +
+ ( + { + setFocusIndex({ index }); + _props.onChange(e.target.value); + }} + onBlur={_props.onBlur} + // disable={isRenewal} + autoFocus={focusIndex?.index == index} + {...input.validation} + /> + )} + /> +
+
+ ); + }); + } + return ( + + {window.location.href.includes("/citizen") ? : null} + onSelect(config.key, data)} + onSkip={onSkip} + t={t} + /> + + ); +}; + +export default PTRCitizenAddress; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRCitizenDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRCitizenDetails.js new file mode 100644 index 00000000000..7facd58f2fb --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRCitizenDetails.js @@ -0,0 +1,173 @@ +import React, { useEffect, useState } from "react"; +import { FormStep, TextInput, CardLabel, RadioButtons, LabelFieldPair, Dropdown, Menu, MobileNumber } from "@upyog/digit-ui-react-components"; +import { cardBodyStyle } from "../utils"; +import { useLocation, useRouteMatch } from "react-router-dom"; +import Timeline from "../components/PTRTimeline"; + +const PTRCitizenDetails + = ({ t, config, onSelect, userType, formData, ownerIndex }) => { + const { pathname: url } = useLocation(); + + let index = 0 + // window.location.href.charAt(window.location.href.length - 1); + // console.log("index in detail page ", index) + + let validation = {}; + + const [applicantName, setName] = useState((formData.ownerss && formData.ownerss[index] && formData.ownerss[index].applicantName) || formData?.ownerss?.applicantName || ""); + const [emailId, setEmail] = useState((formData.ownerss && formData.ownerss[index] && formData.ownerss[index].emailId) || formData?.ownerss?.emailId || ""); + const [mobileNumber, setMobileNumber] = useState( + (formData.ownerss && formData.ownerss[index] && formData.ownerss[index].mobileNumber) || formData?.ownerss?.mobileNumber || "" + ); + const [alternateNumber, setAltMobileNumber] = useState( + (formData.ownerss && formData.ownerss[index] && formData.ownerss[index].alternateNumber) || formData?.ownerss?.alternateNumber || "" + ); + + + const [fatherName, setFatherOrHusbandName] = useState( + (formData.ownerss && formData.ownerss[index] && formData.ownerss[index].fatherName) || formData?.ownerss?.fatherName || "" + ); + + + + const tenantId = Digit.ULBService.getCurrentTenantId(); + const stateId = Digit.ULBService.getStateId(); + + + + function setOwnerName(e) { + setName(e.target.value); + } + function setOwnerEmail(e) { + setEmail(e.target.value); + } + + + function setMobileNo(e) { + setMobileNumber(e.target.value); + } + + function setAltMobileNo(e) { + setAltMobileNumber(e.target.value); + } + function setGuardiansName(e) { + setFatherOrHusbandName(e.target.value); + } + + + const goNext = () => { + let owner = formData.ownerss && formData.ownerss[index]; + let ownerStep; + if (userType === "citizen") { + ownerStep = { ...owner, applicantName, mobileNumber,alternateNumber, fatherName, emailId}; + onSelect(config.key, { ...formData[config.key], ...ownerStep }, false, index); + } else { + + ownerStep = { ...owner, applicantName, mobileNumber,alternateNumber, fatherName,emailId }; + onSelect(config.key, ownerStep, false,index); + } + }; + + const onSkip = () => onSelect(); + + + + + useEffect(() => { + if (userType === "citizen") { + goNext(); + } + }, [applicantName, mobileNumber, fatherName, emailId]); + + + + return ( + + { + window.location.href.includes("/citizen") ? + + : null + } + + +
+ {`${t("PTR_APPLICANT_NAME")}`} + + + {`${t("PTR_MOBILE_NUMBER")}`} + setMobileNo({ target: { value } })} + {...{ required: true, pattern: "[6-9]{1}[0-9]{9}", type: "tel", title: t("CORE_COMMON_APPLICANT_MOBILE_NUMBER_INVALID") }} + /> + + {`${t("PTR_ALT_MOBILE_NUMBER")}`} + setAltMobileNo({ target: { value } })} + {...{ required: false, pattern: "[6-9]{1}[0-9]{9}", type: "tel", title: t("CORE_COMMON_APPLICANT_MOBILE_NUMBER_INVALID") }} + /> + {`${t("PTR_FATHER_HUSBAND_NAME")}`} + + + {`${t("PTR_EMAIL_ID")}`} + + + +
+
+
+ ); +}; + +export default PTRCitizenDetails; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRCitizenPet.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRCitizenPet.js new file mode 100644 index 00000000000..8ba882688c8 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRCitizenPet.js @@ -0,0 +1,373 @@ +import React, { useEffect, useState } from "react"; +import { FormStep, TextInput, CardLabel, RadioButtons, Dropdown, RadioOrSelect } from "@upyog/digit-ui-react-components"; +import { cardBodyStyle } from "../utils"; +import { useLocation, useRouteMatch } from "react-router-dom"; +import Timeline from "../components/PTRTimeline"; +import { Controller, useForm } from "react-hook-form"; + + +const PTRCitizenPet + = ({ t, config, onSelect, userType, formData, ownerIndex }) => { + const { pathname: url } = useLocation(); + let index = window.location.href.charAt(window.location.href.length - 1); + let validation = {}; + const [petType, setPetType] = useState((formData.pets && formData.pets[index] && formData.pets[index].petType) || formData?.pets?.petType || ""); + const [breedType, setBreedType] = useState((formData.pets && formData.pets[index] && formData.pets[index].breedType) || formData?.pets?.breedType || ""); + const [petGender, setPetGender] = useState((formData.pets && formData.pets[index] && formData.pets[index].petGender) || formData?.pets?.petGender || ""); + + + + const [petName, setPetName] = useState( + (formData.pets && formData.pets[index] && formData.pets[index].petName) || formData?.pets?.petName || "" + ); + + const [petAge, setPetAge] = useState( + (formData.pets && formData.pets[index] && formData.pets[index].petAge) || formData?.pets?.petAge || "" + ); + + const [doctorName, setDoctorName] = useState( + (formData.pets && formData.pets[index] && formData.pets[index].doctorName) || formData?.pets?.doctorName || "" + ); + + const [clinicName, setClinicName] = useState( + (formData.pets && formData.pets[index] && formData.pets[index].clinicName) || formData?.pets?.clinicName || "" + ); + + const [vaccinationNumber, setVaccinationNumber] = useState( + (formData.pets && formData.pets[index] && formData.pets[index].vaccinationNumber) || formData?.pets?.vaccinationNumber || "" + ); + + const [lastVaccineDate, setVaccinationDate] = useState( + (formData.pets && formData.pets[index] && formData.pets[index].lastVaccineDate) || formData?.pets?.lastVaccineDate || "" + ); + + + + + + const tenantId = Digit.ULBService.getCurrentTenantId(); + const stateId = Digit.ULBService.getStateId(); + + const { data: Menu } = Digit.Hooks.ptr.usePTRPetMDMS(stateId, "PetService", "PetType"); + + const { data: Breed_Type } = Digit.Hooks.ptr.useBreedTypeMDMS(stateId, "PetService", "BreedType"); // hooks for breed type + + let menu = []; //variable name for pettype + let breed_type = []; + // variable name for breedtype + + Menu && + Menu.map((petone) => { + menu.push({ i18nKey: `PTR_PET_${petone.code}`, code: `${petone.code}`, value: `${petone.name}` }); + }); + + const { control } = useForm(); + + + + + Breed_Type && + Breed_Type.map((breedss) => { + if (breedss.PetType == petType?.code) { + breed_type.push({ + i18nKey: `PTR_BREED_TYPE_${breedss.code}`, + code: `${breedss.code}`, + value: `${breedss.name}` + }); + } + + }); + + + const { data: Pet_Sex } = Digit.Hooks.ptr.usePTRGenderMDMS(stateId, "common-masters", "GenderType"); // this hook is for Pet gender type { male, female} + + let pet_sex = []; //for pet gender + + Pet_Sex && + Pet_Sex.map((ptrgenders) => { + if (ptrgenders.code !== "TRANSGENDER") + pet_sex.push({ i18nKey: `PTR_GENDER_${ptrgenders.code}`, code: `${ptrgenders.code}`, name: `${ptrgenders.code}` }); + }); + + + + function setpettype(e) { + setPetType(e.target.value); + } + + function setbreedtype(e) { + setBreedType(e.target.value); + } + + function setpetgender(e) { + setPetGender(e.target.value); + } + + + + + + function setpetage(e) { + setPetAge(e.target.value); + } + + function setdoctorname(e) { + setDoctorName(e.target.value); + } + function setclinicname(e) { + setClinicName(e.target.value); + } + + function setvaccinationdate(e) { + setVaccinationDate(e.target.value); + } + + function setvaccinationnumber(e) { + setVaccinationNumber(e.target.value); + } + + function setpetname(e) { + setPetName(e.target.value); + } + + + + + + + const goNext = () => { + let owner = formData.pets && formData.pets[index]; + let ownerStep; + if (userType === "citizen") { + ownerStep = { ...owner, petType, breedType, petGender, petName, petAge, doctorName, clinicName, lastVaccineDate, vaccinationNumber }; + onSelect(config.key, { ...formData[config.key], ...ownerStep }, false, index); + } else { + + ownerStep = { ...owner, petType, breedType, petGender, petName, petAge, doctorName, clinicName, lastVaccineDate, vaccinationNumber }; + onSelect(config.key, ownerStep, false, index); + } + }; + + const onSkip = () => onSelect(); + + + useEffect(() => { + if (userType === "citizen") { + goNext(); + } + }, [petType, breedType, petGender, petName, petAge, doctorName, lastVaccineDate]); + + + + + + + + return ( + + { + window.location.href.includes("/citizen") ? + + : null + } + + +
+ {`${t("PTR_SEARCH_PET_TYPE")}`} + + + + + ( + + + )} + + /> + + + {`${t("PTR_SEARCH_BREED_TYPE")}`} + + + ( + + + )} + + /> + + + {`${t("PTR_PET_NAME")}`} + + + {`${t("PTR_PET_SEX")}`} + + + ( + + + )} + + /> + + {`${t("PTR_PET_AGE")}`} + (/^[0123456789]\d{2}$/.test(v) ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")), + }} + + /> +
+ {Math.floor(petAge / 12)} {Math.floor(petAge / 12) === 1 ? 'PTR_YEAR' : 'PTR_YEARS'}  + {petAge % 12} {petAge % 12 === 1 ? 'PTR_MONTH' : 'PTR_MONTHS'} +
+ +

+ + {`${t("PTR_DOCTOR_NAME")}`} + + + {`${t("PTR_CLINIC_NAME")}`} + + + {`${t("PTR_VACCINATED_DATE")}`} + (/^\d{4}-\d{2}-\d{2}$/.test(val) ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")), + }} + + /> + + {`${t("PTR_VACCINATION_NUMBER")}`} + + +
+
+
+ ); + }; + +export default PTRCitizenPet; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRDocument.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRDocument.js new file mode 100644 index 00000000000..b36ba224704 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRDocument.js @@ -0,0 +1,43 @@ +import { Loader } from "@upyog/digit-ui-react-components"; +import React from "react"; +import { useTranslation } from "react-i18next"; +import { pdfDocumentName, pdfDownloadLink } from "../utils"; + +const PDFSvg = ({ width = 20, height = 20, style }) => ( + + + +); + +function PTRDocument({ petdetail = {} }) { + const { t } = useTranslation(); + const { isLoading, isError, error, data } = Digit.Hooks.ptr.usePetDocumentSearch({ + petdetail, + }); + const documents = petdetail?.documents || []; + + if (isLoading) { + return ; + } + + return ( +
+ +
+ {documents?.map((document, index) => { + + let documentLink = pdfDownloadLink(data.pdfFiles, document?.fileStoreId); + return ( + + +

{t(`PT_${document?.documentType.replace(".","_")}`)}

+
+ ); + })} +
+
+
+ ); +} + +export default PTRDocument; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRDocumentUpload.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRDocumentUpload.js new file mode 100644 index 00000000000..a82163a27b3 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRDocumentUpload.js @@ -0,0 +1,255 @@ +import React, { useEffect, useState } from "react"; +import { + CardLabel, + LabelFieldPair, + Dropdown, + UploadFile, + Toast, + Loader, + CardHeader, + CardSectionHeader, +} from "@upyog/digit-ui-react-components"; + +import { useLocation } from "react-router-dom"; +const PTRDocumentUpload = ({ t, config, onSelect, userType, formData, setError: setFormError, clearErrors: clearFormErrors, formState }) => { + const tenantId = Digit.ULBService.getCurrentTenantId(); + const stateId = Digit.ULBService.getStateId(); + const [documents, setDocuments] = useState(formData?.documents?.documents || []); + const [error, setError] = useState(null); + + let action = "create"; + + const { pathname } = useLocation(); + + + const { isLoading, data } = Digit.Hooks.ptr.usePetMDMS(stateId, "PetService", "Documents"); + + + const PTRDocument = data?.PetService?.Documents.map(document => ({ + ...document, + hasDropdown: true +})); + + + const goNext = () => { + onSelect(config.key, { documents, PTRDocumentLength: PTRDocument?.length }); + }; + + + useEffect(() => { + goNext(); + }, [documents]); + + if (isLoading) { + return ; + } + + return ( +
+ {PTRDocument?.map((document, index) => { + return ( + + + ); + + })} + {error && setError(null)} error />} +
+ ); +}; + +function PTRSelectDocument({ + t, + document: doc, + setDocuments, + error, + setError, + documents, + action, + formData, + setFormError, + clearFormErrors, + config, + formState, + fromRawData, + id +}) { + const filteredDocument = documents?.filter((item) => item?.documentType?.includes(doc?.code))[0]; + + + const tenantId = Digit.ULBService.getCurrentTenantId(); + const [selectedDocument, setSelectedDocument] = useState( + filteredDocument + ? { ...filteredDocument, active: filteredDocument?.status === "ACTIVE", code: filteredDocument?.documentType } + : doc?.dropdownData?.length === 1 + ? doc?.dropdownData[0] + : {} + ); + + + const [file, setFile] = useState(null); + const [uploadedFile, setUploadedFile] = useState(() => filteredDocument?.fileStoreId || null); + + const handlePTRSelectDocument = (value) => setSelectedDocument(value); + + + function selectfile(e) { + setFile(e.target.files[0]); + } + const { dropdownData } = doc; + + var dropDownData = dropdownData; + const [isHidden, setHidden] = useState(false); + + const addError = () => { + let type = formState.errors?.[config.key]?.type; + if (!Array.isArray(type)) type = []; + if (!type.includes(doc.code)) { + type.push(doc.code); + setFormError(config.key, { type }); + } + }; + + const removeError = () => { + let type = formState.errors?.[config.key]?.type; + if (!Array.isArray(type)) type = []; + if (type.includes(doc?.code)) { + type = type.filter((e) => e != doc?.code); + if (!type.length) { + clearFormErrors(config.key); + } else { + setFormError(config.key, { type }); + } + } + }; + + useEffect(() => { + if (selectedDocument?.code) { + setDocuments((prev) => { + const filteredDocumentsByDocumentType = prev?.filter((item) => item?.documentType !== selectedDocument?.code); + + if (uploadedFile?.length === 0 || uploadedFile === null) { + return filteredDocumentsByDocumentType; + } + + const filteredDocumentsByFileStoreId = filteredDocumentsByDocumentType?.filter((item) => item?.fileStoreId !== uploadedFile); + return [ + ...filteredDocumentsByFileStoreId, + { + documentType: selectedDocument?.code, + filestoreId: uploadedFile, + documentUid: uploadedFile, + }, + ]; + }); + } + if (!isHidden) { + if (!uploadedFile || !selectedDocument?.code) { + addError(); + } else if (uploadedFile && selectedDocument?.code) { + removeError(); + } + } else if (isHidden) { + removeError(); + } + }, [uploadedFile, selectedDocument, isHidden]); + + useEffect(() => { + if (action === "update") { + const originalDoc = formData?.originalData?.documents?.filter((e) => e.documentType.includes(doc?.code))[0]; + const docType = dropDownData + .filter((e) => e.code === originalDoc?.documentType) + .map((e) => ({ ...e, i18nKey: e?.code?.replaceAll(".", "_") }))[0]; + + if (!docType) setHidden(true); + else { + setSelectedDocument(docType); + setUploadedFile(originalDoc?.fileStoreId); + } + } else if (action === "create") { + } + }, []); + + useEffect(() => { + (async () => { + setError(null); + if (file) { + if (file.size >= 5242880) { + setError(t("CS_MAXIMUM_UPLOAD_SIZE_EXCEEDED")); + } else { + try { + setUploadedFile(null); + const response = await Digit.UploadServices.Filestorage("PTR", file, Digit.ULBService.getStateId()); + if (response?.data?.files?.length > 0) { + setUploadedFile(response?.data?.files[0]?.fileStoreId); + } else { + setError(t("CS_FILE_UPLOAD_ERROR")); + } + } catch (err) { + setError(t("CS_FILE_UPLOAD_ERROR")); + } + } + } + })(); + }, [file]); + + useEffect(() => { + if (isHidden) setUploadedFile(null); + }, [isHidden]); + + + + return ( +
+ {doc?.hasDropdown ? ( + + {t(doc?.code.replaceAll(".", "_")) + " *"} + ({ ...e, i18nKey: e.code?.replaceAll(".", "_") }))} + select={handlePTRSelectDocument} + optionKey="i18nKey" + t={t} + /> + + ) : null} + + +
+ { + setUploadedFile(null); + }} + id={id} + message={uploadedFile ? `1 ${t(`CS_ACTION_FILEUPLOADED`)}` : t(`CS_ACTION_NO_FILEUPLOADED`)} + textStyles={{ width: "100%" }} + inputStyles={{ width: "280px" }} + accept=".pdf, .jpeg, .jpg, .png" // to accept document of all kind + buttonType="button" + error={!uploadedFile} + /> +
+
+
+ ); +} + +export default PTRDocumentUpload; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTROwnerDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTROwnerDetails.js new file mode 100644 index 00000000000..42822c06663 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTROwnerDetails.js @@ -0,0 +1,302 @@ + import { CardLabel, CardLabelError, Dropdown, LabelFieldPair, LinkButton, MobileNumber, TextInput, Toast } from "@upyog/digit-ui-react-components"; + import _ from "lodash"; + import React, { useEffect, useMemo, useState } from "react"; + import { Controller, useForm } from "react-hook-form"; + import { useTranslation } from "react-i18next"; + import { useLocation } from "react-router-dom"; + import { stringReplaceAll, CompareTwoObjects } from "../utils"; + + const createOwnerDetails = () => ({ + applicantName: "", + mobileNumber: "", + fatherName: "", + emailId: "", + alternateNumber: "", + key: Date.now(), + }); + + const PTROwnerDetails = ({ config, onSelect, userType, formData, setError, formState, clearErrors }) => { + const { t } = useTranslation(); + + const { pathname } = useLocation(); + const [owners, setOwners] = useState(formData?.owners || [createOwnerDetails()]); + const [focusIndex, setFocusIndex] = useState({ index: -1, type: "" }); + + const tenantId = Digit.ULBService.getCurrentTenantId(); + const stateId = Digit.ULBService.getStateId(); + + + + + + + useEffect(() => { + onSelect(config?.key, owners); + + + }, [owners]); + + + const commonProps = { + focusIndex, + allOwners: owners, + setFocusIndex, + formData, + formState, + setOwners, + t, + setError, + clearErrors, + config, + }; + + + return ( + + {owners.map((owner, index) => ( + + ))} + + + ) + }; + + const OwnerForm = (_props) => { + const { + owner, + index, + focusIndex, + allOwners, + setFocusIndex, + setOwners, + t, + formData, + config, + setError, + clearErrors, + formState, + } = _props; + + const [showToast, setShowToast] = useState(null); + const { control, formState: localFormState, watch, setError: setLocalError, clearErrors: clearLocalErrors, setValue, trigger } = useForm(); + const formValue = watch(); + const { errors } = localFormState; + const tenantId = Digit.ULBService.getCurrentTenantId(); + + + + + + + + + + + useEffect(() => { + trigger(); + }, []); + + + const [part, setPart] = React.useState({}); + + useEffect(() => { + + + if (!_.isEqual(part, formValue)) { + setPart({ ...formValue }); + + setOwners((prev) => prev.map((o) => (o.key && o.key === owner.key ? { ...o, ...formValue } : { ...o }))); + trigger(); + } + }, [formValue]); + + + + + useEffect(() => { + if (Object.keys(errors).length && !_.isEqual(formState.errors[config.key]?.type || {}, errors)) setError(config.key, { type: errors }); + else if (!Object.keys(errors).length && formState.errors[config.key]) clearErrors(config.key); + }, [errors]); + + const errorStyle = { width: "70%", marginLeft: "30%", fontSize: "12px", marginTop: "-21px" }; + + + + return ( + +
+ +
+ {allOwners?.length > 2 ? ( +
+ X +
+ ) : null} + + + + + {t("PTR_APPLICANT_NAME") + " *"} +
+ (/^[a-zA-Z\s]*$/.test(val) ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")) }, + }} + render={(props) => ( + { + props.onChange(e.target.value); + setFocusIndex({ index: owner.key, type: "applicantName" }); + }} + onBlur={(e) => { + setFocusIndex({ index: -1 }); + props.onBlur(e); + }} + /> + )} + /> +
+
+ {localFormState.touched.applicantName ? errors?.applicantName?.message : ""} + + + + {t("PTR_FATHER_HUSBAND_NAME") + " *"} +
+ (/^[a-zA-Z\s]*$/.test(val) ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")) }, + }} + render={(props) => ( + { + props.onChange(e.target.value); + setFocusIndex({ index: owner.key, type: "fatherName" }); + }} + onBlur={(e) => { + setFocusIndex({ index: -1 }); + props.onBlur(e); + }} + /> + )} + /> +
+
+ {localFormState.touched.fatherName ? errors?.fatherName?.message : ""} + + + + {t("PTR_MOBILE_NUMBER") + " *"} +
+ (/^[6789]\d{9}$/.test(v) ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")), + }} + render={(props) => ( + { + props.onChange(e); + setFocusIndex({ index: owner.key, type: "mobileNumber" }); + }} + labelStyle={{ marginTop: "unset" }} + onBlur={props.onBlur} + /> + )} + /> +
+
+ {localFormState.touched.mobileNumber ? errors?.mobileNumber?.message : ""} + + + {t("PTR_ALT_MOBILE_NUMBER")+ " *"} +
+ (/^[6789]\d{9}$/.test(v)), + }} + render={(props) => ( + { + props.onChange(e); + setFocusIndex({ index: owner.key, type: "alternateNumber" }); + }} + labelStyle={{ marginTop: "unset" }} + onBlur={props.onBlur} + /> + )} + /> +
+
+ {localFormState.touched.alternateNumber ? errors?.alternateNumber?.message : ""} + + + {t("PTR_EMAIL_ID")} +
+ ((e && /^[^\s@]+@[^\s@]+$/.test(e)) || !e ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")) }} + render={(props) => ( + { + props.onChange(e); + setFocusIndex({ index: owner.key, type: "emailId" }); + }} + labelStyle={{ marginTop: "unset" }} + onBlur={props.onBlur} + /> + )} + /> +
+
+ {localFormState.touched.emailId ? errors?.emailId?.message : ""} + +
+
+ {showToast?.label && ( + { + setShowToast((x) => null); + }} + /> + )} +
+ ); + }; + + export default PTROwnerDetails; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRPetdetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRPetdetails.js new file mode 100644 index 00000000000..c333faf125c --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRPetdetails.js @@ -0,0 +1,459 @@ +import { + CardLabel, + CardLabelError, + Dropdown, + LabelFieldPair, + LinkButton, + //MobileNumber, + TextInput, + Toast, +} from "@upyog/digit-ui-react-components"; +import _ from "lodash"; +import React, { useEffect, useMemo, useState } from "react"; +import { Controller, useForm } from "react-hook-form"; +import { useTranslation } from "react-i18next"; +import { useLocation } from "react-router-dom"; +import { stringReplaceAll, CompareTwoObjects } from "../utils"; + +const createPtrDetails = () => ({ + + doctorName: "", + vaccinationNumber: "", + lastVaccineDate: "", + petAge: "", + petType: "", + breedType: "", + clinicName: "", + petName: "", + petGender: "", + + key: Date.now(), +}); + +const PTRPetdetails = ({ config, onSelect, userType, formData, setError, formState, clearErrors }) => { + const { t } = useTranslation(); + + const { pathname } = useLocation(); + const [pets, setPets] = useState(formData?.pets || [createPtrDetails()]); + const [focusIndex, setFocusIndex] = useState({ index: -1, type: "" }); + + const tenantId = Digit.ULBService.getCurrentTenantId(); + const stateId = Digit.ULBService.getStateId(); + + + + + const { data: Menu } = Digit.Hooks.ptr.usePTRPetMDMS(stateId, "PetService", "PetType"); + + const { data: Breed_Type } = Digit.Hooks.ptr.useBreedTypeMDMS(stateId, "PetService", "BreedType"); // hooks for breed type + + let menu = []; //variable name for pettype + let breed_type = []; + // variable name for breedtype + + Menu && + Menu.map((petone) => { + menu.push({ i18nKey: `PTR_PET_${petone.code}`, code: `${petone.code}`, value: `${petone.name}` }); + }); + + + + + + Breed_Type && + Breed_Type.map((breedss) => { + if (breedss.PetType == pets[0]?.petType?.code) { + breed_type.push({ + i18nKey: `PTR_BREED_TYPE_${breedss.code}`, + code: `${breedss.code}`, + value: `${breedss.name}` + }); + } + + }); + + + + + const { data: Pet_Sex } = Digit.Hooks.ptr.usePTRGenderMDMS(stateId, "common-masters", "GenderType"); // this hook is for Pet gender type { male, female} + + let pet_sex = []; //for pet gender + + Pet_Sex && + Pet_Sex.map((ptrgenders) => { + if (ptrgenders.code !== "TRANSGENDER") + pet_sex.push({ i18nKey: `PTR_GENDER_${ptrgenders.code}`, code: `${ptrgenders.code}`, name: `${ptrgenders.code}` }); + }); + + + useEffect(() => { + onSelect(config?.key, pets); + }, [pets]); + + + + + const commonProps = { + focusIndex, + allOwners: pets, + setFocusIndex, + formData, + formState, + setPets, + t, + setError, + clearErrors, + config, + menu, + breed_type, + pet_sex + }; + + return ( + + {pets.map((pets, index) => ( + + ))} + + + ) +}; + +const OwnerForm = (_props) => { + const { + pets, + index, + focusIndex, + allOwners, + setFocusIndex, + setPets, + t, + formData, + config, + setError, + clearErrors, + formState, + menu, + breed_type, + pet_sex + + } = _props; + + const [showToast, setShowToast] = useState(null); + const { + control, formState: localFormState, watch, setError: setLocalError, clearErrors: clearLocalErrors, setValue, trigger, } = useForm(); + const formValue = watch(); + const { errors } = localFormState; + const tenantId = Digit.ULBService.getCurrentTenantId(); + + const isIndividualTypeOwner = useMemo( + () => formData?.ownershipCategory?.code.includes("INDIVIDUAL"), + [formData?.ownershipCategory?.code], + ); + + const [part, setPart] = React.useState({}); + + useEffect(() => { + let _ownerType = isIndividualTypeOwner + + if (!_.isEqual(part, formValue)) { + setPart({ ...formValue }); + setPets((prev) => prev.map((o) => (o.key && o.key === pets.key ? { ...o, ...formValue, ..._ownerType } : { ...o }))); + trigger(); + } + }, [formValue]); + + useEffect(() => { + if (Object.keys(errors).length && !_.isEqual(formState.errors[config.key]?.type || {}, errors)) + setError(config.key, { type: errors }); + else if (!Object.keys(errors).length && formState.errors[config.key]) clearErrors(config.key); + }, [errors]); + + const errorStyle = { width: "70%", marginLeft: "30%", fontSize: "12px", marginTop: "-21px" }; + + return ( + +
+
+ {allOwners?.length > 2 ? ( +
+ X +
+ ) : null} + + + {t("PTR_SEARCH_PET_TYPE") + " *"} + ( + + + )} + + /> + + + {localFormState.touched.petType ? errors?.petType?.message : ""} + + {t("PTR_SEARCH_BREED_TYPE") + " *"} + ( + + )} + /> + + {localFormState.touched.breedType ? errors?.breedType?.message : ""} + + + {t("PTR_PET_NAME") + " *"} +
+ (/^[a-zA-Z\s]*$/.test(val) ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")) }, + }} + render={(props) => ( + { + props.onChange(e.target.value); + setFocusIndex({ index: pets.key, type: "petName" }); + }} + onBlur={(e) => { + setFocusIndex({ index: -1 }); + props.onBlur(e); + }} + /> + )} + /> +
+
+ {localFormState.touched.petName ? errors?.petName?.message : ""} + + + {t("PTR_PET_AGE") + " *"} +
+ (/^\d{1,4}$/.test(v) && parseInt(v, 10) >= 0 && parseInt(v, 10) <= 1440 ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")), + + }} + render={(props) => ( + { + props.onChange(e); + setFocusIndex({ index: pets.key, type: "petAge" }); + }} + labelStyle={{ marginTop: "unset" }} + onBlur={props.onBlur} + placeholder="in months" + /> + + )} + /> + +
+ +
+
+ {Math.floor(watch('petAge') / 12)} + {Math.floor(watch('petAge') / 12) === 1 ? 'PTR_YEAR' : 'PTR_YEARS'} +   + {watch('petAge') % 12} + {watch('petAge') % 12 === 1 ? 'PTR_MONTH' : 'PTR_MONTHS'} +
+

+ {localFormState.touched.petAge ? errors?.petAge?.message : ""} + + + + {t("PTR_PET_SEX") + " *"} + ( + + )} + /> + + {localFormState.touched.petGender ? errors?.petGender?.message : ""} + + + {t("PTR_DOCTOR_NAME") + " *"} +
+ (/^\w+( +\w+)*$/.test(val) ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")) }, + }} + render={(props) => ( + { + props.onChange(e.target.value); + setFocusIndex({ index: pets.key, type: "doctorName" }); + }} + onBlur={props.onBlur} + /> + )} + /> +
+
+ + {localFormState.touched.doctorName ? errors?.doctorName?.message : ""} + + + {t("PTR_CLINIC_NAME") + " *"} +
+ (/^\w+( +\w+)*$/.test(val) ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")) }, + }} + render={(props) => ( + { + props.onChange(e.target.value); + setFocusIndex({ index: pets.key, type: "clinicName" }); + }} + onBlur={props.onBlur} + /> + )} + /> +
+
+ + {localFormState.touched.clinicName ? errors?.clinicName?.message : ""} + + + + {t("PTR_VACCINATED_DATE") + " *"} +
+ (/^\d{4}-\d{2}-\d{2}$/.test(val) ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")), + }} + render={(props) => ( + { + props.onChange(e.target.value); + }} + max={new Date().toISOString().split('T')[0]} + /> + )} + /> +
+
+ {localFormState.touched.lastVaccineDate ? errors?.lastVaccineDate?.message : ""} + + + {t("PTR_VACCINATION_NUMBER") + " *"} +
+ (/^\w+( +\w+)*$/.test(val) ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")) }, + // }} + render={(props) => ( + { + props.onChange(e.target.value); + setFocusIndex({ index: pets.key, type: "vaccinationNumber" }); + }} + onBlur={props.onBlur} + /> + )} + /> +
+
+ + {localFormState.touched.vaccinationNumber ? errors?.vaccinationNumber?.message : ""} + + + + +
+
+ {showToast?.label && ( + { + setShowToast((x) => null); + }} + /> + )} +
+ ); +}; + +export default PTRPetdetails; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectAddress.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectAddress.js new file mode 100644 index 00000000000..d2436ae87fa --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectAddress.js @@ -0,0 +1,224 @@ +import { CardLabel, CardLabelError, Dropdown, FormStep, LabelFieldPair, RadioOrSelect } from "@upyog/digit-ui-react-components"; +import _ from "lodash"; +import React, { useEffect, useState } from "react"; +import { Controller, useForm } from "react-hook-form"; +import { useLocation } from "react-router-dom"; +import Timeline from "../components/PTRTimeline"; + +const PTRSelectAddress = ({ t, config, onSelect, userType, formData, setError, clearErrors, formState }) => { + const allCities = Digit.Hooks.ptr.useTenants(); + let tenantId = Digit.ULBService.getCurrentTenantId(); + const { pathname } = useLocation(); + const presentInModifyApplication = pathname.includes("modify"); + + + + + + + let isEditAddress = formData?.isEditAddress || false; + if (presentInModifyApplication) isEditAddress = true; + + const { pincode, city } = formData?.address || ""; + const cities = + userType === "employee" ? allCities.filter((city) => city.code === tenantId) : pincode ? allCities.filter((city) => city?.pincode?.some((pin) => pin == pincode)) : allCities; + + const [selectedCity, setSelectedCity] = useState(() => { + return formData?.address?.city || null; + }); + + const { data: fetchedLocalities } = Digit.Hooks.useBoundaryLocalities( + selectedCity?.code, + "revenue", + { + enabled: !!selectedCity, + }, + t + ); + + const [localities, setLocalities] = useState(); + + const [selectedLocality, setSelectedLocality] = useState(); + + useEffect(() => { + if (userType === "employee" && presentInModifyApplication && localities?.length) { + const code = formData?.originalData?.address?.locality?.code; + const _locality = localities?.filter((e) => e.code === code)[0]; + setValue("locality", _locality); + } + }, [localities]); + + useEffect(() => { + if (cities) { + if (cities.length === 1) { + setSelectedCity(cities[0]); + } + } + }, [cities]); + + useEffect(() => { + if (selectedCity && fetchedLocalities) { + let __localityList = fetchedLocalities; + let filteredLocalityList = []; + + if (formData?.address?.locality) { + setSelectedLocality(formData.address.locality); + } + + if (formData?.address?.pincode) { + filteredLocalityList = __localityList.filter((obj) => obj.pincode?.find((item) => item == formData.address.pincode)); + if (!formData?.address?.locality) setSelectedLocality(); + } + setLocalities(() => (filteredLocalityList.length > 0 ? filteredLocalityList : __localityList)); + + if (filteredLocalityList.length === 1) { + setSelectedLocality(filteredLocalityList[0]); + // if (userType === "employee") { + // onSelect(config.key, { ...formData[config.key], locality: filteredLocalityList[0] }); + // } + } + } + }, [selectedCity, formData?.address?.pincode, fetchedLocalities]); + + + + function selectCity(city) { + setSelectedLocality(null); + setLocalities(null); + setSelectedCity(city); + } + + function selectLocality(locality) { + if (formData?.address?.locality) { + formData.address["locality"] = locality; + } + setSelectedLocality(locality); + if (userType === "employee") { + onSelect(config.key, { ...formData[config.key], locality: locality }); + } + } + + function onSubmit() { + onSelect(config.key, { city: selectedCity, locality: selectedLocality }); + } + + const { control, formState: localFormState, watch, /*setError: setLocalError, clearErrors: clearLocalErrors,*/ setValue } = useForm(); + const formValue = watch(); + const { errors } = localFormState; + const errorStyle = { width: "70%", marginLeft: "30%", fontSize: "12px", marginTop: "-21px" }; + + useEffect(() => { + if (userType === "employee") { + let keys = Object.keys(formValue); + const part = {}; + keys.forEach((key) => (part[key] = formData[config.key]?.[key])); + if (!_.isEqual(formValue, part)) onSelect(config.key, { ...formData[config.key], ...formValue }); + for (let key in formValue) { + if (!formValue[key] && !localFormState?.errors[key]) { + // setLocalError(key, { type: `${key.toUpperCase()}_REQUIRED`, message: t(`CORE_COMMON_REQUIRED_ERRMSG`) }); + } else if (formValue[key] && localFormState.errors[key]) { + // clearLocalErrors([key]); + } + } + } + }, [formValue]); + + useEffect(() => { + if (userType === "employee") { + const errorsPresent = !!Object.keys(localFormState.errors).lengtha; + if (errorsPresent && !formState.errors?.[config.key]) /*setError(config.key, { type: "required" })*/; + else if (!errorsPresent && formState.errors?.[config.key]) /*clearErrors(config.key)*/; + } + }, [localFormState]); + + if (userType === "employee") { + return ( +
+ + {t("MYCITY_CODE_LABEL") + " *"} + ( + + )} + /> + + {localFormState.touched.city ? errors?.city?.message : ""} + + {t("PTR_LOCALITY") + " *"} + ( + + )} + /> + + {localFormState.touched.locality ? errors?.locality?.message : ""} +
+ ); + } + return ( + + {window.location.href.includes("/citizen") ? : null} + +
+ {`${t("MYCITY_CODE_LABEL")} `} + + a.name.localeCompare(b.name))} + selectedOption={selectedCity} + optionKey="i18nKey" + onSelect={selectCity} + t={t} + isPTFlow={true} + //isDependent={true} + //labelKey="TENANT_TENANTS" + disabled={isEditAddress} + /> + + {selectedCity && localities && {`${t("PTR_LOCALITY")} `}} + {selectedCity && localities && ( + + a.name.localeCompare(b.name))} + selectedOption={selectedLocality} + optionKey="i18nkey" + onSelect={selectLocality} + t={t} + //isDependent={true} + labelKey="" + disabled={isEditAddress} + /> + + )} +
+
+
+ ); +}; + +export default PTRSelectAddress; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectPincode.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectPincode.js new file mode 100644 index 00000000000..9adb894a478 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectPincode.js @@ -0,0 +1,100 @@ +import { CardLabel, CardLabelError, FormStep, LabelFieldPair, TextInput } from "@upyog/digit-ui-react-components"; +import React, { useEffect, useState } from "react"; +import { useLocation } from "react-router-dom"; +import Timeline from "../components/PTRTimeline"; + +const PTRSelectPincode = ({ t, config, onSelect, formData = {}, userType, register, errors, setError, formState, clearErrors }) => { + const tenants = Digit.Hooks.ptr.useTenants(); + const { pathname } = useLocation(); + const presentInModifyApplication = pathname.includes("modify"); + + console.log("formData in oincode ",formData) + + const [pincode, setPincode] = useState(() => { + if (presentInModifyApplication && userType === "employee") return formData?.originalData?.address?.pincode || ""; + return formData?.address?.pincode || ""; + }); + + + + const inputs = [ + { + label: "PTR_ADDRESS_PINCODE", + type: "text", + name: "pincode", + validation: { + minlength: 6, + maxlength: 7, + pattern: "[0-9]+", + max: "9999999", + title: t("PTR_ADDRESS_PINCODE_INVALID"), + }, + }, + ]; + const [pincodeServicability, setPincodeServicability] = useState(null); + const [error, setLocalError] = useState(""); + + useEffect(() => { + if (formData?.address?.pincode) { + setPincode(formData.address.pincode); + } + }, [formData?.address?.pincode]); + + function onChange(e) { + setPincode(e.target.value); + setPincodeServicability(null); + setLocalError(""); + let validPincode = Digit.Utils.getPattern("Pincode").test(e.target.value); + + if (userType === "employee") { + if (e.target.value && !validPincode) setLocalError(t("ERR_DEFAULT_INPUT_FIELD_MSG")); + if (validPincode) { + const foundValue = tenants?.find((obj) => obj.pincode?.find((item) => item.toString() === e.target.value)); + if (!foundValue) setLocalError(t("PTR_COMMON_PINCODE_NOT_SERVICABLE")); + } + onSelect(config.key, { ...formData.address, pincode: e.target.value }); + } + } + + const goNext = async (data) => { + const foundValue = tenants?.find((obj) => obj.pincode?.find((item) => item == data?.pincode)); + if (foundValue) { + onSelect(config.key, { pincode }); + } else { + setPincodeServicability("PTR_COMMON_PINCODE_NOT_SERVICABLE"); + } + }; + + if (userType === "employee") { + return inputs?.map((input, index) => { + return ( + + + {t(input.label)} +
+ +
+
+ {error ? {error} : null} +
+ ); + }); + } + const onSkip = () => onSelect(); + return ( + + {window.location.href.includes("/citizen") ? : null} + + + ); +}; + +export default PTRSelectPincode; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectProofIdentity.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectProofIdentity.js new file mode 100644 index 00000000000..dc7faee4919 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectProofIdentity.js @@ -0,0 +1,220 @@ +import React, { useEffect, useState } from "react"; +import { CardLabel, Dropdown, UploadFile, Toast, Loader, FormStep, LabelFieldPair } from "@upyog/digit-ui-react-components"; +import Timeline from "../components/PTRTimeline"; + +const PTRSelectProofIdentity = ({ t, config, onSelect, userType, formData, setError: setFormError, clearErrors: clearFormErrors, formState }) => { + const tenantId = Digit.ULBService.getStateId(); + const [documents, setDocuments] = useState(formData?.documents?.documents || []); + const [error, setError] = useState(null); + const [enableSubmit, setEnableSubmit] = useState(true); + const [checkRequiredFields, setCheckRequiredFields] = useState(false); + + // const tenantId = Digit.ULBService.getCurrentTenantId(); + const stateId = Digit.ULBService.getStateId(); + + + const { isLoading, data } = Digit.Hooks.ptr.usePetMDMS(stateId, "PetService", "Documents"); + + + const handleSubmit = () => { + let document = formData.documents; + let documentStep; + documentStep = { ...document, documents: documents }; + onSelect(config.key, documentStep); + }; + const onSkip = () => onSelect(); + function onAdd() {} + + useEffect(() => { + let count = 0; + data?.PetService?.Documents.map((doc) => { + doc.hasDropdown = true; + + let isRequired = false; + documents.map((data) => { + if (doc.required && data?.documentType.includes(doc.code)) isRequired = true; + }); + if (!isRequired && doc.required) count = count + 1; + }); + if ((count == "0" || count == 0) && documents.length > 0) setEnableSubmit(false); + else setEnableSubmit(true); + }, [documents, checkRequiredFields]); + + + + return ( +
+ + {!isLoading ? ( + + {data?.PetService?.Documents?.map((document, index) => { + return ( + + ); + })} + {error && setError(null)} error />} + + ) : ( + + )} +
+ ); +}; + + +function PTRSelectDocument({ + t, + document: doc, + setDocuments, + setError, + documents, + action, + formData, + + id, + +}) { + const filteredDocument = documents?.filter((item) => item?.documentType?.includes(doc?.code))[0]; + + const tenantId = Digit.ULBService.getCurrentTenantId(); + const [selectedDocument, setSelectedDocument] = useState( + filteredDocument + ? { ...filteredDocument, active: filteredDocument?.status === "ACTIVE", code: filteredDocument?.documentType } + : doc?.dropdownData?.length === 1 + ? doc?.dropdownData[0] + : {} + ); + + const [file, setFile] = useState(null); + const [uploadedFile, setUploadedFile] = useState(() => filteredDocument?.fileStoreId || null); + + const handlePTRSelectDocument = (value) => setSelectedDocument(value); + + function selectfile(e) { + setFile(e.target.files[0]); + } + const { dropdownData } = doc; + + var dropDownData = dropdownData; + + const [isHidden, setHidden] = useState(false); + + + + useEffect(() => { + if (selectedDocument?.code) { + setDocuments((prev) => { + const filteredDocumentsByDocumentType = prev?.filter((item) => item?.documentType !== selectedDocument?.code); + + if (uploadedFile?.length === 0 || uploadedFile === null) { + return filteredDocumentsByDocumentType; + } + + const filteredDocumentsByFileStoreId = filteredDocumentsByDocumentType?.filter((item) => item?.fileStoreId !== uploadedFile); + return [ + ...filteredDocumentsByFileStoreId, + { + documentType: selectedDocument?.code, + filestoreId: uploadedFile, + documentUid: uploadedFile, + }, + ]; + }); + } + + }, [uploadedFile, selectedDocument]); + + useEffect(() => { + if (action === "update") { + const originalDoc = formData?.originalData?.documents?.filter((e) => e.documentType.includes(doc?.code))[0]; + const docType = dropDownData + .filter((e) => e.code === originalDoc?.documentType) + .map((e) => ({ ...e, i18nKey: e?.code?.replaceAll(".", "_") }))[0]; + if (!docType) setHidden(true); + else { + setSelectedDocument(docType); + setUploadedFile(originalDoc?.fileStoreId); + } + } else if (action === "create") { + } + }, []); + + useEffect(() => { + (async () => { + setError(null); + if (file) { + if (file.size >= 5242880) { + setError(t("CS_MAXIMUM_UPLOAD_SIZE_EXCEEDED")); + // if (!formState.errors[config.key]) setFormError(config.key, { type: doc?.code }); + } else { + try { + setUploadedFile(null); + const response = await Digit.UploadServices.Filestorage("PTR", file, Digit.ULBService.getStateId()); + if (response?.data?.files?.length > 0) { + setUploadedFile(response?.data?.files[0]?.fileStoreId); + } else { + setError(t("CS_FILE_UPLOAD_ERROR")); + } + } catch (err) { + setError(t("CS_FILE_UPLOAD_ERROR")); + } + } + } + })(); + }, [file]); + + useEffect(() => { + if (isHidden) setUploadedFile(null); + }, [isHidden]); + + return ( +
+ {doc?.hasDropdown ? ( + + {t(doc?.code.replaceAll(".", "_")) + " *"} + ({ ...e, i18nKey: e.code?.replaceAll(".", "_") }))} + select={handlePTRSelectDocument} + optionKey="i18nKey" + t={t} + /> + + ) : null} + + +
+ { + setUploadedFile(null); + }} + id={id} + message={uploadedFile ? `1 ${t(`CS_ACTION_FILEUPLOADED`)}` : t(`CS_ACTION_NO_FILEUPLOADED`)} + textStyles={{ width: "100%" }} + inputStyles={{ width: "280px" }} + accept=".pdf, .jpeg, .jpg, .png" // to accept document of all kind + buttonType="button" + error={!uploadedFile} + /> +
+
+
+ ); +} + +export default PTRSelectProofIdentity; + + + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectStreet.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectStreet.js new file mode 100644 index 00000000000..a862764b8f1 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRSelectStreet.js @@ -0,0 +1,167 @@ + import { CardLabel, FormStep, LabelFieldPair, TextInput } from "@upyog/digit-ui-react-components"; + import _ from "lodash"; + import React, { useEffect, useState } from "react"; + import { Controller, useForm } from "react-hook-form"; + import Timeline from "../components/PTRTimeline"; + + const PTRSelectStreet = ({ t, config, onSelect, userType, formData, formState, setError, clearErrors }) => { + + const onSkip = () => onSelect(); + const [focusIndex, setFocusIndex] = useState({ index: -1, type: "" }); + const { control, formState: localFormState, watch, setError: setLocalError, clearErrors: clearLocalErrors, setValue, trigger } = useForm(); + const formValue = watch(); + const { errors } = localFormState; + const checkLocation = window.location.href.includes("ptr/petservice/new-application"); + + let inputs; + + + //To do - Need to change this whole page and have to make like same as owner details page because when uncomment the validation , it is throwing error + + inputs = [ + { + label: "PTR_STREET_NAME", + type: "text", + name: "street", + validation: { + // pattern: "[a-zA-Z0-9 !@#$%^&*()_+\-={};':\\\\|,.<>/?]{1,64}", + // // maxlength: 256, + // title: t("CORE_COMMON_STREET_INVALID"), + }, + }, + { + label: "PTR_HOUSE_NO", + type: "text", + name: "doorNo", + validation: { + // pattern: "[a-zA-Z0-9 !@#$%^&*()_+\-={};':\\\\|,.<>/?]{1,64}", + // // maxlength: 256, + // title: t("CORE_COMMON_DOOR_INVALID"), + }, + }, + { + label: "PTR_HOUSE_NAME", + type: "text", + name: "buildingName", + validation: { + // pattern: "[a-zA-Z0-9 !@#$%^&*()_+\-={};':\\\\|,.<>/?]{1,64}", + // // maxlength: 256, + // title: t("CORE_COMMON_DOOR_INVALID"), + }, + }, + { + label: "PTR_ADDRESS_LINE1", + type: "text", + name: "addressLine1", + validation: { + // pattern: "[a-zA-Z0-9 !@#$%^&*()_+\-={};':\\\\|,.<>/?]{1,64}", + // // maxlength: 256, + // title: t("CORE_COMMON_DOOR_INVALID"), + }, + }, + { + label: "PTR_ADDRESS_LINE2", + type: "text", + name: "addressLine2", + validation: { + // pattern: "[a-zA-Z0-9 !@#$%^&*()_+\-={};':\\\\|,.<>/?]{1,64}", + // // maxlength: 256, + // title: t("CORE_COMMON_DOOR_INVALID"), + }, + }, + { + label: "PTR_landmark", + type: "text", + name: "landmark", + validation: { + // pattern: "[a-zA-Z0-9 !@#$%^&*()_+\-={};':\\\\|,.<>/?]{1,64}", + // // maxlength: 256, + // title: t("CORE_COMMON_DOOR_INVALID"), + }, + }, + + + ]; + + ; + + useEffect(() => { + trigger(); + }, []); + + useEffect(() => { + if (userType === "employee") { + if (Object.keys(errors).length && !_.isEqual(formState.errors[config.key]?.type || {}, errors)) setError(config.key, { type: errors }); + else if (!Object.keys(errors).length && formState.errors[config.key]) clearErrors(config.key); + } + }, [errors]); + + useEffect(() => { + const keys = Object.keys(formValue); + const part = {}; + keys.forEach((key) => (part[key] = formData[config.key]?.[key])); + + if (!_.isEqual(formValue, part)) { + onSelect(config.key, { ...formData[config.key], ...formValue }); + trigger(); + } + }, [formValue]); + + if (userType === "employee") { + return inputs?.map((input, index) => { + return ( + + + {!checkLocation ? t(input.label) : `${t(input.label)}:`} + {config.isMandatory ? " * " : null} + +
+ (/^[A-Za-z]+( +[A-Za-z]+)*$/.test(val) ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")) }, + }} + + render={(_props) => ( + { + setFocusIndex({ index }); + _props.onChange(e.target.value); + }} + onBlur={_props.onBlur} + autoFocus={focusIndex?.index == index} + {...input.validation} + /> + )} + /> +
+
+ ); + }); + } + return ( + + onSelect(config.key, data)} + onSkip={onSkip} + t={t} + /> + + ); + }; + + export default PTRSelectStreet; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRServiceDoc.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRServiceDoc.js new file mode 100644 index 00000000000..6c44f99174b --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRServiceDoc.js @@ -0,0 +1,69 @@ +import { Card, CardHeader, CardSubHeader, CardText, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; +import React, { useEffect } from "react"; +import { cardBodyStyle, stringReplaceAll } from "../utils"; +//import { map } from "lodash-es"; + +const PTRServiceDoc = ({ t, config, onSelect, userType, formData }) => { + const tenantId = Digit.ULBService.getCurrentTenantId(); + const stateId = Digit.ULBService.getStateId(); + sessionStorage.removeItem("docReqScreenByBack"); + + const docType = config?.isMutation ? ["MutationDocuments"] : "Documents"; + + + + const { isLoading, data: Documentsob = {} } = Digit.Hooks.ptr.usePetMDMS(stateId, "PetService", docType); + + let docs = Documentsob?.PetService?.Documents; + function onSave() {} + + function goNext() { + onSelect(); + } + + return ( + + + {!config.isMutation ? t("PTR_DOC_REQ_SCREEN_HEADER") : t("PT_REQIURED_DOC_TRANSFER_OWNERSHIP")} +
+ {t("PTR_DOC_REQ_SCREEN_SUB_HEADER")} + {t("PTR_DOC_REQ_SCREEN_TEXT")} + {t("PTR_DOC_REQ_SCREEN_SUB_TEXT")} + {t("PTR_DOC_REQ_SCREEN_LABEL")} + {t("PTR_DOC_REQ_SCREEN_LABEL_TEXT")} +
+ {isLoading && } + {Array.isArray(docs) + ? config?.isMutation + ? docs.map(({ code, dropdownData }, index) => ( +
+ + {index + 1}. {t(code)} + + {dropdownData.map((dropdownData) => t(dropdownData?.code)).join(", ")} +
+ )) + : docs.map(({ code, dropdownData }, index) => ( +
+ + {index + 1}. {t(stringReplaceAll(code, ".", "_"))} + + {dropdownData.map((dropdownData, dropdownIndex) => ( + + {`${dropdownIndex + 1}`}. {t(stringReplaceAll(dropdownData?.code, ".", "_"))} + + ))} +
+ )) + : null} +
+
+ + + +
+
+ ); +}; + +export default PTRServiceDoc; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRWFApplicationTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRWFApplicationTimeline.js new file mode 100644 index 00000000000..9f394ec13dc --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRWFApplicationTimeline.js @@ -0,0 +1,151 @@ +import { ActionLinks, CardSectionHeader, CheckPoint, CloseSvg, ConnectingCheckPoints, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; +import React, { Fragment } from "react"; +import { useTranslation } from "react-i18next"; +import { Link } from "react-router-dom"; +import PTRWFCaption from "./PTRWFCaption"; + + +const PTRWFApplicationTimeline = (props) => { + + const { t } = useTranslation(); + const businessService = props?.application?.workflow?.businessService; + // const businessService = "ptr"; + + const { isLoading, data } = Digit.Hooks.useWorkflowDetails({ + tenantId: props.application?.tenantId, + id: props.application?.applicationNumber, + moduleCode: businessService, + }); + + + function OpenImage(imageSource, index, thumbnailsToShow) { + window.open(thumbnailsToShow?.fullImage?.[0], "_blank"); + } + + const getTimelineCaptions = (checkpoint) => { + + if (checkpoint.state === "OPEN") + { + const caption = { + date: checkpoint?.auditDetails?.lastModified, + source: props.application?.channel || "", + }; + return ; + } + else if (checkpoint.state) { + const caption = { + date: checkpoint?.auditDetails?.lastModified, + name: checkpoint?.assignes?.[0]?.name, + mobileNumber: checkpoint?.assignes?.[0]?.mobileNumber, + comment: t(checkpoint?.comment), + wfComment: checkpoint.wfComment, + thumbnailsToShow: checkpoint?.thumbnailsToShow, + }; + return ; + } + + + else { + const caption = { + date: Digit.DateUtils.ConvertTimestampToDate(props.application?.auditDetails.lastModified), + name: checkpoint?.assigner?.name, + comment: t(checkpoint?.comment), + }; + return ; + } + }; + + const showNextActions = (nextActions) => { + let nextAction = nextActions[0]; + const next = nextActions.map((action) => action.action); + if (next.includes("PAY") || next.includes("EDIT")) { + let currentIndex = next.indexOf("EDIT") || next.indexOf("PAY"); + currentIndex = currentIndex != -1 ? currentIndex : next.indexOf("PAY"); + nextAction = nextActions[currentIndex]; + } + switch (nextAction?.action) { + case "PAY": + return ( + props?.userType === 'citizen' + ? ( +
+ + + +
+ ) : null + ); + + case "SUBMIT_FEEDBACK": + return ( +
+ + + +
+ ); + default: + return null; + } + }; + + if (isLoading) { + return ; + } + + return ( + + {!isLoading && ( + + {data?.timeline?.length > 0 && ( + + {t("CS_APPLICATION_DETAILS_APPLICATION_TIMELINE")} + + )} + {data?.timeline && data?.timeline?.length === 1 ? ( + + ) : ( + + {data?.timeline && + data?.timeline.map((checkpoint, index, arr) => { + + let timelineStatusPostfix = ""; + if (window.location.href.includes("/obps/")) { + if(workflowDetails?.data?.timeline[index-1]?.state?.includes("BACK_FROM") || workflowDetails?.data?.timeline[index-1]?.state?.includes("SEND_TO_CITIZEN")) + timelineStatusPostfix = `_NOT_DONE` + else if(checkpoint?.performedAction === "SEND_TO_ARCHITECT") + timelineStatusPostfix = `_BY_ARCHITECT_DONE` + else + timelineStatusPostfix = index == 0 ? "" : `_DONE`; + } + return ( + + + + ); + })} + + )} + + )} + {data && showNextActions(data?.nextActions)} + + ); +}; + +export default PTRWFApplicationTimeline; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRWFCaption.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRWFCaption.js new file mode 100644 index 00000000000..23c138917f4 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRWFCaption.js @@ -0,0 +1,29 @@ +import React from "react"; +import { useTranslation } from "react-i18next"; +import { TelePhone, DisplayPhotos } from "@upyog/digit-ui-react-components"; +import PTRWFReason from "./PTRWFReason"; + +const PTRWFCaption = ({ data,OpenImage }) => { + const { t } = useTranslation(); + return ( +
+ {data.date &&

{data.date}

} +

{data.name}

+ {data.mobileNumber && } + {data.source &&

{t("ES_APPLICATION_DETAILS_APPLICATION_CHANNEL_" + data.source.toUpperCase())}

} + {data.comment && } + {data?.wfComment ?
{data?.wfComment?.map( e => +
+

{t("WF_COMMON_COMMENTS")}

+

{e}

+
+ )}
: null} + {data?.thumbnailsToShow?.thumbs?.length > 0 ?
+

{t("CS_COMMON_ATTACHMENTS")}

+ {OpenImage(src, index,data?.thumbnailsToShow)}} /> +
: null} +
+ ); +}; + +export default PTRWFCaption; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRWFReason.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRWFReason.js new file mode 100644 index 00000000000..986b414c340 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pageComponents/PTRWFReason.js @@ -0,0 +1,10 @@ +import React from "react"; + +const PTRWFReason = ({ headComment, otherComment }) => ( +
+

{headComment}

+

{otherComment}

+
+); + +export default PTRWFReason; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/Response.js new file mode 100644 index 00000000000..cc3ec10d4dc --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/Response.js @@ -0,0 +1,143 @@ + import React, { useEffect, useState } from "react"; + import { Card, Banner, CardText, SubmitBar, Loader, LinkButton, Toast, ActionBar } from "@upyog/digit-ui-react-components"; + import { Link, useHistory } from "react-router-dom"; + import { useTranslation } from "react-i18next"; + import { useQueryClient } from "react-query"; + import getPetAcknowledgementData from "../getPetAcknowledgementData"; + + const GetMessage = (type, action, isSuccess, isEmployee, t) => { + return t(`${isEmployee ? "E" : "C"}S_PTR_RESPONSE_${action ? action : "CREATE"}_${type}${isSuccess ? "" : "_ERROR"}`); + }; + + const GetActionMessage = (action, isSuccess, isEmployee, t) => { + return GetMessage("ACTION", action, isSuccess, isEmployee, t); + }; + + const GetLabel = (action, isSuccess, isEmployee, t) => { + return GetMessage("LABEL", action, isSuccess, isEmployee, t); + }; + + const DisplayText = (action, isSuccess, isEmployee, t) => { + return GetMessage("DISPLAY", action, isSuccess, isEmployee, t); + }; + + const BannerPicker = (props) => { + return ( + + ); + }; + + const Response = (props) => { + const { t } = useTranslation(); + const queryClient = useQueryClient(); + const history = useHistory(); + const [error, setError] = useState(null); + const [showToast, setShowToast] = useState(null); + const [enableAudit, setEnableAudit] = useState(false); + const [mutationHappened, setMutationHappened, clear] = Digit.Hooks.useSessionStorage("EMPLOYEE_MUTATION_HAPPENED", false); + const [successData, setsuccessData, clearSuccessData] = Digit.Hooks.useSessionStorage("EMPLOYEE_MUTATION_SUCCESS_DATA", false); + + const closeToast = () => { + setShowToast(null); + setError(null); + }; + + const tenantId = Digit.ULBService.getCurrentTenantId(); + const { state } = props.location; + + const mutation = Digit.Hooks.ptr.usePTRCreateAPI(tenantId, state.key !== "UPDATE"); + const mutation1 = Digit.Hooks.ptr.usePTRCreateAPI(tenantId, false); + + const { data: storeData } = Digit.Hooks.useStore.getInitData(); + const { tenants } = storeData || {}; + + const { isLoading: auditDataLoading, isError: isAuditError, data: auditData } = Digit.Hooks.ptr.usePTRSearch( + { + tenantId, + filters: { applicationNumber: state.PetRegistrationApplications.applicationNumber, audit: true }, + }, + { enabled: enableAudit, select: (data) => data.PetRegistrationApplications?.filter((e) => e.status === "ACTIVE") } + ); + + useEffect(() => { + if (mutation1.data && mutation1.isSuccess) setsuccessData(mutation1.data); + }, [mutation.data]); + useEffect(() => { + if (mutation1.data && mutation1.isSuccess) setsuccessData(mutation1.data); + }, [mutation1.data]); + useEffect(() => { + const onSuccess = async (successRes) => { + setMutationHappened(true); + queryClient.clear(); + if (successRes?.PetRegistrationApplications[0]?.creationReason === "CREATE") { + setEnableAudit(true); + } + }; + const onError = (error, variables) => { + setShowToast({ key: "error" }); + setError(error?.response?.data?.Errors[0]?.message || null); + }; + + if (!mutationHappened) { + mutation.mutate( + { + PetRegistrationApplications: state?.PetRegistrationApplications, + }, + { + onError, + onSuccess, + } + ); + } + }, []); + + const handleDownloadPdf = async () => { + const { PetRegistrationApplications = [] } = mutation.data || successData; + const Pet = (PetRegistrationApplications && PetRegistrationApplications[0]) || {}; + const tenantInfo = tenants.find((tenant) => tenant.code === Pet.tenantId); + + let tenantId = Pet.tenantId || tenantId; + + + const data = await getPetAcknowledgementData({ ...Pet, auditData }, tenantInfo, t); + Digit.Utils.pdf.generate(data); + }; + + if (mutation.isLoading || (mutation.isIdle && !mutationHappened)) { + return ; + } + + return ( +
+ + + + {DisplayText(state.action, (mutation.isSuccess || !!successData) && !mutation.isError, props.parentRoute.includes("employee"), t)} + + {(mutation.isSuccess || !!successData) && !mutation.isError && ( + + )} + + {showToast && } + + + + + +
+ ); + }; + + export default Response; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/Create/CheckPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/Create/CheckPage.js new file mode 100644 index 00000000000..56c5588c5f7 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/Create/CheckPage.js @@ -0,0 +1,202 @@ +import { + Card, + CardHeader, + CardSubHeader, + CardText, + CheckBox, + LinkButton, + Row, + StatusTable, + SubmitBar +} from "@upyog/digit-ui-react-components"; +import React, { useState } from "react"; +import { useTranslation } from "react-i18next"; +import { useHistory } from "react-router-dom"; +import { + checkForNA, + getFixedFilename, +} from "../../../utils"; +import Timeline from "../../../components/PTRTimeline"; + +const ActionButton = ({ jumpTo }) => { + const { t } = useTranslation(); + const history = useHistory(); + function routeTo() { + history.push(jumpTo); + } + + return ; +}; + +const CheckPage = ({ onSubmit, value = {} }) => { + const { t } = useTranslation(); + const history = useHistory(); + + + + + + + const { + address, + pets, + index=0, // set the initial value for tesing , need to check why when click on change it will not coming in address page and document page + isEditPET, + isUpdatePET, + ownerss, + + } = value; + + + + + + + + + + + const typeOfApplication = !isEditPET && !isUpdatePET ? `new-application` : `edit-application`; + + + const [agree, setAgree] = useState(false); + const setdeclarationhandler = () => { + setAgree(!agree); + }; + return ( + + {window.location.href.includes("/citizen") ? : null} + + {t("PTR_CHECK_YOUR_DETAILS")} +
+

+ + + + {t("ES_TITILE_OWNER_DETAILS")} +

+ + } + /> + + } + /> + + } + /> + + } + /> + + +

+ + {t("ES_TITILE_PET_DETAILS")} +

+ + } + /> + + } + /> + + } + /> + + } + /> + + } + /> + + } + /> + + +

+ {t("PTR_LOCATION_DETAILS")} +

+ + } + /> + } + /> + } + /> + + } + actionButton={} + /> + } + actionButton={} + /> + } + actionButton={} + /> + + +

+ + + +
+ +
+
+ ); +}; + +export default CheckPage; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/Create/PTRAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/Create/PTRAcknowledgement.js new file mode 100644 index 00000000000..201ba1f4bc6 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/Create/PTRAcknowledgement.js @@ -0,0 +1,97 @@ +import { Banner, Card, CardText, LinkButton, LinkLabel, Loader, Row, StatusTable, SubmitBar } from "@upyog/digit-ui-react-components"; +import React, { useEffect } from "react"; +import { useTranslation } from "react-i18next"; +import { Link, useRouteMatch } from "react-router-dom"; +import getPetAcknowledgementData from "../../../getPetAcknowledgementData"; +import { PetDataConvert } from "../../../utils"; + +const GetActionMessage = (props) => { + const { t } = useTranslation(); + if (props.isSuccess) { + return !window.location.href.includes("edit-application") ? t("ES_PTR_RESPONSE_CREATE_ACTION") : t("CS_PTR_UPDATE_APPLICATION_SUCCESS"); + } else if (props.isLoading) { + return !window.location.href.includes("edit-application") ? t("CS_PTR_APPLICATION_PENDING") : t("CS_PTR_UPDATE_APPLICATION_PENDING"); + } else if (!props.isSuccess) { + return !window.location.href.includes("edit-application") ? t("CS_PTR_APPLICATION_FAILED") : t("CS_PTR_UPDATE_APPLICATION_FAILED"); + } +}; + +const rowContainerStyle = { + padding: "4px 0px", + justifyContent: "space-between", +}; + +const BannerPicker = (props) => { + return ( + + ); +}; + +const PTRAcknowledgement = ({ data, onSuccess }) => { + + + const { t } = useTranslation(); + + const tenantId = Digit.ULBService.getCurrentTenantId(); + const mutation = Digit.Hooks.ptr.usePTRCreateAPI(data.address?.city?.code); + const { data: storeData } = Digit.Hooks.useStore.getInitData(); + const match = useRouteMatch(); + const { tenants } = storeData || {}; + + + useEffect(() => { + try { + + data.tenantId = data.address?.city?.code; + let formdata = PetDataConvert(data) + + + + mutation.mutate(formdata, { + onSuccess, + }); + } catch (err) { + } + }, []); + + + + const handleDownloadPdf = async () => { + const { PetRegistrationApplications = [] } = mutation.data; + let Pet = (PetRegistrationApplications && PetRegistrationApplications[0]) || {}; + const tenantInfo = tenants.find((tenant) => tenant.code === Pet.tenantId); + let tenantId = Pet.tenantId || tenantId; + + const data = await getPetAcknowledgementData({ ...Pet }, tenantInfo, t); + Digit.Utils.pdf.generate(data); + }; + + return mutation.isLoading || mutation.isIdle ? ( + + ) : ( + + + + {mutation.isSuccess && ( + + )} + + {mutation.isSuccess && } + + + + + ); +}; + +export default PTRAcknowledgement; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/Create/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/Create/index.js new file mode 100644 index 00000000000..5e20cea2008 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/Create/index.js @@ -0,0 +1,144 @@ +import { Loader } from "@upyog/digit-ui-react-components"; +import React ,{Fragment}from "react"; +import { useTranslation } from "react-i18next"; +import { useQueryClient } from "react-query"; +import { Redirect, Route, Switch, useHistory, useLocation, useRouteMatch } from "react-router-dom"; +// import { newConfig } from "../../../config/Create/config"; +import { citizenConfig } from "../../../config/Create/citizenconfig"; +import { data } from "jquery"; + +const PTRCreate = ({ parentRoute }) => { + + const queryClient = useQueryClient(); + const match = useRouteMatch(); + const { t } = useTranslation(); + const { pathname } = useLocation(); + const history = useHistory(); + const stateId = Digit.ULBService.getStateId(); + let config = []; + const [params, setParams, clearParams] = Digit.Hooks.useSessionStorage("PTR_CREATE_PET", {}); + let { data: commonFields, isLoading } = Digit.Hooks.pt.useMDMS(stateId, "PropertyTax", "CommonFieldsConfig"); // PROPERTY CONFIG HOOK , just for commkonfeild config + const goNext = (skipStep, index, isAddMultiple, key) => { + let currentPath = pathname.split("/").pop(), + lastchar = currentPath.charAt(currentPath.length - 1), + isMultiple = false, + nextPage; + if (Number(parseInt(currentPath)) || currentPath == "0" || currentPath == "-1") { + if (currentPath == "-1" || currentPath == "-2") { + currentPath = pathname.slice(0, -3); + currentPath = currentPath.split("/").pop(); + isMultiple = true; + } else { + currentPath = pathname.slice(0, -2); + currentPath = currentPath.split("/").pop(); + isMultiple = true; + } + } else { + isMultiple = false; + } + if (!isNaN(lastchar)) { + isMultiple = true; + } + let { nextStep = {} } = config.find((routeObj) => routeObj.route === currentPath); + + + let redirectWithHistory = history.push; + if (skipStep) { + redirectWithHistory = history.replace; + } + if (isAddMultiple) { + nextStep = key; + } + if (nextStep === null) { + return redirectWithHistory(`${match.path}/check`); + } + if (!isNaN(nextStep.split("/").pop())) { + nextPage = `${match.path}/${nextStep}`; + } + else { + nextPage = isMultiple && nextStep !== "map" ? `${match.path}/${nextStep}/${index}` : `${match.path}/${nextStep}`; + } + + redirectWithHistory(nextPage); + }; + + + if(params && Object.keys(params).length>0 && window.location.href.includes("/info") && sessionStorage.getItem("docReqScreenByBack") !== "true") + { + clearParams(); + queryClient.invalidateQueries("PTR_CREATE_PET"); + } + + const ptrcreate = async () => { + history.push(`${match.path}/acknowledgement`); + }; + + function handleSelect(key, data, skipStep, index, isAddMultiple = false) { + if (key === "owners") { + let owners = params.owners || []; + owners[index] = data; + setParams({ ...params, ...{ [key]: [...owners] } }); + } else if (key === "units") { + let units = params.units || []; + // if(index){units[index] = data;}else{ + units = data; + + setParams({ ...params, units }); + } else { + setParams({ ...params, ...{ [key]: { ...params[key], ...data } } }); + } + goNext(skipStep, index, isAddMultiple, key); + } + + const handleSkip = () => {}; + const handleMultiple = () => {}; + + const onSuccess = () => { + clearParams(); + queryClient.invalidateQueries("PTR_CREATE_PET"); + }; + if (isLoading) { + return ; + } + + // commonFields=newConfig; + /* use newConfig instead of commonFields for local development in case needed */ + commonFields = citizenConfig; + commonFields.forEach((obj) => { + config = config.concat(obj.body.filter((a) => !a.hideInCitizen)); + }); + + config.indexRoute = "info"; + + const CheckPage = Digit?.ComponentRegistryService?.getComponent("PTRCheckPage"); + const PTRAcknowledgement = Digit?.ComponentRegistryService?.getComponent("PTRAcknowledgement"); + + + + return ( + + {config.map((routeObj, index) => { + const { component, texts, inputs, key } = routeObj; + const Component = typeof component === "string" ? Digit.ComponentRegistryService.getComponent(component) : component; + return ( + + + + ); + })} + + + + + + + + + + + + + ); +}; + +export default PTRCreate; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/PTRApplicationDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/PTRApplicationDetails.js new file mode 100644 index 00000000000..0f4bddd2ec6 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/PTRApplicationDetails.js @@ -0,0 +1,269 @@ +import { Card, CardSubHeader, Header, LinkButton, Loader, Row, StatusTable, MultiLink, PopUp, Toast, SubmitBar } from "@upyog/digit-ui-react-components"; +import React, { useEffect, useMemo, useState } from "react"; +import { useTranslation } from "react-i18next"; +import { useHistory, useParams } from "react-router-dom"; +import getPetAcknowledgementData from "../../getPetAcknowledgementData"; +import PTRWFApplicationTimeline from "../../pageComponents/PTRWFApplicationTimeline"; +import { pdfDownloadLink } from "../../utils"; + + +import get from "lodash/get"; +import { size } from "lodash"; + +const PTRApplicationDetails = () => { + const { t } = useTranslation(); + const history = useHistory(); + const { acknowledgementIds, tenantId } = useParams(); + const [acknowldgementData, setAcknowldgementData] = useState([]); + const [showOptions, setShowOptions] = useState(false); + const [popup, setpopup] = useState(false); + const [showToast, setShowToast] = useState(null); + // const tenantId = Digit.ULBService.getCurrentTenantId(); + const { data: storeData } = Digit.Hooks.useStore.getInitData(); + const { tenants } = storeData || {}; + + + const { isLoading, isError,error, data } = Digit.Hooks.ptr.usePTRSearch( + { + tenantId, + filters: { applicationNumber: acknowledgementIds }, + }, + ); + + + + + + const [billData, setBillData]=useState(null); + + // let serviceSearchArgs = { + // tenantId : tenantId, + // code: [`PTR_${data?.PetRegistrationApplications?.[0]?.creationReason}`], + // module: ["PTR"], + // referenceIds : [data?.PetRegistrationApplications?.[0]?.applicationNumber] + + // } + + + + const PetRegistrationApplications = get(data, "PetRegistrationApplications", []); + + + const petId = get(data, "PetRegistrationApplications[0].applicationNumber", []); + + let pet_details = (PetRegistrationApplications && PetRegistrationApplications.length > 0 && PetRegistrationApplications[0]) || {}; + const application = pet_details; + + + sessionStorage.setItem("ptr-pet", JSON.stringify(application)); + + + + const [loading, setLoading]=useState(false); + + const fetchBillData=async()=>{ + setLoading(true); + const result= await Digit.PaymentService.fetchBill(tenantId,{ businessService: "pet-services", consumerCode: acknowledgementIds, }); + + setBillData(result); + setLoading(false); +}; +useEffect(()=>{ +fetchBillData(); +}, [tenantId, acknowledgementIds]); + + const { isLoading: auditDataLoading, isError: isAuditError, data: auditResponse } = Digit.Hooks.ptr.usePTRSearch( + { + tenantId, + filters: { applicationNumber: petId, audit: true }, + }, + { + enabled: true, + + } + ); + + const { data: reciept_data, isLoading: recieptDataLoading } = Digit.Hooks.useRecieptSearch( + { + tenantId: tenantId, + businessService: "pet-services", + consumerCodes: acknowledgementIds, + isEmployee: false, + }, + { enabled: acknowledgementIds ? true : false } + ); + + if (!pet_details.workflow) { + let workflow = { + id: null, + tenantId: tenantId, + businessService: "pet-services", + businessId: application?.applicationNumber, + action: "", + moduleName: "pet-services", + state: null, + comment: null, + documents: null, + assignes: null, + }; + pet_details.workflow = workflow; + } + + + + + + + // let owners = []; + // owners = application?.owners; + // let docs = []; + // docs = application?.documents; + + if (isLoading || auditDataLoading) { + return ; + } + + + + const getAcknowledgementData = async () => { + const applications = application || {}; + const tenantInfo = tenants.find((tenant) => tenant.code === applications.tenantId); + const acknowldgementDataAPI = await getPetAcknowledgementData({ ...applications }, tenantInfo, t); + Digit.Utils.pdf.generate(acknowldgementDataAPI); + //setAcknowldgementData(acknowldgementDataAPI); + }; + + let documentDate = t("CS_NA"); + if ( pet_details?.additionalDetails?.documentDate) { + const date = new Date( pet_details?.additionalDetails?.documentDate); + const month = Digit.Utils.date.monthNames[date.getMonth()]; + documentDate = `${date.getDate()} ${month} ${date.getFullYear()}`; + } + + async function getRecieptSearch({ tenantId, payments, ...params }) { + let response = { filestoreIds: [payments?.fileStoreId] }; + response = await Digit.PaymentService.generatePdf(tenantId, { Payments: [{ ...payments }] }, "petservice-receipt"); + const fileStore = await Digit.PaymentService.printReciept(tenantId, { fileStoreIds: response.filestoreIds[0] }); + window.open(fileStore[response?.filestoreIds[0]], "_blank"); + }; + + const handleDownload = async (document, tenantid) => { + let tenantId = tenantid ? tenantid : tenantId; + const res = await Digit.UploadServices.Filefetch([document?.fileStoreId], tenantId); + let documentLink = pdfDownloadLink(res.data, document?.fileStoreId); + window.open(documentLink, "_blank"); + }; + + const printCertificate = async () => { + let response = await Digit.PaymentService.generatePdf(tenantId, { PetRegistrationApplications: [data?.PetRegistrationApplications?.[0]] }, "petservicecertificate"); + const fileStore = await Digit.PaymentService.printReciept(tenantId, { fileStoreIds: response.filestoreIds[0] }); + window.open(fileStore[response?.filestoreIds[0]], "_blank"); + }; + + let dowloadOptions = []; + + dowloadOptions.push({ + label: t("PTR_PET_DOWNLOAD_ACK_FORM"), + onClick: () => getAcknowledgementData(), + }); + + //commented out, need later for download receipt and certificate + if (reciept_data && reciept_data?.Payments.length > 0 && recieptDataLoading == false) + dowloadOptions.push({ + label: t("PTR_FEE_RECIEPT"), + onClick: () => getRecieptSearch({ tenantId: reciept_data?.Payments[0]?.tenantId, payments: reciept_data?.Payments[0] }), + }); + if (data?.ResponseInfo?.status === "successful") + dowloadOptions.push({ + label: t("PTR_CERTIFICATE"), + onClick: () => printCertificate(), + }); + + return ( + +
+
+
{t("PTR_PET_APPLICATION_DETAILS")}
+ {dowloadOptions && dowloadOptions.length > 0 && ( + setShowOptions(!showOptions)} + displayOptions={showOptions} + options={dowloadOptions} + /> + )} +
+ + + + + + {t("PTR_ADDRESS_HEADER")} + + + + + + + + {t("PTR_APPLICANT_DETAILS_HEADER")} + + + + + + + + {t("PTR_PET_DETAILS_HEADER")} + + + + + + + + + + + {/* {t("PTR_DOCUMENT_DETAILS")} +
+ {Array.isArray(docs) ? ( + docs.length > 0 && + ) : ( + + + + )} +
*/} + + {showToast && ( + { + setShowToast(null); + }} + /> + )} +
+ + {popup && } +
+
+ ); +}; + +export default PTRApplicationDetails; + + + + + + + + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/PTRMyApplications/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/PTRMyApplications/index.js new file mode 100644 index 00000000000..ed99703e5c6 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/PTRMyApplications/index.js @@ -0,0 +1,80 @@ +import { Header, Loader } from "@upyog/digit-ui-react-components"; +import React from "react"; +import { Link } from "react-router-dom"; +import { useTranslation } from "react-i18next"; +import PetApplication from "./pet-application"; + +export const PTRMyApplications = () => { + const { t } = useTranslation(); + const tenantId = Digit.ULBService.getCitizenCurrentTenant(true) || Digit.ULBService.getCurrentTenantId(); + const user = Digit.UserService.getUser().info; + + + let filter = window.location.href.split("/").pop(); + let t1; + let off; + if (!isNaN(parseInt(filter))) { + off = filter; + t1 = parseInt(filter) + 50; + } else { + t1 = 4; + } + let filter1 = !isNaN(parseInt(filter)) + ? { limit: "50", sortOrder: "ASC", sortBy: "createdTime", offset: off, tenantId } + : { limit: "4", sortOrder: "ASC", sortBy: "createdTime", offset: "0",mobileNumber:user?.mobileNumber, tenantId }; + + const { isLoading, isError, error, data } = Digit.Hooks.ptr.usePTRSearch({ filters: filter1 }, { filters: filter1 }); + + const {PetRegistrationApplications: applicationsList } = data || {}; + let combinedApplicationNumber = applicationsList?.length > 0 ? applicationsList?.map((ob) => ob?.applicationNumber) : []; + let serviceSearchArgs = { + tenantId : tenantId, + referenceIds : combinedApplicationNumber, + } + + const { isLoading:serviceloading, data : servicedata} = Digit.Hooks.useFeedBackSearch({ filters: { serviceSearchArgs } },{ filters: { serviceSearchArgs }, enabled : combinedApplicationNumber?.length > 0 ?true : false, cacheTime : 0 }); + + function getLabelValue(curservice){ + let foundValue = servicedata?.Service?.find((ob) => ob?.referenceId?.includes(curservice?.applicationNumber)); + + if(foundValue) + return t("CS_CF_VIEW") + else + return t("CS_CF_TRACK") + } + + if (isLoading || serviceloading) { + return ; + } + + + return ( + +
{`${t("CS_TITLE_MY_APPLICATIONS")} ${applicationsList ? `(${applicationsList.length})` : ""}`}
+
+ {applicationsList?.length > 0 && + applicationsList.map((application, index) => ( +
+ +
+ ))} + {!applicationsList?.length > 0 &&

{t("PTR_NO_APPLICATION_FOUND_MSG")}

} + + {applicationsList?.length !== 0 && ( +
+

+ {{t("PTR_LOAD_MORE_MSG")}} +

+
+ )} +
+ +

+ {t("PTR_TEXT_NOT_ABLE_TO_FIND_THE_APPLICATION")}{" "} + + {t("PTR_COMMON_CLICK_HERE_TO_REGISTER_NEW_PET")} + +

+
+ ); +}; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/PTRMyApplications/pet-application.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/PTRMyApplications/pet-application.js new file mode 100644 index 00000000000..4ebc8c49215 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/PTRMyApplications/pet-application.js @@ -0,0 +1,24 @@ +import { Card, KeyNote, SubmitBar } from "@upyog/digit-ui-react-components"; +import React from "react"; +import { useTranslation } from "react-i18next"; +import { Link } from "react-router-dom"; + +const PetApplication = ({ application, tenantId, buttonLabel }) => { + + + const { t } = useTranslation(); + return ( + + + + + + + + + + + ); +}; + +export default PetApplication; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/index.js new file mode 100644 index 00000000000..4eabade7057 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/citizen/index.js @@ -0,0 +1,40 @@ +import { AppContainer, BackButton, PrivateRoute } from "@upyog/digit-ui-react-components"; +import React from "react"; +import { Route, Switch, useRouteMatch } from "react-router-dom"; +import { shouldHideBackButton } from "../../utils"; +import { useTranslation } from "react-i18next"; + +const hideBackButtonConfig = [ + { screenPath: "petservice/new-application/acknowledgement" }, + { screenPath: "petservice/edit-application/acknowledgement" }, + +]; + +const App = () => { + const { path, url, ...match } = useRouteMatch(); + const { t } = useTranslation(); + const inboxInitialState = { + searchParams: {}, + }; + + const PTRCreate = Digit?.ComponentRegistryService?.getComponent("PTRCreatePet"); + const PTRApplicationDetails = Digit?.ComponentRegistryService?.getComponent("PTRApplicationDetails"); + const PTRMyApplications = Digit?.ComponentRegistryService?.getComponent("PTRMyApplications"); + + return ( + + + + {!shouldHideBackButton(hideBackButtonConfig) ? Back : ""} + + + + {/* */} + } /> + + + + ); +}; + +export default App; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/ApplicationDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/ApplicationDetails.js new file mode 100644 index 00000000000..fd1c25e59a9 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/ApplicationDetails.js @@ -0,0 +1,185 @@ + import { Header, MultiLink } from "@upyog/digit-ui-react-components"; + import _ from "lodash"; + import React, { useEffect, useState } from "react"; + import { useTranslation } from "react-i18next"; + import { useParams } from "react-router-dom"; + import ApplicationDetailsTemplate from "../../../../templates/ApplicationDetails"; + import getPetAcknowledgementData from "../../getPetAcknowledgementData"; + + + const ApplicationDetails = () => { + const { t } = useTranslation(); + const { data: storeData } = Digit.Hooks.useStore.getInitData(); + const tenantId = Digit.ULBService.getCurrentTenantId(); + const { tenants } = storeData || {}; + const { id: applicationNumber } = useParams(); + const [showToast, setShowToast] = useState(null); + const [appDetailsToShow, setAppDetailsToShow] = useState({}); + const [showOptions, setShowOptions] = useState(false); + const [enableAudit, setEnableAudit] = useState(false); + const [businessService, setBusinessService] = useState("ptr"); + + console.log("gggggg",appDetailsToShow); + + + + sessionStorage.setItem("applicationNoinAppDetails", applicationNumber); + const { isLoading, isError, data: applicationDetails, error } = Digit.Hooks.ptr.usePtrApplicationDetail(t, tenantId, applicationNumber); + + const { + isLoading: updatingApplication, + isError: updateApplicationError, + data: updateResponse, + error: updateError, + mutate, + } = Digit.Hooks.ptr.usePTRApplicationAction(tenantId); + + let workflowDetails = Digit.Hooks.useWorkflowDetails({ + tenantId: applicationDetails?.applicationData?.tenantId || tenantId, + id: applicationDetails?.applicationData?.applicationData?.applicationNumber, + moduleCode: businessService, + role: "PT_CEMP", + }); + + console.log("workkkkflooowowow",workflowDetails); + + const { isLoading: auditDataLoading, isError: isAuditError, data: auditData } = Digit.Hooks.ptr.usePTRSearch( + { + tenantId, + filters: { applicationNumber: applicationNumber, audit: true }, + }, + // { enabled: enableAudit, select: (data) => data.PetRegistrationApplications?.filter((e) => e.status === "ACTIVE") } + ); + + const closeToast = () => { + setShowToast(null); + }; + + useEffect(() => { + if (applicationDetails) { + setAppDetailsToShow(_.cloneDeep(applicationDetails)); + + } + }, [applicationDetails]); + + + + useEffect(() => { + + if (workflowDetails?.data?.applicationBusinessService && !(workflowDetails?.data?.applicationBusinessService === "ptr" && businessService === "ptr")) { + setBusinessService(workflowDetails?.data?.applicationBusinessService); + } + }, [workflowDetails.data]); + + + const PT_CEMP = Digit.UserService.hasAccess(["PT_CEMP"]) || false; + if ( + PT_CEMP && + workflowDetails?.data?.applicationBusinessService === "ptr" && + workflowDetails?.data?.actionState?.nextActions?.find((act) => act.action === "PAY") + ) { + workflowDetails.data.actionState.nextActions = workflowDetails?.data?.actionState?.nextActions.map((act) => { + if (act.action === "PAY") { + return { + action: "PAY", + forcedName: "WF_PAY_APPLICATION", + redirectionUrl: { pathname: `/digit-ui/employee/payment/collect/pet-services/${appDetailsToShow?.applicationData?.applicationData?.applicationNumber}` }, + }; + } + return act; + }); + } + + const handleDownloadPdf = async () => { + const PetRegistrationApplications = appDetailsToShow?.applicationData; + const tenantInfo = tenants.find((tenant) => tenant.code === PetRegistrationApplications.tenantId); + const data = await getPetAcknowledgementData(PetRegistrationApplications.applicationData, tenantInfo, t); + Digit.Utils.pdf.generate(data); + }; + + const petDetailsPDF = { + order: 1, + label: t("PTR_APPLICATION"), + onClick: () => handleDownloadPdf(), + }; + let dowloadOptions = [petDetailsPDF]; + + const { data: reciept_data, isLoading: recieptDataLoading } = Digit.Hooks.useRecieptSearch( + { + tenantId: tenantId, + businessService: "pet-services", + consumerCodes: appDetailsToShow?.applicationData?.applicationData?.applicationNumber, + isEmployee: false, + }, + { enabled: appDetailsToShow?.applicationData?.applicationData?.applicationNumber ? true : false } + ); + + + async function getRecieptSearch({ tenantId, payments, ...params }) { + let response = { filestoreIds: [payments?.fileStoreId] }; + response = await Digit.PaymentService.generatePdf(tenantId, { Payments: [{ ...payments }] }, "petservice-receipt"); + const fileStore = await Digit.PaymentService.printReciept(tenantId, { fileStoreIds: response.filestoreIds[0] }); + window.open(fileStore[response?.filestoreIds[0]], "_blank"); + }; + + if (reciept_data && reciept_data?.Payments.length > 0 && recieptDataLoading == false) + dowloadOptions.push({ + label: t("PTR_FEE_RECIEPT"), + onClick: () => getRecieptSearch({ tenantId: reciept_data?.Payments[0]?.tenantId, payments: reciept_data?.Payments[0] }), + }); + + const printCertificate = async () => { + let response = await Digit.PaymentService.generatePdf(tenantId, { PetRegistrationApplications: [applicationDetails?.applicationData?.applicationData] }, "petservicecertificate"); + const fileStore = await Digit.PaymentService.printReciept(tenantId, { fileStoreIds: response.filestoreIds[0] }); + window.open(fileStore[response?.filestoreIds[0]], "_blank"); + }; + + + if (reciept_data?.Payments[0]?.instrumentStatus === "APPROVED") + dowloadOptions.push({ + label: t("PTR_CERTIFICATE"), + onClick: () => printCertificate(), + }); + + + return ( +
+
+
{t("PTR_PET_APPLICATION_DETAILS")}
+ {dowloadOptions && dowloadOptions.length > 0 && ( + setShowOptions(!showOptions)} + displayOptions={showOptions} + options={dowloadOptions} + downloadBtnClassName={"employee-download-btn-className"} + optionsClassName={"employee-options-btn-className"} + // ref={menuRef} + /> + )} +
+ + + + +
+ ); + }; + + export default React.memo(ApplicationDetails); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/Inbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/Inbox.js new file mode 100644 index 00000000000..e19996d4861 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/Inbox.js @@ -0,0 +1,156 @@ +import React, { useCallback, useEffect, useState } from "react"; +import { useTranslation } from "react-i18next"; +import { Header } from "@upyog/digit-ui-react-components"; + +import PTRDesktopInbox from "../../components/PTRDesktopInbox"; +import MobileInbox from "../../components/MobileInbox"; + +const Inbox = ({ + useNewInboxAPI, + parentRoute, + moduleCode = "PTR", + initialStates = {}, + filterComponent, + isInbox, + rawWfHandler, + rawSearchHandler, + combineResponse, + wfConfig, + searchConfig, + middlewaresWf, + middlewareSearch, + EmptyResultInboxComp, +}) => { + const tenantId = Digit.ULBService.getCurrentTenantId(); + + const { t } = useTranslation(); + const [enableSarch, setEnableSearch] = useState(() => (isInbox ? {} : { enabled: false })); + const [TableConfig, setTableConfig] = useState(() => Digit.ComponentRegistryService?.getComponent("PTRInboxTableConfig")); + // const [getSearchFi] + const [pageOffset, setPageOffset] = useState(initialStates.pageOffset || 0); + const [pageSize, setPageSize] = useState(initialStates.pageSize || 10); + const [sortParams, setSortParams] = useState(initialStates.sortParams || [{ id: "createdTime", desc: true }]); + const [searchParams, setSearchParams] = useState(initialStates.searchParams || {}); + + let isMobile = window.Digit.Utils.browser.isMobile(); + let paginationParams = isMobile + ? { limit: 100, offset: 0, sortBy: sortParams?.[0]?.id, sortOrder: sortParams?.[0]?.desc ? "DESC" : "ASC" } + : { limit: pageSize, offset: pageOffset, sortBy: sortParams?.[0]?.id, sortOrder: sortParams?.[0]?.desc ? "DESC" : "ASC" }; + + const { isFetching, isLoading: hookLoading, searchResponseKey, data, searchFields, ...rest } = useNewInboxAPI + ? Digit.Hooks.useNewInboxGeneral({ + tenantId, + ModuleCode: moduleCode, + filters: { ...searchParams, ...paginationParams, sortParams }, + }) + : Digit.Hooks.useInboxGeneral({ + tenantId, + businessService: moduleCode, + isInbox, + filters: { ...searchParams, ...paginationParams, sortParams }, + rawWfHandler, + rawSearchHandler, + combineResponse, + wfConfig, + searchConfig: { ...enableSarch, ...searchConfig }, + middlewaresWf, + middlewareSearch, + }); + + + + + + + useEffect(() => { + setPageOffset(0); + }, [searchParams]); + + const fetchNextPage = () => { + setPageOffset((prevState) => prevState + pageSize); + }; + + const fetchPrevPage = () => { + setPageOffset((prevState) => prevState - pageSize); + }; + + const handleFilterChange = (filterParam) => { + let keys_to_delete = filterParam.delete; + let _new = { ...searchParams, ...filterParam }; + if (keys_to_delete) keys_to_delete.forEach((key) => delete _new[key]); + delete filterParam.delete; + setSearchParams({ ..._new }); + setEnableSearch({ enabled: true }); + }; + + const handleSort = useCallback((args) => { + if (args.length === 0) return; + setSortParams(args); + }, []); + + const handlePageSizeChange = (e) => { + setPageSize(Number(e.target.value)); + }; + + if (rest?.data?.length !== null) { + if (isMobile) { + return ( + + //
+ ); + } else { + return ( +
+ {isInbox &&
{t("ES_COMMON_INBOX")}
} + + + +
+ ); + } + } +}; + +export default Inbox; + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/NewApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/NewApplication/index.js new file mode 100644 index 00000000000..29f3696facd --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/NewApplication/index.js @@ -0,0 +1,108 @@ + import { FormComposer, Loader } from "@upyog/digit-ui-react-components"; + import React, { useEffect, useState } from "react"; + import { useTranslation } from "react-i18next"; + import { useHistory } from "react-router-dom"; + import { newConfig } from "../../../config/Create/config"; + + const NewApplication = () => { + const tenantId = Digit.ULBService.getCurrentTenantId(); + const tenants = Digit.Hooks.ptr.useTenants(); + + const { t } = useTranslation(); + const [canSubmit, setSubmitValve] = useState(false); + const defaultValues = {}; + const history = useHistory(); + + const [_formData, setFormData,_clear] = Digit.Hooks.useSessionStorage("store-data",null); + const [mutationHappened, setMutationHappened, clear] = Digit.Hooks.useSessionStorage("EMPLOYEE_MUTATION_HAPPENED", false); + const [successData, setsuccessData, clearSuccessData] = Digit.Hooks.useSessionStorage("EMPLOYEE_MUTATION_SUCCESS_DATA", { }); + + // const { data: commonFields, isLoading } = Digit.Hooks.pt.useMDMS(Digit.ULBService.getStateId(), "PropertyTax", "CommonFieldsConfig"); + + useEffect(() => { + setMutationHappened(false); + clearSuccessData(); + }, []); + + + + const onFormValueChange = (setValue, formData, formState) => { + + setSubmitValve(!Object.keys(formState.errors).length); + }; + + const onPetSubmit = (data) => { + + + + + + const formData = [{ + tenantId, + ...data?.owners[0], + petDetails:{ + ...data?.pets[0], + petType:data?.pets[0]?.petType?.value, + breedType:data?.pets[0]?.breedType?.value, + petGender: data?.pets[0]?.petGender?.name, + }, + + address: { + ...data?.address, + city:data?.address?.city?.name, + locality: { code: data?.address?.locality?.code, area: data?.address?.locality?.area }, + + }, + + + documents: data?.documents?.documents, + + workflow : { + businessService: "ptr", // required + action : "APPLY", //required + moduleName: "pet-services" //required + } + + }]; + + history.replace("/digit-ui/employee/ptr/petservice/response", { PetRegistrationApplications: formData }); + + + }; + + + + // if (isLoading) { + // return ; + // } + + /* use newConfig instead of commonFields for local development in case needed */ + + + // const configs = commonFields? newConfig: commonFields; \ + const configs = newConfig; + + + + return ( + { + + return { + ...config, + body: config.body.filter((a) => !a.hideInEmployee), + }; + })} + fieldStyle={{ marginRight: 0 }} + onSubmit={onPetSubmit} + defaultValues={defaultValues} + onFormValueChange={onFormValueChange} + + /> + ); + }; + + export default NewApplication; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/SearchApp.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/SearchApp.js new file mode 100644 index 00000000000..17d666aab4e --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/SearchApp.js @@ -0,0 +1,64 @@ +import React, { useState } from "react" +import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, SearchField, Dropdown, Toast } from "@upyog/digit-ui-react-components"; +import { useForm, Controller } from "react-hook-form"; +import { useParams } from "react-router-dom" +import { useTranslation } from "react-i18next"; +import PTRSearchApplication from "../../components/SearchApplication"; + +const SearchApp = ({path}) => { + const { variant } = useParams(); + const { t } = useTranslation(); + const tenantId = Digit.ULBService.getCurrentTenantId(); + const [payload, setPayload] = useState({}) + const [showToast, setShowToast] = useState(null); + + function onSubmit (_data) { + var fromDate = new Date(_data?.fromDate) + fromDate?.setSeconds(fromDate?.getSeconds() - 19800 ) + var toDate = new Date(_data?.toDate) + toDate?.setSeconds(toDate?.getSeconds() + 86399 - 19800) + const data = { + ..._data, + ...(_data.toDate ? {toDate: toDate?.getTime()} : {}), + ...(_data.fromDate ? {fromDate: fromDate?.getTime()} : {}) + } + + let payload = Object.keys(data).filter( k => data[k] ).reduce( (acc, key) => ({...acc, [key]: typeof data[key] === "object" ? data[key].code : data[key] }), {} ); + if(Object.entries(payload).length>0 && !payload.applicationNumber && !payload.creationReason && !payload.fromDate && !payload.mobileNumber && !payload.applicationNumber && !payload.status && !payload.toDate) + setShowToast({ warning: true, label: "ERR_PTR_FILL_VALID_FIELDS" }); + else if(Object.entries(payload).length>0 && (payload.creationReason || payload.status ) && (!payload.applicationNumber && !payload.fromDate && !payload.mobileNumber && !payload.applicationNumber && !payload.toDate)) + setShowToast({ warning: true, label: "ERR_PROVIDE_MORE_PARAM_WITH_TYPE_STATUS" }); + else if(Object.entries(payload).length>0 && (payload.fromDate && !payload.toDate) || (!payload.fromDate && payload.toDate)) + setShowToast({ warning: true, label: "ERR_PROVIDE_BOTH_FORM_TO_DATE" }); + else + setPayload(payload) + } + + const config = { + enabled: !!( payload && Object.keys(payload).length > 0 ) + } + + const { isLoading, isSuccess, isError, error, data: {PetRegistrationApplications: searchReult, Count: count} = {} } = Digit.Hooks.ptr.usePTRSearch( + { tenantId, + filters: payload + }, + config, + ); + return + 0? searchReult : { display: "ES_COMMON_NO_DATA" } ):""} count={count} /> + {showToast && ( + { + setShowToast(null); + }} + /> + )} + + +} + +export default SearchApp \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/index.js new file mode 100644 index 00000000000..e42d3f3d09e --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/pages/employee/index.js @@ -0,0 +1,114 @@ +import { PrivateRoute,BreadCrumb } from "@upyog/digit-ui-react-components"; +import React from "react"; +import { useTranslation } from "react-i18next"; +import { Link, Switch, useLocation } from "react-router-dom"; +import { PTRLinks } from "../../Module"; +import Inbox from "./Inbox"; +// import PaymentDetails from "./PaymentDetails"; +import SearchApp from "./SearchApp"; + + +const EmployeeApp = ({ path, url, userType }) => { + const { t } = useTranslation(); + const location = useLocation(); + const mobileView = innerWidth <= 640; + sessionStorage.removeItem("revalidateddone"); + const isMobile = window.Digit.Utils.browser.isMobile(); + + const inboxInitialState = { + searchParams: { + uuid: { code: "ASSIGNED_TO_ALL", name: "ES_INBOX_ASSIGNED_TO_ALL" }, + services: ["ptr"], + applicationStatus: [], + locality: [], + + }, + }; + + + + const PETBreadCrumbs = ({ location }) => { + const { t } = useTranslation(); + const search = useLocation().search; + const fromScreen = new URLSearchParams(search).get("from") || null; + const { from : fromScreen2 } = Digit.Hooks.useQueryParams(); + const crumbs = [ + { + path: "/digit-ui/employee", + content: t("ES_COMMON_HOME"), + show: true, + }, + { + path: "/digit-ui/employee/ptr/petservice/inbox", + content: t("ES_TITLE_INBOX"), + show: location.pathname.includes("ptr/petservice/inbox") ? true : false, + }, + + + { + path: "/digit-ui/employee/ptr/petservice/my-applications", + content: t("ES_COMMON_APPLICATION_SEARCH"), + show: location.pathname.includes("/ptr/petservice/my-applications") || location.pathname.includes("/ptr/applicationsearch/application-details/") ? true : false, + }, + + + + ]; + + return ; + } + + const NewApplication = Digit?.ComponentRegistryService?.getComponent("PTRNewApplication"); + const ApplicationDetails = Digit?.ComponentRegistryService?.getComponent("ApplicationDetails"); + + // const EditApplication = Digit?.ComponentRegistryService?.getComponent("PTEditApplication"); + const Response = Digit?.ComponentRegistryService?.getComponent("PTRResponse"); + const DocsRequired = Digit?.ComponentRegistryService?.getComponent("PTRDocsRequired"); + const isRes = window.location.href.includes("ptr/response"); + const isNewRegistration = window.location.href.includes("new-application") || window.location.href.includes("modify-application") || window.location.href.includes("ptr/application-details"); + return ( + + +
+ + {!isRes ?
: null} + } /> + ( + + )} + /> + } /> + } /> + } /> + } /> + } /> + ( + + )} + /> + } /> +
+
+
+ ); +}; + +export default EmployeeApp; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/utils/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/utils/index.js new file mode 100644 index 00000000000..f79e890f1d3 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ptr/src/utils/index.js @@ -0,0 +1,221 @@ +export const checkForNotNull = (value = "") => { + return value && value != null && value != undefined && value != "" ? true : false; +}; + +export const convertDotValues = (value = "") => { + return ( + (checkForNotNull(value) && ((value.replaceAll && value.replaceAll(".", "_")) || (value.replace && stringReplaceAll(value, ".", "_")))) || "NA" + ); +}; + + + +export const getFixedFilename = (filename = "", size = 5) => { + if (filename.length <= size) { + return filename; + } + return `${filename.substr(0, size)}...`; +}; + +export const shouldHideBackButton = (config = []) => { + return config.filter((key) => window.location.href.includes(key.screenPath)).length > 0 ? true : false; +}; + + +export const setAddressDetails = (data) => { + let { address } = data; + + let propAddress = { + ...address, + pincode: address?.pincode, + landmark: address?.landmark, + city: address?.city?.name, + doorNo: address?.doorNo, + street: address?.street, + locality: { + code: address?.locality?.code || "NA", + area: address?.locality?.name, + }, + }; + + data.address = propAddress; + return data; +}; + +export const setOwnerDetails = (data) => { + let { ownerss } = data; + + let propOwners = { + ...ownerss, + + }; + + data.ownerss = propOwners; + return data; + }; + + export const setPetDetails = (data) => { + let { pets } = data; + + let petDetails = { + ...pets, + petType:pets?.petType?.value, + breedType:pets?.breedType?.value, + petGender: pets?.petGender?.name, + clinicName: pets?.clinicName, + petName: pets?.petName, + doctorName: pets?.doctorName, + lastVaccineDate: pets?.lastVaccineDate, + petAge: pets?.petAge, + vaccinationNumber: pets?.vaccinationNumber + + }; + + data.pets = petDetails; + return data; + }; + + export const setDocumentDetails = (data) => { + let { documents } = data; + + let doc = { + ...documents, + + + }; + + data.documents = doc; + return data; + }; + + +export const PetDataConvert = (data) => { + + data = setDocumentDetails(data); + data = setOwnerDetails(data); + data = setAddressDetails(data); + data = setPetDetails(data); + + const formdata = { + PetRegistrationApplications: [{ + tenantId: data.tenantId, + ...data?.ownerss, + address: data.address, + petDetails: data.pets, + ...data.documents, + + + workflow : { + businessService: "ptr", + action : "APPLY", + moduleName: "pet-services" + } + }], + }; + + + return formdata; +}; + +export const CompareTwoObjects = (ob1, ob2) => { + let comp = 0; +Object.keys(ob1).map((key) =>{ + if(typeof ob1[key] == "object") + { + if(key == "institution") + { + if((ob1[key].name || ob2[key].name) && ob1[key]?.name !== ob2[key]?.name) + comp=1 + else if(ob1[key]?.type?.code !== ob2[key]?.type?.code) + comp=1 + + } + else if(ob1[key]?.code !== ob2[key]?.code) + comp=1 + } + else + { + if((ob1[key] || ob2[key]) && ob1[key] !== ob2[key]) + comp=1 + } +}); +if(comp==1) +return false +else +return true; +} + +/* method to check value if not returns NA*/ +export const checkForNA = (value = "") => { + return checkForNotNull(value) ? value : "PTR_NA"; +}; + +/* method to get required format from fielstore url*/ +export const pdfDownloadLink = (documents = {}, fileStoreId = "", format = "") => { + /* Need to enhance this util to return required format*/ + + let downloadLink = documents[fileStoreId] || ""; + let differentFormats = downloadLink?.split(",") || []; + let fileURL = ""; + differentFormats.length > 0 && + differentFormats.map((link) => { + if (!link.includes("large") && !link.includes("medium") && !link.includes("small")) { + fileURL = link; + } + }); + return fileURL; +}; + +/* method to get filename from fielstore url*/ +export const pdfDocumentName = (documentLink = "", index = 0) => { + let documentName = decodeURIComponent(documentLink.split("?")[0].split("/").pop().slice(13)) || `Document - ${index + 1}`; + return documentName; +}; + +/* methid to get date from epoch */ +export const convertEpochToDate = (dateEpoch,businessService) => { + // Returning null in else case because new Date(null) returns initial date from calender + if (dateEpoch) { + const dateFromApi = new Date(dateEpoch); + let month = dateFromApi.getMonth() + 1; + let day = dateFromApi.getDate(); + let year = dateFromApi.getFullYear(); + month = (month > 9 ? "" : "0") + month; + day = (day > 9 ? "" : "0") + day; + if(businessService == "ptr") + return `${day}-${month}-${year}`; + else + return `${day}/${month}/${year}`; + } else { + return null; + } +}; + +export const stringReplaceAll = (str = "", searcher = "", replaceWith = "") => { + if (searcher == "") return str; + while (str.includes(searcher)) { + str = str.replace(searcher, replaceWith); + } + return str; +}; + +export const DownloadReceipt = async (consumerCode, tenantId, businessService, pdfKey = "consolidatedreceipt") => { + tenantId = tenantId ? tenantId : Digit.ULBService.getCurrentTenantId(); + await Digit.Utils.downloadReceipt(consumerCode, businessService, "consolidatedreceipt", tenantId); +}; + +export const checkIsAnArray = (obj = []) => { + return obj && Array.isArray(obj) ? true : false; +}; +export const checkArrayLength = (obj = [], length = 0) => { + return checkIsAnArray(obj) && obj.length > length ? true : false; +}; + +export const getWorkflow = (data = {}) => { + return { + + businessService: `ptr`, + moduleName: "pet-services", + }; +}; + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/package.json index e71fb5714f2..b9faae40d76 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/package.json @@ -1,5 +1,5 @@ { - "name": "@egovernments/digit-ui-module-receipts", + "name": "@upyog/digit-ui-module-receipts", "version": "1.7.0-beta.2", "description": "RECEIPTS", "license": "MIT", @@ -15,7 +15,8 @@ "prepublish": "yarn build" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "react": "17.0.2", "react-dom": "17.0.2", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/Banner.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/Banner.js index 7075dcd1cae..f7668c47334 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/Banner.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/Banner.js @@ -1,4 +1,4 @@ -import { CardLabel, LabelFieldPair } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair } from "@upyog/digit-ui-react-components"; import React from "react"; const Banner = ({ t, config }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/Modal/CancelConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/Modal/CancelConfig.js index 3449e36aa26..ece717e4ade 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/Modal/CancelConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/Modal/CancelConfig.js @@ -1,4 +1,4 @@ -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; import React from "react"; export const configCancelConfig = ({ t, selectedReason, Reasons, selectReason }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/ReceiptCancelModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/ReceiptCancelModal.js index d6ff89ee453..c911ff84255 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/ReceiptCancelModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/ReceiptCancelModal.js @@ -1,4 +1,4 @@ -import { FormComposer, Loader, Modal } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Loader, Modal } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useHistory } from "react-router-dom"; import { configCancelConfig } from "./Modal/CancelConfig"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/ReceiptsFilter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/ReceiptsFilter.js index 5f9f2be1917..2e64034b197 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/ReceiptsFilter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/ReceiptsFilter.js @@ -1,4 +1,4 @@ -import { CheckBox, CloseSvg, Dropdown, Loader, SubmitBar,ApplyFilterBar,ActionBar } from "@egovernments/digit-ui-react-components"; +import { CheckBox, CloseSvg, Dropdown, Loader, SubmitBar,ApplyFilterBar,ActionBar } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { getDefaultReceiptService } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ApplicationCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ApplicationCard.js index 376399ca1d6..a49045c8387 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ApplicationCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ApplicationCard.js @@ -1,4 +1,4 @@ -import { Card, DetailsCard, FilterAction, Loader, PopUp, SearchAction } from "@egovernments/digit-ui-react-components"; +import { Card, DetailsCard, FilterAction, Loader, PopUp, SearchAction } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import ReceiptsFilter from "../ReceiptsFilter"; import SearchApplication from "./search"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ApplicationLinks.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ApplicationLinks.js index 97d26c04aec..bde72c37077 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ApplicationLinks.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ApplicationLinks.js @@ -1,4 +1,4 @@ -import { AnnouncementIcon, Card } from "@egovernments/digit-ui-react-components"; +import { AnnouncementIcon, Card } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ApplicationTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ApplicationTable.js index e8fe1e86895..f802503fa8c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ApplicationTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ApplicationTable.js @@ -1,4 +1,4 @@ -import { Table } from "@egovernments/digit-ui-react-components"; +import { Table } from "@upyog/digit-ui-react-components"; import React from "react"; const ApplicationTable = ({ t, columns, data, getCellProps, onNextPage, onPrevPage, currentPage, totalRecords, pageSizeLimit, onPageSizeChange, onLastPage, onFirstPage }) => ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ReceiptsDesktopInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ReceiptsDesktopInbox.js index 9ec6030448b..ea38c458057 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ReceiptsDesktopInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/ReceiptsDesktopInbox.js @@ -1,4 +1,4 @@ -import { Card, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Loader } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/search.js index c5293472d6a..2848bc187a9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/components/inbox/search.js @@ -1,4 +1,4 @@ -import { ActionBar, CloseSvg, DatePicker, Label, LinkLabel, MobileNumber, SubmitBar, TextInput } from "@egovernments/digit-ui-react-components"; +import { ActionBar, CloseSvg, DatePicker, Label, LinkLabel, MobileNumber, SubmitBar, TextInput } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { Controller, useForm } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/ReceiptAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/ReceiptAcknowledgement.js index 879c65185eb..8f6756d88ca 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/ReceiptAcknowledgement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/ReceiptAcknowledgement.js @@ -1,5 +1,5 @@ -import { ActionBar, Banner, Card, CardText, LinkButton, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Banner, Card, CardText, LinkButton, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/ReceiptDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/ReceiptDetails.js index 78c7936ae47..004308b6fd5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/ReceiptDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/ReceiptDetails.js @@ -1,4 +1,4 @@ -import { ActionBar, Card, Header, Loader, Row, StatusTable, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Card, Header, Loader, Row, StatusTable, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useParams } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/ReceiptInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/ReceiptInbox.js index d645d5f5101..2e372cbd032 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/ReceiptInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/ReceiptInbox.js @@ -1,4 +1,4 @@ -import { Header, Loader } from "@egovernments/digit-ui-react-components"; +import { Header, Loader } from "@upyog/digit-ui-react-components"; import React, { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import ReceiptsDesktopInbox from "../components/inbox/ReceiptsDesktopInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/index.js index 03a4d13a49e..3921e55ad3f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/pages/index.js @@ -1,4 +1,4 @@ -import { PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link, Switch, useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/receiptHomeCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/receiptHomeCard.js index d6a3e746733..c00b1f2ec31 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/receiptHomeCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/receipts/src/receiptHomeCard.js @@ -1,4 +1,4 @@ -import { EmployeeModuleCard, ReceiptIcon } from "@egovernments/digit-ui-react-components"; +import { EmployeeModuleCard, ReceiptIcon } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { getDefaultReceiptService } from "./utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/package.json index 6b40411386c..a680a89c50d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/package.json @@ -1,5 +1,5 @@ { - "name": "@egovernments/digit-ui-module-reports", + "name": "@upyog/digit-ui-module-reports", "version": "1.0.0", "description": "REPORTS", "license": "MIT", @@ -15,8 +15,8 @@ "prepublish": "yarn build" }, "dependencies": { - - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "react": "17.0.2", "react-dom": "17.0.2", "react-hook-form": "6.15.8", @@ -25,4 +25,4 @@ "react-router-dom": "5.3.0", "rooks": "^4.4.0" } -} \ No newline at end of file +} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/components/ReportSearchApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/components/ReportSearchApplication.js index 04773d8f62a..6167d3d23fc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/components/ReportSearchApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/components/ReportSearchApplication.js @@ -14,7 +14,7 @@ import { Toast, MultiLink, Header -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; const ReportSearchApplication = ({ onSubmit, isLoading, data, tableData, isTableDataLoading, Count, searchData, reportName }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/components/ReportsCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/components/ReportsCard.js index 08f3a217d5f..1f4886d4136 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/components/ReportsCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/components/ReportsCard.js @@ -1,4 +1,4 @@ -import { EmployeeModuleCard, ReceiptIcon } from "@egovernments/digit-ui-react-components"; +import { EmployeeModuleCard, ReceiptIcon } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { checkForEmployee } from "../../../ws/src/utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/components/SearchFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/components/SearchFormFieldsComponent.js index e1885923ede..dea3d96d5b3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/components/SearchFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/components/SearchFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, CardLabelError, MobileNumber,MultiSelectDropdown,FilterFormField } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, CardLabelError, MobileNumber,MultiSelectDropdown,FilterFormField } from "@upyog/digit-ui-react-components"; import { useWatch } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/pages/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/pages/index.js index 9363a31f845..b4b8e7a9beb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/pages/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/reports/src/pages/index.js @@ -1,4 +1,4 @@ -import { PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link, Switch, useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js index 6a185dd87af..651814922a3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAActionModal.js @@ -1,4 +1,4 @@ -import { Loader, Modal, FormComposer } from "@egovernments/digit-ui-react-components"; +import { Loader, Modal, FormComposer } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { useQueryClient } from "react-query"; import { configBPAApproverApplication } from "../config"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAREGActionModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAREGActionModal.js index dc0bfe07776..6572e2549f8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAREGActionModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/BPAREGActionModal.js @@ -1,4 +1,4 @@ -import { Loader, Modal, FormComposer } from "@egovernments/digit-ui-react-components"; +import { Loader, Modal, FormComposer } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { configBPAREGApproverApplication } from "../config"; import * as predefinedConfig from "../config"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/FSMActionModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/FSMActionModal.js index c3ba8856752..3212cea1499 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/FSMActionModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/FSMActionModal.js @@ -1,4 +1,4 @@ -import { Loader, Modal, FormComposer, Toast } from "@egovernments/digit-ui-react-components"; +import { Loader, Modal, FormComposer, Toast } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/NOCActionModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/NOCActionModal.js index 09266ca1b7b..296de0f90fe 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/NOCActionModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/NOCActionModal.js @@ -1,4 +1,4 @@ -import { Loader, Modal, FormComposer } from "@egovernments/digit-ui-react-components"; +import { Loader, Modal, FormComposer } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { useQueryClient } from "react-query"; import { useHistory } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/PTActionModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/PTActionModal.js index 7e37de54da8..ef416556857 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/PTActionModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/PTActionModal.js @@ -1,4 +1,4 @@ -import { Loader, Modal, FormComposer } from "@egovernments/digit-ui-react-components"; +import { Loader, Modal, FormComposer } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { configPTRejectApplication, configPTVerifyApplication, configPTApproverApplication, configPTAssessProperty } from "../config"; @@ -94,7 +94,7 @@ const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, function submit(data) { if (action?.action == "INACTIVE_PROPERTY"){ - console.log("dataaaaa123",data) + // console.log("dataaaaa123",data) let workflow = { action: "OPEN", comment: data?.comments, businessService:"PT.CREATE", moduleName: "PT" }; applicationData.creationReason = "STATUS" submitAction({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/PTRActionModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/PTRActionModal.js new file mode 100644 index 00000000000..c387222f46a --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/PTRActionModal.js @@ -0,0 +1,166 @@ +import { Loader, Modal, FormComposer } from "@upyog/digit-ui-react-components"; +import React, { useState, useEffect } from "react"; + +import { configPTRApproverApplication} from "../config"; + + +const Heading = (props) => { + return

{props.label}

; +}; + +const Close = () => ( + + + + +); + +const CloseBtn = (props) => { + return ( +
+ +
+ ); +}; + +const ActionModal = ({ t, action, tenantId, state, id, closeModal, submitAction, actionData, applicationData, businessService, moduleCode }) => { + + console.log("applicationData",applicationData); + const { data: approverData, isLoading: PTALoading } = Digit.Hooks.useEmployeeSearch( + tenantId, + { + roles: action?.assigneeRoles?.map?.((e) => ({ code: e })), + isActive: true, + }, + { enabled: !action?.isTerminateState } + ); + + + const [config, setConfig] = useState({}); + const [defaultValues, setDefaultValues] = useState({}); + const [approvers, setApprovers] = useState([]); + const [selectedApprover, setSelectedApprover] = useState(null); + const [file, setFile] = useState(null); + const [uploadedFile, setUploadedFile] = useState(null); + const [error, setError] = useState(null); + + const [disableActionSubmit, setDisableActionSubmit] = useState(false); + + + + useEffect(() => { + setApprovers(approverData?.Employees?.map((employee) => ({ uuid: employee?.uuid, name: employee?.user?.name }))); + }, [approverData]); + + function selectFile(e) { + setFile(e.target.files[0]); + } + + useEffect(() => { + (async () => { + setError(null); + if (file) { + if (file.size >= 5242880) { + setError(t("CS_MAXIMUM_UPLOAD_SIZE_EXCEEDED")); + } else { + try { + const response = await Digit.UploadServices.Filestorage("PTR", file, Digit.ULBService.getStateId()); + if (response?.data?.files?.length > 0) { + setUploadedFile(response?.data?.files[0]?.fileStoreId); + } else { + setError(t("CS_FILE_UPLOAD_ERROR")); + } + } catch (err) { + setError(t("CS_FILE_UPLOAD_ERROR")); + } + } + } + })(); + }, [file]); + + + function submit(data) { + + if (action?.action == "COMMON_APPROVED") { + + let workflow = { action: "OPEN", comments: data?.comments, businessService: "ptr", moduleName: "pet-services" }; + applicationData.creationReason = "CREATE"; + submitAction({ + PetRegistrationApplications: [ + { + ...applicationData, + workflow, + }, + ], + }); + } + // else if (!action?.showFinancialYearsModal) { + let workflow = { action: action?.action, comments: data?.comments, businessService, moduleName: moduleCode }; + workflow["assignes"] = action?.isTerminateState || !selectedApprover ? [] : [selectedApprover]; + if (uploadedFile) + workflow["documents"] = [ + { + documentType: action?.action + " DOC", + fileName: file?.name, + fileStoreId: uploadedFile, + }, + ]; + submitAction({ + PetRegistrationApplications: [ + { + ...applicationData, + workflow, + }, + ], + }); + // } + + } + + useEffect(() => { + if (action) { + setConfig( + configPTRApproverApplication({ + t, + action, + approvers, + selectedApprover, + setSelectedApprover, + selectFile, + uploadedFile, + setUploadedFile, + businessService, + }) + ); + + } + }, [action, approvers, uploadedFile]); + + return action && config.form ? ( + } + headerBarEnd={} + actionCancelLabel={t(config.label.cancel)} + actionCancelOnSubmit={closeModal} + actionSaveLabel={t(config.label.submit)} + actionSaveOnSubmit={() => {}} + formId="modal-action" + > + + + + + ) : ( + + ); +}; + +export default ActionModal; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/TLActionModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/TLActionModal.js index f11658a987a..e1deb5c58ca 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/TLActionModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/TLActionModal.js @@ -1,4 +1,4 @@ -import { Loader, Modal, FormComposer } from "@egovernments/digit-ui-react-components"; +import { Loader, Modal, FormComposer } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { configTLApproverApplication } from "../config"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/WNSActionModal.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/WNSActionModal.js index 0e65135108e..5b5209f7aec 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/WNSActionModal.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/WNSActionModal.js @@ -1,4 +1,4 @@ -import { Loader, Modal, FormComposer } from "@egovernments/digit-ui-react-components"; +import { Loader, Modal, FormComposer } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { configWSApproverApplication, configWSDisConnectApplication } from "../config"; import * as predefinedConfig from "../config"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/index.js index eff8c9066dc..6e1b48cfdfa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/Modal/index.js @@ -6,11 +6,16 @@ import BPAREGActionModal from "./BPAREGActionModal"; import BPAActionModal from "./BPAActionModal"; import NOCActionModal from "./NOCActionModal"; import WNSActionModal from "./WNSActionModal"; +import PTRActionModal from "./PTRActionModal"; + const ActionModal = (props) => { if (props?.businessService.includes("PT")) { return ; } + if (props?.businessService.includes("ptr")) { + return ; + } if (props?.businessService.includes("NewTL") || props?.businessService.includes("TL") || props?.businessService.includes("EDITRENEWAL") || props?.businessService.includes("DIRECTRENEWAL")) { return ; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsActionBar.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsActionBar.js index 30ac3d096a5..135a987092d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsActionBar.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsActionBar.js @@ -1,6 +1,6 @@ import React, {useEffect, useRef} from "react"; import { useTranslation } from "react-i18next"; -import { SubmitBar, ActionBar, Menu } from "@egovernments/digit-ui-react-components"; +import { SubmitBar, ActionBar, Menu } from "@upyog/digit-ui-react-components"; function ApplicationDetailsActionBar({ workflowDetails, displayMenu, onActionSelect, setDisplayMenu, businessService, forcedActionPrefix,ActionBarStyle={},MenuStyle={} }) { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js index bc6c333d205..9a9a0e72f6d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js @@ -8,7 +8,7 @@ import { Loader, Row, StatusTable, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { values } from "lodash"; import React, { Fragment, useEffect,useState } from "react"; import { useTranslation } from "react-i18next"; @@ -48,6 +48,9 @@ function ApplicationDetailsContent({ }) { const { t } = useTranslation(); +const ownersSequences= applicationDetails?.applicationData?.owners +console.log("appl", applicationDetails) + function OpenImage(imageSource, index, thumbnailsToShow) { window.open(thumbnailsToShow?.fullImage?.[0], "_blank"); } @@ -215,7 +218,7 @@ function ApplicationDetailsContent({ return "" } } - console.log("applicationDetails?.applicationDetails",applicationDetails?.applicationDetails) + // console.log("applicationDetails?.applicationDetails",applicationDetails?.applicationDetails) return ( {/* For UM-4418 changes */} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsToast.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsToast.js index 9540495f32a..d729a523ea4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsToast.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsToast.js @@ -1,5 +1,5 @@ import React from "react"; -import { Toast } from "@egovernments/digit-ui-react-components"; +import { Toast } from "@upyog/digit-ui-react-components"; function ApplicationDetailsToast({ t, showToast, closeToast, businessService }) { if (businessService?.includes("NewTL") || businessService?.includes("TL") || businessService?.includes("EDITRENEWAL")) { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsWarningPopup.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsWarningPopup.js index e95b9e038cd..ab5987cd602 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsWarningPopup.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsWarningPopup.js @@ -1,4 +1,4 @@ -import { Card, ButtonSelector, CardText, CardSubHeader, Modal, CardSectionHeader, Row } from "@egovernments/digit-ui-react-components"; +import { Card, ButtonSelector, CardText, CardSubHeader, Modal, CardSectionHeader, Row } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/BPADocuments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/BPADocuments.js index 9a1febe081b..a4b47585b4f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/BPADocuments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/BPADocuments.js @@ -5,7 +5,7 @@ import { LabelFieldPair, MultiUploadWrapper, CardSubHeader -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import DocumentsPreview from "./DocumentsPreview"; const BPADocuments = ({ t, formData, applicationData, docs, bpaActionsDetails }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/DocumentsPreview.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/DocumentsPreview.js index dfd57683def..e040d3bf8ff 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/DocumentsPreview.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/DocumentsPreview.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { CardSubHeader, PDFSvg } from "@egovernments/digit-ui-react-components"; +import { CardSubHeader, PDFSvg } from "@upyog/digit-ui-react-components"; function DocumentsPreview({ documents, svgStyles = {}, isSendBackFlow = false, isHrLine = false, titleStyles }) { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/InfoDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/InfoDetails.js index ece52bc499f..1048e52bedb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/InfoDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/InfoDetails.js @@ -1,5 +1,5 @@ import React from "react"; -import { InfoBannerIcon } from "@egovernments/digit-ui-react-components"; +import { InfoBannerIcon } from "@upyog/digit-ui-react-components"; const EyeSvgINdex = ({ style }) => { return diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/InspectionReport.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/InspectionReport.js index a824b05a435..2fc75e3ce5c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/InspectionReport.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/InspectionReport.js @@ -1,4 +1,4 @@ -import { StatusTable, Row, CardHeader, CardSectionHeader } from "@egovernments/digit-ui-react-components"; +import { StatusTable, Row, CardHeader, CardSectionHeader } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import DocumentsPreview from "./DocumentsPreview"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/NOCDocuments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/NOCDocuments.js index 1581744f756..d9ae8051748 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/NOCDocuments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/NOCDocuments.js @@ -5,7 +5,7 @@ import { StatusTable, Row, LabelFieldPair -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import DocumentsPreview from "./DocumentsPreview"; function SelectDocument({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PermissionCheck.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PermissionCheck.js index 4109e22ef99..ad2e61aa1ca 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PermissionCheck.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PermissionCheck.js @@ -1,4 +1,4 @@ -import { CheckBox, LinkButton, TextInput,Close, CardSubHeader } from "@egovernments/digit-ui-react-components"; +import { CheckBox, LinkButton, TextInput,Close, CardSubHeader } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; const PermissionCheck = ({ permissions, t }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js index 9523736f0c8..ba08bf3b262 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js @@ -1,6 +1,6 @@ import React, { useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { CardSubHeader, PDFSvg } from "@egovernments/digit-ui-react-components"; +import { CardSubHeader, PDFSvg } from "@upyog/digit-ui-react-components"; // const PDFSvg = ({ width = 34, height = 34, style, viewBox = "0 0 34 34" }) => ( // diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyEstimates.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyEstimates.js index c4cde76709f..6b52d52f6a1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyEstimates.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyEstimates.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { StatusTable, Row, BreakLine } from "@egovernments/digit-ui-react-components"; +import { StatusTable, Row, BreakLine } from "@upyog/digit-ui-react-components"; function PropertyEstimates({ taxHeadEstimatesCalculation }) { const { taxHeadEstimates } = taxHeadEstimatesCalculation; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyFloors.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyFloors.js index 4f33bbdcff4..5f4371fa9fa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyFloors.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyFloors.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { CardSubHeader, StatusTable, Row, CardSectionHeader } from "@egovernments/digit-ui-react-components"; +import { CardSubHeader, StatusTable, Row, CardSectionHeader } from "@upyog/digit-ui-react-components"; function PropertyFloors({ floors }) { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyOwners.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyOwners.js index 541d4e7a087..c2039396352 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyOwners.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyOwners.js @@ -1,8 +1,15 @@ -import { CardSubHeader, Row, StatusTable } from "@egovernments/digit-ui-react-components"; +import { CardSubHeader, Row, StatusTable } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; function PropertyOwners({ owners }) { + let ownerSequences={}; + if (window.location.href.includes("/employee/pt/")) { + ownerSequences=owners.slice().reverse() + } + else{ + ownerSequences=owners; + } const { t } = useTranslation(); const checkLocation = true; @@ -36,7 +43,7 @@ function PropertyOwners({ owners }) { return (
- {owners.map((owner, index) => ( + {ownerSequences.map((owner, index) => (
{/* TODO, Later will move to classes */} { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/TLCaption.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/TLCaption.js index 2e648d48e42..369146bc862 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/TLCaption.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/TLCaption.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TelePhone, DisplayPhotos, UnMaskComponent } from "@egovernments/digit-ui-react-components"; +import { TelePhone, DisplayPhotos, UnMaskComponent } from "@upyog/digit-ui-react-components"; import Reason from "./Reason"; const TLCaption = ({ data,OpenImage,privacy={}}) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/TLTradeAccessories.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/TLTradeAccessories.js index 536a2ce3eca..56f16ae939f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/TLTradeAccessories.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/TLTradeAccessories.js @@ -1,7 +1,7 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { CardSubHeader, StatusTable, Row, CardSectionHeader } from "@egovernments/digit-ui-react-components"; +import { CardSubHeader, StatusTable, Row, CardSectionHeader } from "@upyog/digit-ui-react-components"; function TLTradeAccessories({ units }) { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/TLTradeUnits.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/TLTradeUnits.js index bf1c1fbc780..3a07f986774 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/TLTradeUnits.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/TLTradeUnits.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { CardSubHeader, StatusTable, Row, CardSectionHeader } from "@egovernments/digit-ui-react-components"; +import { CardSubHeader, StatusTable, Row, CardSectionHeader } from "@upyog/digit-ui-react-components"; function TLTradeUnits({ units }) { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ViewBreakup.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ViewBreakup.js index 3e72de83b1a..d6a53239d53 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ViewBreakup.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ViewBreakup.js @@ -1,6 +1,6 @@ import React, { useState, Fragment } from "react"; import { useTranslation } from "react-i18next"; -import { CardSectionHeader, Modal, Row, StatusTable } from "@egovernments/digit-ui-react-components"; +import { CardSectionHeader, Modal, Row, StatusTable } from "@upyog/digit-ui-react-components"; const ViewBreakup = ({ wsAdditionalDetails, workflowDetails }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/WSAdditonalDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/WSAdditonalDetails.js index dcdba784aed..86a469d16d5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/WSAdditonalDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/WSAdditonalDetails.js @@ -1,4 +1,4 @@ -import { StatusTable, Row, CardSubHeader } from "@egovernments/digit-ui-react-components"; +import { StatusTable, Row, CardSubHeader } from "@upyog/digit-ui-react-components"; import React, { Fragment } from "react"; import { useTranslation } from "react-i18next"; import { getQueryStringParams } from "../../../ws/src/utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/WSFeeEstimation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/WSFeeEstimation.js index b9c477e1f53..68d2091c5ed 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/WSFeeEstimation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/WSFeeEstimation.js @@ -1,7 +1,7 @@ import React, { useState, Fragment, useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { Card, CardSectionHeader, CardLabel } from "@egovernments/digit-ui-react-components"; -import { Modal, Dropdown, Row, StatusTable, TextInput, Toast } from "@egovernments/digit-ui-react-components"; +import { Card, CardSectionHeader, CardLabel } from "@upyog/digit-ui-react-components"; +import { Modal, Dropdown, Row, StatusTable, TextInput, Toast } from "@upyog/digit-ui-react-components"; import cloneDeep from "lodash/cloneDeep"; const Penality_menu = [ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/AcceptDso.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/AcceptDso.js index e870f2e9a67..734145334ed 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/AcceptDso.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/AcceptDso.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; export const configAcceptDso = ({ t, dsoData, dso, selectVehicleNo, vehicleNoList, vehicleNo, vehicle, action }) => { return { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/AssignDso.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/AssignDso.js index 418caf1e4bc..2140f29e575 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/AssignDso.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/AssignDso.js @@ -1,5 +1,5 @@ import React from "react"; -import { DatePicker, Dropdown, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { DatePicker, Dropdown, CardLabelError } from "@upyog/digit-ui-react-components"; function todayDate() { var today = new Date(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAApproverApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAApproverApplication.js index 9ec25aea34d..c4f10dfd8b5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAApproverApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAApproverApplication.js @@ -1,4 +1,4 @@ -import { Dropdown, UploadFile } from "@egovernments/digit-ui-react-components"; +import { Dropdown, UploadFile } from "@upyog/digit-ui-react-components"; import React from "react"; export const configBPAApproverApplication = ({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAREGApproverApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAREGApproverApplication.js index 0bdba14bc5b..f924ac89bd8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAREGApproverApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/BPAREGApproverApplication.js @@ -1,4 +1,4 @@ -import { Dropdown, UploadFile } from "@egovernments/digit-ui-react-components"; +import { Dropdown, UploadFile } from "@upyog/digit-ui-react-components"; import React from "react"; export const configBPAREGApproverApplication = ({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/CompleteApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/CompleteApplication.js index 7ac779f83d9..e8cb729f142 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/CompleteApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/CompleteApplication.js @@ -1,5 +1,5 @@ import React from "react"; -import { DatePicker } from "@egovernments/digit-ui-react-components"; +import { DatePicker } from "@upyog/digit-ui-react-components"; export const configCompleteApplication = ({ t, vehicle, applicationCreatedTime = 0, action }) => ({ label: { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/NOCApproverApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/NOCApproverApplication.js index 12922b0575e..d5e6d93f6e8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/NOCApproverApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/NOCApproverApplication.js @@ -1,4 +1,4 @@ -import { Dropdown, UploadFile } from "@egovernments/digit-ui-react-components"; +import { Dropdown, UploadFile } from "@upyog/digit-ui-react-components"; import React from "react"; export const configNOCApproverApplication = ({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/PTApproverApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/PTApproverApplication.js index afcc6a19be2..b63cc0848e1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/PTApproverApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/PTApproverApplication.js @@ -1,4 +1,4 @@ -import { Dropdown, UploadFile } from "@egovernments/digit-ui-react-components"; +import { Dropdown, UploadFile } from "@upyog/digit-ui-react-components"; import React from "react"; export const configPTApproverApplication = ({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/PTAssessProperty.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/PTAssessProperty.js index dd04037aab6..e4613f4362b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/PTAssessProperty.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/PTAssessProperty.js @@ -1,5 +1,5 @@ import React from "react"; -import { RadioButtons } from "@egovernments/digit-ui-react-components"; +import { RadioButtons } from "@upyog/digit-ui-react-components"; export const configPTAssessProperty = ({ t, action, financialYears, selectedFinancialYear, setSelectedFinancialYear }) => { return { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/PTRApproverApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/PTRApproverApplication.js new file mode 100644 index 00000000000..d5c6dad5834 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/PTRApproverApplication.js @@ -0,0 +1,36 @@ +import { Dropdown, UploadFile } from "@upyog/digit-ui-react-components"; +import React from "react"; + +export const configPTRApproverApplication = ({ + t, + action, + approvers, + selectedApprover, + setSelectedApprover, + selectFile, + uploadedFile, + setUploadedFile, + assigneeLabel, + businessService, +}) => { + return { + label: { + heading: `WF_${action?.action}_APPLICATION`, + submit: `WF_${businessService}_${action?.action}`, + cancel: "ES_PTR_COMMON_CANCEL", + }, + form: [ + { + body: [ + { + label: t("ES_PTR_ACTION_COMMENTS"), + type: "textarea", + populators: { + name: "comments", + }, + }, + ], + }, + ], + }; +}; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/ReassignDso.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/ReassignDso.js index 132a5bc6a7c..bd14713f2dc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/ReassignDso.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/ReassignDso.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; function getFilteredDsoData(dsoData, vehicle) { return dsoData?.filter((e) => e.vehicles?.find((veh) => veh?.type == vehicle?.code)); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/RejectApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/RejectApplication.js index a18bdaf1110..0e01de94c5a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/RejectApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/RejectApplication.js @@ -1,5 +1,5 @@ import React from "react"; -import { Dropdown } from "@egovernments/digit-ui-react-components"; +import { Dropdown } from "@upyog/digit-ui-react-components"; export const configRejectApplication = ({ t, rejectMenu, setReason, reason, action }) => { return { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/TLApproverApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/TLApproverApplication.js index 23b20e5be2b..bb1869cb10c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/TLApproverApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/TLApproverApplication.js @@ -1,4 +1,4 @@ -import { Dropdown, UploadFile } from "@egovernments/digit-ui-react-components"; +import { Dropdown, UploadFile } from "@upyog/digit-ui-react-components"; import React from "react"; export const configTLApproverApplication = ({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/WSApproverApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/WSApproverApplication.js index 3303f32f287..6b14b6cc094 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/WSApproverApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/WSApproverApplication.js @@ -1,4 +1,4 @@ -import { Dropdown, UploadFile } from "@egovernments/digit-ui-react-components"; +import { Dropdown, UploadFile } from "@upyog/digit-ui-react-components"; import React from "react"; export const configWSApproverApplication = ({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/WSDisconnectApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/WSDisconnectApplication.js index f638843f1a8..230ddcc702a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/WSDisconnectApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/WSDisconnectApplication.js @@ -1,4 +1,4 @@ -import { Dropdown, UploadFile, DatePicker } from "@egovernments/digit-ui-react-components"; +import { Dropdown, UploadFile, DatePicker } from "@upyog/digit-ui-react-components"; import React from "react"; export const configWSDisConnectApplication = ({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/index.js index f2a40492579..4cb2bbdf3f9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/config/index.js @@ -11,6 +11,7 @@ import { configBPAApproverApplication } from "./BPAApproverApplication"; import { configNOCApproverApplication } from "./NOCApproverApplication"; import { configWSApproverApplication } from "./WSApproverApplication"; import { configWSDisConnectApplication } from "./WSDisconnectApplication"; +import { configPTRApproverApplication } from "./PTRApproverApplication"; export { configAssignDso, @@ -25,5 +26,6 @@ export { configBPAApproverApplication, configNOCApproverApplication, configWSApproverApplication, - configWSDisConnectApplication + configWSDisConnectApplication, + configPTRApproverApplication }; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js index 4b01de47bc4..dbe17067866 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/index.js @@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import ActionModal from "./Modal"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/package.json index b0a9cfa2837..d90e69459cf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/package.json @@ -1,6 +1,6 @@ { "name": "@upyog/digit-ui-module-tl", - "version": "1.7.0-beta.2", + "version": "1.7.0-beta.6", "license": "MIT", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,8 @@ }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "lodash.merge": "^4.6.2", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/Module.js index 31f337e037b..e63255d445b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/Module.js @@ -1,4 +1,4 @@ -import { Header, CitizenHomeCard, CaseIcon, HomeLink } from "@egovernments/digit-ui-react-components"; +import { Header, CitizenHomeCard, CaseIcon, HomeLink } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useRouteMatch } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchApplication/MobileSearchApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchApplication/MobileSearchApplication.js index 32b1f58b6b3..82da8e955d2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchApplication/MobileSearchApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchApplication/MobileSearchApplication.js @@ -9,7 +9,7 @@ import { DetailsCard, Loader, Toast, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import SearchFormFields from "./SearchFields"; import { convertEpochToDateDMY } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchApplication/SearchFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchApplication/SearchFields.js index 72e9b6dc339..7bd8e91ea2a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchApplication/SearchFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchApplication/SearchFields.js @@ -1,6 +1,6 @@ import React, { Fragment } from "react"; import { Controller, useWatch } from "react-hook-form"; -import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader } from "@upyog/digit-ui-react-components"; const SearchFields = ({ register, control, reset, tenantId, t, previousPage }) => { const { data: applicationTypes, isLoading: applicationTypesLoading } = Digit.Hooks.tl.useMDMS.applicationTypes(tenantId); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchApplication/index.js index 3fda75bc5fa..de505c1c0bf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchApplication/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchApplication/index.js @@ -1,6 +1,6 @@ import React, { useCallback, useMemo, useEffect } from "react" import { useForm, Controller } from "react-hook-form"; -import { SearchForm, Table, Card, Header } from "@egovernments/digit-ui-react-components"; +import { SearchForm, Table, Card, Header } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import { convertEpochToDateDMY } from "../../utils"; import SearchFields from "./SearchFields"; @@ -102,7 +102,7 @@ const SearchApplication = ({tenantId, t, onSubmit, data, count }) => { }, { Header: t("TL_LOCALIZATION_TRADE_OWNER_NAME"), - accessor: (row) => GetCell(row.tradeLicenseDetail.owners.map( o => o.name ). join(",") || ""), + accessor: (row) => GetCell(row.tradeLicenseDetail.owners.additionalDetails!==null? (row.tradeLicenseDetail.owners.sort((a,b)=>a?.additionalDetails?.ownerSequence-b?.additionalDetails?.ownerSequence).map(o=>o.name).join(",")): row.tradeLicenseDetail.owners.map( o => o.name ). join(",") || ""), disableSortBy: true, }, { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchLicense/MobileSearchApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchLicense/MobileSearchApplication.js index fa94ad33592..87f8f4eaf5c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchLicense/MobileSearchApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchLicense/MobileSearchApplication.js @@ -9,7 +9,7 @@ import { DetailsCard, Loader, Toast, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import SearchFormFields from "./SearchFields"; import { convertEpochToDateDMY, stringReplaceAll } from "../../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchLicense/SearchFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchLicense/SearchFields.js index a50346817a3..f0b8b10cddf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchLicense/SearchFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchLicense/SearchFields.js @@ -1,6 +1,6 @@ import React, {Fragment} from "react" import { Controller, useWatch } from "react-hook-form"; -import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader } from "@upyog/digit-ui-react-components"; const SearchFields = ({register, control, reset, tenantId, t, previousPage }) => { let validation = {}; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchLicense/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchLicense/index.js index 641f24f24eb..e546a131d42 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchLicense/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/SearchLicense/index.js @@ -1,6 +1,6 @@ import React, { useCallback, useMemo, useEffect } from "react" import { useForm, Controller } from "react-hook-form"; -import { TextInput, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, Header, SearchField, Dropdown, Table, Card } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, CardLabelError, SearchForm, Header, SearchField, Dropdown, Table, Card } from "@upyog/digit-ui-react-components"; import { Link } from "react-router-dom"; import { convertEpochToDateDMY, stringReplaceAll } from "../../utils"; import SearchFields from "./SearchFields"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/TLCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/TLCard.js index c1c9e68edba..4db05496fde 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/TLCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/TLCard.js @@ -1,4 +1,4 @@ -import { CaseIcon, EmployeeModuleCard } from "@egovernments/digit-ui-react-components"; +import { CaseIcon, EmployeeModuleCard } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { checkForEmployee } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/TLTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/TLTimeline.js index 039083e10ee..60bb2b7acc8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/TLTimeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/TLTimeline.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TickMark } from "@egovernments/digit-ui-react-components"; +import { TickMark } from "@upyog/digit-ui-react-components"; let actions = []; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/TLTimelineInFSM.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/TLTimelineInFSM.js index b8366d9b825..f5814e817a6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/TLTimelineInFSM.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/TLTimelineInFSM.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TickMark } from "@egovernments/digit-ui-react-components"; +import { TickMark } from "@upyog/digit-ui-react-components"; let actions = []; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/ApplicationCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/ApplicationCard.js index f7b08a2b24a..7ebeb08ad29 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/ApplicationCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/ApplicationCard.js @@ -1,7 +1,7 @@ import React, { useCallback, useEffect, useState } from "react"; -import { Card, DetailsCard, Loader, PopUp, SearchAction } from "@egovernments/digit-ui-react-components"; -import { FilterAction } from "@egovernments/digit-ui-react-components"; +import { Card, DetailsCard, Loader, PopUp, SearchAction } from "@upyog/digit-ui-react-components"; +import { FilterAction } from "@upyog/digit-ui-react-components"; import Filter from "./InboxFilter"; import SearchApplication from "./search"; import SortBy from "./SortBy"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/ApplicationLinks.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/ApplicationLinks.js index be83f38c40c..a509aa5de4d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/ApplicationLinks.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/ApplicationLinks.js @@ -1,4 +1,4 @@ -import { Card, CaseIcon } from "@egovernments/digit-ui-react-components"; +import { Card, CaseIcon } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/ApplicationTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/ApplicationTable.js index 0411bfd1687..c8772e17de7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/ApplicationTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/ApplicationTable.js @@ -1,5 +1,5 @@ import React from "react"; -import { Table } from "@egovernments/digit-ui-react-components"; +import { Table } from "@upyog/digit-ui-react-components"; const ApplicationTable = ({ t, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/DesktopInbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/DesktopInbox.js index d2a56f1eb7c..f4e66dcc7c4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/DesktopInbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/DesktopInbox.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { Card, Loader } from "@egovernments/digit-ui-react-components"; +import { Card, Loader } from "@upyog/digit-ui-react-components"; import InboxLinks from "./ApplicationLinks"; import ApplicationTable from "./ApplicationTable"; import SearchApplication from "./search"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/InboxFilter.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/InboxFilter.js index dc33e4cbe62..00effdbb01f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/InboxFilter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/InboxFilter.js @@ -1,5 +1,5 @@ import React, { useState } from "react"; -import { Dropdown, RadioButtons, ActionBar, RemoveableTag, CloseSvg, CheckBox, Localities, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Dropdown, RadioButtons, ActionBar, RemoveableTag, CloseSvg, CheckBox, Localities, SubmitBar } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/SortBy.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/SortBy.js index 66166c40ccc..4d36b564459 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/SortBy.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/SortBy.js @@ -1,7 +1,7 @@ import React, { useState } from "react"; -import { ActionBar, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { ActionBar, RadioButtons } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; -import { ApplyFilterBar, CloseSvg } from "@egovernments/digit-ui-react-components"; +import { ApplyFilterBar, CloseSvg } from "@upyog/digit-ui-react-components"; const SortBy = (props) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/search.js index 7a5304b7d2a..f72959fca03 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/components/inbox/search.js @@ -1,8 +1,8 @@ import React, { useEffect, useState } from "react"; import { useForm, Controller } from "react-hook-form"; -import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, MobileNumber } from "@egovernments/digit-ui-react-components"; +import { TextInput, Label, SubmitBar, LinkLabel, ActionBar, CloseSvg, DatePicker, MobileNumber } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; -// import MobileNumber from "@egovernments/digit-ui-react-components/src/atoms/MobileNumber"; +// import MobileNumber from "@upyog/digit-ui-react-components/src/atoms/MobileNumber"; // import _ from "lodash"; const fieldComponents = { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/Proof.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/Proof.js index 4235e4c4418..dbd0c57c1e1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/Proof.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/Proof.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { FormStep, UploadFile, CardLabelDesc, Dropdown, CardLabel } from "@egovernments/digit-ui-react-components"; +import { FormStep, UploadFile, CardLabelDesc, Dropdown, CardLabel } from "@upyog/digit-ui-react-components"; import { stringReplaceAll } from "../utils"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectAccessories.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectAccessories.js index a6df63a7e4a..2f48286c3d4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectAccessories.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectAccessories.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; -import { TypeSelectCard } from "@egovernments/digit-ui-react-components"; -import { FormStep, RadioOrSelect, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { TypeSelectCard } from "@upyog/digit-ui-react-components"; +import { FormStep, RadioOrSelect, RadioButtons } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimeline"; const SelectAccessories = ({ t, config, onSelect, userType, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectAccessoriesDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectAccessoriesDetails.js index 918749293b1..91df860190a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectAccessoriesDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectAccessoriesDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, FormStep, LinkButton, Loader, RadioOrSelect, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, FormStep, LinkButton, Loader, RadioOrSelect, TextInput } from "@upyog/digit-ui-react-components"; import isUndefined from "lodash/isUndefined"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectBuildingType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectBuildingType.js index 2c0093b6524..82c97518228 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectBuildingType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectBuildingType.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; -import { Loader, TypeSelectCard } from "@egovernments/digit-ui-react-components"; -import { FormStep, RadioOrSelect, RadioButtons, CitizenInfoLabel } from "@egovernments/digit-ui-react-components"; +import { Loader, TypeSelectCard } from "@upyog/digit-ui-react-components"; +import { FormStep, RadioOrSelect, RadioButtons, CitizenInfoLabel } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimeline"; const SelectBuildingType = ({ t, config, onSelect, userType, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectCommencementDate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectCommencementDate.js index 46540ab6d5f..7c75934e137 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectCommencementDate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectCommencementDate.js @@ -1,6 +1,6 @@ import React, { useEffect, useState } from "react"; -import { CardLabel, DatePicker, TypeSelectCard } from "@egovernments/digit-ui-react-components"; -import { FormStep, RadioOrSelect, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { CardLabel, DatePicker, TypeSelectCard } from "@upyog/digit-ui-react-components"; +import { FormStep, RadioOrSelect, RadioButtons } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimeline"; const SelectCommencementDate = ({ t, config, onSelect, userType, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectDocuments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectDocuments.js index d156a1211ef..0fcb97f5480 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectDocuments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectDocuments.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, UploadFile, Toast, Loader } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, UploadFile, Toast, Loader } from "@upyog/digit-ui-react-components"; const SelectDocuments = ({ t, config, onSelect, userType, formData, setError: setFormError, clearErrors: clearFormErrors, formState }) => { const tenantId = Digit.ULBService.getCurrentTenantId(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOtherTradeDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOtherTradeDetails.js index edf99176e9d..545c95941bb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOtherTradeDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOtherTradeDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, CitizenInfoLabel, FormStep, Loader, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CitizenInfoLabel, FormStep, Loader, TextInput } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerAddress.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerAddress.js index 6bc25c7a566..1aff944760e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerAddress.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerAddress.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, CheckBox, CardLabel, LabelFieldPair, TextArea, CitizenInfoLabel } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, CheckBox, CardLabel, LabelFieldPair, TextArea, CitizenInfoLabel } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerDetails copy.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerDetails copy.js index d458feeaf0d..ac0aa9a2c88 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerDetails copy.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerDetails copy.js @@ -1,5 +1,5 @@ import React, { useEffect, useState, useMemo } from "react"; -import { FormStep, TextInput, CardLabel, RadioButtons, LabelFieldPair, Dropdown, CheckBox, LinkButton, CardHeader } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, CardLabel, RadioButtons, LabelFieldPair, Dropdown, CheckBox, LinkButton, CardHeader } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; import { getPattern } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerDetails.js index d741be4e7df..b36b4e5a312 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerDetails.js @@ -10,7 +10,7 @@ import { LinkButton, CardHeader, Loader, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimeline"; @@ -177,22 +177,39 @@ const SelectOwnerDetails = ({ t, config, onSelect, userType, formData }) => { return false; } else return true; } else if (typeOfOwner === "MULTIOWNER") { - return ownersData.reduce((acc, ownerData) => { - if (ownerData?.name && ownerData?.gender && ownerData?.mobilenumber) { + ownersData.forEach((ownerData, index)=>{ + if (ownerData[index]?.gender===null){ setError("TL_ERROR_FILL_ALL_MANDATORY_DETAILS"); return false; - } - }, true); + }else return true; + }); } } const goNext = () => { - if (!checkMandatoryFieldsForEachOwner(formState)) { + if (!checkMandatoryFieldsForEachOwner(formState) && (typeOfOwner==="SINGLEOWNER" || typeOfOwner==="INSTITUTIONAL")) { let owner = formData.owners; let ownerStep; ownerStep = { ...owner, owners: formState }; onSelect(config.key, ownerStep); } + else if(checkMandatoryFieldsForEachOwner(formState)){ + setError("please fill mandatory fields") + } + else if(typeOfOwner==="MULTIOWNER"){ + if(formState?.length<2){ + setError(t("TL_ERROR_MULTIPLE_OWNER")) + } + else if(checkMandatoryFieldsForEachOwner(formState)){ + setError("please fill mandatory fields") + } + else{ + let owner = formData.owners; + let ownerStep; + ownerStep = { ...owner, owners: formState }; + onSelect(config.key, ownerStep); + } + } }; const onSkip = () => onSelect(); @@ -219,7 +236,7 @@ const SelectOwnerDetails = ({ t, config, onSelect, userType, formData }) => { {...{ validation: { isRequired: true, - pattern: "^[a-z0-9]+( [a-z0-9]+)*$", + pattern: "^[a-zA-Z_@./()#&+- ]*$", type: "text", title: t("TL_NAME_ERROR_MESSAGE"), }, @@ -335,6 +352,7 @@ const SelectOwnerDetails = ({ t, config, onSelect, userType, formData }) => { validation: { // isRequired: true, // pattern: getPattern("Email"), + pattern: "[A-Za-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$", type: "text", title: t("TL_EMAIL_ERROR_MESSAGE"), }, @@ -493,6 +511,15 @@ const SelectOwnerDetails = ({ t, config, onSelect, userType, formData }) => { labelKey="" isPTFlow={true} /> + {`${t("TL_EMAIL_ID_LABEL")}`} + handleTextInputField(index, e, "emailId")} + {...{ required: true, pattern: "[A-Za-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$", title: t("CORE_COMMON_APPLICANT_EMAILI_ID_INVALID") }} + /> {typeOfOwner === "MULTIOWNER" && ( { {typeOfOwner === "MULTIOWNER" && (
{/*
*/} -
+
)} + {typeOfOwner==="MULTIOWNER" && + formState?.length<2 && ( +
+
+ {t("TL_ERROR_MULTIPLE_OWNER")} +
+
+ ) + } ); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerShipDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerShipDetails.js index 02df42fdbc4..fd2e3405ae6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerShipDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnerShipDetails.js @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo } from "react"; -import { FormStep, RadioOrSelect, RadioButtons, LabelFieldPair, Dropdown, CardLabel, CardLabelError, CheckBox } from "@egovernments/digit-ui-react-components"; +import { FormStep, RadioOrSelect, RadioButtons, LabelFieldPair, Dropdown, CardLabel, CardLabelError, CheckBox } from "@upyog/digit-ui-react-components"; import { cardBodyStyle } from "../utils"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnershipProof.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnershipProof.js index 13b76801962..8a9bdfd634c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnershipProof.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectOwnershipProof.js @@ -1,4 +1,4 @@ -import { CardLabel, CardLabelDesc, FormStep, UploadFile } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CardLabelDesc, FormStep, UploadFile } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectProofIdentity.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectProofIdentity.js index f804026e24e..49682781a2c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectProofIdentity.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectProofIdentity.js @@ -1,4 +1,4 @@ -import { CardLabel, CardLabelDesc, FormStep, UploadFile } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CardLabelDesc, FormStep, UploadFile } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import Timeline from "../components/TLTimeline"; import { getOwnersfromProperty } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectStreet.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectStreet.js index d59513e1c8c..5583f9ea88a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectStreet.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectStreet.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, LabelFieldPair, CardLabel, WrapUnMaskComponent } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, LabelFieldPair, CardLabel, WrapUnMaskComponent } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import _ from "lodash"; import Timeline from "../components/TLTimelineInFSM"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectStructureType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectStructureType.js index 99e202717f2..b880c390efc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectStructureType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectStructureType.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; -import { TypeSelectCard } from "@egovernments/digit-ui-react-components"; -import { FormStep, RadioOrSelect, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { TypeSelectCard } from "@upyog/digit-ui-react-components"; +import { FormStep, RadioOrSelect, RadioButtons } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimeline"; const SelectStructureType = ({ t, config, onSelect, userType, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectTradeName.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectTradeName.js index 309dbab38ca..6ac362bccc0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectTradeName.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectTradeName.js @@ -1,4 +1,4 @@ -import { CardLabel, CitizenInfoLabel, FormStep, Loader, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, CitizenInfoLabel, FormStep, Loader, TextInput } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import Timeline from "../components/TLTimeline"; import { currentFinancialYear } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectTradeUnits.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectTradeUnits.js index 21d31c018d0..1388ff11737 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectTradeUnits.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectTradeUnits.js @@ -1,4 +1,4 @@ -import { CardLabel, Dropdown, FormStep, LinkButton, Loader, RadioButtons, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, Dropdown, FormStep, LinkButton, Loader, RadioButtons, TextInput } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectTradeUnitsInitial.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectTradeUnitsInitial.js index 4f311aa4066..e503e1251ee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectTradeUnitsInitial.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectTradeUnitsInitial.js @@ -1,4 +1,4 @@ -import { CardLabel, Dropdown, FormStep, LinkButton, Loader, RadioButtons, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, Dropdown, FormStep, LinkButton, Loader, RadioButtons, TextInput } from "@upyog/digit-ui-react-components"; import React, { useState } from "react"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectVehicleType.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectVehicleType.js index 669761f1f80..06f9db57291 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectVehicleType.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/SelectVehicleType.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; -import { Loader, TypeSelectCard } from "@egovernments/digit-ui-react-components"; -import { FormStep, RadioOrSelect, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { Loader, TypeSelectCard } from "@upyog/digit-ui-react-components"; +import { FormStep, RadioOrSelect, RadioButtons } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimeline"; const SelectVehicleType = ({ t, config, onSelect, userType, formData }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLAccessoriesEmployee.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLAccessoriesEmployee.js index 582db91972d..01c8fea22b2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLAccessoriesEmployee.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLAccessoriesEmployee.js @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo, useCallback } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import { useTranslation } from "react-i18next"; import _ from "lodash"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLDocumentsEmployee.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLDocumentsEmployee.js index a656403ed04..959d5af82b7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLDocumentsEmployee.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLDocumentsEmployee.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, UploadFile, Toast, Loader } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, UploadFile, Toast, Loader } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const TLDocumentsEmployee = ({ t, config, onSelect, userType, formData, setError: setFormError, clearErrors: clearFormErrors, formState }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLDocumets.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLDocumets.js index 66ebdbdba00..7817771e080 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLDocumets.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLDocumets.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { pdfDocumentName, pdfDownloadLink } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLInfoLabel.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLInfoLabel.js index bc73ab18ce6..4d785bf456b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLInfoLabel.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLInfoLabel.js @@ -1,6 +1,6 @@ import React, { useState } from "react"; -import { TypeSelectCard } from "@egovernments/digit-ui-react-components"; -import { FormStep, RadioOrSelect, RadioButtons, CitizenInfoLabel } from "@egovernments/digit-ui-react-components"; +import { TypeSelectCard } from "@upyog/digit-ui-react-components"; +import { FormStep, RadioOrSelect, RadioButtons, CitizenInfoLabel } from "@upyog/digit-ui-react-components"; const TLInfoLabel = ({ t, config, onSelect, userType, formData }) => { return ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLOwnerDetailsEmployee.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLOwnerDetailsEmployee.js index 58c6a6122a3..e637045144e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLOwnerDetailsEmployee.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLOwnerDetailsEmployee.js @@ -9,7 +9,7 @@ import { MobileNumber, CardSectionHeader, TextInput, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import _ from "lodash"; import React, { useEffect, useMemo, useState } from "react"; import { Controller, useForm } from "react-hook-form"; @@ -197,7 +197,7 @@ const OwnerForm = (_props) => { control={control} name="instituionName" defaultValue={owner?.instituionName} - rules={{ required: t("REQUIRED_FIELD"), validate: { pattern: (val) => (/^\w+( +\w+)*$/.test(val) ? true : t("TL_NAME_ERROR_MESSAGE")) } }} + rules={{ required: t("REQUIRED_FIELD"), validate: { pattern: (val) => (/^[a-zA-Z_@./()#&+-\s]*$/.test(val) ? true : t("TL_NAME_ERROR_MESSAGE")) } }} render={(props)=>( { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectLandMark.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectLandMark.js index f76e25c4b79..d004ed6a3be 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectLandMark.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectLandMark.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { FormStep, TextArea, LabelFieldPair, CardLabel } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextArea, LabelFieldPair, CardLabel } from "@upyog/digit-ui-react-components"; import Timeline from "../components/TLTimelineInFSM"; const TLSelectLandmark = ({ t, config, onSelect, formData, userType }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectOwnerAddress.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectOwnerAddress.js index 6cc2c0fbd9b..f024e0af751 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectOwnerAddress.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectOwnerAddress.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, CheckBox, CardLabel, LabelFieldPair, TextArea, CitizenInfoLabel } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, CheckBox, CardLabel, LabelFieldPair, TextArea, CitizenInfoLabel } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectPincode.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectPincode.js index d3da64cb94b..60fc7cd9875 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectPincode.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectPincode.js @@ -1,4 +1,4 @@ -import { FormStep, TextInput, CardLabel, LabelFieldPair } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, CardLabel, LabelFieldPair } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { useLocation } from "react-router-dom"; import Timeline from "../components/TLTimeline"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectStreet.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectStreet.js index 9984312d97e..acbcdcb9e00 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectStreet.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLSelectStreet.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { FormStep, TextInput, LabelFieldPair, CardLabel, WrapUnMaskComponent } from "@egovernments/digit-ui-react-components"; +import { FormStep, TextInput, LabelFieldPair, CardLabel, WrapUnMaskComponent } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import _ from "lodash"; import Timeline from "../components/TLTimelineInFSM"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLTradeDetailsEmployee.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLTradeDetailsEmployee.js index d9d37940cc3..6be67490c11 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLTradeDetailsEmployee.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLTradeDetailsEmployee.js @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo, useCallback } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber, DatePicker, Loader } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber, DatePicker, Loader } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import { useTranslation } from "react-i18next"; import _ from "lodash"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLTradeUnitsEmployee.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLTradeUnitsEmployee.js index 04fbb59e90c..2c89728e982 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLTradeUnitsEmployee.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLTradeUnitsEmployee.js @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo, useCallback } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber, Loader } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber, Loader } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import { useTranslation } from "react-i18next"; import _ from "lodash"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLTradeUnitsEmployeeInitial.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLTradeUnitsEmployeeInitial.js index af709277e84..6994d91d48e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLTradeUnitsEmployeeInitial.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLTradeUnitsEmployeeInitial.js @@ -1,5 +1,5 @@ import React, { useState, useEffect, useMemo, useCallback } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, TextInput, LinkButton, CardLabelError, MobileNumber } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import { useTranslation } from "react-i18next"; import _ from "lodash"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLWFApplicationTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLWFApplicationTimeline.js index 1583afcfadc..adabdef50b0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLWFApplicationTimeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLWFApplicationTimeline.js @@ -1,4 +1,4 @@ -import { ActionLinks, CardSectionHeader, CheckPoint, ConnectingCheckPoints, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionLinks, CardSectionHeader, CheckPoint, ConnectingCheckPoints, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { Fragment } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLWFCaption.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLWFCaption.js index e9d550be7a0..4e4376f2857 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLWFCaption.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TLWFCaption.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TelePhone, DisplayPhotos } from "@egovernments/digit-ui-react-components"; +import { TelePhone, DisplayPhotos } from "@upyog/digit-ui-react-components"; //TODO: please find a better way to display in checkpoints import TLWFReason from "./TLWFReason"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TradeLicense.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TradeLicense.js index 815763c81a0..9ebe01887cb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TradeLicense.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pageComponents/TradeLicense.js @@ -1,4 +1,4 @@ -import { Card, CardHeader, CardSubHeader, CardText, CitizenInfoLabel, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, CardHeader, CardSubHeader, CardText, CitizenInfoLabel, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; import React from "react"; import { stringReplaceAll } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/Response.js index dc4a38118a9..d2901af8f89 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/Response.js @@ -1,4 +1,4 @@ -import { Banner, Card, CardText, LinkButton, ActionBar, Row, StatusTable, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardText, LinkButton, ActionBar, Row, StatusTable, SubmitBar } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { useLocation, Link, useParams } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Applications/Application.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Applications/Application.js index d6de7846e6f..593a72aa6f4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Applications/Application.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Applications/Application.js @@ -1,4 +1,4 @@ -import { Card, Header, KeyNote, Loader, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Card, Header, KeyNote, Loader, SubmitBar } from "@upyog/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; @@ -40,6 +40,16 @@ const MyApplications = ({ view }) => { {" "} + {application?.raw?.status === "PENDINGPAYMENT" ? ( + +
+ +
+ + ):null}
); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Applications/ApplicationDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Applications/ApplicationDetails.js index 17e49664416..5381ffe4206 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Applications/ApplicationDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Applications/ApplicationDetails.js @@ -11,7 +11,7 @@ import { LinkLabel, LinkButton, StatusTable, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link, useHistory, useParams } from "react-router-dom"; @@ -160,7 +160,8 @@ const TLApplicationDetails = () => { onClick: handleDownloadPdf, }, ]; - + + const ownersSequences= (application?.[0]?.tradeLicenseDetail?.owners?.additionalDetails!==null)? application?.[0]?.tradeLicenseDetail?.owners.sort((a,b)=>a?.additionalDetails?.ownerSequence-b?.additionalDetails?.ownerSequence) : []; return (
@@ -239,7 +240,7 @@ const TLApplicationDetails = () => { textStyle={{wordBreak:"break-word"}} /> {t("TL_OWNERSHIP_DETAILS_HEADER")} - {application?.tradeLicenseDetail.owners.map((ele, index) => { + {ownersSequences.map((ele, index) => { return application?.tradeLicenseDetail?.subOwnerShipCategory.includes("INSTITUTIONAL") ? (
{`${t("TL_PAYMENT_PAID_BY_PLACEHOLDER")} - ` + (index + 1)} @@ -275,6 +276,7 @@ const TLApplicationDetails = () => { +
@@ -423,4 +425,4 @@ const TLApplicationDetails = () => { ); }; -export default TLApplicationDetails; +export default TLApplicationDetails; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Create/CheckPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Create/CheckPage.js index 15450c151c6..8c784926fb7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Create/CheckPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Create/CheckPage.js @@ -11,7 +11,7 @@ import { StatusTable, SubmitBar, Toast, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, useRouteMatch, Link } from "react-router-dom"; @@ -200,11 +200,11 @@ const WrapCheckPage = ({ onSubmit, value }) => { )} -
+ {/*
-
+
*/} } @@ -225,6 +225,7 @@ const WrapCheckPage = ({ onSubmit, value }) => { + { const [numOfApplications, setNumberOfApplications] = useState([]); const { isLoading, data: fydata = {} } = Digit.Hooks.tl.useTradeLicenseMDMS(stateId, "egf-master", "FinancialYear"); let mdmsFinancialYear = fydata["egf-master"] ? fydata["egf-master"].FinancialYear.filter((y) => y.module === "TL") : []; - let isrenewalspresent = false; - + //let isrenewalspresent = false; + const [isrenewalspresent,setIsrenewalspresent] =useState(false) async function apicall(application) { let res = await Digit.TLService.TLsearch({ tenantId: application.tenantId, filters: { licenseNumbers: application.licenseNumber } }); let Licenses = res.Licenses; @@ -29,7 +29,8 @@ const TradeLicenseList = ({ application }) => { Licenses && Licenses.map((ob) => { if (ob.financialYear === FY) { - isrenewalspresent = true; + setIsrenewalspresent(true) + //isrenewalspresent = true; } }); if (isrenewalspresent && Licenses) { @@ -56,13 +57,53 @@ const TradeLicenseList = ({ application }) => { setShowToast({ error: true, label: `${t("TL_ERROR_TOAST_MUTUALLY_EXPIRED")}` }); } } +useEffect(async ()=>{ + + const licenseNumbers = application?.licenseNumber; + const filters = { licenseNumbers, offset: 0 }; + let numOfApplications = await TLSearch.numberOfApplications(application?.tenantId, filters); + let allowedToNextYear= false; + //isrenewalspresent = false; + setIsrenewalspresent(false) + let latestRenewalYearofAPP = ""; + let financialYear = cloneDeep(application?.financialYear); + const financialYearDate = financialYear?.split('-')[1]; + const finalFinancialYear = `20${Number(financialYearDate)}-${Number(financialYearDate)+1}` + const latestFinancialYear = Math.max.apply(Math, numOfApplications?.filter(ob => ob.licenseNumber === application?.licenseNumber)?.map(function(o){return parseInt(o.financialYear.split("-")[0])})) + const isAllowedToNextYear = numOfApplications?.filter(data => (data.financialYear == finalFinancialYear && data?.status !== "REJECTED")); + if(Object.keys(fydata).length >0) + { + let FY = getvalidfromdate("", mdmsFinancialYear).finYearRange; + numOfApplications && + numOfApplications.map((ob) => { + if (ob.financialYear === FY) { + setIsrenewalspresent(true) + //isrenewalspresent = true; + } + }); + if (isAllowedToNextYear?.length > 0){ + setAllowedToNextYear(false); + setoldRenewalAppNo(isAllowedToNextYear?.[0]?.applicationNumber); + } + if(!(application?.financialYear.includes(`${latestFinancialYear}`))) { + latestRenewalYearofAPP = application?.financialYear; + setlatestRenewalYearofAPP(application?.financialYear); + } + if (!isAllowedToNextYear || isAllowedToNextYear?.length == 0){ + allowedToNextYear = true; + setAllowedToNextYear(true); + } + setNumberOfApplications(numOfApplications) + } +},[fydata]) const onsubmit = async() => { const licenseNumbers = application?.licenseNumber; const filters = { licenseNumbers, offset: 0 }; let numOfApplications = await TLSearch.numberOfApplications(application?.tenantId, filters); let allowedToNextYear= false; - isrenewalspresent = false; + setIsrenewalspresent(false) + //isrenewalspresent = false; let latestRenewalYearofAPP = ""; let financialYear = cloneDeep(application?.financialYear); const financialYearDate = financialYear?.split('-')[1]; @@ -73,7 +114,8 @@ const TradeLicenseList = ({ application }) => { numOfApplications && numOfApplications.map((ob) => { if (ob.financialYear === FY) { - isrenewalspresent = true; + setIsrenewalspresent(true) + //isrenewalspresent = true; } }); if (isAllowedToNextYear?.length > 0){ @@ -94,6 +136,7 @@ const TradeLicenseList = ({ application }) => { else history.push(`/digit-ui/citizen/tl/tradelicence/renew-trade/${application.licenseNumber}/${application.tenantId}`); }; + const ownersSequences=owners?.additionalDetails!==null ? owners.sort((a,b)=>a?.additionalDetails?.ownerSequence-b?.additionalDetails?.ownerSequence): owners return ( @@ -101,7 +144,7 @@ const TradeLicenseList = ({ application }) => { ( + note={ownersSequences.map((owners, index) => (
{index == owners.length - 1 ? owners?.name + "," : owners.name}
))} /> @@ -113,7 +156,7 @@ const TradeLicenseList = ({ application }) => { : t("TL_EXPIRED_STATUS_MSG") + convertEpochToDateCitizen(application.validTo) + " " + t("TL_EXPIRED_STATUS_MSG_1") } /> - + {isrenewalspresent ?:}
{showToast && ( { if (licenseno) filter1.licenseNumbers = licenseno; if (licenseno) filter1.tenantId = tenantID; if (!licenseno) filter1.mobileNumber = userInfo?.info?.mobileNumber; - filter1 = { ...filter1, tenantId: tenantId || tenantID, status: "APPROVED,CANCELLED,EXPIRED,MANUALEXPIRED" }; + filter1 = { ...filter1, RenewalPending:true, tenantId: tenantId || tenantID, status: "APPROVED,CANCELLED,EXPIRED,MANUALEXPIRED" }; const { isLoading, isError, error, data } = Digit.Hooks.tl.useTradeLicenseSearch({ filters: filter1 }, {}); useEffect(() => { localStorage.setItem("TLAppSubmitEnabled", "true"); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Renewal/renewTrade.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Renewal/renewTrade.js index 5753e88f966..37a771e7033 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Renewal/renewTrade.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/Renewal/renewTrade.js @@ -1,4 +1,4 @@ -import { Loader } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@upyog/digit-ui-react-components"; import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useQueryClient } from "react-query"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/SearchTrade/searchTrade.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/SearchTrade/searchTrade.js index 359fffc9203..388d9bc7f46 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/SearchTrade/searchTrade.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/SearchTrade/searchTrade.js @@ -1,4 +1,4 @@ -import { FormComposer,Dropdown } from "@egovernments/digit-ui-react-components"; +import { FormComposer,Dropdown } from "@upyog/digit-ui-react-components"; import PropTypes from "prop-types"; import React, { useLayoutEffect, useState } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/index.js index 080174bdfdf..b66dc84b263 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/citizen/index.js @@ -1,4 +1,4 @@ -import { AppContainer, BackButton, PrivateRoute } from "@egovernments/digit-ui-react-components"; +import { AppContainer, BackButton, PrivateRoute } from "@upyog/digit-ui-react-components"; import React from "react"; import { Route, Switch, useRouteMatch } from "react-router-dom"; // import TradeLicense from "../../pageComponents/TradeLicense"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/ApplicationDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/ApplicationDetails.js index 880d5a37fec..d31be5bc442 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/ApplicationDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/ApplicationDetails.js @@ -3,7 +3,7 @@ import { useTranslation } from "react-i18next"; import ApplicationDetailsTemplate from "../../../../templates/ApplicationDetails"; import cloneDeep from "lodash/cloneDeep"; import { useParams } from "react-router-dom"; -import { Header,MultiLink } from "@egovernments/digit-ui-react-components"; +import { Header,MultiLink } from "@upyog/digit-ui-react-components"; import get from "lodash/get"; import orderBy from "lodash/orderBy"; import getPDFData from "../../utils/getTLAcknowledgementData" diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/Inbox.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/Inbox.js index cb24c32c226..5ce207dfbd7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/Inbox.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/Inbox.js @@ -1,4 +1,4 @@ -import { Header } from "@egovernments/digit-ui-react-components"; +import { Header } from "@upyog/digit-ui-react-components"; import React, { useCallback, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import DesktopInbox from "../../components/inbox/DesktopInbox"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/NewApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/NewApplication/index.js index 87a3a5c4d8d..fb60576531c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/NewApplication/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/NewApplication/index.js @@ -1,4 +1,4 @@ -import { FormComposer, Header, Toast } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Header, Toast } from "@upyog/digit-ui-react-components"; import _ from "lodash"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; @@ -28,6 +28,7 @@ const NewApplication = () => { { filters: { propertyIds: propertyId }, tenantId: tenantId }, { filters: { propertyIds: propertyId }, tenantId: tenantId, enabled: propertyId ? true : false } ); + console.log("pd123", propertyDetails) useEffect(() => { !propertyId && setPropertyId(sessionFormData?.cpt?.details?.propertyId); @@ -56,7 +57,7 @@ const NewApplication = () => { function checkforownerPresent(formData){ if(formData?.owners){ formData?.owners?.map((ob) => { - if(!ob?.name || !ob.mobileNumber || !ob?.fatherOrHusbandName || !ob?.relationship?.code || ob?.gender?.code) + if(!ob?.name || !ob.mobileNumber || !ob?.fatherOrHusbandName || !ob?.relationship?.code || ob?.gender?.code || ob?.additionalDetails) { return true; } @@ -79,11 +80,20 @@ const NewApplication = () => { formState.errors["owners"] && Object.entries(formState.errors["owners"].type).filter((ob) => ob?.[1].type === "required").length == 0 ) { - setSubmitValve(true); + if((formData?.ownershipCategory?.code==="INDIVIDUAL.SINGLEOWNER" && formData?.owners.length==1) || (formData?.ownershipCategory?.code==="INDIVIDUAL.MULTIPLEOWNERS" && formData?.owners.length>1)){ + setSubmitValve(true); + } } else { setSubmitValve(!Object.keys(formState.errors).length); } - }; + if(formData?.ownershipCategory?.code==="INDIVIDUAL.MULTIPLEOWNERS"){ + for(let i=0;i { let isSameAsPropertyOwner = sessionStorage.getItem("isSameAsPropertyOwner"); if(data?.cpt?.id){ @@ -153,9 +163,10 @@ const NewApplication = () => { let owners = []; if (data?.owners?.length > 0) { - data?.owners.map((data) => { + data?.owners.map((data, index) => { let obj = {}; obj.dob = data?.dob ? convertDateToEpoch(data?.dob) : null; + obj.additionalDetails={ownerSequence: index, ownerName:data?.name} if (data?.fatherOrHusbandName) obj.fatherOrHusbandName = data?.fatherOrHusbandName; if (data?.gender?.code) obj.gender = data?.gender?.code; if (data?.mobileNumber) obj.mobileNumber = Number(data?.mobileNumber); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/ReNewApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/ReNewApplication/index.js index 802e6a40f5c..bb2e68f9a40 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/ReNewApplication/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/ReNewApplication/index.js @@ -1,4 +1,4 @@ -import { FormComposer, Header, Toast } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Header, Toast } from "@upyog/digit-ui-react-components"; import cloneDeep from "lodash/cloneDeep"; import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; @@ -16,9 +16,13 @@ const ReNewApplication = (props) => { const { t } = useTranslation(); const [canSubmit, setSubmitValve] = useState(false); let { data: newConfig, isLoading } = Digit.Hooks.tl.useMDMS.getFormConfig(tenantId?.split?.(".")?.[0], {}); - const { - data: propertyDetails - } = Digit.Hooks.pt.usePropertySearch({ filters: { propertyIds: propertyId }, tenantId: tenantId }, { filters: { propertyIds: propertyId }, tenantId: tenantId }); + let propertyDetails; + if(applicationData?.tradeLicenseDetail?.structureType.split('.')[0]==="IMMOVABLE"){ + const { + data: propertydetails + } = Digit.Hooks.pt.usePropertySearch({ filters: { propertyIds: propertyId }, tenantId: tenantId }); + propertyDetails= propertydetails; +} const history = useHistory(); // delete @@ -155,9 +159,9 @@ const ReNewApplication = (props) => { ownershipCategory: ownershipCategory, owners: getOwners(applicationData)|| [], documents: { documents: applicationData?.tradeLicenseDetail?.applicationDocuments || [] }, - cptId: {id: propertyId}, - cpt: {details:propertyDetails?.Properties?.[0]} - // applicationData: cloneDeep(props?.location?.state?.applicationData) + cptId: { id :applicationData?.tradeLicenseDetail?.structureType.split('.')[0]==="IMMOVABLE" ? propertyId : ""}, + cpt: {details: applicationData?.tradeLicenseDetail?.structureType.split('.')[0]==="IMMOVABLE" ? propertyDetails?.Properties?.[0] : ""}, + applicationData: cloneDeep(props?.location?.state?.applicationData) }; const closeToast = () => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/Search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/Search.js index 5892ec655a8..559d1c03b9c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/Search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/Search.js @@ -11,7 +11,7 @@ import { SearchForm, SearchField, Dropdown, -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import { useParams } from "react-router-dom"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/index.js index 31ab64a6817..908bbff72b5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/pages/employee/index.js @@ -1,6 +1,6 @@ import React, { useState, useEffect } from "react"; import { Switch, useLocation, Link } from "react-router-dom"; -import { PrivateRoute, BreadCrumb } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute, BreadCrumb } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import Inbox from "./Inbox"; // import NewApplication from "./NewApplication"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/utils/getTLAcknowledgementData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/utils/getTLAcknowledgementData.js index 9a54bc90480..e2ecad284af 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/utils/getTLAcknowledgementData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/utils/getTLAcknowledgementData.js @@ -31,8 +31,8 @@ const getOwnerDetails = (application, t) => { { title: t("TL_NEW_OWNER_DETAILS_EMAIL_LABEL"), value: owner?.emailId || t("CS_NA") }, { title: t("TL_OWNER_SPECIAL_CATEGORY"), value: owner?.ownerType ? t(`COMMON_MASTERS_OWNERTYPE_${owner?.ownerType}`) : t("CS_NA") }, { title: t("TL_NEW_OWNER_DETAILS_ADDR_LABEL"), value: owner?.permanentAddress || t("CS_NA") }, - ]; - values.push(...indOwner); + ]; + values.push(...indOwner); }); return { title: t("TL_OWNERSHIP_DETAILS_HEADER"), @@ -76,7 +76,7 @@ const getAccessoriesDetails = (application, t) => { }); return { - title: "", + title: "ACCESSORIES_DETAILS", values: values, }; }; @@ -92,22 +92,19 @@ const getTradeUnitsDetails = (application, t) => { { title: t("TL_NEW_TRADE_SUB_TYPE_LABEL"), value: tradeSubType ? t(`TRADELICENSE_TRADETYPE_${tradeSubType}`) : t("CS_NA") }, { title: t("TL_NEW_TRADE_DETAILS_UOM_UOM_PLACEHOLDER"), value: unit?.uom || t("CS_NA") }, { title: t("TL_NEW_TRADE_DETAILS_UOM_VALUE_LABEL"), value: unit?.uomValue || t("CS_NA") }, - { title: "", value: ""}, - { title: "", value: ""}, - { title: "", value: ""} ]; values.push(...value); }); return { - title: "", + title: "TRADE_UNIT_DETAILS", values: values, }; }; const getAddressDetails = (application, t) => { return { - title: "", + title: "PROPERTY_DETAILS", values: [ { title: t("TL_PROPERTY_ID"), value: application?.tradeLicenseDetail?.additionalDetail?.propertyId || t("CS_NA") }, { title: t("CORE_COMMON_PINCODE"), value: application?.tradeLicenseDetail?.address?.pincode || t("CS_NA") }, @@ -130,8 +127,10 @@ const getPTAcknowledgementData = async (application, tenantInfo, t) => { tenantId: tenantInfo?.code, title: `${t(tenantInfo?.i18nKey)} ${ulbCamel(t(`ULBGRADE_${tenantInfo?.city?.ulbGrade.toUpperCase().replace(" ", "_").replace(".", "_")}`))}`, name: `${t(tenantInfo?.i18nKey)} ${ulbCamel(t(`ULBGRADE_${tenantInfo?.city?.ulbGrade.toUpperCase().replace(" ", "_").replace(".", "_")}`))}`, - email: "", - phoneNumber: "", + email: tenantInfo?.emailId, + phoneNumber: tenantInfo?.contactNumber, + heading:t("NEW_TRADE_LICENSE_APPLICATION"), + applicationNumber:application?.applicationNumber, details: [ // { // title: t("NOC_TASK_DETAILS_HEADER"), diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/utils/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/utils/index.js index 6bd484c8354..70599cbce85 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/utils/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tl/src/utils/index.js @@ -112,7 +112,8 @@ export const setAddressDetails = (data) => { export const getownerarray = (data) => { const ownersData = data?.owners?.owners - const res = ownersData?.map((ob) => ({ + const res = ownersData?.map((ob, index) => ({ + additionalDetails: {ownerSequence: index, name: ob.name}, mobileNumber: ob.mobilenumber, name: ob.name, fatherOrHusbandName: ob?.fatherOrHusbandName, @@ -128,12 +129,17 @@ export const getownerarray = (data) => { export const gettradeownerarray = (data) => { let tradeownerarray = []; const isEditRenew = window.location.href.includes("renew-trade"); + const ownersSequences=data?.tradeLicenseDetail?.owners?.additionalDetails!==null ? data?.tradeLicenseDetail?.owners?.sort((a,b)=>a?.additionalDetails?.ownerSequence-b?.additionalDetails?.ownerSequence): data.tradeLicenseDetail.owners data.tradeLicenseDetail.owners.map((oldowner) => { data?.owners?.owners.map((newowner) => { if(oldowner.id === newowner.id) { - if((oldowner.name !== newowner.name) || (oldowner.gender !== newowner?.gender?.code) || (oldowner.mobileNumber !== newowner.mobilenumber) || (oldowner.permanentAddress !== data?.owners?.permanentAddress) || (oldowner.relationship !== newowner.relationship?.code) || (oldowner.fatherOrHusbandName !== newowner.fatherOrHusbandName)) + if((oldowner.name !== newowner.name) || (oldowner.gender !== newowner?.gender?.code) || (oldowner.mobileNumber !== newowner.mobilenumber) || (oldowner.permanentAddress !== data?.owners?.permanentAddress) || (oldowner.relationship !== newowner.relationship?.code) || (oldowner.fatherOrHusbandName !== newowner.fatherOrHusbandName)||(oldowner.additionalDetails!==newowner.additionalDetails)) { + if (oldowner.additionalDetails !== newowner.additionalDetails) + { + oldowner.additionalDetails = newowner.additionalDetails; + } if (oldowner.name !== newowner.name) { oldowner.name = newowner.name; @@ -173,10 +179,11 @@ export const gettradeownerarray = (data) => { let found = tradeownerarray.length > 0 ? tradeownerarray.some(el => el.id === oldowner.id):false; if(!found)tradeownerarray.push({...oldowner,active:false}); }) - data?.owners?.owners.map((ob) => { + data?.owners?.owners.map((ob, index) => { if(!ob.id) { tradeownerarray.push({ + additionalDetails:{ownerSequence: index, name: ob.name}, mobileNumber: ob.mobilenumber, name: ob.name, fatherOrHusbandName: ob?.fatherOrHusbandName, @@ -544,8 +551,12 @@ export const stringToBoolean = (value) => { //FinancialYear export const convertToEditTrade = (data, fy = []) => { - const currrentFYending = fy?.filter(item => item?.code === data?.financialYear)?.[0]?.endingDate; - const nextFinancialYearForRenewal = fy?.filter(item => item?.startingDate === currrentFYending)?.[0]?.code; + + // const nextFinancialYearForRenewal = fy?.filter(item => item?.startingDate === currrentFYending)?.[0]?.code; + let financialYear = data?.financialYear; + const financialYearDate = financialYear?.split('-')[1]; + const finalFinancialYear = `20${Number(financialYearDate)}-${Number(financialYearDate)+1}` + const currrentFYending = fy?.filter(item => item?.code === finalFinancialYear); let isDirectrenewal = stringToBoolean(sessionStorage.getItem("isDirectRenewal")); let isSameAsPropertyOwner = sessionStorage.getItem("isSameAsPropertyOwner"); let formdata = { @@ -563,9 +574,9 @@ export const convertToEditTrade = (data, fy = []) => { applicationDate: data?.applicationDate, commencementDate: data?.commencementDate, issuedDate: data?.issuedDate, - financialYear: nextFinancialYearForRenewal || "2022-23", - validFrom: data?.validFrom, - validTo: data?.validTo, + financialYear: finalFinancialYear || "2022-23", + validFrom: currrentFYending[0].startingDate ||data?.validFrom, + validTo: currrentFYending[0].endingDate || data?.validTo, action: "INITIATE", wfDocuments: data?.wfDocuments, status: data?.status, @@ -609,7 +620,7 @@ export const convertToEditTrade = (data, fy = []) => { //FinancialYear export const convertToResubmitTrade = (data) => { - +console.log("convertToResubmitTrade",data) let formdata = { Licenses: [ { @@ -943,10 +954,14 @@ export const convertEpochToDateDMY = (dateEpoch) => { }; export const getOwnersForNewApplication = (formdata,t) => { + + +const ownersSequences= (formdata?.cpt?.details?.owners?.additionalDetails!==null) ? formdata?.cpt?.details?.owners.sort((a,b)=>a?.additionalDetails?.ownerSequence-b?.additionalDetails?.ownerSequence) : formdata?.cpt?.details?.owners||[]; let owners = []; if(formdata?.ownershipCategory?.code?.includes("SINGLEOWNER") || formdata?.ownershipCategory?.code?.includes("MULTIPLEOWNER")) - formdata?.cpt?.details?.owners?.map((ow) => { + ownersSequences?.map((ow, index) => { owners.push({ + additionalDetails: {ownerSequence:index, name:ow?.name}, name: ow?.name, designation: "", mobileNumber: ow?.mobileNumber, @@ -985,8 +1000,9 @@ export const getOwnersForNewApplication = (formdata,t) => { export const getOwnersfromProperty = (formdata) => { let owners = []; +const ownersSequences= formdata?.cpt?.details?.owners?.additionalDetails!==null ? formdata?.cpt?.details?.owners.sort((a,b)=>a?.additionalDetails?.ownerSequence-b?.additionalDetails?.ownerSequence) : formdata?.cpt?.details?.owners||[]; if((formdata?.ownershipCategory?.code?.includes("SINGLEOWNER") || formdata?.ownershipCategory?.code?.includes("MULTIPLEOWNER"))) - formdata?.cpt?.details?.owners?.map((ow) => { + ownersSequences?.map((ow) => { owners.push({ name: ow?.name, fatherOrHusbandName: ow?.fatherOrHusbandName, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/package.json index 58fb0bfa7d3..e7b70ff2a6e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/package.json @@ -1,6 +1,6 @@ { "name": "@upyog/digit-ui-module-ws", - "version": "1.7.0-beta.2", + "version": "1.7.0-beta.9", "description": "", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,14 +18,15 @@ "react-router-dom": "5.3.0" }, "dependencies": { - - "@egovernments/digit-ui-react-components": "^1.7.0-beta.2", + "@upyog/digit-ui-react-components": "^1.7.0-beta.2", + "microbundle-crl": "^0.13.11", "react": "17.0.2", "react-dom": "17.0.2", "react-hook-form": "6.15.8", "react-i18next": "11.16.2", "react-query": "3.6.1", - "react-router-dom": "5.3.0" + "react-router-dom": "5.3.0", + "xlsx": "^0.18.5" }, "author": "", "license": "MIT" diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/Module.js index 7e6e74853f3..04bf62e6517 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/Module.js @@ -1,7 +1,7 @@ import React from "react"; import { useTranslation } from "react-i18next"; import { useRouteMatch } from "react-router-dom"; -import { Loader, CitizenHomeCard, WSICon } from "@egovernments/digit-ui-react-components"; +import { Loader, CitizenHomeCard, WSICon } from "@upyog/digit-ui-react-components"; import CitizenApp from "./pages/citizen"; import EmployeeApp from "./pages/employee"; @@ -42,6 +42,7 @@ import WSInbox from "./components/WSInbox"; import BillAmendmentCard from "./components/BillAmendmentCard"; import SearchApplication from "./components/SearchApplication"; import SearchWaterConnection from "./components/SearchWaterConnection"; +import BulkBillSearch from "./components/SearchWaterConnection/BulkBillSearch" import WSCard from "./components/WSCard"; import SWCard from "./components/SWCard"; import BillIAmendMentInbox from "./components/BillIAmendMentInbox"; @@ -94,6 +95,7 @@ import SearchWaterConnectionIntegrated from "./pages/employee/SearchWaterConnect import SearchIntegrated from "./pages/employee/SearchIntegrated"; import SearchWaterConnectionViewIntegrated from "./pages/employee/SearchWaterConnection/SearchWaterConnectionViewIntegrated"; + import BulkBillGeneration from "./pages/employee/BulkBillGeneration" const WSModule = ({ stateCode, userType, tenants }) => { @@ -194,6 +196,7 @@ const componentsToRegister = { BillAmendmentCard, WSSearchApplication: SearchApplication, WSSearchWaterConnection: SearchWaterConnection, + WSBulkBillSearch:BulkBillSearch, WSCard, SWCard, WSBillIAmendMentInbox: BillIAmendMentInbox, @@ -243,7 +246,8 @@ const componentsToRegister = { WSResubmitDisconnection: ResubmitDisconnection, WSSearchWaterConnectionIntegrated:SearchWaterConnectionIntegrated, WSSearchIntegrated:SearchIntegrated, - WSSearchWaterConnectionViewIntegrated :SearchWaterConnectionViewIntegrated + WSSearchWaterConnectionViewIntegrated :SearchWaterConnectionViewIntegrated, + WSBulkBillGeneration:BulkBillGeneration }; export const initWSComponents = () => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillAmendmentCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillAmendmentCard.js index 3fd2b94a5ec..76bf20f753f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillAmendmentCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillAmendmentCard.js @@ -1,4 +1,4 @@ -import { EmployeeModuleCard, WSICon } from "@egovernments/digit-ui-react-components"; +import { EmployeeModuleCard, WSICon } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect, useMemo } from "react"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/FilterFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/FilterFormFieldsComponent.js index cc172c4b8f4..ec9a97df2d2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/FilterFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/FilterFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, { Fragment, useMemo } from "react"; -import { FilterFormField, RadioButtons, MultiSelectDropdown, Loader, CheckBox, RemoveableTag } from "@egovernments/digit-ui-react-components"; +import { FilterFormField, RadioButtons, MultiSelectDropdown, Loader, CheckBox, RemoveableTag } from "@upyog/digit-ui-react-components"; import { Controller, useWatch } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/SearchFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/SearchFormFieldsComponent.js index 244181ffb04..4e2b793054c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/SearchFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/SearchFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { CardLabelError, SearchField, TextInput, MobileNumber } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, SearchField, TextInput, MobileNumber } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const SearchFormFieldsComponents = ({ registerRef, searchFormState }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/index.js index c6f83de75ef..34396e50ff7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/index.js @@ -1,5 +1,5 @@ import React, { Fragment, useCallback, useMemo, useReducer } from "react"; -import { InboxComposer, ComplaintIcon, Header, CollectionIcon } from "@egovernments/digit-ui-react-components"; +import { InboxComposer, ComplaintIcon, Header, CollectionIcon } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import SearchFormFieldsComponents from "./SearchFormFieldsComponent"; import FilterFormFieldsComponent from "./FilterFormFieldsComponent"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/useInboxMobileCardsData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/useInboxMobileCardsData.js index cb16bdf7896..56e135246db 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/useInboxMobileCardsData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/BillIAmendMentInbox/useInboxMobileCardsData.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { SearchField, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { SearchField, RadioButtons } from "@upyog/digit-ui-react-components"; import { Controller, useFormContext } from "react-hook-form"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/DisconnectTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/DisconnectTimeline.js index 6014241ecf3..d517c588cc9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/DisconnectTimeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/DisconnectTimeline.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TickMark } from "@egovernments/digit-ui-react-components"; +import { TickMark } from "@upyog/digit-ui-react-components"; let actions = []; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SWCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SWCard.js index cfb2ab33ff0..e84d19e7199 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SWCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SWCard.js @@ -1,4 +1,4 @@ -import { EmployeeModuleCard, WSICon } from "@egovernments/digit-ui-react-components"; +import { EmployeeModuleCard, WSICon } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { checkForEmployee } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchApplication/MobileSearchApplication.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchApplication/MobileSearchApplication.js index 3f58689bb7f..17769042145 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchApplication/MobileSearchApplication.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchApplication/MobileSearchApplication.js @@ -1,6 +1,6 @@ import React, { Fragment, useCallback, useMemo, useReducer } from "react"; import { Link } from "react-router-dom"; -import { CloseSvg, SearchForm, Table, Card, SearchAction, PopUp, DetailsCard, Loader, Toast } from "@egovernments/digit-ui-react-components"; +import { CloseSvg, SearchForm, Table, Card, SearchAction, PopUp, DetailsCard, Loader, Toast } from "@upyog/digit-ui-react-components"; import SearchFormFields from "./SearchFields"; const MobileSearchApplication = ({ Controller, register, control, t, reset, previousPage, handleSubmit, tenantId, data, onSubmit, businessService }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchApplication/SearchFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchApplication/SearchFields.js index d4d2f5a3463..b41007fa3a9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchApplication/SearchFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchApplication/SearchFields.js @@ -1,6 +1,6 @@ import React, { Fragment } from "react" import { Controller, useWatch } from "react-hook-form"; -import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader, MobileNumber } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader, MobileNumber } from "@upyog/digit-ui-react-components"; const SearchFields = ({ register, control, reset, tenantId, t,businessService }) => { const { isLoading: applicationTypesLoading, data: applicationTypes } = Digit.Hooks.ws.useWSMDMSWS.applicationTypes(Digit.ULBService.getStateId()); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchApplication/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchApplication/index.js index be7dc46f2cf..37bf4b5e90e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchApplication/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchApplication/index.js @@ -1,5 +1,5 @@ import React, { Fragment, useEffect, useCallback, useMemo } from "react"; -import { SearchForm, Table, Card, Loader, Header } from "@egovernments/digit-ui-react-components"; +import { SearchForm, Table, Card, Loader, Header } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import SearchFields from "./SearchFields"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/BulkBillSearch.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/BulkBillSearch.js new file mode 100644 index 00000000000..849a1c99375 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/BulkBillSearch.js @@ -0,0 +1,538 @@ +import React, { Fragment, useState, useEffect, useCallback, useMemo } from "react"; +import { SearchForm, Table, Card, CardText, Loader, Header, Toast, DownloadBtnCommon, UploadFile, SubmitBar, Modal} from "@upyog/digit-ui-react-components"; +import { useForm, Controller } from "react-hook-form"; +import BulkBillSearchFields from "./BulkBillSearchFields"; +import { useTranslation } from "react-i18next"; +import { Link } from "react-router-dom"; +import MobileSearchWater from "./MobileSearchWater"; +import { useHistory } from "react-router-dom"; +import { convertDateToEpoch } from "../../utils/index" +import * as XLSX from "xlsx"; +const BulkBillSearch = ({ tenantId, onSubmit, data, count, resultOk, businessService, isLoading }) => { + const [showToast, setShowToast] = useState(null); + const [showModal, setModalReject] = useState(null); + const [showModalResult, setShowModalResult] = useState(null) + const [uploadedFile, setUploadedFile] = useState(() => null); + const [file, setFile] = useState("") + const [meterReadingData, setMeterReadingData] = useState([]) + const [rejectedReading, setRejectedReading] = useState([]) + const [bulkReadingStatus, setBulkReadingStatus] = useState([]) + const [isLoadingBulkMeterReading, setIsLoadingBulkMeterReading] =useState(false) + function selectfile(e) { + e.preventDefault() + setFile(e.target.files[0]); + readExcel(e.target.files[0]); + setUploadedFile("bulk"); + + } + const { + isLoading: updatingMeterConnectionLoading, + isError: updateMeterConnectionError, + data: updateMeterConnectionResponse, + error: updateMeterError, + mutate: meterReadingMutation, + } = Digit.Hooks.ws.useBulkMeterReadingCreateAPI(businessService); + + const readExcel = async (file) => { + const promise = new Promise((resolve, reject) => { + const fileReader = new FileReader(); + fileReader.readAsArrayBuffer(file); + + fileReader.onload = (e) => { + const bufferArray = e.target.result; + + const wb = XLSX.read(bufferArray, { type: "buffer" }); + + const wsname = wb.SheetNames[0]; + + const ws = wb.Sheets[wsname]; + + const data = XLSX.utils.sheet_to_json(ws); + + const meterReadingListFilter = data.map((meter) => { + + return { "billingPeriod": meter.billingPeriod, "currentReading": meter.currentReading, "currentReadingDate": meter.currentReadingDate, "lastReading": meter.lastReading, "lastReadingDate": meter.lastReadingDate, "connectionNo": meter.connectionNo, "meterStatus": meter.meterStatus, tenantId: "pg.citya" } + }) + const meterReadingList = meterReadingListFilter.filter((item) => { + return item.currentReading >= item.lastReading && ExcelDateToJSDate(item?.currentReadingDate) > item.lastReadingDate + }) + const rejectedReading = + meterReadingListFilter.filter((element) => !meterReadingList.includes(element)); + console.log("reading list", meterReadingList, rejectedReading) + setRejectedReading(rejectedReading) + resolve(meterReadingList, rejectedReading); + }; + + fileReader.onerror = (error) => { + reject(error); + }; + }); + + promise.then(async (meterReading, rejectedReading) => { + setMeterReadingData(meterReading) + + }); + }; + + const ExcelDateToJSDate = (date) => { + const e0date = new Date(0); // epoch "zero" date + const offset = e0date.getTimezoneOffset(); // tz offset in min + + // calculate Excel xxx days later, with local tz offset + const jsdate = new Date(0, 0, date - 1, 0, -offset, 0); + return Digit.Utils.pt.convertDateToEpoch(jsdate?.toJSON()?.split("T")[0]) + } + const handleBulkSubmit = async () => { + if (meterReadingMutation) { + setIsLoadingBulkMeterReading(true) + let meterReadingsPayload = { meterReadingList: meterReadingData }; + await meterReadingMutation(meterReadingsPayload, { + onError: (error, variables) => { + setIsLoadingBulkMeterReading(false) + setShowToast({ error: true, label: error?.message ? error.message : error }); + setTimeout(closeToast, 5000); + }, + onSuccess: async (data, variables) => { + setIsLoadingBulkMeterReading(false) + console.log("data",data) + setShowModalResult(true) + setBulkReadingStatus(data.meterReadings) + setShowToast({ key: "success", label: "WS_METER_READING_ADDED_SUCCESFULLY" }); + setTimeout(closeToast, 3000); + // setTimeout(() => { + // window.location.reload(); + // }, 5000); + }, + }); + } + } + const convertEpochToDate = (dateEpoch) => { + if (dateEpoch == null || dateEpoch == undefined || dateEpoch == "") { + return "NA"; + } + const dateFromApi = new Date(dateEpoch); + let month = dateFromApi.getMonth() + 1; + let day = dateFromApi.getDate(); + let year = dateFromApi.getFullYear(); + month = (month > 9 ? "" : "0") + month; + day = (day > 9 ? "" : "0") + day; + return `${day}/${month}/${year}`; + }; + const closeModal = () => { + setModalReject(false) + } + const closeModalStatus = () => { + setShowModalResult(false) + } + const setModal = () => { + setModalReject(false) + handleBulkSubmit() + } + const Heading = (props) => { + return

{props.label}

; + }; + + const Close = () => ( + + + + + ); + + const CloseBtn = (props) => { + return ( +
+ +
+ ); + }; + const { t } = useTranslation(); + const { register, control, handleSubmit, setValue, getValues, reset } = useForm({ + defaultValues: { + offset: 0, + limit: 10, + sortBy: "consumerNo", + sortOrder: "DESC", + searchType: "CONNECTION", + locality: "", + tenantId: "" + }, + }); + const DownloadBtn = (props) => { + return ( +
+ +
+ ); + }; + useEffect(() => { + register("offset", 0); + register("limit", 10); + register("sortBy", "commencementDate"); + register("searchType", "CONNECTION"); + register("sortOrder", "DESC"); + register("locality", ""); + register("tenantId", ""); + }, [register]); + + const onSort = useCallback((args) => { + if (args.length === 0) return; + setValue("sortBy", args.id); + setValue("sortOrder", args.desc ? "DESC" : "ASC"); + }, []); + + function onPageSizeChange(e) { + setValue("limit", Number(e.target.value)); + handleSubmit(onSubmit)(); + } + + function nextPage() { + setValue("offset", getValues("offset") + getValues("limit")); + handleSubmit(onSubmit)(); + } + function previousPage() { + setValue("offset", getValues("offset") - getValues("limit")); + handleSubmit(onSubmit)(); + } + const closeToast = () => { + setShowToast(null); + }; + const isMobile = window.Digit.Utils.browser.isMobile(); + const handleProceed = () => { + if (rejectedReading?.length > 0) { + setModalReject(true) + } + } + if (isMobile) { + return ; + } + //need to get from workflow + const GetCell = (value) => {value}; + const handleExcelDownload = (e, tabData) => { + e.preventDefault() + if (tabData?.[0] !== undefined) { + return Digit.Download.Excel(tabData, "Bulk-Bill"); + } + }; + const columns = useMemo( + () => [ + + { + Header: t("BILLING_CYCLE"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(row.original?.["billingPeriod"]); + }, + }, + { + Header: t("WS_COMMON_TABLE_COL_CONSUMER_NO_LABEL"), + disableSortBy: true, + accessor: "connectionNo", + Cell: ({ row }) => { + return ( +
+ {row.original["connectionNo"] ? ( + + {row.original["connectionNo"] || "NA"} + + + ) : ( + {t("NA")} + )} +
+ ); + }, + }, + { + Header: t("LAST_READING"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(row.original?.["lastReading"]); + }, + + }, + { + Header: t("METER_READING_DATE"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(convertEpochToDate(row.original?.["lastReadingDate"])); + }, + + }, + { + Header: t("METER_STATUS"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(row.original?.["meterStatus"]); + }, + + }, + { + Header: t("CURRECT_READING"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(row.original?.["currentReading"]); + }, + + }, + { + Header: t("CURRECT_READING_DATE"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(convertEpochToDate(row.original?.["currentReadingDate"])); + }, + + } + + ], + ); + const columns2 = useMemo( + () => [ + + { + Header: t("BILLING_CYCLE"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(row.original?.["billingPeriod"]); + }, + }, + { + Header: t("WS_COMMON_TABLE_COL_CONSUMER_NO_LABEL"), + disableSortBy: true, + accessor: "connectionNo", + Cell: ({ row }) => { + return ( +
+ {row.original["connectionNo"] ? ( + + {row.original["connectionNo"] || "NA"} + + + ) : ( + {t("NA")} + )} +
+ ); + }, + }, + { + Header: t("LAST_READING"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(row.original?.["lastReading"]); + }, + + }, + { + Header: t("METER_READING_DATE"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(convertEpochToDate(row.original?.["lastReadingDate"])); + }, + + }, + { + Header: t("METER_STATUS"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(row.original?.["meterStatus"]); + }, + + }, + { + Header: t("CURRECT_READING"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(row.original?.["currentReading"]); + }, + + }, + { + Header: t("CURRECT_READING_DATE"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(convertEpochToDate(row.original?.["currentReadingDate"])); + }, + + }, + { + Header: t("CURRECT_STATUS"), + disableSortBy: true, + Cell: ({ row }) => { + return GetCell(row.original?.["status"]); + }, + + } + + ], + ); + return ( + <> +
+ {t("WS_WATER_SEARCH_BULK_CONNECTION_SUB_HEADER")} +
+ + + + {isLoading ? : null} + {isLoadingBulkMeterReading && } + {data?.display && !resultOk ? ( + + {t(data?.display) + .split("\\n") + .map((text, index) => ( +

+ {text} +

+ ))} +
+ // <> + ) : resultOk ? ( +
+ +
+ + handleExcelDownload(e, data)} /> + +
+
+
+ selectfile(e)} + onDelete={(e) => { + setUploadedFile(null); + setMeterReadingData([]) + }} + /> +
+ {meterReadingData?.length > 0 ?
+ + + +
: ""} +
+
{ + return { + style: { + minWidth: cellInfo.column.Header === t("ES_INBOX_APPLICATION_NO") ? "240px" : "", + padding: "20px 18px", + fontSize: "16px", + }, + }; + }} + onSort={onSort} + disableSort={false} + sortParams={[{ id: getValues("sortBy"), desc: getValues("sortOrder") === "DESC" ? true : false }]} + /> + + + ) : null} + +
+ {showModal && } + headerBarEnd={} + actionCancelLabel={"Cancel"} + actionCancelOnSubmit={closeModal} + actionSaveLabel={"Proceed"} + actionSaveOnSubmit={setModal} + formId="modal-action" + popupStyles={{ width: "auto" }} + >
+ +
{t("WS_REASON_FOR_REJECT")}
+
{t("WS_SUCCESS_DATA_COUNT")} - {meterReadingData?.length}
+
{t("WS_REJECT_DATA_COUNT")} - {rejectedReading?.length}
+
{ + return { + style: { + minWidth: cellInfo.column.Header === t("ES_INBOX_APPLICATION_NO") ? "240px" : "", + padding: "20px 18px", + fontSize: "16px", + }, + }; + }} + onPageSizeChange={onPageSizeChange} + currentPage={getValues("offset") / getValues("limit")} + onNextPage={nextPage} + onPrevPage={previousPage} + pageSizeLimit={getValues("limit")} + onSort={onSort} + disableSort={true} + sortParams={[{ id: getValues("sortBy"), desc: getValues("sortOrder") === "DESC" ? true : false }]} + /> + + + + + } + {showModalResult && } + headerBarEnd={} + formId="modal-action" + popupStyles={{ width: "auto" }} + >
+ + +
{t("Bulk Meter Reading Status")}
+
+ + handleExcelDownload(e, bulkReadingStatus)} /> + +
+
{ + return { + style: { + minWidth: cellInfo.column.Header === t("ES_INBOX_APPLICATION_NO") ? "240px" : "", + padding: "20px 18px", + fontSize: "16px", + }, + }; + }} + onPageSizeChange={onPageSizeChange} + currentPage={getValues("offset") / getValues("limit")} + onNextPage={nextPage} + onPrevPage={previousPage} + pageSizeLimit={getValues("limit")} + onSort={onSort} + disableSort={true} + sortParams={[{ id: getValues("sortBy"), desc: getValues("sortOrder") === "DESC" ? true : false }]} + /> + + + + + } + + {showToast?.label && ( + { + setShowToast((x) => null); + }} + /> + )} + + ); +}; + +export default BulkBillSearch; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/BulkBillSearchFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/BulkBillSearchFields.js new file mode 100644 index 00000000000..3b288887b38 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/BulkBillSearchFields.js @@ -0,0 +1,69 @@ +import React, { Fragment, useState, useEffect } from "react"; +import { Controller, useWatch } from "react-hook-form"; +import { TextInput, SubmitBar, SearchField, Localities } from "@upyog/digit-ui-react-components"; + +const BulkBillSearchFields = ({ register, control, reset, tenantId, t, setValue }) => { + const [locality, setLocality] = useState(""); + const tenant = Digit.ULBService.getCurrentTenantId(); + + function selectLocality(value) { + console.log("register, control", register, tenant) + setValue('locality', value); + setValue('tenantId', tenant); + setLocality(value); + } + + return ( + <> + + + + + + + ( + + )} + /> + + + + + {/*

{ + reset({ + searchType: "CONNECTION", + mobileNumber: "", + offset: 0, + limit: 10, + sortBy: "commencementDate", + sortOrder: "DESC", + propertyId: "", + connectionNumber: "", + oldConnectionNumber: "", + locality:"" + }); + }} + > + {t("WS_SEARCH_CONNECTION_RESET_BUTTON")} +

*/} +
+ + ); +}; +export default BulkBillSearchFields; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/MobileSearchWater.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/MobileSearchWater.js index ab55ad768f3..7a7f70b05ec 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/MobileSearchWater.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/MobileSearchWater.js @@ -1,6 +1,6 @@ import React, { Fragment, useCallback, useMemo, useReducer } from "react"; import { Link } from "react-router-dom"; -import { CloseSvg, SearchForm, Table, Card, SearchAction, PopUp, DetailsCard, Loader, Toast } from "@egovernments/digit-ui-react-components"; +import { CloseSvg, SearchForm, Table, Card, SearchAction, PopUp, DetailsCard, Loader, Toast } from "@upyog/digit-ui-react-components"; import SearchFormFields from "./SearchFields"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/SearchFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/SearchFields.js index 0140db92b65..4d566cbb683 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/SearchFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/SearchFields.js @@ -1,6 +1,6 @@ import React, { Fragment } from "react"; import { Controller, useWatch } from "react-hook-form"; -import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader, MobileNumber } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader, MobileNumber } from "@upyog/digit-ui-react-components"; const SearchFields = ({ register, control, reset, tenantId, t }) => { const propsForMobileNumber = { @@ -65,4 +65,4 @@ const SearchFields = ({ register, control, reset, tenantId, t }) => { ); }; -export default SearchFields; +export default SearchFields; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/SearchFields2.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/SearchFields2.js index f3bc402ceb4..c2dc1d81eda 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/SearchFields2.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/SearchFields2.js @@ -1,6 +1,6 @@ import React, { Fragment } from "react"; import { Controller, useWatch } from "react-hook-form"; -import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader, MobileNumber } from "@egovernments/digit-ui-react-components"; +import { TextInput, SubmitBar, DatePicker, SearchField, Dropdown, Loader, MobileNumber } from "@upyog/digit-ui-react-components"; const SearchFields = ({ register, control, reset, tenantId, t }) => { const propsForMobileNumber = { @@ -11,19 +11,21 @@ const SearchFields = ({ register, control, reset, tenantId, t }) => { }; const propsForOldConnectionNumberNpropertyId = { - pattern: "[A-Za-z]{2}\-[A-Za-z]{2}\-[0-9]{4}\-[0-9]{4}\-[0-9]{2}\-[0-9]{2}\-[0-9]{6}|[A-Za-z]{2}\-[A-Za-z]{2}\-[0-9]{4}\-[0-9]{2}\-[0-9]{2}\-[0-9]{6}", + pattern: { + value: "", + }, title: t("ERR_DEFAULT_INPUT_FIELD_MSG"), }; - let validation = {} + return ( <> - + - +

{ reset({ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/index.js index c8ead0f7569..647422e5afe 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/SearchWaterConnection/index.js @@ -1,5 +1,5 @@ import React, { Fragment, useState,useEffect, useCallback, useMemo } from "react"; -import { SearchForm, Table, Card, Loader, Header,Toast } from "@egovernments/digit-ui-react-components"; +import { SearchForm, Table, Card, Loader, Header,Toast } from "@upyog/digit-ui-react-components"; import { useForm, Controller } from "react-hook-form"; import SearchFields from "./SearchFields"; import { useTranslation } from "react-i18next"; @@ -120,7 +120,7 @@ const SearchWaterConnection = ({ tenantId, onSubmit, data, count, resultOk, busi Header: t("WS_COMMON_TABLE_COL_OWN_NAME_LABEL"), disableSortBy: true, Cell: ({ row }) => { - return GetCell(row?.original?.connectionHolders?.map((owner) => owner?.name).join(",") ? row?.original?.connectionHolders?.map((owner) => owner?.name).join(",") : `${row.original?.["owner"] || "NA"}`); + return GetCell(row?.original?.connectionHolders?.map((owner) => owner?.name).join(",") ? row?.original?.connectionHolders?.map((owner) => owner?.name).join(",") : `${row.original?.["ownerNames"] || "NA"}`); }, }, { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/Timeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/Timeline.js index 9820a3ec16a..790d440587e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/Timeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/Timeline.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { TickMark } from "@egovernments/digit-ui-react-components"; +import { TickMark } from "@upyog/digit-ui-react-components"; let actions = []; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSCard.js index 97fc0271b57..4a740b2216a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSCard.js @@ -1,4 +1,4 @@ -import { EmployeeModuleCard, WSICon } from "@egovernments/digit-ui-react-components"; +import { EmployeeModuleCard, WSICon } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { checkForEmployee } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/FilterFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/FilterFormFieldsComponent.js index ba358f2c84d..cc28e687dda 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/FilterFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/FilterFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, { Fragment, useMemo } from "react"; -import { FilterFormField, Loader, RadioButtons, RemoveableTag, CheckBox, MultiSelectDropdown } from "@egovernments/digit-ui-react-components"; +import { FilterFormField, Loader, RadioButtons, RemoveableTag, CheckBox, MultiSelectDropdown } from "@upyog/digit-ui-react-components"; import { Controller, useWatch } from "react-hook-form"; import { useTranslation } from "react-i18next"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/SearchFormFieldsComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/SearchFormFieldsComponent.js index a6cf1164e98..70931852d7b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/SearchFormFieldsComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/SearchFormFieldsComponent.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { CardLabelError, SearchField, TextInput, MobileNumber } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, SearchField, TextInput, MobileNumber } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; const SearchFormFieldsComponents = ({ registerRef, searchFormState }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/index.js index 9da0e3c0546..dcd71f76fa6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/index.js @@ -1,5 +1,5 @@ import React, { Fragment, useCallback, useMemo, useReducer, useEffect } from "react"; -import { InboxComposer, ComplaintIcon, Header, DropIcon } from "@egovernments/digit-ui-react-components"; +import { InboxComposer, ComplaintIcon, Header, DropIcon } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import SearchFormFieldsComponents from "./SearchFormFieldsComponent"; import FilterFormFieldsComponent from "./FilterFormFieldsComponent"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/useInboxMobileCardsData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/useInboxMobileCardsData.js index 26980e1f613..d92789316ea 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/useInboxMobileCardsData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/components/WSInbox/useInboxMobileCardsData.js @@ -1,6 +1,6 @@ import React from "react"; import { useTranslation } from "react-i18next"; -import { SearchField, RadioButtons } from "@egovernments/digit-ui-react-components"; +import { SearchField, RadioButtons } from "@upyog/digit-ui-react-components"; import { Controller, useFormContext } from "react-hook-form"; import { Link } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationCommentsDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationCommentsDetails.js index 5a94c808b3e..c8e7b047884 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationCommentsDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationCommentsDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, LabelFieldPair, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, TextInput } from "@upyog/digit-ui-react-components"; import React, { useState, useEffect } from "react"; const WSActivationCommentsDetails = ({ t, config, userType, formData, onSelect }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationConnectionDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationConnectionDetails.js index 2e7d0ff0755..c4af63cd8b8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationConnectionDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationConnectionDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, Dropdown, LabelFieldPair, Loader, TextInput, CardLabelError } from "@egovernments/digit-ui-react-components"; +import { CardLabel, Dropdown, LabelFieldPair, Loader, TextInput, CardLabelError } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { stringReplaceAll, getPattern } from "../utils"; import cloneDeep from "lodash/cloneDeep"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationDetails.js index f69d6a5cfc2..3a221e9e855 100755 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, DatePicker, LabelFieldPair, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, DatePicker, LabelFieldPair, TextInput } from "@upyog/digit-ui-react-components"; import React from "react"; const WSActivationDetails = ({ t, config, userType, formData, onSelect }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationPageDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationPageDetails.js index bdfa33b75f9..9fc86efaaaa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationPageDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationPageDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, LabelFieldPair, TextInput, CardLabelError, DatePicker } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, TextInput, CardLabelError, DatePicker } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { getPattern } from "../utils"; import * as func from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationPlumberDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationPlumberDetails.js index ca403e707e0..d928fcc3199 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationPlumberDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationPlumberDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, Dropdown, LabelFieldPair, TextInput, CardLabelError,WrapUnMaskComponent } from "@egovernments/digit-ui-react-components"; +import { CardLabel, Dropdown, LabelFieldPair, TextInput, CardLabelError,WrapUnMaskComponent } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import * as func from "../utils"; import { useForm, Controller } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationSupportingDocuments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationSupportingDocuments.js index 750ea0ecbfd..0ff123a7294 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationSupportingDocuments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSActivationSupportingDocuments.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { CardLabel, LabelFieldPair, Dropdown, UploadFile, Toast, Loader } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LabelFieldPair, Dropdown, UploadFile, Toast, Loader } from "@upyog/digit-ui-react-components"; import { useLocation } from "react-router-dom"; const WSActivationSupportingDocuments = ({ t, config, userType, formData, onSelect }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSConnectionDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSConnectionDetails.js index 6180ec792f2..e3ed7b93995 100755 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSConnectionDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSConnectionDetails.js @@ -1,4 +1,4 @@ -import { CardLabel, Dropdown, LabelFieldPair, Loader, TextInput, CardLabelError, CheckBox } from "@egovernments/digit-ui-react-components"; +import { CardLabel, Dropdown, LabelFieldPair, Loader, TextInput, CardLabelError, CheckBox } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { getPattern } from "../utils"; import { useForm, Controller } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSConnectionHolder.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSConnectionHolder.js index 8882ededc89..bbc53afb62c 100755 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSConnectionHolder.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSConnectionHolder.js @@ -1,4 +1,5 @@ -import { CardLabel, CheckBox, Dropdown, FormStep, Loader, MobileNumber, RadioButtons, TextInput, UploadFile } from "@egovernments/digit-ui-react-components"; + +import { CardLabel, CheckBox, Dropdown, FormStep, Loader, MobileNumber, RadioButtons, TextInput, UploadFile } from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import Timeline from "../components/Timeline"; import { stringReplaceAll } from "../utils"; @@ -19,7 +20,7 @@ const WSConnectionHolder = ({ t, config, onSelect, userType, formData, ownerInde const [dropdownValue, setDropdownValue] = useState(formData?.ConnectionHolderDetails?.documentType || ""); const [ownerType, setOwnerType] = useState( formData?.ConnectionHolderDetails?.specialCategoryType || {}); let isMobile = window.Digit.Utils.browser.isMobile(); - + const [emailId, setEmail] = useState(formData?.ConnectionHolderDetails?.emailId || formData?.formData?.ConnectionHolderDetails?.emailId || ""); const tenantId = Digit.ULBService.getCurrentTenantId(); const stateId = Digit.ULBService.getStateId(); let dropdownData = []; @@ -108,10 +109,14 @@ const WSConnectionHolder = ({ t, config, onSelect, userType, formData, ownerInde function setTypeOfOwner(value) { setOwnerType(value); } + function setOwnerEmail(e) { + setEmail(e.target.value); + } function selectfile(e) { setFile(e.target.files[0]); } - + +const reversedOwners= Array.isArray(formData?.cpt?.details?.owners) ? formData?.cpt?.details?.owners.slice().reverse():[]; const goNext = () => { @@ -120,12 +125,13 @@ const WSConnectionHolder = ({ t, config, onSelect, userType, formData, ownerInde //need to add property data here from previous screen let ConnectionDet = { isOwnerSame:isOwnerSame, - name: formData?.cpt?.details?.owners?.[0]?.name, - mobileNumber: formData?.cpt?.details?.owners?.[0]?.mobileNumber, - gender: formData?.cpt?.details?.owners?.[0]?.gender ? {code:formData?.cpt?.details?.owners?.[0]?.gender, i18nKey:`COMMON_GENDER_${formData?.cpt?.details?.owners?.[0]?.gender}`} : null, - guardian: formData?.cpt?.details?.owners?.[0]?.fatherOrHusbandName, - address: formData?.cpt?.details?.owners?.[0]?.permanentAddress, - relationship:formData?.cpt?.details?.owners?.[0]?.relationship ? {code : formData?.cpt?.details?.owners?.[0]?.relationship, i18nKey:`COMMON_MASTERS_OWNERTYPE_${formData?.cpt?.details?.owners?.[0]?.relationship}`} : null, + name: reversedOwners?.[0]?.name, + mobileNumber: reversedOwners?.[0]?.mobileNumber, + gender: reversedOwners?.[0]?.gender ? {code:reversedOwners?.[0]?.gender, i18nKey:`COMMON_GENDER_${reversedOwners?.[0]?.gender}`} : null, + guardian: reversedOwners?.[0]?.fatherOrHusbandName, + address: reversedOwners?.[0]?.permanentAddress, + emailId: reversedOwners?.[0]?.emailId, + relationship:reversedOwners?.[0]?.relationship ? {code : reversedOwners?.[0]?.relationship, i18nKey:`COMMON_MASTERS_OWNERTYPE_${reversedOwners?.[0]?.relationship}`} : null, specialCategoryType:ownerType, documentId:documentId, fileStoreId:uploadedFile, @@ -135,7 +141,7 @@ const WSConnectionHolder = ({ t, config, onSelect, userType, formData, ownerInde } else { - let ConnectionDet = { isOwnerSame:isOwnerSame, name: name, mobileNumber: mobileNumber, gender: gender, guardian: guardian, address: address, relationship:relationship,specialCategoryType:ownerType, documentId:documentId, fileStoreId:uploadedFile, documentType:dropdownValue } + let ConnectionDet = { isOwnerSame:isOwnerSame, name: name, mobileNumber: mobileNumber, gender: gender, guardian: guardian, address: address, relationship:relationship,specialCategoryType:ownerType, emailId:emailId, documentId:documentId, fileStoreId:uploadedFile, documentType:dropdownValue } onSelect(config.key, ConnectionDet); } }; @@ -261,6 +267,20 @@ const WSConnectionHolder = ({ t, config, onSelect, userType, formData, ownerInde optionKey="i18nKey" t={t} /> + {`${t("WS_EMAIL_ID")}`} + {/* {ownerType && Object.entries(ownerType).length>0 && ownerType?.code !== "NONE" &&

{`${t("WS_DOCUMENT_ID_LABEL")}`} ({ documentId: "", documentType: "", file: "", + emailId:"" }); const WSConnectionHolderDetails = ({ config, onSelect, userType, formData, setError, formState, clearErrors }) => { @@ -221,7 +222,8 @@ const ConnectionDetails = (_props) => { const [ownerType, setOwnerType] = useState(connectionHolderDetail?.ownerType); const [sameAsOwnerDetails, setSameAsOwnerDetails] = useState(connectionHolderDetail?.sameAsOwnerDetails); const [uuid, setuuid] = useState(connectionHolderDetail?.uuid); - const formValue = { name, gender, mobileNumber, guardian, relationship, ownerType, sameAsOwnerDetails, address, uuid }; + const [emailId, setEmailId] = useState(connectionHolderDetail?.emailId); + const formValue = { name, gender, mobileNumber, guardian, relationship, ownerType, sameAsOwnerDetails, address, uuid, emailId }; const { errors } = localFormState; const isMobile = window.Digit.Utils.browser.isMobile(); const isEmployee = window.location.href.includes("/employee") @@ -821,6 +823,72 @@ const ConnectionDetails = (_props) => {
{localFormState.touched.ownerType ? errors?.ownerType?.message : ""} + + {`${t("WS_EMAIL_ID")}`} +
+ ((e && getPattern("Email").test(e)) || !e ? true : t("ERR_DEFAULT_INPUT_FIELD_MSG")), + }} + isMandatory={false} + render={(props) => ( +
+ { + setEmailId(e.target.value); + props.onChange(e.target.value); + setFocusIndex({ index: connectionHolderDetail?.key, type: "emailId" }); + }} + labelStyle={{ marginTop: "unset" }} + onBlur={props.onBlur} + style={ + checkifPrivacyValid() && !getValues("emailId")?.includes("*") + ? !Digit.Utils.checkPrivacy(privacyData, { uuid: connectionHolderDetail?.uuid, fieldName: "name", model: "User" }) && + !Digit.Utils.checkPrivacy(privacyData, { uuid: connectionHolderDetail?.uuid, fieldName: "mobileNumber", model: "User" }) + ? ((isMobile && isEmployee) ? {} :{ width: "96%" }) + : ((isMobile && isEmployee) ? {} :{ width: "96%" }) + : {} + } + /> + {checkifPrivacyValid() && ( +
+ { + setEmailId(e); + props.onChange(e); + }} + iseyevisible={getValues("emailId")?.includes("*") ? true : false} + privacy={{ + uuid: connectionHolderDetail?.uuid, + fieldName: "emailId", + model: "WnSConnectionOwner", + loadData: { + serviceName: formData?.ConnectionDetails?.[0]?.water ? "/ws-services/wc/_search" : "/sw-services/swc/_search", + requestBody: {}, + requestParam: { + tenantId: formData?.cpt?.details?.tenantId, + applicationNumber: formData?.ConnectionDetails?.[0]?.applicationNo, + }, + jsonPath: formData?.ConnectionDetails?.[0]?.water + ? "WaterConnection[0].connectionHolders[0].emailId" + : "SewerageConnections[0].connectionHolders[0].emailId", + isArray: false, + }, + }} + > +
+ )} +
+ )} + /> +
+
) : null} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectAcknowledgement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectAcknowledgement.js index 1bc03e306c5..4d16c7fcb49 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectAcknowledgement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectAcknowledgement.js @@ -1,5 +1,5 @@ import React, { useEffect } from "react"; -import { Banner, Card, CardSectionHeader, CardText, LinkButton, SubmitBar, successSvg } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, CardSectionHeader, CardText, LinkButton, SubmitBar, successSvg } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; import { pdfDocumentName, pdfDownloadLink } from "../utils"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionAppDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionAppDetails.js index 21bfa943bd0..e9e4a2bd85b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionAppDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionAppDetails.js @@ -7,7 +7,7 @@ import { RadioButtons, TextArea, TextInput -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { stringReplaceAll } from "../utils"; import { useForm, Controller } from "react-hook-form"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionDocsRequired.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionDocsRequired.js index a0686fd2b1d..feca3a77dcb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionDocsRequired.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionDocsRequired.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { Card, CardHeader, SubmitBar, CitizenInfoLabel, CardText, Loader, CardSubHeader, BackButton, BreadCrumb, Header, CardLabel, CardSectionHeader, CardCaption, ActionBar } from "@egovernments/digit-ui-react-components"; +import { Card, CardHeader, SubmitBar, CitizenInfoLabel, CardText, Loader, CardSubHeader, BackButton, BreadCrumb, Header, CardLabel, CardSectionHeader, CardCaption, ActionBar } from "@upyog/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory, useRouteMatch } from "react-router-dom"; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionDocumentsForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionDocumentsForm.js index 7052a125d13..5ed6ffd4f6a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionDocumentsForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionDocumentsForm.js @@ -10,7 +10,7 @@ import { FormStep, CardHeader, SubmitBar -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import { useHistory, useRouteMatch } from "react-router-dom"; function WSDisconnectionDocumentsForm({ t, config, onSelect, userType, formData }) { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionForm.js index 94d0cb5d05b..efde3db9ab9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/ws/src/pageComponents/WSDisconnectionForm.js @@ -20,7 +20,7 @@ import { ActionBar, Dropdown, InfoIcon -} from "@egovernments/digit-ui-react-components"; +} from "@upyog/digit-ui-react-components"; import React, { useEffect, useState } from "react"; import { useHistory, useRouteMatch } from "react-router-dom"; import DisconnectTimeline from "../components/DisconnectTimeline"; @@ -47,10 +47,12 @@ const WSDisconnectionForm = ({ t, config, onSelect, userType }) => { const [documents, setDocuments] = useState(applicationData.WSDisconnectionForm ? applicationData.WSDisconnectionForm.documents : []); const [error, setError] = useState(null); const [disconnectionTypeList, setDisconnectionTypeList] = useState([]); + const [disconnectionReasonList, setDisconnectionReasonList]=useState([]); const [checkRequiredFields, setCheckRequiredFields] = useState(false); const [isEnableLoader, setIsEnableLoader] = useState(false); const { isMdmsLoading, data: mdmsData } = Digit.Hooks.ws.useMDMS(stateCode, "ws-services-masters", ["disconnectionType"]); + const {loading, data: disconnectionReason} = Digit.Hooks.ws.useMDMS(stateCode,"ws-services-masters", ["DisconnectionReason"]); const { isLoading: wsDocsLoading, data: wsDocs } = Digit.Hooks.ws.WSSearchMdmsTypes.useWSServicesMasters(stateCode, "DisconnectionDocuments"); const {isLoading: slaLoading, data: slaData } = Digit.Hooks.ws.useDisconnectionWorkflow({tenantId}); const isReSubmit = window.location.href.includes("resubmit"); @@ -103,6 +105,11 @@ const WSDisconnectionForm = ({ t, config, onSelect, userType }) => { setDisconnectionTypeList(disconnectionTypes); }, [mdmsData]); + useEffect(() => { + const disconnectionReasons = disconnectionReason?.["ws-services-masters"]?.DisconnectionReason || []; + disconnectionReasons?.forEach(data => data.i18nKey = `WS_DISCONNECTIONTYPE_${stringReplaceAll(data?.code?.toUpperCase(), " ", "_")}`); + setDisconnectionReasonList(disconnectionReasons); + }, [disconnectionReason]); useEffect(() => { Digit.SessionStorage.set("WS_DISCONNECTION", {...applicationData, WSDisconnectionForm: disconnectionData}); @@ -208,7 +215,7 @@ const WSDisconnectionForm = ({ t, config, onSelect, userType }) => { } ; - if (isMdmsLoading || wsDocsLoading || isEnableLoader || slaLoading) return + if (isMdmsLoading || wsDocsLoading || isEnableLoader || slaLoading || loading) return if(userType === 'citizen') { @@ -288,13 +295,16 @@ if(userType === 'citizen') { :""} {t("WS_DISCONNECTION_REASON")+ "*"} -