{"version":3,"sources":["components/Breadcrumb/bredcrumb.js","assets/images/Download_Normal.png","assets/images/AboveRequiredTarget_Status.png","assets/images/AboveMinimalTarget_Status.png","assets/images/BelowMinimalTarget_Status.png","assets/images/Contractual_SLAs.png","constants/urls.js","components/Legend_CSV/legend.js","assets/images/green_status.png","assets/images/red_status.png","components/Box/box.js","components/TableBox/tableBox.js","components/ReportsTable/reportsTable.js","components/ScrollableTabs/tab.js","components/ReportsTable/dataFormatter.js","constants/actionTypes.js","actions/tabMenu.action.js","constants/regional-site-actionTypes.js","actions/regionalSite.action.js","components/TabMenu/tabmenu.js","components/Insights/insights.js","components/Container/container.js","components/RegionalSiteLanding/buttonList.js","actions/user.action.js","components/RegionalSiteLanding/regionalSiteLanding.js","assets/images/ViewDetails_Icon.png","components/RegionalSiteLanding/GlobalAccounts/global-accounts.js","components/RegionalSiteLanding/Client-Cards/clientCards.js","assets/images/SiteLevelReport_Icon.png","components/RegionalSiteLanding/Accordion-panels/accordion.js","assets/images/downward_arrow.png","assets/images/upward_arrow.png","components/custom-select/custom-select.js","components/RegionalSiteLanding/Regional-Card-Widget/regional-card-widget.js","constants/ScoreCard&TeamKPI-actionTypes.js","actions/ScoreCard&TeamKPI.action.js","components/Agent-ScoreCard/AgentCardinReports.js","components/TeamLeaderView/TeamKPISummary.js","components/RegionalSiteLanding/regionalSite.js","assets/images/FinaceReport_Icon.png","assets/images/ExecutiveDashboard_Icon.png","components/RegionalSiteLanding/Account-Details/account-details.js","components/RegionalSiteLanding/Account-Global/account-global.js","constants/regional-site-url.js","components/RegionalSiteLanding/GlobalSummary/global-summary.js","components/RegionalSiteLanding/RegionalSummary/regional-summary.js","components/ReportTables/ClearFilters/ClearFilter.js","components/Finance/FinanceTable/FinanceTable.js","assets/images/TotalCalls_Icon.png","components/Finance/FinanceInfo/Financeinfo.js","assets/images/Duration_Icon.png","assets/images/Cost_Icon.png","actions/finance.action.js","actions/reports.action.js","assets/images/Filter_Icon.png","assets/images/Download.png","assets/images/Reset_Icon.png","components/ReportTables/ReportFilters/Button.js","components/ReportTables/ReportFilters/Dropdown.js","constants/reportURL.js","components/ReportTables/ReportFilters/ReportFilters.js","components/Finance/FinanceHandler/FinanceHandler.js","assets/images/CustomWidgets_Icon.png","constants/welcomePage-actionTypes.js","actions/welcomePage.action.js","assets/images/UserGuides_Icon.png","assets/images/TrainingVideos_Icon.png","assets/images/EmailToReportingTeam_Icon.png","assets/images/MSChat_Icon.png","assets/images/ITSMPortal.png","constants/Onboard-actionTypes.js","actions/Onboard.action.js","constants/Administration/admin-action-types.js","actions/Administration/admin.action.js","components/LandingPage/Welcome-LandingPage/RecentLinks.js","components/LandingPage/Welcome-LandingPage/AccountDropdown.js","components/LandingPage/Welcome-LandingPage/WelcomePage.js","assets/images/GSDInsight_Logo.png","components/LandingPage/RoleSelection/Roleselectionpage.js","assets/images/AgentPhoto.png","components/LandingPage/Welcome-LandingPage/Home-Breadcrumb.js","components/LandingPage/ProfilePage/ProfileDetails.js","assets/onboard-images/Roles_Normal_Icon.png","assets/onboard-images/Roles_Hover_and_Selected_Icon.png","assets/onboard-images/Voice_Normal_Icon.png","assets/onboard-images/Voice_Hover_and_Selected_Icon.png","assets/onboard-images/NonVoice_Normal_Icon.png","assets/onboard-images/NonVoice_Hover_and_Selected_Icon.png","assets/onboard-images/Preview_Normal_Icon.png","assets/onboard-images/Preview_Hover_and_Selected_Icon.png","assets/admin-images/GeneralInfo_Normal.png","assets/admin-images/GeneralInfo_Selected.png","assets/onboard-images/Hints_Icon.png","components/Onboard/OnboardComponents/OffCanvas/AccordianHints.js","components/Onboard/OnboardComponents/OffCanvas/OffCanvas.js","components/Onboard/OnboardComponents/Accordion/Accordion.js","assets/onboard-images/Search_Icon.png","assets/onboard-images/Add_Queue_Icon.png","assets/onboard-images/Edit_Icon.png","assets/onboard-images/Delete_Icon.png","assets/images/Activate_Disabled_Icon.png","assets/images/Activate_Icon.png","components/Onboard/OnboardComponents/Modals/ModalQueuePopup.js","components/Onboard/OnboardComponents/TooltipHandler.js","assets/onboard-images/Information_Icon.png","assets/onboard-images/Contractual_SLA_Icon.png","components/Onboard/OnboardComponents/Dropdown/Select.js","components/Onboard/OnboardComponents/KeyboardDatePicker.js","components/Onboard/OnboardComponents/QueueTable/AddQueueModal.js","assets/onboard-images/Success_Icon.png","components/Onboard/OnboardComponents/Modals/DeleteModalPopup.js","components/Onboard/OnboardComponents/QueueTable/QueueComponent.js","assets/onboard-images/Add_SLA_KPI_Icon.png","assets/onboard-images/ViewDetailsLink_Arrow_Hover_Icon.png","components/Onboard/OnboardComponents/SLAComponents/AddAccountModal.js","components/Onboard/OnboardComponents/Dropdown/RequestDropdown.js","components/Onboard/OnboardComponents/SLAComponents/TemplateAddModal.js","components/Onboard/OnboardComponents/SLAComponents/SLAComponent.js","components/Onboard/OnboardComponents/SupportHoursComponent/AddSupportModal.js","components/Onboard/OnboardComponents/SupportHoursComponent/SupportHoursMain.js","assets/images/Add_SupportHours_Icon.png","components/Onboard/VoiceOnboard/VoiceHandler.js","assets/images/Add_User_Icon.png","components/Onboard/OnboardComponents/Dropdown/TimeOutSelect.js","components/Onboard/OnboardComponents/RolesComponent/AddRoleModel.js","components/Onboard/OnboardComponents/OffCanvas/HintsRoles.js","components/Onboard/OnboardComponents/RolesComponent/Rolescomponent.js","assets/images/Information_Icon.png","assets/onboard-images/dataSaveClose_icon.png","components/Onboard/GeneralInfo/GeneralInfo.js","assets/onboard-images/NonVoice_Items_Disabled_TickMark.png","assets/onboard-images/Back_Arrow.png","assets/onboard-images/NonVoice_Items_Active_TickMark.png","assets/onboard-images/CloseWindow_Hover_State.png","assets/onboard-images/Complete_Yes_Icon.png","components/Onboard/NonVoice/GeneralTab/General.js","components/Onboard/NonVoice/NonVoiceHandler.js","assets/images/Delete_Icon.png","components/Onboard/OnboardComponents/Preview/toggle.js","components/Onboard/OnboardComponents/Preview/PreviewCard.js","components/Onboard/OnboardComponents/Preview/Preview.js","components/Administration/General/Admin-breadcrumb.js","assets/onboard-images/dataSave_icon.png","components/Onboard/OnboardComponents/Modals/OnboardButtonsPopup.js","components/Onboard/Navigation/Navigationbar.js","assets/images/CloseWindow_Normal.png","assets/images/Calls_Contact_Volume_By_Channels_5.png","components/ExecutiveDashBoard/chart-config.js","components/ExecutiveDashBoard/AreaCards/area-card.js","components/ExecutiveDashBoard/BarChart/bar-chart.js","components/ExecutiveDashBoard/CallType/call-type.js","assets/images/Accounts_Icon.png","assets/images/Abandoned_Icon.png","assets/images/Agents_Icon.png","assets/images/Languages_Icon.png","assets/images/AHT_Icon.png","components/ExecutiveDashBoard/DoughnutCards/doughnut-cards.js","components/Generic/modal-popup.js","components/ExecutiveDashBoard/Analytics/analytics.js","components/ExecutiveDashBoard/Filters/eDashboardfilter.js","components/ExecutiveDashBoard/StackedBar-LineChart/stacked_bar_line.js","components/ExecutiveDashBoard/HorizontalBarCharts/horizontal-bar-chart.js","components/ExecutiveDashBoard/PieChart/pie-chart.js","constants/eDashboard-actionTypes.js","components/ExecutiveDashBoard/executive-dashboard.js","assets/images/Calls_Contact_Volume_By_Channels_11.png","assets/images/Calls_Contact_Volume_By_Channels_4.png","assets/images/Calls_Contact_Volume_By_Channels_13.png","assets/images/Calls_Contact_Volume_By_Channels_12.png","assets/images/Calls_Contact_Volume_By_Channels_6.png","assets/images/Calls_Contact_Volume_By_Channels_8.png","actions/eDashboard.action.js","assets/images/Calls_Contact_Volume_By_Channels.png","assets/images/Calls_Contact_Volume_By_Channels_3.png","assets/images/Calls_Contact_Volume_By_Channels_14.png","assets/images/Calls_Contact_Volume_By_Channels_10.png","assets/images/Calls_Contact_Volume_By_Channels_9.png","assets/images/Calls_Contact_Volume_By_Channels_7.png","components/ReportTables/ReportFilters/ReportTable.js","assets/images/top_10_movers_image.png","assets/images/top_10_shakers_image.png","components/ReportTables/ReportHandler/KPIReportHandler.js","assets/images/HeroBanner_WithContent.png","components/LandingPage/CustomWidget/widget.js","components/LandingPage/CustomWidget/WidgetModal.js","assets/images/Search_Icon.png","assets/images/Close_Window_Icon.png","assets/images/Edit_Icon.png","components/LandingPage/Welcome-LandingPage/WidgetModalPopup.js","components/LandingPage/Welcome-LandingPage/AccountSelect.js","components/LandingPage/CustomWidget/LandingPage.js","components/Administration/Staff-Administration/Employee-Assignment/AssignModel.js","constants/Administration/staffAdmin-actionTypes.js","actions/Administration/staffAdmin.action.js","assets/images/Active_Indication_Icon.png","components/Administration/Staff-Administration/Employee-Assignment/AvailableEmployees.js","assets/images/Inactive_Indication_Icon.png","assets/onboard-images/Eye_ViewDetails_Icon.png","components/Administration/Staff-Administration/Employee-Assignment/MappedEmployees.js","components/Administration/Staff-Administration/Employee-Assignment/EmployeeAssign.js","components/LandingPage/Releases/AddReleaseUpdate.js","components/LandingPage/Releases/ProductionPlanned.js","components/LandingPage/Releases/ReleaseHandler.js","assets/admin-images/Account_Assignment_HoverStateIcon.png","assets/admin-images/Account_Assignment_NormalStateIcon.png","assets/admin-images/AWSQueueLanguage_Assignment_HoverStateIcon.png","assets/admin-images/AWSQueueLanguage_Assignment_NormalStateIcon.png","assets/admin-images/ID_Assignment_HoverStateIcon.png","assets/admin-images/ID_Assignment_NormalStateIcon.png","assets/admin-images/Preview_HoverStateIcon.png","assets/admin-images/Preview_NormalStateIcon.png","assets/admin-images/SLA_KPI_AssignmentWeighting_HoverStateIcon.png","assets/admin-images/SLA_KPI_AssignmentWeighting_NormalStateIcon.png","assets/admin-images/Volumetric_Normal_Icon.png","assets/admin-images/Volumetric_Selected_Icon.png","components/Administration/Staff-Administration/EmployeeDetails/RequestNewRoleModel.js","components/Administration/Staff-Administration/EmployeeDetails/Newemployee.js","assets/images/AddAccount_Icon.png","assets/images/Add_Queue_Icon.png","assets/images/Add_SLA_KPI_Icon.png","assets/images/AddID_Icon.png","assets/admin-images/Inactive_Indication_Icon.png","assets/admin-images/Add_Volumetric_Icon.png","constants/Administration/adminView-actionTypes.js","actions/Administration/adminView.action.js","components/Administration/AdminFirstPage/Users/UserModels.js","components/Administration/Staff-Administration/Tab-components/QueueAssignmentModal.js","components/Administration/Staff-Administration/Tab-components/SLAAssignmentModel.js","components/Administration/Staff-Administration/Tab-components/ModelPopUps.js","components/Administration/Staff-Administration/Tab-components/EmployeeTabHandler.js","components/Administration/Staff-Administration/Tab-components/PreviewTab.js","components/Administration/Staff-Administration/EmployeeDetails/EmployeeDetails.js","assets/images/HeroBanner_Image.png","assets/images/RoleSpecificAccess_Image.png","assets/images/HelpCenter_Image.png","assets/images/DXC_Logo_Footer_Normal.png","components/LandingPage/FirstTimeVisitor/FirstVisitor.js","assets/images/Logout_Icon.png","components/LandingPage/FirstTimeVisitor/UserLandingPage.js","assets/images/Download_Icon.png","components/Administration/SLA-Administration/FilterTab.js","assets/admin-images/SLADataExclusion_Icon.png","assets/admin-images/AddComments_Icon.png","assets/admin-images/Expand_DownArrow.png","assets/admin-images/Collapse_UpArrow.png","components/Administration/General/SLA-modal.js","components/Administration/SLA-Administration/ModalHandler.js","constants/Administration/SLAFailure-actionTypes.js","actions/Administration/SLAFailure.action.js","components/Administration/SLA-Administration/SLA-Exemption/SLA-Exemption-Table.js","components/Administration/SLA-Administration/SLA-Exemption/SLAExemptionHandler.js","assets/images/SLAFailureExemption_Icon.png","components/Administration/Administration_firstpage.js/ActivationModel.js","assets/images/Clock_Normal.png","assets/admin-images/Add_Dates.png","assets/admin-images/Remove_Dates.png","components/Administration/SLA-Administration/SLA-Exclusion/ExclusionModalHandler.js","components/Administration/SLA-Administration/SLA-Exclusion/SLA-Exclusion-Table.js","components/Administration/SLA-Administration/SLA-Exclusion/SLAExclusionHandler.js","assets/images/PerformanceScoreCup.png","assets/images/AccountAssignmentIcon.png","components/Agent-ScoreCard/AccountsOffcanvas.js","components/Agent-ScoreCard/AgentScoreCard.js","components/Onboard/OnboardComponents/onboardLanding/OnboardLanding.js","assets/onboard-images/RequestForReopen_Icon.png","assets/onboard-images/RequestForDisbaled_Icon.png","components/Requests/RequestModals.js","assets/onboard-images/Expand_DownArrow.png","assets/onboard-images/Collapse_UpArrow.png","components/Requests/RequestTableHandle.js","constants/request-actionTypes.js","actions/request.action.js","components/Requests/RequestIncidentMain.js","assets/images/WhyGSDInsight_HeroBanner.png","assets/images/CentralisedData_Image.png","assets/images/Availability_Image.png","assets/images/Customisation_Image.png","assets/images/EasytoAccess_Image.png","assets/images/Presentation_Image.png","assets/images/TopDownBottomUp_Image.png","assets/images/Menu_DownArrow.png","assets/images/Menu_UpArrow.png","assets/github-images/Incidents_Image.png","assets/github-images/WindowClose_Icon.png","assets/github-images/Email_HeroImage.png","components/GitHub/GitHub_LandingPage/Models.js","components/GitHub/HeaderFooter.js","components/GitHub/WhyGsd.js","assets/images/AgentScorecard_Icon.png","assets/images/SupervisorDashboard_Icon.png","assets/images/SiteLevel_Icon.png","assets/images/GlobalKPI_Icon.png","assets/images/TrendAnalysis_Icon.png","assets/images/RoleBasedAccess_Icon.png","assets/images/PreviousArrow_Disabled_Icon.png","assets/images/PreviousArrow_Icon.png","assets/images/NextArrow_Icon.png","assets/images/NextArrow_Disabled_Icon.png","assets/images/HeroBanner.png","assets/images/Achievements_Image.png","assets/images/OnboardSteps_Image.png","assets/images/WhatisGSDInsight_Image.png","assets/images/Vertical_Strip_Icon.png","constants/github-actionTypes.js","reducers/github.reducer.js","actions/github.action.js","components/GitHub/GitHub_LandingPage/PlatformVideo.js","components/GitHub/GitHub_LandingPage/GitHubPage.js","assets/images/Platform_VideoLink_Image.png","assets/images/Onboard_Icon.png","assets/images/Account_Icon.png","assets/images/User_Icon.png","assets/images/VoiceData_Icon.png","assets/images/NonVoiceData_Icon.png","assets/images/Dotted_ContextMenu_Icon.png","assets/images/FileUpload_Icon.png","assets/images/UploadAdministration_Icon.png","constants/uploads-actionTypes.js","actions/uploads.action.js","components/Uploads/Data-Administration/ItemSelectionModel.js","components/Uploads/Upload-Navigation/UploadAccountList.js","components/Uploads/Upload-Navigation/PreviewUpload.js","components/Uploads/File-Upload/UploadModal.js","components/Uploads/File-Upload/FileUploadhandler.js","components/Uploads/File-Upload/FormInput.js","components/Uploads/File-Upload/FormFieldHandler.js","components/Uploads/Upload-Navigation/UploadAccordion.js","components/Uploads/Upload-Navigation/VoiceUpload.js","components/Uploads/Upload-Navigation/NonVoiceUpload.js","components/Uploads/Upload-Navigation/UploadNavigation.js","assets/images/Contractual_SLA_Icon.png","components/Uploads/Data-Administration/AddFormModal.js","components/Uploads/Data-Administration/FormField.js","components/Uploads/Data-Administration/UploadDataAdmin.js","components/Uploads/Data-Administration/DataAdministration.js","components/DTM-Analytics/Bar-charts.js","components/DTM-Analytics/DTM-ModalPopup.js","components/DTM-Analytics/DTM-Analytics-NonSLA.js","components/DTM-Analytics/DTM-Analytics-SLA.js","components/Administration/Administration_firstpage.js/AdminLanding.js","assets/images/StaffAdministration_Icon.png","components/DTM-Analytics/trails.js","assets/images/GetStarted_HeroBanner_Image.png","assets/images/VerticalLine_Headings.png","components/GitHub/GetStarted.js","assets/images/Architecture_HeroBanner.png","assets/images/Conceptual_Architecture_Flow_Thumnail_Image.png","assets/images/Functional_Architecture_Flow_Thumnail_Image.png","assets/images/Technical_Architecture_Flow_Thumnail_Image.png","assets/images/AdminRole_InformationArchitecture_Thumbnail.png","assets/images/SiteLeaderRole_InformationArchitecture_Thumbnail.png","assets/images/ServicetDeliveryManagerRole_InformationArchitecture_Thumbnaile.png","assets/images/ServiceDeliverySpecialistRole_InformationArchitecture_Thumbnail.png","assets/images/Functional_Architecture.png","assets/images/Technical_Architecture.png","assets/images/Conceptual_Architecture.png","assets/github-images/Account_Delivery_Role.svg","assets/github-images/Administrator_Role.svg","assets/github-images/Agent_Role.svg","assets/github-images/Coach_Trainer_Role.svg","assets/github-images/Executive_Role.svg","assets/github-images/Operations_Delivery_Manager_Role.svg","assets/github-images/Operations_Manager_Role.svg","assets/github-images/Service_Delivery_Manager_Role.svg","assets/github-images/Serviced_Delivery_Specialist_Role.svg","assets/github-images/Site_Leader_Role.svg","assets/github-images/Site_Viewer_Role.svg","assets/github-images/Subject_Matter_Expert_Role.svg","assets/github-images/Team_Leader_Role.svg","components/GitHub/Solutions/Architecture.js","assets/images/Conceptual_Architecture_Icon.png","assets/images/Functional_Architecture_Icon.png","assets/images/Technical_Architecture_Icon.png","assets/images/ExecutiveRole_InformationArchitecture_Thumbnail.png","assets/images/AccountDeliveryRole_InformationArchitecture_Thumbnail.png","assets/images/OperationsDeliveryManagerRole_InformationArchitecture_Thumbnail.png","assets/images/OperationsManagerRole_InformationArchitecture_Thumbnail.png","assets/images/TeamLeaderRole_InformationArchitecture_Thumbnail.png","assets/images/SubjectMatterExpertRole_InformationArchitecture_Thumbnail.png","assets/images/CoachTrainerRole_InformationArchitecture_Thumbnail.png","assets/images/AgentRole_InformationArchitecture_Thumbnail.png","assets/images/SiteViewerRole_InformationArchitecture_Thumbnail.png","assets/images/Information_Architecture_Icon.png","assets/images/ProductRequirement_HeroBanner.png","assets/images/UserExperienceEnsurance_Image.png","components/GitHub/Solutions/ProductRequirements.js","assets/images/CloseWindow_Icon.png","components/GitHub/Solutions/ArchitectCards.js","assets/github-images/Developer_HeroImage.png","assets/github-images/RightArrow_Hover.png","components/GitHub/Developer/DeveloperLanding.js","components/GitHub/Developer/DeveloperOffcanvas.js","assets/images/Menu_Hover.png","assets/github-images/BackupRetention.png","assets/github-images/Maintenance.png","components/GitHub/Developer/DeveloperCards/InfraStructure.js","assets/github-images/DeveloperAccess_domain_account_image_1.png","assets/github-images/DeveloperAccess_domain_account_image_2.png","assets/github-images/DeveloperAccess_domain_account_image_3.png","components/GitHub/Developer/DeveloperCards/DeveloperAccess.js","assets/github-images/CopyToClipboard.png","assets/github-images/DeveloperGuidelines_TyporaDefendorerror.png","assets/github-images/DeveloperGuidelines_Summary.png","assets/github-images/Developer_Guidelines_pushorigin.png","assets/github-images/DeveloperGuidelines_fetchorigin.png","assets/github-images/DeveloperGuidelines_syncupstreammaster.png","components/GitHub/Developer/DeveloperCards/DeveloperGuidelines.js","assets/github-images/FORK_REPO.png","components/GitHub/Developer/DeveloperCards/DevelopmentEnvironment.js","assets/github-images/DocumentationStandards_commits.png","components/GitHub/Developer/DeveloperCards/DocumentationStandards.js","assets/github-images/ReleaseandBuildGuides_release_process.png","components/GitHub/Developer/DeveloperCards/ReleaseandBuildGuides.js","components/GitHub/Developer/DeveloperCards/ProductMaintenance.js","assets/github-images/DeveloperSupport_general_cloud_support_process_incident.png","assets/github-images/DeveloperSupport_general_cloud_support_process_create_new_inc.png","assets/github-images/DeveloperSupport_general_cloud_support_process_ticket.png","components/GitHub/Developer/DeveloperCards/DeveloperSupport.js","components/GitHub/Developer/DeveloperCards/DesignPrinciples.js","components/GitHub/Developer/DeveloperCards.js","assets/github-images/User_HeroBanner.png","components/GitHub/user/User.js","assets/github-images/Security_HeroBanner_Image.png","components/GitHub/Security.js","assets/github-images/Overview_Product_Selection_Image.png","components/GitHub/Overview/OverView.js","assets/github-images/Training_HeroBanner.png","assets/github-images/Training_Materials.png","components/GitHub/Training/Training.js","assets/github-images/Design_HeroBanner_Image.png","components/GitHub/Design/Design.js","assets/github-images/user-db.png","assets/github-images/Organizational.png","assets/github-images/RBAC.png","assets/github-images/Measure.png","assets/github-images/OLAP.png","components/GitHub/Design/Database.js","components/GitHub/Design/MsTeams.js","components/GitHub/Design/DesignCards.js","assets/github-images/Features_HeroBanner_Image.png","assets/github-images/Features_Recommendation_Image.png","components/GitHub/Features/Features.js","components/GitHub/NotDesigned/NotDesigned.js","assets/github-images/FAQ_HeroBanner.png","components/GitHub/FAQ/FAQ.js","components/Requests/AdminRequest/AdminTableHandle.js","components/Requests/AdminRequest/AdminRequestMain.js","components/Administration/AdminFirstPage/AdminViewModels.js","components/Administration/AdminFirstPage/Roles/RolesTableAdminView.js","components/Administration/AdminFirstPage/Roles/Roles.js","components/Administration/AdminFirstPage/Roles/AddRolesModel.js","components/Administration/AdminFirstPage/Operations/OperationsModels.js","components/Administration/AdminFirstPage/Operations/OperationsMain.js","components/Administration/AdminFirstPage/AdminViewFirstPage.js","assets/admin-images/Accounts.png","assets/admin-images/Roles.png","assets/admin-images/AccessGroups.png","assets/admin-images/Operations.png","assets/admin-images/Users.png","assets/admin-images/Admin_Reports.png","assets/admin-images/AuditRole.png","assets/admin-images/Audit_RBAC.png","assets/admin-images/Arrow_Normal.png","components/Administration/AdminFirstPage/AccessGroups/AccessGroupTableView.js","components/Administration/AdminFirstPage/AccessGroups/AccessGroupMain.js","components/Administration/AdminFirstPage/AccessGroups/AccessGroupAddEdit.js","components/Administration/AdminFirstPage/Users/UsersMain.js","components/Administration/AdminFirstPage/Users/AddUsers.js","components/TeamLeaderView/AgentsKPIModels/AgentsKPIModels.js","components/TeamLeaderView/FilterAndTable/AgentsTableComponent.js","components/TeamLeaderView/FilterAndTable/AgentsFilterComponent.js","components/TeamLeaderView/AgentsKPISummary/AgentsKPISummaryTabs.js","components/Administration/AdminFirstPage/Audit/AuditRole.js","components/Administration/AdminFirstPage/Audit/AuditRBAC.js","assets/images/AQuAA_Logo.PNG","Applications/Applications.js","constants/Applications/aquaa-actionTypes.js","actions/Applications/aquaa.action.js","Applications/Aquaa/Aquaa.js","assets/images/Save_Image.PNG","Applications/EvaluationForm/EvaluationForm.js","App.routes.js","assets/images/Uploads_Normal.png","assets/images/Onboard_Normal.png","components/hamburger-menu/hamburger-menu.js","assets/images/Home_Hover.png","assets/images/Home_Normal.png","assets/images/Reports_Hover.png","assets/images/Reports_Normal.png","assets/images/Uploads_Hover.png","assets/images/Account_Hover.png","assets/images/Account_Normal.png","assets/images/Onboard_Hover.png","assets/images/Requests_Hover.png","assets/images/Requests_Normal.png","assets/images/Administration_Hover.png","assets/images/Administration_Normal.png","components/Header/settinglinks.js","assets/images/MyProfile_Icon.png","assets/images/HeatMap.png","actions/settings.action.js","components/Header/header.js","assets/images/Settings_Normal.png","assets/images/Logout_Normal.png","App.layout.js","reportWebVitals.js","api/index.js","services/user.service.js","sagas/userDataSaga.js","services/tabMenu.service.js","sagas/tabDataSaga.js","services/finance.service.js","sagas/finance.saga.js","services/regionalSite.service.js","sagas/regionalSiteSaga.js","constants/eDashboard-urls.js","services/EDashboard/eDashboard.service.js","sagas/EDashboard/eDashboard.saga.js","services/reports.service.js","sagas/reportsSaga.js","constants/welcomePage-urls.js","services/welcomePage.service.js","sagas/welcomePageSaga.js","constants/onboard-urls.js","services/Onboard.service.js","sagas/Onboard.saga.js","constants/Administration/admin-account-urls.js","services/Administration/admin.service.js","sagas/Administration/admin.saga.js","constants/Administration/StaffAdmin-urls.js","services/Administration/staffAdmin.service.js","sagas/Administration/staffAdminSaga.js","constants/Administration/SLAFailure-urls.js","services/Administration/slaFailure.service.js","sagas/Administration/slaFailure.saga.js","services/github.service.js","constants/github-urls.js","sagas/githubSaga.js","constants/request-urls.js","services/request.service.js","sagas/requestSaga.js","constants/Administration/adminView-urls.js","services/Administration/adminView.service.js","sagas/Administration/adminView.saga.js","constants/ScoreCard&TeamKPI-urls.js","services/ScoreCard&TeamKPI.service.js","sagas/ScoreCard&TeamKPI.saga.js","services/Upload.service.js","constants/Upload-urls.js","sagas/Upload.saga.js","services/Applications/aquaa.service.js","constants/Applications/aquaa-urls.js","sagas/Applications/aquaa.saga.js","sagas/index.js","reducers/users.reducer.js","reducers/tab.reducer.js","reducers/finance.reducer.js","reducers/regionalSite.reducer.js","reducers/EDashboard/eDashboard.reducer.js","reducers/reports.reducer.js","reducers/settings.reducer.js","reducers/onboard.reducer.js","reducers/uploads.reducer.js","reducers/welcomePage.reducer.js","reducers/Administration/admin.reducer.js","reducers/Administration/staffAdmin.reducer.js","reducers/Administration/slaFailure.reducer.js","reducers/request.reducer.js","reducers/Administration/adminView.reducer.js","reducers/ScoreCard&TeamKPI.reducer.js","reducers/Applications/aquaa.reducer.js","reducers/index.js","store/index.js","ScrollToTop .js","RefreshHandle.js","index.js"],"names":["BredCrumb","props","history","useHistory","className","Breadcrumb","data","map","itm","i","Item","active","length","onClick","reDirectTo","reDirect","push","name","getTabName","window","localStorage","getItem","getKeyName","getSelectedMonth","getCustNServID","custID","ServID","getRegionalSiteURL","concat","Date","toISOString","split","ConstructURLs","cookieArr","document","cookie","key","tbName","process","LegendComponent","src","AboveRequiredTargetIcon","alt","AboveMinimalTargetIcon","BelowMinimalTargetIcon","shwSLA","ContractualSLAIcon","shwDwnBtn","Button","urll","location","href","variant","DownloadIcon","height","width","shwGlbBtn","glblSmmryBtnClicked","shwGlbSmmryBtn","glblSummaryBtnClicked","shwRgnlSmmryBtn","regnlSummaryBtnClicked","Box","_jsxs","children","_jsx","line","info","item","SLAReportHandleClick","click","style","cursor","percentage","status","greenStatusImg","redStatusImg","sla","infoName","TableBox","getArrowMark","value","color","trim","getSLDt","isSLA","TableHeader","headers","indctr","position","top","backgroundColor","index","TableBody","rows","row","indx","border","indexOf","buildRow","RptTable","tblName","colIndicator","parseInt","Table","responsive","bordered","defaultTabKey","TabComponent","componentWillReceiveProps","nextProps","tabKey","setState","activKey","state","start","onChange","bind","onTabClick","tick","console","log","this","tabChange","activeKey","renderTabBar","renderTabContent","tab","React","Component","dateToYMD","date","getMonth","getFullYear","DataFormatHelper","selectedTabName","tabData","tempArr","allDataArr","lineItemName","categories","categoryData","tableData","lineItems","lineitems","lineitem","items","initialItem","points","itemMonthObj","itemWeekObj","val","weekVal","toString","objMonth","month","objWeek","splice","itemDayObj","dayVal","objDay","itemAnnualObj","objAnnual","reverse","obj","tblHdrName","reduce","r","a","forEach","b","j","actionTypes","GET_USER_TOKEN","USER_TOKEN","GET_USER_DATA","USER_DATA","GET_MONTH_TAB_DATA","MONTH_TAB_DATA","GET_SUMMARY_TAB_DATA","SUMMARY_TAB_DATA","GET_WEEK_TAB_DATA","WEEK_TAB_DATA","GET_DAY_TAB_DATA","DAY_TAB_DATA","GET_ANNUAL_TAB_DATA","ANNUAL_TAB_DATA","UPDATE_SELECTED_TAB_NAME","UPDATE_SELECTED_KEY_NAME","GET_REGIONAL_DATA","REGIONAL_DATA","UPDATE_SELECTED_ACCOUNT_NAME","GET_HOME_FEED_DATA","HOME_FEED_DATA","SAVE_SELECTED_MENU_ITEM","SAVE_ACCOUNT_LOCATION_NAME","GET_FINANCE_DATA","FINANCE_DATA","GET_DROPDOWN_DATA","DROPDOWN_DATA","GET_ACCOUNT_DATA","ACCOUNT_DATA","GET_REGIONALSITE_DATA","REGIONALSITE_DATA","GET_AVERAGE_HANDLE_TIME","AVERAGE_HANDLE_TIME","GET_ABANDON_RATE","ABANDON_RATE","GET_DIGITAL_TRANS","DIGITAL_TRANS","GET_COST_PER_CONTACT","COST_PER_CONTACT","GET_CONTACT_FTE_DATA","CONTACT_FTE_DATA","UPDATE_CALENDAR_DATE_FORMAT","UPDATE_CALENDAR_ISOSTRING_FORMAT","UPDATE_CALENDAR_DATE","UPDATE_BREADCRUMB","GET_PENALTY_AT_RISK","PENALTY_AT_RISK","GET_FIRST_CONTACT_RESOLUTION","FIRST_CONTACT_RESOLUTION","GET_ATTRITION_DATA","ATTRITION_DATA","GET_SLA_COMPLIANCE","SLA_COMPLIANCE","GET_CSAT_DATA","CSAT_DATA","GET_DELIVERY_SUPPORT","DELIVERY_SUPPORT","GET_CONTACT_VOLUME_INFO","CONTACT_VOLUME_INFO","GET_DROPDOWN_INFO","DROPDOWN_INFO","GET_ACCOUNT_INFO","ACCOUNT_INFO","TOGGLE_SETTINGS","SAVE_ACCOUNT_DRPDWN_LIST_DATA","SAVE_LOCATION_DRPDWN_LIST_DATA","UPDATE_DTM_REPORT_DATE","getMonthData","type","getSummaryData","getWeeklyData","getDailyData","getAnnualData","updateSelectedAccountName","AccName","payload","saveSelectedMenuItem","menuName","saveAccountLocationName","accLocationName","updateDTMReportDate","dt","RegionalSiteActionTypes","UPDATE_CUSTOMER_ID","UPDATE_CUSTOMER_NAME","UPDATE_SERVICEDESK_ID","UPDATE_REGION_NAME","GET_REGIONALSITE_CUSTID_DATA","UPDATE_REGIONALSITE_CUSTID_DATA","GET_REGIONALSITE_GLOBAL_SUMMARY_DATA","UPDATE_REGIONALSITE_GLOBAL_SUMMARY_DATA","UPDATE_REGION_ID","UPDATE_DRPDWN_REGIONS_LIST","UPDATE_SELECTED_ACCRD_PANEL_ID","UPDATE_DRPDWN_REGION_NAME","GET_DTM_ANALYTICS","UPDATE_DTM_ANALYTICS","GET_DTM_ANALYTICS_HALF_HOUR","UPDATE_DTM_ANALYTICS_HALF_HOUR","GET_DTM_ANALYTICS_MONTH","UPDATE_DTM_ANALYTICS_MONTH","UPDATE_SELECTED_SLA","getRegionalSiteData","getRegionalSiteCustIDData","cust_id","updateRegionalSiteCustomerID","Cust_id","updateRegionalSiteCustomerName","Cust_Name","updateRegionalSiteServiceDeskID","Service_id","getRegionalSiteGlobalSummaryData","serv_id","regn_id","servID","regnID","updateRegionName","Regn_Name","updateRegionID","Regn_ID","getDTMAnalyticsData","updateSelectedSLA","getDTMAnalyticsHalfHour","getDTMAnalyticsMonth","TabBarMenu","setKey","useState","summaryDataBlocks","setSummaryDataBlocks","tbkey","setTBKey","isTblVisible","setTblVisibility","weeklyData","setWeeklyData","dailyData","setdailyData","annuallyData","setannuallyData","dispatch","useDispatch","monthData","useSelector","tabReducer","summaryData","summary","wklyData","week","DlyData","day","AnnualData","annual","useEffect","setItem","path","blocks","lcName","getAccLocationName","onSubTabChange","keyName","tabName","setTimeout","formatHandle","_moment","match","includes","moment","isValid","isNaN","temp","slaItem","itemname","format","pagetype","Tabs","id","onSelect","Tab","eventKey","title","el","Insights","updateBreadCrumb","tmpArr","userReducer","breadCrumbArr","selectedAccLocationName","rgnName","cntryObj","siteObj","selectedAccountName","breadCrumbData","selectedDate","getClientCustID","handleDateChange","e","fetchSummaryTabData","fetchMonthTabData","fetchWeeklyTabData","fetchDailyTabData","fetchAnnualTabData","accName","d","getDate","year","join","selectedDT","cal_dt","DTMReportPageDate","prevState","set","autoOk","openTo","views","label","connect","container","ButtonList","bannerName","isActv","handleDataSelection","handleItems","fieldName","getUserData","getUserToken","updateCalendarDateFormat","cal_dt_frmt","updateCalendarISOStringFormat","cal_isostring_frmt","updateCalendarDate","SiteLanding","regionalIdx","setRegionalIdx","serviceDskIdx","setServiceDskIdx","regionalDt","setRegionalDt","serviceDskDt","setServiceDskDt","customerDt","setCustomerDt","extractRegionalData","rData","region","servicedesk","customer","regionalAllData","regionalData","rgDt","servDt","cusDt","idx","servObj","servicedesks","servicedeskid","customers","customerid","custName","filter","getCustomerName","srvID","open","GlobalAccounts","sites","getArrowIcon","colr","overflowY","overflowX","count_regions","place","effect","arrowColor","regions","count_servicedesks","slamet","slaovd","viewIcon","c_name","c_id","ClientCards","borderBottom","maxHeight","siteName","serviceDeskID","borderRight","service_id","service_desk","AccordionPanels","_props$data","_props$data$servicede","Accordion","defaultActiveKey","selectedPanel","flush","marginTop","slctdAccrdPnlID","Header","marginRight","textAlign","count_customers","Body","CustomSelect","_filterQuery","_useState","_useState2","_slicedToArray","_useState3","_useState4","openData","setOpenData","_useState5","selectedVal","_useState6","setSelectedVal","_useState7","_useState8","queryVal","setQueryVal","ref","useRef","isSearchable","handleClickOutside","event","current","contains","target","addEventListener","removeEventListener","query","onKeyPress","placeholder","disabled","preventDefault","upward_icon","downward_icon","options","option","_option$value","toLowerCase","selectedRegionHandler","htmlFor","RegionalCardWdget","img","txthdr","txt","to","lnk","lnktxt","ScoreCardActionTypes","GET_SCORECARD_DATA","SCORECARD_DATA","GET_SCORECARD_PERFORMANCE_DATA","SCORECARD_PERFORMANCE_DATA","GET_SCORECARD_OFFCANVAS_DATA","SCORECARD_OFFCANVAS_DATA","GET_AGENTS_KPI_SUMMARY_DATA","AGENTS_KPI_SUMMARY_DATA","GET_TEAMLEADER_AGENTS","TEAMLEADER_AGENTS","GET_TEAMLEADER_ACCOUNTS","TEAMLEADER_ACCOUNTS","GET_TEAMLEADER_ACCOUNTS_VIEW","TEAMLEADER_ACCOUNTS_VIEW","GET_TEAMLEADER_DATES","TEAMLEADER_DATES","GET_AGENTS_KPI_ACCOUNTS_DATA","AGENTS_KPI_ACCOUNTS_DATA","GET_TEAM_KPI_SUMMARY_DATA","TEAM_KPI_SUMMARY_DATA","GET_AGENTS_GRAPH_DATA","AGENTS_GRAPH_DATA","SAVE_SELECTED_TAB","SAVE_SELECTED_DATE","SAVE_SELECTED_AGENTSCORECARD_DATE","getScoreCardData","selecteddate","agent","getScoreCardOffCanvasData","getAgentsKPISummaryData","account","selectedtab","getTeamleaderAgentsData","accountID","getTeamleaderAccountsData","agents","getTeamleaderAccountsViewData","saveSelectedTab","saveSelectedAgentScoreCardDate","AgentCardinReports","_ScoreCardPerformance","_ScoreCardPerformance2","_ScoreCardPerformance3","_ScoreCardPerformance4","_ScoreCardPerformance5","_ScoreCardPerformance6","_ScoreCardPerformance7","_ScoreCardPerformance8","_ScoreCardPerformance9","_ScoreCardPerformance10","userInfo","ScoreCardPerformanceData","ScoreCardReducer","Metric","Details","Score","ColorHandler","Color","email","TeamKPISummary","_teamKPISummaryData$","_teamKPISummaryData$$","teamKPISummaryData","display","flexWrap","Value1","Color2","Value2","RegionalSite","_RoleBasedView$","_RoleBasedView$$Agent","_RoleBasedView$$Agent2","_RoleBasedView$2","_RoleBasedView$2$Team","_RoleBasedView$2$Team2","_RoleBasedView$3","_RoleBasedView$3$ASD","_RoleBasedView$3$ASD$","_RoleBasedView$4","_RoleBasedView$4$Exec","_RoleBasedView$4$Exec2","globalCustomerData","setGlobalCustomerData","regionDropdownData","setRegionDropdownData","accordionPanelData","setAccordionPanelData","isAccrdPnlActive","setIsAccrdPnlActive","regionalSiteData","regionalSiteReducer","drpdwnSlctdRgnName","drpdwnRegionName","drpdwnSlctdRgnList","drpdwnSlctdRgns","slctAccrdPnlID","slcdAccrdPnlID","_drpdwnSlctdRgnList$s","buildRegionDropdownData","regnDtTempArr","globalcustomers","regionid","RoleBasedView","adminAccountReducer","Read","selectedDrpDwnRegionHandler","Regns","pnlID","panelID","isActive","AccountDetails","isoDateString","selectedAccCustName","rgnCustName","selectedAccCustID","rgnCustId","regionID","serviceID","serviceDesk","AccountGlobal","regionalCustomerIDData","rgnCustIdData","brdData","setBrdData","ConstructRegionalSiteURLs","view","customerID","GlobalSummary","_globalSummaryData$bl","setRegions","globalSummaryData","rgnGlobal_Regional_Summary","locationName","_globalSummaryData$re","gsmmryObj","KeyboardDatePicker","glblSummaryBtnClickHandler","dwnldURL","RegionalSummary","setSites","setLocationName","setSelectedAccLocationName","selectedRegionName","regionName","_globalSummaryData$se","regnlSummaryBtnClickHandler","ClearFilter","Fragment","filteredPeriod","onClearingFilters","FinanceTable","Data","tblData","table","headerData","header","footerData","footer","fontSize","marginLeft","Object","values","Financeinfo","totalCalls","tiles","duration_minutes","costPerCall","costPerMinute","Row","Col","TotalCalls","caption","getFinanceData","financeID","filterID","getDropdownData","getAccountData","getDropdownInfo","getAccountInfo","ContactVolumeID","getAverageHandleTime","getAbandonRate","getDigitalTrans","getCostPerContact","getContactFTEData","getPenaltyAtRisk","getFirstContactResolution","getAttritionData","getSLAcompliance","getCSATdata","getDeliverySupport","getContactVolumeData","saveAccountDropdownList","listVal","saveLocationDropdownList","showTooltip","setShowTooltip","onMouseOver","onMouseLeave","icon","show","Dropdown","setQuery","clearFilters","latestUpdates","isChecked","upArrow","downArrow","drpdwnID","onSelectingDropdown","DropdownSelectHandler","checked","today","currentDate","newDate","unshift","recentDate","getReportTableURL","widget","hint","contactVolumeID","undefined","getReportDownloadURL","getreportDropDownURL","reportConstructURLs","filterText","getFinanceDownloadURL","Filter","openDownload","setOpenDownload","useLocation","filterIcon","period_data","delivery_data","region_data","category_data","account_data","location_data","refreshIconHandler","refreshHandler","RefreshIcon","downloadButton","_props$ID","_props$ID2","_props$ID3","_props$ID4","downloadReportUrl","pathname","downloadURL","ID","downloadIcon","FinanceHandler","TableInfo","financeReducer","financeData","DropdownInfo","dropdownData","AccountFilters","accountData","prevAccountdrpdwnList","reportTableReducer","accountDrpdwnListData","clearFilterHandler","ContactTableTrails","filters","setFilters","setClearFilters","setPeriod_data","setRegion_data","setAccount_data","RegionInfo","PLRegion","PeriodInfo","YearMonth","AccountInfo","Account","uniqueArray","originalArray","prop","account_arr","accountObj","removeDuplicates","filterByReference","arr1","arr2","find","element","filteredRegions","periodFilters","fil","substring","periodValues","regionFilters","downloadArray","temp_arr","temp_ARR","temp_Arr","fltrs","dropDownLocationFilter","welcomePage_actionTypes","GET_ROLES_TITLE","ROLES_TITLE","GET_WIDGET_INFO","WIDGET_INFO","UPDATE_WIDGET_INFO_START","UPDATE_WIDGET_INFO_SUCCESS","SET_SELECTED_ROLE","GET_RECENT_LINKS","RECENT_LINKS","UPDATE_WIDGET_PREFERENCE_SHOWN","WIDGET_PREFERENCE_SHOWN","GET_WIDGET_PREFERENCE","WIDGET_PREFERENCE","GET_CAROUSEL_TITLE","CAROUSEL_TITLE","SET_WIDGET_SELECTED","SET_SELECTED_ACCOUNTS","GET_MULTI_ACCOUNTS_WIDGETS","MULTI_ACCOUNTS_WIDGETS","GET_MULTI_WIDGET_INFO","MULTI_WIDGET_INFO","UPDATE_MULTI_WIDGET_START","UPDATE_MULTI_WIDGET_SUCCESS","SAVE_SELECTED_ACCOUNTS","SAVE_DROPDOWN_ACCOUNTS","SAVE_SELECTED_CUSTID_SERVID","SAVE_SELECTED_ACCOUNT_OBJ","GET_ACCOUNT_SUMMARY","ACCOUNT_SUMMARY","GET_ACCOUNT_DROPDOWN","ACCOUNT_DROPDOWN","CREATE_LATEST_RELEASES_START","CREATE_LATEST_RELEASES_SUCCESS","UPDATE_LATEST_RELEASES_START","UPDATE_LATEST_RELEASES_SUCCESS","DELETE_LATEST_RELEASES_START","DELETE_LATEST_RELEASES_SUCCESS","GET_LATEST_RELEASES_START","GET_LATEST_RELEASES_SUCCESS","GET_STORED_ACCOUNT","STORED_ACCOUNT","UPDATE_STORED_ACCOUNT_START","UPDATE_STORED_ACCOUNT_SUCCESS","GET_TASK_LINKS","TASK_LINKS","getRolesTitleInfo","recentlinksInfo","updateWidgetInfoSuccess","saveSelectedRole","role","updateWidgetPreferenceShown","WidgetPreferenceShown","getWidgetPreference","getcarouselTitle","getMultiAccountWidgets","updateMultiWidgetStart","updateMultiWidgetSuccess","saveSelectedAccounts","saveDropdownAccounts","saveSelectedAccountObj","getAccountDropdown","getLatestReleasesStart","getLatestReleasesSuccess","updateLatestReleasesStart","createLatestReleasesStart","createLatestReleasesSuccess","deleteLatestReleasesStart","deleteLatestReleasesSuccess","getStoredAccount","updateStoredAccountStart","updateStoredAccountSuccess","getTaskLinks","onboard_actionTypes","SAVE_ACCOUNT_SITE","SAVE_CANCEL_CLICK","GET_ACCOUNT_SITE","ACCOUNT_SITE","GET_GENERAL_INFO_SITE","GENERAL_INFO_SITE","GET_ROLES_TAB_ROLES","ROLES_TAB_ROLES","GET_ROLES_TAB_USERS","ROLES_TAB_USERS","UPDATE_ROLE_DATA_START","UPDATE_ROLE_DATA_SUCCESS","UPDATE_QUEUE_TABLE_START","UPDATE_QUEUE_TABLE_SUCCESS","UPDATE_SLA_TABLE_START","UPDATE_SLA_TABLE_SUCCESS","UPDATE_SUPPORT_TABLE_START","UPDATE_SUPPORT_TABLE_SUCCESS","UPDATE_NEW_TEMPLATE_START","UPDATE_NEW_TEMPLATE_SUCCESS","GET_QUEUE_LANGUAGES","QUEUE_LANGUAGES","GET_ORIGINATING_COUNTRIES","ORIGINATING_COUNTRIES","GET_QUEUE_TABLE_DATA","QUEUE_TABLE_DATA","GET_SLA_TEMPLATES","SLA_TEMPLATES","GET_SLA_KPI_DATA","SLA_KPI_DATA","GET_NON_VOICE_SLA_DATA","NON_VOICE_SLA_DATA","GET_NON_VOICE_SUPPORT_HOURS","NON_VOICE_SUPPORT_HOURS","UPDATE_GENERAL_NON_VOICE_START","UPDATE_GENERAL_NON_VOICE_SUCCESS","GET_GENERAL_NON_VOICE","GENERAL_NON_VOICE","GET_ROLES_TAB_DATA","ROLES_TAB_DATA","GET_SUPPORT_HOURS_VOICE","SUPPORT_HOURS_VOICE","GET_PREVIEW_ONBOARD","PREVIEW_ONBOARD","GET_ONBOARD_ACCOUNTS","ONBOARD_ACCOUNTS","VIEW_ACCOUNT_DETAILS","EDIT_ACCOUNT_DETAILS","UPDATE_ONBOARD_TOGGLE_START","UPDATE_ONBOARD_TOGGLE_SUCCESS","UPDATE_ONBOARD_SUBMIT_START","UPDATE_ONBOARD_SUBMIT_SUCCESS","SET_WIDGET_CARD_NON_VOICE","SET_WIDGET_PREVIEW_TAB","SET_VALIDFOR_ADDING_TABROWS","GET_ONBOARD_VALID_USER","ONBOARD_VALID_USER","UPDATE_REOPEN_REQUEST_START","UPDATE_REOPEN_REQUEST_SUCCESS","UPDATE_DELETE_ACCOUNT_START","UPDATE_DELETE_ACCOUNT_SUCCESS","getGeneralInfoSites","getRolesTabRoles","getRolesTabUsers","saveAccountSite","updateRoleDataStart","updateRoleDataSuccess","updateQueueTableStart","updateQueueTableSuccess","getQueueTabLanguages","getOriginatingCountry","getQueueTableData","site","updateSLADataStart","updateSLADataSuccess","getSLATemplates","updateNewTemplateStart","updateNewTemplateSuccess","getSLAKPIData","updateSupportHoursStart","updateSupportHoursSuccess","getRoleTabData","getSupportHoursVoice","getNonVoiceSLAData","getNonVoiceSupportHours","updateOnboardToggleStart","updateOnboardToggleSuccess","updateOnboardSubmitStart","updateOnboardSubmitSuccess","setWidgetCardNonVoice","setWidgetPreviewTab","setValidforAddingTabRows","updateGeneralNonvoiceStart","updateGeneralNonvoiceSuccess","getGeneralNonVoice","getPreviewOnboard","getOnboardAccounts","viewAccountDetails","getOnboardValidUser","updateReOpenRequestSuccess","updateDeleteAccountSuccess","adminActionTypes","GET_ADMIN_ACCOUNTS","ADMIN_ACCOUNTS","UPDATE_VALIDTO_DATE_START","UPDATE_VALIDTO_DATE_SUCCESS","UPDATE_ACCOUNT_DEATILS","GET_ADMIN_QUEUE_TABLE_DATA","ADMIN_QUEUE_TABLE_DATA","UPDATE_ADMIN_QUEUE_TABLE_DATA_START","UPDATE_ADMIN_QUEUE_TABLE_DATA_SUCCESS","GET_ADMIN_SLA_TABLE_DATA","ADMIN_SLA_TABLE_DATA","UPDATE_ADMIN_SLA_TABLE_DATA_START","UPDATE_ADMIN_SLA_TABLE_DATA_SUCCESS","GET_ADMIN_SUPPORT_TABLE_DATA","ADMIN_SUPPORT_TABLE_DATA","UPDATE_ADMIN_SUPPORT_TABLE_DATA_START","UPDATE_ADMIN_SUPPORT_TABLE_DATA_SUCCESS","GET_ADMIN_VOICE_SLA_TABLE_DATA","ADMIN_VOICE_SLA_TABLE_DATA","GET_ADMIN_VOICE_SUPPORT_TABLE_DATA","ADMIN_VOICE_SUPPORT_TABLE_DATA","UPDATE_ADMIN_UPDATE_START","UPDATE_ADMIN_UPDATE_SUCCESS","QUEUE_ADMIN_REQUEST_START","QUEUE_ADMIN_REQUEST_SUCCESS","SLA_ADMIN_REQUEST_START","SLA_ADMIN_REQUEST_SUCCESS","SUPPORT_ADMIN_REQUEST_START","SUPPORT_ADMIN_REQUEST_SUCCESS","GET_PREVIEW_ADMIN","PREVIEW_ADMIN","GET_ROLE_BASED_VIEW","ROLE_BASED_VIEW","SAVE_STAFFADMIN_ACTIVE_TAB","getAdminAccounts","updateValidToDateStart","updateValidToDateSuccess","getAdminQueueTableData","getAdminVoiceSlaTableData","getAdminVoiceSupportTableData","updateAdminQueueTableDataStart","updateAdminQueueTableDataSuccess","getAdminSlaTableData","card","updateAdminSlaTableDataStart","updateAdminSlaTableDataSuccess","getAdminSupportTableData","updateQueueRequestStart","updateQueueRequestSuccess","updateSLARequestStart","updateSLARequestSuccess","updateSupportRequestSuccess","updateAdminSupportTableDataStart","updateAdminSupportTableDataSuccess","updateAdminUpdateStart","updateAdminUpdateSuccess","getPreviewAdmin","getRoleBasedView","saveStaffAdminActiveTab","CarouselHandler","_RolesInfo$2","_carouselItems$","_carouselItems$$items","carouselItems","welcomePageReducer","carouselTitle","RolesInfo","rolesTitle","roleSelected","_RolesInfo$","getDeployedDates","toLocaleString","toLocaleDateString","weekday","_Fragment","maxWidth","justifyContent","Carousel","CarouselItem","link","RecentLinks","Recentlinks","recentLinks","RecentLinksHandler","s_id","s_name","r_id","r_name","viewDTMReports","viewRegionalHandler","glblSmmryBtnClickHandler","RecentLinkNamesHandle","ListGroup","links","minHeight","padding","serviceDeskId","customerName","customerId","serviceDeskName","regionId","HELP_CENTER_LINKS","imageSrc","UserGuidesIcon","TrainingVideosIcon","EmailToReportingTeamIcon","MSChatIcon","ITSMPortalIcon","HelpCenterLinks","Link","rel","listStyleType","NOTIFICATIONS","taskLinks","SwitchHandler","number","AccountDropdown","DropdownOptions","_el$Widgets$","_el$Widgets$2","Widgets","Selected","selectedAccountObj","selectedOption","setSelectedOption","CustomerName","ServiceDeskName","WidgetNoHandler","WelcomePage","_AccountSummaryInfo$b4","AccountSummaryInfo","AccountSummary","AccountDropdownData","storedAccount","storedAccountFilter","keys","selectedDropdownValue","CustomerID","ServiceDeskID","setNullWidgets","noOfWidgets","temp_no","Name","WidgetID","setWidgetSelected","setSelectedWidgetIds","getAccountSummary","widgetSelected","selectedWidgetIds","nullWidgets","margin","AccountWidgetsDataHandler","_AccountSummaryInfo$b","_AccountSummaryInfo$b2","_AccountSummaryInfo$b3","box","CustomWidgetsIcon","Roleselectionpage","selectedRole","setSelectedRole","role_id","setRoleId","GSD","buttonHandler","alert","HomeBreadcrumb","pageId","Profilepage","_RolesDescription$mem","RolesData","roles","RolesDescription","upn","city","description","membership","member","roleName","validSince","validUntil","AccordionHandler","alwaysOpen","HINTS","VOICE","hints","boxShadow","Title","backgroundcolor","Usage","para","Legend","legend","OffCanvasHandler","setShow","hintsIcon","Offcanvas","onHide","placement","closeButton","ACCORDION_INFO","accordion","background","opacity","Info","QueueModalPopup","isOpen","setShowModal","shouldCloseOnOverlayClick","preventScroll","onRequestClose","portalClassName","overlay","left","content","right","bottom","overflow","WebkitOverflowScrolling","borderRadius","outline","ModalAccountPopup","RoleModalPopup","ReactModal","setAppElement","TooltipHandler","showEditInfo","setShowEditInfo","arrowAlign","fontWeight","textBoxWidth","text","OnboardSelect","editValue","refresh","Inputvalue","setInputValue","inputvalue","dropDownref","inputValueRef","autoComplete","dropdownHandler","addValueToQueue","Contractual","contractIcon","DatePickerHandle","Information_Icon","clearable","AddQueueModal","ValidFrom","setValidFrom","ValidTo","setValidTo","formatDate","editMode","modalName","validation","onSubmit","handleEditQueueSubmit","handleAddQueueSubmit","editQueueInfo","queue_name","handleFormAddQueue","business_unit","HtmlFor","languageInfo","language","countryInfo","country","pattern","claim_no","valid_from","handleQueueEditDate","addDateToQueue","ValidFromDateHandler","valid_to","ValidToDateHandler","buttonOne","handleAddQueueCancel","buttonTwo","DeleteFragment","marginBottom","delete","queueName","sitename","handleDeleteQueue","handleDeleteQueueCancel","AccountDeleted","accountName","Success_Icon","font","handleClose","DeletedModalPopup","_ref","DeleteModalPopup","_ref2","SuccessFragment","ReopenText","handleSuccessAccount","OnboardRequestAdmin","requestHeading","letterSpacing","AdminValidDateChange","setValidUntil","setValidation","title1","solution1","title2","solution2","onsubmit","notValidDate","onCancel","QueueComponent","_props$QueueTableData","_RoleBasedView$$Queue","_RoleBasedView$$Queue2","_searchRows","onboardReducer","queueTabLanguages","originatingCountry","accountSiteInfo","QueueTableData","_toConsumableArray","businessUnit","claimedNumber","validFrom","validTo","queueID","QueueID","request","Request","tooltip","ToolTip","renderQueuesTabData","queueData","setQueueData","setFilter","showAddQueueModal","setShowAddQueueModal","showEditQueueModal","setShowEditQueueModal","_useState9","_useState10","showDeleteQueueModal","setShowDeleteQueueModal","_useState11","_useState12","searchColumns","_useState13","_useState14","dispatchQueueObj","setDispatchQueueObj","_useState15","_useState16","_useState17","_useState18","addFormQueue","setAddFormQueue","_useState19","_useState20","editQueueID","setEditQueueID","_useState21","_useState22","setEditQueueInfo","_useState23","_useState24","deleteRowID","setDeleteRowID","_useState25","_useState26","AccountQueueId","setAccountQueueId","_useState27","_useState28","mode","setMode","accountDetails","newFormData","_objectSpread","configureQueueData","tempArray2","queue","temp1","QueueName","BusinessUnit","LanguageName","OriginatingCountry","ClaimedNumber","temp2","QueueId","tempArray3","Servicedesk","SiteName","AccountName","onClickEditRow","formValues","handleEditQueueSelect","searchRows","some","column","DispatchQueuehandler","_useState29","_useState30","showReuqestModal","setShowReuqestModal","searchIcon","Queue","ReadWrite","GeneralInfoToggle","scrollTo","addQueueIcon","_RoleBasedView$2$Queu","_RoleBasedView$2$Queu2","editIcon","deleteIcon","ActivationHandler","ActivateDisabledIcon","ActivateIcon","getAttribute","fieldValue","newQueues","Math","random","isEmptyInput","x","isValidDate","isAfter","QueryHandler","onClickSelect","editedQueue","findIndex","_","newQueue","ValidUntil","AddAccountModal","_RoleBasedView$$SLATe","_RoleBasedView$$SLATe2","templateLink","showTemplateLink","newSlATemplate","SLATemplate","TabName","EditMode","templateData","newTemplateData","setNewTemplateData","editAccountInfo","sla_template_id","targetPlaceholder","targetType","onMouseEnter","TemplateModalHandle","templateIcon","handleEditAccountSubmit","handleAddAccountSubmit","sla_template","_temp_arr$","_temp_arr$2","TargetTypeHandle","Type","addValueToAccount","Comparison","SLAKPI","addValueToSlaKpi","minimum_target","handleFormAddAccount","expected_target","threshold_seconds","addDateToAccount","short_call","alias","Numerator","Denominator","Description","URL","handleAddAccountCancel","RequestDropdown","TargetType","TemplateAddModal","addNewTemplate","setAddNewTemplate","addValueToTemplate","handleAddTemplate","temp_new","VoiceNonVoice","Customer","TemplateName","custom","perName","replace","templateNameHandle","dispObj","FormatType","isEmpty","validDate","handleAddTemplateCancel","required","SLAComponent","_props$voiceSLAData","_RoleBasedView$$SLA","_RoleBasedView$$SLA$","_searchRows2","_accountData$accountD","voiceSLAData","slaKpi","contractual","thresholdSeconds","minimumTarget","expectedTarget","shortExclusion","slaTemplateID","slaID","accountSLAId","toolTip","formatType","renderVoiceSaveSLAData","setAccountData","showAddAccountModal","setShowAddAccountModal","showEditAccountModal","setShowEditAccountModal","showDeleteAccountModal","setShowDeleteAccountModal","addFormAccount","setAddFormAccount","editAccountID","setEditAccountID","setEditAccountInfo","dispatchAccountObj","setDispatchAccountObj","configureAccountData","ThresholdSeconds","MinimumTarget","ExpectedTarget","ShortExclusion","Alias","SLATemplateId","AccountSLAId","NonVoiceItem","setTargetType","TargetFormatValidation","addTargetType","setAddTargetType","_useState31","_useState32","comparison","setComparison","_row$column","_row$column$toString","_row$column$toString$","_useState33","_useState34","showTemplateModal","setShowTemplateModal","dispatchAccountHandler","_useState35","_useState36","_useState37","_useState38","setAccountSLAId","SLA","addAccountIcon","_RoleBasedView$2$SLA","_RoleBasedView$2$SLA$","_addFormAccount$sla_t","_addFormAccount$sla_t2","newAccounts","minexpvalidate","arr","max","apply","numberValidate","parseFloat","percentageValidate","numberValidateMinimumGreater","percentageValidateMinimumGreater","editedAccounts","emptyValidDate","handleAddTemplateSubmit","newAccount","AccountSLAKPIId","SupportToggle","isSelected","setIsActive","widgetName","toggleHandler","AddSupportModal","modelName","handleEditSupportSubmit","handleAddSupportSubmit","editSupportInfo","start_time","handleFormAddSupport","end_time","addValueToSupport","handleSupportEditDate","addDateToSupport","handleToggleSupport","mondays","tuesdays","addValue","wednesdays","thursdays","fridays","saturdays","sundays","handleAddSupportCancel","initailState","SupportHours","_props$supportHoursVo","_RoleBasedView$$Suppo","_RoleBasedView$$Suppo2","_supportData$supportD","_supportData$supportD2","_supportData$supportD3","MOCK_DATA","weekDaysBooleanHandle","supportHoursVoice","startTime","endTime","supportID","supporthoursId","renderSaveSupportHpursVoice","supportData","setSupportData","dispatchSupportObj","setDispatchSupportObj","configureSupportData","support","Language","StartTime","EndTime","Mondays","Tuesdays","Wednesdays","Thursdays","Fridays","Saturdays","Sundays","OpenHoursId","showAddSupportModal","setShowAddSupportModal","showEditSupportModal","setShowEditSupportModal","showDeleteSupportModal","setShowDeleteSupportModal","addFormSupport","setAddFormSupport","editSupportID","setEditSupportID","setEditSupportInfo","handleEditSupportSelect","dispatchSupportHandler","AccountSupportId","setAccountSupportId","paddingLeft","paddingRight","borderLeft","_RoleBasedView$2$Supp","_RoleBasedView$2$Supp2","newSupports","isBefore","editedSupport","newSupport","supportName","SupportHoursId","updateSupportRequestStart","VoiceHandler","SupportHoursMain","TimeOutSelect","AddRoleModal","handleAddRoleSubmit","rolenameInfo","editRoleInfo","addValueToRole","usernameInfo","username","handleRoleEditDate","addDateToRole","handleAddRoleCancel","HintsRoles","ROLE_INFO","HintsGeneralInfo","GENERAL_INFO","RoleComponent","_RoleBasedView$$Roles","_RoleBasedView$$Roles2","_props$roletabdata","_RoleBasedView$2$Role","_RoleBasedView$2$Role2","usernameData","roleTabUsers","roleTabRoles","onboardValidUser","setUsernameInfo","Roles","validUser","roletabdata","emailID","EmailID","Role","User","renderRolesTabData","roleData","setRoleData","setRoleAddSubmit","showAddRoleModal","setShowAddRoleModal","showEditRoleModal","setShowEditRoleModal","showDeleteRoleModal","setShowDeleteRoleModal","setShowFromInfo","addFormRole","setAddFormRole","editRoleID","setEditRoleID","setEditRoleInfo","deleteRoleID","setDeleteRoleID","emailIDhandler","_emailObj$","emailObj","nameEmail","userNamehandler","_userNameObj$","userNameObj","dispatchRoleObj","setDispatchRoleObj","configureRoleData","ValidSince","DispatchRolehandler","AdduserImg","_RoleBasedView$3$Role","_RoleBasedView$3$Role2","_RoleBasedView$4$Role","_RoleBasedView$4$Role2","Delete","handleFormAddRole","newRole","newRoles","OnClickSelect","_console","editedRole","GeneralInfo","_props$accountDetails","_notEditableData$","_notEditableData$2","_props$accountDetails2","_notEditableData$3","_props$accountDetails3","_props$accountDetails4","_props$accountDetails5","generalSiteInfo","notEditable","setNotEditable","notEditableData","setNotEditableData","accountSiteData","setAccountSiteData","toggleValue","setToggleValue","editSiteValue","setEditSiteValue","SiteNameValueHandler","showInfobar","setShowInfobar","showSavedbar","setShowSavedbar","confirmation","setConfirmation","generalToggleChange","flex","class","_onboardValidUser$","_onboardValidUser$2","isAccountExist","column1","InformationIcon","moveRight","hoverBackground","dataSaveClose_icon","options2","General","GeneralNonvoicedata","GeneralData","setGeneralData","doesDataExist","setDoesDataExist","AddFormGeneral","setAddFormGeneral","system","version","private","multi","party","extract","remarks","editFormGeneral","setEditFormGeneral","addValueToGeneral","dataSaveBar","setDataSaveBar","onChangeGeneralInput","onClickGeneralInput","onEditGeneralInput","yesIcon","closeIcon","ServiceDesk","SystemName","SystemVersion","PrivateSystemOwnedbyClient","MultifactorOthersecurity","ThirdPartySystem","CurrentTypeDataExtractionMethod","CurrentDataExtractionDescription","Remarks","temp_valid","dispatchGeneralHandler","minWidth","NonVoiceHandler","_previewOnboardData$","_previewOnboardData$$","_previewOnboardData$$2","_previewAdminData$","_previewAdminData$$No","_previewAdminData$$No2","_previewOnboardData$2","_previewOnboardData$3","_previewOnboardData$4","_previewAdminData$2","_previewAdminData$2$N","_previewAdminData$2$N2","_previewOnboardData$5","_previewOnboardData$6","_previewOnboardData$7","_previewAdminData$3","_previewAdminData$3$N","_previewAdminData$3$N2","_previewOnboardData$8","_previewOnboardData$9","_previewOnboardData$10","_previewAdminData$4","_previewAdminData$4$N","_previewAdminData$4$N2","_previewOnboardData$11","_previewOnboardData$12","_previewOnboardData$13","_previewAdminData$5","_previewAdminData$5$N","_previewAdminData$5$N2","_previewOnboardData$14","_previewOnboardData$15","_previewOnboardData$16","_previewAdminData$6","_previewAdminData$6$N","_previewAdminData$6$N2","_previewOnboardData$17","_previewOnboardData$18","_previewOnboardData$19","_previewAdminData$7","_previewAdminData$7$N","_previewAdminData$7$N2","previewOnboardData","widgetPreviewTab","previewAdminData","setWidget","nonVoiceTickHandler","NON_VOICE_CARDS","isDisabled","isSaved","Completed","OnClickWidgetHandler","widgetCardHandler","widgetHandler","backArrow","activeTick","disabledTick","Toggle","PreviewCard","_props$tableData","TableData","category","Volume","PreviewNonvoiceCard","_TableData$","_TableData$2","_TableData$3","Value","PreviewHandler","_previewOnboardData$20","_previewOnboardData$21","_previewOnboardData$22","_previewOnboardData$23","_previewOnboardData$24","_previewOnboardData$25","file","setFile","error","setError","datacard","setDatacard","previewToggleHandler","dispatchFileUpload","isDone","onClickViewDetails","Voice","ValidationDatehandler","valid","accept","files","size","for","onCheckContractPreview","AdminBreadcrumb","isActive2","isActive3","isActive4","isActive5","isActive6","value1","value2","value3","value4","value5","value6","label1","label2","label3","label4","label5","label6","CancelModalPopup","CancelFragment","unsavedDataExist","handleSaveQueue","buttonThree","noUnsavedData","NextButtonFragment","SuccessModalPopup","Image","BUTTONS","Navigationbar","_rolesUpdateResponse$","_updatedRoleData$","_queuesUpdateResponse","_updatedQueueData$","_slaUpdateResponse$","_updatedAccountData$","_supportUpdateRespons","_updatedSupportData$","_queuesUpdateResponse2","_updatedQueueData$2","_slaUpdateResponse$2","_updatedAccountData$2","_supportUpdateRespons2","_updatedSupportData$2","_slaUpdateResponse$3","_updatedAccountData$3","_supportUpdateRespons3","_updatedSupportData$3","_slaUpdateResponse$4","_updatedAccountData$4","_supportUpdateRespons4","_updatedSupportData$4","_updatedRoleData$2","_updatedQueueData$3","_updatedAccountData$5","_updatedSupportData$5","_slaUpdateResponse$5","_updatedAccountData$6","_accountDetails$mode","roleTabData","SLAKPIData","NonVoiceSLAdata","NonVoiceSupportHours","GeneralNonVoice","viewAccounts","rolesUpdateResponse","queuesUpdateResponse","slaUpdateResponse","supportUpdateResponse","widgetCard","widgetCardNonVoice","validforaddingtabrows","AdminQueueTableData","AdminSlaTableData","AdminSupportTableData","AdminVoiceSlaTableData","AdminVoiceSupportTableData","generalTab","setGeneralTab","rolesImgSrc","setRolesImgSrc","voiceImgSrc","setVoiceImgSrc","nonVoiceImgSrc","setNonvoiceImgSrc","previewImgSrc","setPreviewImgSrc","showButtons","setShowButtons","dataSaveInfo","setDataSaveInfo","accountExists","setAccountExists","showCancelModal","setShowCancelModal","showSubmitModal","setShowSubmitModal","updatedRoleData","setUpdatedRoleData","updatedQueueData","setUpdatedQueueData","updatedAccountData","setUpdatedAccountData","updatedSupportData","setUpdatedSupportData","updatedGeneralData","setUpdatedGeneralData","updatedFileData","setUpdatedFileData","previewContract","setPreviewContract","setGeneralInfoToggle","previewSubmitBar","setPreviewSubmitBar","previewContractBar","setPreviewContractBar","accountDetailsInfo","setAccountDetailsInfo","dispatchNavigationHandle","ObjectEquateHandle","updatedData","JSON","stringify","rolesHoverImage","previewImage","GeneralInfoImage","nonVoiceImage","voiceImage","rolesImage","voiceHoverImage","nonVoiceHoverImage","previewHoverImage","GeneralInfoHoverImage","showInfoBar","setShowInfoBar","GeneralInfoToggleWithPath","generaltabRows","saveButtonHandler","currentTab","setNoUnsavedData","setUnsavedDataExist","showNextModal","setShowNextModal","showTabModal","setShowTabModal","buttonMode","setButtonMode","tabForYesButton","setTabForYesButton","rolesValidation_1","voiceValidation_1","voiceValidation_2","voiceValidation_3","voiceValidation_4","nonvoiceValidation_1","nonvoiceValidation_2","nonvoiceValidation_3","nonvoiceValidation_4","tabChangeHandle","button","ValidationManager","valid1","valid2","valid3","valid4","btn","tabValidate","onboarTabButtonHandle","nextButtonHandler","submitPreviewHandle","scroll","behavior","ButtonClickHandler","onboardNextButtonHandle","onboardPreviousButtonHandle","OnboardCancelButtonHandle","onboardLabelHandle","dataSave_icon","toUpperCase","onboardTabHandler","onboard","cancelButtonHandler","nextSaveButtonHandle","nextNoButtonHandle","tabYesButtonHandle","tabNoButtonHandle","submitButtonHandler","handleSubmission","formData","FormData","append","fetch","method","body","then","response","json","result","catch","Status","temp_arr_admin","Datasets","fill","borderColor","tension","isPrcntSymbl","LineAreaChartModel","labels","datasets","LineAreChartOptions","maintainAspectRatio","scales","grid","ticks","y","beginAtZero","plugins","displayColors","bodyColor","titleMarginBottom","borderWidth","titleColor","titleAlign","titleFont","weight","context","dataset","parsed","ModalLineAreChartOptions","faTruckMonster","ModalLineAreChartOptionsTlptip","callback","ModalBarChartOptions","stacked","ModalBarChartData","EDashboardAreaCard","defaultChartData","Compliance","ComplianceColour","num","metric","getReportURL","valClicked","toFixed","Colour","clr","getValColor","fixDecimalVal2","EDashboardBarChart","legends","analyticsChartValAddtnlData","analyticsChartValAddtnlTltpData","bkgrndClr","chartData","dataIndex","x1","lbl","beforeDraw","chartInstance","easing","ctx","chart","fillStyle","chartArea","fillRect","EDashboradCallType","tileData","chartBkgrndData","barChartData","chartLabelData","chartLegendData","TotalCalls_Icon","Label1","paddingBottom","Lable2","Label3","Value3","Lable4","Value4","Label5","Value5","Label6","Value6","DoughnutCards","firstval","showData","data1","options1","cutout","centerText","fontSizeAdjust","layout","viewRptClicked","Label2","navigateToReport","ModalPopup","Analytics","lbls","datasetsVal","itms","borderDash","order","yAxisID","yaxisfname","prcnttxt","linemlns","yaxissname","drawOnChartArea","EDashboardFilter","slctVal","setSlctVal","slctValRgn","setSlctValRgn","slctValLcnt","setSlctValLcnt","yrMnSlctVal","setYrMnthSlctVal","rgnSlctVal","setRgnSlctVal","yrMnthDt","selectedDrpDwnYrMnthHandler","rgnDt","lcntDt","selectedDrpDwnLocationHandler","StackedBarLineChart","tooltips","chrtTxtName","metprcnt","Labels","MetricMet","Missed","MetPrcnt","HorizontalBarChart","axis","hoverBackgroundColor","hoverBorderColor","barThickness","indexAxis","PieChart","tcvVal","tcvVal2","backgroundClrs","defaultLineChartData","Channels","v","Lable1","series","pie","gdata","polyline","labelColor","formatter","getSuitableY","direction","existedY","tcvValueClickedHandler","tcvValClicked","pieChartClicked","handleContctVolClick","afterDraw","save","leftLabelCoordinates","rightLabelCoordinates","chartCenterPoint","config","arc","getDatasetMeta","centerPoint","getCenterPoint","angle","atan2","point2X","cos","outerRadius","point2Y","sin","edgePointX","strokeStyle","beginPath","moveTo","lineTo","stroke","labelAlignStyle","labelX","labelY","textBaseline","fillText","restore","EDashboardActionTypes","GET_KPI_DATA","UPDATE_KPI_DATA","GET_COMPLIANCE_DATA","UPDATE_COMPLIANCE_DATA","GET_CONTACT_VOLUME_DATA","UPDATE_CONTACT_VOLUME_DATA","GET_CALLTYPE_DATA","UPDATE_CALLTYPE_DATA","GET_HORIZONTAL_BAR_CHART_DATA","UPDATE_HORIZONTAL_BAR_CHART_DATA","GET_PROFIT_LOSS_ANALYTICS_DATA","UPDATE_PROFIT_LOSS_ANALYTICS_DATA","GET_YEARMONTH_REGION_DATA","UPDATE_YEARMONTH_REGION_DATA","GET_INCIDENTS_CARDS_DATA","UPDATE_INCIDENTS_CARDS_DATA","GET_EDASHBOARD_NOTIFICATION_TEXT","UPDATE_EDASHBOARD_NOTIFICATION_TEXT","ChartJS","register","CategoryScale","LinearScale","PointElement","LineElement","BarElement","Tooltip","Filler","ArcElement","ExecutiveDashboard","kpiData","setKPIData","firstKPIData","setFirstKPIData","secondKPIData","setSecondKPIData","gKPIData","eDashboardReducer","complianceData","gComplianceData","setgComplianceData","contactVolumeData","hrzntBarChrtAllData","hrzntlBarChrtData","profitLossAnalyticsChartData","profitLossAnalyticData","yearMonthRegionDrpdwnData","totalIncidentCardsData","totalIncidentCards","callTypeData","eDashBrdNotfnText","eDashBrdNtfnMsg","showLineModalPopup","setLineModalPopup","showBarLineModalPopup","setBarLineModalPopup","showContactVolLineChartModalPopup","setContactVolLineChartModalPopup","showContactVolBarChartModalPopup","setContactVolBarChartModalPopup","keyModalTitle","setKeyModalTitle","complianceModalTitle","setComplianceModalTitle","modalLineChartData","setModalLineChartData","modalLineAreChartOptionsConfig","setModalLineAreChartOptionsConfig","modalBarChartData","setModalBarChartData","contactVolumeLineChartData","setcontactVolumeLineChartData","contactVolumeLineChartLegendData","setcontactVolumeLineChartLegendData","DoughnutModalStackedChartLegendData","setDoughnutModalStackedChartLegendData","DoughnutModalChartLegendData","setDoughnutModalChartLegendData","modalStackedChartTxtNameData","setModalStackedChartTxtNameData","_useState39","_useState40","accountsHrzntlBarChrtData","setAccountsHrzntlBarChrtData","_useState41","_useState42","languagesHrzntlBarChrtData","setLanguagesHrzntlBarChrtData","_useState43","_useState44","callDisbtnActiveStatus","setcallDisbtnActiveStatus","prftLossHrzntLgnds","_useState45","_useState46","prftLossVrtclLgnds","setPrftLossVrtclLgnds","_useState47","_useState48","profitLossRegionalChartData","setProfitLossRegionalChartData","_useState49","_useState50","pfLossChartYaxisTxtName","setPFLossChartYaxisTxtName","_useState51","_useState52","pfLossChartYaxisScndTxtName","setPFLossChartYaxisScndTxtName","_useState53","_useState54","pfLossChartYaxisPrcntTxt","setPFLossChartYaxisPrcntTxt","_useState55","_useState56","yearMonthDropdownData","setYearMonthDropdownData","_useState57","_useState58","_useState59","_useState60","locationGroupDropdownData","setLocationGroupDropdownData","_useState61","_useState62","selectedyearMonthDropdownData","setSelectedYearMonthDropdownData","_useState63","_useState64","selectedRegionDropdownData","setSelectedRegionDropdownData","_useState65","_useState66","selectedLocationGroupDropdownData","setSelectedLocationGroupDropdownData","_useState67","_useState68","totalIncidntData","setTotalIncidntData","_useState69","_useState70","setChartBkgrndData","_useState71","_useState72","setBarChartData","_useState73","_useState74","setChartLabelData","_useState75","_useState76","setChartLegendData","_useState77","_useState78","setAnalyticsChartValAddtnlData","_useState79","_useState80","setAnalyticsChartValAddtnlTltpData","_useState81","_useState82","setTileData","_useState83","_useState84","eDashBrdNotfnTextMsg","setEDashBrdNotfnTextMsg","FetchAPIData","yr","rgn","lctn","getKPIData","getComplianceData","getHorizontalBarChartData","getProfitLossAnalyticData","getCallTypeData","keyDt","slice","bar_data","loadPFLossData","_yearMonthRegionDrpdw","_yearMonthRegionDrpdw2","_yearMonthRegionDrpdw3","_yearMonthRegionDrpdw4","_yearMonthRegionDrpdw5","yrMnth","rgns","locations","LocationGroup","_callTypeData$calltyp","bkgrnds","chrtData","val_addtnl_info","yr_mnth_tlptip","calltype","_itm$Value","lgnd","colour","Label","dtObj","vrtclLgnds","trend","pfLoss","handleModalLineChart","vals","compliance","handleViewRptModal","_data$Compliance","_data$Compliance2","lgnds","chart_data","cmpl","txtName","getStackedBarChartTxt","getCBVLgndIcons","getDoughnutLgndIcons","Calls_Contact_Volume_By_Channels_5","lcntGrpDt","yearmonth","getLineAreaChartData","objName","_data$VolumebyChannel","VolumebyChannels","_itm$MonthVolumes","datArr","MonthVolumes","sortorder","writingMode","textOrientation","transform","CloseWindow_Normal","Line","beforeDatasetsDraw","args","_chart$chartArea","_chart$scales","setLineDash","strokeRect","getPixelForValue","end","Bar","Chart","ReportTable","KPIReportHandler","KPI_pathname","setKPI_pathname","header_info","setHeader_info","setDownloadURL","moversShakersHandle","setMoversShakersHandle","TableInfoHandler","contact_tableInfo","abrate_tableInfo","AbandonRate","aht_TableInfo","AverageHandleTime","attrition_TableInfo","attritionData","fte_TableInfo","contactFTEData","cpc_TableInfo","CostPerContact","csat_TableInfo","CSATData","delivery_TableInfo","deliverySupport","digital_TableInfo","DigitalTrans","fcr_TableInfo","firstContactResolution","penalty_TableInfo","penaltyAtRisk","sla_TableInfo","SLAcompliance","prevLocationdrpdwnList","locationDrpdwnListData","reportTableHandler","setLocation_data","DeliverRegion","LocationInfo","LocationFilters","setTabKey","TblDataHandler","sort","temp_arr1","moversIcon","shakersIcon","Widget","widgetvalue","widgettooltip","isselected","moveDown","togglehandler","REMEMBER_LABEL","Banner","preference","setPreference","widgetPreferences","WidgetSelectorShown","herobanner","WidgetModal","WIDGET_HEADING","accountWidgets","widgetinfo","bool","skip_ButtonHandler","BUTTON_ONE","widget_ButtonHandler","BUTTON_TWO","WidgetModalPopup","CANCEL_BUTTON","CUSTOM_WIDGET_BUTTON","UPDATE_BUTTON","SKIP_BUTTON","AccountSelect","multiAccountsInfo","multiAccounts","savedAccountsInfo","selectedAccounts","accountInfo","setAccountInfo","showWidgetModal","setShowWidgetModal","multiAccountSelected","setMultiAccountSelected","widgetAccountSelected","setWidgetAccountSelected","setEditMode","noOfWidgetSelected","setNoOfWidgetSelected","setAccountName","showDeleteWidgetModal","setShowDeleteWidgetModal","editModal","setEditModal","widgetSelectedArr","setWidgetSelectedArr","selectAllChecked","setSelectAllChecked","savedAccounts","setSavedAccounts","widgets","array","setAccountWidgets","customerID_unique","setCustomerID_unique","AccountHandleData","AccountHandlerData","_widgets$CustomerID","_widgets$Widgets","customerIds","CustomWidgetHandler","selectedWidgets","acc","deleteWidgetID","setDeleteWidgetID","multiAccountWidgetModal","showMultiAccountWidgetModal","multiWidgetsOverwrite","setMultiWidgetsOverwrite","filteredAccounts","accounts","filteredCustomerIds","ids","MultiAccountAddWidget","setSelectedWidgetMulti","dispatchedItem","widgetID","selectedWidgetMulti","multiAccountDeleteModal","showMultiAccountDeleteModal","handleDeleteMultiWidget","filteredData","showCancelWidgetModal","setShowCancelWidgetModal","sureProceedModal","setSureProceedModal","handleMutliAddClick","tempUser","uniqueWidgets","c","resultWidgets","filteredResultWidgets","res","_AccountHandlerData$f","_AccountHandlerData$f2","AccountSelectHandle","index_acc","wid","deleteUniqueHandler","toggleHandleMulti","widget_ButtonHandlerMulti","handleDeleteWidget","handleCancelWidgets","accunt","LandingPage","ActivateModelPopup","UnsavedModel","handleYesButton","handleNoButton","handleSaveButton","gap","AdminNextModel","DataRetainModel","handleYesDataRetain","handleNoDataRetain","STAFF_ADMIN_ACTIONTYPES","GET_AVAILABLE_EMPLOYEES","AVAILABLE_EMPLOYEES","GET_SUPERVISOR_LIST","SUPERVISOR_LIST","UPDATE_NEW_USER_ROLE_START","UPDATE_NEW_USER_ROLE_SUCCESS","UPDATE_SUPERVISOR_EMPLOYEE_MAPPING_START","UPDATE_SUPERVISOR_EMPLOYEE_MAPPING_SUCCESS","UPDATE_ACCOUNT_EMPLOYEE_START","UPDATE_ACCOUNT_EMPLOYEE_SUCCESS","GET_ROLE_CATEGORY","ROLE_CATEGORY","GET_STAFF_ACCOUNTS","STAFF_ACCOUNTS","GET_ACCOUNT_ASSIGNMENT","ACCOUNT_ASSIGNMENT","GET_QUEUE_ASSIGNMENT","QUEUE_ASSIGNMENT","GET_ID_ASSIGNMENT","ID_ASSIGNMENT","GET_SLA_ASSIGNMENT","SLA_ASSIGNMENT","GET_VOLUME_ASSIGNMENT","VOLUME_ASSIGNMENT","UPDATE_QUEUE_ASSIGNMENT_START","UPDATE_QUEUE_ASSIGNMENT_SUCCESS","UPDATE_ID_ASSIGNMENT_START","UPDATE_ID_ASSIGNMENT_SUCCESS","UPDATE_SLA_ASSIGNMENT_START","UPDATE_SLA_ASSIGNMENT_SUCCESS","UPDATE_VOLUME_ASSIGNMENT_START","UPDATE_VOLUME_ASSIGNMENT_SUCCESS","GET_STAFF_PREVIEW","STAFF_PREVIEW","GET_MAPPED_EMPLOYEES","MAPPED_EMPLOYEES","GET_QUEUE_DATA","QUEUE_DATA","GET_VOLUME_TEMPLATES","VOLUME_TEMPLATES","GET_ACCOUNT_SLA","ACCOUNT_SLA","GET_ID_ACCOUNTS","ID_ACCOUNTS","GET_SLA_ACCOUNTS","SLA_ACCOUNTS","GET_VALID_SUPERVISOR","VALID_SUPERVISOR","GET_ACCOUNT_SLA_FOREDIT","ACCOUNT_SLA_FOREDIT","GET_VOLUME_TEMPLATES_FOREDIT","VOLUME_TEMPLATES_FOREDIT","SAVE_SUPERVISOR_MAPPING","getAvailableEmployees","getSupervisorList","updateNewUserRoleStart","updateNewUserRoleSuccess","updateSupervisorEmployeeMappingStart","updateSupervisorEmployeeMappingSuccess","updateAccountEmployeeStart","updateAccountEmployeeSuccess","getRoleCategory","getStaffAccounts","empId","supId","saveSupervisorMapping","getAccountAssignment","emp_id","sup_id","getQueueAssignment","getIdAssignment","getSlaAssignment","getVolumeAssignment","updateQueueAssignmentStart","updateQueueAssignmentSuccess","updateIdAssignmentStart","updateIdAssignmentSuccess","updateSlaAssignmentStart","updateSlaAssignmentSuccess","updateVolumeAssignmentStart","updateVolumeAssignmentSuccess","getStaffPreview","getMappedEmployees","getQueueData","getAccountSLA","getVolumeTemplates","getIDAccounts","getSLAAccounts","getAccountSLAForEdit","getVolumeTemplatesForEdit","AvailableEmployeesHandle","availableEmployees","staffAdminReducer","supervisorList","Search_Icon","_RoleBasedView$$Staff","_RoleBasedView$$Staff2","Active_Indication_Icon","StaffAdmin","_supervisorList$","_supervisorList$2","EmployeeName","EmployeeID","Email","Supervisor","SupervisorID","HireDate","NewExisting","onClickSupervisorAssign","MappedEmployeesHandle","_searchRows3","mappedEmployees","onClickEditEmployee","obj2","RoleCategory","UserRole","DATA","head","Inactive_Indication_Icon","Edit_Icon","Eye_ViewDetails_Icon","EmployeeAssign","staffAdminActiveTab","AddReleaseModalPopup","AddReleaseUpdate","publishedDate","setPublishedDate","addReleaseValidation","AddReleaseSubmit","editedValue","addValueToSelect","helperText","editReleaseInfo","handleEditReleaseDate","addDateToRelease","PublishedDateHandler","minDate","handleAddRelease","paddingTop","handleAddReleaseCancel","ReleaseCard","DateConverter","now","getDay","editHandler","deleteHandler","initialState","filteredDate","ReleaseHandler","LatestReleases","ProductionData","PlannedData","setCategory_data","showAddReleaseModal","setShowAddReleaseModal","showEditreleaseModal","setShowEditreleaseModal","showDeleteReleaseModal","setShowDeleteReleaseModal","deleteReleaseId","setDeleteReleaseId","addRelease","setAddRelease","editReleaseId","setEditReleaseId","setEditReleaseInfo","releaseUpdateData","setReleaseUpdateData","releasePlannedData","setReleasePlannedData","clickedState","setClickedState","formatFilteredDate","DateFormatHandler","dispatchItem","setAddReleaseValidation","filterByReferenceValue","filterByReferenceDate","FormatDateHandler","sub_year","sub_month","releaseFilters","productionFilters","plannedFilters","newRelease","floor","newReleaseObjCheck","newReleases","channel","newReleaseArr","releaseProps","newObj","category_release","editedRelease","serial","newPlanned","RequestRole","onAddinputhandler","handleSubmitRequest","RequestRoleModelPopup","Newemployee","_RoleBasedView$2$Staf","_RoleBasedView$2$Staf2","supervisorInfo","roleCategory","supervisorMapData","setSupervisorMapData","showRequestRole","setShowRequestRole","showRoleRequestSent","setShowRoleRequestSent","showDataRetainModel","setShowDataRetainModel","userRoleSelect","setUserRoleSelect","setcompareValidTo","formatDatefromString","seldate","m","SupEmployeeID","disptemp","dispYesDataRetainObj","YesNo","dispNoDataRetainObj","newEmployeeToggleChange","RoleName","AccountCreatedHandle","compareValidToDate","compareValidFromDate","ExistingValidToEmployee","ExistingValidFromEmployee","adminViewActionTypes","GET_ADMIN_ROLES","ADMIN_ROLES","GET_ACCESS_GROUP","ACCESS_GROUP","UPDATE_ACCESSGROUP_DATA_START","UPDATE_ACCESSGROUP_DATA_SUCCESS","UPDATE_ROLE_DELETE_START","UPDATE_ROLE_DELETE_SUCCESS","GET_OPERATIONS_DATA","OPERATIONS_DATA","UPDATE_OPERATIONS_DATA_START","UPDATE_OPERATIONS_DATA_SUCCESS","UPDATE_OPERATIONS_DELETE_START","UPDATE_OPERATIONS_DELETE_SUCCESS","GET_ACCESSGROUP_DATA","ACCESSGROUP_DATA","GET_ACCESSGROUP_EDIT_DATA","ACCESSGROUP_EDIT_DATA","GET_ACCESSGROUP_ADD_DATA","ACCESSGROUP_ADD_DATA","UPDATE_ACCESSGROUP_ADDEDIT_START","UPDATE_ACCESSGROUP_ADDEDIT_SUCCESS","UPDATE_ACCESSGROUP_DELETE_START","UPDATE_ACCESSGROUP_DELETE_SUCCESS","GET_TIMEZONE_DATA","TIMEZONE_DATA","UPDATE_ADD_USER_START","UPDATE_ADD_USER_SUCCESS","UPDATE_DELETE_USER_START","UPDATE_DELETE_USER_SUCCESS","GET_EDIT_USER_DATA","EDIT_USER_DATA","UPDATE_EDIT_USER_START","UPDATE_EDIT_USER_SUCCESS","GET_REGION_DATA","REGION_DATA","GET_UPN_VALIDATION","UPN_VALIDATION","GET_USERFLOW_USERS","USERFLOW_USERS","GET_USERFLOW_COUNT","USERFLOW_COUNT","SAVE_USER_STORED_FILTER","SAVE_USER_STORED_STATUS","GET_AUDITRBAC_DATA","AUDITRBAC_DATA","GET_AUDITROLE_DATA","AUDITROLE_DATA","getAdminRoles","getAccessGroup","updateAccessGroupDataStart","updateAccessGroupDataSuccess","updateRoleDeleteSuccess","getOperationsData","updateOperationsDataStart","updateOperationsDataSuccess","updateOperationsDeleteSuccess","getAccessGroupData","updateAccessGroupAddEditSuccess","updateAccessGroupDeleteSuccess","updateAddUserSuccess","updateDeleteUserSuccess","updateEditUserSuccess","getRegionData","getUserflowUsers","getUserflowCount","saveUserStoredStatus","getAuditRBACData","accessGroup","operation","AddRoleAccountModel","Rolename","SiteData","AccountsInfo","staffAccounts","regionData","adminViewReducer","addRoleAccount","setAddRoleAccount","editRoleAccountData","addValueToRoleAccount","_props$editRoleAccoun","_props$editRoleAccoun2","Region","SubmitHandler","addValueToTable","saveHandler","cancelHandler","AddRoleAccountPopup","UserDropdown","AccountAssignmentModal","addFormInfo","setAddFormInfo","editFormInfo","setEditFormInfo","editedInfo","accountRepeat","onAccountSubmitHandle","MOCKDATA","ACCOUNT_ASSIGNMENTS","Values2","ValidfromDateHandler","ValidtoDateHandler","QueueAssignmentAddModal","_QueueDataHandler","_QueueDataHandler2","selectedData","setSelectedData","checkedAll","setCheckedAll","queues","setqueues","QueueDataHandler","DispQueues","Queues","newData","addValueToStatus","opdata","toggle","QueueAssignmentModal","queueRepeat","IDAssignmentModal","addValueToID","handleAddFormValue","IDdata","IDaccountRepeat","SLAAssignmentModal","setPlaceholder","selectedtype","setSelectedType","setDescription","AccountsSLA","setAccountsSLA","AccountSLAID","setAccountSLAID","_props$editedInfo","_props$editedInfo2","_props$editedInfo3","value7","value8","SLATemplatesForEdit","accountSLAID","formatTypeManager","handleAddFormSLA","addDateToSLA","_temp_Arr$value","_temp_Arr$value2","slaRepeat","SLAData","isValidType","FormatTypeValidation","isWeightingValidated","slaAccounts","VolumeAssignmentModal","AccountsVolumetric","setAccountsVolumetric","AccountVolumeID","setAccountVolumeID","_props$editedInfo4","_props$editedInfo5","_props$editedInfo6","VolumeTemplatesForEdit","accountVoumetricID","_temp_Arr$value3","_temp_Arr$value4","volumeRepeat","VolumeData","VolumeTemplates","QueueassignPopup","QueueassignAddPopup","SLAModalPopup","_ref3","EmployeeTabHandler","queueLists","SLATemplates","accountSLA","volumeTemplates","accountSLAForEdit","volumeTemplatesForEdit","idAccounts","AddTab","setAddTab","imgSrc","setImgSrc","AddAccount_Icon","setTab","editRowID","setEditRowID","setSearchColumns","setIDData","setSLAData","setVolumeData","setHeaderData","VolumeID","setVolumeID","endDateKey","setEndDateKey","slashow","setslaShow","StaffAdminData","Add_Queue_Icon","QUEUE_ASSIGNMENTS","AddID_Icon","ID_ASSIGNMENTS","Add_SLA_KPI_Icon","SLA_ASSIGNMENTS","Add_Volumetric_Icon","VOLUME_ASSIGNMENTS","slaId","setShowaddAccountModal","newids","setShowAddIDModal","newslas","setShowAddSLAModal","newvolumes","setShowAddVolumeModal","DispatchObjectManager","dispatchObjHandle","CustomerType","IDAssigned","Target","Weighting","AccountVolumetricID","showAddIDModal","showAddSLAModal","showAddVolumeModal","showEditIDModal","setShowEditIDModal","showEditSLAModal","setShowEditSLAModal","showEditVolumeModal","setShowEditVolumeModal","EditModalHandleClick","EditModalHandler","editedData","editedAccount","editedId","editedSLA","editedVolume","volume","handleEditQueueCancel","TableDataHandler","o1","o2","AddModalHandleClick","Inactive_Img","_RoleBasedView$3$Staf","_RoleBasedView$3$Staf2","PreviewTab","PreviewToggle","Volumetrics","imgclass","EmployeeDetails","_accountUpdatedData$3","_accountUpdatedData$4","_queueUpdatedData$3","_queueUpdatedData$4","_IDUpdatedData$3","_IDUpdatedData$4","_SLAUpdatedData$3","_SLAUpdatedData$4","_VolumeUpdatedData$3","_VolumeUpdatedData$4","_accountUpdatedData$6","_accountUpdatedData$7","_queueUpdatedData$6","_queueUpdatedData$7","_IDUpdatedData$6","_IDUpdatedData$7","_SLAUpdatedData$6","_SLAUpdatedData$7","_VolumeUpdatedData$6","_VolumeUpdatedData$7","accountAssignmentStaff","idAssignment","queueAssignment","staffPreview","slaAssignment","volumeAssignment","accountImgSrc","setAccountImgSrc","AWSImgSrc","setAWSImgSrc","SLAImgSrc","setSLAImgSrc","IDImgSrc","setIDImgSrc","VolumeImgSrc","setVolumeImgSrc","showUnsavedModal","setShowUnsavedModal","accountUpdatedData","setAccountUpdatedData","queueUpdatedData","setQueueUpdatedData","IDUpdatedData","setIDUpdatedData","SLAUpdatedData","setSLAUpdatedData","VolumeUpdatedData","setVolumeUpdatedData","isAccountCreated","setIsAccountCreated","accountNotCreated","setAccountNotCreated","showUnsavedNextModal","setShowUnsavedNextModal","showUnsavedPreviousModal","setShowUnsavedPreviousModal","showUnsavedbreadcrumbModal","setShowUnsavedbreadcrumbModal","accountModifiedData","setAccountModifiedData","queueModifiedData","setQueueModifiedData","IDModifiedData","setIDModifiedData","SLAModifiedData","setSLAModifiedData","VolumeModifiedData","setVolumeModifiedData","compareValidTo","Account_Assignment_HoverStateIcon","AWSQueueLanguage_Assignment_NormalStateIcon","SLA_KPI_AssignmentWeighting_NormalStateIcon","ID_Assignment_NormalStateIcon","Volumetric_Normal_Icon","Preview_NormalStateIcon","Account_Assignment_NormalStateIcon","AWSQueueLanguage_Assignment_HoverStateIcon","ID_Assignment_HoverStateIcon","SLA_KPI_AssignmentWeighting_HoverStateIcon","Volumetric_Hover_Icon","Preview_HoverStateIcon","customerType","arrqueue","arrid","idAssigned","systemName","arrsla","weighting","arrVolume","accountVolumetricTempalteID","validationCancelHandle","resolve","validationNextHandle","_accountUpdatedData$2","_queueUpdatedData$2","_IDUpdatedData$2","_SLAUpdatedData$2","_VolumeUpdatedData$2","accountValidation","queueValidation","IdValidation","SLAValidation","volumeValidation","TabChangeValidation","staffAdminTabButtonHandle","ValidatePreviousData","_accountUpdatedData$5","_queueUpdatedData$5","_IDUpdatedData$5","_SLAUpdatedData$5","_VolumeUpdatedData$5","previousButtonHandler","_accountUpdatedData$","_queueUpdatedData$","_IDUpdatedData$","_SLAUpdatedData$","_VolumeUpdatedData$","accountUpdateDetails","CompareAccountValidDates","queueUpdateDetails","CompareQueueValidDates","IDUpdateDetails","CompareIDValidDates","SLAUpdateDetails","CompareSLAValidDates","VolumeUpdateDetails","CompareVolumeValidDates","showpath","setShowpath","NewEmployeeToggle","setNewEmployeeToggle","ToggleValidation","setToggleValidation","BreadcrumbValidationHandler","FirstVisitor","url","isLocalhost","HeroBannerImg","GSDLogo","clear","RolespecificImg","HelpcenterImg","DXCLogoImg","UserLandingPage","UserLandingHandler","FilterTab","_props$counters","_props$counters$Total","_props$counters2","_props$counters2$Voic","_props$counters3","_props$counters3$Non","setSelectedDate","displayimage","selectedItem","HandleSLAMonth","counters","Total","GenericModal","Exemption_initialState","comments","penalty","ExemptionModalHandler","selectedType","addExemptionForm","setAddExemptionForm","ExemptionData","Comments","Penalty","onChangeExemptionRadio","onChangeExemptionInput","handleExemptionFormSubmit","SLA_name","CancelBtnHandler","RequestModalHandler","ExclusionName","userEmail","RequestClosehandler","slaFailure_actionTypes","GET_EXEMPTION_DATA_START","GET_EXEMPTION_DATA_SUCCESS","UPDATE_EXISTING_COMMENT_START","UPDATE_EXISTING_COMMENT_SUCCESS","GET_EXCLUSION_DATA_START","GET_EXCLUSION_DATA_SUCCESS","UPDATE_EXCLUSION_COMMENT_START","UPDATE_EXCLUSION_COMMENT_SUCCESS","getExemptionDataStart","custId","servId","updateExistingCommentStart","updateExistingCommentSuccess","getExclusionDataStart","updateExclusionCommentStart","updateExclusionCommentSuccess","TableBodyHandler","_info$Performance","_info$Performance2","_info$Performance3","updateExistingComment","setExemptionData","showAccordion","setShowAccordion","showExemptionModal","setShowExemptionModal","exemptionModalInfo","setExemptionModalInfo","currentDateHandler","getUTCMonth","getUTCDate","getUTCFullYear","hours","getHours","minutes","getMinutes","seconds","getSeconds","newdate","newTime","current_date","createdUserDetails","penaltyExemptionHandler","DateHandle","str","_info$Comments","Commenter","CommentDate","Month","Performance","Met","All","Collapse_UpArrow","Expand_DownArrow","AddComments_Icon","colSpan","header2","newExemption","newExemptions","SLAExemptionHandler","_RoleBasedView$$SLAEx","_RoleBasedView$$SLAEx2","_ExemptionData$","_ExemptionData$$Custo","_ExemptionData$2","_ExemptionData$2$Serv","_ExemptionData$3","_ExemptionData$3$Cust","_ExemptionData$4","_ExemptionData$4$Serv","_ExemptionData$5","_ExemptionData$5$Coun","_ExemptionData$6","_ExemptionData$6$Rows","_ExemptionData$7","_ExemptionData$8","_ExemptionData$9","slaFailureReducer","formatMonthDate","Comment","Number","SLAExemption","buttonValue","SLADataExclusion_Icon","Counters","Rows","_RoleBasedView$2$SLAE","_RoleBasedView$2$SLAE2","ActivationRequestModal","_props$data3","_props$data4","_props$data2","handleSubmitClick","handleinvalidSubmitClick","handleCancelClick","RequestSentModal","_props$data5","_props$data6","_props$data7","CreatedBy","formatTime","time","formatTimeIST","AddDateTimeFormat","setStartTime","setEndTime","onChangeExclusionDate","ampm","keyboardIcon","clock_normal","onClickDeleteButton","Remove_Dates","ExclusionModalHandler","ExclusionData","displayRows","setDisplayRows","commentAttribute","setCommentAttribute","onChangeExclusionInput","handleExclusionFormSubmit","allDisplayRows","updateDisplayRows","getDeletedRows","Add_Dates","showExclusionModal","setShowExclusionModal","setAddExclusionID","ExclusionComments","setExclusionComments","showRequestModal","setShowRequestModal","exclusionModalInfo","setExclusionModalInfo","WDE","header2WDE","comment","_comment$Data","details","newExclusion","filterd","dataArr","SLAExclusionHandler","_ExclusionData$","_ExclusionData$$Custo","_ExclusionData$2","_ExclusionData$2$Serv","_ExclusionData$3","_ExclusionData$3$Cust","_ExclusionData$4","_ExclusionData$4$Serv","_ExclusionData$5","_ExclusionData$5$Coun","_ExclusionData$6","_ExclusionData$6$Rows","_ExclusionData$7","_ExclusionData$8","_ExclusionData$9","SLAFailureExemption","headerWDE","AccountsOffcanvas","ScorCardOffCanvasData","AccountsOffcanvasTL","AgentScoreCard","_ScorCardData$blocks","ScoreCardData","ScorCardData","selectedAgentScoreCardDate","showOffCanvas","setShowOffCanvas","AboveRequiredTarget_Status","AboveMinimalTarget_Status","BelowMinimalTarget_Status","agentname","employeeid","FTE","PerformanceScoreCup","score","ScorePM","AccountAssignmentIcon","Headers","OnboardLanding","_RoleBasedView$$Accou","_RoleBasedView$$Accou2","onboardAccounts","onboardAccountsData","setOnboardAccountsData","viewDetailsID","setViewDetailsID","deleteAccountObj","setDeleteAccountObj","StatusHandleIcon","StatusHandleText","StatusColorHandle","statusCode","showDeleteModal","setShowDeleteModal","showAccountDeletedModal","setShowAccountDeletedModal","AccountEditDetailsHandle","selectedAccount","temp_arr2","AccountOnboard","AccountCreateDetails","RowNo","AccountDeleteHandle","AccountViewDetailsHandle","handleYesDeleteAccount","handleNoDeleteAccount","AdminRequestPopup","AdminRequestModel","hiddenFileInput","EditRequestForm","_props$EditRequestFor","dispatchFileName","handleRequestFormSubmit","AssigneeMail","assignee","AdminStatus","UserDetails","handleUserAddRequest","substr","DeleteUploadedFile","handleEditRequestCancel","UserReuqestModal","_props$EditRequestFor2","types","UserStatus","handleRequestFormCancel","RequestTableHandle","_info$UserComments","_info$AdminComments","HandleEditRequestClick","SetID","urlfile","RequestDateFormat","View","IncidentID","UserComments","update","borderTop","FileStore","textDecoration","FileName","AdminComments","UpdatedTS","request_actionTypes","GET_REQUEST_DATA","REQUEST_DATA","UPDATE_NEW_REQUEST_START","UPDATE_NEW_REQUEST_SUCCESS","UPDATE_EDIT_REQUEST_START","UPDATE_EDIT_REQUEST_SUCCESS","GET_ADMIN_REQUEST_DATA","ADMIN_REQUEST_DATA","UPDATE_EDIT_ADMIN_REQUEST_START","UPDATE_EDIT_ADMIN_REQUEST_SUCCESS","GET_REQUEST_DROPDOWN_DATA","REQUEST_DROPDOWN_DATA","GET_UPLOADED_FILE_DATA","UPLOADED_FILE_DATA","getRequestData","requesttype","updateNewRequestSuccess","updateEditRequestSuccess","getAdminRequestData","getRequestDropdownData","RequestIncidentMain","_RequestDropdownData$","_RequestDropdownData$2","RequestData","requestReducer","RequestDropdownData","RequestIncidentData","setRequestIncidentData","showAddRequestModel","setShowAddRequestModel","showEditRequestModal","setShowEditRequestModal","reuqestDate","setRequestDate","AddRequestForm","setAddRequestForm","editRequestID","setEditRequestID","setEditrequestForm","uploadedFileId","setUploadedFileId","uploadedFileName","setUploadedFileName","async","axios","fileId","deleteFile","CompleteTask","setCompleteTask","_info$TaskDetails","_info$TaskDetails$","_info$TaskDetails2","_info$TaskDetails2$","_info$TaskDetails3","_info$TaskDetails3$","createdDate","TaskDetails","filterSelected","setFilterSelected","statusSelected","setStatusSelected","isRefreshClicked","setIsRefreshedClicked","isActive1","UserHeader","addValueToRequest","temp_details","temp_updates","newRequests","assign","dispatchObj","editValueToRequest","dispatchEditObj","_newRequests$index","_newRequests$index2","editedRequestUpdates","admindata","newRequest","RequestTab","Incidents_Image","closeWindow","WindowClose_Icon","EmailTab","Email_HeroImage","RequestTabPopup","VideoModelPopup","GithubHeader","solution","setSolution","GSDInsight_Logo","Menu_UpArrow","Menu_DownArrow","WHY_GSD","PRODUCTS","RELEASES","SUPPORT","Footer","showRequestModel","setShowRequestModel","showEmailModel","setShowEmailModel","DXC_Logo_Footer_Normal","WhyGsd","row1","setRow1","row2","setRow2","CentralisedData_Image","Availability_Image","Customisation_Image","column2","EasytoAccess_Image","Presentation_Image","TopDownBottomUp_Image","score_card","global_KPI","WhyGSDInsight_HeroBanner","objectFit","github_actionTypes","GET_TILES_DATA","TILES_DATA","developerCard","errorVisibility","designCard","TilesData","githubReducer","arguments","action","setDeveloperCard","PlatformVideo","controls","autoplay","INFO_CARDS","imgsrc","GitHubPage","_TilesData$","_TilesData$2","_TilesData$3","_TilesData$4","_TilesData$5","showVideoModel","setShowVideoModel","GRID_TEXT","HeroBanner","cards","Vertical_Strip_Icon","Achievements_Image","OnboardSteps_Image","WhatisGSDInsight_Image","UploadActionTypes","SET_SELECTED_VOLUME_FIELDS","SET_SELECTED_SLAKPI_FIELDS","SET_SELECTED_ACCOUNT_DETAILS","SET_SELECTED_SLAKLP_VOLUME_TAB","SET_SELECTED_VOICE_NONVOICE_TAB","SET_SELECTED_VOICE_NONVOICE_ITEM","SET_DATA_ADMINISTRATION_VALIDATION","SET_SELECTED_VOLUME_SLA_DATE","SET_SELECTED_ITEM","GET_UPLOAD_ACCOUNTS","UPLOAD_ACCOUNTS","GET_SLAKPI_VOLUME_TEMPLATES","SLAKPI_VOLUME_TEMPLATES","UPDATE_SELECTED_SLAKPI_VOLUME_START","UPDATE_SELECTED_SLAKPI_VOLUME_SUCCESS","UPDATE_CUSTOM_TEMPLATE_START","UPDATE_CUSTOM_TEMPLATE_SUCCESS","GET_FILE_UPLOAD_DATA","FILE_UPLOAD_DATA","UPDATE_FILE_UPLOAD_DATA_START","UPDATE_FILE_UPLOAD_DATA_SUCCESS","GET_NONVOICE_CARDS_DATA","NONVOICE_CARDS_DATA","GET_UPLOAD_PRIVIEW_DATA","UPLOAD_PRIVIEW_DATA","GET_VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA","VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA","UPDATE_VOLUME_SLAKPI_DATA_START","UPDATE_VOLUME_SLAKPI_DATA_SUCCESS","GET_VOICENONVOICE_ITEMS","VOICENONVOICE_ITEMS","setSelectedVolumeFields","setSelectedSLAKPIFields","setSelectedAccountDetails","setSelectedSLAKPIVolumeTab","setSelectedVoiceNonVoiceTab","setSelectedVoiceNonVoiceItem","setDataAdministrationValidation","setSelectedVolumeSlaDate","setSelectedItem","getUploadAccounts","getSLAKPIVolumeTemplates","itemID","updateSelectedSLAKPIVolumeStart","updateSelectedSLAKPIVolumeSuccess","updateCustomTemplateStart","updateCustomTemplateSuccess","getFileUploadData","servicedeskID","selectedVoiceNonVoiceTab","updateFileUploadDataStart","updateFileUploadDataSuccess","getNonvoiceCardsData","getVolumeSlakpiSelectedTemplatesData","updateVolumeSLAKPIDataStart","updateVolumeSLAKPIDataSuccess","getVoiceNonvoiceItems","ItemSelectionModalPopup","ItemSelectionModal","voicenonvoiceitems","uploadReducer","setselectedItem","ItemId","setItemId","ItemName","ItemID","handleFileUploadCancel","UploadAccountList","uploadAccounts","showRequestForm","setShowRequestForm","showRequestSent","setShowRequestSent","showNonvoiceItemSelectionModel","setShowNonvoiceItemSelectionModel","menuoptions","FileUpload_Icon","UploadAdministration_Icon","setSelectedAccount","dropdownIndex","setDropdownIndex","Admindata","rowId","menuIcon","UploadPreview","_UploadpreviewData$","_UploadpreviewData$$V","_UploadpreviewData$$V2","_UploadpreviewData$2","_UploadpreviewData$3","SelectedAccountDetails","UploadpreviewData","getUploadPreviewData","VoiceHeader","NonVoiceHeader","FileUploadModalPopup","PERIOD","FileUploadFragment","_props$editFileUpload5","SelectedVoiceNonVoiceTab","SelectedVoiceNonVoiceItem","setMonth","setDay","addFileUpload","setAddFileUpload","addDateToFileUpload","period","selectedValue","setSelectedValue","dates","setDates","DateHandler","validity","valids","fileName","setFileName","fileSize","setFileSize","fileFormat","setFileFormat","_props$editFileUpload","_props$editFileUpload2","_props$editFileUpload3","_props$editFileUpload4","editFileUpload","FileStoreID","Period","DisplayPeriodHandle","MAX_SIZE_MB","alignItems","ValidationData","HEADERS","FileUploadhandler","_RoleBasedView$$File","_RoleBasedView$$File$","FileUploadData","fileUploadData","setFileUploadData","showAddFileModal","setShowAddFileModal","_RoleBasedView$2$File","_RoleBasedView$2$File2","Format","Size","isEditableForDate","selectedVolumeSlaDate","currentMonth","currentYear","selectedMonth","selectedYear","FormInputFormat","field","AddValueToUploadForm","RBACEditable","isEditable","hasInteracted","setHasInteracted","inputValues","setInputValues","item1","item2","item3","newValues","Divider","calculateResult","num2","num3","perc2","perc3","seconds2","seconds3","totalSecondsResult","padStart","prevValues","onUploadFormChange","startsWith","test","TemplateDescription","placeholderHandle","readOnly","FormInputText","setValue","secondsToTime","secs","String","validationError","validateInput","convertTimeToSeconds","FormFieldHandler","volumeSlakpiSelectedTemplates","setData","addUploadForm","setAddUploadForm","filterData","dataSaved","setDataSaved","Download_Normal","noCols","FormFieldManager","onClickSaveHandler","UploadAccordion","openAccordion","onAccordionOpen","VoiceTabDetails","setOpenAccordion","dataAdministrationValidation","NonVoicetabDetails","NonvoiceCardsData","SelectedDateHandler","removeItem","Deleted","UploadNavigation","SelectedVolumeFields","SelectedSLAKPIFields","uploadTabHandler","FormType","AddFormModal","_props$editFormField","_props$editFormField2","_props$editFormField3","SelectedSLAKPIVolumeTab","AddFormField","setAddFormField","check","setCheck","editFormField","handleFormFieldChange","DispObj","newFormatType","addValueToUser","Contractual_SLA_Icon","handleEditCustomTemplate","handleEditFormField","handleAddCustomTemplate","RequiredFields","handleAddTemplateModelClose","AddVolumePopup","CancelFieldFragment","FormField","onClickEdit","edit","toggleView","FormFieldHandle","_RoleBasedView$4$File","_RoleBasedView$4$File2","showAddVolume","setShowAddVolume","setEditFormField","editFieldID","setEditFieldID","selectedTemplates","setSelectedTemplates","onClickSaveFormField","onTemplateChange","templatesToDispatch","template","AccountID","SLATemplateID","templateID","ServicedeskID","Category","shiftToSLAKPITab","onClickCancelButton","updatedTemplates","_RoleBasedView$3$File","_RoleBasedView$3$File2","onClickEditForm","toggleTemplate","prevTemplates","editedRow","DataAdministration","SlaKpiVolumeTemplates","fieldKey","setfieldKey","handler","onSaveButtonClick","fields","templateChanges","VerticalBarChart","heading","yAxesTitle","xAxesTitle","StackedBarCharts","numerator","difference","stackedData","stackedColor","StackedLineBarCharts","CalendarModel","closewindow","CalendarvaluesModel","Arrcolor","PastMonthTrendsModel","CalendarModelpopup","DTMAnalyticsHandler","_tooltip","_DTMAnalyticsData$cur","_DTMAnalyticsData$cur2","_DTMAnalyticsData$cur3","_DTMAnalyticsData$cur4","reportcustomerID","reportserviceID","rgnServiceID","selectedSLA","reportcustomerName","selectedCustIDServID","DTMAnalytics","DTMHalfHour","DTMMonthlyData","totalSeconds","setCurrentDate","myDate","obj1","obj3","DTMAnalyticsData","setDTMAnalyticsData","DTMHalfHourData","setDTMHalfHourData","DTMMonthlyInfo","setDTMMonthlyInfo","monthlyoptions","_label$chart","_label$chart$tooltip","_label$chart$tooltip$","setShowOffCanvasModel","OnClickBarHandle","_defineProperty","raw","onHover","chartElement","native","timeoptions","xAxes","maxRotation","minRotation","yAxes","cornerRadius","caretSize","bodyFont","callbacks","DTMoptions","showOffCanvasModel","showCalendarModel","setShowCalendarModel","daysInMonth","DTMLabelsHandler","n","monthName","setDate","DTMChartsDataHandler","_data$label","temp_dtm","_data$fvalue","fvalue","dataFixedvValues","targetValue","setTargetValue","CalendarDailyValues","_DTMAnalyticsData$dai","dailyperformance","_parseFloat","calendar","setCalendar","weekOfTheYear","setWeekOfTheYear","clone","startOf","endOf","_temp_calendar$","_temp_calendar","startDay","endDay","subtract","temp_calendar","Array","add","temp_arr_one","temp_arr_two","temp_week","ReportRedirect","_DTMAnalytics$service","_DTMAnalytics$custome","_DTMAnalytics$custome3","_DTMAnalytics$custome4","_DTMAnalytics$custome5","_DTMAnalytics$service3","_DTMAnalytics$service2","_DTMAnalytics$custome2","image","htmlToImage","getElementById","quality","dataUrl","createElement","download","Download_Icon","currentmonth","calendarClickHandle","DTMAnalyticsSLA","_DTMAnalyticsData$sla","_DTMAnalyticsData$sla2","_DTMAnalyticsData$sla3","_DTMAnalyticsData$sla4","_DTMAnalyticsData$sla5","_DTMAnalyticsData$sla6","_DTMAnalyticsData$sla7","_DTMAnalyticsData$sla8","_DTMAnalyticsData$sla9","_DTMAnalyticsData$sla10","_DTMAnalyticsData$sla11","_DTMAnalyticsData$sla12","_DTMAnalyticsData$sla13","_DTMAnalyticsData$sla14","_DTMAnalyticsData$sla15","_DTMAnalyticsData$sla16","_DTMAnalyticsData$sla17","_DTMAnalyticsData$sla18","_DTMAnalyticsData$sla19","_DTMAnalyticsData$sla20","_DTMAnalyticsData$sla21","_DTMAnalyticsData$sla22","_DTMAnalyticsData$sla29","_DTMAnalyticsData$sla30","_DTMAnalyticsData$sla31","_DTMAnalyticsData$sla32","_DTMAnalyticsData$sla33","_DTMAnalyticsData$sla34","_DTMAnalyticsData$sla35","_DTMAnalyticsData$sla36","_DTMAnalyticsData$sla37","_DTMAnalyticsData$sla38","_DTMAnalyticsData$sla39","_DTMAnalyticsData$sla40","showCalendarvalueModel","setShowCalendarvalueModel","weekIndex","setWeekIndex","showPastMonthTrends","setShowPastMonthTrends","showPerformanceVolume","setShowPerformanceVolume","_context$chart","_context$chart$toolti","_context$chart$toolti2","performanceoptions","_context$chart2","_context$chart2$toolt","_context$chart2$toolt2","_DTMAnalyticsData$day","daytomonth","denominator","temp_daily","_DTMAnalyticsData$hal","temp_half","halfhourdata","_DTMHalfHourData$half","_DTMMonthlyInfo$month","temp_pastMonth","monthdata","_DTMMonthlyInfo$month2","temp_perf","DTMStackedChartsDataHandler","_DTMAnalyticsData$day2","_DTMAnalyticsData$dai2","_DTMAnalyticsData$hal2","_DTMHalfHourData$half2","_DTMMonthlyInfo$month3","DTMLineBarBgAdjustHandle","_DTMAnalyticsData$dai4","_week$","_week$2","exportAsPicture","slasetting","expectedtarget","minimumtarget","lineData","_CalendarDailyValues","_CalendarDailyValues2","_DTMAnalyticsData$sla23","_DTMAnalyticsData$sla24","_CalendarDailyValues3","_DTMAnalyticsData$sla25","_DTMAnalyticsData$sla26","_CalendarDailyValues4","_DTMAnalyticsData$sla27","_DTMAnalyticsData$sla28","_CalendarDailyValues5","_CalendarDailyValues6","_CalendarDailyValues7","_DTMAnalyticsData$dai3","formatDatehandle","AdminLanding","AdminAccounts","adminData","setAdminData","menuOptions","SLAFailureExemption_Icon","edit_Icon","onClickAccountRow","updateAccountDetails","ReactTrails","GetStarted","GetStarted_HeroBanner","VerticalLine","Architecture","Architecture_Cards","imgsrc1","imgsrc2","Conceptual_Architecture","ConceptualArchitecture","imgWidth","imgHeight","Functional_Architecture","FunctionalArchitecture","Technical_Architecture","TechnicalArchitecture","Carousal_Cards","thumbnail","AdminRole_InformationArchitecture","Administrator_Role","Executive_Role","Account_Delivery_Role","SiteLeaderRole_InformationArchitecture","Site_Leader_Role","ServicetDeliveryManagerRole_InformationArchitecture","Service_Delivery_Manager_Role","Operations_Delivery_Manager_Role","Operations_Manager_Role","Team_Leader_Role","ServiceDeliverySpecialistRole","Serviced_Delivery_Specialist_Role","Subject_Matter_Expert_Role","Coach_Trainer_Role","Agent_Role","Site_Viewer_Role","onClickCarouselCard","temp_obj","Architecture_HeroBanner","carousel","Functional_Cards","NonFunctional_Cards","text1","text2","text3","text4","text5","text6","text7","user_exp","ProductRequirements","nonFunctionalTooltip","setNonFunctionalTooltip","nonFuctionalIndex","setNonFunctionalIndex","functionalTooltip","setFunctionalTooltip","ProductRequirement_HeroBanner","onClickFunctional","onClickNonFunctional","UserExperienceEnsurance","ArchitectCards","displayInfo","githubCarouselData","Close_NormalState","Developer_Cards","DeveloperLanding","Developer_HeroImage","RightArrow_Hover","DeveloperOffcanvas","sql_headers","SQL_DATA","window_platform","window_platform_data","AWS_Instance","AWS_Instance_DATA","AWS_Instance_DATA2","Balancer","Balancer_DATA","SERVER","SERVER_APP","InfraStructure","Instance","FQDN","IP","OperatingSystem","RDP","gridGap","InstanceName","InstanceRegion","IPAddress","BackupRetention","Maintenance","CREATE_ACCOUNT","REQUEST_ACCOUNT","VERIFY_ACCOUNT","DeveloperAccess","DeveloperAccess_logo","DeveloperAccess_step1","DeveloperAccess_step2","DEDICATED_TOOLS","GENERIC_ONES","CODE_ETIQUETTE","NAMING_CONVENTIONS","BASIC_REFERENCES","BASIC_REFERENCES_DATA","MARKDOWN_FILES","MARKDOWN_FILES_DATA","MARKDOWN_LIST","DeveloperGuidelines","tooltipText","setTooltipText","showUseStrictTooltip","setShowUseStrictTooltip","showUseStrict2Tooltip","setShowUseStrict2Tooltip","showPreferredTooltip","setShowPreferredTooltip","showNormalIfTooltip","setShowNormalIfTooltip","showDoubleIfTooltip","setShowDoubleIfTooltip","copyElementToClipboard","getSelection","removeAllRanges","range","createRange","selectNode","addRange","execCommand","MASTER_REPO","CopyToClipboard","Term","Developerguidelines","docs","DeveloperGuidelines_Summary","Developer_Guidelines_pushorigin","fetchorigin","syncupstreammaster","list","DevelopmentEnvironment","DOC_LOCATION","DOC_LOCATION_DATA","Document","ARTICLE","ARTICLE_DATA","OtherArticles","arrange_list","DocumentationStandards","showArrangeTooltip","setShowArrangeTooltip","showArchiveTooltip","setShowArchiveTooltip","DocumentationStandards_commits","List","process_list","Enhancement","Enhancement_UAT","ReleaseandBuildGuides","ReleaseandBuild","ProductMaintenance","APP_SUPPORT_TEAM","REQUIREMENTS","main","CLOUD_V2","DeveloperSupport","DeveloperSupportIcon","Developercreatenew","CloudSupport","DesignPrinciples","DeveloperCards","DeveloperCardDisplay","security_Cards","GSD_URL","GSD_URL_LIST","GLOBAL_SLA_KPI","User_HeroBanner","Environment","GSD_UI_URL","RBAC_LIST","Benefits","Implementing","Documents","Security","Security_HeroBanner_Image","BUSINESS_REQUIREMENTS","DATA_SOURCE","GSDInsight","Aceyus","OverView","Overview_Product_Selection_Image","RECORDED_CARDS","TRAINING_MATERIAL","Training","Training_HeroBanner","Training_Materials","Design","Design_HeroBanner_Image","Database","user","Organizational","RBAC","Measure","OLAP","MsTeams","DesignCards","DesignCardDisplay","reports","Features","Features_HeroBanner","Features_Recommendation","NotDesigned","FAQ","FAQ_HeroBanner","AdminTableHandle","min","sec","Assignee","AdminRequestMain","_RequestDropdownData$3","_RequestDropdownData$4","AdminRequestData","showEditAdminRequestModel","setShowEditAdminRequestModel","assigneeSelected","setAssigneeSelected","createdBy","UserAttachedFiles","ADMIN_DATA","AssigneeFilter","userData","AdminViewDeleteModel","InformationText","AfterInfoText","handleDeleteYes","handleDeleteNo","AdminViewCannotDeleteModel","RolesTableAdminView","AccessGroupData","showCannotDeleteModal","setShowCannotDeleteModal","editData","Mode","editInfo","_data$OperationList","AccessGroup","OperationList","Operation","RoleID","deleteObj","AdminRolesFlow","adminViewRoleData","AddAdminViewRolePage","EditData","showAccessGroupModal","setShowAccessGroupModal","addAccessGroup","setAddAccessGroup","addTableRow","setAddTableRow","HandleAddQueue","accessdata","AccessGroupID","AccessIds","AccessGroupId","temparr","dispobj","AccessModalPopup","AccessGroupDropdownModel","handleCancelAccessGroup","_operationlist$","_operationlist$2","accessGroupData","addselectedAccessGroup","setAddselectedAccessGroup","operationlist","handleSubmit","OperationsAddModel","editOperationData","addOperation","setAddOperation","HandleAddOperations","OperationName","handleSubmitOperation","handleCancelOperation","OperationsModalPopup","OperationsMain","operationsMainData","operationsData","setEditOperationData","showOperationAddModal","setShowOperationAddModal","delete_arr","AdminViewFirstPage","_userflowCount$","accessGroupMainData","userflowCount","count","AccessGroupTableView","_info$OperationList","showDeleteAccessGroupModal","setShowDeleteAccessGroupModal","AccessGroupMain","_accessGroupAddData$","accessGroupAddData","addData","AccessGroupAddEdit","_editAPIData$","accessGroupEditData","editAPIData","setEditAPIData","accessgroupid","HandleAddAccessGroup","editoperationlist","_React$useState","_React$useState2","OperationIds","access","OperationId","updateAccessGroupAddEditStart","filterQuery","UsersMain","userflowUsers","EditUserData","saveUserStoredFilters","saveUserStoredFilter","setStatus","APIstatus","setAPIStatus","editDataID","setEditDataID","userId","getData","clearTimeout","deleteUserId","setDeleteUserId","editmode","photo","deleteuserHandle","AddUsers","timezoneData","UPNValidation","addUser","setAddUser","addUserTableData","setAddUserTableData","_EditData$","RoleAssignment","HandleAddUser","showAddRoleAccountModel","setShowAddRoleAccountModel","setEditRoleAccountData","tableRow","setTableRow","deleteRowid","setDeleteRowid","deleteRowData","setDeleteRowData","UPN","Blocked","City","Country","TimeZone","dispEditobj","_EditData$3","_EditData$4","tempArraydetails","Accouunt","Site","UserID","upnValidation","_EditData$2","_UPNValidation$","ValidUntilDateHandler","parse","editrowdata","deletedata","_id","AssignedAccountsTblModel","_agentsKPIAccountsDat","_agentsKPIAccountsDat2","agentsKPIAccountsData","Agent","closeModel","Accounts","MonthYear","AssignedAccountsTblPopUp","AgentsTableComponent","_agentsGraphData$","_agentsGraphData$2","_agentsGraphData$3","_agentsKPISummaryData","_agentsKPISummaryData2","_agentsGraphData$4","_agentsGraphData$5","_agentsGraphData$6","_agentsGraphData$7","agentsKPISummaryData","selectedTab","agentsGraphData","YAxis","showAccAsgnMdl","SetShowAccAsgnMdl","showStaffedTimeMdl","SetShowStaffedTimeMdl","ArrowHandler","setLabels","DisplayGraphHandler","getAgentsGraphData","teamKPI","TableHeaderHandler","SelectedTab","ScheduleHeader","CustomerHeader","QuantitativeHeader","QualitativeHeader","AccountHeader","AWSHeader","_info$Details","Color1","AgentsFilterComponent","_teamleaderDates$","teamleaderAgents","teamleaderAccounts","teamleaderAccountsView","teamleaderDates","_teamleaderDates$2","_teamleaderDates$3","yearMonth","setYearMonth","_teamleaderDates$4","selectedvalues","selectedArray","selectedAgents","accountsData","setAccountsData","selectedAccountvalues","selectedAccountArray","addValueToAccounts","addValueToDate","_teamleaderDates$5","clearfilterHandler","AgentsKPISummaryTabs","justify","k","FilterTableComponent","AuditRole","auditRoleTableData","auditRoleData","selectedUser","setSelectedUser","selectedSite","setSelectedSite","selectedRegion","setSelectedRegion","setAuditRoleData","getAuditRoleData","Filter_Icon","AuditRBAC","auditRBACTableData","auditRBACData","setselectedRole","selectedAccessGroup","setselectedAccessGroup","selectedOperation","setselectedOperation","setAuditRBACData","Apps","AQuAA_Logo","Applications","App","AquaaActionTypes","GET_AQUAA_ACCOUNTS_DATA","AQUAA_ACCOUNTS_DATA","GET_AQUAA_AGENTS_DATA","AQUAA_AGENTS_DATA","GET_AQUAA_CHANNELS_DATA","AQUAA_CHANNELS_DATA","GET_AQUAA_LANGUAGES_DATA","AQUAA_LANGUAGES_DATA","GET_AQUAA_LOCATIONS_DATA","AQUAA_LOCATIONS_DATA","GET_AQUAA_AWS_DATA","AQUAA_AWS_DATA","GET_EVALUATION_FORM_DATA","EVALUATION_FORM_DATA","UPDATE_EVALUATION_FORM_DATA_START","UPDATE_EVALUATION_FORM_DATA_SUCCESS","updateEvaluationFormDataSuccess","Aquaa","aquaaAccounts","aquaaReducer","aquaaAgents","aquaaChannels","aquaaLanguages","aquaaLocations","aquaaAWS","selectedChannel","setSelectedChannel","selectedLanguage","setSelectedLanguage","selectedLocation","setSelectedLocation","sortConfig","setSortConfig","getAquaaChannelsData","getAquaaLanguagesData","getAquaaLocationsData","columns","sortedData","useMemo","getAquaaAWSData","col","rowIndex","colIndex","cellData","EvaluationForm","_location$state","_evaluationData$","_evaluationData$2","_evaluationData$4","_evaluationData$4$Acc","_evaluationData$4$Acc2","_evaluationData$5","_evaluationData$5$Acc","_evaluationData$5$Acc2","_evaluationData$6","_evaluationData$6$Acc","_evaluationData$6$Acc2","contactid","evaluationData","sections","setSections","activeRows","setActiveRows","responses","setResponses","sectionComments","setSectionComments","setFormData","ticketNumber","voiceAnalytics","overallMapData","responsesRef","contactId","contactTypeForm","ContactTypeForm","Overall","groupedSections","form","_form$Section","Section","section","_section$Questions","Questions","question","MappingID","sectionName","Section_Name","parameterType","ParameterType","Question","questionscore","assessments","Assessments","defaultassessment","DefaultValue","defaultId","DefaultId","initialResponses","initialSectionComments","_section$","questionId","assessmentId","assessment","handleResponseChange","currentAssessment","_sections$sectionName","selectedAssessment","Assessment","selectedAssessmentId","AssessmentID","updatedResponses","resp","handleSectionCommentChange","prevComments","sectionIndex","updatedComments","handleFormDataChange","prevData","dispatchHandler","_evaluationData$3","_evaluationData$3$Acc","_evaluationData$3$Acc2","QuestionDetails","SectionComments","sectionScores","notMetScores","sectionwiseTotal","sectionwiseTotalMinusNotMet","sectionPercentages","summaryPercentage","nfNotMetCount","feNotMetCount","sectionSum","entry","totalScore","notMetScore","totalScoreMinusNotMet","sectionScore","feNotMetEntries","ChangedScore","sectionChangedScore","processScores","_sectionComments$find","_sectionComments$find2","_responses$find","_row$assessments","_row$assessments$","AssessmentId","iName","_responses$find2","_row$assessments2","_row$assessments$2","handleToggle","prevActiveRows","onBlur","_row$assessments$3","Save_Image","withRouter","localPathnameHandler","Suspense","fallback","Switch","Route","exact","Container","Panel","_RoleBasedView$5","_RoleBasedView$5$Acco","_RoleBasedView$5$Acco2","_RoleBasedView$6","_RoleBasedView$6$Acco","_RoleBasedView$6$Acco2","activClasses","activTooltip","setOpen","showHoverEffect","setHoverEffect","activeMenu","setActiveMenu","tltpMenu","setTltpMenu","actvBtn","setActvBtn","pnlWdth","setPnlWdth","selectedMenuName","addActiveClass","mnName","flat","_RoleBasedView$2$Acco","_RoleBasedView$2$Acco2","setActBtn","zIndex","UploadsImg","OnboardImg","MnApp","wrapperRef","closeSettings","openModal","redirectTo","CustomWidgets","GetLinks","toggleSettingsModal","showSettingsModal","settingsReducer","showModal","navigationHandler","lastIndexOf","isMenu","timezone","Settinglinks","logout","HamburgerMenuComponent","gsdLogoImg","isInfo","logo","introPage","AppLayout","localPath","setLocalPath","utils","MomentUtils","HeaderHandler","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","requestCounter","axInstance","create","baseURL","withCredentials","crossDomain","interceptors","use","classList","message","Promise","reject","remove","Location","token","getUserDataService","requestUrl","API","get","Authorization","getUserTokenService","getRegionalDataService","fetchUserDetails","fetchUserToken","fetchRegionalData","watchGetRequest","userSagas","call","put","takeEvery","all","hash","getMonthTabDataService","getSummaryTabDataService","getWeekTabDataService","getDayTabDataService","getAnnualTabDataService","getHomeFeedDataService","fetchMonthData","fetchSummaryData","fetchWeekData","fetchDayData","fetchAnnualData","fetchHomeFeedData","actionWatcher","tabSagas","getFinanceDataService","getFinanceDropdownService","getFinanceAccountService","fetchFinanceData","fetchDropdownData","fetchAccountData","financeSagas","getRegionalSiteDataService","getRegionalSiteCustIdDataService","getDTMAnalyticsDataService","fetchRegionalSiteData","fetchRegionalSiteCustIdData","fetchRegionalSiteGlobalSummaryData","fetchDTMAnalyticsData","fetchDTMAnalyticsHalfHour","fetchDTMAnalyticsMonth","regionalSiteSagas","Obj","constructURL","temp_URL","EDashboardURLs","hintConstructUrls","getKPIDataService","getComplianceDataService","getContactVolumeDataService","getCallTypeDataService","getHrzntBarChrtDataService","getProfitLossAnalyticsDataService","getYearMonthRegionDrpdwnDataService","getTotalIncidentCardDataService","getEDashBrdNotfnTextMsgDataService","fetchKPIDetails","fetchComplianceDetails","fetchContactVolumeDetails","fetchCallTypeDetails","fetchHorizontalBarChrtDetails","fetchProfitLossAnalyticDetails","fetchYearMonthRegionDropdownDetails","fetchTotalIncidentCardsDetails","fetchEDashbBrdNotfnMsg","eDashboardSagas","getContactAccountsService","getDropdownInfoServive","getAverageHandleTimeService","getAbandonTimeService","getDigitalTransService","getCostPerContactService","getContactFTEService","getPenaltyAtRiskService","getFirstContactResolutionService","getAttritionDataService","getSLAconplainceService","getCSATdataService","getDeliverySupportService","fetchAccountInfo","fetchDropdownInfo","fetchAverageHandleTime","fetchAbandonRate","fetchDigitalTrans","fetchCostPerContact","fetchContactFTEData","fetchPenaltyAtRisk","fetchFirstContactResolution","fetchAttritionData","fetchSLAcompliance","fetchCSATdata","fetchDeliverySupport","fetchContactVolumeInfo","reportsSagas","getRoleId","getRoleName","welcomePageURLs","getRoleSTitleService","getWidgetInfoService","updateWidgetInfoService","post","getRecentLinksService","updateWidgetPreferenceShownService","getWidgetPreferenceService","getMultiAccountWidgetService","getMultiWidgetInfoService","setMultiWidgetInfoService","getAccountSummaryService","getAccountDropdownService","getLatestUpdatesService","createLatestUpdatesService","updateLatestUpdatesService","deleteLatestUpdatesService","getStoredAccountService","updateStoredAccountService","fetchRolesTitleData","fetchWidgetInfo","fetchRecentLinks","updateSelectedWidgetInfo","fetchWidgetPreference","fetchWidgetPreferenceShown","fetchCarouselTitle","fetchMultiAccountWidgets","fetchMultiWidgetsInfo","updateMultiWidgetInfo","fetchAccountSummaryInfo","_ref4","fetchLatestUpdatesInfo","createLatestUpdatesInfo","_ref5","updateLatestUpdatesInfo","_ref6","deleteLatestUpdatesInfo","_ref7","fetchRolesTabRolesData","fetchStoredAccount","updateStoredAccount","_ref8","fetchTaskLinks","welcomePageSagas","onboardURLS","keyword","getAccountSiteService","getGeneralInfoSiteService","getRolesTabRolesService","getRolesTabUsersService","updateRolesTabDataService","getQueueTabLanguagesService","getOriginatingCountryService","updateQueueTableService","getQueueTableDataService","getSLATemplateDataService","updateSLATableService","updateNewTemplateService","updateSupportHoursService","getSLAKPIDataService","getRoleTabDataService","getSupportHoursVoiceService","getNonVoiceSLADataService","getNonVoiceSupportHoursService","getGeneralNonVoiceService","updateGeneralNonVoiceService","getPreviewOnboardService","getOnboardAccountsService","updateOnboardToggleService","updateOnboardSubmitService","getOnboardValidUserService","updateReOpenRequestService","updateDeleteAccountService","_regeneratorRuntime","exports","Op","prototype","hasOwn","hasOwnProperty","defineProperty","desc","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","fn","arg","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","return","TypeError","resultName","next","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","constructor","mark","setPrototypeOf","__proto__","awrap","iter","object","pop","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","_marked","fetchAccountSiteData","_marked2","fetchGeneralInfoSiteData","_marked3","_marked4","fetchQueueTabLanguages","_marked5","fetchOriginatingCountry","_marked6","fetchOnboardAccountsData","_marked7","_marked8","OnboardSagas","_context","t0","_context2","_context3","fetchRolesTabUsersData","_callee","_context4","updateRolesTabData","_callee2","_context5","updateQueueTable","_callee3","_context6","_context7","_context8","fetchQueueTableData","_callee4","_context9","fetchSLATemplateData","_callee5","_context10","fetchSLAKPIData","_callee6","_context11","updateSLATableData","_callee7","_context12","updateNewTemplateData","_callee8","_context13","fetchRoleTabData","_ref9","_callee9","_context14","updateSupportHoursData","_ref10","_callee10","_context15","fetchSupportHoursVoiceData","_ref11","_callee11","_context16","fetchNonVoiceSLAData","_ref12","_callee12","_context17","fetchNonVoiceSHData","_ref13","_callee13","_context18","fetchGeneralNonvoiceData","_ref14","_callee14","_context19","updateGeneralNonvoiceData","_ref15","_callee15","_context20","fetchPreviewOnboardData","_ref16","_callee16","_context21","_context22","updateOnboardToggleData","_ref17","_callee17","_context23","updateOnboardSubmitData","_ref18","_callee18","_context24","fetchOnboardValidUser","_ref19","_callee19","_context25","updateReOpenRequest","_ref20","_callee20","_context26","updateDeleteAccount","_ref21","_callee21","_context27","_context28","_context29","AdminAccountURLS","getAdminAccountsService","updateValidToDateService","getAdminQueueTableDataService","updateAdminQueueTableDataService","getAdminSlaTableDataService","updateAdminSlaTableDataService","getAdminSupportTableDataService","updateAdminSupportTableDataService","getAdminVoiceSlaTableDataService","getAdminVoiceSupportTableDataService","updateQueueAdminRequestService","updateSLAAdminRequestService","updateSupportAdminRequestService","updateAdminUpdateService","getPreviewAdminService","fetchAdminAccountsData","fetchRoleBasedView","adminAccountSagas","updateValidToDate","fetchAdminQueueTableData","updateAdminQueueTableData","fetchAdminSlaTableData","updateAdminSlaTableData","fetchAdminSupportTableData","updateAdminSupportTableData","fetchAdminVoiceSlaTableData","fetchAdminVoiceSupportTableData","updateAdminRequestQueue","updateAdminRequestSLA","updateAdminRequestSupport","updateAdminUpdateData","fetchPreviewAdminData","StaffAdminURLS","getAvailableEmployeesService","getSupervisorListService","updateNewUserRoleService","updateSupervisorEmployeeMappingService","updateAccountEmployeeService","getRoleCategoryService","getStaffAccountsService","getAccountAssignmentService","getQueueAssignmentService","getIdAssignmentService","getSlaAssignmentService","getVolumeAssignmentService","updateQueueAssignmentService","updateIdAssignmentService","updateSlaAssignmentService","updateVolumeAssignmentService","getStaffPreviewService","getMappedEmployeesService","getQueueDataService","getAccountSLAService","getVolumeTemplatesService","getIDAccountsService","getSLAAccountsService","getValidSupervisorService","getAccountSLAForEditService","getVolumeTemplatesForEditService","fetchSupervisorList","fetchRoleCategory","fetchMappedEmployees","fetchValidSupervisor","StaffAdminSagas","fetchAvailableEmployeesData","updateNewUserRole","updateSupervisorEmployeeMapping","updateAccountEmployee","fetchStaffAccounts","fetchAccountAssignment","fetchQueueAssignment","fetchIdAssignment","fetchSlaAssignment","fetchVolumeAssignment","updateQueueAssignment","updateIdAssignment","updateSlaAssignment","updateVolumeAssignment","fetchStaffPreview","fetchQueueData","fetchAccountSLA","fetchVolumeTemplates","fetchIDAccounts","fetchSLAAccounts","fetchAccountSLAForEdit","fetchVolumeTemplatesForEdit","_ref22","_callee22","SlaFailureURLs","getExemptionDataService","updateExistingCommentService","getExclusionDataService","updateExclusionCommentService","fetchExemptionData","fetchExclusionData","updateExclusionComment","slaFailureSagas","getTilesDataService","githubUrls","fetchTilesData","githubSagas","requestUrls","getRequestAdminData","uploadfileid","getRequestDataService","updateNewRequestService","updateEditRequestService","getAdminRequestDataService","getRequestDropdownDataService","getUploadedFileDataService","fetchRequestData","updateNewRequest","updateEditRequest","fetchAdminRequestData","updateEditAdminRequest","fetchRequestDropdownData","fetchUploadedFileData","requestSagas","AdminViewURLS","getUserFlowKeyword","getAdminViewService","getAccessGroupService","updateAccessGroupDataService","updateRoleDeleteService","getOperationsDataService","updateOperationsDataService","updateOperationsDeleteService","getAccessGroupDataService","getAccessGroupEditDataService","getAccessGroupAddDataService","updateAccessGroupAddEditService","updateAccessGroupDeleteService","getTimeZoneDataService","updateAddUserService","updateDeleteUserService","getEditUserDataService","updateEditUserService","getRegionDataService","getUPNValidationService","getUserflowUsersSevice","getUserflowCountSevice","getAuditRBACDataSevice","getAuditRoleDataSevice","fetchAdminViewData","fetchAccessGroupData","updateAccessGroupData","updateRoleDelete","fetchOperationsData","updateOperationsData","updateOperationsDelete","fetchAccessGroupMainPageData","fetchAccessGroupEditData","fetchAccessGroupAddData","updateAccessGroupAddEdit","updateAccessGroupDelete","fetchTimeZoneData","updateAddUser","updateDeleteUser","fetchEditUserData","updateEditUser","fetchRegionData","fetchUPNValidation","fetchUserflowUsers","fetchUserflowCount","fetchAuditRBACData","fetchAuditRoleData","AdminViewSagas","ScoreCardUrls","GetAccountsHandler","getScoreCardDataService","getScoreCardPerformanceDataService","getScoreCardOffCanvasDataService","getAgentsKPISummaryDataService","getTeamleaderAccountsDataService","getTeamleaderAccountsViewDataService","getTeamleaderDatesDataService","getAgentsKPIAccountsDataService","getTeamKPISummaryDataService","getAgentsGraphDataService","fetchScoreCardData","fetchScoreCardPerformanceData","fetchScoreCardOffCanvasData","fetchAgentsKPISummaryData","fetchTeamleaderAgentsData","fetchTeamleaderAccountsData","fetchTeamleaderAccountsViewData","fetchTeamleaderDatesData","fetchAgentsKPIAccountsData","fetchTeamKPISummaryData","fetchAgentsGraphData","ScoreCardSagas","getUploadAccountsService","getSLAKPIVolumeTemplatesService","UpdateSelectedSLAKPIVolumeService","updateCustomTemplateService","getFileUploadDataService","updateFileUploadDataService","getNonvoiceCardsDataService","getUploadPreviewDataService","getVolumeSlakpiSelectedTemplatesDataService","updateVolumeSLAKPIDataService","getVoiceNonvoiceItemsService","RoleId","UploadURLS","fetchUploadAccountsData","fetchSLAKPIVolumeTemplates","updateSelectedSLAKPIVolume","updateCustomTemplate","fetchFileUploadData","updateFileUploadData","fetchNonvoiceCardsData","fetchUploadPreviewData","fetchVolumeSlakpiSelectedTemplatesData","updateVolumeSLAKPIData","fetchVoiceNonvoiceItems","UploadSagas","getAquaaAccountsDataService","getAquaaAgentsDataService","getAquaaChannelsDataService","getAquaaLanguagesDataService","getAquaaLocationsDataService","getAquaaAWSDataService","getEvaluationFormDataService","updateEvaluationFormDataService","AquaaURLs","fetchAquaaAccounts","fetchAquaaAgents","fetchAquaaChannels","fetchAquaaLanguages","fetchAquaaLocations","fetchAquaaAWS","fetchEvaluationFormData","updateEvaluationFormData","aquaaSagas","rootSaga","getUsersData","updateUsersData","updateUserToken","getRegionalData","updateRegionalData","selectedKeyName","homeFeedData","updateMonthTabData","updateSummaryTabData","fetchWeekTabData","updateWeekTabData","fetchDayTabData","updateDayTabData","updateAnnualTabData","updateSelectedTabName","updateSelectedKeyName","updateHomeFeedData","updateFinanceData","updateDropdownData","updateAccountData","updateRegionalSiteData","getRegionalSiteCustIdData","updateRegionalSiteCustIdData","updateRegionalSiteGlobalSummaryData","updateDrpdwnRegionName","updateDropownSlctdRgnsList","updateSlcdAccrdPnlID","fetchKPIData","updateKPIData","fetchComplianceData","updateComplianceData","fetchContactVolumeData","updateContactVolumeData","fetchCallTypeData","updateCallTypeData","fetchHorizontalBarChartData","updateHorizontalBarChartData","fetchProfitLossAnalyticData","updateProfitLossAnalyticData","fetchYearMonthRegionDropdownData","updateYearMonthRegionDropdownData","fetchIncidentCardsData","updateIncidentCardsData","fetchEDNotificationTextMsg","updateEDNotificationTextMsg","accountSites","cancelBtnClick","updatedSLAKPIData","editAccounts","generalUpdateResponse","reopenRequest","widgetInfo","widgetsSelected","multiWidgets","dropdownAccounts","validToUpdateResponse","UpdateAdminQueueTableData","UpdateAdminSlaTableData","UpdateAdminSupportTableData","SLAfailureDetails","UpdateSlaQueueTableData","newUserRole","supervisorEmployeeMapping","accountEmployee","validSupervisor","updatedAccountResponse","updatedQueueResponse","updatedIDResponse","updatedSLAResponse","updatedVolumeResponse","staffActionTypes","uploadedFileData","fetchAquaaAccountsData","updateAquaaAccountsData","fetchAquaaAgentsData","updateAquaaAgentssData","GET_AQUAA_AGENT_DATA","rootReducer","combineReducers","configureStore","sagaMiddleware","createSagaMiddleware","store","createStore","__REDUX_DEVTOOLS_EXTENSION__","compose","applyMiddleware","run","ScrollToTop","RefreshHandle","browserHistory","createBrowserHistory","ReactDOM","render","StrictMode"],"mappings":"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","file":"static/js/main.30018047.chunk.js","sourcesContent":["import React from \"react\";\r\nimport { Breadcrumb } from \"react-bootstrap\";\r\nimport \"./bredcrumb.css\";\r\nimport { useHistory } from \"react-router-dom\";\r\nexport const BredCrumb = (props) => {\r\n const history = useHistory();\r\n\r\n const navigateToRegionalSite = (reDirectTo) => {\r\n history.push(reDirectTo);\r\n };\r\n \r\n return (\r\n
\r\n \r\n {/* Home\r\n \r\n Reports\r\n */}\r\n {props?.data?.map((itm, i)=>{\r\n return navigateToRegionalSite(itm.reDirect)} key={i}>{itm.name}\r\n })}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default BredCrumb;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAABC0lEQVRIie2WPQrCMBTHU3G15AZxEdNJiBdw1Em3Orl5DnsCFVTwY+vWW3gBUScRF49gXg/wXAzEGutTcBD8Q6Dk4/d7gSTUQ0RGTTmoI2OMnQ8bj7qmQKZ/mL/gL/hVwWi6iABSToUApHw8Ww6cg4h414aTeSSkwlanu9UauD0mpEIhFdp9WgNvdbpbIRUOJ/Moy3sQaA282Q53LklWYMOb7XCXLcgpyJPYAgr8qeCZxAio8FyBS2IEVDgiMu/Vcw2Q8rDXXx+Op5rdH1Qr+yReNXy/dMkFuE5G3k6olZu5pIvm+6VLEq8aQbWyJ1d+S5EyyZaYb+o6suBdsMnvP3aekIr+W/FBvr6DKwn9mxZTItKYAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAACXBIWXMAAAsTAAALEwEAmpwYAAABHklEQVQokWP4//8/Azr++/8v8+KbffN///vNhk3+////DEwMWMDBp5tyT77ck7Dr0coqbPIMDAyYGl//eKay5cHiZgYGBoZdj1dVPvl6z4AojUtu9s//9e8HDwMDA8Pf/3/Yltzsn/+P4R8zXo1Hnm/LuPfpmg2y2NOv9wz2Pl5TilPjh19vpdffm9uNzVlbHy5tfP3jmQpWjStuT54JcyI6wOZkJgYGBoYTL/ckXH132vs/Nl0MDAwM//8z3Pt0zebg0025cI0QJ87uxaUHGWx5sLj5w6+30gwMDAzMSpE8i59+vWcIk2TEpYuRkeHv/z9sr74/UTcRc1jG+P8/woEPPt80771QdAJdj4OU38Rg5fQCZDGsKYcYMBI0AgCA+55N/RwbbgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAACXBIWXMAAAsTAAALEwEAmpwYAAABBUlEQVQokeWRMWvCcBDFXxJIKWRyzZpBKJRMdvEb+CV0UiilXTq3e4cWSqFO8Us4p4iD6KAUSoMpdLApXSoEQ2kk8TkE1CT/WncfHBx378c9OJBErhaRwteqxUWoCvckhENObi9og3y/ut4d/HENdrQZbZBPasjZ0BSBMrJyahbiQAMAcK7CqVlgrGRtafDzsQG/W07NgpGJyc1lFpRIJl3o6egXndW1lEudo/RyhEPjLX9xXG8KoT8iJ+BXq4rvdgUUYon8bhne/dk66u+HjsHxM6JpAQQgbYEVLUDJKeJA92S4pw+IpoUt9rXiQMO43kzib/7H753QBnPlnt/9/8cdtQ/gEnIQ5t5jZTOWAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAACXBIWXMAAAsTAAALEwEAmpwYAAABMklEQVQokWP8//8/Awx8nTmv4dvsBfUMaIB/co8Hm6XZTmQxJnRFxIKRoJHxQ1Hlhl8Hj/gzMDAwMPz/z8DAyIip6j8DAwNUmM3Gciv/hE4fxr8vX0m/i0y8+P/jJ2FCGhk5Ob8IrV2iwSQm+pSJSUz0KU9BdgkxzuPOTK5lEhN9ysAA9SOHr+cCNhvLLVhtY4DYxmqge4QzPHgyXAiWcv69ei39Ljjmxv/v33kwNLKw/BJavUibWVbmDkwIHqpMYqJPufOzSrE6MSOpHlkTio0w8CE19+Dv8xft4JapqVwQXDzbhIGZ+S+Kwv///6PgPw8fq74yd/z5ytj2/ytzx5+/b9wyQFfz//9/TI3///9n+Dp/ccUrY9v/X2bMbcAmj1Pj/z9/mD81tM37/+sXGy6NAAxiyDvjBtYyAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAQCAYAAAAMJL+VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAC2UlEQVQ4jZWUX0hacRTHT7SU/pmLWo3GbBCsetIF1UvlS3syZm9bPcyXYQ7W7hrJYAZ3tFWMYNdexhLsPtgWJXV7WJnZNH3RgXnHuLqQNq0HC3FpYmgwfnvZL9xNow78Hu7vd+/vc77fe84BhBDgZTFyxPOuhV/6gY2lVCIjzj67yHKag6roXrI+e6+QJEkAADBoXXTkZ6LxMSV/cJL5U/zxjYdqkF5zV1QX72+t7yrtc9vqhUnvxOcP31+UiATxqrqycJGwMH18dCK2f9pWvyc25wBQgZX2E0XCK2lJcyULAFCAEAKD1kUDADx626GCf/HDsy+f0nxZKhEJ4rdbazZbuiVMY1utAwBgjfYTW+thZWmF8DC6l7zV2Fbr6B2UkVU3ykIAACM9y2zvoIy8032TAac5qKLUNoYvd1HvIym1jTnPqoA7Is+1n0pkxDoFwyKEoPDqfgfzWC+/XyISxCErSssFcSvtJ45i6Zqdb9F2K+0nFia9E8wUS4qqig8kzZUszpgfRcLC9A4bba+uKw+BadRDGbSumXyZWIwcYTFyBM4WZ+c0B1X5lIW5mHSkZ9kXcEfkgBCC6WEnnQ9yngW5IE5zUDUgNcVxQqcHOgXD8kvsspAwF5MOdc6Hsu85/cA06qEeNsyg2deedxe5nA9JJTLikZ5ln9caVma/e0rWKRg2lciIKbWNGe9ftYe5mDQfYFHvI7GlGKKRzR7msuw/AJbmtYaVuSxLJTJiDOb/N741ZyyyGDlirG/FgZ8xJLsPsMd8yNoM93Socz6US+0Z6dmXWowcgRtmethJYwXZEJ2CYSm1jclXIDkH1lDnfAiXGaW2MQF3RO40B1UYHnBH5BrZ7OF4/6qdr5K/ChBCZzpx1/9bqtdsME3t1+1ea7i35a5kqe9l6zOD1kVvfz3oOk6eiO89kb5qaqt14PmUN/KRo3vJelx+i3ofOSA1xcf6VhyXHeN/AVwvtE9j0TURAAAAAElFTkSuQmCC\"","const getTabName = () => {\r\n let tbName = window.localStorage.getItem(\"slctdTabName\");\r\n return tbName;\r\n}\r\n\r\nconst getKeyName = () => {\r\n let kyName = window.localStorage.getItem(\"slctdKeyName\");\r\n return kyName;\r\n}\r\n\r\nconst getSelectedMonth = () => {\r\n let dt = window.localStorage.getItem('selectedMonth');\r\n return dt;\r\n}\r\n\r\nconst getRoleId = () => {\r\n return localStorage.getItem('Role_id');\r\n}\r\n\r\nconst getCustNServID = () => {\r\n let custID = window.localStorage.getItem('CustomerID');\r\n let ServID = window.localStorage.getItem('ServiceDeskID');\r\n if (custID && ServID) {\r\n return custID + \"/\" + ServID;\r\n } else {\r\n return \"71/7\";\r\n }\r\n}\r\n\r\nconst getDownloadURL = (tbName) => {\r\n if (tbName === 'Summary' || tbName === 'Monthly') {\r\n return `${process.env.REACT_APP_BASE_URL}/api/metrics/legacydtm/${getCustNServID()}?month=${getSelectedMonth()}&tabname=${getTabName()}&format=xlsx`;\r\n } else if (tbName === 'Weekly' || tbName === 'Daily' || tbName === 'Annual') {\r\n return `${process.env.REACT_APP_BASE_URL}/api/metrics/legacydtm/${getCustNServID()}?month=${getSelectedMonth()}&tabname=${getTabName()}&Category=${getKeyName()}&format=xlsx`;\r\n }\r\n}\r\nconst getRegionalSiteURL = () => {\r\n return `/api/org/hierarchy/me?date=${(new Date().toISOString().split('T')[0])}&roleid=${getRoleId()}`\r\n}\r\nconst ConstructURLs = (name) => {\r\n switch (name) {\r\n case 'GET_USER_DATA': {\r\n return \"/api/users/me\";\r\n }\r\n\r\n\r\n\r\n case 'GET_USER_TOKEN': { \r\n var cookieArr = document.cookie.split(\";\");\r\n let name = cookieArr[0].split(\"=\")[1];\r\n let key = cookieArr[1].split(\"=\")[1];\r\n return `/auth/token?name=${name}&key=${key}`; \r\n }\r\n case 'GET_TAB_MONTH_DATA': {\r\n return `/api/metrics/legacydtm/${getCustNServID()}?month=${getSelectedMonth()}&tabname=Monthly&hint=DTM`;\r\n }\r\n case 'GET_TAB_SUMMARY_DATA': {\r\n return `/api/metrics/legacydtm/${getCustNServID()}?month=${getSelectedMonth()}&tabname=Summary&hint=DTM`;\r\n }\r\n case 'GET_WEEK_TAB_DATA': {\r\n return `/api/metrics/legacydtm/${getCustNServID()}?month=${getSelectedMonth()}&tabname=${getTabName()}&Category=${getKeyName()}&hint=DTM`;\r\n }\r\n case 'DOWNLOAD_EXCEL_DATA': {\r\n return getDownloadURL(getTabName());\r\n }\r\n case 'GET_REGIONAL_DATA': {\r\n return '/api/org/hierarchy/me';\r\n }\r\n case 'LOG_OUT_URL': {\r\n return `${process.env.REACT_APP_BASE_URL}/auth/logout`;\r\n }\r\n case 'GET_HOME_FEED_DATA': {\r\n return `/api/feed`;\r\n }\r\n case 'GET_REGIONALSITE_DATA': {\r\n return getRegionalSiteURL();\r\n }\r\n default: { }\r\n }\r\n}\r\n\r\nexport default ConstructURLs;\r\n","import React from \"react\";\r\nimport { Button } from \"react-bootstrap\";\r\nimport \"./legend.css\";\r\nimport DownloadIcon from \"../../assets/images/Download_Normal.png\";\r\nimport AboveRequiredTargetIcon from \"../../assets/images/AboveRequiredTarget_Status.png\";\r\nimport AboveMinimalTargetIcon from \"../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport ContractualSLAIcon from \"../../assets/images/Contractual_SLAs.png\";\r\nimport ConstructURLs from \"../../constants/urls\";\r\n\r\nconst LegendComponent = (props) => { \r\n const getURL = () => { \r\n let urll = ConstructURLs('DOWNLOAD_EXCEL_DATA');\r\n window.location.href = urll;\r\n }\r\n\r\nconst globalAccountsHandler = () => {\r\n props.glblSmmryBtnClicked();\r\n}\r\n\r\nconst globalSummaryHandler = () => {\r\n props.glblSummaryBtnClicked();\r\n}\r\n\r\nconst regionalSummaryHandler = () => {\r\n props.regnlSummaryBtnClicked();\r\n}\r\n return(\r\n
\r\n
Legend:
\r\n
\"AbvRqdTgtAbove Required Target
\r\n
\"AbvMnmlTgtAbove Minimal Target
\r\n
\"BlwMnmlTgtBelow Minimal Target
\r\n { props.shwSLA ? (
\"ContractualSLAContractual SLAs
) : null}\r\n { props.shwDwnBtn ? (
) : null }\r\n { props.shwGlbBtn ? (
) : null }\r\n { props.shwGlbSmmryBtn ? (
) : null }\r\n { props.shwRgnlSmmryBtn ? (
) : null }\r\n
\r\n );\r\n}\r\n\r\nexport default LegendComponent;","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAACXBIWXMAAAsTAAALEwEAmpwYAAABHklEQVQokWP4//8/Azr++/8v8+KbffN///vNhk3+////DEwMWMDBp5tyT77ck7Dr0coqbPIMDAyYGl//eKay5cHiZgYGBoZdj1dVPvl6z4AojUtu9s//9e8HDwMDA8Pf/3/Yltzsn/+P4R8zXo1Hnm/LuPfpmg2y2NOv9wz2Pl5TilPjh19vpdffm9uNzVlbHy5tfP3jmQpWjStuT54JcyI6wOZkJgYGBoYTL/ckXH132vs/Nl0MDAwM//8z3Pt0zebg0025cI0QJ87uxaUHGWx5sLj5w6+30gwMDAzMSpE8i59+vWcIk2TEpYuRkeHv/z9sr74/UTcRc1jG+P8/woEPPt80771QdAJdj4OU38Rg5fQCZDGsKYcYMBI0AgCA+55N/RwbbgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAYAAAAmlE46AAAACXBIWXMAAAsTAAALEwEAmpwYAAABMklEQVQokWP8//8/Awx8nTmv4dvsBfUMaIB/co8Hm6XZTmQxJnRFxIKRoJHxQ1Hlhl8Hj/gzMDAwMPz/z8DAyIip6j8DAwNUmM3Gciv/hE4fxr8vX0m/i0y8+P/jJ2FCGhk5Ob8IrV2iwSQm+pSJSUz0KU9BdgkxzuPOTK5lEhN9ysAA9SOHr+cCNhvLLVhtY4DYxmqge4QzPHgyXAiWcv69ei39Ljjmxv/v33kwNLKw/BJavUibWVbmDkwIHqpMYqJPufOzSrE6MSOpHlkTio0w8CE19+Dv8xft4JapqVwQXDzbhIGZ+S+Kwv///6PgPw8fq74yd/z5ytj2/ytzx5+/b9wyQFfz//9/TI3///9n+Dp/ccUrY9v/X2bMbcAmj1Pj/z9/mD81tM37/+sXGy6NAAxiyDvjBtYyAAAAAElFTkSuQmCC\"","import React from \"react\";\r\nimport \"./box.css\";\r\nimport greenStatusImg from \"../../assets/images/green_status.png\";\r\nimport redStatusImg from \"../../assets/images/red_status.png\";\r\nimport ContractualSLAIcon from \"../../assets/images/Contractual_SLAs.png\";\r\nconst Box = (props) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {props.data ? props.data.name + (props.data.line !== null ? \" -- \" + props.data.line : \"\") : \"\"}\r\n
\r\n
\r\n {props.data\r\n ? props.data.info.map((item, i) => (\r\n
props.SLAReportHandleClick(item)} >\r\n
\r\n {item.percentage}\r\n \r\n {item.status ? (\r\n \r\n ) : null}\r\n {item.sla ? (\r\n \"status\"\r\n ) : null}\r\n \r\n
\r\n
{item.infoName}
\r\n
\r\n ))\r\n : null}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Box;\r\n","import React from \"react\";\r\nimport \"../Box/box.css\";\r\nimport \"./tableBox.css\";\r\nimport greenStatusImg from \"../../assets/images/green_status.png\";\r\nimport redStatusImg from \"../../assets/images/red_status.png\";\r\nimport ContractualSLAIcon from \"../../assets/images/Contractual_SLAs.png\";\r\nconst TableBox = (props) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {props.data ? props.data.name + \" -- \" + props.data.line : \"\"}\r\n
\r\n
\r\n {props.data\r\n ? props.data.info.map((item, i) => (\r\n
\r\n
{item.infoName}
\r\n
\r\n {item.percentage}\r\n \r\n {item.status ? (\r\n \r\n ) : null}\r\n {item.sla ? (\r\n \"status\"\r\n ) : null}\r\n \r\n
\r\n
\r\n ))\r\n : null}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default TableBox;\r\n","import React from \"react\";\r\nimport AboveRequiredTargetIcon from \"../../assets/images/AboveRequiredTarget_Status.png\";\r\nimport AboveMinimalTargetIcon from \"../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport ContractualSLAIcon from \"../../assets/images/Contractual_SLAs.png\";\r\nimport \"./reportsTable.css\";\r\nimport Table from 'react-bootstrap/Table';\r\n\r\nconst getArrowMark = (value, color, sla) => {\r\n switch(color){\r\n case 'green': {\r\n return (
{value ? {value?.trim()} : null}\"AbvRqdTgt {getSLDt(sla)}
);\r\n // break;\r\n }\r\n case 'yellow' : {\r\n return (
{value ? {value?.trim()} : null}\"AbvMnmlTgt{getSLDt(sla)}
);\r\n // break;\r\n }\r\n case 'red' : {\r\n return(
{value ? {value?.trim()} : null}\"BlwMnmlTgt{getSLDt(sla)}
);\r\n // break;\r\n }\r\n default: {\r\n return(
{value ? {value?.trim()} : null}{getSLDt(sla)}
);\r\n }\r\n }\r\n}\r\n\r\nconst getSLDt = (isSLA) => {\r\n if(isSLA)\r\n return \"Contractual;\r\n else\r\n return;\r\n}\r\n\r\nconst TableHeader = (props) => {\r\n const { headers, indctr } = props;\r\n return(\r\n \r\n \r\n { headers && headers.map((value, index) => {\r\n return
{value}
\r\n })}\r\n \r\n \r\n );\r\n }\r\n\r\nconst TableBody = (props) => {\r\n const { rows, indctr } = props; \r\n function buildRow(row, indx) {\r\n // const headrs = Object.keys(row);\r\n return (\r\n \r\n { row.map((value, index) => {\r\n return (indctr-1) ? 'none': ''}} className={index < indctr ? 'hghltBckgrd': null, index === 0 ? 'wrd-wrdspc' : 'wrd-whtspc'}>\r\n { (value['value']?.indexOf('%') > -1) ? getArrowMark(value['value'], value['color'], value['sla']) : {value['value']?.trim()} } \r\n \r\n })}\r\n \r\n )\r\n };\r\n \r\n return(\r\n \r\n { rows && rows.map((row, indx) => {\r\n return buildRow(row, indx);\r\n })}\r\n \r\n );\r\n}\r\n\r\nconst RptTable = (props) => {\r\n const { headers, rows, tblName } = props;\r\n let colIndicator = parseInt(props.colIndicator);\r\n return ( \r\n
\r\n

{tblName}

\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default RptTable;","import React from \"react\";\r\nimport \"rc-tabs/assets/index.css\";\r\nimport \"./tab.css\";\r\nimport Tabs, { TabPane } from \"rc-tabs\";\r\nimport TabContent from \"rc-tabs/lib/SwipeableTabContent\";\r\nimport ScrollableInkTabBar from \"rc-tabs/lib/ScrollableInkTabBar\";\r\n\r\nconst defaultTabKey = \"Overall\";\r\n\r\n// const PanelContent = ({ children }) => (\r\n//
{children}
\r\n// );\r\n\r\nclass TabComponent extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n start: 0,\r\n tabKey: defaultTabKey,\r\n activKey: defaultTabKey\r\n };\r\n \r\n this.onChange = this.onChange.bind(this);\r\n this.onTabClick = this.onTabClick.bind(this);\r\n this.tick = this.tick.bind(this);\r\n }\r\n\r\n componentWillReceiveProps = (nextProps) => {\r\n if (nextProps.tabKey !== this.props.tabKey) {\r\n this.setState({activKey: defaultTabKey});\r\n } \r\n }\r\n\r\n \r\n \r\n onChange(key) {\r\n console.log(`onChange ${key}`); \r\n this.props.tabChange(key);\r\n }\r\n \r\n onTabClick(key) {\r\n console.log(`onTabClick ${key}`);\r\n this.setState({\r\n tabKey: key,\r\n activKey: key\r\n });\r\n }\r\n \r\n tick() {\r\n const { start } = this.state;\r\n \r\n this.setState({\r\n start: start + 10\r\n });\r\n }\r\n // defaultActiveKey={defaultTabKey}\r\n render() {\r\n return (\r\n
\r\n (\r\n \r\n )}\r\n renderTabContent={() => }\r\n onChange={this.onChange}\r\n >\r\n \r\n \r\n \r\n {/* Content for Drug Coverage */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n }\r\n\r\n export default TabComponent;","const DataFormatHelper = (data, selectedTabName) => {\r\n let tabData = data[0], tempArr = [], allDataArr = [], lineItemName = '';\r\n if(tabData.categories && tabData.categories.length > 0){\r\n let categoryData = tabData.categories[0];\r\n for(let i=0;i< categoryData.lineitems.length; i++ ){\r\n let tableData = {'headers': [], 'rows': [], 'tblHdrName': []}\r\n tempArr = [];\r\n let lineItems = categoryData.lineitems[i];\r\n lineItemName = categoryData.lineitems[i].lineitem;\r\n let items = lineItems.items;\r\n let initialItem = items[i]; \r\n switch(selectedTabName){\r\n case \"week\":{ \r\n if(initialItem.points && initialItem.points.length > 0){\r\n let itemMonthObj = {'name': 'Month', 'points': []};\r\n let itemWeekObj = {'name': 'Week', 'points': []};\r\n initialItem.points.map((val, indx)=>{\r\n let weekVal = val.date ? val.date?.toString()?.split(' ')[1] : val.date;\r\n let objMonth = {'value': val.month};\r\n let objWeek = {'value': weekVal};\r\n itemMonthObj.points.push(objMonth);\r\n itemWeekObj.points.push(objWeek);\r\n return itemWeekObj;\r\n });\r\n // items.splice(items.length, 0, itemMonthObj);\r\n // items.splice((items.length-1), 0, itemWeekObj);\r\n items.splice(0, 0, itemMonthObj);\r\n items.splice((1), 0, itemWeekObj);\r\n } \r\n break; \r\n }\r\n case \"day\":{ \r\n if(initialItem.points && initialItem.points.length > 0){\r\n let itemDayObj = {'name': dateToYMD(new Date(window.localStorage.getItem('selectedMonth'))), 'points': []}; \r\n initialItem.points.map((val, indx)=>{\r\n let dayVal = val.date ? val.date?.toString()?.split('/') : val.date;\r\n if(dayVal)\r\n dayVal = dayVal[0] + \" \" + dayVal[1] + \"/\" + dayVal[2];\r\n else\r\n dayVal = val.date;\r\n let objDay = {'value': dayVal};\r\n itemDayObj.points.push(objDay);\r\n return itemDayObj;\r\n });\r\n //items.splice(items.length, 0, itemDayObj); \r\n items.splice(0, 0, itemDayObj); \r\n } \r\n break; \r\n }\r\n case \"annual\":{ \r\n if(initialItem.points && initialItem.points.length > 0){\r\n let itemAnnualObj = {'name': dateToYMD(new Date(window.localStorage.getItem('selectedMonth'))), 'points': []}; \r\n initialItem.points.map((val, indx)=>{\r\n let objAnnual = {'value': val.date};\r\n itemAnnualObj.points.push(objAnnual);\r\n return itemAnnualObj;\r\n });\r\n //items.splice(items.length, 0, itemAnnualObj); \r\n items.splice(0, 0, itemAnnualObj); \r\n } \r\n break; \r\n }\r\n default: {}\r\n } \r\n items = items.reverse(); \r\n items.map((obj, indx)=>{\r\n tableData.headers.push(obj.name); \r\n tempArr.push(obj.points);\r\n //return tempArr;\r\n });\r\n tableData.tblHdrName.push(lineItemName);\r\n tableData.headers = tableData.headers.reverse();\r\n tempArr = tempArr.reverse();\r\n // tableData.headers = tableData.headers;\r\n // tempArr = tempArr;\r\n tableData.rows = tempArr.reduce((r, a, i) =>\r\n (a.forEach((b, j) => (r[j] = r[j] || [])[i] = b), r), []); \r\n console.log(tableData.rows);\r\n //return tableData;\r\n allDataArr.push(tableData);\r\n }\r\n return allDataArr;\r\n }else{\r\n return [];\r\n }\r\n \r\n}\r\n\r\nconst dateToYMD = (date) => {\r\n var strArray=['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC']; \r\n var m = strArray[date.getMonth()];\r\n var y = date.getFullYear();\r\n return m + ' ' + y;\r\n}\r\n\r\nexport default DataFormatHelper;","\r\nconst actionTypes = {\r\n GET_USER_TOKEN: \"GET_USER_TOKEN\",\r\n USER_TOKEN: \"USER_TOKEN\",\r\n GET_USER_DATA: \"GET_USER_DATA\",\r\n USER_DATA: \"USER_DATA\",\r\n GET_MONTH_TAB_DATA: \"GET_MONTH_TAB_DATA\",\r\n MONTH_TAB_DATA: \"MONTH_TAB_DATA\",\r\n GET_SUMMARY_TAB_DATA: \"GET_SUMMARY_TAB_DATA\",\r\n SUMMARY_TAB_DATA: \"SUMMARY_TAB_DATA\",\r\n GET_WEEK_TAB_DATA: \"GET_WEEK_TAB_DATA\",\r\n WEEK_TAB_DATA: \"WEEK_TAB_DATA\",\r\n GET_DAY_TAB_DATA: \"GET_DAY_TAB_DATA\",\r\n DAY_TAB_DATA: \"DAY_TAB_DATA\",\r\n GET_ANNUAL_TAB_DATA: \"GET_ANNUAL_TAB_DATA\",\r\n ANNUAL_TAB_DATA: \"ANNUAL_TAB_DATA\",\r\n UPDATE_SELECTED_TAB_NAME: \"UPDATE_SELECTED_TAB_NAME\",\r\n UPDATE_SELECTED_KEY_NAME: \"UPDATE_SELECTED_KEY_NAME\",\r\n GET_REGIONAL_DATA: \"GET_REGIONAL_DATA\",\r\n REGIONAL_DATA: \"REGIONAL_DATA\",\r\n UPDATE_SELECTED_ACCOUNT_NAME: \"UPDATE_SELECTED_ACCOUNT_NAME\",\r\n GET_HOME_FEED_DATA: \"GET_HOME_FEED_DATA\",\r\n HOME_FEED_DATA: \"HOME_FEED_DATA\",\r\n SAVE_SELECTED_MENU_ITEM: \"SAVE_SELECTED_MENU_ITEM\",\r\n SAVE_ACCOUNT_LOCATION_NAME: \"SAVE_ACCOUNT_LOCATION_NAME\",\r\n GET_FINANCE_DATA: \"GET_FINANCE_DATA\",\r\n FINANCE_DATA:\"FINANCE_DATA\",\r\n GET_DROPDOWN_DATA:\"GET_DROPDOWN_DATA\",\r\n DROPDOWN_DATA:\"DROPDOWN_DATA\",\r\n GET_ACCOUNT_DATA:\"GET_ACCOUNT_DATA\",\r\n ACCOUNT_DATA : \"ACCOUNT_DATA\",\r\n GET_REGIONALSITE_DATA: \"GET_REGIONALSITE_DATA\",\r\n REGIONALSITE_DATA: \"REGIONALSITE_DATA\",\r\n GET_AVERAGE_HANDLE_TIME:\"GET_AVERAGE_HANDLE_TIME\",\r\n AVERAGE_HANDLE_TIME:\"AVERAGE_HANDLE_TIME\",\r\n GET_ABANDON_RATE:\"GET_ABANDON_RATE\",\r\n ABANDON_RATE:\"ABANDON_RATE\",\r\n GET_DIGITAL_TRANS:\"GET_DIGITAL_TRANS\",\r\n DIGITAL_TRANS:\"DIGITAL_TRANS\",\r\n GET_COST_PER_CONTACT:\"GET_COST_PER_CONTACT\",\r\n COST_PER_CONTACT:\"COST_PER_CONTACT\",\r\n GET_CONTACT_FTE_DATA: \"GET_CONTACT_FTE_DATA\",\r\n CONTACT_FTE_DATA:\"CONTACT_FTE_DATA\",\r\n UPDATE_CALENDAR_DATE_FORMAT: \"UPDATE_CALENDAR_DATE_FORMAT\",\r\n UPDATE_CALENDAR_ISOSTRING_FORMAT: \"UPDATE_CALENDAR_ISOSTRING_FORMAT\",\r\n UPDATE_CALENDAR_DATE: \"UPDATE_CALENDAR_DATE\",\r\n UPDATE_BREADCRUMB: \"UPDATE_BREADCRUMB\",\r\n GET_PENALTY_AT_RISK:\"GET_PENALTY_AT_RISK\",\r\n PENALTY_AT_RISK:\"PENALTY_AT_RISK\",\r\n GET_FIRST_CONTACT_RESOLUTION:\"GET_FIRST_CONTACT_RESOLUTION\",\r\n FIRST_CONTACT_RESOLUTION:\"FIRST_CONTACT_RESOLUTION\",\r\n GET_ATTRITION_DATA:\"GET_ATTRITION_DATA\",\r\n ATTRITION_DATA:\"ATTRITION_DATA\",\r\n GET_SLA_COMPLIANCE: \"GET_SLA_COMPLIANCE\",\r\n SLA_COMPLIANCE:\"SLA_COMPLIANCE\",\r\n GET_CSAT_DATA:\"GET_CSAT_DATA\",\r\n CSAT_DATA:\"CSAT_DATA\",\r\n GET_DELIVERY_SUPPORT:\"GET_DELIVERY_SUPPORT\",\r\n DELIVERY_SUPPORT:\"DELIVERY_SUPPORT\",\r\n GET_CONTACT_VOLUME_INFO: \"GET_CONTACT_VOLUME_INFO\",\r\n CONTACT_VOLUME_INFO:\"CONTACT_VOLUME_INFO\",\r\n GET_DROPDOWN_INFO:\"GET_DROPDOWN_INFO\",\r\n DROPDOWN_INFO:\"DROPDOWN_INFO\",\r\n GET_ACCOUNT_INFO:\"GET_ACCOUNT_INFO\",\r\n ACCOUNT_INFO:\"ACCOUNT_INFO\",\r\n TOGGLE_SETTINGS: \"TOGGLE_SETTINGS\",\r\n SAVE_ACCOUNT_DRPDWN_LIST_DATA: \"SAVE_ACCOUNT_DRPDWN_LIST_DATA\",\r\n SAVE_LOCATION_DRPDWN_LIST_DATA: \"SAVE_LOCATION_DRPDWN_LIST_DATA\",\r\n UPDATE_DTM_REPORT_DATE: \"UPDATE_DTM_REPORT_DATE\"\r\n};\r\n\r\nexport default actionTypes;\r\n","import actionTypes from \"../constants/actionTypes\";\r\n\r\nexport const getMonthData = () => ({\r\n type: actionTypes.GET_MONTH_TAB_DATA,\r\n});\r\n\r\nexport const getSummaryData = () => ({\r\n type: actionTypes.GET_SUMMARY_TAB_DATA,\r\n});\r\n\r\nexport const getWeeklyData = () => ({\r\n type: actionTypes.GET_WEEK_TAB_DATA,\r\n});\r\n\r\nexport const getDailyData = () => ({\r\n type: actionTypes.GET_DAY_TAB_DATA,\r\n});\r\n\r\nexport const getAnnualData = () => ({\r\n type: actionTypes.GET_ANNUAL_TAB_DATA,\r\n});\r\n\r\nexport const GET_WEEK_TAB_DATA = (tabName) => ({\r\n type: actionTypes.UPDATE_SELECTED_TAB_NAME,\r\n payload: tabName\r\n});\r\n\r\nexport const updateSelectedKeyName = (keyName) => ({\r\n type: actionTypes.UPDATE_SELECTED_KEY_NAME,\r\n payload: keyName\r\n});\r\n\r\nexport const updateSelectedAccountName = (AccName) => ({\r\n type: actionTypes.UPDATE_SELECTED_ACCOUNT_NAME,\r\n payload: AccName\r\n});\r\n\r\nexport const getHomeFeedData = () => ({\r\n type: actionTypes.GET_HOME_FEED_DATA\r\n});\r\n\r\nexport const saveSelectedMenuItem = (menuName) => ({\r\n type: actionTypes.SAVE_SELECTED_MENU_ITEM,\r\n payload: menuName\r\n});\r\n\r\nexport const saveAccountLocationName = (accLocationName) => ({\r\n type: actionTypes.SAVE_ACCOUNT_LOCATION_NAME,\r\n payload: accLocationName\r\n});\r\n\r\nexport const updateDTMReportDate = (dt) => ({\r\n type: actionTypes.UPDATE_DTM_REPORT_DATE,\r\n payload: dt\r\n});","const RegionalSiteActionTypes = {\r\n UPDATE_CUSTOMER_ID: \"UPDATE_CUSTOMER_ID\",\r\n UPDATE_CUSTOMER_NAME: \"UPDATE_CUSTOMER_NAME\",\r\n UPDATE_SERVICEDESK_ID: \"UPDATE_SERVICEDESK_ID\",\r\n UPDATE_REGION_NAME: \"UPDATE_REGION_NAME\",\r\n GET_REGIONALSITE_CUSTID_DATA: \"GET_REGIONALSITE_CUSTID_DATA\",\r\n UPDATE_REGIONALSITE_CUSTID_DATA: \"UPDATE_REGIONALSITE_CUSTID_DATA\",\r\n GET_REGIONALSITE_GLOBAL_SUMMARY_DATA: \"GET_REGIONALSITE_GLOBAL_SUMMARY_DATA\",\r\n UPDATE_REGIONALSITE_GLOBAL_SUMMARY_DATA: \"UPDATE_REGIONALSITE_GLOBAL_SUMMARY_DATA\",\r\n UPDATE_REGION_ID: \"UPDATE_REGION_ID\",\r\n UPDATE_DRPDWN_REGIONS_LIST: \"UPDATE_DRPDWN_REGIONS_LIST\",\r\n UPDATE_SELECTED_ACCRD_PANEL_ID: \"UPDATE_SELECTED_ACCRD_PANEL_ID\",\r\n UPDATE_DRPDWN_REGION_NAME: \"UPDATE_DRPDWN_REGION_NAME\",\r\n GET_DTM_ANALYTICS: \"GET_DTM_ANALYTICS\",\r\n UPDATE_DTM_ANALYTICS: \"UPDATE_DTM_ANALYTICS\",\r\n GET_DTM_ANALYTICS_HALF_HOUR: \"GET_DTM_ANALYTICS_HALF_HOUR\",\r\n UPDATE_DTM_ANALYTICS_HALF_HOUR: \"UPDATE_DTM_ANALYTICS_HALF_HOUR\",\r\n GET_DTM_ANALYTICS_MONTH: \"GET_DTM_ANALYTICS_MONTH\",\r\n UPDATE_DTM_ANALYTICS_MONTH: \"UPDATE_DTM_ANALYTICS_MONTH\",\r\n UPDATE_SELECTED_SLA:\"UPDATE_SELECTED_SLA\"\r\n};\r\n\r\nexport default RegionalSiteActionTypes;","import actionTypes from \"../constants/actionTypes\";\r\nimport RegionalSiteActionTypes from \"../constants/regional-site-actionTypes\";\r\n\r\nexport const getRegionalSiteData = () => ({\r\n type: actionTypes.GET_REGIONALSITE_DATA,\r\n});\r\n\r\nexport const getRegionalSiteCustIDData = (cust_id, dt) => ({\r\n type: RegionalSiteActionTypes.GET_REGIONALSITE_CUSTID_DATA,\r\n custID: cust_id,\r\n dt: dt\r\n});\r\n\r\nexport const updateRegionalSiteCustomerID = (Cust_id) => ({\r\n type: RegionalSiteActionTypes.UPDATE_CUSTOMER_ID,\r\n payload: Cust_id\r\n});\r\n\r\nexport const updateRegionalSiteCustomerName = (Cust_Name) => ({\r\n type: RegionalSiteActionTypes.UPDATE_CUSTOMER_NAME,\r\n payload: Cust_Name\r\n});\r\n\r\nexport const updateRegionalSiteServiceDeskID = (Service_id) => ({\r\n type: RegionalSiteActionTypes.UPDATE_SERVICEDESK_ID,\r\n payload: Service_id\r\n});\r\n\r\nexport const getRegionalSiteGlobalSummaryData = (cust_id, serv_id, regn_id, dt) => ({\r\n type: RegionalSiteActionTypes.GET_REGIONALSITE_GLOBAL_SUMMARY_DATA,\r\n custID: cust_id,\r\n servID: serv_id,\r\n regnID: regn_id,\r\n dt: dt\r\n});\r\n\r\nexport const updateRegionName = (Regn_Name) => ({\r\n type: RegionalSiteActionTypes.UPDATE_REGION_NAME,\r\n payload: Regn_Name\r\n});\r\n\r\nexport const updateDrpdwnRegionName = (Regn_Name) => ({\r\n type: RegionalSiteActionTypes.UPDATE_DRPDWN_REGION_NAME,\r\n payload: Regn_Name\r\n});\r\n\r\nexport const updateRegionID = (Regn_ID) => ({\r\n type: RegionalSiteActionTypes.UPDATE_REGION_ID,\r\n payload: Regn_ID\r\n});\r\n\r\nexport const updateDropownSlctdRgnsList = (Regns) => ({\r\n type: RegionalSiteActionTypes.UPDATE_DRPDWN_REGIONS_LIST,\r\n payload: Regns\r\n});\r\n\r\nexport const updateSlcdAccrdPnlID = (panelID) => ({\r\n type: RegionalSiteActionTypes.UPDATE_SELECTED_ACCRD_PANEL_ID,\r\n payload: panelID\r\n});\r\n\r\n\r\nexport const getDTMAnalyticsData = (data) => ({\r\n type: RegionalSiteActionTypes.GET_DTM_ANALYTICS,\r\n data: data\r\n});\r\n\r\n\r\nexport const updateSelectedSLA = (sla) => ({\r\n type: RegionalSiteActionTypes.UPDATE_SELECTED_SLA,\r\n payload: sla\r\n});\r\n\r\n\r\nexport const getDTMAnalyticsHalfHour = (data) => ({\r\n type: RegionalSiteActionTypes.GET_DTM_ANALYTICS_HALF_HOUR,\r\n data: data\r\n});\r\n\r\nexport const getDTMAnalyticsMonth = (data) => ({\r\n type: RegionalSiteActionTypes.GET_DTM_ANALYTICS_MONTH,\r\n data: data\r\n});\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Tabs, Tab } from \"react-bootstrap\";\r\nimport \"./tabmenu.css\";\r\n//import PagerTabMenu from \"../PagerTabMenu/pagertab\";\r\nimport LegendComponent from \"../Legend_CSV/legend\";\r\nimport Box from \"../Box/box\";\r\n//import data from \"../../assets/data.json\";\r\nimport TableBox from \"../TableBox/tableBox\";\r\nimport RptTable from \"../ReportsTable/reportsTable\";\r\nimport TabComponent from \"../ScrollableTabs/tab\";\r\nimport DataFormatHelper from \"../ReportsTable/dataFormatter\";\r\n//import { getMonthData } from \"../../actions/tabMenu.action\";\r\nimport moment from 'moment'\r\nimport {\r\n getMonthData,\r\n getSummaryData,\r\n getWeeklyData,\r\n getDailyData,\r\n getAnnualData,\r\n saveAccountLocationName\r\n} from \"../../actions/tabMenu.action\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { getDTMAnalyticsData, updateSelectedSLA } from \"../../actions/regionalSite.action\";\r\n\r\nconst TabBarMenu = () => {\r\n const history = useHistory()\r\n const [key, setKey] = useState(\"summary\");\r\n const [summaryDataBlocks, setSummaryDataBlocks] = useState([]);\r\n // const [monthDataBlocks, setmonthDataBlocks] = useState([]);\r\n const [tbkey, setTBKey] = useState(\"Overall\");\r\n const [isTblVisible, setTblVisibility] = useState(true);\r\n const [weeklyData, setWeeklyData] = useState([]);\r\n const [dailyData, setdailyData] = useState([]);\r\n const [annuallyData, setannuallyData] = useState([]);\r\n const dispatch = useDispatch();\r\n let monthData = useSelector((state) => state.tabReducer.month);\r\n const summaryData = useSelector((state) => state.tabReducer.summary);\r\n const wklyData = useSelector((state) => state.tabReducer.week);\r\n const DlyData = useSelector((state) => state.tabReducer.day);\r\n const AnnualData = useSelector((state) => state.tabReducer.annual);\r\n useEffect(() => {\r\n console.log(\"Updated month data \");\r\n window.localStorage.setItem(\"slctdTabName\", \"Summary\");\r\n dispatch(getSummaryData());\r\n console.log(\"Key\" + key);\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (summaryData && summaryData.path && summaryData.blocks) {\r\n const lcName = getAccLocationName(summaryData.path);\r\n if (summaryData.blocks.length > 0)\r\n setSummaryDataBlocks(summaryData.blocks);\r\n else\r\n setSummaryDataBlocks([]);\r\n dispatch(saveAccountLocationName(lcName));\r\n }\r\n }, [summaryData]);\r\n\r\n // useEffect(() => {\r\n // setmonthDataBlocks(monthData)\r\n // }, [monthData]);\r\n\r\n useEffect(() => {\r\n // if (wklyData && wklyData?.[0]?.path && wklyData?.[0]?.categories) {\r\n if (wklyData) {\r\n let dt = DataFormatHelper(wklyData, \"week\");\r\n setWeeklyData(dt);\r\n }\r\n }, [wklyData]);\r\n\r\n useEffect(() => {\r\n // if (DlyData && DlyData?.[0]?.path && DlyData?.[0]?.categories) {\r\n if (DlyData) {\r\n let dt = DataFormatHelper(DlyData, \"day\");\r\n setdailyData(dt);\r\n }\r\n }, [DlyData]);\r\n\r\n useEffect(() => {\r\n // if (AnnualData && AnnualData?.[0]?.path && AnnualData?.[0]?.categories) {\r\n if (AnnualData) {\r\n setannuallyData(DataFormatHelper(AnnualData, \"annual\"));\r\n }\r\n }, [AnnualData]);\r\n\r\n useEffect(() => {\r\n // clean up the table data and bredcrumb data\r\n dispatch(saveAccountLocationName(''));\r\n setSummaryDataBlocks([]);\r\n setWeeklyData([]);\r\n setannuallyData([]);\r\n setdailyData([]);\r\n monthData = [];\r\n // setmonthDataBlocks([]);\r\n }, []);\r\n\r\n const getAccLocationName = (path) => {\r\n if (path) {\r\n return path.split('/')[1];\r\n } else {\r\n return path;\r\n }\r\n }\r\n\r\n const handleTabSelect = (key) => {\r\n setKey(key);\r\n setTblVisibility(true);\r\n if (key === \"summary\") {\r\n window.localStorage.setItem(\"slctdTabName\", \"Summary\");\r\n dispatch(getSummaryData());\r\n } else if (key === \"month\") {\r\n window.localStorage.setItem(\"slctdTabName\", \"Monthly\");\r\n dispatch(getMonthData());\r\n console.log(\"Jay\" + monthData);\r\n } else if (key === \"week\") {\r\n window.localStorage.setItem(\"slctdKeyName\", \"Overall\");\r\n window.localStorage.setItem(\"slctdTabName\", \"Weekly\");\r\n setTimeout(() => {\r\n dispatch(getWeeklyData());\r\n }, 0);\r\n } else if (key === \"day\") {\r\n window.localStorage.setItem(\"slctdKeyName\", \"Overall\");\r\n window.localStorage.setItem(\"slctdTabName\", \"Daily\");\r\n setTimeout(() => {\r\n dispatch(getDailyData());\r\n }, 0);\r\n } else {\r\n window.localStorage.setItem(\"slctdKeyName\", \"Overall\");\r\n window.localStorage.setItem(\"slctdTabName\", \"Annual\");\r\n setTimeout(() => {\r\n dispatch(getAnnualData());\r\n }, 0);\r\n }\r\n setTBKey(window.localStorage.getItem(\"slctdTabName\"));\r\n };\r\n\r\n const onSubTabChange = (keyName) => {\r\n window.localStorage.setItem(\"slctdKeyName\", keyName);\r\n const tabName = window.localStorage.getItem(\"slctdTabName\");\r\n if (\r\n keyName !== \"Overall\" &&\r\n keyName !== \"By Business Unit\" &&\r\n keyName !== \"By Language\" &&\r\n keyName !== \"Quality\"\r\n ) {\r\n setTblVisibility(false);\r\n } else {\r\n setTblVisibility(true);\r\n }\r\n switch (tabName) {\r\n case \"Weekly\": {\r\n setTimeout(() => {\r\n dispatch(getWeeklyData());\r\n }, 0);\r\n break;\r\n }\r\n case \"Daily\": {\r\n setTimeout(() => {\r\n dispatch(getDailyData());\r\n }, 0);\r\n break;\r\n }\r\n case \"Annual\": {\r\n setTimeout(() => {\r\n dispatch(getAnnualData());\r\n }, 0);\r\n break;\r\n }\r\n default: {\r\n }\r\n }\r\n };\r\n const formatHandle = (value) => {\r\n if (value.match(/^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$/) === null && value?.includes('%')) return 'Percentage';\r\n else if (moment(value, ['HH:mm:ss', 'HH:mm', 'h:mm', 'h:mm A', 'hh:mm A', 'HH:MM:SS A'], true)?.isValid()) return 'Time';\r\n else if (!isNaN(value)) return 'Number'\r\n }\r\n const SLAReportHandleClick = (item) => {\r\n console.log(item)\r\n let temp = {\r\n slaItem: item?.infoName,\r\n item:item?.itemname,\r\n format: formatHandle(item?.percentage)\r\n }\r\n dispatch(updateSelectedSLA(temp));\r\n (item.pagetype === 'target') ? history.push('/answer') : history.push('/dtm');\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n {summaryDataBlocks.map((el, i) => {\r\n return ;\r\n })}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {/* {monthDataBlocks.map((el, i) => {\r\n return ;\r\n })} */}\r\n {monthData.map((el, i) => {\r\n return ;\r\n })}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {isTblVisible ? (\r\n weeklyData?.map((data, indx) => (\r\n \r\n ))\r\n ) : null}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {isTblVisible ? (\r\n dailyData?.map((data, indx) => (\r\n \r\n ))\r\n ) : null}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {isTblVisible ? (\r\n annuallyData?.map((data, indx) => (\r\n \r\n ))\r\n ) : null}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default TabBarMenu;\r\n","import React, { Component } from \"react\";\r\nimport BredCrumb from \"../Breadcrumb/bredcrumb\";\r\nimport TabMenuBar from \"../TabMenu/tabmenu\";\r\nimport \"./insights.css\";\r\nimport { KeyboardDatePicker } from \"@material-ui/pickers\";\r\nimport { connect } from \"react-redux\";\r\nimport moment from 'moment';\r\nimport {\r\n getMonthData,\r\n getSummaryData,\r\n getWeeklyData,\r\n getDailyData,\r\n getAnnualData,\r\n updateDTMReportDate\r\n} from \"../../actions/tabMenu.action\";\r\nexport class Insights extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n window.localStorage.setItem(\r\n \"selectedMonth\",\r\n new Date().toISOString().split(\"T\")[0]\r\n );\r\n\r\n this.state = {\r\n selectedDate: new Date(),\r\n accName: '',\r\n breadCrumbData: [this.props.userReducer.breadCrumbArr[0]]\r\n };\r\n }\r\n formatDatehandle(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n componentDidMount() {\r\n let selectedDT = this.props.userReducer.cal_dt;\r\n this.updateBreadCrumb(selectedDT);\r\n if (this.props?.tabReducer?.DTMReportPageDate) {\r\n let dt = this.props?.tabReducer?.DTMReportPageDate;\r\n this.setState((prevState) => {\r\n return { ...prevState, selectedDate: dt }\r\n });\r\n this.handleDateChange(moment().set({ 'year': dt.getFullYear(), 'month': dt.getMonth() }))\r\n this.updateBreadCrumb(dt)\r\n }\r\n\r\n }\r\n\r\n updateBreadCrumb = (dt) => {\r\n let tmpArr = [];\r\n tmpArr.push(this.props.userReducer.breadCrumbArr[0]);\r\n let rptObj = { name: 'Reports', reDirect: '/regional' };\r\n tmpArr.push(rptObj);\r\n if (this.props.tabReducer.selectedAccLocationName) {\r\n let rgnName = this.props.tabReducer.selectedAccLocationName.split(',');\r\n let cntryName = rgnName[1];\r\n let siteName = rgnName[0];\r\n let cntryObj = { name: cntryName, reDirect: '/regional' };\r\n let siteObj = { name: siteName, reDirect: '/regional' };\r\n tmpArr.push(cntryObj);\r\n tmpArr.push(siteObj);\r\n }\r\n if (this.props.tabReducer.selectedAccountName != '' && this.props.tabReducer.selectedAccLocationName != '') {\r\n let brdData = this.props.tabReducer.selectedAccountName + '-' + this.dateToYMD(dt);\r\n let obj = { name: brdData, reDirect: '' };\r\n tmpArr.push(obj);\r\n this.setState({ breadCrumbData: tmpArr, selectedDate: new Date(dt) });\r\n }\r\n }\r\n\r\n\r\n getClientCustID = () => {\r\n const custID = window.localStorage.getItem(\"CustomerID\");\r\n return custID;\r\n };\r\n\r\n handleDateChange = (e) => {\r\n this.props.updateDTMReportDate(new Date(e));\r\n this.updateBreadCrumb(new Date(e));\r\n let dt = new Date(e).toISOString().split(\"T\")[0];\r\n window.localStorage.setItem(\"selectedMonth\", dt);\r\n let tabName = window.localStorage.getItem(\"slctdTabName\");\r\n switch (tabName) {\r\n case \"Summary\": {\r\n this.props.fetchSummaryTabData();\r\n break;\r\n }\r\n case \"Monthly\": {\r\n this.props.fetchMonthTabData();\r\n break;\r\n }\r\n case \"Weekly\": {\r\n this.props.fetchWeeklyTabData();\r\n break;\r\n }\r\n case \"Daily\": {\r\n this.props.fetchDailyTabData();\r\n break;\r\n }\r\n case \"Annual\": {\r\n this.props.fetchAnnualTabData();\r\n break;\r\n }\r\n default: {\r\n }\r\n }\r\n this.setState({ selectedDate: new Date(e) });\r\n };\r\n\r\n dateToYMD = (date) => {\r\n var strArray = [\r\n \"JAN\",\r\n \"FEB\",\r\n \"MAR\",\r\n \"APR\",\r\n \"MAY\",\r\n \"JUN\",\r\n \"JUL\",\r\n \"AUG\",\r\n \"SEP\",\r\n \"OCT\",\r\n \"NOV\",\r\n \"DEC\",\r\n ];\r\n var m = strArray[date.getMonth()];\r\n var y = date.getFullYear();\r\n return m + \" \" + y;\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {this.props.tabReducer.selectedAccountName}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/*
*/}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => { return { ...state } };\r\n\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchMonthTabData: () => dispatch(getMonthData()),\r\n fetchSummaryTabData: () => dispatch(getSummaryData()),\r\n fetchWeeklyTabData: () => dispatch(getWeeklyData()),\r\n fetchDailyTabData: () => dispatch(getDailyData()),\r\n fetchAnnualTabData: () => dispatch(getAnnualData()),\r\n updateDTMReportDate: (e) => dispatch(updateDTMReportDate(e))\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Insights);\r\n","import React, { Component } from \"react\";\r\nimport Insights from \"../Insights/insights\";\r\n\r\nexport class container extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default container;\r\n","import React from \"react\";\r\nimport './buttonList.css';\r\nimport { Button } from \"react-bootstrap\";\r\n\r\nconst ButtonList = (props) => {\r\n const handleItems = (indx) => {\r\n for(let i=0;i\r\n
\r\n

{props.bannerName}

\r\n
\r\n
\r\n
    \r\n { props.data.map((item, indx)=>{\r\n return
  • \r\n \r\n
  • \r\n }) }\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ButtonList;","import actionTypes from \"../constants/actionTypes\";\r\n\r\nexport const getUserData = (data) => ({\r\n type: actionTypes.GET_USER_DATA,\r\n payload: data,\r\n});\r\n\r\nexport const getUserToken = (data) => ({ \r\n type: actionTypes.GET_USER_TOKEN,\r\n payload: data,\r\n});\r\n\r\nexport const getRegionalData = (data) => ({\r\n type: actionTypes.GET_REGIONAL_DATA,\r\n payload: data,\r\n});\r\n\r\nexport const updateCalendarDateFormat = (dt) => ({\r\n type: actionTypes.UPDATE_CALENDAR_DATE_FORMAT,\r\n cal_dt_frmt: dt,\r\n});\r\n\r\nexport const updateCalendarISOStringFormat = (dt) => ({\r\n type: actionTypes.UPDATE_CALENDAR_ISOSTRING_FORMAT,\r\n cal_isostring_frmt: dt,\r\n});\r\n\r\nexport const updateCalendarDate = (dt) => ({\r\n type: actionTypes.UPDATE_CALENDAR_DATE,\r\n cal_dt: dt,\r\n});\r\n\r\nexport const updateBreadCrumb = (bArr) => ({\r\n type: actionTypes.UPDATE_BREADCRUMB,\r\n breadCrumbArr: bArr,\r\n});","import React, { useState, useEffect } from \"react\";\r\n//import Header from \"../Header/header\";\r\nimport ButtonList from \"./buttonList\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { getRegionalData } from \"../../actions/user.action\";\r\nimport { updateSelectedAccountName, saveSelectedMenuItem } from \"../../actions/tabMenu.action\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nconst SiteLanding = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const [regionalIdx, setRegionalIdx] = useState(0);\r\n const [serviceDskIdx, setServiceDskIdx] = useState(0);\r\n const [regionalDt, setRegionalDt] = useState([]);\r\n const [serviceDskDt, setServiceDskDt] = useState([]);\r\n const [customerDt, setCustomerDt] = useState([]);\r\n const slaDt = [{'fieldName': 'SLA Report', 'idx': 0, 'isActv': false}];\r\n const extractRegionalData = (data, type) => {\r\n const tempArr = [];\r\n if(data && data.length > 0){\r\n data.map((rData, indx)=>{\r\n let obj;\r\n if(type==='region')\r\n obj = {'fieldName': rData.region, 'idx': indx, 'isActv': false};\r\n else if(type==='service'){\r\n obj = {'fieldName': rData.servicedesk, 'idx': indx, 'isActv': false};\r\n }else{\r\n obj = {'fieldName': rData.customer, 'idx': indx, 'isActv': false};\r\n } \r\n return tempArr.push(obj); \r\n });\r\n return tempArr;\r\n }else{\r\n return [];\r\n }\r\n }\r\n\r\n const getCustomerName = (custID) => {\r\n if(regionalAllData[regionalIdx] && regionalAllData[regionalIdx]?.servicedesks[serviceDskIdx]){\r\n let dt = regionalAllData[regionalIdx]?.servicedesks[serviceDskIdx];\r\n dt = dt.customers.filter((item, idx)=>item.customerid === custID);\r\n return dt[0]['customer'];\r\n } \r\n\r\n }\r\n\r\n const regionalAllData = useSelector((state) => state.userReducer.regionalData); \r\n useEffect(() => { \r\n dispatch(getRegionalData()); \r\n }, [dispatch]);\r\n\r\n useEffect(() => { \r\n if(regionalAllData && regionalAllData.length > 0){\r\n let rgDt = extractRegionalData(regionalAllData, 'region');\r\n let servDt = extractRegionalData(regionalAllData[0]['servicedesks'], 'service');\r\n let cusDt = extractRegionalData(regionalAllData[0]['servicedesks'][0]['customers'], 'customer');\r\n rgDt[0].isActv = true;\r\n servDt[0].isActv = true;\r\n setRegionalDt(rgDt);\r\n setServiceDskDt(servDt);\r\n setCustomerDt(cusDt);\r\n }\r\n else{\r\n setRegionalDt([]);\r\n setServiceDskDt([]);\r\n setCustomerDt([]);\r\n } \r\n }, [regionalAllData]);\r\n\r\n const handleRegionalSelection = (indx) => {\r\n let dt = [], cusDt = [];\r\n setCustomerDt([]);\r\n setServiceDskDt([]);\r\n if(regionalAllData && regionalAllData.length > 0){\r\n if(regionalAllData[indx]['servicedesks'] && regionalAllData[indx]['servicedesks'].length > 0){\r\n cusDt = extractRegionalData(regionalAllData[indx]['servicedesks'][0]['customers'], 'customer');\r\n dt = extractRegionalData(regionalAllData[indx]['servicedesks'], 'service');\r\n dt[0].isActv = true;\r\n } \r\n else\r\n cusDt = [];\r\n setRegionalIdx(indx); \r\n setServiceDskDt(dt);\r\n setCustomerDt(cusDt);\r\n }\r\n }\r\n\r\n const handleServiceDskSelection = (idx) => {\r\n if(serviceDskDt && serviceDskDt.length > 0 && regionalAllData[regionalIdx]['servicedesks'][idx]['customers']){\r\n let dt = extractRegionalData(regionalAllData[regionalIdx]['servicedesks'][idx]['customers'], 'customer');\r\n setCustomerDt(dt);\r\n }else{\r\n setCustomerDt([]);\r\n }\r\n setServiceDskIdx(idx);\r\n }\r\n\r\n const handleCustomerDskSelection = (idx) => {\r\n let servObj = regionalAllData[regionalIdx].servicedesks[serviceDskIdx]; \r\n if(servObj && servObj.servicedeskid){\r\n window.localStorage.setItem('ServiceDeskID', servObj.servicedeskid); \r\n }\r\n if(servObj && servObj.customers && servObj.customers.length > 0){\r\n window.localStorage.setItem('CustomerID', servObj.customers[idx].customerid);\r\n }\r\n const custName = getCustomerName(servObj.customers[idx].customerid);\r\n dispatch(updateSelectedAccountName(custName));\r\n dispatch(saveSelectedMenuItem(\"reports\"));\r\n history.push(\"/reports\");\r\n }\r\n\r\n const handleSLASelection = (idx) => {\r\n let srvID;\r\n if(regionalAllData[regionalIdx] && regionalAllData[regionalIdx].servicedesks[serviceDskIdx] && regionalAllData[regionalIdx].servicedesks[serviceDskIdx].servicedeskid)\r\n srvID = regionalAllData[regionalIdx].servicedesks[serviceDskIdx].servicedeskid;\r\n window.open(`${process.env.REACT_APP_BASE_URL}/api/metrics/redirecttositereport/${srvID}`);\r\n }\r\n\r\n return(\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default SiteLanding;","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAQCAYAAAAS7Y8mAAAABHNCSVQICAgIfAhkiAAAAgBJREFUOE+FVEFO40AQrHFyJz8gCJD2Bpw4El4AfGDl2Q9seMF6XwC8wBM+AD/AvABzQ1oihR/kvln3Vk/GZmxiJVI0yUx3dVVN9xj0fNJv+Vj+4hcMxgw55ncUQkuuSxFx9/Mfs7580z1Ix/lIBrghYNqX1OwLFgS4dnP72I1tAXvQIZ4CQxiDGQQOK5RuYZeanB7myv64EmRM3g2At7N3ex2DN8CaIBUeVLoAr8kQl+7NLjzYfn5ZGRzxbJkAz+6PVTuQHuRTxt54QBKYza2twT1wkP/SgK4wUYa+mCCvFUSMGoaMSUMM0/HbvdtM49bA+/mtGPz0TGvQtdefxQDvI2OmXHZikBb4EHuq1FDOhMHqq3p60pVJgGeymNRsfbfQcwWnr59WBnLcL7h/br4f5CVPj2IGwb9HFrwwgqvurZNMwbMz5pyzaFHbWQ2hWLuSJKfbgaPkhnUPcGOdAm+1gi1He9KOFS/8P9pkRW1d6/IYXJoV5WlH8PJqadxXW3yLMUEvb7T18rr+tMDZbhwEp3cQtRro+x191wI6MP3tFgJikJIdYpsO4YCQqk7ckmuxaUB0SmPLvow05RcNQ7KtjLjByrzGI11Vwi4yWXigWgpqZRsfIQyQ6cDE8jf9pu8fiWC69RGKk3UQ8A8ZR03fDrVhR8/9dK4tcZTu+or/B72YNNY61QT0AAAAAElFTkSuQmCC\"","import React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport Tooltip from 'react-power-tooltip'\r\nimport \"./global-accounts.css\";\r\nimport viewIcon from \"../../../assets/images/ViewDetails_Icon.png\";\r\nimport AboveRequiredTargetIcon from \"../../../assets/images/AboveRequiredTarget_Status.png\";\r\nimport AboveMinimalTargetIcon from \"../../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport { updateRegionalSiteCustomerName, updateRegionalSiteCustomerID, getRegionalSiteCustIDData } from \"../../../actions/regionalSite.action\";\r\nimport ReactTooltip from 'react-tooltip';\r\nconst GlobalAccounts = (props) => {\r\n let sites=[];\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const getArrowIcon = (color) => {\r\n let colr;\r\n switch(color){\r\n case 'yellow' : { colr = AboveMinimalTargetIcon; break;}\r\n case 'green' : { colr = AboveRequiredTargetIcon; break;}\r\n case 'red' : { colr = BelowMinimalTargetIcon; break;}\r\n default : {}\r\n }\r\n return colr;\r\n };\r\n\r\n \r\n\r\n const navigateToAccountGlobal = (c_name, c_id) => {\r\n dispatch(updateRegionalSiteCustomerName(c_name));\r\n dispatch(updateRegionalSiteCustomerID(c_id));\r\n dispatch(getRegionalSiteCustIDData(c_id, new Date().toISOString().split('T')[0]));\r\n history.push('/regional_global_accounts');\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Global Accounts
\r\n
\r\n
Account Logo
\r\n
Account Name
\r\n
Regions
\r\n
Sites
\r\n
SLA's Met
\r\n
SLA over Delivery
\r\n
\r\n
\r\n
\r\n { props.data.map((itm,idx)=>{\r\n sites = [];\r\n itm?.servicedesks?.map((itm)=>{\r\n return sites.push(itm.servicedesk); \r\n });\r\n return(\r\n \r\n
\r\n
\r\n \"Account \r\n
\r\n
{itm?.customer}
\r\n
\r\n {itm?.count_regions}\r\n \r\n
{itm?.customer} Regions
\r\n
\r\n
    \r\n { itm?.regions?.map((itm, j)=>{\r\n return
  • {itm?.region}
  • ; \r\n }) } \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {itm?.count_servicedesks} \r\n \r\n
{itm?.customer} Sites
\r\n
\r\n { sites.join(' | ') } \r\n
\r\n
\r\n
\r\n
\r\n {itm?.items?.slamet?.value}\r\n \r\n \r\n \r\n
\r\n
\r\n {itm?.items?.slaovd?.value}\r\n \r\n \r\n \r\n
\r\n
\r\n navigateToAccountGlobal(itm?.customer, itm?.customerid)} className=\"view-img\" alt=\"viewImg\" />\r\n
\r\n
\r\n );\r\n }) }\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default GlobalAccounts;\r\n","import React from \"react\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector, useDispatch} from \"react-redux\";\r\nimport \"./clientCards.css\";\r\nimport { Button } from \"react-bootstrap\";\r\nimport SiteLevelReport_Icon from \"../../../assets/images/SiteLevelReport_Icon.png\";\r\nimport AboveRequiredTargetIcon from \"../../../assets/images/AboveRequiredTarget_Status.png\";\r\nimport AboveMinimalTargetIcon from \"../../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport { updateSelectedAccountName, saveSelectedMenuItem, saveAccountLocationName } from \"../../../actions/tabMenu.action\";\r\nimport { updateRegionalSiteCustomerID, updateRegionalSiteCustomerName, updateRegionalSiteServiceDeskID } from '../../../actions/regionalSite.action';\r\nconst ClientCards = (props) => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n \r\n\r\n const getArrowIcon = (color) => {\r\n let colr;\r\n switch(color){\r\n case 'yellow' : { colr = AboveMinimalTargetIcon; break;}\r\n case 'green' : { colr = AboveRequiredTargetIcon; break;}\r\n case 'red' : { colr = BelowMinimalTargetIcon; break;}\r\n default : {}\r\n }\r\n return colr;\r\n }\r\n\r\n const viewDTMReports = (service_id,c_name, cust_id, service_desk) => {\r\n if(service_id){\r\n window.localStorage.setItem('ServiceDeskID', service_id); \r\n }\r\n if(cust_id){\r\n window.localStorage.setItem('CustomerID', cust_id);\r\n }\r\n dispatch(updateRegionalSiteCustomerID(cust_id));\r\n dispatch(updateRegionalSiteCustomerName(c_name));\r\n dispatch(updateSelectedAccountName(c_name));\r\n dispatch(saveAccountLocationName(service_desk));\r\n dispatch(saveSelectedMenuItem(\"reports\"));\r\n dispatch(updateRegionalSiteServiceDeskID(service_id));\r\n history.push(\"/reports\");\r\n };\r\n\r\n const handleSLASelection = (serv_id) => {\r\n if(serv_id) \r\n window.open(`${process.env.REACT_APP_BASE_URL}/api/metrics/redirecttositereport/${serv_id}`);\r\n }\r\n\r\n return (\r\n\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    \r\n
    Card title
    \r\n
    \r\n \r\n
    \r\n

    {props.siteName} Site Level Report

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
  • \r\n \r\n {props?.data?.map((itm,idx)=>{\r\n return (\r\n
  • \r\n
    \r\n
    \r\n
    {itm?.customer}
    \r\n
    \r\n \"client\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    SLAs Met
    \r\n
    \r\n
    \r\n {itm?.items?.slamet?.value} \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    SLA Over Delivery
    \r\n
    \r\n
    \r\n {itm?.items?.slaovd?.value} \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
  • \r\n );\r\n })} \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\n\r\nexport default ClientCards;","export default \"data:image/png;base64,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\"","import React from \"react\";\r\nimport \"./accordion.css\";\r\nimport Accordion from 'react-bootstrap/Accordion';\r\nimport ClientCards from '../Client-Cards/clientCards';\r\n\r\nconst AccordionPanels = (props) => {\r\n return (\r\n
\r\n {/* initially it (activeKey={props.isActive}) was placed inside the \r\n { props?.data?.servicedesks?.map((itm,idx)=>{\r\n return (props.slctdAccrdPnlID(idx)}>\r\n \r\n
\r\n
{itm?.servicedesk}
\r\n
{itm?.count_customers}{(itm.count_customers > 1) ? ' Accounts' : ' Account'}
\r\n
\r\n
\r\n \r\n \r\n \r\n
); \r\n }) } \r\n
\r\n
\r\n );\r\n};\r\n\r\n\r\nexport default AccordionPanels;","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAOCAYAAADE84fzAAAABHNCSVQICAgIfAhkiAAAAKdJREFUOE+lk8ENgCAMRS2LOYp6hH3gqo7iYkQgQhApLcjFYJr3/y8tTO5orVchxCyl3Px99JQc8D8AYPdA9z1GBWocMMYcjrtEtyMCOfjhnEqpFfzljwAGDp2IjkcEWuAXvDcBBf7AuQIccBVOCXDBKBwTsNZecWzzqcD2Ij1oraB85KImjFtr4ZrwWgKO47QznFUvEpCOu+BZgolqRW6WbAsnGVZzA6E1aw+odRCJAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAOCAYAAADE84fzAAAABHNCSVQICAgIfAhkiAAAAJxJREFUOE+l0oEJgCAQBdDcoFHaoDapJqs2qk0aofvgwUdMfxkIQdf7el7o9Gex0tHWqv4SxELAW6zd1QAFZ9j3IgXU8BwsB5TwFL5MPW3N1MriCd7wHDwZetsCKAXk8BLMLakGpLgCywGMf4GlAMf/wNUA4C1wMQA43z7GzaeCJk56ZefApr0t+DA0wHwCvKMbHV9oH+dY2qZS9AAP8zIPdBYeBwAAAABJRU5ErkJggg==\"","import React, { useState, useEffect, useRef } from \"react\";\r\nimport \"./select.css\";\r\nimport downward_icon from '../../assets/images/downward_arrow.png'\r\nimport upward_icon from '../../assets/images/upward_arrow.png'\r\nconst CustomSelect = (props) => { \r\n const [options, setOptions] = useState([]);\r\n const [openData, setOpenData] = useState(false);\r\n const [selectedVal, setSelectedVal] = useState(props.selectedVal ? props.selectedVal : '');\r\n const [queryVal, setQueryVal] = useState('');\r\n const ref = useRef();\r\n let isSearchable = props.isSearchable ? props.isSearchable : false;\r\n useEffect(() => {\r\n /**\r\n * Alert if clicked on outside of element\r\n */\r\n const handleClickOutside = (event) => {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n // alert('inside lick3');\r\n if(!openData)\r\n setOpenData(openData);\r\n //event.preventDefault();\r\n }\r\n }\r\n\r\n // Bind the event listener\r\n document.addEventListener(\"click\", handleClickOutside);\r\n return () => { \r\n // Unbind the event listener on clean up\r\n document.removeEventListener(\"click\", handleClickOutside);\r\n };\r\n}, [ref]);\r\n\r\nconst filterQuery = (query,dt) => {\r\n return dt?.filter(option => {\r\n if (query === '') return option;\r\n else if (option?.value?.toLowerCase().includes(query.toLowerCase().trim()))\r\n return option;\r\n })\r\n}\r\n\r\n return (\r\n
\r\n
\r\n
{ setOpenData(!openData) }} >\r\n {\r\n setOpenData(true);\r\n setSelectedVal(e.target.value); \r\n setQueryVal(e.target.value);\r\n }}\r\n type='text' \r\n value={selectedVal} \r\n placeholder=\"Select\" \r\n disabled={isSearchable}/>\r\n \r\n
\r\n
\r\n {openData &&
    \r\n {filterQuery(queryVal, props?.options)?.map(option =>\r\n (
  • {setSelectedVal(option.value); setOpenData(!openData); props.selectedRegionHandler(option.id, option.value);}}> \r\n \r\n
  • )\r\n )}\r\n\r\n
}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CustomSelect;","import React from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport './regional-card-widget.css';\r\n\r\nconst RegionalCardWdget = (props) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{props?.txthdr}
\r\n
\r\n
\r\n
{props?.txt}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{props?.lnktxt}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RegionalCardWdget;\r\n\r\n","export const ScoreCardActionTypes = {\r\n GET_SCORECARD_DATA: \"GET_SCORECARD_DATA\",\r\n SCORECARD_DATA: \"SCORECARD_DATA\",\r\n\r\n GET_SCORECARD_PERFORMANCE_DATA: \"GET_SCORECARD_PERFORMANCE_DATA\",\r\n SCORECARD_PERFORMANCE_DATA: \"SCORECARD_PERFORMANCE_DATA\",\r\n\r\n GET_SCORECARD_OFFCANVAS_DATA: \"GET_SCORECARD_OFFCANVAS_DATA\",\r\n SCORECARD_OFFCANVAS_DATA: \"SCORECARD_OFFCANVAS_DATA\",\r\n\r\n GET_AGENTS_KPI_SUMMARY_DATA:\"GET_AGENTS_KPI_SUMMARY_DATA\",\r\n AGENTS_KPI_SUMMARY_DATA:\"AGENTS_KPI_SUMMARY_DATA\",\r\n\r\n GET_TEAMLEADER_AGENTS: \"GET_TEAMLEADER_AGENTS\",\r\n TEAMLEADER_AGENTS: \"TEAMLEADER_AGENTS\",\r\n\r\n GET_TEAMLEADER_ACCOUNTS: \"GET_TEAMLEADER_ACCOUNTS\",\r\n TEAMLEADER_ACCOUNTS: \"TEAMLEADER_ACCOUNTS\",\r\n\r\n GET_TEAMLEADER_ACCOUNTS_VIEW: \"GET_TEAMLEADER_ACCOUNTS_VIEW\",\r\n TEAMLEADER_ACCOUNTS_VIEW: \"TEAMLEADER_ACCOUNTS_VIEW\",\r\n\r\n GET_TEAMLEADER_DATES: \"GET_TEAMLEADER_DATES\",\r\n TEAMLEADER_DATES: \"TEAMLEADER_DATES\",\r\n\r\n GET_AGENTS_KPI_ACCOUNTS_DATA:\"GET_AGENTS_KPI_ACCOUNTS_DATA\",\r\n AGENTS_KPI_ACCOUNTS_DATA:\"AGENTS_KPI_ACCOUNTS_DATA\",\r\n\r\n GET_TEAM_KPI_SUMMARY_DATA:\"GET_TEAM_KPI_SUMMARY_DATA\",\r\n TEAM_KPI_SUMMARY_DATA:\"TEAM_KPI_SUMMARY_DATA\",\r\n\r\n GET_AGENTS_GRAPH_DATA:\"GET_AGENTS_GRAPH_DATA\",\r\n AGENTS_GRAPH_DATA:\"AGENTS_GRAPH_DATA\",\r\n\r\n\r\n\r\n SAVE_SELECTED_TAB: \"SAVE_SELECTED_TAB\",\r\n SAVE_SELECTED_DATE: \"SAVE_SELECTED_DATE\",\r\n SAVE_SELECTED_AGENTSCORECARD_DATE: \"SAVE_SELECTED_AGENTSCORECARD_DATE\",\r\n\r\n\r\n };\r\n \r\n export default ScoreCardActionTypes;","import {ScoreCardActionTypes as actionTypes} from \"../constants/ScoreCard&TeamKPI-actionTypes\";\r\n\r\nexport const getScoreCardData = (selecteddate,agent) => ({\r\n type: actionTypes.GET_SCORECARD_DATA,\r\n selecteddate: selecteddate,\r\n agent:agent\r\n });\r\n\r\n export const getScoreCardPerformanceData = (data) => ({\r\n type: actionTypes.GET_SCORECARD_PERFORMANCE_DATA,\r\n payload: data,\r\n });\r\n\r\n export const getScoreCardOffCanvasData = (agent) => ({\r\n type: actionTypes.GET_SCORECARD_OFFCANVAS_DATA,\r\n agent: agent,\r\n });\r\n\r\n export const getAgentsKPISummaryData = (name,account,date,selectedtab) => ({\r\n type: actionTypes.GET_AGENTS_KPI_SUMMARY_DATA,\r\n name: name,\r\n account: account,\r\n date:date,\r\n selectedtab:selectedtab\r\n });\r\n\r\n export const getTeamleaderAgentsData = (accountID) => ({\r\n type: actionTypes.GET_TEAMLEADER_AGENTS,\r\n accountID: accountID,\r\n });\r\n\r\n export const getTeamleaderAccountsData = (agents) => ({\r\n type: actionTypes.GET_TEAMLEADER_ACCOUNTS,\r\n agents: agents,\r\n });\r\n\r\n export const getTeamleaderAccountsViewData = (data) => ({\r\n type: actionTypes.GET_TEAMLEADER_ACCOUNTS_VIEW,\r\n payload: data,\r\n });\r\n\r\n export const getTeamleaderDatesData = (agents) => ({\r\n type: actionTypes.GET_TEAMLEADER_DATES,\r\n agents: agents,\r\n });\r\n\r\n export const AgentsKPIAccountsData = (email) => ({\r\n type: actionTypes.GET_AGENTS_KPI_ACCOUNTS_DATA,\r\n email: email,\r\n });\r\n\r\n export const getTeamKPISummaryData = (date) => ({\r\n type: actionTypes.GET_TEAM_KPI_SUMMARY_DATA,\r\n date:date,\r\n });\r\n\r\n export const getAgentsGraphData = (agent,teamKPI,metric,date) => ({\r\n type: actionTypes.GET_AGENTS_GRAPH_DATA,\r\n agent: agent,\r\n teamKPI: teamKPI,\r\n metric: metric,\r\n date:date,\r\n });\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n export const saveSelectedTab = (data) => (\r\n {\r\n type: actionTypes.SAVE_SELECTED_TAB,\r\n payload: data,\r\n }\r\n )\r\n\r\n export const saveSelectedDate = (data) => (\r\n {\r\n type: actionTypes.SAVE_SELECTED_DATE,\r\n payload: data,\r\n }\r\n )\r\n\r\n export const saveSelectedAgentScoreCardDate = (data) => (\r\n {\r\n type: actionTypes.SAVE_SELECTED_AGENTSCORECARD_DATE,\r\n payload: data,\r\n }\r\n )\r\n \r\n ","import React, { useEffect } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { getScoreCardPerformanceData, saveSelectedAgentScoreCardDate } from '../../actions/ScoreCard&TeamKPI.action';\r\nimport { getUserData } from '../../actions/user.action';\r\n\r\nconst AgentCardinReports = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n let userInfo = useSelector((state) => state.userReducer.userInfo);\r\n let ScoreCardPerformanceData = useSelector((state) => state.ScoreCardReducer.ScoreCardPerformanceData);\r\n useEffect(()=>{\r\n dispatch(getUserData());\r\n dispatch(getScoreCardPerformanceData());\r\n },[dispatch])\r\n\r\n const ColorHandler = (color) => {\r\n switch (color) {\r\n case 'Red': return '#EA333D';\r\n case 'Green': return '#6CC24A';\r\n case 'Yellow': return '#FFBF00';\r\n default: return;\r\n }\r\n }\r\n return (\r\n
\r\n
\r\n
My Scorecard
\r\n
Information related to Agent Score Card Metrics are displayed in this section.
\r\n
\r\n
\r\n
{ScoreCardPerformanceData?.[0]?.Metric}
\r\n
{ScoreCardPerformanceData?.[0]?.Details?.[0]?.Score} \r\n {ScoreCardPerformanceData?.[0]?.Details?.[0]?.['for Last Month']} for Last Month
\r\n
{history.push('/agent');dispatch(saveSelectedAgentScoreCardDate(userInfo.email))}}>VIEW SCORECARD
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default AgentCardinReports","import React, { useEffect } from 'react';\r\nimport './TeamKPISummary.css';\r\nimport AboveRequiredTargetIcon from \"../../assets/images/AboveRequiredTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport { getTeamKPISummaryData } from '../../actions/ScoreCard&TeamKPI.action';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nconst TeamKPISummary = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n let teamKPISummaryData = useSelector((state) => state.ScoreCardReducer.teamKPISummaryData);\r\n\r\n useEffect(() => {\r\n dispatch(getTeamKPISummaryData());\r\n }, [dispatch]);\r\n\r\n\r\n return (\r\n
\r\n
Team KPI Summary
\r\n
\r\n
Customer Experience
\r\n
\r\n {teamKPISummaryData?.[0]?.Details?.map((data,i) => \r\n
\r\n
{data.Metric}
\r\n
{data.Value1}
\r\n
{data.Value2}
\r\n
\r\n ) }\r\n
\r\n\r\n
{history.push('/agentskpisummary')}}> EXPLORE AGENTS KPI SUMMARY
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default TeamKPISummary","import React, { useState, useEffect } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport \"./regionalSite.css\";\r\nimport BredCrumb from \"../Breadcrumb/bredcrumb\";\r\nimport AboveRequiredTargetIcon from \"../../assets/images/AboveRequiredTarget_Status.png\";\r\nimport AboveMinimalTargetIcon from \"../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport FinaceReport_Icon from \"../../assets/images/FinaceReport_Icon.png\";\r\nimport ExecutiveDashboard_Icon from \"../../assets/images/ExecutiveDashboard_Icon.png\" \r\nimport GlobalAccounts from \"./GlobalAccounts/global-accounts\";\r\nimport AccordionPanels from \"./Accordion-panels/accordion\";\r\nimport CustomSelect from \"../custom-select/custom-select\";\r\nimport { getRegionalSiteData, updateDrpdwnRegionName, updateDropownSlctdRgnsList, updateSlcdAccrdPnlID } from \"../../actions/regionalSite.action\";\r\nimport RegionalCardWdget from \"./Regional-Card-Widget/regional-card-widget\";\r\nimport AgentCardinReports from \"../Agent-ScoreCard/AgentCardinReports\";\r\nimport TeamKPISummary from \"../TeamLeaderView/TeamKPISummary\";\r\nconst RegionalSite = () => {\r\n\r\n const [globalCustomerData, setGlobalCustomerData] = useState([]);\r\n const [regionDropdownData, setRegionDropdownData] = useState([{id: 0, value: ''}]);\r\n const [accordionPanelData, setAccordionPanelData] = useState({}); \r\n const [isAccrdPnlActive, setIsAccrdPnlActive] = useState('');\r\n const ASDTextHdr = 'ASD Cost Recovery Report';\r\n const ASDText = 'Baseline report for ASD cost recovery purposes. ASD base data input (Agent FTE, Call duration, Call volume data) for financial purposes.';\r\n const ASDTextLink = 'EXPLORE DETAILED FINANCE REPORT';\r\n const ASDLink =\"/finance\";\r\n\r\n const EDTextHdr = 'Executive Dashboard';\r\n const EDText = 'Combined ASD Global Dashboard and GSD Global KPI Dashboard.';\r\n const EDTextLink = 'EXPLORE DETAILED GLOBAL DASHBOARD';\r\n const EDLink =\"/eDashboard\";\r\n\r\n const dispatch = useDispatch();\r\n let regionalSiteData = useSelector((state) => state.regionalSiteReducer.regionalSiteData);\r\n let drpdwnSlctdRgnName = useSelector((state) => state.regionalSiteReducer.drpdwnRegionName);\r\n let drpdwnSlctdRgnList = useSelector((state) => state.regionalSiteReducer.drpdwnSlctdRgns);\r\n let slctAccrdPnlID = useSelector((state) => state.regionalSiteReducer.slcdAccrdPnlID);\r\n useEffect(() => {\r\n if(!regionalSiteData.regions){\r\n dispatch(getRegionalSiteData());\r\n }else if(drpdwnSlctdRgnName && drpdwnSlctdRgnList?.servicedesks?.length > 0){\r\n buildRegionDropdownData();\r\n setAccordionPanelData(drpdwnSlctdRgnList);\r\n setIsAccrdPnlActive(slctAccrdPnlID);\r\n } \r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n buildRegionDropdownData();\r\n }, [regionalSiteData]);\r\n\r\n const buildRegionDropdownData = () => {\r\n let regnDtTempArr = [];\r\n if (regionalSiteData && regionalSiteData.globalcustomers) { \r\n setGlobalCustomerData(regionalSiteData.globalcustomers);\r\n regionalSiteData.regions.map((itm, idx)=>{\r\n let val = {id: itm.regionid, value: itm.region};\r\n regnDtTempArr.push(val);\r\n });\r\n setRegionDropdownData(regnDtTempArr);\r\n }\r\n }\r\n\r\n const selectedDrpDwnRegionHandler = (e, rgnName) => {\r\n if(regionalSiteData && regionalSiteData.regions && regionalSiteData.regions.length > 0){\r\n const region = regionalSiteData.regions.filter((itm)=> {\r\n return itm.regionid === e;\r\n });\r\n setAccordionPanelData(region[0]); \r\n dispatch(updateDrpdwnRegionName(rgnName));\r\n dispatch(updateDropownSlctdRgnsList(region[0])); \r\n setIsAccrdPnlActive('');\r\n }\r\n }\r\n\r\n\r\nconst slctdAccrdPnlID = (pnlID) => {\r\n if(pnlID || pnlID === 0){\r\n dispatch(updateSlcdAccrdPnlID(pnlID));\r\n setIsAccrdPnlActive(pnlID);\r\n } \r\n}\r\n\r\nconst RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n return (\r\n
\r\n {/*
*/}\r\n
\r\n \r\n
\r\n
Reports
\r\n
\r\n
\r\n Legend:\r\n \r\n \r\n \r\n \r\n {\"Above Required Target\"}\r\n \r\n \r\n {\" \"}\r\n {\"Above Minimal Target\"}\r\n \r\n \r\n \r\n {\" Below Minimal Target\"}\r\n \r\n
\r\n { RoleBasedView?.[0]?.['Agent View']?.[0]?.Read === 1 ? : ''}\r\n { RoleBasedView?.[0]?.['Team Leader View']?.[0]?.Read === 1 ? : ''}\r\n { RoleBasedView?.[0]?.['ASD Cost Recovery Report']?.[0]?.Read === 1 ? : ''}\r\n { RoleBasedView?.[0]?.['Executive Dashboard']?.[0]?.Read === 1 ? : ''}\r\n
\r\n
\r\n
Select Region
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default RegionalSite;\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector, useDispatch} from \"react-redux\";\r\nimport './account-details.css';\r\nimport viewIcon from \"../../../assets/images/ViewDetails_Icon.png\";\r\nimport AboveRequiredTargetIcon from \"../../../assets/images/AboveRequiredTarget_Status.png\";\r\nimport AboveMinimalTargetIcon from \"../../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport {getRegionalSiteGlobalSummaryData, updateRegionName, updateRegionID} from \"../../../actions/regionalSite.action\";\r\nimport { updateSelectedAccountName, saveSelectedMenuItem , saveAccountLocationName} from \"../../../actions/tabMenu.action\";\r\nconst AccountDetails = (props) => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const isoDateString = useSelector((state) => state.userReducer.cal_isostring_frmt);\r\n const { servicedesks, regionid, region } = props.data ? props.data : [];\r\n let customers = [];\r\n if(servicedesks && servicedesks.length > 0)\r\n customers = servicedesks[0]?.customers;\r\n\r\n const selectedAccCustName = useSelector((state) => state.regionalSiteReducer.rgnCustName);\r\n const selectedAccCustID = useSelector((state) => state.regionalSiteReducer.rgnCustId); \r\n \r\n\r\n const getArrowIcon = (color) => {\r\n let colr;\r\n switch(color){\r\n case 'yellow' : { colr = AboveMinimalTargetIcon; break;}\r\n case 'green' : { colr = AboveRequiredTargetIcon; break;}\r\n case 'red' : { colr = BelowMinimalTargetIcon; break;}\r\n default : {}\r\n }\r\n return colr;\r\n };\r\n\r\n const viewRegionalHandler = (regionID) => {\r\n dispatch(updateRegionID(regionID));\r\n dispatch(updateRegionName(region));\r\n dispatch(getRegionalSiteGlobalSummaryData(selectedAccCustID,0,regionID,isoDateString));\r\n history.push('/regional_summary');\r\n }\r\n\r\n const handleViewDTMReport = (serviceID, serviceDesk) => {\r\n if(serviceID){\r\n window.localStorage.setItem('ServiceDeskID', serviceID); \r\n }\r\n if(selectedAccCustID){\r\n window.localStorage.setItem('CustomerID', selectedAccCustID);\r\n }\r\n dispatch(updateSelectedAccountName(selectedAccCustName));\r\n dispatch(saveSelectedMenuItem(\"reports\"));\r\n dispatch(saveAccountLocationName(serviceDesk));\r\n history.push(\"/reports\");\r\n }\r\n\r\n return ( \r\n
\r\n
\r\n
\r\n {props?.data?.region}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n viewRegionalHandler(regionid)}>View Regional Summary\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Site Name
\r\n
SLAs Met
\r\n
SLA Over Delivery
\r\n
\r\n
\r\n
\r\n { customers.map((itm,idx)=>{\r\n\r\n return(\r\n \r\n
\r\n
{servicedesks[0]?.servicedesk}
\r\n
\r\n {itm?.items?.slamet?.value}\r\n \r\n \r\n \r\n
\r\n
\r\n {itm?.items?.slaovd?.value}\r\n \r\n \r\n \r\n
\r\n
\r\n handleViewDTMReport(servicedesks[0]?.servicedeskid, servicedesks[0]?.servicedesk)} className=\"view-img\" alt=\"viewImg\" />\r\n
\r\n
\r\n );\r\n }) }\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AccountDetails;","import React, { useState, useEffect } from \"react\";\r\nimport { useSelector, useDispatch} from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport BredCrumb from \"../../Breadcrumb/bredcrumb\";\r\nimport { KeyboardDatePicker } from \"@material-ui/pickers\";\r\nimport LegendComponent from \"../../Legend_CSV/legend\";\r\nimport AccountDetails from \"../Account-Details/account-details\";\r\nimport {getRegionalSiteGlobalSummaryData} from \"../../../actions/regionalSite.action\";\r\nimport { updateCalendarDateFormat, updateCalendarISOStringFormat, updateCalendarDate } from \"../../../actions/user.action\";\r\nimport { updateRegionalSiteCustomerName, updateRegionalSiteCustomerID, getRegionalSiteCustIDData } from \"../../../actions/regionalSite.action\";\r\nconst AccountGlobal = (props) => {\r\n \r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const dateToYMD = (date) => {\r\n var strArray = [\r\n \"JAN\",\r\n \"FEB\",\r\n \"MAR\",\r\n \"APR\",\r\n \"MAY\",\r\n \"JUN\",\r\n \"JUL\",\r\n \"AUG\",\r\n \"SEP\",\r\n \"OCT\",\r\n \"NOV\",\r\n \"DEC\",\r\n ];\r\n var m = strArray[date.getMonth()];\r\n var y = date.getFullYear();\r\n return m + \" \" + y;\r\n };\r\n \r\n const [accName, setAccName] = useState('');\r\n const selectedAccLocationName = 'Global Accounts';\r\n const selectedAccCustName = useSelector((state) => state.regionalSiteReducer.rgnCustName);\r\n const selectedAccCustID = useSelector((state) => state.regionalSiteReducer.rgnCustId);\r\n const regionalCustomerIDData = useSelector((state) => state.regionalSiteReducer.rgnCustIdData);\r\n const isoDateString = useSelector((state) => state.userReducer.cal_isostring_frmt);\r\n const selectedDate = useSelector((state) => state.userReducer.cal_dt);\r\n const formattedDate = useSelector((state) => state.userReducer.cal_dt_frmt);\r\n const breadCrumbData = useSelector((state) => state.userReducer.breadCrumbArr);\r\n const [brdData, setBrdData] = useState([]);\r\n const getClientCustID = () => { \r\n return selectedAccCustID;\r\n };\r\n\r\n const handleDateChange = (e) => { \r\n dispatch(updateCalendarDate(new Date(e)));\r\n dispatch(updateCalendarDateFormat(dateToYMD(new Date(e))));\r\n dispatch(updateCalendarISOStringFormat(new Date(e).toISOString().split('T')[0]));\r\n updateBreadCrumb(new Date(e)); \r\n dispatch(getRegionalSiteCustIDData(selectedAccCustID, new Date(e).toISOString().split('T')[0]));\r\n }; \r\n\r\n const glblSmmryBtnClickHandler = () => {\r\n dispatch(getRegionalSiteGlobalSummaryData(selectedAccCustID,0,0,isoDateString));\r\n history.push('/regional_global_summary');\r\n };\r\n\r\n \r\n const updateBreadCrumb = (dt) => {\r\n let tmpArr = [];\r\n tmpArr.push(breadCrumbData[0]);\r\n let rptObj = {name : 'Reports', reDirect: '/regional' };\r\n tmpArr.push(rptObj); \r\n let brdData = selectedAccCustName + ' - ' + selectedAccLocationName + ' - ' + dateToYMD(dt);\r\n let obj = {name : brdData, reDirect: '' };\r\n tmpArr.push(obj); \r\n setBrdData(tmpArr);\r\n };\r\n\r\n useEffect(()=>{ \r\n if(selectedAccCustName && selectedAccLocationName){ \r\n updateBreadCrumb(selectedDate);\r\n } \r\n \r\n }, [breadCrumbData]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {selectedAccCustName}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n regionalCustomerIDData?.map((itm, i)=>{\r\n return ;\r\n })\r\n } \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AccountGlobal;\r\n","const ConstructRegionalSiteURLs = (type, val, dt) => {\r\n console.log('val',val)\r\n switch (type) {\r\n case 'GET_REGIONALSITE_CUSTID_DATA': {\r\n return `/api/org/hierarchy/me?date=${dt}&customerid=${val}`;\r\n }\r\n case 'GET_REGIONALSITE_GLOBAL_SUMMARY_DATA': {\r\n return `/api/metrics/legacydtm/${val.cust_id}/${val.serv_id}/${val.regn_id}?month=${dt}&tabname=Summary&hint=${val.regn_id ? 'regional' : 'global'}`\r\n }\r\n case 'DOWNLOAD_REGIONALSITE_GLOBAL_SUMMARY_DATA': {\r\n return `${process.env.REACT_APP_BASE_URL}/api/metrics/legacydtm/${val.cust_id}/${val.serv_id}/${val.regn_id}?month=${dt}&tabname=Summary&format=xlsx`\r\n }\r\n case 'GET_DTM_ANALYTICS':\r\n case 'GET_DTM_ANALYTICS_HALF_HOUR':\r\n case 'GET_DTM_ANALYTICS_MONTH': {\r\n console.log(val.date, val.view)\r\n return `/api/usp/DTMData?CustomerID=${val.customerID}&ServiceDeskID=${val.serviceID}&SLA=${val.item}&Month=${val.date}&View=${val?.view}`\r\n }\r\n default: { }\r\n }\r\n}\r\n\r\nexport default ConstructRegionalSiteURLs;","import React, { useEffect, useState } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport LegendComponent from \"../../Legend_CSV/legend\";\r\nimport Box from \"../../Box/box\";\r\nimport BredCrumb from \"../../Breadcrumb/bredcrumb\";\r\nimport { KeyboardDatePicker } from \"@material-ui/pickers\";\r\nimport \"../../Insights/insights.css\";\r\nimport \"./global-summ.css\";\r\nimport { updateCalendarDateFormat, updateCalendarISOStringFormat, updateCalendarDate } from \"../../../actions/user.action\";\r\nimport { getRegionalSiteGlobalSummaryData } from \"../../../actions/regionalSite.action\";\r\nimport ConstructRegionalSiteURLs from \"../../../constants/regional-site-url\";\r\nconst GlobalSummary = () => {\r\n\r\n const dispatch = useDispatch();\r\n const [regions, setRegions] = useState([]);\r\n const [brdData, setBrdData] = useState([]);\r\n const globalSummaryData = useSelector((state) => state.regionalSiteReducer.rgnGlobal_Regional_Summary);\r\n const selectedAccCustID = useSelector((state) => state.regionalSiteReducer.rgnCustId);\r\n const selectedAccCustName = useSelector((state) => state.regionalSiteReducer.rgnCustName);\r\n const locationName = `Global Accounts - ${selectedAccCustName} `;\r\n const selectedAccLocationName = `GlobalSummary`;\r\n const selectedDate = useSelector((state) => state.userReducer.cal_dt);\r\n const breadCrumbData = useSelector((state) => (state.userReducer.breadCrumbArr));\r\n const isoDateString = useSelector((state) => state.userReducer.cal_isostring_frmt);\r\n const getClientCustID = () => {\r\n return selectedAccCustID;\r\n };\r\n\r\n const dateToYMD = (date) => {\r\n var strArray = [\r\n \"JAN\",\r\n \"FEB\",\r\n \"MAR\",\r\n \"APR\",\r\n \"MAY\",\r\n \"JUN\",\r\n \"JUL\",\r\n \"AUG\",\r\n \"SEP\",\r\n \"OCT\",\r\n \"NOV\",\r\n \"DEC\",\r\n ];\r\n var m = strArray[date.getMonth()];\r\n var y = date.getFullYear();\r\n return m + \" \" + y;\r\n };\r\n\r\n const handleDateChange = (e) => {\r\n dispatch(updateCalendarDate(new Date(e)));\r\n dispatch(updateCalendarDateFormat(dateToYMD(new Date(e))));\r\n dispatch(updateCalendarISOStringFormat(new Date(e).toISOString().split('T')[0]));\r\n updateBreadCrumb(new Date(e));\r\n dispatch(getRegionalSiteGlobalSummaryData(selectedAccCustID, 0, 0, isoDateString));\r\n };\r\n\r\n useEffect(() => {\r\n console.log(globalSummaryData);\r\n if (globalSummaryData && globalSummaryData?.regions?.length > 0) {\r\n setRegions(globalSummaryData.regions);\r\n }\r\n }, [globalSummaryData]);\r\n\r\n const updateBreadCrumb = (dt) => {\r\n let tmpArr = [];\r\n tmpArr.push(breadCrumbData[0]);\r\n let rptObj = { name: 'Reports', reDirect: '/regional' };\r\n tmpArr.push(rptObj);\r\n let brdData = locationName;\r\n let obj = { name: brdData, reDirect: 'regional_global_accounts' };\r\n tmpArr.push(obj);\r\n let gsmmry = selectedAccLocationName + '- ' + dateToYMD(dt);\r\n let gsmmryObj = { name: gsmmry, reDirect: '' };\r\n tmpArr.push(gsmmryObj);\r\n setBrdData(tmpArr);\r\n };\r\n\r\n useEffect(() => {\r\n if (selectedAccCustName && selectedAccLocationName) {\r\n updateBreadCrumb(selectedDate);\r\n }\r\n\r\n }, [breadCrumbData]);\r\n\r\n const glblSummaryBtnClickHandler = () => {\r\n let obj = {};\r\n obj.cust_id = selectedAccCustID;\r\n obj.serv_id = 0;\r\n obj.regn_id = 0;\r\n let dwnldURL = ConstructRegionalSiteURLs(\"DOWNLOAD_REGIONALSITE_GLOBAL_SUMMARY_DATA\", obj, isoDateString);\r\n window.location.href = dwnldURL;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {selectedAccCustName}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{\"Global Summary\"}
\r\n
\r\n
\r\n
\r\n {\r\n (regions.length > 1) ? `( ${regions.length} Regions: ${regions.join(' | ')} )` : `( ${regions.length} Region: ${regions.join(' | ')} )`\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {globalSummaryData?.blocks ?\r\n globalSummaryData?.blocks?.map((itm, i) => {\r\n return {}}/>\r\n }) : []\r\n }\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default GlobalSummary;\r\n","import React , {useState, useEffect} from \"react\";\r\nimport { useSelector, useDispatch} from \"react-redux\";\r\nimport LegendComponent from \"../../Legend_CSV/legend\";\r\nimport Box from \"../../Box/box\";\r\nimport BredCrumb from \"../../Breadcrumb/bredcrumb\";\r\nimport { KeyboardDatePicker } from \"@material-ui/pickers\";\r\nimport \"../../Insights/insights.css\";\r\nimport \"./regional-summ.css\";\r\nimport { updateCalendarDateFormat, updateCalendarISOStringFormat, updateCalendarDate } from \"../../../actions/user.action\";\r\nimport ConstructRegionalSiteURLs from \"../../../constants/regional-site-url\";\r\nimport {getRegionalSiteGlobalSummaryData} from \"../../../actions/regionalSite.action\";\r\n\r\nconst RegionalSummary = () => {\r\n\r\n const dispatch = useDispatch();\r\n const [sites, setSites] = useState([]); \r\n const [brdData, setBrdData] = useState([]);\r\n\r\n const [locationName, setLocationName] = useState(''); \r\n const [selectedAccLocationName, setSelectedAccLocationName] = useState('');\r\n\r\n \r\n const globalSummaryData = useSelector((state) => state.regionalSiteReducer.rgnGlobal_Regional_Summary);\r\n const selectedAccCustID = useSelector((state) => state.regionalSiteReducer.rgnCustId);\r\n const selectedAccCustName = useSelector((state) => state.regionalSiteReducer.rgnCustName); \r\n const selectedDate = useSelector((state) => state.userReducer.cal_dt);\r\n const breadCrumbData = useSelector((state) => (state.userReducer.breadCrumbArr));\r\n const selectedRegionName = useSelector((state) => state.regionalSiteReducer.regionName);\r\n const isoDateString = useSelector((state) => state.userReducer.cal_isostring_frmt);\r\n const regionID = useSelector((state) => state.regionalSiteReducer.regionID); \r\n\r\n const getClientCustID = () => { \r\n return selectedAccCustID;\r\n };\r\n\r\n useEffect(()=>{\r\n if(selectedAccCustName && selectedRegionName)\r\n setLocationName(`Global Accounts - ${selectedAccCustName}`);\r\n setSelectedAccLocationName(`Regional Summary - ${selectedRegionName} `);\r\n updateBreadCrumb(selectedDate);\r\n },[selectedAccCustName, selectedRegionName]);\r\n\r\n\r\n useEffect(()=>{\r\n if(selectedAccLocationName && selectedAccLocationName) \r\n updateBreadCrumb(selectedDate);\r\n },[locationName, selectedAccLocationName]);\r\n\r\n const dateToYMD = (date) => {\r\n var strArray = [\r\n \"JAN\",\r\n \"FEB\",\r\n \"MAR\",\r\n \"APR\",\r\n \"MAY\",\r\n \"JUN\",\r\n \"JUL\",\r\n \"AUG\",\r\n \"SEP\",\r\n \"OCT\",\r\n \"NOV\",\r\n \"DEC\",\r\n ];\r\n var m = strArray[date.getMonth()];\r\n var y = date.getFullYear();\r\n return m + \" \" + y;\r\n };\r\n\r\n const handleDateChange = (e) => {\r\n dispatch(updateCalendarDate(new Date(e)));\r\n dispatch(updateCalendarDateFormat(dateToYMD(new Date(e))));\r\n dispatch(updateCalendarISOStringFormat(new Date(e).toISOString().split('T')[0])); \r\n dispatch(getRegionalSiteGlobalSummaryData(selectedAccCustID,0,regionID,isoDateString));\r\n updateBreadCrumb(new Date(e));\r\n };\r\n\r\n useEffect(()=>{\r\n console.log(globalSummaryData);\r\n if(globalSummaryData && globalSummaryData?.servicedesks?.length > 0){ \r\n setSites(globalSummaryData.servicedesks); \r\n }\r\n },[globalSummaryData]);\r\n\r\n\r\n const updateBreadCrumb = (dt) => {\r\n let tmpArr = [];\r\n tmpArr.push(breadCrumbData[0]);\r\n let rptObj = {name : 'Reports', reDirect: '/regional' };\r\n tmpArr.push(rptObj); \r\n let brdData = locationName;\r\n let obj = {name : brdData, reDirect: '/regional_global_accounts' };\r\n tmpArr.push(obj); \r\n let gsmmry = selectedAccLocationName + '- ' + dateToYMD(dt); \r\n let gsmmryObj = {name : gsmmry, reDirect: '' }; \r\n tmpArr.push(gsmmryObj);\r\n setBrdData(tmpArr);\r\n }; \r\n\r\n const regnlSummaryBtnClickHandler = () => {\r\n let obj = {};\r\n obj.cust_id = 0;\r\n obj.serv_id = 0;\r\n obj.regn_id = regionID; \r\n let dwnldURL = ConstructRegionalSiteURLs(\"DOWNLOAD_REGIONALSITE_GLOBAL_SUMMARY_DATA\",obj,isoDateString); \r\n window.location.href = dwnldURL;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {selectedAccCustName}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {`Regional Summary - ${selectedRegionName}`}\r\n
\r\n
\r\n
\r\n
\r\n {(sites.length > 1) ? `( ${sites.length} Sites: ${sites.join(' | ')} )` : `( ${sites.length} Site: ${sites.join(' | ')} )` }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {globalSummaryData?.blocks ?\r\n globalSummaryData?.blocks?.map((itm, i)=>{\r\n return {}}/>\r\n }) : []\r\n } \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RegionalSummary;\r\n","import React from 'react'\r\nimport './ClearFilter.css'\r\n\r\n\r\nfunction ClearFilter(props) {\r\n return (\r\n \r\n
\r\n \r\n Filtered by:\r\n \r\n\r\n
\r\n {props.filteredPeriod.map(data => (\r\n
\r\n {data}\r\n
\r\n ))}\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ClearFilter\r\n","import React from 'react'\r\n// import './Table.css'\r\nimport '../../ReportTables/ReportFilters/ReportTable.css';\r\n\r\nfunction FinanceTable(props) {\r\nconst Data = props.tblData?.table?.data;\r\nconst headerData = props.tblData?.table?.header;\r\nconst footerData = props.tblData?.table?.footer;\r\n return (\r\n \r\n {Data ===null ? (\r\n
\r\n {/*
\r\n {headerData.map((info, i) => (\r\n
{info.label}
\r\n ))\r\n }\r\n
*/}\r\n
\r\n
No records are available. Please select other filters.
\r\n
\r\n
\r\n ) :\r\n
\r\n \r\n \r\n \r\n { headerData?.map((info, i) => (\r\n \r\n )) }\r\n \r\n \r\n\r\n \r\n {Data?.map((info, i) =>\r\n (\r\n {\r\n \r\n Object.values(info).map((value, idx) => (\r\n \r\n ))\r\n }\r\n ))}\r\n \r\n \r\n {footerData?.map((info, i) =>\r\n (\r\n {\r\n Object.values(info).map((value, idx) => (\r\n \r\n ))\r\n }\r\n ))}\r\n \r\n
{info.label}
{value}
{value}
\r\n
}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default FinanceTable\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","export default \"data:image/png;base64,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\"","import React from 'react'\r\nimport TotalCalls from \"../../../assets/images/TotalCalls_Icon.png\"\r\nimport Duration from \"../../../assets/images/Duration_Icon.png\"\r\nimport Cost from \"../../../assets/images/Cost_Icon.png\"\r\nimport './Financeinfo.css'\r\nimport Col from 'react-bootstrap/Col';\r\nimport Row from 'react-bootstrap/Row';\r\nconst Financeinfo = (props) => {\r\n const totalCalls = props.tabData?.tiles?.[0];\r\nconst duration_minutes = props.tabData?.tiles?.[1];\r\nconst costPerCall = props.tabData?.tiles?.[2];\r\nconst costPerMinute=props.tabData?.tiles?.[3];\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n \"none\"\r\n {totalCalls?.caption}
\r\n {totalCalls?.value}
\r\n
\r\n \r\n \r\n
\r\n \"none\"\r\n \r\n {duration_minutes?.caption}\r\n \r\n
{duration_minutes?.value}
\r\n
\r\n \r\n \r\n
\r\n \r\n \"none\"\r\n \r\n {costPerCall?.caption}
\r\n {costPerCall?.value}\r\n \r\n \r\n {costPerMinute?.caption}
\r\n {costPerMinute?.value}\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n );\r\n}\r\nexport default Financeinfo","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import actionTypes from \"../constants/actionTypes\";\r\n\r\nexport const getFinanceData = (data) => ({\r\n type: actionTypes.GET_FINANCE_DATA,\r\n financeID: data.financeID,\r\n filterID: data.filterID\r\n});\r\n\r\n\r\nexport const getDropdownData = (data) => ({\r\n type: actionTypes.GET_DROPDOWN_DATA,\r\n payload: data,\r\n});\r\n\r\n\r\nexport const getAccountData = (data) => ({\r\n type: actionTypes.GET_ACCOUNT_DATA,\r\n financeID: data.financeID,\r\n filterID: data.filterID\r\n\r\n});\r\n","import actionTypes from \"../constants/actionTypes\";\r\n\r\n\r\n\r\nexport const getDropdownInfo = (data) => (\r\n {\r\n type: actionTypes.GET_DROPDOWN_INFO,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const getAccountInfo = (data) => (\r\n {\r\n type: actionTypes.GET_ACCOUNT_INFO,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n }\r\n)\r\n\r\nexport const getAverageHandleTime = (data) => (\r\n {\r\n type: actionTypes.GET_AVERAGE_HANDLE_TIME,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n }\r\n)\r\n\r\nexport const getAbandonRate = (data) => (\r\n {\r\n type: actionTypes.GET_ABANDON_RATE,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n }\r\n)\r\n\r\nexport const getDigitalTrans = (data) => (\r\n {\r\n type: actionTypes.GET_DIGITAL_TRANS,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n }\r\n)\r\n\r\nexport const getCostPerContact = (data) => (\r\n {\r\n type: actionTypes.GET_COST_PER_CONTACT,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n }\r\n)\r\nexport const getContactFTEData = (data) => (\r\n {\r\n type: actionTypes.GET_CONTACT_FTE_DATA,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n }\r\n)\r\n\r\nexport const getPenaltyAtRisk = (data) => (\r\n {\r\n type: actionTypes.GET_PENALTY_AT_RISK,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n }\r\n)\r\n\r\nexport const getFirstContactResolution = (data) => (\r\n {\r\n type: actionTypes.GET_FIRST_CONTACT_RESOLUTION,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n }\r\n)\r\nexport const getAttritionData = (data) => (\r\n {\r\n type: actionTypes.GET_ATTRITION_DATA,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n }\r\n)\r\nexport const getSLAcompliance = (data) => (\r\n {\r\n type: actionTypes.GET_SLA_COMPLIANCE,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n }\r\n)\r\n\r\nexport const getCSATdata = (data) => (\r\n {\r\n type: actionTypes.GET_CSAT_DATA,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n }\r\n)\r\nexport const getDeliverySupport = (data) => (\r\n {\r\n type: actionTypes.GET_DELIVERY_SUPPORT,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n }\r\n)\r\n\r\nexport const getContactVolumeData = (data) => ({\r\n type: actionTypes.GET_CONTACT_VOLUME_INFO,\r\n ContactVolumeID: data.ContactVolumeID,\r\n filterID: data.filterID\r\n});\r\n\r\nexport const saveAccountDropdownList = (listVal) => ({\r\n type: actionTypes.SAVE_ACCOUNT_DRPDWN_LIST_DATA,\r\n payload: listVal,\r\n});\r\n\r\n\r\nexport const saveLocationDropdownList = (listVal) => ({\r\n type: actionTypes.SAVE_LOCATION_DRPDWN_LIST_DATA,\r\n payload: listVal,\r\n});\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAhxJREFUWEftloFRwkAQRZMKtAOxA61ArECsQKxAqcBQgVKBWIF2IFagVGDoQCqI/2V2MyGGkJiAMw43cxMSbnbf/t3buzBJkpMgCO41+5q7HDM5G4UCeP0D5x7oDIDE3kZ6fuxIAlc9yAOch2GILFsfipl0o/wKwG2FAgvBxWVkMtbT96OG1Cjw4AAY3mRgLIBoDQDf7xoC+PI5KYAG6Q8qjGwDYCF/g9CdCgRJbjTfFC056nzIB4GeaU7kg5QHeQCXMtafx517l0EBfOrR08wUzQMM9MezOT4VRKdb0lL9bvYvZf9lRQFetOjLauFJC4ZdqiDbU9m70lzK9qHbzhQwAE8Dr531hfy+z8tfpgBkSM+2RA1SEbdRwqSn6WB7LnvsumysKGAqsMBzBQxKANN4yDlOcY7NpWa/WFs/AAxiqOejeUQBiqZRUVrkFHXP7FzLxrQYRSlACQQKADGrI4PlHOdebKXOsbUWIAdBg/IuGQliXAUh57TlyNYg+6AKvBLAIMgfe9bPC1QgIlKTDTuUiNqLbK7fw02p2whgEEhJ/i7MIymhONO6KFQ6nyaoUKd4awF4mHJE/+b6xsj6RGGfj+Q4PWrrjKYAfRlNLxIVAI0a2B5gr8C/USB/mdntLlAP4B4ZaXrfb3SbapOCSznlhkP0DPo+rTe9atUdbQBoxx41fZ9DJ67r2Ne1AXAb2RW7qXPWtwH4leRFyG9qiC0HXl54UgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAhCAYAAAC4JqlRAAAACXBIWXMAAAsTAAALEwEAmpwYAAABhklEQVRYhe2XMUvDQBTH/5HSoUPJVxDi4pSpkwUdBDeRuhQLOZGOWrtIoQ4KCkUEdZaSFNSpoWuhQ6VpB/sBgtB06eRUSoWCXc4pIOFSc9eCBfPglry89/vlcUcSiVIK0SBrBgUAo0ck0R4rwvQFRSgQCoQCoUAosLwCA3uoWqZD5gW8XHfvBvZQ9ctHWBcn46lcytSbk8+pDADJlGKIwJ+vuveNip1rmw65fd1fjcWjI+89zAnE4tFRupjIA0C50NZFJmGZDmlU7BwApIuJPAsOAKCU+q5WtUc0RaeaotNWtUe8eTfHW/dzzRT4rRlLgAceSGBWU68AL5xSGuwYJlOKsa2tP8zaE5bpkHKhrQPAUWnjMOjGZZ4CVhycJ04n4y+5U+trLmheOABIvB+lj2eW0an1NVaOFw4AkVKm3gSAwtPOVpCC7E2SAIBXghfuciPvbx+bQYv8JHaP1UveJ3e5gfeAnwQA7J2oF6J9hAW8EqKxvG/DUODfCEiaoov/ny8g/nwC390LjnGeKz5PAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAYCAYAAADpnJ2CAAAABHNCSVQICAgIfAhkiAAAAnFJREFUSEutVtFR4zAUfDL+Tzq43FyY4Y9QAU4F4RoAuwJCBZgK4CqQoAHSAb4KLp83QxhMB/APFvsUKaMYO7ZDNOPEY0lvtat9TxLUssUD2S/29EQEwYR00ScS0XKqnuPnlSjIRKjv1P8k3xRSNOEZoJDOMXCKsQACBNEL/lzgPvoOvTgzEdJFHfBGwHhfjrSmBwZikEBQSnuUlYPxovA9KgRNEfCYGQsB0MdElQnVAsa/5IkWJBkMgy7UIrlpUoP746GMsLgZXntC0x/1lLAyq1YJ6DETWGmElfI+tW52GzKWGvMTn2kl4OlQ5uj4gWcMZllrJG+gBZ0jRg+gY7foL4CQJIUkl+i4Ali6DZibY+VlD2S3i2TM378Ang0lLI6OdxqoPDHv32kAnYHAxKm1BmiNcl+12duCOpYuZhnwBs48h+ZHXY2yaUFWtWfIerQGCLOws47R0VgQujD24wqXtMiXmd/B8tIHknyH+8hEhAPhfCk0xcyQ31FhJDb7790iibqwqRrrjGMAbZJzrvXwsCtNvUR72ybpqwDXJOUBJdCdgnEwNg3UyqHWaGUOD5R2xcyQWdbkVaqtp8WBHPCgpjOty556HjGpVn9aoOpvW0fdglzS++arOy0UXHpWrvRdmMVQS7/TPzYhDuSfTrVNxxM7F/LT765MLdg95o9aHU9ms5cHKVd6vlKkcNhVG4YwXwx1rg0zQbfYt9if13jFQDFQ5s6iKQddFYQIUroorS5YSGsEjxigbjsaa6YtfSnAOBgXB9fsbY1GzMZ9ZIPg7jOtK/6NgL4cLBeYnhTLew4D8QLeADIPcMhSSKoppT4Bukc6KIlXkM4AAAAASUVORK5CYII=\"","import React, { useState } from 'react';\r\nimport ToolTip from 'react-power-tooltip';\r\n\r\nfunction Button( props) {\r\n const [showTooltip, setShowTooltip] = useState(false);\r\n\r\n return <>\r\n \r\n ;\r\n}\r\n\r\nexport default Button;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport './Dropdown.css'\r\nimport downArrow from '../../../assets/images/downward_arrow.png'\r\nimport upArrow from '../../../assets/images/upward_arrow.png'\r\nfunction Dropdown(props) {\r\n const [openData, setOpenData] = useState(false);\r\n const [query, setQuery] = useState('');\r\n const filterQuery = options => {\r\n return options.filter(option => {\r\n if (query === '') return option;\r\n else if(option.value.toLowerCase().includes(query.toLowerCase().trim()))\r\n return option;\r\n })\r\n }\r\n\r\n\r\n useEffect(()=>{\r\n if(!openData) setQuery('')\r\n },[openData])\r\n\r\n \r\n const ref = useRef();\r\n useEffect(() => {\r\n \r\n const handleClickOutside = (event) => {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n if(!openData)\r\n setOpenData(openData);\r\n }\r\n }\r\n\r\n document.addEventListener(\"click\", handleClickOutside);\r\n return () => { \r\n document.removeEventListener(\"click\", handleClickOutside);\r\n };\r\n}, [ref]);\r\n const DropdownSelectHandler = (option, drpdwnID) => {\r\n props.onSelectingDropdown(option, drpdwnID);\r\n }\r\n\r\n useEffect(()=>{\r\n if(props.clearFilters===true && props.latestUpdates===true){\r\n props.data.map(data=>data.isChecked=false);\r\n }\r\n },[props.clearFilters])\r\n return \r\n
\r\n
\r\n { setQuery(e.target.value); setOpenData(true) }}\r\n onClick={() => setOpenData(!openData)}\r\n // ref={ref} \r\n />\r\n
setOpenData(!openData)} \r\n ref={ref} \r\n >\r\n {!openData ? \"arrow\" :\r\n \"arrow\"}\r\n
\r\n
\r\n
\r\n {openData &&
    \r\n {filterQuery(props.data)?.map((option) =>\r\n (
  • {\r\n setQuery('')\r\n DropdownSelectHandler(option, props?.id)\r\n }}\r\n \r\n >\r\n \r\n \r\n
  • )\r\n )}\r\n
}\r\n
\r\n
\r\n\r\n
;\r\n}\r\n\r\nexport default Dropdown;\r\n","\r\nlet today = new Date();\r\nlet currentDate = []\r\nlet newDate = `${today.getFullYear()}-${today.getMonth() < 10 ? \"0\" + (today.getMonth()) : (today.getMonth())}-01`;\r\ncurrentDate.unshift(newDate);\r\nlet recentDate = `${today.getFullYear()}-${today.getMonth() + 1 < 10 ? \"0\" + (today.getMonth() + 1) : (today.getMonth() + 1)}-01`;\r\ncurrentDate.unshift(recentDate);\r\n\r\n\r\nconst getReportTableURL = (widget, hint, contactVolumeID) => {\r\n if (contactVolumeID === null || contactVolumeID === undefined || contactVolumeID === '&&&&')\r\n return `${process.env.REACT_APP_BASE_URL}/api/usp/EDKPIViewReport?widget=${widget}&yearmonth[]=2021-Dec&yearmonth[]=2021-Nov&yearmonth[]=2022-Jan&hint=${hint}`\r\n else\r\n return `${process.env.REACT_APP_BASE_URL}/api/usp/EDKPIViewReport?widget=${widget}&${contactVolumeID}`;\r\n}\r\n\r\nconst getReportDownloadURL = (format, widget, contactVolumeID) => {\r\n if (format === 'excel') {\r\n if (contactVolumeID === null || contactVolumeID === undefined || contactVolumeID === '&&&&')\r\n return `${process.env.REACT_APP_BASE_URL}/api/usp/EDKPIViewReport?widget=${widget}&yearmonth[]=2021-Dec&yearmonth[]=2021-Nov&&yearmonth[]=2022-Jan&format=excel&filename=${widget}_excel_report.xlsx`\r\n else\r\n return `${process.env.REACT_APP_BASE_URL}/api/usp/EDKPIViewReport?widget=${widget}&${contactVolumeID}format=excel&filename=${widget}_excel_report.xlsx`;\r\n }\r\n}\r\n\r\n\r\n\r\nconst getCurrentDate = () => {\r\n let today = new Date();\r\n let currentDate = []\r\n let newDate = `${today.getFullYear()}-${today.getMonth() < 10 ? \"0\" + (today.getMonth()) : (today.getMonth())}-01`;\r\n currentDate.unshift(newDate);\r\n let recentDate = `${today.getFullYear()}-${today.getMonth() + 1 < 10 ? \"0\" + (today.getMonth() + 1) : (today.getMonth() + 1)}-01`;\r\n currentDate.unshift(recentDate);\r\n return currentDate;\r\n}\r\nconst getFinanceText = (financeID) => {\r\n console.log(financeID)\r\n if (financeID === null || financeID === undefined || financeID === '&&&')\r\n return `${process.env.REACT_APP_BASE_URL}/api/usp/AWSCrossCharge?month[]=2021-12-01&month[]=2021-11-01®ion[]=APAC®ion[]=EMEA®ion[]=AMS&hint=finance`\r\n else\r\n return `${process.env.REACT_APP_BASE_URL}/api/usp/AWSCrossCharge?${financeID}&hint=finance`;\r\n}\r\n\r\nconst getFinanceDownloadURL = (format, financeID) => {\r\n if (format === 'excel') {\r\n if (financeID === null || financeID === undefined || financeID === '&&&')\r\n return `${process.env.REACT_APP_BASE_URL}/api/usp/AWSCrossCharge?month[]=2021-12-01&month[]=2021-11-01®ion[]=APAC®ion[]=EMEA®ion[]=AMS&format=excel&filename=finance_excel_report.xlsx`\r\n else\r\n return `${process.env.REACT_APP_BASE_URL}/api/usp/AWSCrossCharge?${financeID}&format=excel&filename=finance_excel_report.xlsx`;\r\n }\r\n}\r\n\r\n\r\nconst getreportDropDownURL = (filterID) => {\r\n if (filterID === null || filterID === undefined)\r\n return `${process.env.REACT_APP_BASE_URL}/api/usp/Mastersaws`\r\n else\r\n return `${process.env.REACT_APP_BASE_URL}/api/usp/Masters?${filterID}`;\r\n}\r\n\r\n\r\nconst reportConstructURLs = (name, filterText, filterID) => {\r\n console.log(name, filterText, filterID)\r\n switch (name) {\r\n case 'GET_DROPDOWN_INFO':\r\n return '/api/usp/Masters';\r\n case 'GET_ACCOUNT_INFO':\r\n return getreportDropDownURL(filterID);\r\n case 'GET_AVERAGE_HANDLE_TIME':\r\n return getReportTableURL('AVGHandleTime', 'aht', filterText);\r\n case 'DOWNLOAD_AVERAGE_HANDLE':\r\n return getReportDownloadURL('excel', 'AVGHandleTime', filterText);\r\n case 'GET_ABANDON_RATE':\r\n return getReportTableURL('AbondonRate', 'abrate', filterText);\r\n case 'DOWNLOAD_ABANDON_RATE':\r\n return getReportDownloadURL('excel', 'AbondonRate', filterText);\r\n case 'GET_DIGITAL_TRANS':\r\n return getReportTableURL('DigitalTrans', 'digital', filterID);\r\n case 'DOWNLOAD_DIGITAL_TRANS':\r\n return getReportDownloadURL('excel', 'DigitalTrans', filterText);\r\n case 'GET_COST_PER_CONTACT':\r\n return getReportTableURL('CostPerContact', 'cpc', filterText);\r\n case 'DOWNLOAD_COST_PER_CONTACT':\r\n return getReportDownloadURL('excel', 'CostPerContact', filterText);\r\n case 'GET_CONTACT_FTE_DATA':\r\n return getReportTableURL('ContactsPerFTE', 'fte', filterText);\r\n case 'DOWNLOAD_CONTACT_FTE_DATA':\r\n return getReportDownloadURL('excel', 'ContactsPerFTE', filterText);\r\n case 'GET_PENALTY_AT_RISK':\r\n return getReportTableURL('PenalityatRisk', 'penalty', filterText);\r\n case 'DOWNLOAD_PENALTY_AT_RISK':\r\n return getReportDownloadURL('excel', 'PenalityatRisk', filterText);\r\n case 'GET_FIRST_CONTACT_RESOLUTION':\r\n return getReportTableURL('FirstContactResolution', 'fcr', filterText);\r\n case 'DOWNLOAD_FIRST_CONTACT_RESOLUTION':\r\n return getReportDownloadURL('excel', 'FirstContactResolution', filterText);\r\n case 'GET_ATTRITION_DATA':\r\n return getReportTableURL('Attrition', 'attrition', filterText);\r\n case 'DOWNLOAD_ATTRITION_DATA':\r\n return getReportDownloadURL('excel', 'Attrition', filterText);\r\n case 'GET_SLA_COMPLIANCE':\r\n return getReportTableURL('SLACompliance', 'sla', filterText);\r\n case 'DOWNLOAD_SLA_COMPLIANCE':\r\n return getReportDownloadURL('excel', 'SLACompliance', filterText);\r\n case 'GET_CSAT_DATA':\r\n return getReportTableURL('CSAT', 'csat', filterText);\r\n case 'DOWNLOAD_CSAT_DATA':\r\n return getReportDownloadURL('excel', 'CSAT', filterText);\r\n case 'GET_DELIVERY_SUPPORT':\r\n return getReportTableURL('DeliverySupport', 'delivery', filterText);\r\n case 'DOWNLOAD_DELIVERY_SUPPORT':\r\n return getReportDownloadURL('excel', 'DeliverySupport', filterText);\r\n case 'GET_CONTACT_VOLUME_DATA':\r\n return getReportTableURL('ContactVolume', 'contact', filterText);\r\n case 'DOWNLOAD_CONTACT_VOLUME_DATA':\r\n return getReportDownloadURL('excel', 'ContactVolume', filterText);\r\n\r\n\r\n case 'GET_FINANCE_DATA': {\r\n return getFinanceText(filterText);\r\n }\r\n case 'DOWNLOAD_FINANCE_DATA': {\r\n return getFinanceDownloadURL('excel', filterID)\r\n }\r\n case 'GET_DROPDOWN_DATA':\r\n return '/api/usp/Mastersaws';\r\n case 'GET_ACCOUNT_DATA':\r\n return getreportDropDownURL(filterID);\r\n default:\r\n { }\r\n }\r\n}\r\n\r\n\r\nexport default reportConstructURLs;","import React, { useState } from 'react'\r\nimport './ReportFilters.css'\r\nimport filterIcon from '../../../assets/images/Filter_Icon.png'\r\nimport downloadIcon from '../../../assets/images/Download.png'\r\nimport RefreshIcon from '../../../assets/images/Reset_Icon.png'\r\nimport Button from './Button'\r\nimport Dropdown from './Dropdown'\r\nimport reportConstructURLs from '../../../constants/reportURL'\r\nimport { useLocation } from 'react-router-dom'\r\nimport ConstructURLs from '../../../constants/urls'\r\nfunction Filter(props) {\r\n const [openDownload, setOpenDownload] = useState(false);\r\n const location = useLocation();\r\n const refreshIconHandler = () => {\r\n props.refreshHandler();\r\n if (openDownload) setOpenDownload(!openDownload);\r\n };\r\n return (\r\n \r\n
\r\n \r\n \"filter\"\r\n \r\n
\r\n
\r\n

Year & Month

\r\n \r\n
\r\n {(props.delivery_data || props.region_data) &&
\r\n

Delivery Region

\r\n \r\n
}\r\n {props.category_data &&
\r\n

Cateogory

\r\n \r\n
}\r\n {props.account_data &&
\r\n

Account

\r\n \r\n
}\r\n {props.location_data ?
\r\n

Location Group

\r\n \r\n
:\r\n
}\r\n
\r\n
\r\n \r\n )\r\n )}\r\n \r\n )} */}\r\n
}\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default Filter\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport ClearFilter from '../../ReportTables/ClearFilters/ClearFilter';\r\nimport './FinanceHandler.css';\r\nimport FinanceTable from '../FinanceTable/FinanceTable';\r\nimport Financeinfo from '../FinanceInfo/Financeinfo';\r\nimport { getAccountData, getDropdownData, getFinanceData } from '../../../actions/finance.action';\r\nimport { saveAccountDropdownList } from '../../../actions/reports.action';\r\nimport Filter from '../../ReportTables/ReportFilters/ReportFilters';\r\nimport { useHistory } from 'react-router-dom';\r\nfunction FinanceHandler() {\r\n\r\n const dispatch = useDispatch();\r\n let TableInfo = useSelector((state) => state.financeReducer.financeData);\r\n let DropdownInfo = useSelector((state) => state.financeReducer.dropdownData);\r\n let AccountFilters = useSelector((state) => state.financeReducer.accountData);\r\n let prevAccountdrpdwnList = useSelector((state) => state.reportTableReducer.accountDrpdwnListData);\r\n\r\n const DOWNLOAD_ARRAY = [\r\n { value: 'excel', id: 'Excel' },\r\n { value: 'svg', id: '.SVG' },\r\n { value: 'csv', id: '.CSV' },\r\n { value: 'pdf', id: 'PDF' }\r\n ]\r\n useEffect(() => {\r\n clearFilterHandler();\r\n }, [])\r\n\r\n\r\n useEffect(() => {\r\n dispatch(getFinanceData(ContactTableTrails([])));\r\n dispatch(getDropdownData());\r\n dispatch(getAccountData(ContactTableTrails([])));\r\n }, [dispatch]);\r\n\r\n const [filters, setFilters] = useState([]);\r\n const [clearFilters, setClearFilters] = useState(false);\r\n const [period_data, setPeriod_data] = useState([]);\r\n const [region_data, setRegion_data] = useState([]);\r\n const [account_data, setAccount_data] = useState([]);\r\n const RegionInfo = DropdownInfo?.PLRegion;\r\n const PeriodInfo = DropdownInfo?.YearMonth;\r\n const AccountInfo = AccountFilters?.Account;\r\n\r\n useEffect(() => {\r\n if (RegionInfo?.length > 0) {\r\n RegionInfo.map(info => info.isChecked = false);\r\n setRegion_data(RegionInfo);\r\n }\r\n if (PeriodInfo?.length > 0) {\r\n PeriodInfo.map(info => info.isChecked = false);\r\n setPeriod_data(PeriodInfo)\r\n }\r\n\r\n }, [RegionInfo, PeriodInfo])\r\n\r\n\r\n useEffect(() => {\r\n if (AccountInfo?.length > 0) {\r\n AccountInfo.map(info => info.isChecked = false);\r\n setAccount_data(AccountInfo);\r\n }\r\n }, [AccountInfo])\r\n\r\n\r\n const dropDownLocationFilter = (filters) => {\r\n region_data.map(info =>\r\n (info.isChecked === true) && dispatch(getAccountData(ContactTableTrails(filters)))\r\n )\r\n period_data.map(info =>\r\n (info.isChecked === true) && dispatch(getAccountData(ContactTableTrails(filters)))\r\n )\r\n }\r\n\r\n // useEffect(() => {\r\n // if (AccountFilters?.Account?.length > 0 && prevAccountdrpdwnList?.length > 0 && clearFilters === false) {\r\n // let updatedAccountFilers = uniqueArray([...prevAccountdrpdwnList, ...AccountFilters?.Account]);\r\n // setAccount_data(updatedAccountFilers);\r\n // }\r\n // }, [AccountFilters])\r\n\r\n // const uniqueArray = a => [...new Set(a.map(o => JSON.stringify(o)))].map(s => JSON.parse(s));\r\n\r\n function removeDuplicates(originalArray, prop) {\r\n let account_arr = [];\r\n let accountObj = {};\r\n for (var i in originalArray) {\r\n accountObj[originalArray[i][prop]] = originalArray[i];\r\n }\r\n for (i in accountObj) {\r\n account_arr.push(accountObj[i]);\r\n }\r\n return account_arr;\r\n }\r\n useEffect(() => {\r\n if (AccountFilters?.Account?.length > 0 && prevAccountdrpdwnList?.length > 0 && clearFilters === false) {\r\n let temp_arr = [...AccountFilters?.Account, ...prevAccountdrpdwnList];\r\n let uniqueArray = removeDuplicates(temp_arr, \"label\");\r\n setAccount_data(uniqueArray);\r\n\r\n }\r\n\r\n }, [AccountFilters, clearFilters, prevAccountdrpdwnList]);\r\n\r\n const onAddingPeriodFilters = (option, drpdwnID) => {\r\n let temp_arr = [...region_data];\r\n temp_arr.map((itm, i) => {\r\n if (option.value === itm.value) {\r\n itm.isChecked = !option.isChecked;\r\n }\r\n return;\r\n });\r\n setRegion_data(temp_arr);\r\n\r\n let temp_ARR = [...period_data]\r\n setPeriod_data(temp_ARR);\r\n temp_ARR.map(itm => {\r\n if (option.value === itm.value) {\r\n itm.isChecked = !option.isChecked;\r\n }\r\n return;\r\n })\r\n setPeriod_data(temp_ARR);\r\n\r\n let temp_Arr = [...account_data];\r\n temp_Arr.map((itm, i) => {\r\n if (option.value === itm.value) {\r\n itm.isChecked = !option.isChecked;\r\n }\r\n return;\r\n })\r\n setAccount_data(temp_Arr);\r\n\r\n switch (drpdwnID) {\r\n case 'accountDrpdwn': {\r\n dispatch(saveAccountDropdownList(account_data));\r\n }\r\n default: {\r\n\r\n }\r\n }\r\n if (filters.includes(option.value)) {\r\n return;\r\n }\r\n\r\n if (filters.length > 0) {\r\n setClearFilters(false);\r\n }\r\n let fltrs = [...filters, option.value];\r\n setFilters(fltrs);\r\n let ID = ContactTableTrails(fltrs);\r\n dispatch(getFinanceData(ID));\r\n dropDownLocationFilter(fltrs);\r\n\r\n }\r\n const clearFilterHandler = () => {\r\n setFilters([]);\r\n setClearFilters(true);\r\n ContactTableTrails([]);\r\n dispatch(getDropdownData());\r\n dispatch(getAccountData(ContactTableTrails([])));\r\n }\r\n const refreshHandler = () => {\r\n setFilters([]);\r\n setClearFilters(true);\r\n dispatch(getFinanceData(ContactTableTrails([])));\r\n dispatch(getDropdownData());\r\n dispatch(getAccountData(ContactTableTrails([])));\r\n\r\n }\r\n const filterByReference = (arr1, arr2) => {\r\n let res = [];\r\n res = arr1.filter(el => {\r\n return arr2.find(element => {\r\n return element === el.value;\r\n });\r\n });\r\n return res;\r\n }\r\n\r\n\r\n const ContactTableTrails = filteredRegions => {\r\n let IntValues = filterByReference(period_data, filteredRegions).map(fil => fil.label);\r\n let periodFilters = IntValues.map(val => val.substring(0, 4) + '-' + val.substring(4, 6) + '-01');\r\n let periodValues = filterByReference(period_data, filteredRegions).map(fil => fil.value);\r\n let regionFilters = filterByReference(region_data, filteredRegions).map(fil => fil.value);\r\n let AccountFilters = filterByReference(account_data, filteredRegions).map(fil => fil.value);\r\n let financeID = periodFilters.map(val => `month[]=${val}`).join('&') + '&' + regionFilters.map(val => `region[]=${val}`).join('&') + '&' + AccountFilters.map(val => `account[]=${val}`).join('&') + '&';\r\n let filterID = periodValues.map(val => `yearmonth[]=${val}`).join('&') + '&' + regionFilters.map(val => `plregion[]=${val}`).join('&');\r\n let ID = { financeID: financeID, filterID: filterID }\r\n return ID;\r\n }\r\n\r\n const history = useHistory()\r\n return \r\n {/*
*/}\r\n
\r\n
\r\n history.push('/welcome')}>Home / \r\n history.push('/regional')}>Report / \r\n Finance\r\n\r\n
\r\n\r\n
\r\n

Finance

\r\n \r\n {filters?.length > 0 ? () : null}\r\n \r\n
\r\n \r\n
\r\n
;\r\n}\r\n\r\nexport default FinanceHandler;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAWCAYAAADafVyIAAAABHNCSVQICAgIfAhkiAAAAM9JREFUSEvdleENgyAQhcsuDNJJ2jKJOAltJ+kg7FLvTM8Qeuo7JY2pf4jmuI/3eKA7Ac/VpzdQppY4ZCIDHjm4i0/dM4e+Hud68DwT4OZTvOcQ67EJAFGq1ZgUWCGwRWLJJsCehPDGL0FHBXsSYgJsSQgMsHor9TBgrVBbgFgL74FVxX8AKKM93YLdkvoppi0soiSeuQ/dVy/p1xoQP4Bx5Oc3APJxIqJWkf+xjjcf1i8F8hFtXNbxv6F8VwFaY60QWcCxAGv5nlPEZ6O0bgC/jd/lF3mP7AAAAABJRU5ErkJggg==\"","export const welcomePage_actionTypes = {\r\n GET_ROLES_TITLE: \"GET_ROLES_TITLE\",\r\n ROLES_TITLE: \"ROLES_TITLE\",\r\n GET_WIDGET_INFO: \"GET_WIDGET_INFO\",\r\n WIDGET_INFO: \"WIDGET_INFO\",\r\n\r\n UPDATE_WIDGET_INFO_START: \"UPDATE_WIDGET_INFO_START\",\r\n UPDATE_WIDGET_INFO_SUCCESS: \"UPDATE_WIDGET_INFO_SUCCESS\",\r\n SET_SELECTED_ROLE: \"SET_SELECTED_ROLE\",\r\n\r\n\r\n GET_RECENT_LINKS: \"GET_RECENT_LINKS\",\r\n RECENT_LINKS: \"RECENT_LINKS\",\r\n\r\n UPDATE_WIDGET_PREFERENCE_SHOWN: \"UPDATE_WIDGET_PREFERENCE_SHOWN\",\r\n WIDGET_PREFERENCE_SHOWN: \"WIDGET_PREFERENCE_SHOWN\",\r\n\r\n GET_WIDGET_PREFERENCE: \"GET_WIDGET_PREFERENCE\",\r\n WIDGET_PREFERENCE: \"WIDGET_PREFERENCE\",\r\n\r\n GET_CAROUSEL_TITLE: \"GET_CAROUSEL_TITLE\",\r\n CAROUSEL_TITLE: \"CAROUSEL_TITLE\",\r\n\r\n SET_WIDGET_SELECTED: \"SET_WIDGET_SELECTED\",\r\n SET_SELECTED_ACCOUNTS: 'SET_SELECTED_ACCOUNTS',\r\n\r\n GET_MULTI_ACCOUNTS_WIDGETS: \"GET_MULTI_ACCOUNTS_WIDGETS\",\r\n MULTI_ACCOUNTS_WIDGETS: \"MULTI_ACCOUNTS_WIDGETS\",\r\n\r\n GET_MULTI_WIDGET_INFO: \"GET_MULTI_WIDGET_INFO\",\r\n MULTI_WIDGET_INFO: \"MULTI_WIDGET_INFO\",\r\n\r\n UPDATE_MULTI_WIDGET_START: \"UPDATE_MULTI_WIDGET_START\",\r\n UPDATE_MULTI_WIDGET_SUCCESS: \"UPDATE_MULTI_WIDGET_SUCCESS\",\r\n\r\n\r\n SAVE_SELECTED_ACCOUNTS: \"SAVE_SELECTED_ACCOUNTS\",\r\n SAVE_DROPDOWN_ACCOUNTS: \"SAVE_DROPDOWN_ACCOUNTS\",\r\n SAVE_SELECTED_CUSTID_SERVID: \"SAVE_SELECTED_CUSTID_SERVID\",\r\n SAVE_SELECTED_ACCOUNT_OBJ: \"SAVE_SELECTED_ACCOUNT_OBJ\",\r\n\r\n\r\n GET_ACCOUNT_SUMMARY: \"GET_ACCOUNT_SUMMARY\",\r\n ACCOUNT_SUMMARY: \"ACCOUNT_SUMMARY\",\r\n\r\n GET_ACCOUNT_DROPDOWN: \"GET_ACCOUNT_DROPDOWN\",\r\n ACCOUNT_DROPDOWN: \"ACCOUNT_DROPDOWN\",\r\n\r\n // POST\r\n CREATE_LATEST_RELEASES_START: \"CREATE_LATEST_RELEASES_START\",\r\n CREATE_LATEST_RELEASES_SUCCESS: \"CREATE_LATEST_RELEASES_SUCCESS\",\r\n\r\n // EDIT \r\n UPDATE_LATEST_RELEASES_START: \"UPDATE_LATEST_RELEASES_START\",\r\n UPDATE_LATEST_RELEASES_SUCCESS: \"UPDATE_LATEST_RELEASES_SUCCESS\",\r\n\r\n // DELETE\r\n DELETE_LATEST_RELEASES_START: \"DELETE_LATEST_RELEASES_START\",\r\n DELETE_LATEST_RELEASES_SUCCESS: \"DELETE_LATEST_RELEASES_SUCCESS\",\r\n\r\n // GET\r\n GET_LATEST_RELEASES_START: \"GET_LATEST_RELEASES_START\",\r\n GET_LATEST_RELEASES_SUCCESS: \"GET_LATEST_RELEASES_SUCCESS\",\r\n\r\n\r\n\r\n GET_STORED_ACCOUNT: \"GET_STORED_ACCOUNT\",\r\n STORED_ACCOUNT: \"STORED_ACCOUNT\",\r\n\r\n UPDATE_STORED_ACCOUNT_START: \"UPDATE_STORED_ACCOUNT_START\",\r\n UPDATE_STORED_ACCOUNT_SUCCESS: \"UPDATE_STORED_ACCOUNT_SUCCESS\",\r\n\r\n\r\n GET_TASK_LINKS: \"GET_TASK_LINKS\",\r\n TASK_LINKS: \"TASK_LINKS\",\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { welcomePage_actionTypes as actionTypes } from \"../constants/welcomePage-actionTypes\";\r\n\r\n\r\n\r\nexport const getRolesTitleInfo = (data) => (\r\n {\r\n type: actionTypes.GET_ROLES_TITLE,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const getWidgetInfo = (data) => (\r\n {\r\n type: actionTypes.GET_WIDGET_INFO,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const recentlinksInfo = (data) => (\r\n {\r\n type: actionTypes.GET_RECENT_LINKS,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateWidgetInfoStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_WIDGET_INFO_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateWidgetInfoSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_WIDGET_INFO_SUCCESS,\r\n }\r\n)\r\n\r\n\r\n\r\nexport const saveSelectedRole = (role) => ({\r\n type: actionTypes.SET_SELECTED_ROLE,\r\n payload: role\r\n})\r\n\r\n\r\nexport const updateWidgetPreferenceShown = (data) => (\r\n {\r\n type: actionTypes.UPDATE_WIDGET_PREFERENCE_SHOWN,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const WidgetPreferenceShown = () => (\r\n {\r\n type: actionTypes.WIDGET_PREFERENCE_SHOWN,\r\n }\r\n)\r\n\r\n\r\n\r\nexport const getWidgetPreference = (data) => ({\r\n type: actionTypes.GET_WIDGET_PREFERENCE,\r\n payload: data\r\n})\r\n\r\nexport const getcarouselTitle = (data) => ({\r\n type: actionTypes.GET_CAROUSEL_TITLE,\r\n payload: data\r\n})\r\n\r\nexport const setWidgetSelected = data => ({\r\n type: actionTypes.SET_WIDGET_SELECTED,\r\n payload: data\r\n})\r\n\r\n\r\nexport const setAccountSelected = data => ({\r\n type: actionTypes.SET_SELECTED_ACCOUNTS,\r\n payload: data\r\n})\r\n\r\nexport const getMultiAccountWidgets = data => ({\r\n type: actionTypes.GET_MULTI_ACCOUNTS_WIDGETS,\r\n payload: data\r\n})\r\n\r\nexport const getMultiWidgetInfo = data => ({\r\n type: actionTypes.GET_MULTI_WIDGET_INFO,\r\n payload: data\r\n})\r\n\r\nexport const updateMultiWidgetStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_MULTI_WIDGET_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateMultiWidgetSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_MULTI_WIDGET_SUCCESS,\r\n }\r\n)\r\n\r\n\r\nexport const saveSelectedAccounts = (data) => ({\r\n type: actionTypes.SAVE_SELECTED_ACCOUNTS,\r\n payload: data\r\n})\r\n\r\nexport const saveDropdownAccounts = (data) => ({\r\n type: actionTypes.SAVE_DROPDOWN_ACCOUNTS,\r\n payload: data\r\n})\r\n\r\nexport const saveSelectedCustIDServID = (data) => ({\r\n type: actionTypes.SAVE_SELECTED_CUSTID_SERVID,\r\n payload: data\r\n})\r\n\r\nexport const saveSelectedAccountObj = (data) => ({\r\n type: actionTypes.SAVE_SELECTED_ACCOUNT_OBJ,\r\n payload: data\r\n})\r\n\r\n\r\nexport const getAccountSummary = (custID,servID) => ({\r\n type: actionTypes.GET_ACCOUNT_SUMMARY,\r\n custID: custID,\r\n servID: servID\r\n})\r\n\r\n\r\nexport const getAccountDropdown = (data) => ({\r\n type: actionTypes.GET_ACCOUNT_DROPDOWN,\r\n custID: data\r\n})\r\n\r\nexport const getLatestReleasesStart = () => ({\r\n type: actionTypes.GET_LATEST_RELEASES_START,\r\n});\r\n\r\n\r\nexport const getLatestReleasesSuccess = (data) => ({\r\n type: actionTypes.GET_LATEST_RELEASES_SUCCESS,\r\n payload: data\r\n});\r\n\r\n\r\nexport const updateLatestReleasesStart = (data) => ({\r\n type: actionTypes.UPDATE_LATEST_RELEASES_START,\r\n payload: data\r\n\r\n});\r\n\r\n\r\nexport const updateLatestReleasesSuccess = () => ({\r\n type: actionTypes.UPDATE_LATEST_RELEASES_SUCCESS,\r\n});\r\n\r\nexport const createLatestReleasesStart = (data) => ({\r\n type: actionTypes.CREATE_LATEST_RELEASES_START,\r\n payload: data\r\n});\r\n\r\n\r\nexport const createLatestReleasesSuccess = () => ({\r\n type: actionTypes.CREATE_LATEST_RELEASES_SUCCESS,\r\n});\r\n\r\nexport const deleteLatestReleasesStart = (data) => ({\r\n type: actionTypes.DELETE_LATEST_RELEASES_START,\r\n payload: data\r\n});\r\n\r\n\r\nexport const deleteLatestReleasesSuccess = (data) => ({\r\n type: actionTypes.DELETE_LATEST_RELEASES_SUCCESS,\r\n payload: data\r\n});\r\n\r\n\r\nexport const getStoredAccount = (data) => ({\r\n type: actionTypes.GET_STORED_ACCOUNT,\r\n payload: data\r\n})\r\n\r\nexport const updateStoredAccountStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_STORED_ACCOUNT_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateStoredAccountSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_STORED_ACCOUNT_SUCCESS,\r\n }\r\n)\r\n\r\nexport const getTaskLinks = (data) => ({\r\n type: actionTypes.GET_TASK_LINKS,\r\n payload: data\r\n})\r\n\r\n\r\nexport const setGithubSolutionCarouselData = (data) => ({\r\n type: 'SET_GITHUB_SOLUTION_CAROUSEL_DATA',\r\n payload: data\r\n})","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAABHNCSVQICAgIfAhkiAAAAmlJREFUSEu9V1FOwkAQncX63yNowMQ/8QZ4AuECsD2BeAK5gfUEW7wA3gBugPyZiAmeQPmWsL5Z27rgQim0NiFpYHbnzb43bxZBOzyyphqaaIBQf4fwbSEjsaBWNAs+kyCRtWH7TN0ITaEQ1CdNUVb8xt81+UtBYUXTU/QWdDMByBPl6yO6J0ESyYPoNdg/eZytXVMjfn2cBo2tAOS5OtELc+SnSN5A8ue9K7cW7gQg4Rucv1cWSG7xdSiITAA236haHppwfX2npsY40Ym9txFhGXzbye39re8/kbwlyuI7SWSSezQ0etIkIWrTgkuiHgBcCBzLRwH9zXuG/Wlwu1L5marrJQ20IFER1LTFHGttKCSC0N9sNPdAxBvso/i6WS/oMkmSJeYUQIIYJwGgdBVNA9OreR97PYqSWpMy5vVFXVcnlQYAJ3EN8F3w/WA73npBKcgiTyCmr77NOVmUy2PqAGAPn/5vG3r0sS8FsdJZzPMs54QZ3SFPj+lhPzAiBF/jvJxnxP+ZehzfqSrFs4Xf0TGmeMHoyaN6umEytX66IcwNzDH14hPi2dLgylFwJwXgSuDy7DxA7PXrRoeW9yHU4b8AgPl0Ue3QDDYPRvQSzGRVNdHvg9IBsM3yqSH5BFO1yV4QJ1es/qRFnTci19TKQwGvRzy3o1E6r900aVMABc4Eg5VtHa5qRJyo3+UPKQC2RkyoqHKo+nm9B/tlvu1JSKDBYfMrFBSq/t9JOIcY5aZrXSkAcPMNoXRlC3CThgoHEKvftwW4TcArAApU/87X+KK7YI4NnWLLpCC+GR3218ujGas/j2d8A51/i9bM4zm0AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAABHNCSVQICAgIfAhkiAAAAgZJREFUSEvtVtFNG0EQfWP4x+ngUEDKX1yCUwHXAbsVxHRwVMBRwS1UECowqSD+jIQjSAfm//DwZnNrGdmBi40ORQLJAsbzdt68mZ1ZcYeVU8UZgD4/Xf7MROHl+KCaKTDpAcUiuiJXwVcRXEARol3Rp62i72/6jpLvHCgFyHiYg2DW+P7BA6f8/3odnriC3382AvTFlzD10ZGKDKjImMGvwo130ZZVfd3FmMGlV2MY7nwM5A6qEW1nbfGE7EuNzPDEDokdPyHQBLq1LC+nfpCyJKlAUjlJDUlq0hC10lW0edqiSglPQt+ZUP4sfpkAJRipKssgJUGZQh1JxCx7KiatSz5mY4C+QCzoZA4tUqDn8PQp6fst+YrIgGUrowLJ+Ba/V3qgKxJre6Cr4E0Drzbhf0HAfaqyeY1jXsfzdB03Ib5xCRKQQWe8GcXljT9/EwI25Xh9bCLe8u+TNMjaktlagYupFysHapQkcmQjWx5IpJmSLxF5FQKLScepxtkeqMSeLZjwyy8Gzt+IvDoBG8sckR9sKXVGwEqgdVzlObO/wi5G4ae/e0n+reZAko51t3Vq2/Ce69l13oTM4p4ESgZeLKM2mS/3zco6bnNA7PwHPl52ULSVe925GzdhG5JtfN4JLCtgL58fyy+bNhJu68PXU8Em3Bf3sbIXbOCBe9se+o94u0X5I/hykKOMJjoEAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAiCAYAAAA+stv/AAAABHNCSVQICAgIfAhkiAAAAwBJREFUWEftV7tuE0EUvWOZGjfUrBRHQjSYL0jyBdgFJXjnC0goaXAaSjBfMGOgoon5gpg/MAUSEo5iWhpCb3k5d3zXWq+H9c56K4SLaL25jzPnnHsnUeT5PG2biSI68v2u6ruE6PO7mT7O56PP9ocB4G3UILJVG2bzlkQxvs9DAZAvoQogOZC3XhED/wGsGei3zQdQ/ziMfvVxNIufcM7eEqDAi7Dmq2h46FUtAKo0z+bszYBIsDXDxcDUZW0S9Nv2dRUWAOD5vyRBcj+MhcbXOiV4H9Z8FV0KQHxoOklCl4hvcRJW4xl2d1fGKNB4fpjpFOBuGeNSeuOiEpqrBvVU/8BcJ4rwLBdPk+xysXpO7wKZgjthLKifeQYaTVxKC3cxoT+d4scvheLoT+d2pgdpg/zc1gUge7nFbTMAiJdrAEDTApIj1aRenoGwk29HryUAA8mCLnDgT8JCBgDRBIjGjp2EbgDmR53XsUroLgzGPlMAwB473mCAJWBDLhOyCHiAgOloph/ue3rOBwNTromGXxqKYvtdT7ckSD0QR6ZFMCKCHyF3rBak7VzfVAHCtZImGeR2He0wYFrrrwDSRgg4lZGZgjPNqENAyHhz8w6PNg44zObvBMDBCGKdnC+gobZXmp93fuID04WHuLnTG80n+aRSAByIeybCVIxFwwGMeV6EAM2HaP7M6d1E82967osvDUCYSOXgrxP4opf3heh9we7mIB/twRK45ocmxqo27kTYls4XvEbZF0Ktkwox6BrxUuNVzoyJd2xlBtDconAfhUYwYSyA+O5gTW8zEJltnu/f8EnMPnGTdIuGnIv3Q4zzWbAHfM3TIjKqDMjRzbJgxOyWLHIAALWjK61LSZDVcpeORWZcg5Wdn/eO14TSnK/mTpF+ZRpvnFZ8hHdTGPiEmfICkJUZpVqGNiqKFzPzMrrmFe9nAEgZZejWKwuUtyOzi/p2AwBejoGqV7ZQHXH4G4N3xolKN1cdRUNrQOq37r9j1gejEoUW2Cte0Zyl+ANrrSdph+tCOAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAdCAYAAADLnm6HAAAABHNCSVQICAgIfAhkiAAAAndJREFUSEvFl1FS2zAQhncDB+AIYUhn+lZugDkBeSl9a+wTND1BcwPCATpSeaN0prkB9ASEZ2Ca3sC8Z6z+K0ceJ7aSyDGtHi3t7qfdP9oNU+CK36hjY+gLzPqBpuXjU8Okrx6TSw5xEr9VXTOne0P00IEDMjQLsS/OGuoD4BOCfw4D6KlRRhRfPSXdRoFLRvGRGgPiJAjgY0/diQ8ARC0ASBZ+7gwQ99T7EBj9lNzIedhFKOXtzgCDnoKf7RaCndcCgGYILwO4Ofa5wv4vt7dcAiQyaLEFLjKwCH6Bz5fENPH6YkozQ+PWNOBKAGFNO4bu9HMy3HSROhGiBPhhbLeQqg+VEkgNsXGKDavwdase4Ov5Jju3z9QxrQNsG3z1XKGB3TOgr1edM5kf7qY+wBYB1PcqAN38M4D/XoLGAEcqf4pDNIC6jdCKB9+ek8OmgZ2dNKOMKQoDyNvxFE7ujTEaN5j5QPaYX/RjImeLJe08m5t3TBzh49C245AMiCcZSDAHjPCenm3KAjMlgNDFrXtqInZ2niDSEOo4GGDdz4qQHT1L0gWolnKVH7m6h6w1gLpMIlsCcYZMnEo5fAApKEeSjk0p9d4+18bvuie9DFHXzNiORqiLrdcW/aDypObBZSg49I1qDgLaSRHnAXGKgZbjrjrI9mkC+hNxLm253Bll3+zTLbbWzQp/MKT2V1W/9AvIy9GH/xj+i7ZfDBOibqRIFJu6gcMFx+0YqvW26yaZc3BL00xZJEvB5xQ5dTfVic+uFqAzx9yOtNubv2JwW/Iy2SIDB/iIcr1+8AqAfevJ/u16gVqjdaJqqxSViVYGhfKL1lYgn5+/7TygwbdtqGwAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAeCAYAAABNChwpAAAABHNCSVQICAgIfAhkiAAAAdhJREFUSEvNl79OwlAUxs+pEQbkFdCEEhcWH8A/g2xuJsYFCshiXNwcxbiIi+4CLV2MYTKOOsADEDcWMSG+AtqgkV5viyRASu8tua0yQXrud37nfOdcABVZJfCHL7QAKEFTAmgEyWECbCHApg1A35xpnVxRSai3NoSJbyCRmLEYUertvS8/wLKyWqSFn04AZGS1KxFoEcAOAEkb4chKIABAQDORaH5UOktTIpgFhKzdgSATT+caWoBQs7oQKAitnk6/MjUD5TVeCL1TeOaNdYqbOYR0I5ZZwgRJSn/JP7Hi3J4ztsC8n3kYpdoIICNXCwjSulsiAt/XTt1yBdBec7tOoplEdQcJPkwCYMkdYLDtG4BvFnjpAN3nGC/IR9i4rLeP3q14kRbc8AIYISMqFCC/WonyJrfiegt9IhRAkSsHXgCMUP9OKMBwDVGsBVSw514VSY7WMB0vJ710oB/+7Lp2QIlrjzyCRDJLvtyEPMlFxTiuoShxHh23L6MllgCdgX3Lgt8hvGBcxSkvV7HOSm4/R6KPAOiHDfczgytuAK7kgoIcLaC/jlo8+tSCkzELDhkWFLg7QAGanADnYwBpBsAxNwBPclEx/2sNRVU1jw7Sf0ONeQ6KOvMDsyXkzPmQancAAAAASUVORK5CYII=\"","export const onboard_actionTypes = {\r\n // Save redux Items\r\n SAVE_ACCOUNT_SITE: 'SAVE_ACCOUNT_SITE',\r\n SAVE_CANCEL_CLICK: \"SAVE_CANCEL_CLICK\",\r\n\r\n\r\n\r\n // General Info\r\n\r\n GET_ACCOUNT_SITE: \"GET_ACCOUNT_SITE\",\r\n ACCOUNT_SITE: \"ACCOUNT_SITE\",\r\n\r\n GET_GENERAL_INFO_SITE: \"GET_GENERAL_INFO_SITE\",\r\n GENERAL_INFO_SITE: \"GENERAL_INFO_SITE\",\r\n\r\n // ROLES TAB DATA\r\n\r\n GET_ROLES_TAB_ROLES: \"GET_ROLES_TAB_ROLES\",\r\n ROLES_TAB_ROLES: \"ROLES_TAB_ROLES\",\r\n\r\n GET_ROLES_TAB_USERS: \"GET_ROLES_TAB_USERS\",\r\n ROLES_TAB_USERS: \"ROLES_TAB_USERS\",\r\n\r\n UPDATE_ROLE_DATA_START: \"UPDATE_ROLE_DATA_START\",\r\n UPDATE_ROLE_DATA_SUCCESS: \"UPDATE_ROLE_DATA_SUCCESS\",\r\n\r\n\r\n\r\n UPDATE_QUEUE_TABLE_START: \"UPDATE_QUEUE_TABLE_START\",\r\n UPDATE_QUEUE_TABLE_SUCCESS: \"UPDATE_QUEUE_TABLE_SUCCESS\",\r\n\r\n UPDATE_SLA_TABLE_START: \"UPDATE_SLA_TABLE_START\",\r\n UPDATE_SLA_TABLE_SUCCESS: \"UPDATE_SLA_TABLE_SUCCESS\",\r\n\r\n\r\n UPDATE_SUPPORT_TABLE_START: \"UPDATE_SUPPORT_TABLE_START\",\r\n UPDATE_SUPPORT_TABLE_SUCCESS: \"UPDATE_SUPPORT_TABLE_SUCCESS\",\r\n\r\n UPDATE_NEW_TEMPLATE_START: \"UPDATE_NEW_TEMPLATE_START\",\r\n UPDATE_NEW_TEMPLATE_SUCCESS: \"UPDATE_NEW_TEMPLATE_SUCCESS\",\r\n\r\n GET_QUEUE_LANGUAGES: \"GET_QUEUE_LANGUAGES\",\r\n QUEUE_LANGUAGES: \"QUEUE_LANGUAGES\",\r\n\r\n GET_ORIGINATING_COUNTRIES: \"GET_ORIGINATING_COUNTRIES\",\r\n ORIGINATING_COUNTRIES: \"ORIGINATING_COUNTRIES\",\r\n\r\n GET_QUEUE_TABLE_DATA: \"GET_QUEUE_TABLE_DATA\",\r\n QUEUE_TABLE_DATA: \"QUEUE_TABLE_DATA\",\r\n\r\n GET_SLA_TEMPLATES: \"GET_SLA_TEMPLATES\",\r\n SLA_TEMPLATES: \"SLA_TEMPLATES\",\r\n\r\n GET_SLA_KPI_DATA: \"GET_SLA_KPI_DATA\",\r\n SLA_KPI_DATA: \"SLA_KPI_DATA\",\r\n\r\n\r\n\r\n GET_NON_VOICE_SLA_DATA: \"GET_NON_VOICE_SLA_DATA\",\r\n NON_VOICE_SLA_DATA: \"NON_VOICE_SLA_DATA\",\r\n\r\n GET_NON_VOICE_SUPPORT_HOURS: \"GET_NON_VOICE_SUPPORT_HOURS\",\r\n NON_VOICE_SUPPORT_HOURS: \"NON_VOICE_SUPPORT_HOURS\",\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n UPDATE_GENERAL_NON_VOICE_START: \"UPDATE_GENERAL_NON_VOICE_START\",\r\n UPDATE_GENERAL_NON_VOICE_SUCCESS: \"UPDATE_GENERAL_NON_VOICE_SUCCESS\",\r\n\r\n GET_GENERAL_NON_VOICE: \"GET_GENERAL_NON_VOICE\",\r\n GENERAL_NON_VOICE: \"GENERAL_NON_VOICE\",\r\n\r\n\r\n GET_ROLES_TAB_DATA: \"GET_ROLES_TAB_DATA\",\r\n ROLES_TAB_DATA: \"ROLES_TAB_DATA\",\r\n\r\n GET_SUPPORT_HOURS_VOICE: \"GET_SUPPORT_HOURS_VOICE\",\r\n SUPPORT_HOURS_VOICE: \"SUPPORT_HOURS_VOICE\",\r\n\r\n GET_PREVIEW_ONBOARD: \"GET_PREVIEW_ONBOARD\",\r\n PREVIEW_ONBOARD: \"PREVIEW_ONBOARD\",\r\n\r\n\r\n GET_ONBOARD_ACCOUNTS: \"GET_ONBOARD_ACCOUNTS\",\r\n ONBOARD_ACCOUNTS: \"ONBOARD_ACCOUNTS\",\r\n\r\n VIEW_ACCOUNT_DETAILS: \"VIEW_ACCOUNT_DETAILS\",\r\n EDIT_ACCOUNT_DETAILS: \"EDIT_ACCOUNT_DETAILS\",\r\n\r\n UPDATE_ONBOARD_TOGGLE_START: \"UPDATE_ONBOARD_TOGGLE_START\",\r\n UPDATE_ONBOARD_TOGGLE_SUCCESS: \"UPDATE_ONBOARD_TOGGLE_SUCCESS\",\r\n\r\n UPDATE_ONBOARD_SUBMIT_START: \"UPDATE_ONBOARD_SUBMIT_START\",\r\n UPDATE_ONBOARD_SUBMIT_SUCCESS: \"UPDATE_ONBOARD_SUBMIT_SUCCESS\",\r\n\r\n\r\n SET_WIDGET_CARD_NON_VOICE: \"SET_WIDGET_CARD_NON_VOICE\",\r\n SET_WIDGET_PREVIEW_TAB: \"SET_WIDGET_PREVIEW_TAB\",\r\n SET_VALIDFOR_ADDING_TABROWS: \"SET_VALIDFOR_ADDING_TABROWS\",\r\n\r\n GET_ONBOARD_VALID_USER: \"GET_ONBOARD_VALID_USER\",\r\n ONBOARD_VALID_USER: \"ONBOARD_VALID_USER\",\r\n\r\n UPDATE_REOPEN_REQUEST_START: \"UPDATE_REOPEN_REQUEST_START\",\r\n UPDATE_REOPEN_REQUEST_SUCCESS: \"UPDATE_REOPEN_REQUEST_SUCCESS\",\r\n\r\n UPDATE_DELETE_ACCOUNT_START: \"UPDATE_DELETE_ACCOUNT_START\",\r\n UPDATE_DELETE_ACCOUNT_SUCCESS: \"UPDATE_DELETE_ACCOUNT_SUCCESS\",\r\n}","\r\nimport { onboard_actionTypes as actionTypes } from \"../constants/Onboard-actionTypes\"\r\n\r\nexport const getAccountSite = (data) => (\r\n {\r\n type: actionTypes.GET_ACCOUNT_SITE,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const getGeneralInfoSites = (data) => (\r\n {\r\n type: actionTypes.GET_GENERAL_INFO_SITE,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const getRolesTabRoles = (data) => (\r\n {\r\n type: actionTypes.GET_ROLES_TAB_ROLES,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const getRolesTabUsers = (data) => (\r\n {\r\n type: actionTypes.GET_ROLES_TAB_USERS,\r\n query: data,\r\n }\r\n)\r\n\r\n\r\nexport const saveAccountSite = (data) => (\r\n {\r\n type: actionTypes.SAVE_ACCOUNT_SITE,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const saveCancelBtnClick = (data) => (\r\n {\r\n type: actionTypes.SAVE_CANCEL_CLICK,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const updateRoleDataStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_ROLE_DATA_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateRoleDataSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_ROLE_DATA_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateQueueTableStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_QUEUE_TABLE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateQueueTableSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_QUEUE_TABLE_SUCCESS,\r\n }\r\n)\r\n\r\nexport const getQueueTabLanguages = (data) => (\r\n {\r\n type: actionTypes.GET_QUEUE_LANGUAGES,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const getOriginatingCountry = (data) => (\r\n {\r\n type: actionTypes.GET_ORIGINATING_COUNTRIES,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const getQueueTableData = (account, site) => (\r\n {\r\n type: actionTypes.GET_QUEUE_TABLE_DATA,\r\n account: account,\r\n site: site\r\n }\r\n)\r\n\r\nexport const updateSLADataStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_SLA_TABLE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateSLADataSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_SLA_TABLE_SUCCESS,\r\n }\r\n)\r\n\r\nexport const getSLATemplates = (account, tab) => (\r\n {\r\n type: actionTypes.GET_SLA_TEMPLATES,\r\n account: account,\r\n tab: tab\r\n }\r\n)\r\n\r\n\r\nexport const updateNewTemplateStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_NEW_TEMPLATE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateNewTemplateSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_NEW_TEMPLATE_SUCCESS,\r\n }\r\n)\r\n\r\n\r\n\r\nexport const getSLAKPIData = (account, site) => (\r\n {\r\n type: actionTypes.GET_SLA_KPI_DATA,\r\n account: account,\r\n site: site\r\n }\r\n)\r\n\r\n\r\nexport const updateSupportHoursStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_SUPPORT_TABLE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateSupportHoursSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_SUPPORT_TABLE_SUCCESS,\r\n }\r\n)\r\n\r\n\r\nexport const getRoleTabData = (account, site) => (\r\n {\r\n type: actionTypes.GET_ROLES_TAB_DATA,\r\n account: account,\r\n site: site\r\n }\r\n)\r\n\r\nexport const getSupportHoursVoice = (account, site) => (\r\n {\r\n type: actionTypes.GET_SUPPORT_HOURS_VOICE,\r\n account: account,\r\n site: site\r\n }\r\n)\r\nexport const onSaveSupportHoursVoice = (data) => (\r\n {\r\n type: actionTypes.ON_SAVE_SUPPORT_HOURS_VOICE,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const getNonVoiceSLAData = (account, site, widget) => (\r\n {\r\n type: actionTypes.GET_NON_VOICE_SLA_DATA,\r\n account: account,\r\n site: site,\r\n widget: widget\r\n }\r\n)\r\nexport const getNonVoiceSupportHours = (account, site, widget) => (\r\n {\r\n type: actionTypes.GET_NON_VOICE_SUPPORT_HOURS,\r\n account: account,\r\n site: site,\r\n widget: widget\r\n }\r\n)\r\n\r\n\r\nexport const onSaveSLAKPIData = (data) => (\r\n {\r\n type: actionTypes.ON_SAVE_SLA_DATA,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateOnboardToggleStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_ONBOARD_TOGGLE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateOnboardToggleSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_ONBOARD_TOGGLE_SUCCESS,\r\n }\r\n)\r\n\r\n\r\nexport const updateOnboardSubmitStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_ONBOARD_SUBMIT_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateOnboardSubmitSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_ONBOARD_SUBMIT_SUCCESS,\r\n }\r\n)\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const setWidgetCardNonVoice = (data) => (\r\n {\r\n type: actionTypes.SET_WIDGET_CARD_NON_VOICE,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const setWidgetPreviewTab = (data) => (\r\n {\r\n type: actionTypes.SET_WIDGET_PREVIEW_TAB,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const setValidforAddingTabRows = (data) => (\r\n {\r\n type: actionTypes.SET_VALIDFOR_ADDING_TABROWS,\r\n payload: data,\r\n }\r\n)\r\n\r\n//Redux for saving table Info\r\n\r\n\r\nexport const onSaveSLAChatTool = (data) => (\r\n {\r\n type: actionTypes.ON_SAVE_SLA_CHAT_TOOL,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const onSaveSLATicketTool = (data) => (\r\n {\r\n type: actionTypes.ON_SAVE_SLA_TICKET_TOOL,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const onSaveSLAWebPortal = (data) => (\r\n {\r\n type: actionTypes.ON_SAVE_SLA_WEB_PORTAL,\r\n payload: data,\r\n }\r\n)\r\nexport const onSaveSLAEmail = (data) => (\r\n {\r\n type: actionTypes.ON_SAVE_SLA_EMAIL,\r\n payload: data,\r\n }\r\n)\r\nexport const onSaveSLACustSurvey = (data) => (\r\n {\r\n type: actionTypes.ON_SAVE_SLA_CUST_SURVEY,\r\n payload: data,\r\n }\r\n)\r\nexport const onSaveSLATransAquaa = (data) => (\r\n {\r\n type: actionTypes.ON_SAVE_SLA_TRANS_AQUAA,\r\n payload: data,\r\n }\r\n)\r\nexport const onSaveSLAWorkForce = (data) => (\r\n {\r\n type: actionTypes.ON_SAVE_SLA_WORK_FORCE,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateGeneralNonvoiceStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_GENERAL_NON_VOICE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateGeneralNonvoiceSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_GENERAL_NON_VOICE_SUCCESS,\r\n }\r\n)\r\n\r\n\r\nexport const getGeneralNonVoice = (account, site, widget) => (\r\n {\r\n type: actionTypes.GET_GENERAL_NON_VOICE,\r\n account: account,\r\n site: site,\r\n widget: widget\r\n }\r\n)\r\n\r\nexport const getPreviewOnboard = (account, site) => (\r\n {\r\n type: actionTypes.GET_PREVIEW_ONBOARD,\r\n account: account, site: site\r\n }\r\n\r\n)\r\n\r\n\r\nexport const getOnboardAccounts = (data) => (\r\n {\r\n type: actionTypes.GET_ONBOARD_ACCOUNTS,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const viewAccountDetails = (data) => (\r\n {\r\n type: actionTypes.VIEW_ACCOUNT_DETAILS,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const editAccountDetails = (data) => (\r\n {\r\n type: actionTypes.EDIT_ACCOUNT_DETAILS,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const getOnboardValidUser = (account, site) => (\r\n {\r\n type: actionTypes.GET_ONBOARD_VALID_USER,\r\n account: account,\r\n site: site\r\n }\r\n)\r\n\r\nexport const updateReOpenRequestStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_REOPEN_REQUEST_START,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const updateReOpenRequestSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_REOPEN_REQUEST_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateDeleteAccountStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_DELETE_ACCOUNT_START,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const updateDeleteAccountSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_DELETE_ACCOUNT_SUCCESS,\r\n }\r\n)","const adminActionTypes = {\r\n GET_ADMIN_ACCOUNTS: \"GET_ADMIN_ACCOUNTS\",\r\n ADMIN_ACCOUNTS: \"ADMIN_ACCOUNTS\",\r\n\r\n UPDATE_VALIDTO_DATE_START: \"UPDATE_VALIDTO_DATE_START\",\r\n UPDATE_VALIDTO_DATE_SUCCESS: \"UPDATE_VALIDTO_DATE_SUCCESS\",\r\n UPDATE_ACCOUNT_DEATILS: \"UPDATE_ACCOUNT_DEATILS\",\r\n\r\n GET_ADMIN_QUEUE_TABLE_DATA: \"GET_ADMIN_QUEUE_TABLE_DATA\",\r\n ADMIN_QUEUE_TABLE_DATA: 'ADMIN_QUEUE_TABLE_DATA',\r\n\r\n UPDATE_ADMIN_QUEUE_TABLE_DATA_START: \"UPDATE_ADMIN_QUEUE_TABLE_DATA_START\",\r\n UPDATE_ADMIN_QUEUE_TABLE_DATA_SUCCESS: \"UPDATE_ADMIN_QUEUE_TABLE_DATA_SUCCESS\",\r\n\r\n GET_ADMIN_SLA_TABLE_DATA: \"GET_ADMIN_SLA_TABLE_DATA\",\r\n ADMIN_SLA_TABLE_DATA: 'ADMIN_SLA_TABLE_DATA',\r\n\r\n UPDATE_ADMIN_SLA_TABLE_DATA_START: \"UPDATE_ADMIN_SLA_TABLE_DATA_START\",\r\n UPDATE_ADMIN_SLA_TABLE_DATA_SUCCESS: \"UPDATE_ADMIN_SLA_TABLE_DATA_SUCCESS\",\r\n\r\n GET_ADMIN_SUPPORT_TABLE_DATA: \"GET_ADMIN_SUPPORT_TABLE_DATA\",\r\n ADMIN_SUPPORT_TABLE_DATA: 'ADMIN_SUPPORT_TABLE_DATA',\r\n\r\n UPDATE_ADMIN_SUPPORT_TABLE_DATA_START: \"UPDATE_ADMIN_SUPPORT_TABLE_DATA_START\",\r\n UPDATE_ADMIN_SUPPORT_TABLE_DATA_SUCCESS: \"UPDATE_ADMIN_SUPPORT_TABLE_DATA_SUCCESS\",\r\n\r\n GET_ADMIN_VOICE_SLA_TABLE_DATA: \"GET_ADMIN_VOICE_SLA_TABLE_DATA\",\r\n ADMIN_VOICE_SLA_TABLE_DATA: 'ADMIN_VOICE_SLA_TABLE_DATA',\r\n\r\n GET_ADMIN_VOICE_SUPPORT_TABLE_DATA: \"GET_ADMIN_VOICE_SUPPORT_TABLE_DATA\",\r\n ADMIN_VOICE_SUPPORT_TABLE_DATA: 'ADMIN_VOICE_SUPPORT_TABLE_DATA',\r\n\r\n UPDATE_ADMIN_UPDATE_START: \"UPDATE_ADMIN_UPDATE_START\",\r\n UPDATE_ADMIN_UPDATE_SUCCESS: \"UPDATE_ADMIN_UPDATE_SUCCESS\",\r\n\r\n\r\n\r\n QUEUE_ADMIN_REQUEST_START: \"QUEUE_ADMIN_REQUEST_START\",\r\n QUEUE_ADMIN_REQUEST_SUCCESS: \"QUEUE_ADMIN_REQUEST_SUCCESS\",\r\n\r\n SLA_ADMIN_REQUEST_START: \"SLA_ADMIN_REQUEST_START\",\r\n SLA_ADMIN_REQUEST_SUCCESS: \"SLA_ADMIN_REQUEST_SUCCESS\", \r\n \r\n SUPPORT_ADMIN_REQUEST_START: \"SUPPORT_ADMIN_REQUEST_START\",\r\n SUPPORT_ADMIN_REQUEST_SUCCESS: \"SUPPORT_ADMIN_REQUEST_SUCCESS\",\r\n\r\n GET_PREVIEW_ADMIN: \"GET_PREVIEW_ADMIN\",\r\n PREVIEW_ADMIN: \"PREVIEW_ADMIN\",\r\n\r\n GET_ROLE_BASED_VIEW: \"GET_ROLE_BASED_VIEW\",\r\n ROLE_BASED_VIEW: \"ROLE_BASED_VIEW\",\r\n\r\n SAVE_STAFFADMIN_ACTIVE_TAB: 'SAVE_STAFFADMIN_ACTIVE_TAB',\r\n}\r\n\r\n\r\nexport default adminActionTypes;","import adminActionTypes from '../../constants/Administration/admin-action-types'\r\n\r\nexport const getAdminAccounts = (data) => (\r\n {\r\n type: adminActionTypes.GET_ADMIN_ACCOUNTS,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateValidToDateStart = (data) => (\r\n {\r\n type: adminActionTypes.UPDATE_VALIDTO_DATE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateValidToDateSuccess = () => (\r\n {\r\n type: adminActionTypes.UPDATE_VALIDTO_DATE_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateAccountDetails = (data) => (\r\n {\r\n type: adminActionTypes.UPDATE_ACCOUNT_DEATILS,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const getAdminQueueTableData = (account, site) => (\r\n {\r\n type: adminActionTypes.GET_ADMIN_QUEUE_TABLE_DATA,\r\n account: account,\r\n site: site,\r\n }\r\n)\r\n\r\nexport const getAdminVoiceSlaTableData = (account, site) => (\r\n {\r\n type: adminActionTypes.GET_ADMIN_VOICE_SLA_TABLE_DATA,\r\n account: account,\r\n site: site,\r\n }\r\n)\r\nexport const getAdminVoiceSupportTableData = (account, site) => (\r\n {\r\n type: adminActionTypes.GET_ADMIN_VOICE_SUPPORT_TABLE_DATA,\r\n account: account,\r\n site: site,\r\n }\r\n)\r\n\r\n\r\nexport const updateAdminQueueTableDataStart = (data) => (\r\n {\r\n type: adminActionTypes.UPDATE_ADMIN_QUEUE_TABLE_DATA_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateAdminQueueTableDataSuccess = () => (\r\n {\r\n type: adminActionTypes.UPDATE_ADMIN_QUEUE_TABLE_DATA_SUCCESS,\r\n }\r\n)\r\n\r\nexport const getAdminSlaTableData = (account, site, tab, card) => (\r\n {\r\n type: adminActionTypes.GET_ADMIN_SLA_TABLE_DATA,\r\n account: account,\r\n site: site,\r\n tab: tab,\r\n card: card\r\n }\r\n)\r\n\r\nexport const updateAdminSlaTableDataStart = (data) => (\r\n {\r\n type: adminActionTypes.UPDATE_ADMIN_SLA_TABLE_DATA_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateAdminSlaTableDataSuccess = () => (\r\n {\r\n type: adminActionTypes.UPDATE_ADMIN_SLA_TABLE_DATA_SUCCESS,\r\n }\r\n)\r\n\r\nexport const getAdminSupportTableData = (account, site, tab, card) => (\r\n {\r\n type: adminActionTypes.GET_ADMIN_SUPPORT_TABLE_DATA,\r\n account: account,\r\n site: site,\r\n tab: tab,\r\n card: card\r\n }\r\n)\r\n\r\nexport const updateQueueRequestStart = (data) => (\r\n {\r\n type: adminActionTypes.QUEUE_ADMIN_REQUEST_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateQueueRequestSuccess = () => (\r\n {\r\n type: adminActionTypes.QUEUE_ADMIN_REQUEST_SUCCESS,\r\n }\r\n)\r\n\r\n\r\nexport const updateSLARequestStart = (data) => (\r\n {\r\n type: adminActionTypes.SLA_ADMIN_REQUEST_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateSLARequestSuccess = () => (\r\n {\r\n type: adminActionTypes.SLA_ADMIN_REQUEST_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateSupportRequestStart = (data) => (\r\n {\r\n type: adminActionTypes.SUPPORT_ADMIN_REQUEST_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateSupportRequestSuccess = () => (\r\n {\r\n type: adminActionTypes.SUPPORT_ADMIN_REQUEST_SUCCESS,\r\n }\r\n)\r\n\r\n\r\n\r\nexport const updateAdminSupportTableDataStart = (data) => (\r\n {\r\n type: adminActionTypes.UPDATE_ADMIN_SUPPORT_TABLE_DATA_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateAdminSupportTableDataSuccess = () => (\r\n {\r\n type: adminActionTypes.UPDATE_ADMIN_SUPPORT_TABLE_DATA_SUCCESS,\r\n }\r\n)\r\n\r\n\r\nexport const SaveSLAFailureDetails = (data) => (\r\n {\r\n type: 'SAVE_SLA_FAILURE_DETAILS',\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const updateAdminUpdateStart = (data) => (\r\n {\r\n type: adminActionTypes.UPDATE_ADMIN_UPDATE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateAdminUpdateSuccess = () => (\r\n {\r\n type: adminActionTypes.UPDATE_ADMIN_UPDATE_SUCCESS,\r\n }\r\n)\r\n\r\nexport const getPreviewAdmin = (account, site) => (\r\n {\r\n type: adminActionTypes.GET_PREVIEW_ADMIN,\r\n account: account, site: site\r\n }\r\n\r\n)\r\n\r\nexport const getRoleBasedView = (data) => (\r\n {\r\n type: adminActionTypes.GET_ROLE_BASED_VIEW,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const saveStaffAdminActiveTab = (data) => (\r\n {\r\n type: adminActionTypes.SAVE_STAFFADMIN_ACTIVE_TAB,\r\n payload: data,\r\n }\r\n)\r\n","import React, { useEffect } from 'react'\r\nimport { Carousel, CarouselItem, Col, ListGroup } from 'react-bootstrap'\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport {\r\n getRegionalSiteGlobalSummaryData, updateRegionalSiteCustomerID, updateRegionalSiteCustomerName,\r\n updateRegionID, updateRegionName\r\n} from '../../../actions/regionalSite.action';\r\nimport { saveAccountLocationName, saveSelectedMenuItem, updateSelectedAccountName } from '../../../actions/tabMenu.action';\r\nimport { getcarouselTitle, getRolesTitleInfo, getTaskLinks, recentlinksInfo, saveSelectedRole } from '../../../actions/welcomePage.action';\r\nimport './WelcomePage.css'\r\nimport UserGuidesIcon from \"../../../assets/images/UserGuides_Icon.png\";\r\nimport TrainingVideosIcon from \"../../../assets/images/TrainingVideos_Icon.png\";\r\nimport EmailToReportingTeamIcon from \"../../../assets/images/EmailToReportingTeam_Icon.png\";\r\nimport MSChatIcon from \"../../../assets/images/MSChat_Icon.png\";\r\nimport ITSMPortalIcon from \"../../../assets/images/ITSMPortal.png\";\r\nimport { updateRegionalSiteServiceDeskID } from './../../../actions/regionalSite.action';\r\nimport { Link } from 'react-router-dom';\r\nimport { viewAccountDetails } from '../../../actions/Onboard.action';\r\nimport { saveStaffAdminActiveTab } from '../../../actions/Administration/admin.action';\r\n\r\nexport function CarouselHandler() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let carouselItems = useSelector((state) => state.welcomePageReducer.carouselTitle);\r\n let RolesInfo = useSelector((state) => state.welcomePageReducer.rolesTitle);\r\n let roleSelected = localStorage.getItem('RoleSelected');\r\n useEffect(() => {\r\n dispatch(getcarouselTitle());\r\n dispatch(saveSelectedRole());\r\n dispatch(getRolesTitleInfo());\r\n }, [dispatch]);\r\n \r\n\r\n useEffect(() => {\r\n RolesInfo?.length === 1 && localStorage.setItem('RoleSelected', RolesInfo?.[0]?.name)\r\n }, [])\r\n const getDeployedDates = (date) => {\r\n let d = new Date(date)\r\n let year = d.getFullYear();\r\n let month = d.toLocaleString('default', { month: 'long' });\r\n let week = d.toLocaleDateString('default', { weekday: 'long' });\r\n let day = d.getDate();\r\n return `${week} ${month} ${day}, ${year}`\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {/* \"none\" */}\r\n \r\n \r\n
{RolesInfo?.length === 1 ? RolesInfo?.[0]?.name : roleSelected}
\r\n
history.push(\"/welcome/profile\")}>VIEW PROFILE
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
Latest Updated
\r\n
history.push('/welcome/release')} className=\"view_arrow\">VIEW ALL
\r\n
\r\n
\r\n \r\n {carouselItems?.[0]?.items?.map((item, index) => (\r\n
{item.title}\r\n
\r\n {getDeployedDates(item.date)}
\r\n
))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport function RecentLinks() {\r\n let Recentlinks = useSelector((state) => state.welcomePageReducer.recentLinks);\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const viewDTMReports = (service_id, c_name, cust_id, service_desk) => {\r\n if (service_id) {\r\n window.localStorage.setItem('ServiceDeskID', service_id);\r\n dispatch(updateRegionalSiteServiceDeskID(service_id))\r\n }\r\n if (cust_id) {\r\n window.localStorage.setItem('CustomerID', cust_id);\r\n }\r\n dispatch(updateRegionalSiteCustomerID(cust_id));\r\n dispatch(updateRegionalSiteCustomerName(c_name));\r\n dispatch(updateSelectedAccountName(c_name));\r\n dispatch(saveAccountLocationName(service_desk));\r\n dispatch(saveSelectedMenuItem(\"reports\"));\r\n history.push(\"/reports\");\r\n };\r\n\r\n const viewRegionalHandler = (regionID, region, c_name, selectedAccCustID, isoDateString) => {\r\n dispatch(updateRegionID(regionID));\r\n dispatch(updateRegionName(region));\r\n dispatch(updateRegionalSiteCustomerName(c_name));\r\n dispatch(updateSelectedAccountName(c_name));\r\n dispatch(getRegionalSiteGlobalSummaryData(selectedAccCustID, 0, regionID, isoDateString));\r\n history.push('/regional_summary');\r\n }\r\n\r\n const glblSmmryBtnClickHandler = (selectedAccCustID, c_name, isoDateString) => {\r\n dispatch(getRegionalSiteGlobalSummaryData(selectedAccCustID, 0, 0, isoDateString));\r\n dispatch(updateRegionalSiteCustomerName(c_name));\r\n dispatch(updateSelectedAccountName(c_name));\r\n history.push('/regional_global_summary');\r\n };\r\n useEffect(() => {\r\n dispatch(recentlinksInfo());\r\n }, [dispatch]);\r\n\r\n // let temp_arr = {\r\n // AccountName:\"Commerzbank (Germany)\",\r\n // SiteName: \"Ariana, Tunisia\",\r\n // ValidFrom: \"2023-03-01\",\r\n // ValidTo:\"2023-03-31\",\r\n // mode: 'edit',\r\n // }\r\n const roleSelected = localStorage.getItem('RoleSelected');\r\n const RecentLinksHandler = (hint, s_id, c_name, c_id, s_name, r_id, r_name) => {\r\n let dt = '2022-04-01';\r\n switch (hint) {\r\n case 'DTM': viewDTMReports(s_id, c_name, c_id, s_name); break;\r\n case 'regional': viewRegionalHandler(r_id, r_name, c_name, c_id, dt); break;\r\n case 'global': glblSmmryBtnClickHandler(c_id, c_name, dt); break;\r\n case 'eDashboard': history.push('/eDashboard'); break;\r\n // case 'onboard' : dispatch(viewAccountDetails(temp_arr))\r\n // history.push('/onboardAccount'); break;\r\n case 'request': history.push(roleSelected !== 'Admin' ? '/request' : '/adminrequest'); break;\r\n default: history.push(`/${hint}`);\r\n }\r\n }\r\n\r\n const RecentLinkNamesHandle = (hint, customer) => {\r\n switch (hint) {\r\n case 'undefined': return 'Executive Dashboard (Charts and graphs)';\r\n case 'abrate': return 'Abandon Rate Report';\r\n case 'contact': return 'Contact Volume Report';\r\n case 'aht': return 'Average Handle Time Report';\r\n case 'digital': return 'Digital Trans Report';\r\n case 'cpc': return 'Cost per Contact Report';\r\n case 'fte': return 'Contact per FTE Report';\r\n case 'penalty': return 'Penalty at Risk Report';\r\n case 'fcr': return 'First Contact Resolution Report';\r\n case 'attrition': return 'Attrition Report';\r\n case 'sla': return 'SLA Compliance Report';\r\n case 'csat': return 'CSAT Report';\r\n case 'delivery': return 'Delivery Support Report';\r\n case 'DTM': return `${customer} (DTM reports) `;\r\n case 'regional': return `${customer} (regional summary) `;\r\n case 'global': return `${customer} (global summary) `;\r\n case 'finance': return 'ASD Cost Recovery Finance Report'\r\n case 'eDashboard': return 'Executive Global Dashboard';\r\n case 'onboard' : return 'OnBoard';\r\n case 'admin' : return 'Administration'\r\n case 'request' : return 'Request'\r\n default: return customer;\r\n }\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n \r\n My Recent Links\r\n {Recentlinks?.map((links, index) =>\r\n \r\n RecentLinksHandler(links.hint,\r\n links.serviceDeskId, links.customerName,\r\n links.customerId, links.serviceDeskName,\r\n links.regionId, links.regionName)} key={index} className='link'>\r\n {RecentLinkNamesHandle(links.hint, links.customerName)}\r\n )}\r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nconst HELP_CENTER_LINKS = [\r\n {\r\n id: 1,\r\n imageSrc: UserGuidesIcon,\r\n href: \"/githublanding\",\r\n name: 'User Guides',\r\n title: ''\r\n },\r\n {\r\n id: 2,\r\n imageSrc: TrainingVideosIcon,\r\n href: \"/training\",\r\n name: 'Trainings',\r\n title: ''\r\n },\r\n {\r\n id: 3,\r\n imageSrc: EmailToReportingTeamIcon,\r\n title: \"GSD_Insight_Support@dxc.com\",\r\n name: 'Email to Reporting Team',\r\n href: \"mailto:GSD_Insight_Support@dxc.com\"\r\n },\r\n {\r\n id: 4,\r\n imageSrc: MSChatIcon,\r\n href: \"https://teams.microsoft.com/l/team/19%3aI-wF3DALEKei_jMiwPbiE4IDvpni3HCHbbZajBRyNk81%40thread.tacv2/conversations?groupId=b47fd5cb-2b61-4939-9254-7be4518dd717&tenantId=93f33571-550f-43cf-b09f-cd331338d086\",\r\n name: 'Microsoft Teams Chat',\r\n title: \"https://teams.microsoft.com/l/team/19%3aI-wF3DALEKei_jMiwPbiE4IDvpni3HCHbbZajBRyNk81%40thread.tacv2/conversations?groupId=b47fd5cb-2b61-4939-9254-7be4518dd717&tenantId=93f33571-550f-43cf-b09f-cd331338d086\"\r\n },\r\n {\r\n id: 5,\r\n imageSrc: ITSMPortalIcon,\r\n href: \"/request\",\r\n name: 'ITSM Service Portal',\r\n title: ''\r\n }\r\n]\r\n\r\nexport function HelpCenterLinks() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n Help Center\r\n {HELP_CENTER_LINKS.map((link, index) => (\r\n \"none\"\r\n {(link.name === 'User Guides' || link.name === 'Trainings' || link.name === 'ITSM Service Portal') ? {link.name} : \r\n {link.name} }\r\n ))}\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport function NOTIFICATIONS() {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const roleSelected = localStorage.getItem('RoleSelected');\r\n let taskLinks = useSelector((state) => state.welcomePageReducer.taskLinks);\r\n \r\n console.log('taskLinks',taskLinks)\r\n useEffect(() => {\r\n dispatch(getTaskLinks());\r\n \r\n }, [dispatch]);\r\n\r\n const SwitchHandler = (name) =>{\r\n switch (name) {\r\n case 'Role assignment expiry': {\r\n roleSelected === 'Admin' ? history.push('/adminrequest') : history.push('/request')\r\n break;\r\n }\r\n case 'New employee mapping': {\r\n history.push('/admin/staff');dispatch(saveStaffAdminActiveTab('available'))\r\n break;\r\n }\r\n default: { }\r\n }\r\n }\r\n \r\n return (\r\n
\r\n
\r\n
\r\n \r\n Tasks\r\n {taskLinks.map((link, index) => (\r\n
SwitchHandler(link.name)}> {link.name} ( {link.number} )
\r\n
))}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport './AccountSelect.css';\r\nimport downArrow from \"../../../assets/images/downward_arrow.png\";\r\nimport upArrow from \"../../../assets/images/upward_arrow.png\";\r\nimport '../../ReportTables/ReportFilters/Dropdown.css';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getAccountDropdown, getMultiAccountWidgets, getStoredAccount, saveSelectedAccountObj, updateStoredAccountStart} from '../../../actions/welcomePage.action';\r\n\r\nfunction AccountDropdown(props) {\r\n const dispatch = useDispatch();\r\n let AccountDropdown = useSelector((state) => state.welcomePageReducer.AccountDropdown);\r\n // let storedAccount = useSelector((state) => state.welcomePageReducer.storedAccount);\r\n // console.log('storedAccount',storedAccount)\r\n console.log('multiAccountsInfo',AccountDropdown)\r\n let DropdownOptions = AccountDropdown.filter((el) =>{\r\n return el.Widgets[1]?.Selected === true || el.Widgets[0]?.Selected === true\r\n }\r\n );\r\n\r\n let selectedAccountObj = useSelector((state) => state.welcomePageReducer.selectedAccountObj);\r\n const [openData, setOpenData] = useState(false);\r\n const [query, setQuery] = useState('');\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n\r\n // let ffff = (Object.keys(selectedAccountObj).length === 0 ? ({CustomerID: 1, CustomerName: '3M China', ServiceDeskID: 22, ServiceDeskName: 'Dalian, China', Widgets: [\r\n // {WidgetID: 10, Name: 'Quality', Description: 'provides contractual service level and/or key perf…/escalations/interactions/Net-Promoter-Score/etc]', Selected: true},\r\n \r\n // {WidgetID: 1, Name: 'Telephony', Description: 'provides contractual service level and/or key perf…ators for telephony channel [volumes/ASA/ABN/etc]', Selected: true}]}) : selectedAccountObj)\r\n\r\n // let jjjj = (Object.keys(selectedAccountObj).length === 0 ? (DropdownOptions?.[0]) : selectedAccountObj)\r\n \r\n\r\n \r\n useEffect(() => {\r\n dispatch(getAccountDropdown())\r\n dispatch(getStoredAccount())\r\n }, [dispatch]);\r\n const filterQuery = options => {\r\n return options.filter(option => {\r\n if (query === '') return option;\r\n else if (option.CustomerName.toLowerCase().includes(query.toLowerCase().trim()))\r\n return option;\r\n })\r\n }\r\n useEffect(() => {\r\n if (!openData) setQuery('')\r\n }, [openData]);\r\n\r\n const ref = useRef();\r\n useEffect(() => {\r\n const handleClickOutside = (event) => {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n if (!openData)\r\n setOpenData(openData);\r\n }\r\n }\r\n\r\n document.addEventListener(\"click\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickOutside);\r\n };\r\n }, [ref]);\r\n\r\n \r\n\r\n // useEffect(() => {\r\n // dispatch(getAccountDropdown())\r\n // dispatch(getStoredAccount())\r\n // let storedAccountFilter = AccountDropdown.filter((el) =>{\r\n // return el.CustomerName === selectedAccountObj.CustomerName && el.ServiceDeskName === selectedAccountObj.ServiceDeskName\r\n // }\r\n // );\r\n // console.log('storedAccount2',storedAccountFilter)\r\n // let ffff = (storedAccountFilter.length === 0 ? ({}) : storedAccountFilter?.[0])\r\n // // props.dropdownSelectHandle(ffff)\r\n \r\n \r\n // }, [selectedOption]);\r\n\r\n console.log('selectedOption',selectedOption)\r\n \r\n useEffect(()=>{\r\n if(selectedOption){\r\n dispatch(updateStoredAccountStart({account : selectedOption.CustomerName, site : selectedOption.ServiceDeskName}));\r\n dispatch(getStoredAccount())\r\n }\r\n },[dispatch,selectedOption])\r\n\r\n useEffect(()=>{\r\n dispatch(getStoredAccount())\r\n },[dispatch,selectedOption])\r\n \r\n const WidgetNoHandler=(account)=>{\r\n let temp_Arr= account.Widgets.filter(widget=>widget.Selected===true)\r\n return temp_Arr.length>0? temp_Arr.length+' Widgets':''\r\n }\r\n\r\n \r\n \r\n \r\n return (\r\n\r\n \r\n
\r\n
Select Account
\r\n
\r\n
\r\n { setQuery(e.target.value); setOpenData(true) }}\r\n onClick={() => setOpenData(!openData)}\r\n />\r\n
setOpenData(!openData)}\r\n ref={ref}\r\n >\r\n {!openData ? \"arrow\" :\r\n \"arrow\"}\r\n
\r\n
\r\n
\r\n {openData &&
    \r\n {/* {filterQuery(multiAccountsInfo)?.map((account, i) =>\r\n (
  • \r\n (
  • {\r\n setQuery('')\r\n dispatch(getMultiAccountWidgets())\r\n setSelectedOption(account)\r\n console.log('dddddddddddddddddd',account)\r\n dispatch(saveSelectedAccountObj(account))\r\n // props.dropdownSelectHandle(account)\r\n }} >\r\n {/* {account.CustomerName} */}\r\n {account.CustomerName} ({account.ServiceDeskName}) \r\n {WidgetNoHandler(account)} \r\n
  • )\r\n )}\r\n
}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default AccountDropdown;","import React, { useEffect } from \"react\";\r\nimport AboveRequiredTargetIcon from \"../../../assets/images/AboveRequiredTarget_Status.png\";\r\nimport AboveMinimalTargetIcon from \"../../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport ContractualSLAIcon from \"../../../assets/images/Contractual_SLAs.png\";\r\nimport CustomWidgetsIcon from '../../../assets/images/CustomWidgets_Icon.png';\r\nimport { Row } from \"react-bootstrap\";\r\nimport Box from \"../../Box/box\";\r\nimport './WelcomePage.css'\r\nimport { useHistory } from 'react-router-dom'\r\nimport { useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getUserData } from \"../../../actions/user.action\";\r\nimport { getAccountDropdown, getAccountSummary, getStoredAccount, getWidgetInfo, saveSelectedAccountObj, saveSelectedCustIDServID } from \"../../../actions/welcomePage.action\";\r\nimport { RecentLinks, HelpCenterLinks, CarouselHandler, NOTIFICATIONS } from \"./RecentLinks\";\r\nimport AccountDropdown from \"./AccountDropdown\";\r\nimport { moment } from 'moment';\r\nimport { updateSelectedSLA } from './../../../actions/regionalSite.action';\r\n// import { saveSelectedCustIDServID } from './../../../actions/welcomePage.action';\r\n\r\nconst WelcomePage = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n let userInfo = useSelector((state) => state.userReducer.userInfo);\r\n let AccountSummaryInfo = useSelector((state) => state.welcomePageReducer.AccountSummary);\r\n let AccountDropdownData = useSelector((state) => state.welcomePageReducer.AccountDropdown);\r\n let storedAccount = useSelector((state) => state.welcomePageReducer.storedAccount);\r\n console.log('storedAccount',storedAccount)\r\n useEffect(() => {\r\n dispatch(getUserData());\r\n // dispatch(getWidgetInfo());\r\n dispatch(getStoredAccount())\r\n }, [dispatch]);\r\n\r\n\r\n \r\n\r\n// const [storedAccountFilter,setStoredAccountFilter] = useState(storedAccountFilter2);\r\n useEffect(() => {\r\n let storedAccountFilter = AccountDropdownData.filter((el) =>{\r\n return el.CustomerName === storedAccount.account && el.ServiceDeskName === storedAccount.site\r\n }\r\n );\r\n if(Object.keys(storedAccountFilter).length === 0)\r\n {\r\n\r\n }\r\n else{\r\n\r\n \r\n setSelectedOption(storedAccountFilter?.[0].CustomerName);\r\n \r\n let selectedDropdownValue = {\r\n CustomerID : storedAccountFilter?.[0].CustomerID,\r\n CustomerName : storedAccountFilter?.[0].CustomerName,\r\n ServiceDeskID : storedAccountFilter?.[0].ServiceDeskID,\r\n ServiceDeskName : storedAccountFilter?.[0].ServiceDeskName\r\n }\r\n dispatch(saveSelectedCustIDServID(selectedDropdownValue))\r\n setSelectedOption(storedAccountFilter?.[0]);\r\n setNullWidgets(true)\r\n let noOfWidgets = [];\r\n let temp_no = [];\r\n if (storedAccountFilter?.[0].Widgets[0].Selected === true) {\r\n noOfWidgets.unshift(storedAccountFilter?.[0].Widgets[0].Name);\r\n temp_no.unshift(storedAccountFilter?.[0].Widgets[0].WidgetID);\r\n }\r\n if (storedAccountFilter?.[0].Widgets[1].Selected === true) {\r\n noOfWidgets.unshift(storedAccountFilter?.[0].Widgets[1].Name);\r\n temp_no.unshift(storedAccountFilter?.[0].Widgets[1].WidgetID);\r\n }\r\n setWidgetSelected(noOfWidgets);\r\n setSelectedWidgetIds(temp_no);\r\n dispatch(getAccountSummary(storedAccountFilter?.[0].CustomerID,storedAccountFilter?.[0].ServiceDeskID));\r\n \r\n }\r\n}, [dispatch,AccountDropdownData,storedAccount]);\r\n\r\n\r\n\r\n // const [selectedOption, setSelectedOption] = useState();\r\n const [selectedOption, setSelectedOption] = useState([]);\r\n const [widgetSelected, setWidgetSelected] = useState([]);\r\n const [selectedWidgetIds, setSelectedWidgetIds] = useState([]);\r\n const [nullWidgets, setNullWidgets] = useState(false);\r\n // const dropdownSelectHandle = (account) => {\r\n // console.log('Selectedaccount:::::',account)\r\n // if(Object.keys(account).length === 0)\r\n // {\r\n\r\n // }\r\n // else{\r\n // setSelectedOption(account.CustomerName);\r\n // let selectedDropdownValue = {\r\n // CustomerID : account.CustomerID,\r\n // CustomerName : account.CustomerName,\r\n // ServiceDeskID : account.ServiceDeskID,\r\n // ServiceDeskName : account.ServiceDeskName\r\n // }\r\n // dispatch(saveSelectedCustIDServID(selectedDropdownValue))\r\n // setSelectedOption(account);\r\n // setNullWidgets(true)\r\n // let noOfWidgets = [];\r\n // let temp_no = [];\r\n // if (account.Widgets[0].Selected === true) {\r\n // noOfWidgets.unshift(account.Widgets[0].Name);\r\n // temp_no.unshift(account.Widgets[0].WidgetID);\r\n // }\r\n // if (account.Widgets[1].Selected === true) {\r\n // noOfWidgets.unshift(account.Widgets[1].Name);\r\n // temp_no.unshift(account.Widgets[1].WidgetID);\r\n // }\r\n // setWidgetSelected(noOfWidgets);\r\n // setSelectedWidgetIds(temp_no);\r\n // dispatch(getAccountSummary(account.CustomerID,account.ServiceDeskID));\r\n // // dispatch(getAccountDropdown())\r\n // }\r\n // }\r\n \r\n const AccountWidgetsDataHandler = () => {\r\n switch (widgetSelected.length) {\r\n case 1: {\r\n if (widgetSelected[0] === 'Telephony') {\r\n let data = AccountSummaryInfo?.blocks?.filter(data => data.name === 'Telephony');\r\n return (data?.map(data => ));\r\n }\r\n if (widgetSelected[0] === 'Quality') {\r\n let data = AccountSummaryInfo?.blocks?.filter(data => data.name === 'Quality');\r\n return (data?.map(data => ));\r\n }\r\n break;\r\n }\r\n\r\n case 2: {\r\n return AccountSummaryInfo?.blocks?.map(box => )\r\n }\r\n\r\n case 0: {\r\n return (\r\n
\r\n
{nullWidgets ? \"No records found. You have not selected any widgets for this account.\" :\r\n \"Please select any Account from the dropdown\"}\r\n
To add/edit a widget, click the “Custom Widgets” link below.
\r\n
\r\n img\r\n history.push('/welcome/filter')}>Custom Widgets\r\n
\r\n
\r\n )\r\n }\r\n\r\n\r\n default: <>\r\n \r\n\r\n }\r\n\r\n }\r\n const getDeployedDates = () => {\r\n let d = new Date()\r\n let year = d.getFullYear();\r\n let month = d.toLocaleString('default', { month: 'long' });\r\n let day = d.getDate();\r\n return `${month} ${day}, ${year}`\r\n}\r\n\r\n // const formatHandle = (value) => {\r\n // if (value.match(/^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$/) === null && value?.includes('%')) return 'Percentage';\r\n // else if (moment(value, ['HH:mm:ss', 'HH:mm', 'h:mm', 'h:mm A', 'hh:mm A', 'HH:MM:SS A'], true)?.isValid()) return 'Time';\r\n // else if (!isNaN(value)) return 'Number'\r\n // }\r\n\r\nconst formatHandle = (value) => {\r\n const uuuu = (!isNaN(value) ) ? 'Number' : (value.match(/^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$/) === null && value?.includes('%')) ? 'Percentage' : 'Time'\r\n return uuuu\r\n}\r\nconst SLAReportHandleClick = (item) => {\r\n let temp = {\r\n slaItem: item?.infoName,\r\n item:item?.itemname,\r\n format: formatHandle(item?.percentage)\r\n }\r\n dispatch(updateSelectedSLA(temp));\r\n (item.pagetype === 'target') ? history.push('/answer') : history.push('/dtm');\r\n}\r\n\r\n return (\r\n \r\n
\r\n
Welcome, {userInfo.name}
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n Legend: \r\n Above Required Target\r\n Above Minimal Target\r\n Below Minimal Target\r\n Contractual SLAs\r\n
\r\n
\r\n {/* Account Selected: {selectedOption.CustomerName} */}\r\n Account Selected: {selectedOption.length === 0 ? '' : {selectedOption.CustomerName} ({selectedOption.ServiceDeskName}) - {getDeployedDates()} }\r\n
\r\n {(AccountSummaryInfo?.blocks?.length === 0 && selectedWidgetIds.length > 0) &&
\r\n
No records are available. Please select other Accounts.
\r\n
\r\n }\r\n

\r\n
\r\n {AccountWidgetsDataHandler()}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default WelcomePage","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADcAAAA4CAYAAABZjWCTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFG2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4wLWMwMDAgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIyLjUgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTA4LTI3VDExOjE1OjI5KzA1OjMwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMS0wOC0yN1QxMjowMDoyMSswNTozMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMS0wOC0yN1QxMjowMDoyMSswNTozMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0MmJkZmZkYS0wNTU0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\"","import React, { useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport GSD from '../../../assets/images/GSDInsight_Logo.png';\r\nimport './rolesSelect.css';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useEffect } from \"react\";\r\nimport { getUserData } from \"../../../actions/user.action\";\r\nimport { getRolesTitleInfo, getWidgetPreference, saveSelectedRole } from '../../../actions/welcomePage.action';\r\n\r\nconst Roleselectionpage = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n let userInfo = useSelector((state) => state.userReducer.userInfo);\r\n let RolesInfo = useSelector((state) => state.welcomePageReducer.rolesTitle);\r\n useEffect(() => {\r\n dispatch(getUserData());\r\n dispatch(getRolesTitleInfo());\r\n dispatch(getWidgetPreference());\r\n }, []);\r\n\r\n const [selectedRole, setSelectedRole] = useState('');\r\n const [role_id, setRoleId] = useState('');\r\n const buttonHandler = () => {\r\n console.log(role_id)\r\n if (selectedRole) {\r\n localStorage.setItem('RoleSelected', selectedRole);\r\n localStorage.setItem('Role_id', role_id);\r\n dispatch(saveSelectedRole(selectedRole));\r\n history.push('/widget');\r\n }\r\n else\r\n alert(`Hello ${userInfo.name}, please proceed by selecting any role :)`);\r\n };\r\n\r\n return (\r\n \r\n <>
\r\n GSD Insight\r\n
\r\n
\r\n\r\n
Hi, {userInfo.name}
\r\n
Select your Role
\r\n
\r\n {RolesInfo?.map((role,id) =>\r\n
\r\n \r\n
)}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Roleselectionpage","export default __webpack_public_path__ + \"static/media/AgentPhoto.67a9814c.png\";","import React from 'react';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport './WelcomePage.css';\r\n\r\nfunction HomeBreadcrumb(props) {\r\n const history = useHistory();\r\n return (\r\n <>\r\n
\r\n history.push('/welcome')}> Home / \r\n {props.pageId} \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default HomeBreadcrumb","import React, { useEffect } from 'react';\r\nimport './Profilepage.css';\r\n\r\nimport { Col } from 'react-bootstrap';\r\nimport { Row } from 'react-bootstrap';\r\nimport agentPic from '../../../assets/images/AgentPhoto.png'\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getUserData } from '../../../actions/user.action';\r\nimport { getRolesTitleInfo } from '../../../actions/welcomePage.action';\r\nimport '../../ReportTables/ReportFilters/ReportTable.css';\r\nimport { getRegionalSiteGlobalSummaryData, updateRegionalSiteCustomerID, updateRegionalSiteCustomerName, updateRegionID, updateRegionName } from '../../../actions/regionalSite.action';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { saveAccountLocationName, saveSelectedMenuItem, updateSelectedAccountName } from '../../../actions/tabMenu.action';\r\nimport HomeBreadcrumb from '../Welcome-LandingPage/Home-Breadcrumb';\r\n\r\nconst Profilepage = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let userInfo = useSelector((state) => state.userReducer.userInfo);\r\n let RolesInfo = useSelector((state) => state.welcomePageReducer.rolesTitle);\r\n let roleSelected = localStorage.getItem('RoleSelected');\r\n useEffect(() => {\r\n dispatch(getUserData());\r\n dispatch(getRolesTitleInfo());\r\n }, [dispatch]);\r\n\r\n let RolesData = userInfo.roles;\r\n const SelectedRoleDescription = (role) => {\r\n return RolesData?.find(dt => dt.name === role);\r\n }\r\n\r\n const RolesDescription = SelectedRoleDescription(roleSelected);\r\n const viewDTMReports = (service_id, c_name, cust_id, service_desk) => {\r\n if (service_id) {\r\n window.localStorage.setItem('ServiceDeskID', service_id);\r\n }\r\n if (cust_id) {\r\n window.localStorage.setItem('CustomerID', cust_id);\r\n }\r\n dispatch(updateRegionalSiteCustomerID(cust_id));\r\n dispatch(updateRegionalSiteCustomerName(c_name));\r\n dispatch(updateSelectedAccountName(c_name));\r\n dispatch(saveAccountLocationName(service_desk));\r\n dispatch(saveSelectedMenuItem(\"reports\"));\r\n history.push(\"/reports\");\r\n };\r\n\r\n const viewRegionalHandler = (regionID, region,c_name, selectedAccCustID, isoDateString) => {\r\n dispatch(updateRegionID(regionID));\r\n dispatch(updateRegionName(region));\r\n dispatch(updateRegionalSiteCustomerName(c_name));\r\n dispatch(updateSelectedAccountName(c_name));\r\n\r\n dispatch(getRegionalSiteGlobalSummaryData(selectedAccCustID, 0, regionID, isoDateString));\r\n history.push('/regional_summary');\r\n }\r\n\r\n const glblSmmryBtnClickHandler = (selectedAccCustID,c_name, isoDateString) => {\r\n dispatch(getRegionalSiteGlobalSummaryData(selectedAccCustID, 0, 0, isoDateString));\r\n dispatch(updateRegionalSiteCustomerName(c_name));\r\n dispatch(updateSelectedAccountName(c_name));\r\n\r\n history.push('/regional_global_summary');\r\n };\r\n\r\n const RecentLinksHandler = (s_id, c_name, c_id, s_name, r_id, r_name) => {\r\n let dt = '2022-04-01';\r\n if (c_id !== null && c_name !== null && s_id !== null && s_name !== null) viewDTMReports(s_id, c_name, c_id, s_name);\r\n if (r_id !== null && r_name !== null) viewRegionalHandler(r_id, r_name,c_name, c_id, dt);\r\n if (r_id === null && r_name === null && s_id === null && c_id !== null) glblSmmryBtnClickHandler(c_id,c_name, dt);\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n
Profile

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {userInfo.name}
\r\n Role: \r\n {RolesInfo?.length <= 1 ? RolesInfo?.[0]?.name : roleSelected}\r\n
\r\n
\r\n \r\n
User ID
{userInfo.upn}
\r\n
Email ID
{userInfo.email}
\r\n
Location
{userInfo.city}
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n
Role Description
\r\n
\r\n {RolesDescription?.description}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Membership/Account Information
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {RolesDescription?.membership?.map((member, i) =>\r\n ( RecentLinksHandler(member.serviceDeskId, member.customerName, member.customerId, member.serviceDeskName, member.regionId, member.regionName)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
CustomerService DeskRoleRegionValid FromValid To
{member.customerName}{member.serviceDeskName}{member.roleName}{member.regionName}{member.validSince}{member.validUntil}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n )\r\n};\r\nexport default Profilepage","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAuCAYAAAC4e0AJAAAABHNCSVQICAgIfAhkiAAAA+lJREFUaEPtWU1O20AYxdnAjnAC0hM0PUHDCSAngC4DSCUnKJwg7SJh2eQETU6Ae4NwgsIJCkuQIH3PmrEm48/2N3YipVJGskLs8Xxv3vv+JkQ7axiDwaC5t7f3dbFYnGH5ljExx+f38/PzyapMRqtayK4zHA7bURTd4XszZ+35y8vLUb/ff6pre6Xgyfju7u4fA/wen9cAGhMk7nfIPK5DXHMo8Glt4B3pT2CkbaWHK4xfX18nEnOj0WiMeae4HgG67c8xm6P7HGKdLxcXF5xfeYjMG+l/OqB9A3NjnEDSAfB0hX1cXTA7lVBhDsn4Bdea9Xo9/l15ZMAbduizZLtQet93AWxBJLh/kOfTZv2/q3CdDHgAuMLCA6X0N5D+2lJnwYP1wljSziuTRAJPV/iokd5nTwtKO68K+BDpd1yWtaDMvHu8axNBGU7xucR8Ar6K9AD1gFcPEYxHCMZYsnh7e9tBsN+tJWAD2VvaJLLUNUB9oztJhchNBmtJlXXAu3mcG8BG+lYBL/3+hrKdSr7ivCS5DeX+rJEe8zIgDEjmeFbSJ4A8oD2nBtxDlU5eKqVbYfoplEniATiYQCaSG2bAw/gZXmCBCpYehlvGcFqVbexYRfF8CmBxo9FgkWKMpMOxnRFFcjMxH8OQTZdF0qfZwgQhfd13hVQZrJko6qGaGtd6sIGM58+42BONORc90Rm/49r3vUEETwaxU0rPfC9Kj4VOyJzA1oTMUjkUsKX2gS6F++w6uUn2QHSLpE2ATSpyjFt9qMUGLh22cPoZKgOewN/f348JzjIpSB+DmS569jbTnrEywb0rbatrCCLDyTtFrYXTUixltxS8CTS2BRrpn7GhpsPWBN8pb+VRluWk5wn4EOlNULYY/XZBqPTBD77QXVQC7wQK7QVJLxl0gj0Pv3gQqQreBkqw9Dngk/aiaEith20tpIB1Kvcj3m3ZtaM60heBzwGY2ze5rgs3/AE3ZGvO4mbTNr8uHXJS8GWNmMTkKsH7sSdkuMzprBZ47YbsvCK/dtqCJGtJ6RmKxG9vb/PLy8sZ52wEeHuudcgoq8ys/N2NAE/QrBkojnP0PLHfhJlfMtp43gFoKsMzw2xjwJdlKPvcrbb/HXiTgZKsFQReUYBSAotSpYLlwl/U0vReVtlcQ05PXmZfPFzX3byftUKZVx3Oy3ZW9FxDZi3mqxQ07YY04DPtgQZQyMJasP68EBtBP3GHLLwFX8JAJeYVrOb17G6HWLiMxo1DwdcyXjfV+rsNAq9gnP13bjpddcxswUtVOPQkpVF16zZVy/vW5x3mtgEb2jZrCpAmgNfBfFkhq/2PNLuxf2KPcHtM5X87AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAuCAYAAAC4e0AJAAAABHNCSVQICAgIfAhkiAAABAxJREFUaEPtWVFO20AQHYf8Aydoqgapf6QnaHqCwgWKzQVKT9D0BKQnsOECDSfAvYH7V4mg0hMUvglx32y87ma9tndtR6JSIiHAXu+8ffPmzRg82sDHH4R7yz599FLyyaNBFiJJ03R6eXt60VVIr6uN5D7+QThKU7rG73sleyfegt5Fd8F929idgmfG0z79YuAp0Y9eShN6oliA3KHx0qMpAr7Ab8nFPHizMfB56omOEGSUp96jqPdIFybmwHoE1k8A/HdvQSN9TbZnwgfwPAqimyBqcwAj81nqQwW0HiPJgifqjZNhyFLYhdaPo9tgZgLmvwqPUo++IfBVNA+YmMafAvgs9azZUV3qde0CPB4hwvX9Mk1n+//pQjpF8MPwDAjOrVJP9AXsTSR1Ejz0XFlLtuvqUlII8mEYsiYPbVKvs2cLynadM3jH1JPKsi0oXseSvJwH0gjqcBrvF5h3AcA7quCRtTvhJAQfnwcri9Q+/jAcA/j1Rgq2DXgAmwDYZ5aTqRGpZrARq2wFfjUWCB8XByD6JDOg2i+uf8f1cSOtKA+Z3CYGe28tU18AwSCXKc2yA9xDVvscT/YAYb8LGpdaKcsKjQ4z0aoeUpDgoSkaZFgEfxD6eJgblHPq/dfhYLmgE2yad2VZEzKj2HeGJhX3dtCkfgZ3Kvs4uIxdSIpJZkY/lnZZlXrVLbIiZK2vSUGVB9aIjGqoZl4f0sIhZCHj/gOem9CCIrG2Tz6em+CnXV0N5vFgxSCn/hAPmVPfpyMRVGOLU4xnYj44Zpe18YElhev8tZIGPtJ1AH4GkO+zOpmuZSRrnLpDFWXDwJ+wSSpSL5g0pD6GmxyDFR4heJQgAfqRzmxHXZYYJs6JfKaqvygjxZo15+AzNzi3TP0DDrSXs8UFdRP4BaE6XKhzOdN9Ad4p9czYggZc/TlbfXqpF58DbrG0EXilUJxTbwqoFHsZfuOLSFPwq0JpkHpTQMUSS8k3TZ3KaMGNTS9Y0bl50sU8NJAbe21SXwXeBLCKXVW6MIuveJk5Y5BqJvVJNwdfN4ObaOwSvF57usOZRvRW4G0PJNdVMv9vLBCuZbJnyCbGvJBczk+vhD3XFUqXrlEWS77X5lpWBreSzpygMx8/C/BCMuiw+MYdOdaHMG5S3BBxb7zE0uyd4erZgLfNsNpt/zvwakNzAm/RgHICq6zSguXKv6jl9u5SsDYNiIGVvVy3PbzuWk7MuxzUgl3jEpsYrZhv0tBsD2MDvjAe2ABy2dgWrL7OJUbln+XabLwFX8NAI+YtWDVaXVduo4wRFlCyJW2Dt7VaHakT8zbHrCo4l2K0ibUFr7K0Zd5GM1izlc1WNpZSUZdtTDZVWGzmKJuzdA6+rpF18Y80ebC/mklYG873w8UAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAABHNCSVQICAgIfAhkiAAABN9JREFUWEfFmE1S20AQhRELYAcpDgCcAHwC7BMEnwC7Kht+qsAniH0CwwJYIk4Qc4KIE8Q5QZwTxOxgQTnvqXpUrbFGM7KNrSqXLM3fp57XPT0TrZVcd3d3Ryg+jqKohd/w7OysXVZ/GWWRPUi/39/Z2Ng4BeA1yvZ1Od7dAprvV3ZlwATd2tq6mkwmBNoRolfcB/KLcd9Gefvi4oL/V3KlwPf39ye4PSrQF4DFGkzq/ECdMcoaKBv6iB8eHvbf3t7GnU5n7KsbWh4B5Ccq16XBX+oV054UdQBNd1H+HWXD8/Pzmm8QVZ9VR2ibfHx8DC4vL599bV3lBJ5IYQcQN76OUJ8fcwwr92Dlbll9ANNZ2ee2VW/M9zBMzzeeXU7gEV7uoYOGy7K6EacZsJTDNtocoA3bey9GHNTnTLbwO5QGbEtD0U+CLgIbiwU7k5rqBIM1gkZSlfDRdXw0LZ+C40O6odaOzOBVQ1bIzPicDn0wIvUFOg6J85F8LR1vBGsdhFpL9MnI4rSy5XRpeMQYT5bEaG2WUWLeOG/CWup4VTTJuL25ufkHzXZc+nc43ZRuRd+/yOCL8ykwrDxAxa/iAN5IIbCcFS7dv9/f3+tlsVZWzxNqFfX3xMI3sHbHWFvN2Bj9Hbj6S4FVZa8sqsLaEivTbUjIzJZmVOZqRB05w1tVWJfTqVUzJwEtDZc8M2B0fgNZXAH6CVPVKnI+JR2vDGTmspURzz0db10S8MlTA3NBoBM5nc9MZ8gqx3709BfptkgC5kNg4WeEOeY4uSuXXqKDGKWnLiuLJP6hvNQx7EGs8NY0llbSyHxHjbGGelPpb+6FLLuplWHFWlFGZj4q1MoGXlk759jKd7JlHu+49B8W+dPUFygrFy4Is+YSIpERw5oGMbLwvTMfXrjjwILAjp3J+qy5hDg2kyDmDolyzLrvnRPYchanVo1lUD8oLbV1PevzlIWV5lId4cf1v2kPYEkjKDWdFVK3cwJrIJcVVeIUvG2aF9oJLPrijoEZmTNq6AUgdK83D3QpsOg5xp2xeYSkpFaUlCwT2gssgZweTT0PAd3wQWNWmiHbLRqE0gvdZrG+F5iVBHqEv0yOnDsDZemgbQ9gHyEjyo6z2AsBDwIWPTN+0tKl0LLcEoA75QRt2jaIGIC+kcsVCI5zDEyg+xwjGLgKtKSJhM42mQC5JYiVor7CwnXUSxcT3JncM+J0kRbcckz7qgQs0FnkKJOH1DXpJR/TswjA0KrcqaSwOl+xkqSh+AKlmF2VgatC06nQhqDcgukry9r0S4n/3JRydripaOs8eiZggc40jecE0aNZpj0Bv6aFZcrjoik377S19cZ0ZuAC6KF07D0kLAPVZXrXTfnt7u5+mwuYndtTCOjOIo9j9T6PCf3cwISWs+XY6DQkPFW08qPZMi0E2Axu7eF4vMoYnITCFdUzx8FGxwsFVrqmQ5kTygHAOyGrmA2st2xw6i906oUDW17Owz6ueGkMxv2pCriKFNnRw6cBG4fEPReDQ/MGsS7P23Jnd58KbKwtiX4Xz8dq2qntGFP9XBS/1Wb4BdGhbtotBdgCb+GZ+bW+mCQlcCzu1F+s08zcccNSgQ2hJEAE588451SQKDovXgmwJjNHsevr60ewMJMiI5tXyGXflsvKgafM6nnxH3iUhFuPJrdeAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAABHNCSVQICAgIfAhkiAAABTJJREFUWEfFWVtu20YUvSPIX/2Qu4I6sAvkL84KLK+g9gZi0uh/7BVEXkHlFZB2F1B5BVFWEPWvQCRUXUGVn6JAZDHnDmeomdEMOZRfBAxY5DwOz5z7pKCaK/k5O1wRHYmCEipocjNL07rxz/FMuJske9nuaofOxIouSNCe+RzAr/NZevEcwEJ7VIAl0C69xw0GtKsmfBWCRrSiUSEox70efqf5l5T/f5FLAk72sxMAyjRQ3PwEdnMTmBrzB8YsAPoYzyZNiJPX2R79T4t8ni6axsY+F2cH2UcM7vOEguifDvDn03TsWyA5yAYY8wHPJjfT9G3TJsZ4XnyO8eNCFKPb6fld09ygJAAYGAiE0iWADpsWAogxJhxh/BXGD+rGw2iToiBes+eMW2CN4e00vWraz30u3h1kc2z+E/6OQ8yak/iYiyWxHHqiS6/yv1JmrvFijwOW+/A6CfZ6IyeAdUnULB01LqAGiIqxFsZkHPUY0jiO3UyPw3wGPtTAwfYglm0GLHXZ1mXFnEyT0WHvC+z9m2I7j/HzDLiPSR/5eDDhVSxbSp/sWYIsW0ZHcI0FDG52fmNJrNyfJdGLIU26tcrw2mgSfrvo0t+YvhvSv9foPLplfcM4P0vjb5Bm6YcPshHe8pdoT1GCZXd4iHl/dpbUr/O1HJRoh05WBQ3YwBXDQ+j/stJ16VH4xBZiCWMO+O4SsB4cIQvevA1YV2J1uo1xmVVohiw4GvXq3FtbsCGjM6KmJQFLGgF5rnOJ/WyI8PweGrpB2E18xqelEyMDJbUqMsKgrkx/axitJYEmea4BlwGBjYhCAUEfZ0yUU4DXbqtkwNatJ2rqF8EedwhkJy5xVnqJwTmEfxZiWUni3ybD8OhWM01g+lQzXUnDsB1jD4JRbqS/NmCTZUFvfRlZ9VIRuYTjb0u2HcOubMfQLILShKOgz5423kADCgWEbXMJBu+LjoZnqHIZ3z398puAS7c1lx4j4MS3zSUggSHSwkOsPdCJFq+F3/2me0HAjrEEnbjBQlRa6vM629zbYFgvonWE3yOI/3TDkMw0MzI13QZgrZewjMQG5GWxSpxalE0PBR1kWEpjHd85IoW8xjoHiKz1HgK6FrACLX2zrA7uAdqTlFhR64lBNwMuy/+xqg4myKSOG0ETgkOgkPXZQmyZxXMbAUuWDVcHpoOVgSmhmLLnbD/LgIC7SrnYQa4RUR9GAVbS4CR7zP65FnTZ48jlOFQjyEtSF4gigHNfO1dg4PcoSmv6GNGAW4HmnhxvrqpjZhtJ/jUDMVNUrMmdJQ4aPF4n9wu88OD2S3rtM85WgF3PUce0CkBV0oPfsheBDZlVjnYSrJmvODXgBKdz6p5Oa8CtQXO7aklDLsFMxsyszfX/qyWN1OksMC418+itAG/Ig7W6BBs12pPVxze6WAk66eDImxqKJttmTrM1YA/oiVq4sUkYGzisqhs28d/sh18fBFiCBnPWEQpY+SO2Y806jxP6BwPWfpq6lFc6jXBPLVnOdMn0KID15k4JP5cSiYx4oRfQ7WCt40cFrHVt+mDcG8E9XcZEMRe0qm7KwnhJP7JRPzpgg232wfz5gSOe9MGdLloIEeHXWeODWRQ/GWBtkBs+ODJvUOxyv83q3T0pYIMpDr/M+JFx7GN0M/POvbgLZH9lywHfW2AHPF9ezwLYAo7sTObX9sWfIfBXjH+fnn9yuplW4fCsgCvg3M3sUmJ9PvC4CV+/+EUAm9h0KxbfAg+5BWDI5is8w54rlxcHHBtA9LjvvIyGXO4fiBEAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAcCAYAAAAuh5ywAAAABHNCSVQICAgIfAhkiAAABKxJREFUWEe1WMtxGkEQZaWDdDOOwCgCywG4BBFIikBwlDgIIhCKADhIOhoiMIrASwRGERhFYHTTpyT83lbPVjPMzA4fT9UWy85sT7/u15/ZpLTFcXNzcwhxR0mSVPDLe/7y0iPFnxnWTN7f3ydvb2/jdrs925YayaaCCALKnUHOiUP5WPGT+Xw+eH19HW4Kbm1At7e3BNHxgHjC8xGUTHd2dqYGFf6XcdEABP/VhRZzg4+Pj36z2ZzEWkOvWxlQBJDOxcVFr0gZ8WwL62gY10gB7vr8/JwUjR7RgO7u7qqw7g/lEXqB3P8iuw1fXl5aq1JG5I4g45PIoVxzX6LHnp+fITYuzgoBdbvd8t7eHoGQJmYMSSlcP/kAm/ZhSVp7rQFQFRiL8khDxlMfMjvKWDM864CG/aINgoDEelS6LIrf47cFi80A8o88H4Ji9aKNiubFcFN6xxgItKzjnvQ1HkvBgtOQt7yAAOaKVlE0qENxWrGEjTrY6Aq3j9jgMLQBjYJ1Rwh00nMcCnYx4C8x3gG8PiXQ/f39AXQ5Fl2Y8k99sbUESCxFr1AR0ukeHqkbpWXeeOfUgHR5QAHX0/RC2/cekk5KA+Ba8Dyek/ID4y0AbLkouABIuEwwLIolvHSNl4yXMqWEBoypByiVrfMNkUcFCYK0zVM1ZDcgmwouDO0leP+z9r4Va1nCgKcaWkAOSNIo3c2NmWlyiukXIJT15dgFNgSOczZ9oFDNRR14gwZg9lxigDCEcWXS/QjAGwZ4BsgGA2WrPq5js78E7VJGNjuG55gFvUPRKsXamsNLPehwiefehAMZzKpdeXcCUDWCSlYBw5chaM5fKLIUf4aOjDtYXqd5m1ZM04xD0iYLfr1Axd4Y+1R9llH05xKm++8JFKTgCq6nkGeUJ38HAGXZL6YuYV9mPaboJdqpOAoCEp2Y2hnTjPkmAaW4Z1Zh8aqF0qp4MwZQ0EPi6f8B6CzRBS0GVAzlIGcKqhz4qCLZatuUy+JNJwV6ihU56KkQVSzjsNY4m1TFCielADhLCiHqWvGTJw87bQ8AiLWCoNqeOhFM27qYsh9DwF8bT9l9YSBtm7h2pm10Dl3oVxe5C5lwIVPJhvSUKYA9WLmtqaPS5QRz31y0whoaRh8LKJP1LS/EGxTWYOF3tj5W78RzScOkVotW3tZHPMVakR8FBPwDfnlmyvpCe8AYLO5VXK7Wh9ksK/zS+tBwC8PbnFp92EL7ruamKGjfippTNKZVfkOAEtNQFpV+zRxJ8ubUOr48Qs6JT07M8UEfvjJvyfFhSuu7+imX5YueSeZjSWAXkp2v5HTMxGKOL33s3Vnr+GAUcLTvWVMIq49NQcPapVgrAqDnrab4AR7oyfGkIuu8vWU05eyFUr3JWXPk5hJ6yWy60CTGArIPkXiPBTfzCAebYHwN6m3tCG4rJvm/YwEzy6KPyuw68EXoUqVfe6uhpH0aLXoUflPwSSoChvdSXIy/XCHQtLy7u3vIoMZz11nqiXTGXM9uWGMRrQ3IbCCWrouSmo6xOhBECrAjUGsUSy2f8I0BacES3CdQkMcDeqBiUfORHsP8DAAmoFy66ne3Iiv9A2K9UFt7Ld/QAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAAcCAYAAAAuh5ywAAAABHNCSVQICAgIfAhkiAAABPVJREFUWEe1WFFy00gQ7XHMN+EEhEq2av82HGAL5wSYC2Bpf/nAPkHMCXAugORcYL0nQDkB5o8qkkJ7grV/UluFo9nXrRnvSJ6R5BBUReHY0sy8fq+7X0vRA17RL8lpQfRCaTrCsqfE/yv57F4Z/lhpoiWRXvY26irN49VDHUP96EIMQmsa4fBDz+G7Lr/UitLed5r/KLh7A3p9/GGkSE0DINZK0QJoMgDNt6g0HeJ+ZnGIjX/zotWUqh5dpF9jMLj/tTegViBE0/Q6nrUdhZnFPWNh139lONw7rMUS7Xx1BhSdJANsnjiMrJEHKyzwlHcDI3P6TuN9JSPrkrD52Jx67XxGmoGxO5p0XbcVUHSUHOo+gEAmNkxy+IIW0P2fAkZDIjfxuHMYazdGvyZHxYYWRoZLrH9RaJraYEkRUTS9/BpftO3RCMhEjw99KAcn+ov6NKZ/sUGfvvH3DA56j9o2avvdBC5ndmyAIMsIqmD5WvYytaFXTWwFAb0+Sc7x49TKAJtEYIGlQQA6hUzO8e/v3oZOmzbgoHApRzRWPaKrpmQ3AfwowevTs/RLnDNQBDHFXi/NWVjmr0K5tQPIRIpZGWxZ2QCM6RXm95IdjYUNSB8DFnjlN1Q9bDoJPYdnMhz+RZ356DgZcmm3bOHz2CfBCiDWst5IXnAFYolxlbEsybmMDBJs+vnyOpb7QpfJjQzM5GDp0C3VOHAMtviAlavC0oaeuOzXck0Kxvwmjt0FtoBMg2S6OV/WrsTcB7Dhgun3gW0CJ8GoyQdrnPmkA7kzi099CpA1HtHMKfcL5FVsgQugHTCKBiGtj06Sf0RunsPwZsWBfnl588e8kTkjK9yTza/jsx2WjpMZJPW2qeAgsGME9r15dglQZwxK7QOGHwYgrEOEg+zmX1mVEq6GiPy2zO8cuJQ25+E2+WsqkKKDda6wziAoabOfBXW7vv1djY6Tb6ZZsl0JMuMw+SkIyFS/Ln0JgWFD+tjLdNlsP7YBMmeSIEpwiN4oW1Xw9wqAzhrLamlE2wG1MGSYfnBApNVIuQ2tC6gukmNDiurzLCiVnyA5m29uUchYAm2gGqVS2qTcSGkSMqnbXhPIEfScsig0WCrbPkRqjluplG34p9T0CpbfJNAnGsu220yRB1P0qneWqbovDJVtm9ehsq0PUN0URXUwJo/+F4aU3T6xbbezygzVbFKrQLZcLvHbc5+sEL20NhYw+9zfto34vo21rfF7rU/NO2XwVTH7KqkqrqwarI9hih24NZaCnR1GD046ZH0gaW7ug4D14WpWNn5YH5+Cgua05sMq9n37G/uyO3reZk75gECypB7ljVW09GvlSOKYU3d8EUOsaBhaJwhI2NgdvoQtMz5I8vv8lE+Gbd8ZH8ktgU2vzFcyHSvF40M5vuB7ugO7DS9VGgFZidUkWE6RPbqyDQ337eRaG4BKXjqmWCSp4NUKOnen45C3rO/TCsg+YOYaroIycpuEyJ1NKyaxK6D6EInnuOEKI8IKHD9taPZgI3j9YFz/a+Oxe0vnUVk8ZEFvbfndiTSP+QeQlylGXQPUmaF9geH+TGvN7x1yJ9qIvDrFpmxcfbMUjy0pjwf7AnH26Irdf5+8jiooKlB5KnLsvuwaz2VgaoG3Rouu0gotf2+GfAtypYLeh+YVML9QPHJBSsnF9GryhF8kZvu+d2uL03+4DgtiD+vU8QAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAYCAYAAADzoH0MAAAABHNCSVQICAgIfAhkiAAAAcxJREFUOE+1VN1RwkAQ3pO8ix3ACDO+CRWIFQgNyF0HWoFQgVrBHTYgHQAVmEdnwBErMLxnPL89cjEJyeDguA+Qu9v99u/bFVQQeaYbXzENBVEPT53kObRE86OAJuZVrbMm0PsR2dI3ULzDTb0InJwjK2j0tFSP/j0FgPEUxlf8IARNyJKhmEKnGCASQdJaGiaG08lKDZwu/ySe7/G5wUXfrNS8LALo9eBkirdj6N1C70HItu4A+SVBu6wy9oAJyAznSATUFbgYcd4ctlkqWZF77hpODaeDKMYMMAfABQ57vadRnOo+ivkMm4UYtnTkcorpxKwVf+8V2dB1G9CnS+MgAHDFxvSOyD8OS2HbjZlL4e9FPLyNG7SxUyRShGI2q4rpilcDZwQ1UiJlCOLaiXNK02I7PN05dxCul1LZ0XnbmrVrqaWBeVNM2VRk0ntHd4TupzI/jW3NA6PLWJmyT5ACY41HLgL4uQgxbd1sBNctHUL5HOBdAGynFJID4AsQC6WoFgDnbP4PoOjJR/brCFDppq90ZmdsAJBbdzsp+PFmPqBgY6pRhMHhbdXP9r+yiJl+71SybGfsROBIBdKgP7yhea3z/lvgf1S27r4Bx9T3xV/9UUQAAAAASUVORK5CYII=\"","import React from 'react';\r\nimport { Accordion } from 'react-bootstrap';\r\nimport './OffCanvas.css'\r\nimport HINTS from './Hints.json'\r\nfunction AccordionHandler() {\r\n return (<>\r\n\r\n \r\n {\r\n HINTS.VOICE.map((hints, i) => (\r\n \r\n \r\n {hints.Title}\r\n \r\n \r\n
Usage
\r\n
\r\n {hints.Usage.map((para, i) => (\r\n
{para}
\r\n ))}\r\n
Legend
\r\n {hints.Legend.map((legend, i) => (\r\n <>
{legend.title}
\r\n
{legend.info}
\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n ))\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default AccordionHandler;\r\n","import React, { useState } from 'react';\r\nimport { Offcanvas } from 'react-bootstrap'\r\nimport hintsIcon from './../../../../assets/onboard-images/Hints_Icon.png'\r\nimport './OffCanvas.css'\r\nimport AccordionHandler from './AccordianHints';\r\n\r\nfunction OffCanvasHandler() {\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n return (\r\n <>\r\n
hints Hints
\r\n \r\n \r\n AWS (ASD) Telephony Hints\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default OffCanvasHandler;\r\n\r\n","import React from 'react';\r\nimport { Accordion } from 'react-bootstrap';\r\nimport './Accordion.css';\r\n\r\n\r\nfunction AccordionHandler({ACCORDION_INFO}) {\r\n return (<>\r\n\r\n \r\n {\r\n ACCORDION_INFO.map((accordion,i)=>(\r\n \r\n {accordion.label}\r\n \r\n {accordion.Info}\r\n \r\n \r\n ))\r\n }\r\n\r\n );\r\n}\r\n\r\nexport default AccordionHandler;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAUCAYAAABiS3YzAAAABHNCSVQICAgIfAhkiAAAAeNJREFUOE+llDFuwjAUhjEDjKQnID1ByQmAE0BP0DACQ4kEO10BiS7AWDgB9ASEE5QbBE5QVhbS/4/syoTEkcCSFdt57/Pv9/wscrE2n897WGqgV9At9IMQwsd31W63+c1sQlnMZrMKnNeY2wavzfl8bnmedzKRI6gEbqWyHb6fnU5nw3/T6dQqFApNbDjEtIy+xz/HCKVTsVj8kQpXcHAHg4GL+TtA36PRiLAIDjse/yUMw49utxutJzUBlS6cv/BzB2Ct3+8vMWYo3PF4vNedFouFDWCAtRPC8JwWBoHEcPcq+msQBBacepPJhElKbLDnpm+0VyGKGxIachEGAsc+YNiMK9SdYN/EfG0KwRWUR4dKN00l1xGCGoDbLCjVlRGjp6yrQqjKQRY0ihGMWsgox8amcgB7B/ZXiVSOQh0HCweodUxqNdsjcmCn7R5dfhhvsDNLcw9wPQksgaw4C9etbirZCKpfbExZgsvL5eLn83mOqYjJq0llR3x/eTIZ15sQ/Ne+TMIQKviglBKOdmRBYDNbFgtNTgDX47G9girVrHWpMGJDsa+OK6uK6kosY0CrcfANNC34+rp8gHy+agCS0dDBd0FlqPg+JILvhiaAGbIcNnIegupgLbnew9AYmE9i5Q/KnBv4WgEoJAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAYAAADkgu3FAAAABHNCSVQICAgIfAhkiAAABY1JREFUSEulVmlsVUUUPmfufd0X1lJoKV1eCxEiiSAkmihGQzAtQtBCkLSvLRUMIFETfhijEk3cYvyhIhShr1tcaHCtEokaVIRAtJoSS9q+QltQoCQtbaWvfe/OHL/7SsuShmg6yc3cO3PmfGf5zpnLhFE2d/8sx/BdLPygCIUV053C0klCA8LUxlr1a9GN0XFyuf/PpL56Wqvdc+4oyqlJURK6W9h+mlmWKpYd/rayitH90ZlLvP5lIvy8kNzLTEEo7ydmh0gUhKLxpI0IS4CIQ9i7QCIWngvEKhXrc7CZzUSnMBshcnC6oKqj9OKNYFzs9Xfj0KBSvEuT02DEYo/DPU6UmcHiCZEOT7VYPYBDicSUgTkVRhkmjhPiQXx3CJkfmNRxvC8H8PuIxpM1t3jFPq8flkrX4FBCfv35tcFbXR7ve9OiCs/QxZikYHLsQH3z2tCoTHFedRob+Rz62KOd/H1nn7g0FjpfTuUbwrydyayrDmz88r8A3U4GqdiC8O1CiDdXt5XsvZ6jPP88MdSAGHeSQ/mI7dBEwMq9delhcj6DDg7pcP5H17xC6PZvQHyfhRXzFKt1/jZfw0SA3LPFeZXb2PC7rGhTVWvpB+6aS4Y/mCRbWP2DubFbBh49FNg+PBGwouzqDKX0QahXINfDte3F3VyS47+CWjnOQqdA6I1KZI0/UPbjRIDcsyW5/qdQk++MeuWyrg7rK5Cn7Vh8GVb8Hp08/Pje3zaHJwK2MWvfHG1b9QCzBgPxS9iXU7WIWA6Dkt+hM3SiQMqZeTUY81NxdnWeKJ2llFogInGotyZmZRutOw1FD4dCQ3/Vny/vGc+gkhGS7cbesnAoagqX5lYXoOBeBHI2wytR8grK4DS6RAsKEwXICyJ9gagXzJwcUcrUg4VePD0I+wBWBpDfM5gv42wG1vIg64VxKaD5sYSo+FVu6A6zyH2GlGE2X7leQelW1Baw5KiI2Y29ILzu9ghNwrqBgsXYXQLFKZBFk0DHkEjbgn4kgKQXb/HIe1CJvdXfXnQMofP3uagQhoWyHDTZYRStxunGqOTQq7fL1U7aqc7NT59khlS8Y9u2DoWMpaKCltb9xkObYfRrini9P+D7Ah5V1cOChQB7CUDvubmaPmCXvXWp+OpEyFA0tyZLaQ3d3J8V6HiIi7yV9wP1UyitwTPdZSAisKq6veSX9XkV02Kd2ExDOsWwCbKy3OshURunxYRD5sOuLW5exh2R64O1a/hKO9qkceEdB6Liwle/QWIzRr1CfI8ooe+RjPVgWSaE00e1ISdDSMQ5fPfiHUXOLcKmH8YFkdRUzLhGTA48mY90LILsER1nFWBGywDzQIgDeN0z4pWswRXgkqEZAt/iQutyNJ/DVZI1QgCZCfkESGRDbjIUTkXYp153Tc7AiCS0toCleEdlq+9oBKgk0x9DNn2Nzdl4XoeVzwDshPbYL9SdLrowXmwK6YCVOHdgBjueKZp1gjbGdhlpKx7UyumztL3NCJeSxStqWn0nI0ARMK9/Jaz7BJfkHo7iN682x1++8cr+v8Qoy6tdiFweRFhOVLWVonFfG4Xpb8fGx0xuAFg6LtnCmhZfk0vfjsw5GTBzJqy9wvhxMKJiOVECtU23Z6V79qw38xAisxgVljYG5OKB6o9g+tj1CkX5M4iwAfHPReElwwB0dMARKlvkLGZ0BNXGlgTE4b/Zln5jKFeUalValuLcMsjfA1L0RA8OL7wJaNOsirjhuOgGJDYHXEiE4CAEfsU/wCX8JfQpRTFoVbOxnoxizDIsNvI5xsix8KIjwKIm9M2TMKqqLlDWeBNQhIHeyscw1YIxhxWZ53BlNN+aH7ckkkLB+WGLtOXoaYZVAig+Ew6n4lftFJrUlTCZrrr2cvyPjIx/AayOlnHe2cnwAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAOBJREFUOE+lk9ERwiAMhsMEOkT77ga6gW5QmAzqBm7QbqDP1h3cAJNcw0ELtdbe8cAd30f+hCpY+enaau/BggfXvowRTK3hAyyHI8lXQQzj4ZsHOKFnJ5UsCqY3KwVU+h2jdCIpCiY393jzkRKwxMMF92fe53qQwApa9zR61odRNhPkYLlEV7aLK0GxSwSLcG0dZm8kBsFJhC1wEGyFWfAPzIKmstgXHg93OzSskHk6NRag4XEdzOFXOFSAo+jdYOiJAkbKdrv0z0iENz1RXHtcXAm9OBlVCU56EB9aCxPzAeWdrnZ0L1XpAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAABHNCSVQICAgIfAhkiAAAAMpJREFUKFNjZEADCSrzD/xnYLBHF2dkYHBccCfxALI4UAwVwDQDDbjIxMDwAUgbAFXwY9UMVQxUAwcgxQJAfAGIPwAxOh+skPE/w0LGeJX5yBrRHYKTD3RJIyPQZgeg7v1g04D+IqDbAKi2H+wlFoYAsJ9hti+8k4gRBsiGwSwCKjoIDDwHDM0JqvMN/v7/z8/8h/HiggeJH5D5DCwMIJv349YMjSpY6MJCH+alUc3UjCp8iQRvPAM1ouQaLAaB0rwB1ngmNmHDNAMA9BG+fXUXSvUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABHNCSVQICAgIfAhkiAAAAalJREFUOE+NVE1OwkAYdWhKXDQp7HSlXZZCAicQTyCeQDiBeALrCZQTiCcQTyCeAA0BlpWV7oSEBYFAfa/ONAMU4UsmmXzf996876cVB/9Yr9cLGfY8T2xL2wh0Op1MqVQaEbBOoMcU4QoBAFUEbpfLZa1QKLR1gm63W06lUo9hGPr5fP5pgwDJbTjPZOAOsn2dAHef5DLeQvyS90hBv99vgvkK17EQoprL5VpJJUiFD4jZOE2Q1ATAFYCfCcYpw/mu5CU1Eb4i4lRro9RzoaTj5Ru8TPbYtk1BlQNMmwTRqGazWVZ1XzGwcbyzoToxp5FOp3+iHkiCD0intL0NuE8knyiCNxBEr+1rcelSwQgE2X3BzAOOy2ZTQSQFS+K4rsv7ThsMBqeYQIDEIQk48wucBlTUd6L/Xue0rnFehGTj7KO5rnd8nVCu9Cv8Y6guqk2sY5nu4Rxhtj72oZGkBEvHPK5zRu1N/DFpsoilIpamtpIjruCoUcflrnyNUh6B3PUkG6LMql7mxv8gCILDyWTimKZ5tFgsjsliGMbXfD7/tiwrcBxnqjP/AgH95Tg1baXcAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABHNCSVQICAgIfAhkiAAAAbNJREFUOE+NlE9OwkAUxt8USNwBO10JAROX3EA8gXgB6XgB8QTUEwgnaOEC4gmsN8CdCRBwpTtxZwJ0/N44bUoppLOazpv3e9/7MxV0YLXrrmLzYCrFvms7BrvilryFXLJDEhC3hcAtgH3m2iqgrhAkvan04wC77jaVIkhSznB2O9gB4IIPvRdsAPUBACcBcGDvGscR0ro2d4kQ2QO9jYMfocj2ZnKUmgIrVNSDrUiKvMFMSmHX3JYS9KSdBTW9iRyH8tKKiGANQHyGQOmlCKXj4x6ymR6tfV2AT5iOL8JLYk3lsPohgQvHey5oHMzdUHn61jVgAIrzNpzKxqGZSNpu6u4Cqk81AJtXRNHRsq4odZPCEm0pZ3U2HeJhK4pISp6q3rtcZIHY525FrWmO1D+4CyNsrtD/PvrfyQSouT3kfYfUn4Whce91X5MVTwL1SBO96LnJU0O/BRx2cPiI7RJkZziR/TQl5h6Pcymcm+gxYSK1LOM4BhDjrMxUCo7Ugk23Op7u9mv8l8fvoJimgItmQXA8zbT/wdGmkKsWAnUcWMEJg6zA+lxZ4iu32swxrb9x+B/XkN32NjD49AAAAABJRU5ErkJggg==\"","import ReactModal from \"react-modal\";\r\n\r\nReactModal.setAppElement('#root')\r\nexport function QueueModalPopup({ isOpen, setShowModal,children }) {\r\n return (<>\r\n
\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '25%',\r\n left: '25%',\r\n width: '800px',\r\n height: '460px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n // position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport function ModalAccountPopup({ isOpen, setShowModal,children }) {\r\n return (<>\r\n \r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '25%',\r\n left: '25%',\r\n width: '873px',\r\n height: '400px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow:'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport function RoleModalPopup({ isOpen, setShowModal,children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '30%',\r\n left: '25%',\r\n width: '873px',\r\n height: '360px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}","import React, { useState } from 'react'\r\nimport ToolTip from 'react-power-tooltip'\r\nconst TooltipHandler = (props) => {\r\n const [showEditInfo, setShowEditInfo] = useState(false)\r\n return (\r\n
\r\n \r\n info setShowEditInfo(true)} onMouseLeave={() => setShowEditInfo(false)} style={{cursor:'pointer'}}/>\r\n \r\n {props.text}\r\n \r\n
\r\n )\r\n}\r\nexport default TooltipHandler;","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAt1JREFUSEuVVl1IFFEU/q5aUFRK9WAEYrQLu75oBioRIRLlk1oQgf3sLD3pg9WTPvSzJYEvEe1DvgQz0s9jrT6EZIiELwXZLkIumGgLgpCJVhSYOp1zd2bc2d2Znb2wzM7ce893fr77nSvgMpSAWr21iXaho5mWVdOvzlgep+eCLjBRUophLRlecDIj8k2wYf0f7kJAMecDjZWAvr06+XFp+0WHJnbgXj6gHADlqNpBnqm0u4KNngnVgJ+79+20+fLn5zqSH5bwduiLfNJYpUjD2lw4lrnQBqD4VUXXobKxnict0rCXwQDR7nEwqBAEMhvWzH0WgOH566rgfvQMtuDg4T1ebFtrlhd/I9o1jtTMCiiSc2YkEkDmfAOfyfOK+yNtRRs3URjkTtsIR7IqynCMa5IG8KsapSbU96IVgYb8aRm4NIr56WVciTTh5HmfY3ScroHLo5yqIUqVIgzv5znffc9b826cfr+Ih9fG5Fyw6RB6n511TR8DMBBFcUQoPvUGse8R573+dJXjxgcX32Au8R1K/wmcuuB3BZh89RVPeyeJ5bjJADECaB+c6sSuvXYqZlthr5gE2ZTNXsds6j7+kgGGxVWfGg82VtY6pYc38wYOmxnCAEyEQsNIU1yEfKruln82xPSbepeybGqzSiH70iFZBy8AsWhcLjbloSgALylid5mmxQDwefg2s5LwXORiAP7+WkdXvVFkrzTNBCgkJ3aapmXC9aBlp4gVtvNWg2OhbQfNq1RwkbnY7L2bca4TR2tJRYbYxekAlfcTxw8UqaRmKD9I7G6nxW6NZKLOEjsJkm40Uq6vk2wUC8LGHzvJtemBreEQiJOy5kgIpYUPo2vDsUDSkWj0Xi5bplIDkpIcnWIqfhpLgRljtMw1ajSKa8u0QIhZ2ESEe4T5Lbt9GkblNBcUpYh4avqZ4XOvwAY66FvzFl1bSB1reZ7UN1FC1xb6O4EyxNyuLf8BA2Z8ptWKSTcAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAQCAYAAAAMJL+VAAAABHNCSVQICAgIfAhkiAAAAkRJREFUOE+VVNtxnEAQ7MXo2+cIhMunKn2SgQgBJ2DtRmDIAGVABoucwJ0iEM6AT1f5VHUZ+P51x7pni8UcQlKZH1470z09PaMwufTaFs7hOxQ6dYRp9uYw/f/es76yGh/QNr/MPpxV4YE/GzisEKPAEXkP6EhBN79Np7/Y3Cnc8GwmZxxcFZ3UgxDQiV31F7hVPQoV4WfvkDKuZlwjuT2AT86LH/UIuLaZAzZMeJBAfm/xjK3/TxIkkDP4D898ZsKWzKvA/NvadpHj+5PZKl+WQ97sTD6Tq+J7ymr0a1JR0oxx7Vw6X1WM9sfOpIpo+yhGNtVtqCpluVuy3JDlgfeURFLWvFIKZZDgtb4MqtSK+tZM8PH+yZglJpQjyNYJ28BuqvOLuCub0iyWpMqxB66HWwJZYvgWiEjO5DUTi+zt6CLfmJgfJxZ7y5ZLIEzuZZ1K/s+mIpXiDAD1/c6U7yUfLcpmilziMBfjUTnciXvO5kBf26Q/EvlIn8dopCdDI7tFida2ogyXImmohEwvl5ofeiClNUEiGaxeoZpLJslwgcQPH2dn2rfbtT1w+pO5paeTLPOg2ZjM2zSAsKoQNGqs2KsJiIvQMbak75N5xSOAT8rSZUJFKq8xd5OsDBkY7+tnrhFW4Bs5gHhzAHuZ7iWDnAEMA6aZoGKQVNMSRBpWc8AkcTH0KfVrBOh4/xQILfXrBcDZFDs8MvFXlr9RJ5SDAWTprRh4x3u7tCqmQIsAHoTOwomukgXH8sm04OFONu3/rPG/LqdW13173ooAAAAASUVORK5CYII=\"","import React, { useEffect, useRef, useState } from 'react';\r\n// import './Select.css'\r\nimport downward_icon from './../../../../assets/images/downward_arrow.png';\r\nimport upward_icon from './../../../../assets/images/upward_arrow.png';\r\nimport contractIcon from './../../../../assets/onboard-images/Contractual_SLA_Icon.png'\r\n\r\n\r\nexport function OnboardSelect(props) {\r\n const { data, value, id, className, name, onChange, editValue,refresh } = props;\r\n const [openData, setOpenData] = useState(false);\r\n const [Inputvalue, setInputValue] = useState(props.inputvalue);\r\n const [query, setQuery] = useState('');\r\n const filterQuery = options => {\r\n return options?.filter(option => {\r\n if (query === '') return option;\r\n else if (option[value]?.toLowerCase().includes(query.toLowerCase().trim()))\r\n return option;\r\n })\r\n }\r\n\r\n useEffect(()=>{\r\n if(refresh===true){\r\n setInputValue('')\r\n } \r\n },[refresh])\r\n\r\n useEffect(() => {\r\n if (!openData) setQuery('')\r\n }, [openData])\r\n\r\n useEffect(() => {\r\n setInputValue(editValue);\r\n }, [editValue, name, setInputValue]);\r\n\r\n const dropdownHandler = (event, option) => {\r\n setInputValue(option[value]);\r\n setOpenData(!openData);\r\n props.addValueToQueue(name, option[value], option[id]);\r\n }\r\n const dropDownref = useRef();\r\n const inputValueRef = useRef();\r\n useEffect(() => {\r\n const handleClickOutside = (event) => {\r\n if (dropDownref.current && !dropDownref.current.contains(event.target)) {\r\n if (!openData)\r\n setOpenData(openData);\r\n }\r\n }\r\n document.addEventListener(\"click\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickOutside);\r\n };\r\n }, [dropDownref]);\r\n\r\n return (\r\n \r\n
\r\n
\r\n {\r\n setQuery(e.target.value);\r\n setOpenData(true);\r\n setInputValue(null)\r\n }}\r\n onClick={() => {\r\n setOpenData(!openData);\r\n }}\r\n placeholder='Select'\r\n />\r\n
{\r\n setOpenData(!openData);\r\n }}\r\n ref={dropDownref}\r\n >\r\n {!openData ? \"arrow\" :\r\n \"arrow\"}\r\n
\r\n
\r\n
\r\n {openData &&
    \r\n {filterQuery(data)?.map(option =>\r\n (
  • dropdownHandler(event, option)} >\r\n \r\n {option?.Contractual === 'Yes' && }\r\n
  • )\r\n )}\r\n
}\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import { KeyboardDatePicker } from '@material-ui/pickers';\r\nimport React from 'react'\r\n// import Information_Icon from '../../../../assets/images/Information_Icon.png';\r\nimport Information_Icon from './../../../assets/onboard-images/Information_Icon.png'\r\n\r\nimport TooltipHandler from './TooltipHandler';\r\n\r\nfunction DatePickerHandle(props) {\r\n return (\r\n <>\r\n
\r\n \r\n props.onChange(date)}\r\n // minDate={new Date('01/01/2020')}\r\n format=\"MM/DD/YYYY\"\r\n style={{ width: props.width }}\r\n />\r\n
\r\n\r\n \r\n )\r\n}\r\n\r\nexport default DatePickerHandle","import React, { useState } from 'react';\r\nimport './TableTemplate.css'\r\nimport TooltipHandler from '../TooltipHandler';\r\nimport Information_Icon from './../../../../assets/onboard-images/Information_Icon.png'\r\nimport { OnboardSelect } from '../Dropdown/Select';\r\nimport DatePickerHandle from '../KeyboardDatePicker';\r\n\r\n\r\n\r\nexport function AddQueueModal(props) {\r\n const [ValidFrom, setValidFrom] = useState(new Date(''));\r\n const [ValidTo, setValidTo] = useState(new Date(''));\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n\r\n const ValidFromDateHandler = (date) => {\r\n props.addDateToQueue('valid_from', formatDate(date))\r\n setValidFrom(formatDate(date));\r\n\r\n }\r\n const ValidToDateHandler = (date) => {\r\n props.addDateToQueue('valid_to', formatDate(date))\r\n setValidTo(formatDate(date));\r\n\r\n }\r\n const editMode = props.editMode;\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {props.modalName}\r\n
\r\n
{props.validation}
\r\n
\r\n
\r\n
\r\n \r\n {editMode ? :\r\n }\r\n
\r\n
\r\n \r\n {editMode ? : }\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {editMode ? : }\r\n
\r\n\r\n editMode ? props.handleQueueEditDate('valid_from', formatDate(date)) : ValidFromDateHandler(date)}\r\n />\r\n editMode ? props.handleQueueEditDate('valid_to', formatDate(date)) : ValidToDateHandler(date)}\r\n />\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAABMpJREFUaEPNWl1oHFUUvndmTaHqi7ZCxfhgMAZsI1QaseZFTGY22tfkQcFUtLubBh9sah4EUQs+tMb2QcxmY7HW+iLSp2CzM2lfrGuxSUFLKLWoRcQqWqzgT6HuzPG7Eydm/++9uzPrhYHL7Dnf+b65f+feu5y1oKQ+HtjCEka/wflW8v0ebhidPtEGztjNgPcY0TXG+U+oX2acLpDHziX8m05PP3FCvGuqIIZe2XXysW7TM58m4sMg1a2HwgogcNzvWHds9tG5qzoYygLGTiZ7fc+fRLCndALW8Zn2GJs6bLuXVXCVBKQd6wDAX1QJoGoLQq/N2O6rsn5SAnY51nZOLMs565UFbsaOc77oGXz8nYH8YiOchgIy7uBO9PMjjYAi+Z34aC7pvF8Pu66AVH5wAl9jKhJysqA+TeSGFg7WMq8p4H9BPmTNIcKqLqKqgLZ2m1qfukZ3qhAgBqzBWEG2heO0802jr3xgVwhIOdaXeBnLbKMqXsxOM5bTt9avREAc87wq6XL78nViVUA6bz+AlOCLZgPE4Y8V+55wxf5PgGN9EEF6EJWe6ZztjgvwQMDYfPI+3/AvRhWtGu76xC1suCfNPrqYY38V/1AOTR3rNooEMBCQce3XieglZRRNB0H+hW0HWOetXez7379hhxYnlUWA+B7kTIcCAWnX/go5u25KrCRjLfnQUVNEAd2on6cWBrZw3zivxELTuBr5ZkSYxcQmjqlzN0De1uQk7VaPfAhy6dp5dnBRPlsnn0aEgMMAeFaaiYahDPnrxT8D8qI7SRdO+4WAT+HwiLRTmWH3bb3s0q+1e2Bk5Fd4zAkB36Fyt46Ah++02OjmCXbmisuOLr9ZARExeRFvWQgQk7A4PVAqIfnQqVxEDOSxivGrQgApMYdxOflyEbGQXwnqCQFFVExZEbXIrxVxFxYosUjVKloDtjpYIECcx9wuK2B08160wKCseYVdC8kzLL5BF1pGlPtVGOmKaCn5FcLBIJ5DZYeKAGGrKiIC8oLGHE+59n5OJE7alIusiIjIYxbCQpbJ2yPE6UNl9v86NBIRGXnEB+8RnsrbmzinK7oC6nWnKMmLuEEyJyoZxypgMdjeShFRk8dWrJCzkE4L0ml3cA/aozIXUFQUdqfIyYNXyYbm+U+GNt647v2syLeq+UhPhp35YUEtq9QIfMMz7zjy+Pwvq5t6dKNpdKMxDax2uJRu6gWD1ImhLm56X7eDjWpM42+vK7vj1LfCr+RgCzPSPsxIL6sCxmrPaR8Oel8JY1Y7WlzCywdjJSUfbAkb+W1rzSsEZE7ZfVSkz+Ux47PkxB+aSTpn6woIxoNjjULZe/FRk4gke7weQiHFmMBS3d7bmdWOrnjBsSrChQhqs4g6tzMVs1C1hsSp9TPI+t6VaOSWm2Bd2jlru0frATe8pRTOu3Fr4zOWBWBcFx9LGLDj5QO2mhApAaEjNj9voL635Z+6ZFopnecbxVISIMDERQgxmsSl95ONwFV+R+tmTdObyg6srLCyRVlACCzuFMgk/NmDhvHuXtmAJR+bsc8w0x3vKCaOvYXETBNDx63U57n5ZK9p+P14uxVPD55ORmwDEpX1qONGiP2GJ/i7DW79L+AW9BzG1OnZpPNjs9H/AVOHF6a/W31RAAAAAElFTkSuQmCC\"","import ReactModal from \"react-modal\";\r\nimport \"../QueueTable/TableTemplate.css\";\r\nimport Success_Icon from '../../../../assets/onboard-images/Success_Icon.png'\r\nimport DatePickerHandle from \"../KeyboardDatePicker\";\r\nimport { useState } from \"react\";\r\nimport { useLocation } from 'react-router';\r\n\r\nReactModal.setAppElement('#root')\r\nexport function DeleteFragment(props) {\r\n return <>\r\n
\r\n
\r\n
\r\n {props.modalName}\r\n
\r\n
\r\n
\r\n {props.delete === true ?
\r\n Are you sure you want to delete {props.queueName} - {props.sitename} ?\r\n
:\r\n
You have not selected any accounts.\r\n Are you sure you want to procced to HOME PAGE\r\n
}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n}\r\n\r\nexport function AccountDeleted(props) {\r\n return <>\r\n
\r\n
\r\n
\r\n {props.accountName} - Account\r\n
\r\n
\r\n
\r\n
\r\n     Success\r\n
\r\n
\r\n {props.accountName} - {props.sitename} account deleted successfully.\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n}\r\n\r\nexport function DeletedModalPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '40%',\r\n left: '35%',\r\n width: '500px',\r\n height: '240px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport function DeleteModalPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '40%',\r\n left: '35%',\r\n width: '500px',\r\n height: '240px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport function SuccessFragment(props) {\r\n const location = useLocation();\r\n return <>\r\n
\r\n
\r\n
\r\n {props.modalName}\r\n
\r\n
\r\n\r\n
\r\n
\r\n     Success\r\n
\r\n
\r\n {props.queueName} account submitted successfully.\r\n
{props.ReopenText}
\r\n
\r\n
\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n}\r\n\r\nexport function OnboardRequestAdmin(props) {\r\n return <>\r\n
\r\n
\r\n
\r\n {props.requestHeading}\r\n
\r\n
\r\n
\r\n The {props.accountName} account re-opening request has been received successfully. You will receive an Email\r\n confirmation from the GSD Insight Administrator to your registered mail ID ({props.email})\r\n
\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n}\r\n\r\n\r\n\r\nexport function AdminValidDateChange(props) {\r\n const [validUntil, setValidUntil] = useState('');\r\n const [validation, setValidation] = useState('');\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n\r\n const ValidToDateHandler = (date) => {\r\n let d = formatDate(date)\r\n setValidUntil(d);\r\n }\r\n const onsubmit = () =>{\r\n if(validUntil){\r\n setValidation('')\r\n props.onSubmit(validUntil)\r\n }\r\n else{\r\n setValidation('Please Ensure you filled the inputs with \" * \" mark ')\r\n props.notValidDate()\r\n }\r\n }\r\n return <>\r\n
\r\n
\r\n
\r\n {props.requestHeading}\r\n
\r\n
{validation}
\r\n
{props.title1}: {props.solution1}
\r\n
{props.title2}{props.solution2}
\r\n
\r\n ValidToDateHandler(date)}\r\n />\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n}","import React, { Fragment, useState } from 'react';\r\nimport './TableTemplate.css'\r\nimport searchIcon from './../../../../assets/onboard-images/Search_Icon.png'\r\nimport addQueueIcon from './../../../../assets/onboard-images/Add_Queue_Icon.png'\r\nimport editIcon from './../../../../assets/onboard-images/Edit_Icon.png'\r\nimport deleteIcon from './../../../../assets/onboard-images/Delete_Icon.png';\r\nimport ActivateDisabledIcon from './../../../../assets/images/Activate_Disabled_Icon.png';\r\nimport ActivateIcon from './../../../../assets/images/Activate_Icon.png';\r\nimport { QueueModalPopup } from '../Modals/ModalQueuePopup';\r\nimport { AddQueueModal } from './AddQueueModal';\r\nimport { AdminValidDateChange, DeleteFragment, DeleteModalPopup } from '../Modals/DeleteModalPopup';\r\nimport TooltipHandler from '../TooltipHandler';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport { getQueueTabLanguages, getOriginatingCountry, setValidforAddingTabRows } from './../../../../actions/Onboard.action';\r\nimport moment from 'moment';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { getRoleBasedView, updateQueueRequestStart } from '../../../../actions/Administration/admin.action';\r\nconst headers =\r\n [\r\n {\r\n caption: \"Queue Name\",\r\n id: \"1\"\r\n }, {\r\n caption: \"Language\",\r\n id: \"2\"\r\n },\r\n {\r\n caption: \"Business Unit\",\r\n id: \"3\"\r\n },\r\n {\r\n caption: \"Originating Country\",\r\n id: \"4\"\r\n },\r\n {\r\n caption: \"Claim Number\",\r\n id: \"5\"\r\n },\r\n {\r\n caption: \" Valid From\",\r\n id: \"6\"\r\n },\r\n {\r\n caption: \"Valid To\",\r\n id: \"7\"\r\n }\r\n ]\r\nfunction QueueComponent(props) {\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n let languageInfo = useSelector((state) => state.onboardReducer.queueTabLanguages);\r\n let countryInfo = useSelector((state) => state.onboardReducer.originatingCountry);\r\n const accountSiteInfo = useSelector((state) => state.onboardReducer.accountSiteInfo);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n };\r\n\r\n\r\n useEffect(() => {\r\n dispatch(getQueueTabLanguages());\r\n dispatch(getOriginatingCountry());\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n\r\n const renderQueuesTabData = (data) => {\r\n let temp_Arr = [...data];\r\n let temp_arr = temp_Arr?.map((temp, i) => {\r\n return {\r\n queue_name: temp.queueName,\r\n business_unit: temp.businessUnit,\r\n language: temp.language,\r\n country: temp.originatingCountry,\r\n claim_no: temp.claimedNumber,\r\n valid_from: formatDate(temp.validFrom),\r\n valid_to: formatDate(temp.validTo),\r\n status: temp?.status,\r\n queueID: temp?.QueueID,\r\n request: temp?.Request,\r\n tooltip: temp?.ToolTip\r\n }\r\n });\r\n return temp_arr;\r\n }\r\n\r\n let data = (props.QueueTableData?.length > 0 ? renderQueuesTabData(props.QueueTableData) : []);\r\n const [queueData, setQueueData] = useState(data);\r\n useEffect(() => {\r\n setQueueData(data)\r\n }, [props.QueueTableData])\r\n const [filter, setFilter] = useState('');\r\n const [showAddQueueModal, setShowAddQueueModal] = useState(false);\r\n const [showEditQueueModal, setShowEditQueueModal] = useState(false);\r\n const [showDeleteQueueModal, setShowDeleteQueueModal] = useState(false);\r\n const [searchColumns, setSearchColumns] = useState([\r\n 'queue_name',\r\n 'language', 'country', 'business_unit', 'claim_no'\r\n ]);\r\n const [dispatchQueueObj, setDispatchQueueObj] = useState([])\r\n const [validation, setValidation] = useState('')\r\n\r\n const [addFormQueue, setAddFormQueue] = useState({\r\n queue_name: '',\r\n language: '',\r\n business_unit: '',\r\n country: '',\r\n claim_no: '',\r\n valid_from: '',\r\n valid_to: ''\r\n })\r\n\r\n const [editQueueID, setEditQueueID] = useState(null);\r\n const [editQueueInfo, setEditQueueInfo] = useState({\r\n queue_name: '',\r\n language: '',\r\n business_unit: '',\r\n country: '',\r\n claim_no: '',\r\n valid_from: '',\r\n valid_to: ''\r\n });\r\n\r\n const [deleteRowID, setDeleteRowID] = useState(null);\r\n const [AccountQueueId, setAccountQueueId] = useState(null);\r\n const [mode, setMode] = useState(null);\r\n useEffect(() => {\r\n if (props.accountDetails) setMode(props.accountDetails.mode)\r\n }, [props.accountDetails])\r\n\r\n\r\n const addValueToQueue = (name, value) => {\r\n const newFormData = { ...addFormQueue };\r\n if (name !== 'Select') {\r\n newFormData[name] = value;\r\n setAddFormQueue(newFormData)\r\n }\r\n }\r\n const HandleAddQueue = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (fieldValue !== 'Select') {\r\n const newFormData = { ...addFormQueue };\r\n newFormData[fieldName] = fieldValue;\r\n setAddFormQueue(newFormData)\r\n }\r\n }\r\n\r\n const configureQueueData = queueData => {\r\n let temp_arr = [...queueData];\r\n let tempArray2 = temp_arr.map(queue => {\r\n let temp1 = {\r\n QueueName: queue.queue_name,\r\n BusinessUnit: queue.business_unit || '',\r\n LanguageName: queue.language || '',\r\n OriginatingCountry: queue.country || '',\r\n ClaimedNumber: queue.claim_no || '',\r\n ValidFrom: queue.valid_from,\r\n ValidTo: queue.valid_to,\r\n }\r\n let temp2 = {\r\n QueueName: queue.queue_name,\r\n BusinessUnit: queue.business_unit || '',\r\n LanguageName: queue.language || '',\r\n OriginatingCountry: queue.country || '',\r\n ClaimedNumber: queue.claim_no || '',\r\n ValidFrom: queue.valid_from,\r\n ValidTo: queue.valid_to,\r\n QueueId: queue?.queueID || '',\r\n }\r\n return location.pathname === '/onboardAccount' ? temp1 : temp2\r\n });\r\n let tempArray3 = [{\r\n Servicedesk: accountSiteInfo.SiteName,\r\n Account: accountSiteInfo.AccountName,\r\n Details: tempArray2\r\n }]\r\n setDispatchQueueObj(tempArray3);\r\n }\r\n\r\n\r\n\r\n const handleAddQueueSubmit = event => {\r\n event.preventDefault();\r\n const newQueue = {\r\n id: (Math.random() * 10000).toString(),\r\n queue_name: addFormQueue.queue_name,\r\n language: addFormQueue.language,\r\n business_unit: addFormQueue.business_unit,\r\n country: addFormQueue.country,\r\n claim_no: addFormQueue.claim_no,\r\n valid_from: (addFormQueue.valid_from),\r\n valid_to: (addFormQueue.valid_to),\r\n queueID: addFormQueue?.queueID,\r\n status:'Active' ,\r\n request: 'Completed',\r\n tooltip: null\r\n }\r\n const newQueues = [newQueue, ...queueData]\r\n const temp_Arr = {\r\n queue_name: addFormQueue.queue_name,\r\n valid_from: (addFormQueue.valid_from),\r\n valid_to: (addFormQueue.valid_to),\r\n language: addFormQueue.language,\r\n }\r\n const isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\n const isValidDate = moment(addFormQueue.valid_to).isAfter(addFormQueue.valid_from)\r\n if (isEmptyInput) {\r\n // setRoleAddSubmit(true);\r\n setShowAddQueueModal(true);\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n }\r\n else if (!isValidDate) {\r\n setShowAddQueueModal(true);\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date ')\r\n }\r\n else {\r\n setQueueData(newQueues)\r\n setShowAddQueueModal(false);\r\n configureQueueData(newQueues);\r\n setValidation('')\r\n }\r\n }\r\n const handleAddQueueCancel = event => {\r\n event.preventDefault();\r\n setShowAddQueueModal(false);\r\n }\r\n\r\n const onClickSelect = (name) => {\r\n const newFormData = { ...editQueueInfo };\r\n newFormData[name] = '';\r\n setEditQueueInfo(newFormData)\r\n\r\n }\r\n\r\n const onClickEditRow = (index, data) => {\r\n setEditQueueID(index)\r\n setShowEditQueueModal(true)\r\n const formValues = {\r\n queue_name: data.queue_name,\r\n language: data.language,\r\n business_unit: data.business_unit,\r\n country: data.country,\r\n claim_no: data.claim_no,\r\n valid_from: data.valid_from,\r\n valid_to: data.valid_to,\r\n queueID: data?.queueID\r\n };\r\n setEditQueueInfo(formValues);\r\n }\r\n\r\n const handleEditQueueSelect = (name, value) => {\r\n const newFormData = { ...editQueueInfo };\r\n if (value !== 'Select') {\r\n newFormData[name] = value;\r\n setEditQueueInfo(newFormData);\r\n }\r\n }\r\n const handleEditQueueUpdate = event => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...editQueueInfo };\r\n newFormData[fieldName] = fieldValue;\r\n setEditQueueInfo(newFormData);\r\n }\r\n\r\n\r\n const handleEditQueueSubmit = event => {\r\n event.preventDefault();\r\n const editedQueue = {\r\n id: editQueueID,\r\n queue_name: editQueueInfo.queue_name,\r\n language: editQueueInfo.language,\r\n business_unit: editQueueInfo.business_unit,\r\n country: editQueueInfo.country,\r\n claim_no: editQueueInfo.claim_no,\r\n valid_from: editQueueInfo.valid_from,\r\n valid_to: editQueueInfo.valid_to,\r\n queueID: editQueueInfo?.queueID,\r\n status:'Active' ,\r\n request: 'Completed',\r\n tooltip: null\r\n };\r\n const newQueues = [...queueData];\r\n const temp_Arr = {\r\n queue_name: editedQueue.queue_name,\r\n valid_from: (editedQueue.valid_from),\r\n valid_to: (editedQueue.valid_to),\r\n language: editQueueInfo.language,\r\n }\r\n const isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\n const isValidDate = moment(editedQueue.valid_to).isAfter(editedQueue.valid_from)\r\n if (isEmptyInput) {\r\n // setRoleAddSubmit(true);\r\n setShowEditQueueModal(true);\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n }\r\n else if (!isValidDate) {\r\n setShowEditQueueModal(true);\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date ')\r\n }\r\n else {\r\n const index = queueData.findIndex((_, index) => index === editQueueID);\r\n newQueues[index] = editedQueue;\r\n setQueueData(newQueues);\r\n configureQueueData(newQueues);\r\n setEditQueueID(null);\r\n setShowEditQueueModal(false)\r\n setValidation('');\r\n }\r\n\r\n }\r\n const handleEditQueueCancel = event => {\r\n event.preventDefault();\r\n setEditQueueID(null);\r\n setShowEditQueueModal(false)\r\n }\r\n\r\n\r\n const handleDeleteQueue = () => {\r\n const newQueue = [...queueData];\r\n const index = queueData.findIndex((_, index) => index === deleteRowID);\r\n newQueue.splice(index, 1);\r\n setQueueData(newQueue);\r\n configureQueueData(newQueue);\r\n setShowDeleteQueueModal(false);\r\n }\r\n const handleDeleteQueueCancel = event => {\r\n event.preventDefault();\r\n setShowDeleteQueueModal(false)\r\n }\r\n\r\n\r\n function searchRows(rows) {\r\n return rows?.filter((row) =>\r\n searchColumns?.some(\r\n (column) =>\r\n row?.[column]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(filter.toLowerCase()) > -1,\r\n ),\r\n );\r\n }\r\n useEffect(() => {\r\n props.DispatchQueuehandler(dispatchQueueObj)\r\n }, [dispatchQueueObj]);\r\n\r\n const [showReuqestModal, setShowReuqestModal] = useState(false);\r\n const ActivationHandler = (id, data) => {\r\n if (data.request !== 'Sent') {\r\n setEditQueueID(id);\r\n setAccountQueueId(data?.queueID);\r\n setShowReuqestModal(true);\r\n }\r\n }\r\n\r\n const onSubmitRequest = (date) => {\r\n const temp_Arr = [{\r\n Account: accountSiteInfo.AccountName,\r\n Servicedesk: accountSiteInfo.SiteName,\r\n ValidUntil: date,\r\n QueueId: AccountQueueId\r\n }]\r\n dispatch(updateQueueRequestStart(temp_Arr))\r\n setShowReuqestModal(false);\r\n let temp_arr = [...queueData];\r\n temp_arr.map(temp => {\r\n if (temp.queueID === AccountQueueId)\r\n temp.request = 'Sent';\r\n temp.tooltip = 'Activation Request already sent to Administrator'\r\n\r\n });\r\n setQueueData(temp_arr)\r\n }\r\n\r\n\r\n const ValidUser = () => {\r\n if(props.GeneralInfoToggle){\r\n setAddFormQueue([])\r\n setShowAddQueueModal(true)\r\n dispatch(setValidforAddingTabRows(false))\r\n }\r\n else{\r\n window.scrollTo(0, 0);\r\n dispatch(setValidforAddingTabRows(true))\r\n }\r\n }\r\n\r\n return (<>\r\n \r\n
\r\n
\r\n setFilter(e.target.value)} />\r\n \r\n
\r\n\r\n {(RoleBasedView?.[0]?.Queue?.[0]?.ReadWrite === 0 && location.pathname === '/admin/account') ? '' : <>{(mode === 'create' || mode === 'edit') &&
\r\n \r\n Add Queue\r\n
}}\r\n
\r\n
\r\n\r\n {searchRows(queueData).length === 0 ?\r\n
\r\n \r\n \r\n \r\n {headers.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n
{header.caption}{' '}
\r\n
\r\n
\r\n
\r\n No records found. This data grid enables adding/editing the corresponding sub-categories.
To add new queue entries, click on \"Add Queue\" link.\r\n
\r\n
\r\n
\r\n
:\r\n \r\n \r\n \r\n {headers.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n searchRows(queueData)?.map((data, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {location.pathname === '/onboardAccount' ? <> {(mode === 'create' || mode === 'edit') && } :<>\r\n {RoleBasedView?.[0]?.Queue?.[0]?.ReadWrite === 1 ? <> {(mode === 'create' || mode === 'edit') && } : ''}\r\n }\r\n \r\n ))\r\n }\r\n \r\n
{header.caption}{' '}
{data.queue_name}{data.language}{data.business_unit}{data.country}{data.claim_no}{data.valid_from}{data.valid_to}\r\n onClickEditRow(index, data)}>\r\n \r\n { setDeleteRowID(index); setShowDeleteQueueModal(true) }}>\r\n \r\n \r\n {data.status === 'Active' ?\r\n onClickEditRow(index, data)}>\r\n \r\n : <>\r\n ActivationHandler(index, data)}>\r\n \r\n \r\n \r\n }
}\r\n {showAddQueueModal && \r\n { }}\r\n onClickSelect={() => { }}\r\n validation={validation}\r\n />\r\n }\r\n {showEditQueueModal && \r\n { }} validation={validation}\r\n onClickSelect={onClickSelect}\r\n\r\n />\r\n }\r\n {showDeleteQueueModal && \r\n index === deleteRowID)].queue_name}\r\n />\r\n }\r\n {\r\n showReuqestModal && \r\n index === editQueueID)].queue_name}\r\n solution2={queueData[queueData.findIndex((_, index) => index === editQueueID)].language}\r\n onSubmit={onSubmitRequest} notValidDate = {() => { setShowReuqestModal(true) }}\r\n onCancel={() => { setShowReuqestModal(false) }}\r\n />\r\n \r\n }\r\n );\r\n}\r\n\r\nexport default QueueComponent","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAYCAYAAAARfGZ1AAAABHNCSVQICAgIfAhkiAAAAzRJREFUSEu9lktIVGEUx8851zEyzU2pJGU5kxhRtCmKgh5gkSYEFmbaPKxVUJseFIQV0raFm4LMO6OoFAkmVJRlD4haFRFt8sFE0aJaWGov536n/zUFR8sZQ7p3Md+9c77fd77/9z9nhmn0ChbYhWSoVYlWjb2bxmcvsVMd6T7waPwcdh9csBpuwTCLjLlDFnUy8adk4KpapcQ7EHujsSfkj4OPByvpeWE6goC2cHfocDLwKm+9z+KUW0zaFu4JnYiDB3zh53gx3wUT62tkXEfELZHu4KkZgNtKRm22ZJsh54cYySahyzOUOeCse5HxOgy+INsMyzjtDb37789I5sy0FZl2JgObGJNAc1v/K7zK2+TDih+S2Yny1/xU9bShPjpi5DntzoGsOY19gdcc8MVn7vfZB2GrA4hJyudwVhrAhUT6DkXzOyGVbGZtjYMHC+0VOszXcMC5pPwkmcz/HKNZcNy8OPi+pY3LRE0HMV1xfR7w1q8XlhTS2X12b8XbYL69woWF+0Ivx0ODS+3fLWOYouFoqB+FWayGrv4Vzo5eNyy1RLFNytYAtlpusVMJu67hmJYCEnV5FUsuZc9KsR6qcp6olti91V0J4UTGA2mOC1unyMRc/W8akaOkpphjXDQG93svb2aWW5DyIxJ4EOkJ7ksINz+lWTzmNhszx7DVnPGdzg6mac1EeMDX0IQDXYsFoqy64KfjFKd6rOVTyvImN3pm8fu8HdhuOanuUZZSuKgI4xI1Upwpn98ManoWpLuJzphLzMP4PktJdouYr1PCIUuGKm1Ept+YU1ZikV0suhN9qIyFegzpMGRDN6RzkOQCsn8hDp9Ui5/BhvVTwlFEj9HbK4QoB4d43aRJWIZMmbJugJu+Q4J0EnmlRlejL9VC61dwzTFjaCELP8QOI3Fu8RdEtrPjNGCye9f/s8+V/aSUHgc/5KubNUAZNdCwmlgGk4KzWmQ4B0XTD+DQSIGSzmXl9knl7y7wWTK3QOMRHye8lBYJm4sg3sXhnnfjoXlhprHuTYInhE0ISNhyEf8UbbdmuuDR+EqjVIrx5B9ovzfchW1s/kfwyDTYsU/ZCU38a/ELUkX/cuEMn6wAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAWCAYAAACG9x+sAAAABHNCSVQICAgIfAhkiAAAAOZJREFUWEdjZBhEwEAhQYD159/1DEzMhaefLrhAjNMYiVFELzWm0gkGDP//HgDa95+BkdmRGE8MKg+AAopUTww6D5DqiUHpAVI8MWg9QKwnBrUHiPHEoPcAIU8MCQ/g88SQ8QAuTzCaScfNoFdFRQ17/jP8VwdWcw7AkH946tliBUYTyZh0ahhMHzMYZRkZGQqBdjECa2orUE09ZJIQtIbeD3W8A6yZMSQ8gMvxoFgf9B7A5/hB7wFCjh/UHiDG8YPWA8Q6flB6gBTHDzoPkOr4QekBxv9/N/xnZA4gpjs56DxATm0OAEEznBe1aUM3AAAAAElFTkSuQmCC\"","import React, { useEffect, useState } from 'react';\r\nimport './SLATable.css'\r\nimport contractIcon from './../../../../assets/onboard-images/Contractual_SLA_Icon.png'\r\nimport templateIcon from './../../../../assets/onboard-images/ViewDetailsLink_Arrow_Hover_Icon.png'\r\nimport { OnboardSelect } from '../Dropdown/Select';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getSLATemplates } from '../../../../actions/Onboard.action';\r\nimport DatePickerHandle from '../KeyboardDatePicker';\r\nimport TooltipHandler from '../TooltipHandler';\r\nimport Information_Icon from './../../../../assets/onboard-images/Information_Icon.png'\r\nimport { getRoleBasedView } from '../../../../actions/Administration/admin.action';\r\n\r\n\r\nexport function AddAccountModal(props) {\r\n const dispatch = useDispatch();\r\n const [ValidFrom, setValidFrom] = useState(new Date(''));\r\n const [ValidTo, setValidTo] = useState(new Date(''));\r\n const [templateLink, showTemplateLink] = useState(false)\r\n const newSlATemplate = useSelector(state => state.onboardReducer.SLATemplate);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n console.log('newSlATemplate',newSlATemplate)\r\n useEffect(() => {\r\n dispatch(getSLATemplates(props.accountSiteInfo.AccountName, props.TabName));\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n const ValidFromDateHandler = (date) => {\r\n setValidFrom(formatDate(date));\r\n props.addDateToAccount('valid_from', formatDate(date));\r\n }\r\n const ValidToDateHandler = (date) => {\r\n setValidTo(formatDate(date));\r\n props.addDateToAccount('valid_to', formatDate(date));\r\n }\r\n\r\n const EditMode = props.EditMode;\r\n let templateData = newSlATemplate;\r\n const [newTemplateData, setNewTemplateData] = useState([]);\r\n const HandleaddValueToAccount = (name, value, id) => {\r\n dispatch(getSLATemplates())\r\n let temp_arr = [];\r\n temp_arr = templateData?.filter(temp => temp.ID === id && temp);\r\n props.TargetTypeHandle(temp_arr[0]?.Type)\r\n props.addValueToAccount(name, value, id,temp_arr[0]?.Type,temp_arr[0].Comparison)\r\n setNewTemplateData(temp_arr[0]);\r\n }\r\n useEffect(() => {\r\n if (EditMode) {\r\n let temp_arr = [];\r\n temp_arr = templateData?.filter(temp => temp.ID === props.editAccountInfo.sla_template_id && temp);\r\n setNewTemplateData(temp_arr[0]);\r\n }\r\n }, [EditMode])\r\n const targetPlaceholder = () => {\r\n switch (props.targetType) {\r\n case 'Percentage': {\r\n return ' Example : 35.45%'\r\n }\r\n case 'Time': {\r\n return ' Example: 00:00:00'\r\n }\r\n case 'Number': {\r\n return 'Example: 4657'\r\n }\r\n default: { }\r\n }\r\n }\r\n\r\n const TemplateCategory = [\r\n {\r\n \"id\": 1,\r\n \"value\": \"SLA\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"value\": \"KPI\"\r\n }\r\n ]\r\n const Contractual = [\r\n {\r\n \"id\": 1,\r\n \"value\": \"Yes\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"value\": \"No\"\r\n }\r\n ]\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n \r\n {RoleBasedView?.[0]?.SLATemplate?.[0]?.ReadWrite === 1 ? <> {EditMode === false && } : ''}\r\n
\r\n {props.validation &&
{props.validation}
}\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {EditMode ? {props.editAccountInfo.sla_template} :}\r\n
\r\n
\r\n \r\n {EditMode ?
{props.editAccountInfo.SLAKPI}
: }\r\n
\r\n
\r\n
\r\n
\r\n \r\n {EditMode ?
{props.editAccountInfo.Contractual}
: }\r\n
\r\n {/* Format Accepted: ${props.targetType} */}\r\n
\r\n \r\n {EditMode ? : }\r\n
\r\n
\r\n \r\n {EditMode ? : }\r\n
\r\n

\r\n
\r\n
\r\n \r\n {EditMode ? : }\r\n
\r\n \r\n EditMode ? props.addDateToAccount('valid_from', formatDate(date)) : ValidFromDateHandler(date)}\r\n />\r\n EditMode ? props.addDateToAccount('valid_to', formatDate(date)) : ValidToDateHandler(date)}\r\n />\r\n
\r\n\r\n
\r\n
\r\n \r\n {EditMode ? : }\r\n
\r\n
\r\n \r\n {EditMode ? : }\r\n
\r\n
\r\n {newTemplateData &&
\r\n
\r\n {newTemplateData?.Type &&
\r\n \r\n
{newTemplateData.Type}
\r\n
}\r\n {newTemplateData.Numerator &&
\r\n \r\n
{newTemplateData.Numerator}
\r\n
}\r\n {newTemplateData.Denominator &&
\r\n \r\n
{newTemplateData.Denominator}
\r\n
}\r\n
\r\n {newTemplateData.Description &&
\r\n
\r\n \r\n
{newTemplateData.Description}
\r\n
\r\n
}\r\n {newTemplateData.URL &&
\r\n
\r\n \r\n \r\n
\r\n
}\r\n
}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport downward_icon from './../../../../assets/images/downward_arrow.png';\r\nimport upward_icon from './../../../../assets/images/upward_arrow.png';\r\n\r\n\r\nfunction RequestDropdown(props) {\r\n const { data, value, id, className, name,refresh } = props;\r\n const [openData, setOpenData] = useState(false);\r\n const [Inputvalue, setInputValue] = useState(props.Inputvalue ||'Select');\r\n\r\n const dropdownHandler = (event, option) => {\r\n setInputValue(option[value]);\r\n setOpenData(!openData);\r\n props.addValueToQueue(name, option[value], option[id]);\r\n }\r\n useEffect(()=>{\r\n if(refresh===true){\r\n setInputValue('Select')\r\n } \r\n },[refresh])\r\n const dropDownref = useRef();\r\n const inputValueRef = useRef();\r\n useEffect(() => {\r\n const handleClickOutside = (event) => {\r\n if (dropDownref.current && !dropDownref.current.contains(event.target)) {\r\n if (!openData)\r\n setOpenData(openData);\r\n }\r\n }\r\n document.addEventListener(\"click\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickOutside);\r\n };\r\n }, [dropDownref])\r\n return (<>\r\n
\r\n
\r\n { setOpenData(!openData); }}\r\n placeholder='Select'\r\n />\r\n
{\r\n setOpenData(!openData);\r\n }}\r\n ref={dropDownref}\r\n >\r\n {!openData ? \"arrow\" :\r\n \"arrow\"}\r\n
\r\n
\r\n
\r\n {openData &&
    \r\n {(data)?.map(option =>\r\n (
  • dropdownHandler(event, option)} >\r\n \r\n
  • )\r\n )}\r\n
}\r\n
\r\n
\r\n\r\n \r\n )\r\n}\r\n\r\nexport default RequestDropdown","import React, { useState } from 'react';\r\nimport './SLATable.css'\r\nimport { useDispatch } from 'react-redux';\r\nimport { getSLATemplates, updateNewTemplateStart } from '../../../../actions/Onboard.action';\r\nimport moment from 'moment';\r\nimport DatePickerHandle from '../KeyboardDatePicker';\r\nimport RequestDropdown from '../Dropdown/RequestDropdown';\r\nimport { useSelector } from 'react-redux';\r\nimport { OnboardSelect } from './../Dropdown/Select';\r\n\r\nconst TargetType = [\r\n {\r\n \"id\": 1,\r\n \"value\": \"Percentage\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"value\": \"Time\"\r\n },\r\n {\r\n \"id\": 3,\r\n \"value\": \"Number\"\r\n }\r\n]\r\nconst TemplateCategory = [\r\n {\r\n \"id\": 1,\r\n \"value\": \"SLA\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"value\": \"KPI\"\r\n }\r\n]\r\nconst Contractual = [\r\n {\r\n \"id\": 1,\r\n \"value\": \"Yes\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"value\": \"No\"\r\n }\r\n]\r\n\r\nexport function TemplateAddModal(props) {\r\n const dispatch = useDispatch();\r\n const [ValidFrom, setValidFrom] = useState(new Date(''));\r\n const [ValidTo, setValidTo] = useState(new Date(''));\r\n const [addNewTemplate, setAddNewTemplate] = useState([]);\r\n const [validation, setValidation] = useState('');\r\n\r\n const accountSiteInfo = useSelector((state) => state.onboardReducer.accountSiteInfo);\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n\r\n\r\n\r\n const ValidFromDateHandler = (date) => {\r\n setValidFrom(formatDate(date));\r\n addValueToTemplate('ValidFrom', formatDate(date))\r\n }\r\n const ValidToDateHandler = (date) => {\r\n setValidTo(formatDate(date));\r\n addValueToTemplate('ValidTo', formatDate(date))\r\n }\r\n\r\n\r\n\r\n const addValueToTemplate = (name, value, id) => {\r\n const newFormData = { ...addNewTemplate };\r\n newFormData[name] = value;\r\n setAddNewTemplate(newFormData);\r\n }\r\n\r\n const handleAddTemplate = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...addNewTemplate };\r\n newFormData[fieldName] = fieldValue;\r\n setAddNewTemplate(newFormData);\r\n }\r\n\r\n const [placeholder, setPlaceholder] = useState('Example : 38.56 %');\r\n const [selectedtype, setSelectedType] = useState('Percentage');\r\n const [targetValue, setTargetValue] = useState('');\r\n const addValueToFormTable = (name, value) => {\r\n switch (value) {\r\n case 'Percentage': setPlaceholder('Example : 38.56 %'); setSelectedType('Percentage'); break;\r\n case 'Time': setPlaceholder('HH : MM : SS'); setSelectedType('Time'); break;\r\n case 'Number': setPlaceholder('Example: 000'); setSelectedType('Number'); break;\r\n default: { }\r\n }\r\n if (selectedtype !== value) {\r\n setTargetValue('')\r\n }\r\n }\r\n\r\n const FormatTypeValidation = (type, value) => {\r\n switch (type) {\r\n case 'Percentage': {\r\n return value.match(/^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$/) === null && value?.includes('%');\r\n }\r\n case 'Time': {\r\n return moment(value, ['HH:mm:ss', 'HH:mm', 'h:mm', 'h:mm A', 'hh:mm A', 'HH:MM:SS A'], true)?.isValid();\r\n }\r\n case 'Number': {\r\n return !isNaN(value);\r\n }\r\n default: { }\r\n }\r\n }\r\n const templateNameHandle = (name, custom) => {\r\n const cons = ['custom', 'standard', 'kpi', 'sla'];\r\n let perName = name;\r\n let test1 = cons.filter(el => (perName.toLowerCase().includes(el)) && el)\r\n test1.forEach(el => {\r\n perName = perName.toLowerCase().replace(el, '').trim();\r\n })\r\n console.log(perName)\r\n // let arr2 = perName.split(' ').map(el => el[0]?.toUpperCase() + el?.slice(1, el.length)).join(' ').trim();\r\n // console.log(arr2)\r\n return `Custom: ${perName}`\r\n // return `Custom ${custom}: ${arr2}`\r\n }\r\n const handleAddTemplateSubmit = (event) => {\r\n event.preventDefault();\r\n let temp_new = { ...addNewTemplate };\r\n temp_new.VoiceNonVoice = props.TabName;\r\n temp_new.Customer = props.AccountName;\r\n temp_new.TemplateName = templateNameHandle(addNewTemplate.TemplateName, addNewTemplate.SLAKPI)\r\n let temp_Arr = [], temp_arr = [];\r\n temp_Arr.push(temp_new)\r\n console.log('temp_Arr:::::::::1',temp_new)\r\n const dispObj = {\r\n TemplateName : temp_new.TemplateName,\r\n FormatType : temp_new.TargetType === 'Percentage' ? '%' : (temp_new.TargetType === 'Time' ? 'hh:mm:ss' : '0'),\r\n Numerator:temp_new.Numerator,\r\n Denominator:temp_new.Denominator,\r\n ValidFrom : temp_new.ValidFrom,\r\n ValidTo : temp_new.ValidTo,\r\n Description: temp_new.Description,\r\n URL :temp_new.URL,\r\n // SLAKPI : temp_new.SLAKPI,\r\n VoiceNonVoice : temp_new.VoiceNonVoice,\r\n // Contractual : temp_new.Contractual,\r\n Customer : temp_new.Customer,\r\n \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n console.log('temp_Arr:::::::::2',dispObj)\r\n temp_arr = {\r\n // SLAKPI: addNewTemplate.SLAKPI,\r\n TemplateName: addNewTemplate.TemplateName,\r\n ValidFrom: addNewTemplate.ValidFrom,\r\n ValidTo: addNewTemplate.ValidTo,\r\n FormatType: addNewTemplate.TargetType === 'Percentage' ? '%' : (addNewTemplate.TargetType === 'Time' ? 'hh:mm:ss' : '0'),\r\n // Contractual: addNewTemplate.Contractual,\r\n\r\n }\r\n const isEmpty = Object.values(temp_arr).some(temp => (temp === null || temp === '' || temp === undefined));\r\n const validDate = moment(addNewTemplate.ValidTo).isAfter(addNewTemplate.ValidFrom)\r\n // const isValidType = addNewTemplate.FormatType && FormatTypeValidation(selectedtype, addNewTemplate.FormatType)\r\n if (isEmpty ) {\r\n setValidation(\"Please ensure you have filled all ' * ' marked inputs.\")\r\n }\r\n else if (!validDate) {\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date ');\r\n }\r\n else{\r\n console.log('temp_Arr::::::::::::',temp_Arr)\r\n dispatch(updateNewTemplateStart(dispObj))\r\n props.handleAddTemplateCancel()\r\n setValidation('')\r\n dispatch(getSLATemplates(accountSiteInfo.AccountName, props.TabName));\r\n }\r\n \r\n };\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n SLA/KPI Template\r\n
\r\n {
{validation}
}\r\n
\r\n
\r\n
\r\n {/*
\r\n \r\n \r\n \r\n
*/}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {/* { }} editValue={selectedtype}\r\n addValueToQueue={addValueToFormTable} OnClickSelect={props.OnClickSelect}\r\n /> */}\r\n {/* */}\r\n \r\n
\r\n
\r\n Ex: {addNewTemplate.TargetType === 'Percentage' ? '%' : (addNewTemplate.TargetType === 'Time' ? 'hh:mm:ss' : '0')}\r\n {/* {\r\n setTargetValue(event.target.value)\r\n handleAddTemplate(event)\r\n }}\r\n /> */}\r\n
\r\n
\r\n
\r\n {/*
\r\n \r\n { }} editValue=''\r\n addValueToQueue={addValueToTemplate}\r\n />\r\n
*/}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {/*
\r\n \r\n \r\n \r\n
*/}\r\n

\r\n
\r\n\r\n\r\n ValidFromDateHandler(date)}\r\n />\r\n ValidToDateHandler(date)}\r\n />\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n","import React, { Fragment, useEffect, useState } from 'react';\r\nimport './SLATable.css'\r\nimport searchIcon from './../../../../assets/onboard-images/Search_Icon.png'\r\nimport addAccountIcon from './../../../../assets/onboard-images/Add_SLA_KPI_Icon.png'\r\nimport editIcon from './../../../../assets/onboard-images/Edit_Icon.png'\r\nimport ContractualSLAIcon from \"./../../../../assets/images/Contractual_SLAs.png\";\r\nimport deleteIcon from './../../../../assets/onboard-images/Delete_Icon.png'\r\nimport { AddAccountModal } from './AddAccountModal';\r\nimport { TemplateAddModal } from './TemplateAddModal';\r\nimport { ModalAccountPopup } from '../Modals/ModalQueuePopup';\r\nimport { DeleteModalPopup, DeleteFragment, AdminValidDateChange } from '../Modals/DeleteModalPopup';\r\nimport TooltipHandler from '../TooltipHandler';\r\nimport moment from 'moment';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getSLATemplates, setValidforAddingTabRows } from '../../../../actions/Onboard.action';\r\nimport { useLocation } from 'react-router-dom';\r\nimport ActivateDisabledIcon from './../../../../assets/images/Activate_Disabled_Icon.png';\r\nimport ActivateIcon from './../../../../assets/images/Activate_Icon.png';\r\nimport { getRoleBasedView, updateSLARequestStart } from '../../../../actions/Administration/admin.action';\r\n\r\nconst headers = [\r\n {\r\n caption: \"Template\",\r\n id: \"1\"\r\n },\r\n {\r\n caption: \"SLA/KPI\",\r\n id: \"2\"\r\n },\r\n {\r\n caption: \"Contractual\",\r\n id: \"3\"\r\n },\r\n {\r\n caption: \"Threshold Seconds\",\r\n id: \"4\"\r\n },\r\n {\r\n caption: \"Minimum Target\",\r\n id: \"5\"\r\n },\r\n {\r\n caption: \"Expected Target \",\r\n id: \"6\"\r\n },\r\n {\r\n caption: \"Short Call Conclusion Seconds \",\r\n id: \"7\"\r\n },\r\n {\r\n caption: \"Valid From\",\r\n id: \"8\"\r\n },\r\n {\r\n caption: \"Valid To\",\r\n id: \"9\"\r\n },\r\n {\r\n caption: \"SLA/KPI Alias\",\r\n id: \"10\"\r\n }\r\n];\r\n\r\n\r\nfunction SLAComponent(props) {\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n const newSlATemplate = useSelector(state => state.onboardReducer.SLATemplate);\r\n const accountSiteInfo = useSelector((state) => state.onboardReducer.accountSiteInfo);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\nconsole.log('accountSiteInfo',accountSiteInfo)\r\n\r\n useEffect(() => {\r\n dispatch(getSLATemplates(accountSiteInfo.AccountName, props.TabName));\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n\r\n\r\n\r\n const renderVoiceSaveSLAData = (data) => {\r\n let temp_Arr = [...data];\r\n let arr2 = temp_Arr?.map((temp, i) => {\r\n return {\r\n sla_template: temp?.['slA/KPI Template'],\r\n slaKpi: temp?.['slA/KPI'],\r\n contractual: temp?.contractual,\r\n threshold_seconds: temp?.thresholdSeconds,\r\n minimum_target: temp?.minimumTarget,\r\n expected_target: temp?.expectedTarget,\r\n short_call: temp?.shortExclusion,\r\n valid_from: formatDate(temp?.validFrom),\r\n valid_to: formatDate(temp?.validTo),\r\n alias: temp?.alias,\r\n sla_template_id: temp?.slaTemplateID,\r\n slaID: temp?.accountSLAId,\r\n status: temp?.status,\r\n request: temp?.request,\r\n tooltip: temp?.toolTip,\r\n formatType: temp?.formatType\r\n }\r\n })\r\n return arr2;\r\n\r\n }\r\n \r\n const onClickSelect = (name) => {\r\n const newFormData = { ...editAccountInfo };\r\n newFormData[name] = '';\r\n setEditAccountInfo(newFormData)\r\n\r\n }\r\n let data = (props.voiceSLAData?.length > 0 ? renderVoiceSaveSLAData(props.voiceSLAData) : []);\r\n const [accountData, setAccountData] = useState([])\r\n useEffect(() => {\r\n setAccountData(data)\r\n }, [props.voiceSLAData])\r\n\r\n useEffect(() => {\r\n }, [])\r\n const [filter, setFilter] = useState('');\r\n const [showAddAccountModal, setShowAddAccountModal] = useState(false);\r\n const [showEditAccountModal, setShowEditAccountModal] = useState(false);\r\n const [showDeleteAccountModal, setShowDeleteAccountModal] = useState(false);\r\n const [searchColumns, setSearchColumns] = useState([\r\n 'sla_template', 'alias'\r\n ]);\r\n const [addFormAccount, setAddFormAccount] = useState({\r\n sla_template: '',\r\n threshold_seconds: '',\r\n minimum_target: '',\r\n expected_target: '',\r\n short_call: '',\r\n valid_from: '',\r\n valid_to: '',\r\n alias: '',\r\n sla_template_id: '',\r\n })\r\n const [mode, setMode] = useState(null);\r\n useEffect(() => {\r\n if (props.accountDetails) setMode(props.accountDetails.mode)\r\n }, [props.accountDetails])\r\n const [editAccountID, setEditAccountID] = useState(null);\r\n const [editAccountInfo, setEditAccountInfo] = useState({\r\n sla_template: '',\r\n threshold_seconds: '',\r\n minimum_target: '',\r\n expected_target: '',\r\n short_call: '',\r\n valid_from: '',\r\n valid_to: '',\r\n alias: '',\r\n sla_template_id: '',\r\n });\r\n const [validation, setValidation] = useState('');\r\n const [deleteRowID, setDeleteRowID] = useState(null);\r\n const [dispatchAccountObj, setDispatchAccountObj] = useState([]);\r\n const configureAccountData = (accountData) => {\r\n console.log('accountData',accountData)\r\n const temp_arr = [...accountData];\r\n const temp_Arr = temp_arr.map(data => {\r\n let temp1 = {\r\n SLATemplate: data.sla_template,\r\n SLAKPI: data?.slaKpi,\r\n Contractual: data?.contractual,\r\n ThresholdSeconds: data.threshold_seconds || '',\r\n MinimumTarget: data.minimum_target || '',\r\n ExpectedTarget: data.expected_target || '',\r\n ShortExclusion: data.short_call || '',\r\n ValidFrom: data.valid_from,\r\n ValidTo: data.valid_to,\r\n Alias: data.alias || '',\r\n SLATemplateId: data.sla_template_id,\r\n }\r\n let temp2 = {\r\n SLATemplate: data.sla_template,\r\n SLAKPI: data?.slaKpi,\r\n Contractual: data?.contractual,\r\n ThresholdSeconds: data.threshold_seconds || '',\r\n MinimumTarget: data.minimum_target || '',\r\n ExpectedTarget: data.expected_target || '',\r\n ShortExclusion: data.short_call || '',\r\n ValidFrom: data.valid_from,\r\n ValidTo: data.valid_to,\r\n Alias: data.alias || '',\r\n SLATemplateId: data.sla_template_id,\r\n AccountSLAId: data.slaID || ''\r\n }\r\n return location.pathname === '/onboardAccount' ? temp1 : temp2\r\n })\r\n let tempArray3 = [{\r\n Servicedesk: accountSiteInfo.SiteName,\r\n Account: accountSiteInfo.AccountName,\r\n VoiceNonVoice: props.TabName,\r\n NonVoiceItem: props.NonVoiceItem,\r\n Details: temp_Arr\r\n }]\r\n setDispatchAccountObj(tempArray3);\r\n }\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n };\r\n\r\n const [targetType, setTargetType] = useState('Number');\r\n const TargetTypeValidation = (value) => {\r\n if (value?.includes('%')) return 'Percentage';\r\n // if (moment(value, ['HH:mm:ss', 'HH:mm', 'h:mm', 'h:mm A', 'hh:mm A', 'HH:MM:SS A', 'hh:mm:ss'], true).isValid()) return 'Time';\r\n if(value?.includes('hh:mm:ss')) return 'Time'\r\n if ((!isNaN(value)) && 'Number') return 'Number'\r\n else return 'Number'\r\n }\r\n const TargetTypeHandle = (type) => {\r\n let target = TargetTypeValidation(type)\r\n setTargetType(target);\r\n }\r\n\r\n const addValueToAccount = (name, value, id, TargetType,Comparison) => {\r\n const newFormData = { ...addFormAccount };\r\n if (value !== 'Select') {\r\n newFormData[name] = [value, id];\r\n setAddTargetType(TargetType)\r\n setComparison(Comparison)\r\n setAddFormAccount(newFormData);\r\n }\r\n }\r\n const addDateToAccount = (name, value, id) => {\r\n const newFormData = { ...addFormAccount };\r\n newFormData[name] = value;\r\n setAddFormAccount(newFormData);\r\n }\r\n\r\n const addValueToSlaKpi = (name, value) => {\r\n if (value !== 'Select') {\r\n const newFormData = { ...addFormAccount };\r\n newFormData[name] = value;\r\n setAddFormAccount(newFormData)\r\n }\r\n }\r\n\r\n const handleFormAddAccount = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (fieldValue !== 'Select') {\r\n const newFormData = { ...addFormAccount };\r\n newFormData[fieldName] = fieldValue;\r\n setAddFormAccount(newFormData);\r\n }\r\n }\r\n const TargetFormatValidation = (value, type) => {\r\n switch (type) {\r\n case 'Percentage': {\r\n return value?.match(/^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$/) === null && value?.includes('%');\r\n }\r\n case 'Time': {\r\n return moment(value, ['HH:mm:ss', 'HH:mm', 'h:mm', 'h:mm A', 'hh:mm A', 'HH:MM:SS A', 'hh:mm:ss'], true).isValid();\r\n }\r\n case 'Number': {\r\n return !isNaN(value)\r\n }\r\n default: { }\r\n }\r\n }\r\n const [addTargetType,setAddTargetType] = useState()\r\n const [comparison,setComparison] = useState()\r\n // const FormatTypeHandle = (type) => {\r\n // let formatType = type\r\n // setAddTargetType(formatType)\r\n // }\r\n const handleAddAccountSubmit = event => {\r\n event.preventDefault();\r\n const newAccount = {\r\n id: accountData.length + 1,\r\n sla_template: addFormAccount?.sla_template?.[0],\r\n slaKpi: addFormAccount?.SLAKPI,\r\n contractual: addFormAccount?.Contractual,\r\n threshold_seconds: addFormAccount?.threshold_seconds,\r\n minimum_target: (addFormAccount?.minimum_target),\r\n expected_target: (addFormAccount?.expected_target),\r\n short_call: addFormAccount?.short_call,\r\n valid_from: (addFormAccount?.valid_from),\r\n valid_to: (addFormAccount?.valid_to),\r\n alias: addFormAccount?.alias,\r\n sla_template_id: addFormAccount?.sla_template?.[1],\r\n slaID: addFormAccount?.slaID,\r\n status: 'Active',\r\n request: 'Completed',\r\n tooltip: null,\r\n formatType: addTargetType,\r\n }\r\n\r\n const newAccounts = [newAccount, ...accountData]\r\n \r\n console.log('addFormAccount::::::::',newAccounts)\r\n let temp_arr = {\r\n sla_template: addFormAccount.sla_template,\r\n slaKpi: addFormAccount?.SLAKPI,\r\n contractual: addFormAccount?.Contractual,\r\n valid_from: (addFormAccount.valid_from),\r\n valid_to: (addFormAccount.valid_to)\r\n };\r\n const isEmpty = Object.values(temp_arr).some(temp => (temp === null || temp === '' || temp === undefined));\r\n const isValidDate = (addFormAccount.valid_to)>(addFormAccount.valid_from);\r\n console.log(isValidDate)\r\n\r\n \r\n const numberValidate = (a,b) => {\r\n const arr = [a,b]\r\n if (Math.max.apply(Math,arr) === parseInt(b)) return true;\r\n return false;\r\n };\r\n\r\n const numberValidateMinimumGreater = (a,b) => {\r\n const arr = [a,b]\r\n if (Math.max.apply(Math,arr) === parseInt(a)) return true;\r\n return false;\r\n };\r\n\r\n const percentageValidate = (a,b) =>{\r\n const A = parseFloat(a);\r\n const B = parseFloat(b);\r\n const arr = [A,B]\r\n if (Math.max.apply(Math,arr) === parseFloat(b)) return true;\r\n return false;\r\n }\r\n\r\n const percentageValidateMinimumGreater = (a,b) =>{\r\n const A = parseFloat(a);\r\n const B = parseFloat(b);\r\n const arr = [A,B]\r\n if (Math.max.apply(Math,arr) === parseFloat(a)) return true;\r\n return false;\r\n }\r\n \r\n const validate = addFormAccount.minimum_target === undefined || addFormAccount.expected_target === undefined || addFormAccount.minimum_target === '' || addFormAccount.expected_target === ''\r\n const minexpvalidate = !validate ? ( (comparison === '0') ? true : ((comparison === \"E >= M\") ? \r\n (addTargetType === '0' ? numberValidate(addFormAccount.minimum_target,addFormAccount.expected_target) : (addTargetType.includes('%') ? percentageValidate(addFormAccount.minimum_target,addFormAccount.expected_target) : addFormAccount.minimum_target <= addFormAccount.expected_target)) :\r\n (addTargetType === '0' ? numberValidateMinimumGreater(addFormAccount.minimum_target,addFormAccount.expected_target) : (addTargetType.includes('%') ? percentageValidateMinimumGreater(addFormAccount.minimum_target,addFormAccount.expected_target) : addFormAccount.minimum_target >= addFormAccount.expected_target)))\r\n ) : true\r\n console.log('minexpvalidate',minexpvalidate)\r\n\r\n \r\n const minimum_target = (addFormAccount.minimum_target === undefined || TargetFormatValidation(addFormAccount.minimum_target, targetType) || addFormAccount.minimum_target === \"\")\r\n const expected_target =(addFormAccount.expected_target === undefined || TargetFormatValidation(addFormAccount.expected_target, targetType) || addFormAccount.expected_target === \"\")\r\n console.log('minimum_target:::::::::',minimum_target,expected_target)\r\n if (isEmpty) {\r\n setShowAddAccountModal(true);\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ');\r\n }\r\n\r\n else if (!isValidDate) {\r\n setShowAddAccountModal(true);\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date');\r\n }\r\n \r\n else if(!minimum_target || !expected_target){\r\n setShowAddAccountModal(true);\r\n setValidation('Please ensure \"Minimum & Expected Targets\" is relevant to the format selected');\r\n }\r\n else if(!minexpvalidate){\r\n setShowAddAccountModal(true);\r\n setValidation(`Please ensure \"Expected Target is ${comparison === \"E >= M\" ? 'Greater' : 'Less'} than or equal to Minimum Target\"`);\r\n }\r\n else {\r\n setAccountData(newAccounts);\r\n configureAccountData(newAccounts)\r\n setShowAddAccountModal(false);\r\n setValidation('')\r\n }\r\n\r\n }\r\n const handleAddAccountCancel = event => {\r\n event.preventDefault();\r\n setShowAddAccountModal(false);\r\n setValidation('')\r\n }\r\n\r\n\r\n\r\n const onClickEditRow = (index, data) => {\r\n setEditAccountID(index)\r\n setShowEditAccountModal(true)\r\n const formValues = {\r\n sla_template: data.sla_template,\r\n SLAKPI: data?.slaKpi,\r\n Contractual: data?.contractual,\r\n threshold_seconds: data.threshold_seconds,\r\n minimum_target: data.minimum_target,\r\n expected_target: data.expected_target,\r\n short_call: data.short_call,\r\n valid_from: data.valid_from,\r\n valid_to: data.valid_to,\r\n alias: data.alias,\r\n sla_template_id: data.sla_template_id,\r\n slaID: data.slaID,\r\n status: 'Active',\r\n request: 'Completed',\r\n tooltip: null,\r\n formatType:data.formatType\r\n };\r\n setEditAccountInfo(formValues);\r\n if(formValues.formatType === 'hh:mm:ss'){\r\n setTargetType('Time')\r\n }\r\n else if(formValues.formatType.includes('%')){\r\n setTargetType('Percentage')\r\n }\r\n else if(formValues.formatType.includes('0')){\r\n setTargetType('Number')\r\n }\r\n }\r\n\r\n const editValueToAccount = (name, value, id, TargetType) => {\r\n const newFormData = { ...editAccountInfo };\r\n console.log('editAccountInfo',editAccountInfo)\r\n if (value !== 'Select') {\r\n newFormData[name] = value;\r\n newFormData['sla_template_id'] = id\r\n newFormData['formatType'] = TargetType\r\n setEditAccountInfo(newFormData)\r\n }\r\n }\r\n const editDateToAccount = (name, value) => {\r\n const newFormData = { ...editAccountInfo };\r\n newFormData[name] = value;\r\n setEditAccountInfo(newFormData);\r\n }\r\n\r\n const handleEditAccountUpdate = event => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...editAccountInfo };\r\n newFormData[fieldName] = fieldValue;\r\n setEditAccountInfo(newFormData);\r\n }\r\n\r\n const handleEditSlaKpi = (name, value) => {\r\n const newFormData = { ...editAccountInfo };\r\n if (value !== 'Select') {\r\n newFormData[name] = value;\r\n console.log('newFormData',newFormData)\r\n setEditAccountInfo(newFormData);\r\n }\r\n }\r\nconsole.log('editAccountInfo:::::::::',editAccountInfo)\r\n const handleEditAccountSubmit = event => {\r\n event.preventDefault();\r\n const editedAccounts = {\r\n id: editAccountID,\r\n sla_template: editAccountInfo.sla_template,\r\n slaKpi: editAccountInfo?.SLAKPI,\r\n contractual: editAccountInfo?.Contractual,\r\n threshold_seconds: editAccountInfo.threshold_seconds,\r\n minimum_target: (editAccountInfo.minimum_target),\r\n expected_target: (editAccountInfo.expected_target),\r\n short_call: editAccountInfo.short_call,\r\n valid_from: formatDate(editAccountInfo.valid_from),\r\n valid_to: formatDate(editAccountInfo.valid_to),\r\n alias: editAccountInfo.alias,\r\n sla_template_id: editAccountInfo.sla_template_id,\r\n slaID: editAccountInfo?.slaID,\r\n status: 'Active',\r\n formatType: editAccountInfo.formatType\r\n };\r\n console.log('editedAccounts',editedAccounts)\r\n const newAccounts = [...accountData];\r\n console.log('newAccounts',newAccounts,accountData)\r\n let temp_arr = {\r\n sla_template: editedAccounts.sla_template,\r\n valid_from: editAccountInfo.valid_from,\r\n valid_to: editAccountInfo.valid_to\r\n };\r\n const isEmpty = Object.values(temp_arr).some(temp => (temp === null || temp === '' || temp === undefined));\r\n const isValidDate = moment(editAccountInfo.valid_to).isAfter(editAccountInfo.valid_from)\r\n const emptyValidDate = editAccountInfo.valid_to > editAccountInfo.valid_from\r\n console.log('isValidDate::::::::::',isValidDate,emptyValidDate)\r\n const numberValidate = (a,b) => {\r\n const arr = [a,b]\r\n if (Math.max.apply(Math,arr) === parseInt(b)) return true;\r\n return false;\r\n };\r\n\r\n const percentageValidate = (a,b) =>{\r\n const A = parseFloat(a);\r\n const B = parseFloat(b);\r\n const arr = [A,B]\r\n if (Math.max.apply(Math,arr) === parseFloat(b)) return true;\r\n return false;\r\n }\r\n\r\n const numberValidateMinimumGreater = (a,b) => {\r\n const arr = [a,b]\r\n if (Math.max.apply(Math,arr) === parseInt(a)) return true;\r\n return false;\r\n };\r\n const percentageValidateMinimumGreater = (a,b) =>{\r\n const A = parseFloat(a);\r\n const B = parseFloat(b);\r\n const arr = [A,B]\r\n if (Math.max.apply(Math,arr) === parseFloat(a)) return true;\r\n return false;\r\n }\r\n\r\n const validate = editAccountInfo.minimum_target === undefined || editAccountInfo.expected_target === undefined || editAccountInfo.minimum_target === '' || editAccountInfo.expected_target === ''\r\n // const minexpvalidate = !validate ? (editAccountInfo.formatType === '0' ? numberValidate(editAccountInfo.minimum_target,editAccountInfo.expected_target) : (editAccountInfo.formatType.includes('%') ? percentageValidate(editAccountInfo.minimum_target,editAccountInfo.expected_target) : editAccountInfo.minimum_target <= editAccountInfo.expected_target)) : true\r\n \r\n const minexpvalidate = !validate ? ( (comparison === '0') ? true : ((comparison === \"E >= M\") ? \r\n (editAccountInfo.formatType === '0' ? numberValidate(editAccountInfo.minimum_target,editAccountInfo.expected_target) : (editAccountInfo.formatType.includes('%') ? percentageValidate(editAccountInfo.minimum_target,editAccountInfo.expected_target) : editAccountInfo.minimum_target <= editAccountInfo.expected_target)):\r\n (editAccountInfo.formatType === '0' ? numberValidateMinimumGreater(editAccountInfo.minimum_target,editAccountInfo.expected_target) : (editAccountInfo.formatType.includes('%') ? percentageValidateMinimumGreater(editAccountInfo.minimum_target,editAccountInfo.expected_target) : editAccountInfo.minimum_target >= editAccountInfo.expected_target)))\r\n ) : true\r\n\r\n\r\n\r\n\r\n\r\n const minimum_target = (editAccountInfo.minimum_target === undefined || TargetFormatValidation(editAccountInfo.minimum_target, targetType) || editAccountInfo.minimum_target === \"\")\r\n const expected_target =(editAccountInfo.expected_target === undefined || TargetFormatValidation(editAccountInfo.expected_target, targetType) || editAccountInfo.expected_target === \"\")\r\n if (isEmpty) {\r\n setShowEditAccountModal(true);\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ');\r\n }\r\n else if (!isValidDate) {\r\n setShowEditAccountModal(true);\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date ');\r\n }\r\n \r\n else if(!minimum_target || !expected_target){\r\n setShowEditAccountModal(true);;\r\n setValidation('Please ensure \"Minimum & Expected Targets\" is relevant to the format selected');\r\n }\r\n else if(!minexpvalidate){\r\n setShowEditAccountModal(true);\r\n setValidation('Please ensure \"Expected Target is greater than or equal to Minimum Target\"');\r\n }\r\n else {\r\n const index = accountData.findIndex((_, index) => index === editAccountID);\r\n newAccounts[index] = editedAccounts;\r\n setAccountData(newAccounts);\r\n configureAccountData(newAccounts)\r\n setEditAccountID(null);\r\n setShowEditAccountModal(false);\r\n setValidation('')\r\n }\r\n }\r\n const handleEditAccountCancel = event => {\r\n event.preventDefault();\r\n setEditAccountID(null);\r\n setShowEditAccountModal(false);\r\n setValidation('')\r\n }\r\n\r\n const handleDeleteAccount = () => {\r\n const newAccount = [...accountData];\r\n const index = accountData.findIndex((_, index) => index === deleteRowID);\r\n newAccount.splice(index, 1);\r\n setAccountData(newAccount);\r\n setShowDeleteAccountModal(false);\r\n configureAccountData(newAccount)\r\n\r\n }\r\n const handleDeleteAccountCancel = event => {\r\n event.preventDefault();\r\n setShowDeleteAccountModal(false)\r\n }\r\n\r\n\r\n function searchRows(rows) {\r\n return rows?.filter((row) => searchColumns?.some((column) => row?.[column]?.toString()?.toLowerCase()?.indexOf(filter?.toLowerCase()) > -1,))\r\n }\r\n const [showTemplateModal, setShowTemplateModal] = useState(false)\r\n const TemplateModalHandle = () => {\r\n setShowAddAccountModal(false);\r\n setShowTemplateModal(true);\r\n }\r\n\r\n\r\n const handleAddTemplateCancel = () => {\r\n setShowTemplateModal(false);\r\n setShowAddAccountModal(true);\r\n dispatch(getSLATemplates(accountSiteInfo.AccountName, props.TabName));\r\n }\r\n\r\n useEffect(() => {\r\n console.log('dispatchAccountObj',dispatchAccountObj)\r\n props.dispatchAccountHandler(dispatchAccountObj)\r\n }, [dispatchAccountObj])\r\n\r\n const [showReuqestModal, setShowReuqestModal] = useState(false);\r\n const [AccountSLAId, setAccountSLAId] = useState(null);\r\n const ActivationHandler = (id, data) => {\r\n if (data.request !== 'Sent') {\r\n setEditAccountID(id);\r\n setAccountSLAId(data?.slaID);\r\n setShowReuqestModal(true);\r\n }\r\n }\r\n\r\n const onSubmitRequest = (date) => {\r\n const temp_Arr = [{\r\n Account: accountSiteInfo.AccountName,\r\n Servicedesk: accountSiteInfo.SiteName,\r\n ValidUntil: date,\r\n AccountSLAKPIId: AccountSLAId\r\n }]\r\n dispatch(updateSLARequestStart(temp_Arr))\r\n console.log(temp_Arr)\r\n setShowReuqestModal(false);\r\n let temp_arr = [...accountData];\r\n temp_arr.map(temp => {\r\n if (temp.slaID === AccountSLAId) {\r\n temp.request = 'Sent';\r\n temp.tooltip = 'Activation Request already sent to Administrator'\r\n console.log(temp.slaID, AccountSLAId)\r\n }\r\n });\r\n setAccountData(temp_arr)\r\n }\r\n\r\n const ValidUser = () => {\r\n if(props.GeneralInfoToggle){\r\n setAddFormAccount([])\r\n setShowAddAccountModal(true)\r\n dispatch(setValidforAddingTabRows(false))\r\n }\r\n else{\r\n window.scrollTo(0, 0);\r\n dispatch(setValidforAddingTabRows(true))\r\n }\r\n }\r\n\r\n return (<>\r\n \r\n
\r\n
\r\n setFilter(e.target.value)} />\r\n \r\n
\r\n\r\n { (RoleBasedView?.[0]?.SLA?.[0]?.ReadWrite === 0 && location.pathname === '/admin/account') ? '' : <> {(mode === 'create' || mode === 'edit') &&
\r\n \r\n Add SLA/KPI Account\r\n
} }\r\n
\r\n
\r\n {searchRows(accountData)?.length === 0 ?\r\n\r\n
\r\n \r\n \r\n \r\n {headers.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n
{header.caption}{' '}
\r\n
\r\n
\r\n
\r\n No records found. This data grid enables adding/editing the contractually defined service level metrics.
To add new SLA/KPI account, click on \"Add SLA/KPI Account\" link.\r\n
\r\n
\r\n
\r\n
:\r\n \r\n \r\n \r\n {headers.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n searchRows(accountData)?.map((data, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {location.pathname === '/onboardAccount' ? <>\r\n {(mode === 'create' || mode === 'edit') && }\r\n :\r\n <>{RoleBasedView?.[0]?.SLA?.[0]?.ReadWrite === 1 ? <> {(mode === 'create' || mode === 'edit') && } : ''}\r\n \r\n }\r\n \r\n ))\r\n }\r\n \r\n
{header.caption}{' '}
{data.sla_template}{data?.slaKpi}{(data.contractual === 'Yes' ? : '')}{data.threshold_seconds}{data.minimum_target}{data.expected_target}{data.short_call}{data.valid_from}{data.valid_to}{data.alias}\r\n onClickEditRow(index, data)}>\r\n \r\n \r\n { setDeleteRowID(index); setShowDeleteAccountModal(true) }}>\r\n \r\n {data.status === 'Active' ?\r\n onClickEditRow(index, data)}>\r\n \r\n : <>\r\n ActivationHandler(index, data)}>\r\n \r\n \r\n \r\n }
}\r\n {showAddAccountModal && \r\n { }}\r\n accountSiteInfo={accountSiteInfo}\r\n />\r\n \r\n }\r\n {showEditAccountModal && \r\n \r\n \r\n }\r\n {\r\n showTemplateModal && \r\n \r\n \r\n }\r\n {showDeleteAccountModal && \r\n index === deleteRowID)].sla_template}\r\n />\r\n \r\n }\r\n\r\n {\r\n showReuqestModal && \r\n index === editAccountID)].sla_template}\r\n solution2={accountData[accountData.findIndex((_, index) => index === editAccountID)]?.alias}\r\n onSubmit={onSubmitRequest} notValidDate = {() => { setShowReuqestModal(true) }}\r\n onCancel={() => { setShowReuqestModal(false) }}\r\n />\r\n \r\n }\r\n\r\n\r\n\r\n );\r\n}\r\n\r\nexport default SLAComponent","import React, { useEffect, useState } from 'react'\r\nimport './SupportHours.css';\r\nimport Information_Icon from './../../../../assets/onboard-images/Information_Icon.png'\r\nimport TooltipHandler from '../TooltipHandler';\r\nimport { OnboardSelect } from '../Dropdown/Select';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getQueueTabLanguages } from '../../../../actions/Onboard.action';\r\nimport DatePickerHandle from '../KeyboardDatePicker';\r\n\r\nfunction SupportToggle(props) {\r\n\r\n const [isActive, setIsActive] = useState(props.isSelected)\r\n const { editValue } = props;\r\n useEffect(() => {\r\n setIsActive(editValue === true || editValue === \"true\")\r\n }, [editValue]);\r\n const toggleClickHandle = (event) => {\r\n setIsActive(!isActive)\r\n props.toggleHandler(event, !isActive);\r\n }\r\n let className = isActive === true ? 'switch active' : 'switch ';\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\nconst AddSupportModal = (props) => {\r\n const dispatch = useDispatch()\r\n let languageInfo = useSelector((state) => state.onboardReducer.queueTabLanguages);\r\n useEffect(() => {\r\n dispatch(getQueueTabLanguages());\r\n }, [dispatch])\r\n\r\n const [ValidFrom, setValidFrom] = useState(new Date(''));\r\n const [ValidTo, setValidTo] = useState(new Date(''));\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n const ValidFromDateHandler = (date) => {\r\n setValidFrom(formatDate(date));\r\n props.addDateToSupport('valid_from', formatDate(date))\r\n }\r\n const ValidToDateHandler = (date) => {\r\n setValidTo(formatDate(date));\r\n props.addDateToSupport('valid_to', formatDate(date))\r\n }\r\n const editMode = props.editMode;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {props.validation &&
{props.validation}
}\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n {editMode ? :\r\n }\r\n
\r\n
\r\n {editMode ? :\r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n editMode ? props.handleSupportEditDate('valid_from', formatDate(date)) : ValidFromDateHandler(date)}\r\n />\r\n editMode ? props.handleSupportEditDate('valid_to', formatDate(date)) : ValidToDateHandler(date)}\r\n />\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Monday
\r\n \r\n
\r\n
\r\n
Tuesdays
\r\n \r\n
\r\n
\r\n
Wednesdays
\r\n \r\n
\r\n
\r\n
Thursdays
\r\n \r\n
\r\n
\r\n
Fridays
\r\n \r\n
\r\n
\r\n
Saturdays
\r\n \r\n
\r\n
\r\n
Sundays
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default AddSupportModal;\r\n\r\n\r\n","import React, { Fragment, useEffect, useState } from 'react'\r\nimport editIcon from './../../../../assets/onboard-images/Edit_Icon.png'\r\nimport deleteIcon from './../../../../assets/onboard-images/Delete_Icon.png'\r\nimport supportIcon from './../../../../assets/images/Add_SupportHours_Icon.png'\r\nimport searchIcon from './../../../../assets/onboard-images/Search_Icon.png'\r\n\r\nimport MOCK_DATA from './SupportData.json'\r\nimport { ModalAccountPopup } from '../Modals/ModalQueuePopup';\r\nimport AddSupportModal from './AddSupportModal';\r\nimport { AdminValidDateChange, DeleteFragment, DeleteModalPopup } from '../Modals/DeleteModalPopup'\r\nimport TooltipHandler from '../TooltipHandler'\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { useLocation } from 'react-router-dom'\r\nimport { getRoleBasedView, updateSupportRequestStart } from '../../../../actions/Administration/admin.action';\r\nimport ActivateDisabledIcon from './../../../../assets/images/Activate_Disabled_Icon.png';\r\nimport ActivateIcon from './../../../../assets/images/Activate_Icon.png';\r\nimport { setValidforAddingTabRows } from '../../../../actions/Onboard.action'\r\n\r\n\r\nconst initailState = {\r\n start_time: '',\r\n end_time: '',\r\n language: '',\r\n valid_from: '',\r\n valid_to: '',\r\n mondays: false,\r\n tuesdays: false,\r\n wednesdays: false,\r\n thursdays: false,\r\n fridays: false,\r\n saturdays: false,\r\n sundays: false\r\n\r\n}\r\n\r\nconst SupportHours = (props) => {\r\n const dispatch = useDispatch();\r\n const [filter, setFilter] = useState('');\r\n const location = useLocation();\r\n const [Data, setData] = useState(MOCK_DATA);\r\n const accountSiteInfo = useSelector((state) => state.onboardReducer.accountSiteInfo);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n const [searchColumns, setSearchColumns] = useState([\r\n 'language'\r\n ]);\r\n const [mode, setMode] = useState(null);\r\n useEffect(() => {\r\n if (props.accountDetails) setMode(props.accountDetails.mode)\r\n }, [props.accountDetails])\r\n\r\n useEffect(() => {\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n };\r\n\r\n const onClickSelect = (name) => {\r\n const newFormData = { ...editSupportInfo };\r\n newFormData[name] = '';\r\n setEditSupportInfo(newFormData)\r\n\r\n }\r\n const [validation, setValidation] = useState('');\r\n\r\n const weekDaysBooleanHandle = (dt) => {\r\n if (dt === false) return 'false';\r\n if (dt === true) return 'true';\r\n if (dt === null || dt === undefined) return 'false'\r\n else return dt;\r\n }\r\n\r\n const renderSaveSupportHpursVoice = (data) => {\r\n let temp_Arr = [...data];\r\n let temp_arr = temp_Arr?.map((data, i) => {\r\n return {\r\n language: data.language,\r\n start_time: data.startTime,\r\n end_time: data.endTime,\r\n valid_from: formatDate(data.validFrom),\r\n valid_to: formatDate(data.validTo),\r\n mondays: (weekDaysBooleanHandle(data?.mondays)),\r\n tuesdays: (weekDaysBooleanHandle(data?.tuesdays)),\r\n wednesdays: (weekDaysBooleanHandle(data?.wednesdays)),\r\n thursdays: (weekDaysBooleanHandle(data?.thursdays)),\r\n fridays: (weekDaysBooleanHandle(data?.fridays)),\r\n saturdays: (weekDaysBooleanHandle(data?.saturdays)),\r\n sundays: (weekDaysBooleanHandle(data?.sundays)),\r\n NonVoiceItem: data['non-Voice Item'],\r\n TabName: data['voice/Non-Voice'],\r\n supportID: data?.supporthoursId,\r\n status: data?.status,\r\n request: data?.request,\r\n tooltip: data?.toolTip\r\n\r\n }\r\n });\r\n return temp_arr;\r\n }\r\n\r\n // let data = onSaveSupportHoursVoice?.length > 0 ? renderSupportHpursVoice(onSaveSupportHoursVoice[0].Details) :\r\n let data = (props.supportHoursVoice?.length > 0 ? renderSaveSupportHpursVoice(props.supportHoursVoice) : []);\r\n const [supportData, setSupportData] = useState(data);\r\n useEffect(() => {\r\n setSupportData(data)\r\n }, [props.supportHoursVoice]);\r\n\r\n const [dispatchSupportObj, setDispatchSupportObj] = useState([])\r\n function searchRows(rows) {\r\n return rows?.filter((row) => searchColumns?.some((column) => row?.[column]?.toString()?.toLowerCase()?.indexOf(filter?.toLowerCase()) > -1,))\r\n }\r\n\r\n const configureSupportData = (support) => {\r\n const temp_arr = [...support];\r\n const temp_Arr = temp_arr.map(data => {\r\n let temp1 = {\r\n Language: data.language,\r\n StartTime: data.start_time || '',\r\n EndTime: data.end_time || '',\r\n ValidFrom: data.valid_from,\r\n ValidTo: data.valid_to,\r\n Mondays: data.mondays || '',\r\n Tuesdays: data.tuesdays || '',\r\n Wednesdays: data.wednesdays || '',\r\n Thursdays: data.thursdays || '',\r\n Fridays: data.fridays || '',\r\n Saturdays: data.saturdays || '',\r\n Sundays: data.sundays || '',\r\n }\r\n let temp2 = {\r\n Language: data.language,\r\n StartTime: data.start_time || '',\r\n EndTime: data.end_time || '',\r\n ValidFrom: data.valid_from,\r\n ValidTo: data.valid_to,\r\n Mondays: data.mondays || '',\r\n Tuesdays: data.tuesdays || '',\r\n Wednesdays: data.wednesdays || '',\r\n Thursdays: data.thursdays || '',\r\n Fridays: data.fridays || '',\r\n Saturdays: data.saturdays || '',\r\n Sundays: data.sundays || '',\r\n OpenHoursId: data.supportID || ''\r\n }\r\n return location.pathname === '/onboardAccount' ? temp1 : temp2\r\n })\r\n let tempArray3 = [{\r\n Servicedesk: accountSiteInfo.SiteName,\r\n Account: accountSiteInfo.AccountName,\r\n NonVoiceItem: props.NonVoiceItem,\r\n VoiceNonVoice: props.TabName,\r\n Details: temp_Arr\r\n }]\r\n setDispatchSupportObj(tempArray3);\r\n }\r\n const headers = Data.header;\r\n \r\n const [showAddSupportModal, setShowAddSupportModal] = useState(false);\r\n const [showEditSupportModal, setShowEditSupportModal] = useState(false);\r\n const [showDeleteSupportModal, setShowDeleteSupportModal] = useState(false);\r\n const [addFormSupport, setAddFormSupport] = useState(initailState)\r\n\r\n const [editSupportID, setEditSupportID] = useState(null);\r\n const [editSupportInfo, setEditSupportInfo] = useState(initailState);\r\n\r\n const [deleteRowID, setDeleteRowID] = useState(null);\r\n\r\n const addValueToSupport = (name, value) => {\r\n const newFormData = { ...addFormSupport };\r\n if (value !== 'Select') {\r\n newFormData[name] = value;\r\n setAddFormSupport(newFormData)\r\n }\r\n }\r\n\r\n const HandleAddSupport = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (fieldValue !== 'Select') {\r\n const newFormData = { ...addFormSupport };\r\n newFormData[fieldName] = fieldValue;\r\n setAddFormSupport(newFormData);\r\n }\r\n }\r\n const handleToggleSupport = (event, isActive) => {\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = isActive\r\n const newFormData = { ...addFormSupport };\r\n newFormData[fieldName] = fieldValue;\r\n setAddFormSupport(newFormData)\r\n }\r\n const handleAddSupportSubmit = event => {\r\n event.preventDefault();\r\n const newSupport = {\r\n id: (Math.random() * 10000).toString(),\r\n start_time: addFormSupport.start_time,\r\n end_time: addFormSupport.end_time,\r\n language: addFormSupport.language,\r\n valid_from: addFormSupport.valid_from,\r\n valid_to: addFormSupport.valid_to,\r\n mondays: (weekDaysBooleanHandle(addFormSupport.mondays)),\r\n tuesdays: (weekDaysBooleanHandle(addFormSupport.tuesdays)),\r\n wednesdays: (weekDaysBooleanHandle(addFormSupport.wednesdays)),\r\n thursdays: (weekDaysBooleanHandle(addFormSupport.thursdays)),\r\n fridays: (weekDaysBooleanHandle(addFormSupport.fridays)),\r\n saturdays: (weekDaysBooleanHandle(addFormSupport.saturdays)),\r\n sundays: (weekDaysBooleanHandle(addFormSupport.sundays)),\r\n supportID: addFormSupport?.supportID,\r\n status: 'Active',\r\n request: 'Completed',\r\n tooltip: null\r\n }\r\n const newSupports = [newSupport, ...supportData]\r\n let temp_arr = {\r\n language: addFormSupport.language,\r\n valid_from: (addFormSupport.valid_from),\r\n valid_to: (addFormSupport.valid_to)\r\n };\r\n const isEmpty = Object.values(temp_arr).some(temp => (temp === null || temp === '' || temp === undefined));\r\n const isValidDate = moment((addFormSupport.valid_to)).isAfter((addFormSupport.valid_from));\r\n // const isValidTime = moment(addFormSupport.start_time, ['HH:mm:ss', 'HH:mm', 'h:mm', 'h:mm A', 'hh:mm A', 'HH:MM:SS A'], true).isValid() &&\r\n // moment(addFormSupport.end_time, ['HH:mm:ss', 'HH:mm', 'h:mm', 'h:mm A', 'hh:mm A', 'HH:MM:SS A'], true).isValid();\r\n const validStartEndTime = () => {\r\n if (addFormSupport.start_time && addFormSupport.end_time)\r\n return moment(addFormSupport.start_time, 'hh:mm').isBefore(moment(addFormSupport.end_time, 'hh:mm'))\r\n }\r\n if (isEmpty) {\r\n setShowAddSupportModal(true);\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ');\r\n }\r\n else if (!isValidDate) {\r\n setShowAddSupportModal(true);\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date');\r\n }\r\n else if (!validStartEndTime) {\r\n setShowAddSupportModal(true);\r\n setValidation('Please ensure \"Start Time\" is placed before \"End Time\"');\r\n }\r\n else {\r\n setSupportData(newSupports)\r\n setShowAddSupportModal(false);\r\n configureSupportData(newSupports);\r\n setValidation('')\r\n }\r\n }\r\n\r\n const handleAddSupportCancel = event => {\r\n event.preventDefault();\r\n setShowAddSupportModal(false);\r\n }\r\n\r\n\r\n const onClickEditRow = (index, data) => {\r\n setEditSupportID(index)\r\n setShowEditSupportModal(true)\r\n const formValues = {\r\n start_time: data.start_time,\r\n end_time: data.end_time,\r\n language: data.language,\r\n valid_from: data.valid_from,\r\n valid_to: data.valid_to,\r\n mondays: ((data.mondays)),\r\n tuesdays: ((data.tuesdays)),\r\n wednesdays: ((data.wednesdays)),\r\n thursdays: ((data.thursdays)),\r\n fridays: ((data.fridays)),\r\n saturdays: ((data.saturdays)),\r\n sundays: ((data.sundays)),\r\n supportID: data.supportID\r\n };\r\n setEditSupportInfo(formValues);\r\n\r\n }\r\n\r\n const handleEditSupportSelect = (name, value) => {\r\n const newFormData = { ...editSupportInfo };\r\n if (value !== 'Select') {\r\n newFormData[name] = value;\r\n setEditSupportInfo(newFormData);\r\n }\r\n }\r\n\r\n const handleEditSupportUpdate = event => {\r\n event.preventDefault();\r\n\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...editSupportInfo };\r\n newFormData[fieldName] = fieldValue;\r\n\r\n setEditSupportInfo(newFormData);\r\n }\r\n const handleEditToggleSupport = (event, isActive) => {\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = isActive\r\n const newFormData = { ...editSupportInfo };\r\n newFormData[fieldName] = fieldValue;\r\n setEditSupportInfo(newFormData)\r\n }\r\n\r\n const handleEditSupportSubmit = event => {\r\n event.preventDefault();\r\n const editedSupport = {\r\n id: editSupportID,\r\n start_time: editSupportInfo.start_time,\r\n end_time: editSupportInfo.end_time,\r\n language: editSupportInfo.language,\r\n valid_from: editSupportInfo.valid_from,\r\n valid_to: editSupportInfo.valid_to,\r\n mondays: (weekDaysBooleanHandle(editSupportInfo.mondays)),\r\n tuesdays: (weekDaysBooleanHandle(editSupportInfo.tuesdays)),\r\n wednesdays: (weekDaysBooleanHandle(editSupportInfo.wednesdays)),\r\n thursdays: (weekDaysBooleanHandle(editSupportInfo.thursdays)),\r\n fridays: (weekDaysBooleanHandle(editSupportInfo.fridays)),\r\n saturdays: (weekDaysBooleanHandle(editSupportInfo.saturdays)),\r\n sundays: (weekDaysBooleanHandle(editSupportInfo.sundays)),\r\n supportID: editSupportInfo?.supportID,\r\n status: 'Active',\r\n request: 'Completed',\r\n tooltip: null\r\n };\r\n const newSupports = [...supportData];\r\n let temp_arr = {\r\n language: editSupportInfo.language,\r\n valid_from: (editSupportInfo.valid_from),\r\n valid_to: (editSupportInfo.valid_to)\r\n };\r\n const isEmpty = Object.values(temp_arr).some(temp => (temp === null || temp === '' || temp === undefined));\r\n const isValidDate = moment((editSupportInfo.valid_to)).isAfter((editSupportInfo.valid_from));\r\n const validStartEndTime = () => {\r\n if (editSupportInfo.start_time && editSupportInfo.end_time)\r\n return moment(editSupportInfo.start_time, 'hh:mm').isBefore(moment(editSupportInfo.end_time, 'hh:mm'))\r\n }\r\n if (isEmpty) {\r\n setShowEditSupportModal(true);\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ');\r\n }\r\n else if (!isValidDate) {\r\n setShowEditSupportModal(true);\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date');\r\n }\r\n else if (!validStartEndTime) {\r\n setShowEditSupportModal(true);\r\n setValidation('Please ensure \"Start Time\" is placed before \"End Time\"');\r\n }\r\n else {\r\n const index = supportData.findIndex((_, index) => index === editSupportID);\r\n newSupports[index] = editedSupport;\r\n setSupportData(newSupports);\r\n configureSupportData(newSupports);\r\n setEditSupportID(null);\r\n setShowEditSupportModal(false)\r\n }\r\n\r\n }\r\n\r\n const handleEditSupportCancel = event => {\r\n event.preventDefault();\r\n setEditSupportID(null);\r\n setShowEditSupportModal(false)\r\n }\r\n\r\n const handleDeleteSupport = () => {\r\n const newSupport = [...supportData];\r\n const index = supportData.findIndex((_, index) => index === deleteRowID);\r\n newSupport.splice(index, 1);\r\n setSupportData(newSupport);\r\n configureSupportData(newSupport);\r\n setShowDeleteSupportModal(false);\r\n }\r\n\r\n const handleDeleteSupportCancel = event => {\r\n event.preventDefault();\r\n setShowDeleteSupportModal(false)\r\n }\r\n useEffect(() => {\r\n props.dispatchSupportHandler(dispatchSupportObj);\r\n }, [dispatchSupportObj]);\r\n const [showReuqestModal, setShowReuqestModal] = useState(false);\r\n const [AccountSupportId, setAccountSupportId] = useState(null);\r\n const ActivationHandler = (id, data) => {\r\n if (data.request !== 'Sent') {\r\n setEditSupportID(id);\r\n setAccountSupportId(data?.supportID);\r\n setShowReuqestModal(true);\r\n }\r\n }\r\n\r\n const onSubmitRequest = (date) => {\r\n const temp_Arr = [{\r\n Account: accountSiteInfo.AccountName,\r\n Servicedesk: accountSiteInfo.SiteName,\r\n ValidUntil: date,\r\n SupportHoursId: AccountSupportId\r\n }]\r\n dispatch(updateSupportRequestStart(temp_Arr))\r\n console.log(temp_Arr)\r\n setShowReuqestModal(false);\r\n let temp_arr = [...supportData];\r\n temp_arr.map(temp => {\r\n if (temp.supportID === AccountSupportId) {\r\n temp.request = 'Sent';\r\n temp.tooltip = 'Activation Request already sent to Administrator'\r\n console.log(temp.supportID, AccountSupportId)\r\n }\r\n });\r\n setSupportData(temp_arr)\r\n\r\n }\r\n\r\n const ValidUser = () => {\r\n if(props.GeneralInfoToggle){\r\n setAddFormSupport([])\r\n setShowAddSupportModal(true)\r\n dispatch(setValidforAddingTabRows(false))\r\n }\r\n else{\r\n window.scrollTo(0, 0);\r\n dispatch(setValidforAddingTabRows(true))\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n setFilter(e.target.value)} placeholder='Search Support Hours' />\r\n \r\n
\r\n\r\n {(RoleBasedView?.[0]?.SupportHours?.[0]?.ReadWrite === 0 && location.pathname === '/admin/account') ? '' : <> {(mode === 'create' || mode === 'edit') &&
\r\n \r\n Add Support Hours\r\n
}}\r\n\r\n\r\n
\r\n
\r\n\r\n {searchRows(supportData).length === 0 ?\r\n\r\n
\r\n \r\n \r\n \r\n {headers.map(header => (\r\n \r\n ))}\r\n \r\n \r\n \r\n
{header.caption}{' '}
\r\n
\r\n
\r\n
\r\n No records found. This data grid enables adding/editing the contractually defined support hours.
To add a new Support Hours, select the “Add Support Hours” link.
\r\n
\r\n
\r\n\r\n\r\n
:\r\n \r\n \r\n \r\n {headers.map(header => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n {\r\n searchRows(supportData).map((data, index) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {location.pathname === '/onboardAccount' ? <>\r\n {(mode === 'create' || mode === 'edit') && } :\r\n <>{RoleBasedView?.[0]?.SupportHours?.[0]?.ReadWrite === 1 ? <> {(mode === 'create' || mode === 'edit') && } : ''}\r\n }\r\n \r\n )\r\n })\r\n }\r\n \r\n
{header.caption}{' '}
{data.start_time}{data.end_time}{data.language}{data.mondays}{data.tuesdays}{data.wednesdays}{data.thursdays}{data.fridays}{data.saturdays}{data.sundays}{data.valid_from}{data.valid_to}\r\n onClickEditRow(index, data)}>\r\n \r\n \r\n { setDeleteRowID(index); setShowDeleteSupportModal(true) }}>\r\n \r\n {data.status === 'Active' ?\r\n onClickEditRow(index, data)}>\r\n \r\n : <>\r\n ActivationHandler(index, data)}>\r\n \r\n \r\n \r\n }
}\r\n\r\n\r\n {showAddSupportModal && \r\n { }}\r\n validation={validation}\r\n onClickSelect={() => { }}\r\n />\r\n }\r\n\r\n {showEditSupportModal && \r\n { }} validation={validation}\r\n onClickSelect={onClickSelect}\r\n />\r\n }\r\n {showDeleteSupportModal && \r\n index === deleteRowID)]}\r\n />\r\n }\r\n {\r\n showReuqestModal && \r\n index === editSupportID)]?.start_time} - ${supportData[supportData.findIndex((_, index) => index === editSupportID)]?.end_time}`}\r\n solution2={supportData[supportData.findIndex((_, index) => index === editSupportID)]?.language}\r\n onSubmit={onSubmitRequest} notValidDate = {() => { setShowReuqestModal(true) }}\r\n onCancel={() => { setShowReuqestModal(false) }}\r\n />\r\n \r\n }\r\n
\r\n )\r\n}\r\nexport default SupportHours;","export default \"data:image/png;base64,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\"","import React, { useState } from 'react';\r\nimport './VoiceHandler.css'\r\nimport OffCanvasHandler from '../OnboardComponents/OffCanvas/OffCanvas';\r\nimport AccordionHandler from '../OnboardComponents/Accordion/Accordion';\r\nimport QueueComponent from '../OnboardComponents/QueueTable/QueueComponent';\r\nimport SLAComponent from '../OnboardComponents/SLAComponents/SLAComponent';\r\nimport SupportHoursMain from '../OnboardComponents/SupportHoursComponent/SupportHoursMain';\r\n\r\n\r\nfunction VoiceHandler(props) {\r\n const ACCORDION_INFO = [\r\n {\r\n id: 1,\r\n label: 'Queues',\r\n Info: \r\n },\r\n {\r\n id: 2,\r\n label: 'SLA/KPIs',\r\n Info: \r\n\r\n },\r\n {\r\n id: 3,\r\n label: 'Support Hours',\r\n Info: \r\n },\r\n ]\r\n\r\n return (<>\r\n
\r\n
During the Account Onboarding and Administration process populate only Voice and Non-Voice channels that are applicable for selected account and site. Non-applicable channels can be left blank.
\r\n
\r\n AWS (ASD) Telephony\r\n
\r\n \r\n
\r\n \r\n {props.children}\r\n
\r\n\r\n );\r\n}\r\n\r\nexport default VoiceHandler;\r\n\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAcCAYAAACZOmSXAAAABHNCSVQICAgIfAhkiAAAA5FJREFUSEvFVm9IE2EYf15dBYpmQtiXcuIWRlizQoIIF0ZkCY3QIjB30wojoX9EFoFBf0Cksj8fxZ1an6RaX4IsMMU+GJIrSIRdNT9kIVETbBCtXc/73t3cbXfebQt64bi7957n/f2e/0dAZ3E2r1MUwQ0EXChSwMRECOK7j1jgNj/lCerpmt0nWoKc3cszYP0VIgRO8wEPbxZISy4JXAN4DoX8kuHgwNty5SAk4MmEgAqcK/W6RAKPY4cDWid4uuJZYzguI4l2eS9EIlDCBz2hdDygAm+0ef24sZEehPckYAUASXYhyZNGckaEVOBumxeNYu6d7hM8Vt1kLPNaxQh8ksGH0TtOI6BFY86yG2DI7IEKUZQP9QqeFf8LHBBcs2qMCMWUMrD8H4BbvQWiBX6YcTsXJ4uheov5QUsw5ZWY7UHcKGYEIrBCr4TQS6cQ9JZM9AkmHO2CKS91natr2I8EdiQSkMNDewFruUqjaV7fXfj7V3YLAbEWiZUTyMrF51l8fo0gA0iwP5GdGlxyZxCFlC4WQmVsMqIf66+AAHFiA+CUQxSXN9p6jiDYDZTL1zMfgcb+RKOt/R+bxxWZ5PYa51IjP+KAKREj4iG0/zqVraheDVUH1oJ9SxHk5C2F7zPz8G7kMwz2TsKXD3NUJBwFcU+/0DQsh0yCkJOIutNpBBr7TuAneiSXvh9u3wrVDWW6qt3nR2H0kUBbZzC8JFw+MHlinlmOw8SBU4w2GGl0you6NYvgUKGjVFqOKF5KUipydWc2Qe3xDTE9CkKvtvu7VWQ6uUF4/2qGtu4OzIE2wizOhgncscqSdIp1gQV4vZktkSUdGONdRcX50PFivwrEd8cPvrt+4AOcal94MwtXDz5FW8RvfULTShI/pZilFnCZ+VFwl/JXgIiX9h4rh/pzmxnI1NhXNpFGH8qWP5Asp/Ffs66QPV+s8cGMEAIShUoK/hJBq+gHLJsKnM9sdhstt43H0hEbjnZuh22uUibO2XlNtbLKVdAmE7nXOgTjz6ap9fXE7CRLPFULnFmOKzHmOfkLlmuCo7dSGo1ablcI6sU8ye2K5amCN9p7dhKRPE8l4QKYcNfiEy5dcGoF6k7gzVF3FkutZaHU9PIlqdQyAce2ug9bro+CmW4y2DPCy+KajFFmL/bdbeu5kEp7xZKq6Q1wI6y6MgFWdKXBQm7ie57eeaYGS7pkMh6p6QKnq/cX7C7RwM9817UAAAAASUVORK5CYII=\"","import React, { useEffect, useRef, useState } from 'react';\r\n// import './Select.css'\r\nimport downward_icon from './../../../../assets/images/downward_arrow.png';\r\nimport upward_icon from './../../../../assets/images/upward_arrow.png';\r\n\r\n\r\nexport function TimeOutSelect(props) {\r\n const { data, value, id, className, name, onChange, editValue, refresh } = props;\r\n const [openData, setOpenData] = useState(false);\r\n const [Inputvalue, setInputValue] = useState(props.inputvalue);\r\n const [query, setQuery] = useState('');\r\n\r\n useEffect(() => {\r\n if (!openData) setQuery('')\r\n }, [openData])\r\n\r\n useEffect(() => {\r\n setInputValue(editValue);\r\n }, [editValue, name, setInputValue]);\r\n\r\n useEffect(()=>{\r\n if(refresh===true){\r\n setInputValue('')\r\n } \r\n },[refresh])\r\n\r\n const dropdownHandler = (event, option) => {\r\n setInputValue(option[value]);\r\n setOpenData(!openData);\r\n props.addValueToQueue(name, option[value], option[id]);\r\n }\r\n const dropDownref = useRef();\r\n const inputValueRef = useRef();\r\n useEffect(() => {\r\n const handleClickOutside = (event) => {\r\n if (dropDownref.current && !dropDownref.current.contains(event.target)) {\r\n if (!openData)\r\n setOpenData(openData);\r\n }\r\n }\r\n document.addEventListener(\"click\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickOutside);\r\n };\r\n }, [dropDownref]);\r\n\r\n return (\r\n \r\n
\r\n
\r\n {\r\n setQuery(e.target.value);\r\n setOpenData(true);\r\n props.QueryHandler(e.target.value);\r\n setInputValue(null)\r\n }}\r\n onClick={() => {\r\n setOpenData(!openData);\r\n }}\r\n placeholder='Select'\r\n />\r\n
{\r\n setOpenData(!openData);\r\n }}\r\n ref={dropDownref}\r\n >\r\n {!openData ? \"arrow\" :\r\n \"arrow\"}\r\n
\r\n
\r\n
\r\n {openData &&
    \r\n {(data)?.map(option =>\r\n (
  • dropdownHandler(event, option)} >\r\n \r\n
  • )\r\n )}\r\n
}\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React, {useState } from 'react';\r\nimport './../QueueTable/TableTemplate.css'\r\nimport { OnboardSelect } from '../Dropdown/Select';\r\nimport DatePickerHandle from '../KeyboardDatePicker';\r\nimport { TimeOutSelect } from '../Dropdown/TimeOutSelect';\r\n\r\nexport function AddRoleModal(props) {\r\n const [ValidFrom, setValidFrom] = useState(null);\r\n const [ValidTo, setValidTo] = useState(null);\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n const editMode = props.editMode;\r\n\r\n const ValidFromDateHandler = (date) => {\r\n if (editMode){\r\n props.handleRoleEditDate('valid_from', ((date === null || date === undefined) ? null : formatDate(date)))\r\n }\r\n else{\r\n props.addDateToRole('valid_from', ((date === null || date === undefined) ? null : formatDate(date)))\r\n setValidFrom((date === null || date === undefined) ? null : formatDate(date));\r\n }\r\n\r\n }\r\n const ValidToDateHandler = (date) => {\r\n if (editMode){\r\n console.log('valid_to',date)\r\n props.handleRoleEditDate('valid_to', ((date === null || date === undefined) ? null : formatDate(date)))\r\n }\r\n else{\r\n props.addDateToRole('valid_to', ((date === null || date === undefined) ? null : formatDate(date)))\r\n setValidTo((date === null || date === undefined) ? null : formatDate(date));\r\n }\r\n }\r\n // const [usernameData, setUsernameData] = useState([]);\r\n // useEffect(() => {\r\n // setUsernameData(props.usernameInfo)\r\n // }, [props.usernameInfo])\r\n // console.log(usernameData)\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {props.modalName}\r\n
\r\n
{props.validation}
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n ValidFromDateHandler(date)}\r\n />\r\n ValidToDateHandler(date)}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}","import React, { useState } from 'react'\r\nimport { Offcanvas } from 'react-bootstrap'\r\nimport hintsIcon from './../../../../assets/onboard-images/Hints_Icon.png'\r\nimport HINTS from './Hints.json';\r\n\r\nexport const HintsRoles = (props) => {\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n return (\r\n <>\r\n
hints Hints
\r\n \r\n \r\n {HINTS.ROLE_INFO.Title}\r\n \r\n \r\n
Usage
\r\n
\r\n {HINTS.ROLE_INFO.Usage.map((para, i) => (\r\n
{para}
\r\n ))}\r\n
Legend
\r\n {HINTS.ROLE_INFO.Legend.map((legend, i) => (\r\n <>
{legend.title}
\r\n
{legend.info}
\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\n\r\n\r\nexport const HintsGeneralInfo= (props) => {\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n return (\r\n <>\r\n
hints Hints
\r\n \r\n \r\n {HINTS.GENERAL_INFO.Title}\r\n \r\n \r\n
Usage
\r\n
\r\n {HINTS.GENERAL_INFO.Usage.map((para, i) => (\r\n
{para}
\r\n ))}\r\n
Legend
\r\n {HINTS.GENERAL_INFO.Legend.map((legend, i) => (\r\n <>
{legend.title}
\r\n
{legend.info}
\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n","import React, { Fragment, useEffect, useState } from 'react';\r\nimport './../QueueTable/TableTemplate.css'\r\nimport searchIcon from './../../../../assets/onboard-images/Search_Icon.png'\r\nimport AdduserImg from \"./../../../../assets/images/Add_User_Icon.png\";\r\nimport { AddRoleModal } from './AddRoleModel'\r\nimport \"./Roles.css\";\r\nimport { DeleteFragment, DeleteModalPopup } from '../Modals/DeleteModalPopup';\r\nimport { RoleModalPopup } from '../Modals/ModalQueuePopup';\r\nimport TooltipHandler from '../TooltipHandler';\r\nimport editIcon from './../../../../assets/onboard-images/Edit_Icon.png'\r\nimport deleteIcon from './../../../../assets/onboard-images/Delete_Icon.png'\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport moment from 'moment'\r\nimport { getOnboardValidUser, getRolesTabRoles, getRolesTabUsers, setValidforAddingTabRows } from '../../../../actions/Onboard.action';\r\nimport { HintsRoles } from '../OffCanvas/HintsRoles';\r\nimport { getRoleBasedView } from '../../../../actions/Administration/admin.action';\r\nimport { useLocation } from 'react-router-dom/cjs/react-router-dom.min';\r\nconst headers = [\r\n {\r\n caption: \"Role\",\r\n id: \"1\"\r\n }, {\r\n caption: \"UserName\",\r\n id: \"2\"\r\n },\r\n {\r\n caption: \"EmailID\",\r\n id: \"3\"\r\n },\r\n {\r\n caption: \" Valid From\",\r\n id: \"4\"\r\n },\r\n {\r\n caption: \"Valid To\",\r\n id: \"5\"\r\n }\r\n]\r\n\r\nfunction RoleComponent(props) {\r\n const location = useLocation()\r\n const dispatch = useDispatch();\r\n let usernameData = useSelector((state) => state.onboardReducer.roleTabUsers);\r\n let rolenameInfo = useSelector((state) => state.onboardReducer.roleTabRoles);\r\n const accountSiteInfo = useSelector((state) => state.onboardReducer.accountSiteInfo);\r\n const onboardValidUser = useSelector((state) => state.onboardReducer.onboardValidUser);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n const [validation, setValidation] = useState('');\r\n const [usernameInfo, setUsernameInfo] = useState([]);\r\n\r\n console.log('RoleBasedView',RoleBasedView?.[0]?.Roles?.[0]?.ReadWrite)\r\n useEffect(() => {\r\n setUsernameInfo(usernameData)\r\n }, [usernameData])\r\n const QueryHandler = query => {\r\n setTimeout(() => {\r\n dispatch(getRolesTabUsers(query));\r\n setUsernameInfo(usernameData)\r\n }, 2000)\r\n if (query === '') {\r\n dispatch(getRolesTabUsers(''));\r\n }\r\n }\r\n\r\n const [validUser, setValidUser] = useState();\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n };\r\n useEffect(() => {\r\n dispatch(getRolesTabUsers(''));\r\n dispatch(getRolesTabRoles());\r\n dispatch(getOnboardValidUser(accountSiteInfo.AccountName, accountSiteInfo.SiteName))\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n\r\n const renderRolesTabData = (data) => {\r\n console.log('renderRolesTabData',data)\r\n let temp_Arr = [...data];\r\n let temp_arr = temp_Arr?.map((temp, i) => {\r\n return {\r\n emailID: temp.EmailID,\r\n role: temp.Role,\r\n name: temp.Name,\r\n valid_from:temp['Valid From'] === null ? null : formatDate(temp['Valid From']),\r\n valid_to: temp['Valid To'] === null ? null :formatDate(temp['Valid To']),\r\n username: temp.User\r\n }\r\n });\r\n return temp_arr;\r\n }\r\n let data = (props.roletabdata?.length > 0 ? renderRolesTabData(props.roletabdata) : []);\r\n const [roleData, setRoleData] = useState(data);\r\n const [mode, setMode] = useState(null);\r\n useEffect(() => {\r\n if (props.accountDetails) setMode(props.accountDetails.mode)\r\n }, [props.accountDetails])\r\n\r\n useEffect(() => {\r\n (props.accountDetails.mode === 'create') ? setRoleData(data) : setRoleData(data)\r\n }, [props.roletabdata])\r\n const [addRoleSubmit, setRoleAddSubmit] = useState(false)\r\n const [filter, setFilter] = useState('');\r\n const [showAddRoleModal, setShowAddRoleModal] = useState(false);\r\n const [showEditRoleModal, setShowEditRoleModal] = useState(false);\r\n const [showDeleteRoleModal, setShowDeleteRoleModal] = useState(false);\r\n const [showFromInfo, setShowFromInfo] = useState(false)\r\n const [searchColumns, setSearchColumns] = useState([\r\n 'role', 'username', 'emailID'\r\n\r\n ]);\r\n const [addFormRole, setAddFormRole] = useState({\r\n role: '',\r\n username: '',\r\n emailID: '',\r\n valid_from: '',\r\n valid_to: ''\r\n })\r\n\r\n const [editRoleID, setEditRoleID] = useState(null);\r\n const [editRoleInfo, setEditRoleInfo] = useState({\r\n role: '',\r\n username: '',\r\n emailID: '',\r\n valid_from: '',\r\n valid_to: ''\r\n });\r\n\r\n const [deleteRoleID, setDeleteRoleID] = useState(null);\r\n const emailIDhandler = (username) => {\r\n if (username) {\r\n let emailObj = usernameInfo?.filter(info => info?.nameEmail === username);\r\n return emailObj?.[0]?.email || '';\r\n }\r\n else return '';\r\n }\r\n const userNamehandler = (username) => {\r\n if (username) {\r\n let userNameObj = usernameInfo?.filter(info => info?.nameEmail === username);\r\n return userNameObj?.[0]?.name || '';\r\n }\r\n else return '';\r\n }\r\n\r\n const [dispatchRoleObj, setDispatchRoleObj] = useState([])\r\n const addValueToRole = (name, value) => {\r\n if (value !== 'Select') {\r\n const newFormData = { ...addFormRole };\r\n newFormData[name] = value;\r\n setAddFormRole(newFormData)\r\n }\r\n }\r\n const HandleAddRole = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (fieldValue !== 'Select') {\r\n const newFormData = { ...addFormRole };\r\n newFormData[fieldName] = fieldValue;\r\n setAddFormRole(newFormData)\r\n setRoleAddSubmit(false);\r\n }\r\n }\r\n const configureRoleData = roleData => {\r\n let temp_arr = [...roleData];\r\n let tempArray2 = temp_arr.map(role => {\r\n return {\r\n email: role.emailID,\r\n Role: role.role,\r\n ValidSince: role.valid_from,\r\n ValidUntil: role.valid_to\r\n }\r\n });\r\n let tempArray3 = [{\r\n Account: accountSiteInfo.AccountName,\r\n Servicedesk: accountSiteInfo.SiteName,\r\n ValidFrom: accountSiteInfo.ValidFrom,\r\n ValidTo: accountSiteInfo.ValidTo,\r\n Details: tempArray2\r\n }]\r\n\r\n setDispatchRoleObj(tempArray3);\r\n\r\n }\r\n\r\n\r\n const handleAddRoleSubmit = event => {\r\n event.preventDefault();\r\n const newRole = {\r\n id: (Math.random() * 10000).toString(),\r\n role: addFormRole.role,\r\n name:userNamehandler(addFormRole.username),\r\n username: addFormRole.username,\r\n emailID: emailIDhandler(addFormRole.username),\r\n valid_from: (addFormRole.valid_from),\r\n valid_to: (addFormRole.valid_to)\r\n }\r\n setAddFormRole(newRole)\r\n const newRoles = [newRole, ...roleData];\r\n const temp_Arr = {\r\n role: addFormRole.role,\r\n username: addFormRole.username,\r\n }\r\n const isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\n // const isEmptyInput = Object.values(newRole).some(x => (x === null || x === '' || x === undefined));\r\n // const isValidDate = moment(addFormRole.valid_to).isAfter(addFormRole.valid_from)\r\n if (isEmptyInput) {\r\n // setRoleAddSubmit(true);\r\n setShowAddRoleModal(true);\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n }\r\n // else if (!isValidDate) {\r\n // setShowAddRoleModal(true);\r\n // setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date ')\r\n // }\r\n else {\r\n setRoleData(newRoles)\r\n setShowAddRoleModal(false);\r\n configureRoleData(newRoles);\r\n setValidation('')\r\n }\r\n }\r\n\r\n const handleAddRoleCancel = event => {\r\n event.preventDefault();\r\n setShowAddRoleModal(false);\r\n setRoleAddSubmit(false);\r\n }\r\n const handleRoleEditDate = (name, value) => {\r\n const newFormData = { ...editRoleInfo };\r\n newFormData[name] = value;\r\n setEditRoleInfo(newFormData);\r\n\r\n }\r\n const onClickSelect = (name) => {\r\n const newFormData = { ...editRoleInfo };\r\n newFormData[name] = '';\r\n setEditRoleInfo(newFormData)\r\n\r\n }\r\n const handleEditRoleSelect = (name, value) => {\r\n const newFormData = { ...editRoleInfo };\r\n if (value !== 'Select') {\r\n newFormData[name] = value;\r\n setEditRoleInfo(newFormData);\r\n }\r\n }\r\n const handleEditRoleUpdate = event => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...editRoleInfo };\r\n newFormData[fieldName] = fieldValue;\r\n setEditRoleInfo(newFormData);\r\n }\r\n\r\n const handleEditRoleSubmit = event => {\r\n event.preventDefault(); // editRoleInfo\r\n const editedRole = {\r\n id: editRoleID,\r\n role: editRoleInfo.role,\r\n name: userNamehandler(editRoleInfo.username) ? userNamehandler(editRoleInfo.username) : editRoleInfo.name,\r\n username:editRoleInfo.username,\r\n emailID: emailIDhandler(editRoleInfo.username) ? emailIDhandler(editRoleInfo.username) : editRoleInfo.emailID, \r\n valid_from: editRoleInfo.valid_from,\r\n valid_to: editRoleInfo.valid_to\r\n };\r\n console.log('roledata::::::::::::',...roleData)\r\n const newRoles = [...roleData];\r\n console.log('newRoles::::::::::::: 2',newRoles)\r\n const temp_Arr = {\r\n role: editRoleInfo.role,\r\n username:editRoleInfo.username,\r\n }\r\n const isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\n // const isEmptyInput = Object.values(editRoleInfo).some(x => (x === null || x === '' || x === undefined));\r\n // const isValidDate = moment(editRoleInfo.valid_to).isAfter(editRoleInfo.valid_from)\r\n if (isEmptyInput) {\r\n setShowEditRoleModal(true);\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n }\r\n // else if (!isValidDate) {\r\n // setShowEditRoleModal(true);\r\n // setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date ')\r\n // }\r\n else {\r\n const index = roleData.findIndex((_, index) => index === editRoleID);\r\n newRoles[index] = editedRole;\r\n console.log('newRoles:::::::::::::',newRoles)\r\n setRoleData(newRoles);\r\n configureRoleData(newRoles);\r\n setEditRoleID(null);\r\n setShowEditRoleModal(false);\r\n setValidation('')\r\n }\r\n\r\n }\r\n const handleEditRoleCancel = event => {\r\n event.preventDefault();\r\n setEditRoleID(null);\r\n setShowEditRoleModal(false)\r\n }\r\n\r\n\r\n const handleDeleteRole = () => {\r\n const newRoles = [...roleData];\r\n const index = roleData.findIndex((_, index) => index === deleteRoleID);\r\n newRoles.splice(index, 1);\r\n setRoleData(newRoles);\r\n configureRoleData(newRoles);\r\n setShowDeleteRoleModal(false)\r\n }\r\n const handleDeleteRoleCancel = event => {\r\n event.preventDefault();\r\n setShowDeleteRoleModal(false)\r\n }\r\n\r\n function searchRows(rows) {\r\n return rows.filter((row) =>\r\n searchColumns.some(\r\n (column) =>\r\n row[column]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(filter.toLowerCase()) > -1,\r\n ),\r\n );\r\n }\r\n const ValidUser = () => {\r\n if(props.GeneralInfoToggle){\r\n setAddFormRole([])\r\n setShowAddRoleModal(true);\r\n dispatch(setValidforAddingTabRows(false))\r\n }\r\n else{\r\n window.scrollTo(0, 0);\r\n dispatch(setValidforAddingTabRows(true))\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n console.log(dispatchRoleObj)\r\n props.DispatchRolehandler(dispatchRoleObj)\r\n }, [dispatchRoleObj])\r\n\r\n return (<>\r\n\r\n \r\n\r\n
\r\n
\r\n {validUser &&
invalid
}\r\n
\r\n setFilter(e.target.value)} placeholder='Search User Roles' />\r\n \r\n
\r\n
\r\n \r\n {(RoleBasedView?.[0]?.Roles?.[0]?.ReadWrite === 0 && location.pathname === '/admin/account') ? '' : <> {(mode === 'create' || mode === 'edit') && \r\n \r\n Add Role\r\n }}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n {searchRows(roleData).length === 0 ?\r\n\r\n
\r\n \r\n \r\n {headers.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n
{header.caption}{' '}
\r\n
\r\n
\r\n
\r\n No records found.
To add new Role entries, click on \"Add Role\" link.\r\n
\r\n
\r\n
\r\n
\r\n : \r\n \r\n \r\n {headers.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n searchRows(roleData).map((data, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {(mode === 'create' || mode === 'edit') && \r\n }\r\n \r\n ))\r\n }\r\n \r\n
{header.caption}{' '}
{data?.role}{(data?.name)}{data?.emailID}{(data?.valid_from === null || data?.valid_from === undefined) ?
not defined
: data?.valid_from}
{(data?.valid_to === null || data?.valid_to === undefined) ?
not defined
: data?.valid_to}
\r\n {(RoleBasedView?.[0]?.Roles?.[0]?.ReadWrite === 0 && location.pathname === '/admin/account') ? '' : setShowFromInfo(true)} onMouseLeave={() => setShowFromInfo(false)} onClick={(event) => {\r\n event.preventDefault()\r\n setEditRoleID(index)\r\n setShowEditRoleModal(true)\r\n const formValues = {\r\n role: data?.role,\r\n name: data?.name,\r\n username: data?.username,\r\n emailID: data?.emailID,\r\n valid_from: data?.valid_from,\r\n valid_to: data?.valid_to\r\n };\r\n setEditRoleInfo(formValues);\r\n }} >\r\n \r\n }\r\n\r\n {location.pathname === '/admin/account' ? <> {(RoleBasedView?.[0]?.Roles?.[0]?.Delete === 1 ) ? { setShowDeleteRoleModal(true); setDeleteRoleID(index) }}>\r\n \r\n : '' } : { setShowDeleteRoleModal(true); setDeleteRoleID(index) }}>\r\n \r\n }\r\n
}\r\n {showAddRoleModal && \r\n { }}\r\n />\r\n }\r\n {showEditRoleModal && \r\n \r\n }\r\n {showDeleteRoleModal && \r\n index === deleteRoleID)].role}\r\n />\r\n }\r\n\r\n );\r\n}\r\n\r\nexport default RoleComponent","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAt1JREFUSEuVVl1IFFEU/q5aUFRK9WAEYrQLu75oBioRIRLlk1oQgf3sLD3pg9WTPvSzJYEvEe1DvgQz0s9jrT6EZIiELwXZLkIumGgLgpCJVhSYOp1zd2bc2d2Znb2wzM7ce893fr77nSvgMpSAWr21iXaho5mWVdOvzlgep+eCLjBRUophLRlecDIj8k2wYf0f7kJAMecDjZWAvr06+XFp+0WHJnbgXj6gHADlqNpBnqm0u4KNngnVgJ+79+20+fLn5zqSH5bwduiLfNJYpUjD2lw4lrnQBqD4VUXXobKxnict0rCXwQDR7nEwqBAEMhvWzH0WgOH566rgfvQMtuDg4T1ebFtrlhd/I9o1jtTMCiiSc2YkEkDmfAOfyfOK+yNtRRs3URjkTtsIR7IqynCMa5IG8KsapSbU96IVgYb8aRm4NIr56WVciTTh5HmfY3ScroHLo5yqIUqVIgzv5znffc9b826cfr+Ih9fG5Fyw6RB6n511TR8DMBBFcUQoPvUGse8R573+dJXjxgcX32Au8R1K/wmcuuB3BZh89RVPeyeJ5bjJADECaB+c6sSuvXYqZlthr5gE2ZTNXsds6j7+kgGGxVWfGg82VtY6pYc38wYOmxnCAEyEQsNIU1yEfKruln82xPSbepeybGqzSiH70iFZBy8AsWhcLjbloSgALylid5mmxQDwefg2s5LwXORiAP7+WkdXvVFkrzTNBCgkJ3aapmXC9aBlp4gVtvNWg2OhbQfNq1RwkbnY7L2bca4TR2tJRYbYxekAlfcTxw8UqaRmKD9I7G6nxW6NZKLOEjsJkm40Uq6vk2wUC8LGHzvJtemBreEQiJOy5kgIpYUPo2vDsUDSkWj0Xi5bplIDkpIcnWIqfhpLgRljtMw1ajSKa8u0QIhZ2ESEe4T5Lbt9GkblNBcUpYh4avqZ4XOvwAY66FvzFl1bSB1reZ7UN1FC1xb6O4EyxNyuLf8BA2Z8ptWKSTcAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAOdJREFUOE+Nk40VwiAMhMsEuoluoG6gm+gkukndwLpB3UQnwDtK+sJPaHkPi3D3AUlwXWze+z2Gd/SLc+4r8/oLzRb/e/QbNCPXHH+i+YUhBVw45ZBopoYbcQNqRpeZZcMEkplFM0GwOGBwqBw5QOK87JzL3gTw2ITsDAineey8fTBxlBi0IBVvN5kR7ABgWziJhsxmTs6AlZDEbAGsgFFfpDi/Qsss10ggOohrzAVE0miZeWc2K8XNQgoBi4DBgIRCYpFQsFG5SqJtpPinC0lDilRVUjyZ+ZhUIRHyQD8vPOcnNFd5zn/rlX//DMLFJwAAAABJRU5ErkJggg==\"","import React, { useEffect, useState } from 'react';\r\nimport \"./GeneralInfo.css\";\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport InformationIcon from \"./../../../assets/images/Information_Icon.png\";\r\nimport dataSaveClose_icon from \"./../../../assets/onboard-images/dataSaveClose_icon.png\";\r\nimport ToolTip from 'react-power-tooltip';\r\nimport { OnboardSelect } from '../OnboardComponents/Dropdown/Select';\r\nimport { getAccountSite, getGeneralInfoSites, getOnboardValidUser, saveAccountSite, setValidforAddingTabRows, updateOnboardToggleStart } from '../../../actions/Onboard.action'\r\nimport DatePickerHandle from '../OnboardComponents/KeyboardDatePicker';\r\nimport moment from 'moment'\r\nimport { HintsGeneralInfo } from '../OnboardComponents/OffCanvas/HintsRoles';\r\n\r\nconst GeneralInfo = (props) => {\r\n const dispatch = useDispatch();\r\n const generalSiteInfo = useSelector((state) => state.onboardReducer.generalSiteInfo);\r\n const onboardValidUser = useSelector((state) => state.onboardReducer.onboardValidUser);\r\n\r\n useEffect(() => {\r\n dispatch(getAccountSite());\r\n dispatch(getGeneralInfoSites());\r\n }, [dispatch])\r\n const [showTooltip, setShowTooltip] = useState(false);\r\n const [notEditable,setNotEditable] =useState(false);\r\n const [notEditableData,setNotEditableData] = useState();\r\n const [accountSiteData, setAccountSiteData] = useState({\r\n AccountName: '', ValidFrom: '', ValidTo: '', SiteName: ''\r\n })\r\n const [validation, setValidation] = useState(false);\r\n useEffect(() => {\r\n let temp_Arr = {\r\n AccountName: props.accountDetails.AccountName,\r\n SiteName: props.accountDetails.SiteName,\r\n ValidFrom: props.accountDetails.ValidFrom,\r\n ValidTo: props.accountDetails.ValidTo,\r\n };\r\n setAccountSiteData(temp_Arr);\r\n dispatch(saveAccountSite(temp_Arr));\r\n }, [])\r\n const [toggleValue, setToggleValue] = useState(props.accountDetails?.mode === 'edit' ? true : false);\r\n const handleAccountName = (event) => {\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...accountSiteData };\r\n newFormData[fieldName] = fieldValue;\r\n setAccountSiteData(newFormData);\r\n setToggleValue(false);\r\n }\r\n\r\n const [editSiteValue, setEditSiteValue] = useState('');\r\n const SiteNameValueHandler = (name, value) => {\r\n const newFormData = { ...accountSiteData };\r\n newFormData[name] = value;\r\n setAccountSiteData(newFormData);\r\n dispatch(saveAccountSite(newFormData));\r\n if (name === 'SiteName') {\r\n setEditSiteValue(value)\r\n };\r\n setToggleValue(false);\r\n }\r\n const [ValidFrom, setValidFrom] = useState(new Date(''));\r\n const [ValidTo, setValidTo] = useState(new Date(''));\r\n const [showInfobar, setShowInfobar] = useState(false);\r\n const [showSavedbar,setShowSavedbar] = useState(false);\r\n const [confirmation, setConfirmation] = useState(false);\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n return [month, day, year].join('/');\r\n }\r\n const ValidFromDateHandler = (date) => {\r\n SiteNameValueHandler('ValidFrom', formatDate(date))\r\n setValidFrom(formatDate(date));\r\n }\r\n const ValidToDateHandler = (date) => {\r\n SiteNameValueHandler('ValidTo', formatDate(date))\r\n setValidTo(formatDate(date));\r\n }\r\n const onChangeGeneraltoggle = (event) => {\r\n const checked = event.target.checked;\r\n props.generalToggleChange(checked);\r\n dispatch(getOnboardValidUser(accountSiteData.AccountName, accountSiteData.SiteName))\r\n const temp_Arr = [{\r\n Account: accountSiteData.AccountName,\r\n Servicedesk: accountSiteData.SiteName,\r\n ValidFrom: accountSiteData.ValidFrom,\r\n ValidTo: accountSiteData.ValidTo,\r\n }];\r\n const isEmptyInput = Object.values(accountSiteData).some(x => (x === null || x === '' || x === undefined || x === 'Invalid Date'));\r\n const isValidDate = moment(accountSiteData.ValidTo).isAfter(accountSiteData.ValidFrom)\r\n let isAccountExist = onboardValidUser?.[0]?.column1 === 'Invalid User'\r\n console.log(onboardValidUser?.[0]?.column1, accountSiteData.AccountName, accountSiteData.SiteName)\r\n if (isEmptyInput) {\r\n setShowInfobar(true);\r\n setValidation('Please Ensure you filled all the above input to onboard an Account ');\r\n setConfirmation('');\r\n setShowSavedbar(false)\r\n }\r\n else if (!isValidDate) {\r\n setShowInfobar(true);\r\n setValidation('Please ensure \"Valid To\" date is placed after \"Valid From\" date');\r\n setConfirmation('');\r\n setShowSavedbar(false)\r\n }\r\n else if (isAccountExist) {\r\n setShowInfobar(true);\r\n setValidation(`${accountSiteData.AccountName} account already exists with ${accountSiteData.SiteName} location`)\r\n setConfirmation('');\r\n setShowSavedbar(false)\r\n }\r\n if (!isEmptyInput && isValidDate && !isAccountExist) {\r\n setValidation('')\r\n dispatch(updateOnboardToggleStart(temp_Arr))\r\n setShowInfobar(false)\r\n setNotEditable(true);\r\n setNotEditableData(temp_Arr)\r\n dispatch(setValidforAddingTabRows(false));\r\n setConfirmation('Initial save has been completed.');\r\n setShowSavedbar(true)\r\n setToggleValue(true)\r\n }\r\n }\r\nconsole.log('notEditableData',notEditableData?.[0]?.Account)\r\n useEffect(() => {\r\n props.generalToggleChange(toggleValue);\r\n }, [toggleValue,props])\r\n return (\r\n <>\r\n\r\n
\r\n \r\n \r\n
General Informations
\r\n \r\n \r\n
\r\n
This page enables to add new accounts.
\r\n
For more guidance, click on the Hints link on the right.
\r\n
\r\n
\r\n
\r\n
\r\n {props.accountDetails.AccountName === null || props.accountDetails.AccountName === undefined ?\r\n
\r\n {notEditable === true ?
{notEditableData?.[0]?.Account}
: }\r\n
:\r\n
\r\n {props.accountDetails?.AccountName} \r\n
}\r\n
\r\n
\r\n
\r\n \r\n {props.accountDetails.SiteName === null || props.accountDetails.SiteName === undefined ?\r\n
\r\n {notEditable === true ?
{notEditableData?.[0]?.Servicedesk}
: { }}\r\n inputvalue={'Select'} editValue={editSiteValue} OnClickSelect={() => { }}\r\n addValueToQueue={SiteNameValueHandler} />}\r\n
:\r\n
\r\n {props.accountDetails?.SiteName} \r\n
}\r\n
\r\n
\r\n\r\n\r\n
\r\n {props.accountDetails.mode !== 'view' ? ValidFromDateHandler(date)}\r\n />\r\n :\r\n <>
\r\n
\r\n
\r\n {props.accountDetails?.ValidFrom} \r\n
\r\n \r\n }\r\n\r\n
\r\n
\r\n {/* {props.accountDetails.ValidTo === null || props.accountDetails.ValidTo === undefined ? */}\r\n {props.accountDetails.mode !== 'view' ? ValidToDateHandler(date)}\r\n />\r\n :\r\n <>
\r\n
\r\n
\r\n {props.accountDetails?.ValidTo} \r\n
\r\n }\r\n
\r\n\r\n {props.accountDetails.mode !== 'view' &&
\r\n
Initial Save
\r\n
\r\n \r\n    \r\n none setShowTooltip(true)} onMouseLeave={() => setShowTooltip(false)} >\r\n \r\n By marking ‘Initial Save’ to YES, you perform the mandatory save of the account record. Once YES is selected, Account name and Site selection become non-editable but you are able to delete the record from your Onboard List (applicable only for records with ‘Saved’ status). Without marking ‘Initial Save’ with YES, the account record will be lost.\r\n \r\n \r\n
\r\n
}\r\n
\r\n
\r\n {showInfobar &&
\r\n
  {validation}
\r\n
setShowInfobar(false)} />
\r\n
}\r\n {showSavedbar &&
\r\n
  {confirmation}
\r\n
setShowSavedbar(false)} />
\r\n
}\r\n \r\n )\r\n};\r\nexport default GeneralInfo\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAQCAYAAAAS7Y8mAAAABHNCSVQICAgIfAhkiAAAAL9JREFUOE+t1OENgyAQBeC6QRnJCXSDuoh/OoEbWFdwgo7gJriBfWe8BsgJh2JyMUTyBY6H1aPgY639gGtQdVXKPdDX4a1F4AAle7oNS6gxprsFn6G05MtwDP3DmNRi8MUWVs1hptAdxqQO7xG1UExSuAZleHNWGcW1aLhi9kU8B3V7zO0Q8VzUS4XTaw/HYEDxjdrDTzlNHbIXNwGnlDwdRIWKORZwdtXo6QUR8Cw0evOA0+/vjZrR0z7V0/D7D7hKbjdpScHoAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAbCAYAAAB1NA+iAAAABHNCSVQICAgIfAhkiAAAALtJREFUOE+l1MENwjAMhWGHXZgDNiGZrOlInBESIzAAIjQWjRTa2M+ml57+T1FrJ5Dxiccpljed5ntKNQ2WnuNCEzeFckVgoIu5p+vhRWcIGMX5kZ4qIMXqN9BiEUDiIYDGu4Al3gDWuAM8cQO8MQP/xCuQl/m+tJ34zji6IzyJyyncSBtlL9LtggfZLJMV2d1GCzJcZxQR7wMEQS4U8RergDYnECAhMPCLhEBzvqVoAlakvmusXqrIQn0ArZvcS8YE5sUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAQCAYAAAAS7Y8mAAAABHNCSVQICAgIfAhkiAAAANRJREFUOE+t0z0OwiAYBmBwaBy9EonSsd7ATraXcPEEjjpZr+AkTD1Cj9JVBhFISyzh15aJhOQJeb/3g2DBUxPccACKD+QILuUO6GHw+kVgAwUCfcyGbeg1p+Us2IXKOP6GfaiGjwTvWcbaBrV9zDBDqIJruis5h3dx794ZQyE8BlVwRbConj5ePBY1fzzqVjwF1Rn/xGHFU9FJK1z4mmUXkdW4Uar8sqehIU/qZsFlSzYjEotae2zBlZuCOhfExFNR7+ZVr23B4eos0Octp6dQpub7F8qzlAEvT2yjAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAABHNCSVQICAgIfAhkiAAAARFJREFUOE+NlL0VgjAQx3POgpPY+p4biMAM2qq1ra2guIAuYKFjoHPYceYiySMk4ZKCPC53P+7jH0B0K03OpYD2dWnyStu4fZmcduRTvwu1Az0USGCmggHzGCCBQEy2FIKi3RMQLJBOhQH2QTqEgJBOy0wgyMwGKwD0gSiyRZz9y4wEBkBfCZpfP/lDwWKAHMgMgAPKL95RiMWgESYj0+phq4Il244OyMmMy7A794KCMDpYJdXNU5ocfHuom2LjTJ8k6jOGxm98A7JxYCxoRNgWLDR+WdoRcLLmhG1gnI5ihK1gHIidctdDiAXFAH2woI5GgTI7p0y6/XRpfZLp26we6jK1A5WLCM8YkJWhfNE/0x+Y/+QZ/QEsLwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAALCAYAAABPhbxiAAAABHNCSVQICAgIfAhkiAAAAK5JREFUKFNjZCABZOx0W/CfgSGe4T/jAkZi9cE1QTUQpRGLpoVgjRnbPRRmeO54gM12bJpmuO9KYMzY5Zrw/z/jfEbG/4kz3HYvQNaMSxNIDWP6TjegfyEAWTM+TTCNF4AMfWTNwFBzAIceIiAWgpyH7BrGhP0OAuy/2A4ga0ZRwMCAoQlsI4jApRkoiVUTXCM2zfg0oWgEO+8/A2PaHhc+vn9Mf3rcd33FFj0wMQDG8FJ9dFRXuQAAAABJRU5ErkJggg==\"","import React, { useEffect, useState } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { updateGeneralNonvoiceStart } from '../../../../actions/Onboard.action'\r\nimport { OnboardSelect } from '../../OnboardComponents/Dropdown/Select'\r\nimport closeIcon from './../../../../assets/onboard-images/CloseWindow_Hover_State.png'\r\nimport yesIcon from './../../../../assets/onboard-images/Complete_Yes_Icon.png'\r\n\r\nimport './General.css'\r\nconst options = [\r\n { id: 1, value: 'Yes' },\r\n { id: 2, value: 'No' },\r\n\r\n]\r\nconst options2 = [\r\n { id: 1, value: 'Manual' },\r\n { id: 2, value: 'Semi-Automated' },\r\n { id: 3, value: 'Automated' },\r\n]\r\nconst General = (props) => {\r\n\r\n const dispatch = useDispatch();\r\n const accountSiteInfo = useSelector((state) => state.onboardReducer.accountSiteInfo);\r\n let data = (props.GeneralNonvoicedata?.length > 0 ? (props.GeneralNonvoicedata) : []);\r\n\r\n const [GeneralData, setGeneralData] = useState([]);\r\n\r\n const [mode, setMode] = useState(null);\r\n const [doesDataExist, setDoesDataExist] = useState(null);\r\n\r\n const [AddFormGeneral, setAddFormGeneral] = useState();\r\n const [editFormGeneral, setEditFormGeneral] = useState([{\r\n system: '',\r\n version: '',\r\n private: '',\r\n multi: '',\r\n party: '',\r\n type: '',\r\n extract: '',\r\n remarks: '',\r\n }]);\r\n const [validation, setValidation] = useState('');\r\n // const [buttonOne, setButtonOne] = useState('');\r\n // const [buttonTwo, setButtoTwo] = useState('');\r\n const addValueToGeneral = (name, value, id) => {\r\n if (mode === 'create') {\r\n const newFormData = { ...AddFormGeneral };\r\n newFormData[name] = value;\r\n setAddFormGeneral(newFormData);\r\n }\r\n if (mode === 'edit') {\r\n const newFormData = { ...editFormGeneral };\r\n newFormData[name] = value;\r\n setEditFormGeneral(newFormData);\r\n }\r\n }\r\n const [dataSaveBar, setDataSaveBar] = useState(false);\r\n useEffect(() => {\r\n setGeneralData(data)\r\n setDoesDataExist(props.GeneralNonvoicedata.length > 0 ? true : false)\r\n if (props.accountDetails.mode === 'edit') {\r\n setGeneralData([]);\r\n setDoesDataExist(false);\r\n let formValues = {\r\n system: props.GeneralNonvoicedata?.[0]?.[\"system Name\"],\r\n version: props.GeneralNonvoicedata?.[0]?.[\"system Version\"],\r\n private: props.GeneralNonvoicedata?.[0]?.[\"private System Owned by Client\"],\r\n multi: props.GeneralNonvoicedata?.[0]?.[\"multifactor / Othersecurity\"],\r\n party: props.GeneralNonvoicedata?.[0]?.[\"third Party System\"],\r\n type: props.GeneralNonvoicedata?.[0]?.[\"current Type Data Extraction Method\"],\r\n extract: props.GeneralNonvoicedata?.[0]?.[\"current Data Extraction Description\"],\r\n remarks: props.GeneralNonvoicedata?.[0]?.[\"remarks\"]\r\n }\r\n setEditFormGeneral(formValues);\r\n }\r\n setMode(props.accountDetails.mode)\r\n\r\n }, [props.GeneralNonvoicedata])\r\n\r\n const onChangeGeneralInput = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (mode === 'create') {\r\n const newFormData = { ...AddFormGeneral };\r\n newFormData[fieldName] = fieldValue;\r\n if (newFormData[fieldName] === null) setValidation('Please enter the value');\r\n else setValidation('')\r\n setAddFormGeneral(newFormData);\r\n }\r\n\r\n if (mode === 'edit') {\r\n const newFormData = { ...editFormGeneral };\r\n newFormData[fieldName] = fieldValue;\r\n if (newFormData[fieldName] === null) setValidation('Please enter the value');\r\n else setValidation('')\r\n setEditFormGeneral(newFormData);\r\n }\r\n }\r\n\r\n\r\n const onSubmitFormGeneral = (event) => {\r\n event.preventDefault();\r\n let temp_arr =\r\n [{\r\n NonVoiceItem: props.NonVoiceItem, Account: accountSiteInfo.AccountName, ServiceDesk: accountSiteInfo.SiteName,\r\n SystemName: AddFormGeneral.system, SystemVersion: AddFormGeneral.version,\r\n PrivateSystemOwnedbyClient: AddFormGeneral.private, MultifactorOthersecurity: AddFormGeneral.multi,\r\n ThirdPartySystem: AddFormGeneral.party, CurrentTypeDataExtractionMethod: AddFormGeneral.type,\r\n CurrentDataExtractionDescription: AddFormGeneral.extract, Remarks: AddFormGeneral.remarks\r\n }]\r\n let temp_valid = {\r\n SystemName: AddFormGeneral.system, SystemVersion: AddFormGeneral.version,\r\n PrivateSystemOwnedbyClient: AddFormGeneral.private, MultifactorOthersecurity: AddFormGeneral.multi,\r\n ThirdPartySystem: AddFormGeneral.party, CurrentTypeDataExtractionMethod: AddFormGeneral.type,\r\n CurrentDataExtractionDescription: AddFormGeneral.extract\r\n }\r\n\r\n const isEmpty = Object.values(temp_valid).some(temp => (temp === null || temp === '' || temp === undefined));\r\n if (isEmpty) {\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ');\r\n }\r\n else {\r\n setGeneralData(temp_arr);\r\n props.dispatchGeneralHandler(temp_arr)\r\n dispatch(updateGeneralNonvoiceStart(temp_arr))\r\n setValidation('');\r\n setDataSaveBar(true)\r\n setTimeout(() => setDataSaveBar(false), 5000)\r\n }\r\n }\r\n\r\n const onSubmitEditFormGeneral = (event) => {\r\n event.preventDefault();\r\n let temp_arr =\r\n [{\r\n NonVoiceItem: props.NonVoiceItem, Account: accountSiteInfo.AccountName, ServiceDesk: accountSiteInfo.SiteName,\r\n SystemName: editFormGeneral.system, SystemVersion: editFormGeneral.version,\r\n PrivateSystemOwnedbyClient: editFormGeneral.private, MultifactorOthersecurity: editFormGeneral.multi,\r\n ThirdPartySystem: editFormGeneral.party, CurrentTypeDataExtractionMethod: editFormGeneral.type,\r\n CurrentDataExtractionDescription: editFormGeneral.extract, Remarks: editFormGeneral.remarks\r\n }]\r\n let temp_valid = {\r\n SystemName: editFormGeneral.system, SystemVersion: editFormGeneral.version,\r\n PrivateSystemOwnedbyClient: editFormGeneral.private, MultifactorOthersecurity: editFormGeneral.multi,\r\n ThirdPartySystem: editFormGeneral.party, CurrentTypeDataExtractionMethod: editFormGeneral.type,\r\n CurrentDataExtractionDescription: editFormGeneral.extract\r\n }\r\n const isEmpty = Object.values(temp_valid).some(temp => (temp === null || temp === '' || temp === undefined));\r\n if (isEmpty) {\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ');\r\n }\r\n\r\n else {\r\n setGeneralData(temp_arr);\r\n props.dispatchGeneralHandler(temp_arr)\r\n dispatch(updateGeneralNonvoiceStart(temp_arr))\r\n setValidation('')\r\n setDataSaveBar(true)\r\n setTimeout(() => setDataSaveBar(false), 5000)\r\n }\r\n if (mode === 'create') setMode('edit')\r\n }\r\n\r\n const onClickGeneralInput = () => {\r\n setValidation('');\r\n setDoesDataExist(true);\r\n setDoesDataExist(props.GeneralNonvoicedata.length > 0 ? true : false)\r\n if (props.accountDetails.mode === 'edit' || props.accountDetails.mode === 'create') {\r\n setGeneralData([]);\r\n setDoesDataExist(false);\r\n let formValues = {\r\n system: props.GeneralNonvoicedata?.[0]?.[\"system Name\"],\r\n version: props.GeneralNonvoicedata?.[0]?.[\"system Version\"],\r\n private: props.GeneralNonvoicedata?.[0]?.[\"private System Owned by Client\"],\r\n multi: props.GeneralNonvoicedata?.[0]?.[\"multifactor / Othersecurity\"],\r\n party: props.GeneralNonvoicedata?.[0]?.[\"third Party System\"],\r\n type: props.GeneralNonvoicedata?.[0]?.[\"current Type Data Extraction Method\"],\r\n extract: props.GeneralNonvoicedata?.[0]?.[\"current Data Extraction Description\"],\r\n remarks: props.GeneralNonvoicedata?.[0]?.[\"remarks\"]\r\n }\r\n setEditFormGeneral(formValues);\r\n }\r\n if (Object.keys(props.GeneralNonvoicedata?.[0]?.length > 0)) setMode('edit')\r\n\r\n }\r\n const onEditGeneralInput = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...editFormGeneral };\r\n newFormData[fieldName] = fieldValue;\r\n if (newFormData[fieldName] === null) setValidation('Please enter the value');\r\n else setValidation('')\r\n setEditFormGeneral(newFormData);\r\n }\r\n return (\r\n <>\r\n
\r\n {dataSaveBar &&
\r\n
  Data has been saved successfully
\r\n
setDataSaveBar(false)} />
\r\n
}\r\n
\r\n {(validation) &&
{validation}
}\r\n\r\n
\r\n
\r\n
\r\n \r\n {!doesDataExist ? :\r\n
\r\n {GeneralData?.[0]?.[\"system Name\"]} \r\n
}\r\n
\r\n
\r\n\r\n \r\n\r\n {!doesDataExist ? :\r\n
\r\n {GeneralData?.[0]?.[\"system Version\"]} \r\n
\r\n }\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n {!doesDataExist ?\r\n \r\n // \r\n :\r\n
\r\n {GeneralData?.[0]?.[\"private System Owned by Client\"]} \r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n {!doesDataExist ? :\r\n
\r\n {GeneralData?.[0]?.[\"multifactor / Othersecurity\"]} \r\n
\r\n }\r\n
\r\n
\r\n\r\n \r\n\r\n {!doesDataExist ? :\r\n
\r\n {GeneralData?.[0]?.[\"third Party System\"]} \r\n
\r\n }\r\n
\r\n
\r\n\r\n \r\n\r\n {!doesDataExist ? :\r\n
\r\n {GeneralData?.[0]?.[\"current Type Data Extraction Method\"]} \r\n
\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n {!doesDataExist ? :\r\n
\r\n {GeneralData?.[0]?.[\"current Data Extraction Description\"]} \r\n
}\r\n
\r\n
\r\n
\r\n
\r\n \r\n {!doesDataExist ? :\r\n
\r\n {GeneralData?.[0]?.[\"remarks\"]}\r\n
\r\n }\r\n
\r\n\r\n\r\n
\r\n {/*
\r\n
Select a file to upload
\r\n
You can upload only EXCEL (.XLS) files. Maximum upload file size: 5MB.
\r\n
\r\n \r\n \r\n
\r\n
{error}
\r\n {datacard &&
{file.name}\r\n\r\n {(file.size) / 1024} KB del\r\n
}\r\n
*/}\r\n {(mode === 'create') &&
\r\n \r\n \r\n
}\r\n {(mode === 'edit') &&
\r\n \r\n \r\n
}\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\nexport default General;","import React, { useEffect, useState } from 'react';\r\nimport './nonVoice.css';\r\nimport disabledTick from './../../../assets/onboard-images/NonVoice_Items_Disabled_TickMark.png';\r\nimport backArrow from './../../../assets/onboard-images/Back_Arrow.png';\r\nimport activeTick from './../../../assets/onboard-images/NonVoice_Items_Active_TickMark.png';\r\n\r\nimport SLAComponent from './../OnboardComponents/SLAComponents/SLAComponent'\r\nimport SupportHoursMain from './../OnboardComponents/SupportHoursComponent/SupportHoursMain'\r\nimport General from './GeneralTab/General';\r\nimport AccordionHandler from '../OnboardComponents/Accordion/Accordion';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getGeneralNonVoice, getNonVoiceSLAData, getNonVoiceSupportHours, getPreviewOnboard, setWidgetCardNonVoice } from '../../../actions/Onboard.action';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { getAdminSlaTableData, getAdminSupportTableData, getPreviewAdmin } from '../../../actions/Administration/admin.action'\r\n\r\n\r\n\r\n\r\nfunction NonVoiceHandler(props) {\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n const accountSiteInfo = useSelector((state) => state.onboardReducer.accountSiteInfo);\r\n const previewOnboardData = useSelector((state) => state.onboardReducer.previewOnboardData);\r\n const widgetPreviewTab = useSelector((state) => state.onboardReducer.widgetPreviewTab);\r\n let previewAdminData = useSelector((state) => state.adminAccountReducer.previewAdminData);\r\n const [widget, setWidget] = useState();\r\n const widgetHandler = card => {\r\n if (card.isDisabled === false) {\r\n setWidget(card)\r\n props.widgetCardHandler('widget');\r\n }\r\n }\r\n const ACCORDION_INFO = [\r\n {\r\n id: 1,\r\n label: 'General',\r\n Info: \r\n },\r\n {\r\n id: 2,\r\n label: 'SLA/KPIs',\r\n Info: \r\n },\r\n {\r\n id: 3,\r\n label: 'Support Hours',\r\n Info: \r\n },\r\n ]\r\n const nonVoiceTickHandler = (value, tab) => {\r\n return value === 'Yes' ? true : false\r\n }\r\n\r\n\r\n const NON_VOICE_CARDS = [\r\n {\r\n id: 1,\r\n card: 'Chat Tool',\r\n isDisabled: false,\r\n isSaved: nonVoiceTickHandler(location.pathname === '/onboardAccount' ? previewOnboardData?.[0]?.['Non Voice']?.[0]?.Completed : previewAdminData?.[0]?.['Non Voice']?.[0]?.Completed),\r\n label: 'chat'\r\n },\r\n {\r\n id: 2,\r\n card: 'Ticketing Tool',\r\n isDisabled: false,\r\n isSaved: nonVoiceTickHandler(location.pathname === '/onboardAccount' ? previewOnboardData?.[0]?.['Non Voice']?.[1]?.Completed : previewAdminData?.[0]?.['Non Voice']?.[1]?.Completed),\r\n label: 'ticket'\r\n },\r\n\r\n {\r\n id: 3,\r\n card: 'Web Portal',\r\n isDisabled: false,\r\n isSaved: nonVoiceTickHandler(location.pathname === '/onboardAccount' ? previewOnboardData?.[0]?.['Non Voice']?.[2]?.Completed : previewAdminData?.[0]?.['Non Voice']?.[2]?.Completed),\r\n label: 'web'\r\n },\r\n {\r\n id: 4,\r\n card: 'Email',\r\n isDisabled: false,\r\n isSaved: nonVoiceTickHandler(location.pathname === '/onboardAccount' ? previewOnboardData?.[0]?.['Non Voice']?.[3]?.Completed : previewAdminData?.[0]?.['Non Voice']?.[3]?.Completed),\r\n label: 'email'\r\n\r\n },\r\n {\r\n id: 5,\r\n card: 'Customer Survey',\r\n isDisabled: false,\r\n isSaved: nonVoiceTickHandler(location.pathname === '/onboardAccount' ? previewOnboardData?.[0]?.['Non Voice']?.[4]?.Completed : previewAdminData?.[0]?.['Non Voice']?.[4]?.Completed),\r\n label: 'customer'\r\n },\r\n\r\n {\r\n id: 6,\r\n card: 'Transaction Monitoring NON AQUAA',\r\n isDisabled: false,\r\n isSaved: nonVoiceTickHandler(location.pathname === '/onboardAccount' ? previewOnboardData?.[0]?.['Non Voice']?.[5]?.Completed : previewAdminData?.[0]?.['Non Voice']?.[5]?.Completed),\r\n label: 'non_aquaa'\r\n },\r\n {\r\n id: 7,\r\n card: 'Workforce Management (Scheduling)',\r\n isDisabled: false,\r\n isSaved: nonVoiceTickHandler(location.pathname === '/onboardAccount' ? previewOnboardData?.[0]?.['Non Voice']?.[6]?.Completed : previewAdminData?.[0]?.['Non Voice']?.[6]?.Completed),\r\n label: 'workforce'\r\n },\r\n\r\n {\r\n id: 8,\r\n card: 'Workforce / HR Data',\r\n isDisabled: true,\r\n isSaved: false,\r\n label: 'agent'\r\n },\r\n {\r\n id: 9,\r\n card: 'Finance Data',\r\n isDisabled: true,\r\n isSaved: false,\r\n label: 'finance'\r\n },\r\n {\r\n id: 10,\r\n card: 'Agent / Staff Administration',\r\n isDisabled: true,\r\n isSaved: false,\r\n label: 'AQUAA'\r\n },\r\n {\r\n id: 11,\r\n card: 'Transaction Monitoring AQUAA',\r\n isDisabled: true,\r\n isSaved: false,\r\n label: 'monitor'\r\n },\r\n ]\r\n\r\n useEffect(() => {\r\n NON_VOICE_CARDS.map(card => {\r\n if (widgetPreviewTab === card.card)\r\n setWidget(card)\r\n else setWidget()\r\n })\r\n }, [])\r\n\r\n const OnClickWidgetHandler = (card) => {\r\n if (location.pathname === '/onboardAccount') {\r\n dispatch(getNonVoiceSupportHours(accountSiteInfo.AccountName, accountSiteInfo.SiteName, card.card));\r\n dispatch(getNonVoiceSLAData(accountSiteInfo.AccountName, accountSiteInfo.SiteName, card.card))\r\n }\r\n if(location.pathname === '/admin/account'){\r\n dispatch(getAdminSlaTableData(accountSiteInfo.AccountName, accountSiteInfo.SiteName, 'Non-Voice', card?.card));\r\n dispatch(getAdminSupportTableData(accountSiteInfo.AccountName, accountSiteInfo.SiteName, 'Non-Voice', card?.card));\r\n }\r\n dispatch(getGeneralNonVoice(accountSiteInfo.AccountName, accountSiteInfo.SiteName, card.card))\r\n dispatch(getPreviewOnboard(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n dispatch(getPreviewAdmin(accountSiteInfo.AccountName, accountSiteInfo.SiteName))\r\n dispatch(setWidgetCardNonVoice(card))\r\n widgetHandler(card)\r\n }\r\n return (<>\r\n
During the Account Onboarding and Administration process populate only Voice and Non-Voice channels that are applicable for selected account and site. Non-applicable channels can be left blank.
\r\n {!widget ?
Non Voice Item
    \r\n {NON_VOICE_CARDS.map(card => (\r\n
  • { OnClickWidgetHandler(card) }}>{card.card} \r\n
    \r\n
  • \r\n ))}\r\n
\r\n
Note: Greyed out items related data feed is managed globally
\r\n
:\r\n
\r\n {widget &&
\r\n {\r\n setWidget('')\r\n props.widgetCardHandler('nonvoice');\r\n dispatch(getPreviewOnboard(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n dispatch(getPreviewAdmin(accountSiteInfo.AccountName, accountSiteInfo.SiteName))\r\n }}>\r\n \r\n {widget.card}\r\n {widget.label === 'chat' && }\r\n {widget.label === 'workforce' && }\r\n {widget.label === 'ticket' && }\r\n {widget.label === 'email' && }\r\n {widget.label === 'customer' && }\r\n {widget.label === 'non_aquaa' && }\r\n {widget.label === 'web' && }\r\n\r\n
}\r\n
\r\n }\r\n )\r\n}\r\n\r\nexport default NonVoiceHandler;","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAABHNCSVQICAgIfAhkiAAAAMpJREFUKFNjZEADCSrzD/xnYLBHF2dkYHBccCfxALI4UAwVwDQDDbjIxMDwAUgbAFXwY9UMVQxUAwcgxQJAfAGIPwAxOh+skPE/w0LGeJX5yBrRHYKTD3RJIyPQZgeg7v1g04D+IqDbAKi2H+wlFoYAsJ9hti+8k4gRBsiGwSwCKjoIDDwHDM0JqvMN/v7/z8/8h/HiggeJH5D5DCwMIJv349YMjSpY6MJCH+alUc3UjCp8iQRvPAM1ouQaLAaB0rwB1ngmNmHDNAMA9BG+fXUXSvUAAAAASUVORK5CYII=\"","import React, { useEffect, useState } from 'react';\r\nimport \"./Preview\";\r\nimport InformationIcon from \"./../../../../assets/images/Information_Icon.png\";\r\nimport ToolTip from 'react-power-tooltip';\r\nimport TooltipHandler from '../TooltipHandler';\r\n\r\nconst Toggle = (props) => {\r\n const [showTooltip, setShowTooltip] = useState(false)\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n none setShowTooltip(true)} onMouseLeave={() => setShowTooltip(false)} >\r\n \r\n The toggle button automatically goes to \"YES\" status, once you have made the changes in this section.\r\n Assuming you have fully completed all your desired changes; hereby, you are granting us the approval to proceed with the onboarding.\r\n Once submitted only the administrator can reopen the onboarding.\r\n \r\n \r\n \r\n )\r\n};\r\nexport default Toggle","import React from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useDispatch } from 'react-redux';\r\nimport { setWidgetPreviewTab } from '../../../../actions/Onboard.action';\r\nimport \"./Preview.css\";\r\nimport Toggle from './toggle';\r\n\r\nexport function PreviewCard(props) {\r\n const TableData = props.tableData?.[0]\r\n console.log('TableData',TableData)\r\n return (\r\n <>\r\n \r\n
{props.title}
\r\n \r\n {props.category &&
{props.category}
}\r\n {props.table === false ?\r\n
Complete
:\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
File UploadVolume DataSLAs/KPIs Data
{TableData?.['File Upload']}{TableData?.Volume}{TableData?.['SLA/KPI']}
\r\n
\r\n }\r\n \r\n
\r\n
props.onClick(props.title)}>View Details
\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\n\r\nexport function PreviewNonvoiceCard(props) {\r\n const dispatch = useDispatch()\r\n const TableData = props.tableData\r\n console.log('TableData',TableData)\r\n return (\r\n <>\r\n
{props.title}
\r\n {props.table === false ?\r\n
Complete
:\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
File UploadVolume DataSLAs/KPIs Data
{TableData?.[0]?.Value}{TableData?.[1]?.Value}{TableData?.[2]?.Value}
\r\n
\r\n }\r\n \r\n
\r\n
{\r\n dispatch(setWidgetPreviewTab(props.title))\r\n props.onClick(props.title);\r\n }}>View Details
\r\n
\r\n
\r\n \r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport \"./Preview.css\";\r\nimport deleteIcon from './../../../../assets/images/Delete_Icon.png'\r\nimport success from './../../../../assets/images/Success_Icon.png'\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport { PreviewCard, PreviewNonvoiceCard } from './PreviewCard';\r\nimport { getPreviewOnboard } from '../../../../actions/Onboard.action';\r\nimport { useLocation } from 'react-router';\r\nimport DatePickerHandle from './../KeyboardDatePicker';\r\nimport { saveAccountSite } from './../../../../actions/Onboard.action';\r\nimport { KeyboardDatePicker } from '@material-ui/pickers';\r\n\r\n\r\n\r\nconst PreviewHandler = (props) => {\r\n const [file, setFile] = useState(\"\");\r\n const [error, setError] = useState();\r\n const [datacard, setDatacard] = useState(false);\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n const accountSiteInfo = useSelector((state) => state.onboardReducer.accountSiteInfo);\r\n const previewOnboardData = useSelector((state) => state.onboardReducer.previewOnboardData);\r\n useEffect(() => {\r\n dispatch(getPreviewOnboard(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n }, [dispatch])\r\n function handleUpload(event) {\r\n\r\n if (event.target.files[0].size > 1000000) {\r\n setError('please upload the file lessthan 1MB');\r\n setFile('');\r\n setDatacard(false);\r\n } else {\r\n dispatch({ type: \"SETIMG\", payload: event.target.files[0] })\r\n console.log(event.target.files[0])\r\n setFile(event.target.files[0]);\r\n setError('')\r\n setDatacard(true);\r\n }\r\n }\r\n function deleteHandler() {\r\n setFile('');\r\n setDatacard(false);\r\n }\r\n\r\n const previewToggleHandler = (value, tab) => {\r\n return value === 'Yes' ? true : false\r\n }\r\n const OnCheckPreviewContract = (event) => {\r\n const checked = event.target.checked;\r\n props.onCheckContractPreview(checked)\r\n }\r\n \r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n };\r\n const [ValidTo, setValidTo] = useState(new Date(accountSiteInfo?.ValidTo));\r\n\r\n const ValidationDatehandler = (valid, date) => {\r\n let temp_Arr = { ...accountSiteInfo };\r\n temp_Arr[valid] = formatDate(date);\r\n setValidTo(formatDate(date));\r\n dispatch(saveAccountSite(temp_Arr));\r\n }\r\n useEffect(() => {\r\n props.dispatchFileUpload(file)\r\n}, [file,props])\r\n\r\n\r\n return (\r\n
\r\n {location.pathname === '/onboardAccount' ? <>
This page enables to view the previous steps filled status/update.
\r\n Don’t forget to save you work.

\r\n
\r\n
\r\n
\r\n \r\n
Non Voice
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
: \r\n <>\r\n
\r\n \r\n
Valid To
\r\n \r\n
NOTE: For changes in valid to date to became effective, make sure you press “UPDATE” Button on this page.
\r\n
\r\n
\r\n {/* ValidationDatehandler('ValidTo', date)}\r\n /> */}\r\n ValidationDatehandler('ValidTo', date)}\r\n // minDate={new Date('01/01/2020')}\r\n format=\"MM/DD/YYYY\"\r\n />\r\n
\r\n \r\n
\r\n \r\n }\r\n
\r\n
\r\n \r\n
Account Logo
\r\n \r\n
Select a file to upload
\r\n
You can upload only PNG, GIF and JPEG files. Maximum upload file size: 1MB.
\r\n
\r\n \r\n \r\n
\r\n
{error}
\r\n {datacard &&
{file.name}\r\n {(file.size) / 1024} KB del\r\n
}\r\n \r\n
\r\n
\r\n
\r\n {location.pathname === '/onboardAccount' ?
\r\n \r\n \r\n
: ''}\r\n\r\n
\r\n
\r\n
\r\n )\r\n}\r\nexport default PreviewHandler","import React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport './General.css';\r\n\r\n\r\n\r\nfunction AdminBreadcrumb({\r\n isActive2, isActive3, isActive4, isActive5,isActive6,\r\n value1, value2, value3, value4, value5, value6,\r\n label1, label2, label3, label4, label5,label6 }) {\r\n const history = useHistory();\r\n return (<>\r\n
\r\n {label1} \r\n {` / `} {label2}\r\n {label3 && {` / `} {label3}}\r\n {label4 && {` / `} {label4}}\r\n {label5 && {` / `} {label5}}\r\n {label6 && {` / `} {label6}}\r\n
\r\n\r\n\r\n \r\n\r\n )\r\n}\r\n\r\nexport default AdminBreadcrumb","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAfVJREFUSEtjZMAD/v//rwaUDgJiOyDWBmJpIGYG4ldAfB2IDwHxOkZGxgu4jGHEJgE0WAMoXg/EEfgcgCS3DshuAFp0GV09hgVAw9OAimYAMVbLCViYAbRkJrIaFEOAhlcBJVuJdDUuZdVAS9pgknALoC5HsZ0Ci9KBlswC6QdbAA3za2QGC9ZoBApqAS25AbNgOQkRSqzHVgAtiGSEJsWbxOpCVrfq5gwGSylXBlleZVza1UEWVABl20m1YOGVHobjz3YzcLHwMBSaduGypBJkwTag4Z6kWAAzHKZHTVCPoci0G5sR20EWPATKyGGT/fbnC8O+hxsYfJRj4NLohsvwKoENB/kEC3gEsuAPUAKU/VEAyPD+02UMjz/fBYazG0O8TjEDiYaDzPsLsuA/Nqv7Tpcy3Hp/CS4lzCnO8Pb7SzifgMth6sAWgHSJoVsCcjnIku9/vmLYT6ThIH3gIDoAZNhj8wU2S0gwHGQkOJKbgIxaXKkI2RISDQcZCU6mBkDGeVwWgMRBlqy+MYMhw7AeV2rBpV0dVlSsBaoAVSzUBJCiAmQi0Be6QAqRZCi3BpQyEYUd1JJ0IA2qaKgBUItrmIk0rXCQLCG3ygQFC6jKBFc0MECtSn8F0MBGUAWDHr54K3YczRaQGU+B+CoQw5ott3BFHAAIEtNdvsfK+gAAAABJRU5ErkJggg==\"","import ReactModal from \"react-modal\";\r\nimport \"../QueueTable/TableTemplate.css\";\r\nimport Success_Icon from '../../../../assets/onboard-images/Success_Icon.png'\r\nimport { useLocation } from 'react-router';\r\n\r\nReactModal.setAppElement('#root')\r\nexport function CancelModalPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '40%',\r\n left: '35%',\r\n width: '550px',\r\n height: ' 280px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n\r\nexport function CancelFragment(props) {\r\n const location = useLocation()\r\n return <>\r\n
\r\n
\r\n
\r\n {props.unsavedDataExist ? 'Unsaved Changes' : 'Account not Submitted'}\r\n
\r\n
\r\n
\r\n\r\n {props.unsavedDataExist ?
There are unsaved changes on this page.
\r\n Are you sure you want to cancel the {location.pathname === '/onboardAccount' ? 'Onboarding' : 'Administration of'} {props.accountName} Account\r\n
:\r\n
\r\n Are you sure you want to cancel the {location.pathname === '/onboardAccount' ? 'Onboarding' : 'Administration of'} {props.accountName} Account\r\n
\r\n }\r\n
\r\n {props.unsavedDataExist &&
\r\n \r\n \r\n \r\n
}\r\n {props.noUnsavedData &&
\r\n\r\n \r\n \r\n
}\r\n
\r\n \r\n}\r\n\r\n\r\n\r\nexport function NextButtonFragment(props) {\r\n console.log(\"unsaved data exists: \", props.unsavedDataExist)\r\n\r\n return <>\r\n
\r\n
\r\n
\r\n Unsaved Changes\r\n
\r\n
\r\n
\r\n\r\n
You still have unsaved changes.
\r\n Before proceeding do you wish to save these changes?\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n}\r\n\r\nexport function SuccessModalPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '30%',\r\n left: '35%',\r\n width: '600px',\r\n height: '320px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport rolesImage from './../../../assets/onboard-images/Roles_Normal_Icon.png'\r\nimport rolesHoverImage from './../../../assets/onboard-images/Roles_Hover_and_Selected_Icon.png'\r\nimport voiceImage from './../../../assets/onboard-images/Voice_Normal_Icon.png'\r\nimport voiceHoverImage from './../../../assets/onboard-images/Voice_Hover_and_Selected_Icon.png'\r\nimport nonVoiceImage from './../../../assets/onboard-images/NonVoice_Normal_Icon.png'\r\nimport nonVoiceHoverImage from './../../../assets/onboard-images/NonVoice_Hover_and_Selected_Icon.png'\r\nimport previewImage from './../../../assets/onboard-images/Preview_Normal_Icon.png'\r\nimport previewHoverImage from './../../../assets/onboard-images/Preview_Hover_and_Selected_Icon.png'\r\nimport GeneralInfoImage from './../../../assets/admin-images/GeneralInfo_Normal.png'\r\nimport GeneralInfoHoverImage from './../../../assets/admin-images/GeneralInfo_Selected.png'\r\nimport VoiceHandler from '../VoiceOnboard/VoiceHandler';\r\nimport RoleComponent from '../OnboardComponents/RolesComponent/Rolescomponent';\r\nimport GeneralInfo from '../GeneralInfo/GeneralInfo';\r\nimport NonVoiceHandler from '../NonVoice/NonVoiceHandler';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport closeIcon from './../../../assets/onboard-images/CloseWindow_Hover_State.png'\r\nimport './Navigationbar.css'\r\nimport PreviewHandler from '../OnboardComponents/Preview/Preview';\r\nimport AdminBreadcrumb from '../../Administration/General/Admin-breadcrumb';\r\nimport dataSaveClose_icon from \"./../../../assets/onboard-images/dataSaveClose_icon.png\";\r\nimport dataSave_icon from \"./../../../assets/onboard-images/dataSave_icon.png\";\r\nimport { SuccessFragment } from '../OnboardComponents/Modals/DeleteModalPopup';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport {\r\n getGeneralNonVoice,\r\n getNonVoiceSLAData, getNonVoiceSupportHours, getOnboardValidUser, getPreviewOnboard, getQueueTableData, getRoleTabData, getSLAKPIData, getSupportHoursVoice,\r\n setWidgetCardNonVoice,\r\n updateOnboardSubmitStart, updateOnboardToggleStart, updateRoleDataStart, updateSLADataStart,\r\n updateSupportHoursStart\r\n} from '../../../actions/Onboard.action';\r\nimport { updateQueueTableStart } from './../../../actions/Onboard.action';\r\nimport { CancelFragment, CancelModalPopup, NextButtonFragment, SuccessModalPopup } from '../OnboardComponents/Modals/OnboardButtonsPopup';\r\nimport { getAdminQueueTableData, getAdminSlaTableData, getAdminSupportTableData, getAdminVoiceSlaTableData, getAdminVoiceSupportTableData, getPreviewAdmin, updateAdminQueueTableDataStart, updateAdminSlaTableDataStart, updateAdminSupportTableDataStart, updateAdminUpdateStart } from '../../../actions/Administration/admin.action';\r\n\r\n\r\n\r\nfunction Image({ onClick, src, children, onMouseEnter, onMouseLeave }) {\r\n return <>\r\n \r\n \r\n}\r\n\r\nconst BUTTONS = [\r\n { id: 1, label: 'PREVIOUS' },\r\n { id: 2, label: 'SAVE' },\r\n { id: 3, label: 'CANCEL' },\r\n { id: 4, label: 'NEXT' },\r\n { id: 5, label: 'SUBMIT' },\r\n { id: 6, label: 'UPDATE' },\r\n]\r\n\r\n\r\nfunction Navigationbar() {\r\n const dispatch = useDispatch();\r\n const accountSiteInfo = useSelector((state) => state.onboardReducer.accountSiteInfo);\r\n let roletabdata = useSelector((state) => state.onboardReducer.roleTabData);\r\n const QueueTableData = useSelector((state) => state.onboardReducer.QueueTableData);\r\n const SLAKPIData = useSelector((state) => state.onboardReducer.SLAKPIData);\r\n const supportHoursVoice = useSelector((state) => state.onboardReducer.supportHoursVoice);\r\n const NonVoiceSLAdata = useSelector((state) => state.onboardReducer.NonVoiceSLAdata);\r\n const NonVoiceSupportHours = useSelector((state) => state.onboardReducer.NonVoiceSupportHours);\r\n const GeneralNonvoicedata = useSelector((state) => state.onboardReducer.GeneralNonVoice);\r\n const accountDetails = useSelector((state) => state.onboardReducer.viewAccounts);\r\n const rolesUpdateResponse = useSelector((state) => state.onboardReducer.rolesUpdateResponse);\r\n const queuesUpdateResponse = useSelector((state) => state.onboardReducer.queuesUpdateResponse);\r\n const slaUpdateResponse = useSelector((state) => state.onboardReducer.slaUpdateResponse);\r\n const supportUpdateResponse = useSelector((state) => state.onboardReducer.supportUpdateResponse);\r\n const widgetCard = useSelector((state) => state.onboardReducer.widgetCardNonVoice);\r\n const validforaddingtabrows = useSelector((state) => state.onboardReducer.validforaddingtabrows);\r\n console.log('validforaddingtabrows',validforaddingtabrows)\r\n \r\n\r\n const AdminQueueTableData = useSelector((state) => state.adminAccountReducer.AdminQueueTableData);\r\n const AdminSlaTableData = useSelector((state) => state.adminAccountReducer.AdminSlaTableData);\r\n const AdminSupportTableData = useSelector((state) => state.adminAccountReducer.AdminSupportTableData);\r\n const AdminVoiceSlaTableData = useSelector((state) => state.adminAccountReducer.AdminVoiceSlaTableData);\r\n const AdminVoiceSupportTableData = useSelector((state) => state.adminAccountReducer.AdminVoiceSupportTableData);\r\n const onboardValidUser = useSelector((state) => state.onboardReducer.onboardValidUser);\r\n const previewOnboardData = useSelector((state) => state.onboardReducer.previewOnboardData);\r\n const [generalTab, setGeneralTab] = useState('roles');\r\n\r\n const [rolesImgSrc, setRolesImgSrc] = useState();\r\n const [voiceImgSrc, setVoiceImgSrc] = useState();\r\n const [nonVoiceImgSrc, setNonvoiceImgSrc] = useState();\r\n const [previewImgSrc, setPreviewImgSrc] = useState();\r\n const [showButtons, setShowButtons] = useState([0, 1, 1, 1, 0, 0]);\r\n const [dataSaveInfo, setDataSaveInfo] = useState(false);\r\n const [accountExists, setAccountExists] = useState(false);\r\n\r\n const [showCancelModal, setShowCancelModal] = useState(false);\r\n const [showSubmitModal, setShowSubmitModal] = useState(false);\r\n const [updatedRoleData, setUpdatedRoleData] = useState([]);\r\n const [updatedQueueData, setUpdatedQueueData] = useState([]);\r\n\r\n const [updatedAccountData, setUpdatedAccountData] = useState([]);\r\n const [updatedSupportData, setUpdatedSupportData] = useState([]);\r\n const [updatedGeneralData, setUpdatedGeneralData] = useState([]);\r\n const [updatedFileData, setUpdatedFileData] = useState()\r\n const [previewContract, setPreviewContract] = useState(false);\r\n const [GeneralInfoToggle, setGeneralInfoToggle] = useState(false);\r\n const [previewSubmitBar, setPreviewSubmitBar] = useState(false);\r\n const [previewContractBar, setPreviewContractBar] = useState(false);\r\n const [accountDetailsInfo, setAccountDetailsInfo] = useState({\r\n AccountName: null,\r\n SiteName: null,\r\n ValidFrom: new Date(''),\r\n ValidTo: new Date(''),\r\n mode: 'create',\r\n });\r\n\r\n const history = useHistory();\r\n const location = useLocation();\r\n const dispatchNavigationHandle = () => {\r\n if (location.pathname === '/onboardAccount') {\r\n dispatch(getSLAKPIData(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n dispatch(getRoleTabData(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n dispatch(getQueueTableData(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n dispatch(getSupportHoursVoice(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n dispatch(getNonVoiceSupportHours(accountSiteInfo.AccountName, accountSiteInfo.SiteName, widgetCard.card));\r\n dispatch(getGeneralNonVoice(accountSiteInfo.AccountName, accountSiteInfo.SiteName, widgetCard.card))\r\n dispatch(getNonVoiceSLAData(accountSiteInfo.AccountName, accountSiteInfo.SiteName, widgetCard.card));\r\n }\r\n else {\r\n dispatch(getAdminVoiceSlaTableData(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n dispatch(getRoleTabData(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n dispatch(getAdminQueueTableData(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n dispatch(getAdminVoiceSlaTableData(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n dispatch(getAdminVoiceSupportTableData(accountSiteInfo.AccountName, accountSiteInfo.SiteName, generalTab, widgetCard?.card));\r\n dispatch(getGeneralNonVoice(accountSiteInfo.AccountName, accountSiteInfo.SiteName, widgetCard?.card))\r\n dispatch(getAdminSlaTableData(accountSiteInfo.AccountName, accountSiteInfo.SiteName, generalTab, widgetCard?.card));\r\n }\r\n }\r\n useEffect(() => {\r\n dispatchNavigationHandle()\r\n dispatch(getPreviewOnboard(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n }, [dispatch])\r\n\r\n const ObjectEquateHandle = (data, updatedData) => {\r\n if (data?.length === updatedData?.length) {\r\n const eq = JSON.stringify(data) === JSON.stringify(updatedData)\r\n return eq;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n switch (generalTab) {\r\n case 'roles': {\r\n dispatch(updateRoleDataStart())\r\n setUpdatedQueueData([])\r\n setUpdatedAccountData([]);\r\n setUpdatedSupportData([]);\r\n setRolesImgSrc(rolesHoverImage);\r\n setPreviewImgSrc(location.pathname === '/onboardAccount' ? previewImage : GeneralInfoImage);\r\n setNonvoiceImgSrc(nonVoiceImage);\r\n setVoiceImgSrc(voiceImage);\r\n setShowButtons([0, 1, 1, 1, 0, 0]);\r\n dispatchNavigationHandle();\r\n break;\r\n }\r\n case 'voice': {\r\n dispatch(updateRoleDataStart())\r\n setUpdatedRoleData([])\r\n setUpdatedQueueData([])\r\n setUpdatedAccountData([]);\r\n setUpdatedSupportData([]);\r\n setRolesImgSrc(rolesImage);\r\n setPreviewImgSrc(location.pathname === '/onboardAccount' ? previewImage : GeneralInfoImage);\r\n setNonvoiceImgSrc(nonVoiceImage);\r\n setVoiceImgSrc(voiceHoverImage);\r\n setShowButtons([1, 1, 1, 1, 0, 0]);\r\n dispatchNavigationHandle();\r\n break;\r\n }\r\n case 'nonvoice': {\r\n dispatch(updateRoleDataStart())\r\n setUpdatedRoleData([])\r\n setUpdatedQueueData([])\r\n setUpdatedAccountData([]);\r\n setUpdatedSupportData([]);\r\n setRolesImgSrc(rolesImage);\r\n setPreviewImgSrc(location.pathname === '/onboardAccount' ? previewImage : GeneralInfoImage);\r\n setNonvoiceImgSrc(nonVoiceHoverImage);\r\n setVoiceImgSrc(voiceImage);\r\n widgetCardHandler()\r\n dispatchNavigationHandle()\r\n dispatch(getPreviewAdmin(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n break;\r\n }\r\n case 'preview': {\r\n dispatch(updateRoleDataStart())\r\n setUpdatedRoleData([])\r\n setUpdatedQueueData([])\r\n setUpdatedAccountData([]);\r\n setUpdatedSupportData([]);\r\n setRolesImgSrc(rolesImage);\r\n setPreviewImgSrc(location.pathname === '/onboardAccount' ? previewHoverImage : GeneralInfoHoverImage);\r\n setNonvoiceImgSrc(nonVoiceImage);\r\n setVoiceImgSrc(voiceImage);\r\n location.pathname === '/onboardAccount' ? setShowButtons([1, 0, 0, 0, 1, 0]) : setShowButtons([1, 0, 0, 0, 0, 1]);\r\n dispatchNavigationHandle()\r\n break;\r\n }\r\n default: { }\r\n }\r\n }, [generalTab]);\r\n const [showInfoBar, setShowInfoBar] = useState(false);\r\n\r\nconst GeneralInfoToggleWithPath = location.pathname === '/onboardAccount' ? GeneralInfoToggle : true\r\n\r\n useEffect(() => {\r\n if (accountDetails) {\r\n (accountDetails.mode === 'create') ? setShowInfoBar(false) : setShowInfoBar(true);\r\n if (accountDetails.mode === 'edit' || accountDetails.mode === 'view') {\r\n setGeneralTab('roles')\r\n }\r\n else {\r\n setUpdatedRoleData([])\r\n setGeneralTab('preview')\r\n }\r\n }\r\n\r\n setTimeout(() => {\r\n setShowInfoBar(false)\r\n }, 10000)\r\n }, [accountDetails])\r\n const widgetCardHandler = (widget) => {\r\n switch (widget) {\r\n case 'nonvoice': setShowButtons([1, 0, 1, 1, 0, 0]); break;\r\n case 'widget': setShowButtons([1, 1, 1, 1, 0, 0]); break;\r\n default: setShowButtons([1, 0, 1, 1, 0, 0]);\r\n }\r\n }\r\n const onboardTabHandler = () => {\r\n // if (updatedRoleData?..length > 0 || updatedQueueData.length > 0 || updatedAccountData.length > 0 || updatedSupportData.length > 0) {\r\n // dispatch(updateRoleDataStart(updatedRoleData));\r\n // location.pathname === '/onboardAccount' ? dispatch(updateQueueTableStart(updatedQueueData)) : dispatch(updateAdminQueueTableDataStart(updatedQueueData));\r\n // location.pathname === '/onboardAccount' ? dispatch(updateSLADataStart(updatedAccountData)) : dispatch(updateAdminSlaTableDataStart(updatedAccountData));\r\n // location.pathname === '/onboardAccount' ? dispatch(updateSupportHoursStart(updatedSupportData)) : dispatch(updateAdminSupportTableDataStart(updatedSupportData));\r\n // }\r\n switch (generalTab) {\r\n case 'roles':\r\n return {\r\n setUpdatedRoleData(data)\r\n }} roletabdata={roletabdata} GeneralInfoToggle={GeneralInfoToggleWithPath}\r\n accountDetails={Object.keys(accountDetails).length > 0 ? accountDetails : accountDetailsInfo}\r\n />\r\n\r\n case 'voice':\r\n return {\r\n setUpdatedAccountData(data)\r\n }}\r\n dispatchSupportHandler={(data) => {\r\n setUpdatedSupportData(data)\r\n }}\r\n DispatchQueuehandler={(data) => {\r\n setUpdatedQueueData(data);\r\n }}\r\n accountDetails={Object.keys(accountDetails).length > 0 ? accountDetails : accountDetailsInfo}\r\n QueueTableData={location.pathname === '/onboardAccount' ? QueueTableData : AdminQueueTableData}\r\n supportHoursVoice={location.pathname === '/onboardAccount' ? supportHoursVoice : AdminVoiceSupportTableData}\r\n voiceSLAData={location.pathname === '/onboardAccount' ? SLAKPIData : AdminVoiceSlaTableData}\r\n />\r\n\r\n\r\n case 'nonvoice':\r\n return \r\n setUpdatedGeneralData(data)\r\n }\r\n dispatchAccountHandler={(data) => {\r\n setUpdatedAccountData(data)\r\n }}\r\n dispatchSupportHandler={(data) => {\r\n setUpdatedSupportData(data)\r\n }}\r\n accountDetails={Object.keys(accountDetails).length > 0 ? accountDetails : accountDetailsInfo}\r\n widgetCardHandler={widgetCardHandler} GeneralNonvoicedata={GeneralNonvoicedata}\r\n supportHoursVoice={location.pathname === '/onboardAccount' ? NonVoiceSupportHours : AdminSupportTableData}\r\n voiceSLAData={location.pathname === '/onboardAccount' ? NonVoiceSLAdata : AdminSlaTableData}\r\n />\r\n case 'preview':\r\n return setPreviewContract(checked)} \r\n dispatchFileUpload={data =>\r\n setUpdatedFileData(data)\r\n }\r\n />;\r\n default: { }\r\n }\r\n }\r\n\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n };\r\n\r\n const onClickViewDetails = title => {\r\n switch (title) {\r\n case 'Roles': setGeneralTab('roles'); break;\r\n case 'Voice': setGeneralTab('voice'); break;\r\n default: setGeneralTab('nonvoice');\r\n }\r\n }\r\n\r\n const generaltabRows = ['roles', 'voice', 'nonvoice', 'preview'];\r\n const saveButtonHandler = () => {\r\n dispatch(getOnboardValidUser(accountSiteInfo.AccountName, accountSiteInfo.SiteName))\r\n let isAccountExist = onboardValidUser?.[0]?.column1 === 'Invalid User'\r\n if (generalTab === 'roles' && isAccountExist) {\r\n setDataSaveInfo(false)\r\n setAccountExists(true)\r\n }\r\n else {\r\n setAccountExists(false)\r\n setDataSaveInfo(true)\r\n }\r\n\r\n // window.scroll({\r\n // top: 0,\r\n // left: 0,\r\n // behavior: 'smooth'\r\n // });\r\n switch (generalTab) {\r\n case 'roles':\r\n console.log('post data:::::::::',updatedRoleData)\r\n dispatch(updateRoleDataStart(updatedRoleData))\r\n break;\r\n case 'nonvoice':\r\n case 'voice':\r\n if (updatedQueueData.length > 0) {\r\n location.pathname === '/onboardAccount' ? dispatch(updateQueueTableStart(updatedQueueData)) : dispatch(updateAdminQueueTableDataStart(updatedQueueData));\r\n }\r\n if (updatedAccountData.length > 0) {\r\n location.pathname === '/onboardAccount' ? dispatch(updateSLADataStart(updatedAccountData)) : dispatch(updateAdminSlaTableDataStart(updatedAccountData));\r\n }\r\n if (updatedSupportData.length > 0) {\r\n location.pathname === '/onboardAccount' ? dispatch(updateSupportHoursStart(updatedSupportData)) : dispatch(updateAdminSupportTableDataStart(updatedSupportData));\r\n }\r\n break;\r\n default: { }\r\n }\r\n dispatch(getPreviewOnboard(accountSiteInfo.AccountName, accountSiteInfo.SiteName));\r\n dispatch(getPreviewAdmin(accountSiteInfo.AccountName, accountSiteInfo.SiteName))\r\n let index = generaltabRows.indexOf(generalTab);\r\n let currentTab = generaltabRows[index + 1];\r\n setGeneralTab(currentTab);\r\n }\r\n \r\n const [noUnsavedData, setNoUnsavedData] = useState(null);\r\n const [unsavedDataExist, setUnsavedDataExist] = useState(null);\r\n const [showNextModal, setShowNextModal] = useState(null);\r\n const [showTabModal, setShowTabModal] = useState(false);\r\n const [buttonMode, setButtonMode] = useState(null);\r\n const [tabForYesButton, setTabForYesButton] = useState(null);\r\n\r\n const rolesValidation_1 = ObjectEquateHandle(rolesUpdateResponse?.[0]?.Details, updatedRoleData?.[0]?.Details);\r\n\r\n const voiceValidation_1 = updatedQueueData.length === 0 && updatedAccountData.length === 0 && updatedSupportData.length === 0;\r\n const voiceValidation_2 = updatedQueueData.length !== 0 || updatedAccountData.length !== 0 || updatedSupportData.length !== 0;\r\n const voiceValidation_3 = ObjectEquateHandle(queuesUpdateResponse?.[0]?.Details, updatedQueueData?.[0]?.Details) && ObjectEquateHandle(slaUpdateResponse?.[0]?.Details, updatedAccountData?.[0]?.Details) && ObjectEquateHandle(supportUpdateResponse?.[0]?.Details, updatedSupportData?.[0]?.Details)\r\n const voiceValidation_4 = ObjectEquateHandle(queuesUpdateResponse?.[0]?.Details, updatedQueueData?.[0]?.Details) || ObjectEquateHandle(slaUpdateResponse?.[0]?.Details, updatedAccountData?.[0]?.Details) || ObjectEquateHandle(supportUpdateResponse?.[0]?.Details, updatedSupportData?.[0]?.Details)\r\n\r\n \r\n\r\n const nonvoiceValidation_1 = updatedAccountData.length === 0 && updatedSupportData.length === 0;\r\n const nonvoiceValidation_2 = updatedAccountData.length !== 0 || updatedSupportData.length !== 0;\r\n const nonvoiceValidation_3 = ObjectEquateHandle(slaUpdateResponse?.[0]?.Details, updatedAccountData?.[0]?.Details) && ObjectEquateHandle(supportUpdateResponse?.[0]?.Details, updatedSupportData?.[0]?.Details)\r\n const nonvoiceValidation_4 = ObjectEquateHandle(slaUpdateResponse?.[0]?.Details, updatedAccountData?.[0]?.Details) || ObjectEquateHandle(supportUpdateResponse?.[0]?.Details, updatedSupportData?.[0]?.Details)\r\n\r\n\r\n const OnboardCancelButtonHandle = () => {\r\n switch (generalTab) {\r\n case 'roles': {\r\n setShowCancelModal(true);\r\n if (rolesValidation_1) {\r\n setNoUnsavedData(true)\r\n setUnsavedDataExist(false);\r\n }\r\n else {\r\n setUnsavedDataExist(true);\r\n setNoUnsavedData(false);\r\n }\r\n break\r\n }\r\n case 'voice': {\r\n setShowCancelModal(true);\r\n if (voiceValidation_1) {\r\n setNoUnsavedData(true)\r\n setUnsavedDataExist(false);\r\n }\r\n if (voiceValidation_4) {\r\n setUnsavedDataExist(true);\r\n setNoUnsavedData(false);\r\n }\r\n if (voiceValidation_3) {\r\n setNoUnsavedData(true)\r\n setUnsavedDataExist(false);\r\n }\r\n break\r\n }\r\n case 'nonvoice': {\r\n setShowCancelModal(true);\r\n if (nonvoiceValidation_1) {\r\n setNoUnsavedData(true)\r\n setUnsavedDataExist(false);\r\n }\r\n if (nonvoiceValidation_4) {\r\n setUnsavedDataExist(true);\r\n setNoUnsavedData(false);\r\n }\r\n if (nonvoiceValidation_3) {\r\n setNoUnsavedData(true)\r\n setUnsavedDataExist(false);\r\n }\r\n break\r\n }\r\n default: { }\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n const cancelButtonHandler = () => {\r\n dispatchNavigationHandle();\r\n location.pathname === '/onboardAccount' ? history.push('/onboard') : history.push('/admin');\r\n setShowCancelModal(false);\r\n }\r\n const tabChangeHandle = (button) => {\r\n if (button === 'next') {\r\n let index = generaltabRows.indexOf(generalTab);\r\n let currentTab = generaltabRows[index + 1];\r\n setGeneralTab(currentTab);\r\n }\r\n else {\r\n let index = generaltabRows.indexOf(generalTab);\r\n let currentTab = generaltabRows[index - 1];\r\n setGeneralTab(currentTab);\r\n }\r\n }\r\n\r\n const ValidationManager = (valid1, valid2, valid3, valid4, btn) => {\r\n if (valid1) {\r\n tabChangeHandle(btn)\r\n setUnsavedDataExist(false);\r\n }\r\n if (valid2) {\r\n setUnsavedDataExist(true);\r\n setShowNextModal(true);\r\n }\r\n\r\n if (valid3) {\r\n tabChangeHandle(btn);\r\n setShowNextModal(false);\r\n setUnsavedDataExist(false);\r\n }\r\n if (valid4) {\r\n setUnsavedDataExist(true);\r\n }\r\n\r\n }\r\n const onboardNextButtonHandle = () => {\r\n switch (generalTab) {\r\n case 'roles': {\r\n if (rolesValidation_1) {\r\n setUnsavedDataExist(false);\r\n tabChangeHandle('next')\r\n }\r\n if (!rolesValidation_1) {\r\n setShowNextModal(true);\r\n setUnsavedDataExist(true);\r\n }\r\n break\r\n }\r\n case 'voice': {\r\n ValidationManager(voiceValidation_1, voiceValidation_2, voiceValidation_3, voiceValidation_4, 'next')\r\n break\r\n }\r\n case 'nonvoice': {\r\n ValidationManager(nonvoiceValidation_1, nonvoiceValidation_2, nonvoiceValidation_3, nonvoiceValidation_4, 'next')\r\n break\r\n }\r\n default: { }\r\n }\r\n }\r\n// const TabValidate = rolesValidation_1 && voiceValidation_3 && nonvoiceValidation_3\r\nconst tabValidate = updatedRoleData?.[0]?.Details === undefined && updatedQueueData?.[0]?.Details === undefined && updatedAccountData?.[0]?.Details === undefined && updatedSupportData?.[0]?.Details === undefined\r\n//console.log('............',TabValidate,tabValidate)\r\n const onboarTabButtonHandle = (tab) => {\r\n if(!tabValidate){\r\n setShowTabModal(true);\r\n setTabForYesButton(tab)\r\n }\r\n else{\r\n setGeneralTab(tab)\r\n }\r\n \r\n \r\n }\r\n console.log('mmmmmmmmmmmm',rolesValidation_1,voiceValidation_3,nonvoiceValidation_3, rolesValidation_1 && voiceValidation_3 && nonvoiceValidation_3,slaUpdateResponse?.[0]?.Details, updatedAccountData?.[0]?.Details)\r\n \r\n const tabYesButtonHandle = () => {\r\n saveButtonHandler();\r\n setShowTabModal(false);\r\n dispatch(updateRoleDataStart())\r\n setUpdatedRoleData([]);\r\n setUpdatedQueueData([]);\r\n setUpdatedAccountData([]);\r\n setUpdatedSupportData([]);\r\n setGeneralTab(tabForYesButton)\r\n }\r\n\r\n const tabNoButtonHandle = () => {\r\n setShowTabModal(false)\r\n setUpdatedRoleData([]);\r\n setUpdatedQueueData([]);\r\n setUpdatedAccountData([]);\r\n setUpdatedSupportData([]);\r\n setGeneralTab(tabForYesButton)\r\n }\r\n\r\n const onboardPreviousButtonHandle = () => {\r\n switch (generalTab) {\r\n case 'voice': {\r\n ValidationManager(voiceValidation_1, voiceValidation_2, voiceValidation_3, voiceValidation_4, 'previous')\r\n break\r\n }\r\n case 'nonvoice': {\r\n ValidationManager(nonvoiceValidation_1, nonvoiceValidation_2, nonvoiceValidation_3, nonvoiceValidation_4, 'previous')\r\n break;\r\n }\r\n case 'preview': {\r\n tabChangeHandle('previous');\r\n break;\r\n }\r\n default: { }\r\n }\r\n }\r\n\r\n\r\n const nextSaveButtonHandle = () => {\r\n saveButtonHandler();\r\n setUnsavedDataExist(false);\r\n setShowNextModal(false);\r\n buttonMode === 'next' ? tabChangeHandle('next') : tabChangeHandle('previous')\r\n }\r\n const nextNoButtonHandle = () => {\r\n setShowNextModal(false);\r\n buttonMode === 'next' ? tabChangeHandle('next') : tabChangeHandle('previous')\r\n\r\n }\r\n const nextButtonHandler = () => {\r\n setShowNextModal(false);\r\n tabChangeHandle('next')\r\n }\r\n const submitPreviewHandle = () => {\r\n if (location.pathname === '/onboardAccount') {\r\n\r\n if (previewContract && GeneralInfoToggle) setShowSubmitModal(true)\r\n if (!GeneralInfoToggle) {\r\n setPreviewSubmitBar(true);\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n }\r\n if (!previewContract) {\r\n setPreviewContractBar(true);\r\n }\r\n }\r\n if (location.pathname === '/admin/account') {\r\n const temp_Arr = [{\r\n Account: accountSiteInfo.AccountName,\r\n Servicedesk: accountSiteInfo.SiteName,\r\n ValidFrom: accountSiteInfo.ValidFrom,\r\n ValidTo: accountSiteInfo.ValidTo,\r\n }];\r\n dispatch(updateOnboardToggleStart(temp_Arr));\r\n setShowSubmitModal(true)\r\n }\r\n }\r\n\r\n const handleSubmission = () => {\r\n\t\tconst formData = new FormData();\r\n\r\n\t\tformData.append('File', updatedFileData);\r\n\r\n\t\tfetch(\r\n\t\t\t`${\r\n process.env.REACT_APP_BASE_URL\r\n }/api/org/customer/${previewOnboardData?.[0]?.CustomerID}/photo`,\r\n\t\t\t{\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\tbody: formData,\r\n\t\t\t}\r\n\t\t)\r\n\t\t\t.then((response) => response.json())\r\n\t\t\t.then((result) => {\r\n\t\t\t\tconsole.log('Success:', result);\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.error('Error:', error);\r\n\t\t\t});\r\n\t};\r\n const submitButtonHandler = () => {\r\n handleSubmission()\r\n let temp_arr = [{\r\n Account: accountSiteInfo.AccountName,\r\n Servicedesk: accountSiteInfo.SiteName,\r\n Status: \"Submitted\",\r\n }]\r\n let temp_arr_admin = [{\r\n Account: accountSiteInfo.AccountName,\r\n Servicedesk: accountSiteInfo.SiteName,\r\n Status: \"Completed\",\r\n }]\r\n location.pathname === '/onboardAccount' ? dispatch(updateOnboardSubmitStart(temp_arr)) : dispatch(updateAdminUpdateStart(temp_arr_admin)); \r\n setShowSubmitModal(false);\r\n location.pathname === '/onboardAccount' ? history.push('/onboard') : history.push('/admin');\r\n }\r\n\r\n const ButtonClickHandler = (button) => {\r\n switch (button) {\r\n case 'next': {\r\n setButtonMode('next')\r\n onboardNextButtonHandle()\r\n break\r\n }\r\n case 'previous': {\r\n setButtonMode('previous')\r\n onboardPreviousButtonHandle()\r\n break\r\n }\r\n case 'submit': submitPreviewHandle(); break;\r\n case 'save': saveButtonHandler(); break;\r\n case 'cancel': OnboardCancelButtonHandle(); break;\r\n case 'update' : submitPreviewHandle(); break;\r\n default: { }\r\n }\r\n }\r\n // var msg = \"Any thing which u want\";\r\n // var customUrl = '';\r\n // window.history.pushState({ \"html\": msg, \"pageTitle\": \"My Title\" }, \"\", customUrl);\r\n // window.onpopstate = function (event) {\r\n // event.preventDefault();\r\n // OnboardCancelButtonHandle()\r\n // }\r\n // window.onbeforeunload = function (event) {\r\n // event.preventDefault();\r\n // dispatch(updateRoleDataStart(updatedRoleData))\r\n //}\r\n\r\n const onboardLabelHandle = () => {\r\n if (accountDetails) {\r\n if (accountDetails.mode === 'edit') return `${accountSiteInfo.AccountName} - EDIT ACCOUNT `\r\n if (accountDetails.mode === 'view') return `${accountSiteInfo.AccountName} - VIEW ACCOUNT `\r\n }\r\n if (Object.keys(accountDetails).length === 0) {\r\n return accountSiteInfo?.AccountName + ' - NEW ACCOUNT'\r\n }\r\n }\r\n\r\n \r\n return (\r\n \r\n
\r\n {location.pathname === '/onboardAccount'\r\n ? history.push('/welcome')} label1='Home' isActive2={true} label2='Onboard' value2={()=>history.push('/onboard')}\r\n isActive3={false} label3={onboardLabelHandle()} /> :\r\n history.push('/welcome')} label1='Home' isActive2={true} value2={()=>history.push('/admin')} label2='Administration'\r\n isActive3={false} label3={accountSiteInfo.AccountName} />\r\n }\r\n
\r\n {location.pathname === '/onboardAccount' ? <>\r\n
\r\n
Onboard - New Account
\r\n {dataSaveInfo &&
\r\n
  Data has been saved successfully
\r\n
setDataSaveInfo(false)} />
\r\n
}\r\n {validforaddingtabrows === true ?
\r\n
  Without marking ‘Initial Save’ with YES, the account record will be lost.
\r\n
\r\n
: ''}\r\n {accountExists &&
\r\n
  {`${accountSiteInfo.AccountName} account already exists with ${accountSiteInfo.SiteName} location`}
\r\n
setAccountExists(false)} />
\r\n
}\r\n {showInfoBar &&
\r\n Please Select Account and Site names with respective Validation dates to {accountDetails?.mode?.toUpperCase() || 'CREATE'} an Account \r\n setShowInfoBar(false)} src={closeIcon} alt='' />\r\n
}\r\n
\r\n
\r\n 0 ? accountDetails : accountDetailsInfo}\r\n generalToggleChange={(checked) => setGeneralInfoToggle(checked)} />
\r\n {previewSubmitBar &&
\r\n
  Please ensure that the toggle is selected in General Informations tab
\r\n
setPreviewSubmitBar(false)} />
\r\n
}\r\n :
\r\n
{accountSiteInfo?.AccountName} - {accountSiteInfo.SiteName}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n
\r\n
\r\n
\r\n
    \r\n onboarTabButtonHandle('roles')}\r\n onMouseEnter={() => generalTab !== 'roles' && setRolesImgSrc(rolesHoverImage)} onMouseLeave={() => generalTab !== 'roles' && setRolesImgSrc(rolesImage)}\r\n >
    \r\n Roles
    \r\n {generalTab === 'roles' &&
    }\r\n onboarTabButtonHandle('voice')}\r\n onMouseEnter={() => generalTab !== 'voice' && setVoiceImgSrc(voiceHoverImage)} onMouseLeave={() => generalTab !== 'voice' && setVoiceImgSrc(voiceImage)}>\r\n
    \r\n Voice
    {generalTab === 'voice' &&
    } \r\n onboarTabButtonHandle('nonvoice')}\r\n onMouseEnter={() => generalTab !== 'nonvoice' && setNonvoiceImgSrc(nonVoiceHoverImage)} onMouseLeave={() => generalTab !== 'nonvoice' && setNonvoiceImgSrc(nonVoiceImage)}>\r\n
    \r\n Non voice
    \r\n {generalTab === 'nonvoice' &&
    } \r\n onboarTabButtonHandle('preview')}\r\n onMouseEnter={() => generalTab !== 'preview' && setPreviewImgSrc(location.pathname === '/onboardAccount' ? previewHoverImage : GeneralInfoHoverImage)} onMouseLeave={() => generalTab !== 'preview' && setPreviewImgSrc(location.pathname === '/onboardAccount' ? previewImage : GeneralInfoImage)}>\r\n
    \r\n {location.pathname === '/onboardAccount' ? 'Preview' : 'Genaral Informations'}
    \r\n {generalTab === 'preview' &&
    } \r\n
\r\n
\r\n\r\n
\r\n {onboardTabHandler()}\r\n
\r\n {previewContractBar &&
\r\n
  Please ensure you are in above agreement with data owner policies.
\r\n
setPreviewContractBar(false)} />
\r\n
}\r\n {accountDetails.mode === 'view' ? '' :
{\r\n BUTTONS.map((button, i) => (\r\n <> {showButtons[i] === 1 && } \r\n ))}
}\r\n
\r\n



\r\n {showCancelModal && \r\n {\r\n saveButtonHandler();\r\n setShowCancelModal(false)\r\n }}\r\n handleDeleteQueue={cancelButtonHandler} handleDeleteQueueCancel={() => setShowCancelModal(false)}\r\n noUnsavedData={noUnsavedData} unsavedDataExist={unsavedDataExist}\r\n />\r\n }\r\n {showNextModal && \r\n \r\n }\r\n {showTabModal && \r\n \r\n }\r\n {showSubmitModal && \r\n \r\n }\r\n
\r\n );\r\n\r\n}\r\n\r\n\r\n\r\nexport default Navigationbar;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAACXBIWXMAAAsTAAALEwEAmpwYAAABuUlEQVQ4jZXUv4saQRQH8O/MColY+ANshVWLYCsINgHTrGCjwVyT+uD+iXDbpcofEP+BI+HCkU7ZJo3NzqSTS0CdheHEdLYHl+GluTFGd283Aws7b4YP8/a9HRARjDG52Wz2ebVajYkIWZ8wDP0wDH07zxljngVBcBVF0UgpNQKARqNxjZQhhPCllJcAQEROp9N553S73esoikaPe7hS6nW5XP5RqVRukyAp5aWU0rfz7Xb7kjEG3mq1PjqOc28XiCgXBMHVer0eJ51ICOEfxvL5/K9ms/mJ12q1ab/fH2UBD1M7hIbDYa9UKv3kAJAFTIMAgBHRflFr3Z9OpzfGmOc2xhj77brujVLqzVPQCZYEHo84CAD48ca4lLNAsZgF6/X6l+M4EaHdbr+PgxIxIYS/XC7fHkOMMczn8w9JbXOCxVXNQo/viX34D5ZU/l6vd56lD3NpkP3YhULh7rDKFgT+/ss8CwRka2xnMBikQnYUi8VVtVr9rpQaE5HNan85nBTgqT5KOiEAcM4fnMlk8o1zbjabzas0KO6EjDHjed6Z67pf97fmYrG42O12L/7nptVae1prz87/AM05kbR6gvu+AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAASxJREFUOE9jZKACyDrsYcPEwJQJNMqZ4T+DOAMjw0sge+8/hn/Tp9nuOEKJFYyUaAbpzT3kWfWfgbEVlzmMDP+rJ9ttbyPXHoocCHRcKtBxs0CWu8qGMlhJuDOIcEgyvPnxnOHYi50Mux+vBrsL6Mg0oCNnk+NIihyYc9jrBShKI1RyGKwlPTHsP/p8O8OKO1NALnw5xXabBFkOzDno1YBVIxPQ6n9Ao5EBshgjgwZQKlyJT4uhUL8bp939F0sZ7n26BpJfCTTxBqmOZMw55PWfVE3I6kFR66eQgNOITQ8WwKOaHHsYcYYgIdMYGWyBSpxIcOA+YAgeJmQsujzZaTDnkGcAMHGtJz6K/wdOsdu+gW4OBFlEl0xCqo+Q1Q/6Ygbk2EFdUMNCk5ZVHQDIxIhypVLjjQAAAABJRU5ErkJggg==\"","import { faTruckMonster } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nclass Datasets { \r\n constructor(){\r\n this.label = '';\r\n this.data = [];\r\n this.fill = true;\r\n this.backgroundColor = [];\r\n this.borderColor = [];\r\n this.tension = 0.1;\r\n this.isPrcntSymbl = [];\r\n }\r\n}\r\n\r\nexport class LineAreaChartModel {\r\n labels = [];\r\n datasets; \r\n constructor(){\r\n this.labels = [];\r\n this.datasets = [new Datasets()]; \r\n }\r\n}\r\nexport const LineAreChartOptions = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n scales: {\r\n x: {\r\n grid: {\r\n display: false,\r\n borderColor: 'white'\r\n },\r\n ticks: {\r\n display: false\r\n }\r\n },\r\n y: {\r\n beginAtZero: true,\r\n grid: {\r\n display: false,\r\n borderColor: 'white'\r\n },\r\n ticks: {\r\n display: false\r\n }\r\n }\r\n }, \r\n plugins:{\r\n tooltip: {\r\n //yAlign: 'bottom',\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: {weight: '400'},\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize:5,\r\n bodyFont: {weight: 'bolder'},\r\n callbacks: {\r\n label: (context) => { \r\n let label = \"\"; \r\n if (context.dataset.isPrcntSymbl[0]) {\r\n label = context.parsed.y + \"%\";\r\n }else{\r\n label = context.parsed.y;\r\n }\r\n return label; \r\n }\r\n }\r\n\r\n } \r\n } \r\n };\r\n\r\n \r\n\r\n export const ModalLineAreChartOptions = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n plugins: {\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: {weight: '400'},\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize:5,\r\n bodyFont: {weight: 'bolder'}\r\n }\r\n },\r\n scales: {\r\n x: {\r\n grid: {\r\n display: false,\r\n borderColor: 'white'\r\n },\r\n ticks: {\r\n display: true\r\n }\r\n },\r\n y: {\r\n beginAtZero: true,\r\n grid: {\r\n display: true,\r\n borderColor: 'white'\r\n },\r\n ticks: {\r\n display: faTruckMonster\r\n }\r\n }\r\n }\r\n };\r\n\r\n export const ModalLineAreChartOptionsTlptip = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n plugins: {\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: {weight: '400'},\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize:5,\r\n bodyFont: {weight: 'bolder'},\r\n callbacks: {\r\n label: (context) => { \r\n let label = \"\"; \r\n if (context.parsed.y) {\r\n label = context.parsed.y + \"%\"\r\n }\r\n return label; \r\n }\r\n }\r\n }\r\n },\r\n scales: {\r\n x: {\r\n grid: {\r\n display: false,\r\n borderColor: 'white'\r\n },\r\n ticks: {\r\n display: true\r\n }\r\n },\r\n y: {\r\n beginAtZero: true,\r\n grid: {\r\n display: true,\r\n borderColor: 'white'\r\n }, \r\n ticks: {\r\n display: faTruckMonster,\r\n callback: function(value, index, values){\r\n return `${value} %`;\r\n }\r\n } \r\n }\r\n }\r\n };\r\n\r\n export const ModalBarChartOptions={\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n plugins:{\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: {weight: '400'},\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize:5,\r\n bodyFont: {weight: 'bolder'}\r\n }\r\n },\r\n legend: {\r\n display: false,\r\n \r\n },\r\n title: {\r\n display: false,\r\n },\r\n scales: {\r\n x: { \r\n stacked: false,\r\n ticks: {\r\n beginAtZero: true,\r\n display: true\r\n },\r\n display: true\r\n }, \r\n y: { \r\n display: true\r\n },\r\n }\r\n };\r\n\r\n\r\n export const ModalBarChartData={\r\n labels: [],\r\n datasets: [{\r\n backgroundColor: ['#00A3E1'],\r\n borderColor: ['#00A3E1'],\r\n borderWidth: 0,\r\n data: []\r\n }]\r\n };","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport './area-card.css';\r\nimport { Line } from \"react-chartjs-2\";\r\nimport { LineAreaChartModel, LineAreChartOptions } from \"../chart-config\";\r\nimport AboveRequiredTargetIcon from \"../../../assets/images/AboveRequiredTarget_Status.png\";\r\nimport AboveMinimalTargetIcon from \"../../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../../assets/images/BelowMinimalTarget_Status.png\";\r\n\r\nconst EDashboardAreaCard = (props) => {\r\nlet defaultChartData = new LineAreaChartModel(); \r\nif(props?.data?.Metric == ('Digital Trans (%)') || props?.data?.Metric == ('First Contact Resolution(%)') || props?.data?.Metric == ('Abondon Rate(%)') || props?.data?.Metric == ('Attrition(%)')){\r\n defaultChartData?.datasets[0]?.isPrcntSymbl.push(true);\r\n}else{\r\n defaultChartData?.datasets[0]?.isPrcntSymbl.push(false);\r\n}\r\n\r\nprops?.data?.Compliance?.map((itm, i)=>{\r\n defaultChartData?.labels.push(itm.YearMonth);\r\n defaultChartData?.datasets[0]?.data?.push(parseFloat(itm.Value1));\r\n}); \r\ndefaultChartData?.datasets[0]?.backgroundColor.push(props?.data?.ComplianceColour);\r\ndefaultChartData?.datasets[0]?.borderColor.push(props?.data?.Compliance[0].border);\r\n\r\n\r\nconst fixDecimals = (num) => {\r\n if(num && num.indexOf('%') > -1){\r\n return num;\r\n }else{\r\n return parseFloat(num).toFixed(2);\r\n // else\r\n // return parseFloat(num);\r\n } \r\n}\r\n\r\nconst fixDecimalVal2 = (num) => {\r\n if(num)\r\n return parseFloat(num).toFixed(2);\r\n else\r\n return parseFloat(num);\r\n }\r\n\r\nconst valClicked = (dt) => {\r\n props.valClicked(dt);\r\n}\r\n\r\n\r\nconst getArrowMark = (color) => {\r\n switch(color){\r\n case '#6CC24A': {\r\n return (\"AbvRqdTgt);\r\n }\r\n case 'Yellow' : {\r\n return (\"AbvMnmlTgt);\r\n }\r\n case '#EA333D' : {\r\n return(\"BlwMnmlTgt);\r\n }\r\n default: {\r\n return(
);\r\n }\r\n }\r\n }\r\n\r\nconst getValColor = (clr) => {\r\n switch(clr){\r\n case '#6CC24A': {\r\n return '#6CC24A';\r\n }\r\n case 'Yellow' : {\r\n return 'yellow';\r\n }\r\n case '#EA333D' : {\r\n return 'red';\r\n }\r\n default: {\r\n return(
);\r\n }\r\n }\r\n}\r\n\r\nconst getReportURL = (metric) => {\r\n switch(metric){\r\n case 'AVG Handle Time(SEC)': {\r\n return '/aht';\r\n }\r\n case 'Digital Trans (%)' : {\r\n return '/digitalTrans';\r\n }\r\n case 'Contacts Per FTE' : {\r\n return '/fte';\r\n }\r\n case 'First Contact Resolution(%)': {\r\n return '/fcr';\r\n }\r\n case 'Abondon Rate(%)' : {\r\n return '/abrate';\r\n }\r\n case 'Cost Per Contact($)' : {\r\n return '/cpc';\r\n }\r\n case 'Penality at Risk($)' : {\r\n return '/penalty';\r\n }\r\n case 'Attrition(%)' : {\r\n return '/attrition';\r\n }\r\n default: {\r\n return;\r\n }\r\n }\r\n}\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {props?.data?.Metric}\r\n
\r\n
\r\n
\r\n
\r\n
VIEW REPORT
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
valClicked(props?.data)} className=\"area-card-val\">{fixDecimals(props?.data?.Value1)}
\r\n
{getArrowMark(props?.data?.Colour)}{fixDecimalVal2(props.data.Value2)}%Last Month
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default EDashboardAreaCard;","import React, { useState, useEffect } from \"react\";\r\nimport {Bar} from 'react-chartjs-2';\r\nimport \"./bar-chart.css\";\r\n\r\n\r\nconst EDashboardBarChart = (props) => {\r\n const { legends, analyticsChartValAddtnlData, analyticsChartValAddtnlTltpData } = props ? props : null; \r\n\r\n const data={\r\n labels: props?.labels,\r\n datasets: [{\r\n backgroundColor: props?.bkgrndClr,\r\n borderColor: props?.bkgrndClr,\r\n borderWidth: 0,\r\n data: props?.chartData\r\n },{\r\n backgroundColor: 'rgb(246,248,250)',\r\n borderColor: 'rgba(246,248,250, 0.5)',\r\n borderWidth: 0,\r\n data: [100, 100, 100, 100, 100, 100]\r\n }],\r\n \r\n \r\n };\r\n\r\nconst tooltip = {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: {weight: '400'},\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize:5,\r\n bodyFont: {weight: 'bolder'},\r\n callbacks:{\r\n title: function(context) {\r\n return (analyticsChartValAddtnlTltpData?.length> 0 ? analyticsChartValAddtnlTltpData[context[0].dataIndex] : null);\r\n },\r\n label: function(context){\r\n return (analyticsChartValAddtnlData?.length> 0 ? analyticsChartValAddtnlData[context.dataIndex] : null);;\r\n }\r\n }\r\n};\r\n\r\nconst options={\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false,\r\n\r\n },\r\n title: {\r\n display: false,\r\n },\r\n plugins: {\r\n tooltip,\r\n },\r\n scales: {\r\n x: { \r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true,\r\n display: false\r\n },\r\n display: false\r\n },\r\n x1: {\r\n position: 'top',\r\n },\r\n y: { \r\n display: true\r\n },\r\n }\r\n};\r\n\r\n return (\r\n
\r\n
\r\n
    \r\n {legends.map((itm,i)=>{\r\n return
  • {itm.lbl}
  • \r\n })}\r\n
\r\n
\r\n
\r\n {\r\n var ctx = chartInstance.chart.ctx;\r\n ctx.fillStyle = 'rgb(53, 53, 53)';\r\n var chartArea = chartInstance.chartArea;\r\n ctx.fillRect(chartArea.left, chartArea.top, chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\r\n }\r\n }} />\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default EDashboardBarChart;","import React from \"react\";\r\nimport './call-type.css';\r\nimport TotalCalls_Icon from '../../../assets/images/TotalCalls_Icon.png'; \r\nimport Accounts_Icon from '../../../assets/images/Accounts_Icon.png';\r\nimport Agents_Icon from '../../../assets/images/Agents_Icon.png';\r\nimport AHT_Icon from '../../../assets/images/AHT_Icon.png';\r\nimport Languages_Icon from '../../../assets/images/Languages_Icon.png';\r\nimport Abandoned_Icon from '../../../assets/images/Abandoned_Icon.png';\r\nimport EDashboardBarChart from \"../BarChart/bar-chart\";\r\n\r\nconst EDashboradCallType = (props) => {\r\n\r\nconst { tileData, chartBkgrndData, barChartData, chartLabelData, chartLegendData, analyticsChartValAddtnlData, analyticsChartValAddtnlTltpData } = props;\r\n\r\n return(\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Total\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Accounts\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Abandoned\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Agents\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"Languages\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"AHT\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\n\r\nexport default EDashboradCallType;","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import React, { useState, useEffect } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport \"./doughnut-cards.css\";\r\nimport { Doughnut } from \"react-chartjs-2\";\r\nimport \"chartjs-plugin-doughnut-innertext\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nconst DoughnutCards = (props) => {\r\n\r\n const history = useHistory();\r\n let chartData;\r\n let firstval,secondVal;\r\n firstval = parseFloat(props?.data?.Value1.split('%')[0]) ? parseFloat(props?.data?.Value1.split('%')[0]) : 0;\r\n secondVal = (100 - firstval);\r\n chartData = [firstval, secondVal];\r\n const showData = chartData[0] + \"%\";\r\n const data1 = {\r\n labels: [],\r\n datasets: [\r\n {\r\n data: chartData,\r\n backgroundColor: [props?.data?.ComplianceColour, \"#DDD\"],\r\n borderColor: [props?.data?.ComplianceColour, \"#DDD\"]\r\n }\r\n ],\r\n text: showData\r\n };\r\n \r\n const options1 = {\r\n responsive: true,\r\n cutout: 47,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false,\r\n position: \"bottom\",\r\n labels: {\r\n fontSize: 18\r\n }\r\n },\r\n centerText: {\r\n color: \"#000\",\r\n value: (props?.data?.Value1),\r\n fontSizeAdjust: 0 \r\n },\r\n layout: {\r\n padding: {\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0\r\n },\r\n margin: {\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0\r\n }\r\n },\r\n plugins: {\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: {weight: '400'},\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize:5,\r\n bodyFont: {weight: 'bolder'},\r\n callbacks: {\r\n label: (context) => {\r\n let label = \"\"; \r\n if (context.parsed) {\r\n label = (isNaN(context.parsed) ? context.parsed : context.parsed.toFixed(2)) + \"%\"\r\n }\r\n return label; \r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n const viewRptClickd = (metric) => {\r\n props.viewRptClicked(metric);\r\n };\r\n\r\n const navigateToReport = (metric) => {\r\n switch(metric){\r\n case 'SLA Compliance' : {\r\n history.push('/sla'); break;\r\n }\r\n case 'CSAT' : {\r\n history.push('/csat'); break;\r\n }\r\n case 'Delivery Support': {\r\n history.push('/delivery'); break;\r\n }\r\n default: {}\r\n }\r\n };\r\n\r\n return ( \r\n
\r\n
\r\n
{props?.data?.Metric}
\r\n
\r\n
\r\n
\r\n
{props?.data?.Label1}
\r\n
\r\n
viewRptClickd(props?.data)}>\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{props?.data?.Label2}
\r\n
\r\n
\r\n
{props?.data?.Value2}
\r\n
\r\n
\r\n
{props?.data?.Label3}
\r\n
\r\n
\r\n
{props?.data?.Value3}
\r\n
\r\n
navigateToReport(props?.data?.Metric)}>\r\n
VIEW REPORT
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DoughnutCards;","import ReactModal from \"react-modal\";\r\n\r\nexport default function ModalPopup({ isOpen, setShowModal,children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '10em',\r\n left: '20em',\r\n width: '1000px',\r\n height: '600px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}","import React from \"react\";\r\nimport \"./analytics.css\";\r\nimport { Chart } from \"react-chartjs-2\";\r\n\r\nconst Analytics = (props) => {\r\n let lbls = [], datasetsVal=[];\r\n if(props && props.data && props.data['trend']){\r\n props.data['trend'].map((itm, idx)=>{\r\n if(idx == 0)\r\n return itm.Data.map(itms=>lbls.push(itms['YearMonth']));\r\n });\r\n }\r\n\r\n if(props && props.data && props.data['pfLoss']){\r\n props.data['pfLoss'].map((itm, idx)=>{ \r\n let obj = {\r\n type: \"line\",\r\n label: \"\",\r\n borderColor: itm.background,\r\n borderWidth: 2,\r\n borderDash: [10, 5],\r\n fill: false,\r\n data: [],\r\n order: idx,\r\n yAxisID: 'linemlns'\r\n };\r\n itm.Data.map(itms=>obj.data.push(itms['value']));\r\n datasetsVal.push(obj);\r\n });\r\n }\r\n\r\n if(props && props.data && props.data['trend']){\r\n props.data['trend'].map((itm, idx)=>{ \r\n let obj = {\r\n type: \"bar\",\r\n label: \"\",\r\n backgroundColor: itm.background,\r\n data: [],\r\n borderColor: itm.background,\r\n borderWidth: 2,\r\n order: idx,\r\n yAxisID: 'y'\r\n };\r\n itm.Data.map(itms=>obj.data.push(parseFloat(itms['PLTrend'])));\r\n datasetsVal.push(obj);\r\n });\r\n }\r\n \r\n const options = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n plugins: {\r\n legend: {\r\n position: \"top\",\r\n },\r\n title: {\r\n display: true,\r\n },\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: {weight: '400'},\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize:5,\r\n bodyFont: {weight: 'bolder'},\r\n callbacks: {\r\n label: (context) => {\r\n if(context && context.dataset.type === 'bar'){ \r\n let label = \"\"; \r\n if (context.parsed.y) {\r\n label = context.parsed.y + \"%\"\r\n }\r\n return label;\r\n }else{\r\n return context.parsed.y;\r\n } \r\n }\r\n }\r\n }\r\n },\r\n scales: { \r\n x: {\r\n stacked: false,\r\n title:{\r\n display: true,\r\n text: `Year/Month`\r\n }\r\n }, \r\n y: {\r\n beginAtZero: true,\r\n stacked: false,\r\n type: 'linear',\r\n position: 'left',\r\n title:{\r\n display: true,\r\n text: `${props?.yaxisfname}`\r\n },\r\n ticks: {\r\n callback: function(value, index, values){\r\n return `${value} ${props?.prcnttxt}`;\r\n }\r\n } \r\n },\r\n linemlns:{\r\n beginAtZero: true,\r\n stacked: false,\r\n type: 'linear',\r\n position: 'right',\r\n title:{\r\n display: true,\r\n text: `${props?.yaxissname}`\r\n },\r\n grid: {\r\n drawOnChartArea: false\r\n } \r\n }\r\n }\r\n };\r\n\r\n const data = {\r\n labels:lbls,\r\n datasets: datasetsVal \r\n };\r\n\r\n return (\r\n
\r\n ;\r\n
\r\n );\r\n};\r\n\r\nexport default Analytics;\r\n","import React, { useState } from 'react';\r\nimport \"./eDashboardfilter.css\";\r\nimport '../../ReportTables/ReportFilters/ReportFilters.css';\r\nimport filterIcon from '../../../assets/images/Filter_Icon.png';\r\nimport downloadIcon from '../../../assets/images/Download.png';\r\nimport RefreshIcon from '../../../assets/images/Reset_Icon.png';\r\nimport Button from '../../ReportTables/ReportFilters/Button';\r\nimport Dropdown from '../../ReportTables/ReportFilters/Dropdown';\r\nimport CustomSelect from \"../../custom-select/custom-select\";\r\nimport reportConstructURLs from '../../../constants/reportURL';\r\nimport { useLocation } from 'react-router-dom';\r\nimport ConstructURLs from '../../../constants/urls';\r\nfunction EDashboardFilter(props) { \r\n const [slctVal, setSlctVal] = useState('');\r\n const [slctValRgn, setSlctValRgn] = useState('');\r\n const [slctValLcnt, setSlctValLcnt] = useState('');\r\n const [yrMnSlctVal, setYrMnthSlctVal] = useState();\r\n const [rgnSlctVal, setRgnSlctVal] = useState(); \r\n\r\n const refreshIconHandler =()=>{ \r\n setSlctVal('SELECT');\r\n setSlctValRgn('SELECT');\r\n setSlctValLcnt('SELECT');\r\n props.refreshHandler(); \r\n };\r\n\r\n const selectedDrpDwnYrMnthHandler = (e) => {\r\n setYrMnthSlctVal(e);\r\n setSlctVal(e);\r\n props?.selectedDrpDwnYrMnthHandler(e);\r\n }\r\n\r\n const selectedDrpDwnRegionHandler = (e) => {\r\n setRgnSlctVal(e);\r\n setSlctValRgn(e);\r\n props?.selectedDrpDwnRegionHandler(e);\r\n }\r\n\r\n const selectedDrpDwnLocationGroupHandler = (e) => {\r\n setSlctValLcnt(e);\r\n props?.selectedDrpDwnLocationHandler(e);\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n \"filter\"\r\n \r\n
\r\n
\r\n

Year & Month

\r\n \r\n
\r\n
\r\n

P & L Region

\r\n \r\n
\r\n
\r\n

Location Group

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default EDashboardFilter;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from \"react\";\r\nimport \"./stacked_bar_line.css\";\r\nimport { Chart } from \"react-chartjs-2\";\r\n\r\nconst StackedBarLineChart = (props) => {\r\n const options = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n tooltips: {\r\n mode: 'x-axis'\r\n },\r\n scales:{\r\n x: {\r\n stacked: true,\r\n title:{\r\n display: true,\r\n text: `Year/Month`\r\n }\r\n },\r\n y: {\r\n beginAtZero: true,\r\n stacked: true,\r\n type: 'linear',\r\n position: 'left',\r\n title:{\r\n display: true,\r\n text: `${props?.chrtTxtName} Metrics Met and Missed`\r\n }\r\n },\r\n metprcnt: {\r\n beginAtZero: true,\r\n stacked: true,\r\n type: 'linear',\r\n position: 'right',\r\n title:{\r\n display: true,\r\n text: `${props?.chrtTxtName} Met %`\r\n },\r\n grid: {\r\n drawOnChartArea: false\r\n },\r\n ticks: {\r\n callback: function(value, index, values){\r\n return `${value} %`;\r\n }\r\n }\r\n }\r\n },\r\n plugins: {\r\n legend: {\r\n position: \"top\",\r\n },\r\n title: {\r\n display: true,\r\n text: \"Jai\",\r\n },\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: {weight: '400'},\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize:5,\r\n bodyFont: {weight: 'bolder'},\r\n callbacks: {\r\n label: (context) => {\r\n if(context.dataset && context.dataset.type === 'line'){\r\n let label = \"\"; \r\n if (context.parsed.y) {\r\n label = context.parsed.y + \"%\"\r\n }\r\n return label; \r\n }else{\r\n return context.parsed.y;\r\n } \r\n }\r\n }\r\n } \r\n }\r\n };\r\n\r\n const data = {\r\n labels: props?.data?.Labels,\r\n datasets: [ \r\n {\r\n type: \"bar\",\r\n label: \"Metrics Met\",\r\n backgroundColor: \"#00A3E1\",\r\n data: props?.data?.MetricMet,\r\n borderColor: \"white\",\r\n borderWidth: 0,\r\n order: 2,\r\n yAxisID: 'y'\r\n },\r\n {\r\n type: \"bar\",\r\n label: \"Missed\",\r\n backgroundColor: \"#ED9B33\",\r\n data: props?.data?.Missed,\r\n borderColor: \"white\",\r\n borderWidth: 0,\r\n order: 3\r\n },\r\n {\r\n type: \"line\",\r\n label: \"Met %\",\r\n borderColor: \"#6CC24A\",\r\n tension: 0.1, \r\n fill: false,\r\n data: props?.data?.MetPrcnt,\r\n order: 1,\r\n yAxisID: 'metprcnt'\r\n }\r\n ] \r\n };\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default StackedBarLineChart;","import React from 'react';\r\nimport {Bar} from 'react-chartjs-2';\r\nimport \"./horizontal-bar-chart.css\";\r\n\r\nconst HorizontalBarChart = (props) => {\r\n \r\n let lbls = [], dt = [];\r\n if(props.data && props.data.length > 0){\r\n props.data.map((itm)=>{\r\n lbls.push(itm.label);\r\n dt.push(itm.Value);\r\n return;\r\n });\r\n }\r\n const data = {\r\n type: \"horizontalBar\",\r\n labels: lbls,\r\n datasets: [\r\n {\r\n label: '',\r\n axis: 'y',\r\n backgroundColor: props?.clr,\r\n borderColor: props?.clr,\r\n borderWidth: 1,\r\n hoverBackgroundColor: props?.clr,\r\n hoverBorderColor: props?.clr,\r\n data: dt,\r\n barThickness: 10\r\n }\r\n ]\r\n };\r\n\r\n return (\r\n
\r\n
{props?.txt}
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default HorizontalBarChart;","import react, { useState, useEffect } from 'react';\r\nimport './pie-chart.css';\r\nimport { Pie } from 'react-chartjs-2';\r\nimport { Link } from \"react-router-dom\";\r\nimport { Line } from \"react-chartjs-2\";\r\nimport { LineAreaChartModel, LineAreChartOptions } from \"../chart-config\";\r\nimport AboveRequiredTargetIcon from \"../../../assets/images/AboveRequiredTarget_Status.png\";\r\nimport AboveMinimalTargetIcon from \"../../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../../assets/images/BelowMinimalTarget_Status.png\";\r\n\r\n\r\nconst PieChart = (props) => {\r\n const labels = [];\r\n const data = [];\r\n let tcvVal, tcvVal2, color;\r\n const backgroundClrs = [];\r\n let defaultLineChartData = new LineAreaChartModel(); \r\n props?.data?.Compliance?.map((itm, i)=>{\r\n defaultLineChartData?.labels.push(itm.YearMonth);\r\n defaultLineChartData?.datasets[0]?.data?.push(parseFloat(itm.Value1));\r\n }); \r\n if(props?.data && props?.data?.ComplianceColour && props?.data?.ComplianceColour[0]?.ComplianceColour)\r\n defaultLineChartData?.datasets[0]?.backgroundColor.push(props?.data?.ComplianceColour[0]?.ComplianceColour);\r\n\r\n if(props?.data['ContactVolume'])\r\n tcvVal = props?.data['ContactVolume'][0]?.Value1 ? props?.data['ContactVolume'][0]?.Value1 : null;\r\n\r\n if(props?.data['ContactVolume']){\r\n tcvVal = props?.data['ContactVolume'][0]?.Value1 ? props?.data['ContactVolume'][0]?.Value1 : null;\r\n tcvVal2 = props?.data['ContactVolume'][0]?.Value2 ? props?.data['ContactVolume'][0]?.Value2 : null;\r\n color = props?.data['ContactVolume'][0]?.Color ? props?.data['ContactVolume'][0]?.Color : null;\r\n } \r\n\r\n props?.data?.Channels?.map((v) => {\r\n labels.push(v?.Lable1);\r\n data.push(v?.Value1);\r\n backgroundClrs.push(v?.Colour);\r\n });\r\n\r\n const options = {\r\n responsive: true, \r\n plugins:{\r\n legend: {\r\n display: false\r\n },\r\n tooltip:{\r\n displayColors: true,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: {weight: '400'},\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize:5,\r\n bodyFont: {weight: 'bolder'}\r\n }\r\n },\r\n maintainAspectRatio: false,\r\n series: {\r\n pie: {\r\n show: true\r\n }\r\n },\r\n legend: {\r\n show: false\r\n },\r\n layout: {\r\n padding: {\r\n top: 50,\r\n left: 0,\r\n right: 0,\r\n bottom: 0\r\n }\r\n }\r\n };\r\n \r\n const gdata = {\r\n labels: labels,\r\n datasets: [\r\n {\r\n label: '# of Votes',\r\n data: data,\r\n backgroundColor: backgroundClrs,\r\n borderColor: backgroundClrs,\r\n borderWidth: 1,\r\n polyline: {\r\n color: \"grey\",\r\n labelColor: \"grey\",\r\n formatter: (value) => `${value}`\r\n }\r\n },\r\n ],\r\n };\r\n\r\n const handleContctVolClick = (data) => {\r\n props.pieChartClicked(data);\r\n };\r\n\r\n const tcvValClicked = (data) => {\r\n props.tcvValueClickedHandler(data);\r\n }\r\n\r\n const getSuitableY = (y, yArray = [], direction) => {\r\n let result = y;\r\n yArray.forEach((existedY) => {\r\n if (existedY - 16 < result && existedY + 16 > result) {\r\n if (direction === \"right\") {\r\n result = existedY + 16;\r\n } else {\r\n result = existedY - 16;\r\n }\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n const getArrowMark = (color) => {\r\n switch(color){\r\n case '#6CC24A': {\r\n return (\"AbvRqdTgt);\r\n }\r\n case 'Yellow' : {\r\n return (\"AbvMnmlTgt);\r\n }\r\n case 'Red' : {\r\n return(\"BlwMnmlTgt);\r\n }\r\n default: {\r\n return(
);\r\n }\r\n }\r\n }\r\n\r\n const getValColor = (clr) => {\r\n switch(clr){\r\n case '#6CC24A': {\r\n return '#6CC24A';\r\n }\r\n case 'Yellow' : {\r\n return 'yellow';\r\n }\r\n case 'Red' : {\r\n return '#EA333D';\r\n }\r\n case 'Green' : {\r\n return '#6CC24A';\r\n }\r\n default: {\r\n return(
);\r\n }\r\n }\r\n }\r\n\r\n return ( \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
VIEW REPORT
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
tcvValClicked(props?.data)} className='pie-totalcontctvol-value'>
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
handleContctVolClick(props?.data)} style={{ height:'250px', width:'400px',margin:'10px 20px', cursor: 'pointer' }}> \r\n {\r\n const { ctx, chartArea: { top, bottom, left, right, width, height}} = chart;\r\n ctx.save();\r\n ctx.font = \"normal normal 600 14px/19px 'Open Sans'\";\r\n const leftLabelCoordinates = [];\r\n const rightLabelCoordinates = [];\r\n const chartCenterPoint = {\r\n x:\r\n (chart.chartArea.right - chart.chartArea.left) / 2 +\r\n chart.chartArea.left,\r\n y:\r\n (chart.chartArea.bottom - chart.chartArea.top) / 2 +\r\n chart.chartArea.top\r\n };\r\n chart.config.data.labels.forEach((label, i) => {\r\n const meta = chart.getDatasetMeta(0);\r\n const arc = meta.data[i];\r\n const dataset = chart.config.data.datasets[0];\r\n \r\n // Prepare data to draw\r\n // important point 1\r\n const centerPoint = arc.getCenterPoint();\r\n //const model = arc._model;\r\n let color = 'grey';\r\n let labelColor = 'grey';\r\n if (dataset.polyline && dataset.polyline.color) {\r\n color = dataset.borderColor[i];\r\n }\r\n \r\n if (dataset.polyline && dataset.polyline.labelColor) {\r\n color = dataset.borderColor[i];\r\n }\r\n \r\n const angle = Math.atan2(\r\n centerPoint.y - chartCenterPoint.y,\r\n centerPoint.x - chartCenterPoint.x\r\n );\r\n // important point 2, this point overlapsed with existed points\r\n // so we will reduce y by 14 if it's on the right\r\n // or add by 14 if it's on the left\r\n const point2X =\r\n chartCenterPoint.x + Math.cos(angle) * (arc.outerRadius + 15);\r\n let point2Y =\r\n chartCenterPoint.y + Math.sin(angle) * (arc.outerRadius + 15);\r\n \r\n let suitableY;\r\n if (point2X < chartCenterPoint.x) {\r\n // on the left\r\n suitableY = getSuitableY(point2Y, leftLabelCoordinates, \"left\");\r\n } else {\r\n // on the right\r\n \r\n suitableY = getSuitableY(point2Y, rightLabelCoordinates, \"right\");\r\n }\r\n \r\n point2Y = suitableY;\r\n \r\n let value = dataset.data[i];\r\n if (dataset.polyline && dataset.polyline.formatter) {\r\n value = dataset.polyline.formatter(value);\r\n }\r\n let edgePointX = point2X < chartCenterPoint.x ? 10 : chart.width - 10;\r\n \r\n if (point2X < chartCenterPoint.x) {\r\n leftLabelCoordinates.push(point2Y);\r\n } else {\r\n rightLabelCoordinates.push(point2Y);\r\n }\r\n //DRAW CODE\r\n // first line: connect between arc's center point and outside point\r\n ctx.strokeStyle = color;\r\n ctx.beginPath();\r\n ctx.moveTo(centerPoint.x, centerPoint.y);\r\n ctx.lineTo(point2X, point2Y);\r\n ctx.stroke();\r\n // second line: connect between outside point and chart's edge\r\n ctx.beginPath();\r\n ctx.moveTo(point2X, point2Y);\r\n ctx.lineTo(edgePointX, point2Y);\r\n ctx.stroke();\r\n //fill custom label\r\n const labelAlignStyle =\r\n edgePointX < chartCenterPoint.x ? \"left\" : \"right\";\r\n const labelX = edgePointX;\r\n const labelY = point2Y;\r\n ctx.textAlign = labelAlignStyle;\r\n ctx.textBaseline = \"bottom\";\r\n \r\n ctx.fillStyle = labelColor;\r\n ctx.fillText(value, labelX, labelY);\r\n });\r\n ctx.restore();\r\n }\r\n }\r\n ]} />\r\n
\r\n
\r\n
\r\n
    \r\n {props?.data?.Channels?.map((itm,i)=>{\r\n return
  • {itm.Lable1}
  • \r\n })}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default PieChart;","const EDashboardActionTypes = {\r\n GET_KPI_DATA: \"GET_KPI_DATA\",\r\n UPDATE_KPI_DATA: \"UPDATE_KPI_DATA\",\r\n GET_COMPLIANCE_DATA: \"GET_COMPLIANCE_DATA\",\r\n UPDATE_COMPLIANCE_DATA: \"UPDATE_COMPLIANCE_DATA\",\r\n GET_CONTACT_VOLUME_DATA: \"GET_CONTACT_VOLUME_DATA\",\r\n UPDATE_CONTACT_VOLUME_DATA: \"UPDATE_CONTACT_VOLUME_DATA\",\r\n GET_CALLTYPE_DATA: \"GET_CALLTYPE_DATA\",\r\n UPDATE_CALLTYPE_DATA: \"UPDATE_CALLTYPE_DATA\",\r\n GET_HORIZONTAL_BAR_CHART_DATA: \"GET_HORIZONTAL_BAR_CHART_DATA\",\r\n UPDATE_HORIZONTAL_BAR_CHART_DATA: \"UPDATE_HORIZONTAL_BAR_CHART_DATA\",\r\n GET_PROFIT_LOSS_ANALYTICS_DATA: \"GET_PROFIT_LOSS_ANALYTICS_DATA\",\r\n UPDATE_PROFIT_LOSS_ANALYTICS_DATA:\"UPDATE_PROFIT_LOSS_ANALYTICS_DATA\",\r\n GET_YEARMONTH_REGION_DATA: \"GET_YEARMONTH_REGION_DATA\",\r\n UPDATE_YEARMONTH_REGION_DATA: \"UPDATE_YEARMONTH_REGION_DATA\",\r\n GET_INCIDENTS_CARDS_DATA: \"GET_INCIDENTS_CARDS_DATA\",\r\n UPDATE_INCIDENTS_CARDS_DATA: \"UPDATE_INCIDENTS_CARDS_DATA\",\r\n GET_EDASHBOARD_NOTIFICATION_TEXT: \"GET_EDASHBOARD_NOTIFICATION_TEXT\",\r\n UPDATE_EDASHBOARD_NOTIFICATION_TEXT: \"UPDATE_EDASHBOARD_NOTIFICATION_TEXT\"\r\n };\r\n \r\n export default EDashboardActionTypes;\r\n ","import React, { useState, useEffect } from \"react\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport \"./executive-dashboard.css\";\r\nimport BredCrumb from \"../Breadcrumb/bredcrumb\";\r\nimport { Col } from 'react-bootstrap';\r\nimport CloseWindow_Normal from \"../../assets/images/CloseWindow_Normal.png\";\r\nimport Calls_Contact_Volume_By_Channels from \"../../assets/images/Calls_Contact_Volume_By_Channels.png\";\r\nimport Calls_Contact_Volume_By_Channels_3 from \"../../assets/images/Calls_Contact_Volume_By_Channels_3.png\";\r\nimport Calls_Contact_Volume_By_Channels_7 from \"../../assets/images/Calls_Contact_Volume_By_Channels_7.png\";\r\nimport Calls_Contact_Volume_By_Channels_9 from \"../../assets/images/Calls_Contact_Volume_By_Channels_9.png\";\r\nimport Calls_Contact_Volume_By_Channels_10 from \"../../assets/images/Calls_Contact_Volume_By_Channels_10.png\";\r\nimport Calls_Contact_Volume_By_Channels_14 from \"../../assets/images/Calls_Contact_Volume_By_Channels_14.png\";\r\nimport Calls_Contact_Volume_By_Channels_5 from \"../../assets/images/Calls_Contact_Volume_By_Channels_5.png\";\r\n\r\nimport Calls_Contact_Volume_By_Channels_11 from \"../../assets/images/Calls_Contact_Volume_By_Channels_11.png\";\r\nimport Calls_Contact_Volume_By_Channels_4 from \"../../assets/images/Calls_Contact_Volume_By_Channels_4.png\";\r\nimport Calls_Contact_Volume_By_Channels_13 from \"../../assets/images/Calls_Contact_Volume_By_Channels_13.png\";\r\nimport Calls_Contact_Volume_By_Channels_12 from \"../../assets/images/Calls_Contact_Volume_By_Channels_12.png\";\r\nimport Calls_Contact_Volume_By_Channels_6 from \"../../assets/images/Calls_Contact_Volume_By_Channels_6.png\";\r\nimport Calls_Contact_Volume_By_Channels_8 from \"../../assets/images/Calls_Contact_Volume_By_Channels_8.png\";\r\n\r\nimport AboveRequiredTargetIcon from \"../../assets/images/AboveRequiredTarget_Status.png\";\r\nimport AboveMinimalTargetIcon from \"../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../assets/images/BelowMinimalTarget_Status.png\";\r\n\r\nimport EDashboardAreaCard from './AreaCards/area-card';\r\nimport EDashboradCallType from './CallType/call-type';\r\nimport DoughnutCards from \"./DoughnutCards/doughnut-cards\";\r\nimport ModalPopup from \"../Generic/modal-popup\";\r\nimport Analytics from \"./Analytics/analytics\";\r\nimport EDashboardFilter from \"./Filters/eDashboardfilter\";\r\nimport StackedBarLineChart from \"./StackedBar-LineChart/stacked_bar_line\";\r\nimport HorizontalBarChart from \"./HorizontalBarCharts/horizontal-bar-chart\";\r\nimport PieChart from './PieChart/pie-chart';\r\nimport {Bar} from 'react-chartjs-2';\r\nimport {getKPIData, getComplianceData, getContactVolumeData, getHorizontalBarChartData, getProfitLossAnalyticData,\r\n getYearMonthRegionData, getIncidentsCardsData, getCallTypeData, getEDashBrdNotfnText } from \"../../actions/eDashboard.action\";\r\nimport { LineAreaChartModel, LineAreChartOptions, ModalLineAreChartOptions, ModalLineAreChartOptionsTlptip, ModalBarChartOptions, ModalBarChartData } from \"./chart-config\";\r\nimport {\r\n Chart as ChartJS,\r\n LinearScale,\r\n CategoryScale,\r\n BarElement,\r\n PointElement,\r\n LineElement,\r\n Legend,\r\n Tooltip,\r\n Filler,\r\n ArcElement\r\n } from \"chart.js\"; \r\n import { Line } from \"react-chartjs-2\";\r\n import { Chart } from \"react-chartjs-2\";\r\nimport { id } from \"chartjs-plugin-doughnut-innertext\";\r\n ChartJS.register(\r\n CategoryScale,\r\n LinearScale,\r\n PointElement,\r\n LineElement,\r\n BarElement,\r\n Tooltip,\r\n Filler,\r\n ArcElement\r\n )\r\nconst ExecutiveDashboard = () => {\r\n\r\n const dispatch = useDispatch(); \r\n const [kpiData, setKPIData] = useState([]); \r\n const [brdData, setBrdData] = useState([{name : 'Home', reDirect: '/welcome' }, {name : 'Reports', reDirect: '/regional' }, {name : 'EDashboard', reDirect: '/eDashboard' }]); \r\n const [firstKPIData, setFirstKPIData] = useState([]); \r\n const [secondKPIData, setSecondKPIData] = useState([]); \r\n const gKPIData = useSelector((state) => state.eDashboardReducer.kpiData);\r\n const complianceData = useSelector((state) => state.eDashboardReducer.complianceData); \r\n const [gComplianceData, setgComplianceData] = useState([]);\r\n const contactVolumeData = useSelector((state) => state.eDashboardReducer.contactVolumeData);\r\n const hrzntBarChrtAllData = useSelector((state) => state.eDashboardReducer.hrzntlBarChrtData);\r\n const profitLossAnalyticsChartData = useSelector((state)=> state.eDashboardReducer.profitLossAnalyticData);\r\n const yearMonthRegionDrpdwnData = useSelector((state)=> state.eDashboardReducer.yearMonthRegionDrpdwnData);\r\n const totalIncidentCardsData = useSelector((state)=> state.eDashboardReducer.totalIncidentCards);\r\n const callTypeData = useSelector((state)=> state.eDashboardReducer.callTypeData);\r\n const eDashBrdNotfnText = useSelector((state)=> state.eDashboardReducer.eDashBrdNtfnMsg);\r\n const [showLineModalPopup, setLineModalPopup] = useState(false);\r\n const [showBarLineModalPopup, setBarLineModalPopup] = useState(false);\r\n const [showContactVolLineChartModalPopup ,setContactVolLineChartModalPopup] = useState(false);\r\n const [showContactVolBarChartModalPopup ,setContactVolBarChartModalPopup] = useState(false);\r\n const [keyModalTitle, setKeyModalTitle] = useState(null);\r\n const [complianceModalTitle, setComplianceModalTitle] = useState(null);\r\n const [modalLineChartData, setModalLineChartData]= useState({\r\n labels: [],\r\n datasets: [{\r\n label: 'Value',\r\n data: [],\r\n fill: true,\r\n backgroundColor: 'rgba(75,192,192,1)',\r\n borderColor: 'rgb(75, 192, 192)',\r\n tension: 0.1\r\n }]\r\n });\r\n const [modalLineAreChartOptionsConfig, setModalLineAreChartOptionsConfig]= useState({});\r\n const [modalBarChartData, setModalBarChartData]= useState(ModalBarChartData);\r\n const [contactVolumeLineChartData, setcontactVolumeLineChartData]= useState([]);\r\n const [contactVolumeLineChartLegendData, setcontactVolumeLineChartLegendData]= useState([]);\r\n const [DoughnutModalStackedChartLegendData, setDoughnutModalStackedChartLegendData]= useState(null);\r\n const [DoughnutModalChartLegendData, setDoughnutModalChartLegendData]= useState([]);\r\n const [modalStackedChartTxtNameData, setModalStackedChartTxtNameData]= useState('');\r\n const [accountsHrzntlBarChrtData, setAccountsHrzntlBarChrtData]= useState(null);\r\n const [languagesHrzntlBarChrtData, setLanguagesHrzntlBarChrtData]= useState(null);\r\n const [callDisbtnActiveStatus, setcallDisbtnActiveStatus]= useState(true);\r\n const prftLossHrzntLgnds = [ Calls_Contact_Volume_By_Channels_11,\r\n Calls_Contact_Volume_By_Channels_4,\r\n Calls_Contact_Volume_By_Channels_13,\r\n Calls_Contact_Volume_By_Channels_12,\r\n Calls_Contact_Volume_By_Channels_6,\r\n Calls_Contact_Volume_By_Channels_8];\r\n\r\n const [prftLossVrtclLgnds, setPrftLossVrtclLgnds]= useState([]);\r\n const [profitLossRegionalChartData, setProfitLossRegionalChartData] = useState(null);\r\n const [pfLossChartYaxisTxtName, setPFLossChartYaxisTxtName] = useState('Call Distribution (%)');\r\n const [pfLossChartYaxisScndTxtName, setPFLossChartYaxisScndTxtName] = useState('Millions');\r\n const [pfLossChartYaxisPrcntTxt, setPFLossChartYaxisPrcntTxt] = useState('%');\r\n const [yearMonthDropdownData, setYearMonthDropdownData] = useState([{id: 0, value: ''}]);\r\n const [regionDropdownData, setRegionDropdownData] = useState([{id: 0, value: ''}]);\r\n const [locationGroupDropdownData, setLocationGroupDropdownData] = useState([{id: 0, value: ''}]);\r\n const [selectedyearMonthDropdownData, setSelectedYearMonthDropdownData] = useState('');\r\n const [selectedRegionDropdownData, setSelectedRegionDropdownData] = useState('');\r\n const [selectedLocationGroupDropdownData, setSelectedLocationGroupDropdownData] = useState('');\r\n const [totalIncidntData, setTotalIncidntData] = useState();\r\n\r\n const [chartBkgrndData, setChartBkgrndData] = useState([]);\r\n const [barChartData, setBarChartData] = useState([]);\r\n const [chartLabelData, setChartLabelData] = useState([]); \r\n const [chartLegendData, setChartLegendData] = useState([]);\r\n const [analyticsChartValAddtnlData, setAnalyticsChartValAddtnlData] = useState([]);\r\n const [analyticsChartValAddtnlTltpData, setAnalyticsChartValAddtnlTltpData] = useState([]);\r\n const [tileData, setTileData] = useState({});\r\n const [eDashBrdNotfnTextMsg, setEDashBrdNotfnTextMsg] = useState('');\r\n \r\n useEffect(()=>{\r\n dispatch(getEDashBrdNotfnText());\r\n dispatch(getYearMonthRegionData());\r\n FetchAPIData(selectedyearMonthDropdownData, selectedRegionDropdownData, selectedLocationGroupDropdownData);\r\n }, [dispatch]);\r\n\r\n useEffect(()=>{\r\n if(eDashBrdNotfnText && eDashBrdNotfnText.length > 0){\r\n setEDashBrdNotfnTextMsg(eDashBrdNotfnText[0].value);\r\n }\r\n } ,[eDashBrdNotfnText]);\r\n\r\n const FetchAPIData = (yr, rgn, lctn) => {\r\n dispatch(getKPIData(yr, rgn, lctn));\r\n dispatch(getComplianceData(yr, rgn, lctn));\r\n dispatch(getContactVolumeData(yr, rgn, lctn));\r\n dispatch(getHorizontalBarChartData(yr, rgn, lctn));\r\n dispatch(getIncidentsCardsData(yr));\r\n dispatch(getProfitLossAnalyticData(yr, rgn, lctn));\r\n dispatch(getCallTypeData(yr, rgn, lctn));\r\n }\r\n\r\n useEffect(()=>{\r\n if(gKPIData && gKPIData.length > 0){\r\n let data = gKPIData[0];\r\n let keyDt = Object.keys(data);\r\n setKPIData(data);\r\n setFirstKPIData(keyDt.slice(0, (keyDt.length/2)));\r\n setSecondKPIData(keyDt.slice(((keyDt.length/2)), keyDt.length));\r\n }\r\n }, [gKPIData]);\r\n\r\n useEffect(()=>{\r\n if(complianceData && complianceData.length > 0){\r\n let data = complianceData[0];\r\n setgComplianceData(Object.keys(data));\r\n }\r\n }, [complianceData]);\r\n \r\n useEffect(()=>{\r\n let bar_data;\r\n if(hrzntBarChrtAllData && (hrzntBarChrtAllData.length > 0)){\r\n bar_data = hrzntBarChrtAllData[0];\r\n setAccountsHrzntlBarChrtData(bar_data['Calls By Account (Top 10)']);\r\n setLanguagesHrzntlBarChrtData(bar_data['Calls By Language (Top 10)']);\r\n }\r\n }, [hrzntBarChrtAllData]);\r\n\r\n useEffect(()=>{ \r\n if(profitLossAnalyticsChartData){ \r\n loadPFLossData('call');\r\n }\r\n}, [profitLossAnalyticsChartData]);\r\n\r\nuseEffect(()=>{\r\n if(totalIncidentCardsData && totalIncidentCardsData?.length > 0){\r\n setTotalIncidntData(totalIncidentCardsData[0]);\r\n }\r\n}, [totalIncidentCardsData]);\r\n\r\nuseEffect(()=>{\r\n let yrMnth = []; let rgns = []; let locations = [];\r\n if(yearMonthRegionDrpdwnData?.filter && yearMonthRegionDrpdwnData?.filter?.YearMonth && yearMonthRegionDrpdwnData?.filter?.PLRegion){\r\n yearMonthRegionDrpdwnData?.filter?.YearMonth.map((itm, idx)=>{\r\n //let val = {id: itm.value, value: itm.label};\r\n let val = {id: itm.value, value: itm.value};\r\n yrMnth.push(val);\r\n });\r\n yearMonthRegionDrpdwnData?.filter?.PLRegion.map((itm, idx)=>{\r\n let val = {id: itm.value, value: itm.label};\r\n rgns.push(val);\r\n });\r\n\r\n yearMonthRegionDrpdwnData?.filter?.LocationGroup.map((itm, idx)=>{\r\n let val = {id: itm.value, value: itm.label};\r\n locations.push(val);\r\n });\r\n setYearMonthDropdownData(yrMnth);\r\n setRegionDropdownData(rgns);\r\n setLocationGroupDropdownData(locations);\r\n }\r\n}, [yearMonthRegionDrpdwnData]);\r\n\r\nuseEffect(()=>{\r\n let bkgrnds = [];\r\n let chrtData = [];\r\n let labels = [];\r\n let legends = [];\r\n let val_addtnl_info = [];\r\n let yr_mnth_tlptip = [];\r\n if(callTypeData && callTypeData?.calltype && callTypeData?.tiles){\r\n setTileData(callTypeData?.tiles[0]);\r\n callTypeData?.calltype?.map((itm, idx)=>{\r\n let lgnd = {color: itm?.colour, lbl: itm?.Label};\r\n bkgrnds.push(itm?.colour);\r\n chrtData.push(parseInt(itm?.Value2?.split('%')[0]));\r\n labels.push(itm?.Value2);\r\n val_addtnl_info.push(itm?.Value3);\r\n yr_mnth_tlptip.push(itm?.Value1);\r\n legends.push(lgnd);\r\n });\r\n setChartBkgrndData(bkgrnds);\r\n setBarChartData(chrtData);\r\n setChartLabelData(labels);\r\n setChartLegendData(legends);\r\n setAnalyticsChartValAddtnlData(val_addtnl_info);\r\n setAnalyticsChartValAddtnlTltpData(yr_mnth_tlptip);\r\n } \r\n},[callTypeData]);\r\n\r\nconst loadPFLossData = (type) => {\r\n let dtObj = {'trend': [], 'pfLoss': [] }; let vrtclLgnds = [];\r\n if(type === 'call'){\r\n dtObj.trend = profitLossAnalyticsChartData['trend'];\r\n dtObj.pfLoss = profitLossAnalyticsChartData['Profit_Loss'];\r\n setPFLossChartYaxisTxtName('Call Distribution (%)');\r\n setPFLossChartYaxisScndTxtName('Millions');\r\n //setPFLossChartYaxisPrcntTxt('%');\r\n }else{\r\n dtObj.trend = profitLossAnalyticsChartData['agenttrend'];\r\n dtObj.pfLoss = profitLossAnalyticsChartData['AgentCount'];\r\n setPFLossChartYaxisTxtName('Agent Count');\r\n setPFLossChartYaxisScndTxtName('Thousands');\r\n //setPFLossChartYaxisPrcntTxt('');\r\n }\r\n if(dtObj && dtObj.trend){\r\n dtObj.trend.map((itm, idx)=>{\r\n let obj = {'color': itm.background , 'label': itm.PLRegion};\r\n vrtclLgnds.push(obj);\r\n });\r\n }\r\n setPFLossChartYaxisPrcntTxt('%');\r\n setPrftLossVrtclLgnds(vrtclLgnds);\r\n setProfitLossRegionalChartData(dtObj);\r\n};\r\n\r\n const handleModalLineChart = (data) => {\r\n let vals = [], lbls=[];\r\n setLineModalPopup(true);\r\n setKeyModalTitle(data.Metric);\r\n let compliance = data.Compliance;\r\n compliance?.map((itm, i)=>{\r\n vals.push(itm.Value1);\r\n lbls.push(itm.YearMonth)\r\n });\r\n setModalLineChartData({\r\n labels: lbls,\r\n datasets: [{\r\n label: 'Value',\r\n data: vals,\r\n fill: false,\r\n backgroundColor: 'rgba(75,192,192,1)',\r\n borderColor: 'rgb(75, 192, 192)',\r\n tension: 0.1\r\n }]\r\n }); \r\n if(data?.Metric !== 'Digital Trans (%)' && data?.Metric !== 'First Contact Resolution(%)' && data?.Metric !== 'Abondon Rate(%)' && data?.Metric !== 'Attrition(%)') {\r\n setModalLineAreChartOptionsConfig(ModalLineAreChartOptions); \r\n } else{\r\n setModalLineAreChartOptionsConfig(ModalLineAreChartOptionsTlptip);\r\n }\r\n };\r\n\r\n const getStackedBarChartTxt = (metric) => {\r\n let txtName;\r\n switch(metric){\r\n case 'SLA Compliance' : { txtName = 'SLA'; break;}\r\n case 'CSAT' : { txtName = 'CSAT'; break;}\r\n case 'Delivery Support' : { txtName = 'Delivery Support'; break;}\r\n default : { break; }\r\n }\r\n return txtName;\r\n }\r\n\r\n const handleViewRptModal = (data) => {\r\n let lgnds = [data?.Label2, data?.Label3, data?.Label1];\r\n let chart_data = { MetPrcnt : [], MetricMet : [], Missed : [], Labels: [] };\r\n if(data && data?.Compliance && data?.Compliance?.length > 0){\r\n data?.Compliance?.map((cmpl, i)=>{\r\n chart_data.MetPrcnt.push(parseFloat(cmpl.Value1));\r\n chart_data.MetricMet.push(cmpl.Value2);\r\n chart_data.Missed.push(cmpl.Value3);\r\n chart_data.Labels.push(cmpl.YearMonth);\r\n });\r\n }\r\n setDoughnutModalStackedChartLegendData(chart_data);\r\n setDoughnutModalChartLegendData(lgnds);\r\n setComplianceModalTitle(data?.Metric);\r\n setModalStackedChartTxtNameData(getStackedBarChartTxt(data?.Metric));\r\n setBarLineModalPopup(true);\r\n }\r\n\r\n const getLineAreaChartData = (key) => {\r\n const dt = kpiData[key][0]; \r\n return dt;\r\n };\r\n\r\n const pieChartClickedHandler = (data) => {\r\n let lbls = [];\r\n let datasets = [];\r\n let legends = [];\r\n setContactVolLineChartModalPopup(true);\r\n if(data && data.VolumebyChannels && data.VolumebyChannels.length > 0){\r\n data?.VolumebyChannels?.map((itm,i)=>{\r\n let datArr = [], dt;\r\n legends.push(itm.caption); \r\n itm?.MonthVolumes?.map((obj, j)=>{\r\n if(i===0)\r\n lbls.push(obj.YearMonth);\r\n datArr.push(obj.value);\r\n dt = {\r\n type: \"line\",\r\n label: itm.caption,\r\n backgroundColor: itm.Colour,\r\n data: datArr,\r\n borderColor: itm.Colour,\r\n borderWidth: 2,\r\n order: itm.sortorder \r\n }; \r\n }); \r\n datasets.push(dt); \r\n });\r\n setcontactVolumeLineChartData({labels: lbls, datasets: datasets});\r\n setcontactVolumeLineChartLegendData(legends);\r\n }\r\n }\r\n\r\n const tcvValueClickHandler =(dt) => {\r\n let lbls = [];\r\n let datArr = []; \r\n if(dt && dt.Compliance.length>0){\r\n dt.Compliance.map((itm,i)=>{\r\n lbls.push(itm.YearMonth);\r\n datArr.push(itm.Value1);\r\n });\r\n } \r\n setContactVolBarChartModalPopup(true);\r\n setModalBarChartData({\r\n labels: lbls,\r\n datasets: [{\r\n backgroundColor: ['#00A3E1'],\r\n borderColor: ['#00A3E1'],\r\n borderWidth: 0,\r\n data: datArr\r\n }]\r\n });\r\n }\r\n\r\n const getCBVLgndIcons = (itm) => {\r\n switch(itm){\r\n case 'Calls': {\r\n return Calls_Contact_Volume_By_Channels;\r\n }\r\n case 'Emails' : {\r\n return Calls_Contact_Volume_By_Channels_3;\r\n }\r\n case 'Chats' : {\r\n return Calls_Contact_Volume_By_Channels_14;\r\n }\r\n case 'Web Handled': {\r\n return Calls_Contact_Volume_By_Channels_10;\r\n }\r\n case 'Voice Mails' : {\r\n return Calls_Contact_Volume_By_Channels_9;\r\n }\r\n case 'Swivel Tickets' : {\r\n return Calls_Contact_Volume_By_Channels_7;\r\n }\r\n default: {\r\n return(
);\r\n }\r\n }\r\n }\r\n \r\n \r\n const getDoughnutLgndIcons = (itm) => {\r\n switch(itm){\r\n case 'MET %': {\r\n return legend icon;\r\n }\r\n case 'Metrics Met' : {\r\n return
;\r\n }\r\n case 'Missed' : {\r\n return
;\r\n }\r\n case 'CSAT %': {\r\n return legend icon;\r\n }\r\n case 'CSATS' : {\r\n return
;\r\n }\r\n case 'DSAT' : {\r\n return
;\r\n }\r\n case 'Delivery Support %': {\r\n return legend icon;\r\n }\r\n case 'L1FTE Count' : {\r\n return
;\r\n }\r\n case 'Support Count' : {\r\n return
;\r\n }\r\n default: {\r\n return(
);\r\n }\r\n }\r\n }\r\n\r\n const selectedDrpDwnRegionHandler = (e) => {\r\n setSelectedRegionDropdownData(e);\r\n }\r\n\r\n const selectedDrpDwnYrMnthHandler = (e) => {\r\n setSelectedYearMonthDropdownData(e); \r\n }\r\n\r\n const selectedDrpDwnLocationHandler = (e) => {\r\n setSelectedLocationGroupDropdownData(e); \r\n }\r\n\r\n const filterRefreshHandler = () => {\r\n setRegionDropdownData([...regionDropdownData]);\r\n setYearMonthDropdownData([...yearMonthDropdownData]); \r\n setSelectedRegionDropdownData('');\r\n setSelectedYearMonthDropdownData(''); \r\n }\r\n\r\n useEffect(()=>{ \r\n FetchAPIData(selectedyearMonthDropdownData, selectedRegionDropdownData, selectedLocationGroupDropdownData);\r\n }, [selectedyearMonthDropdownData, selectedRegionDropdownData, selectedLocationGroupDropdownData]);\r\n \r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Dashboard
\r\n
\r\n
\r\n {eDashBrdNotfnTextMsg}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Profit & Loss Region Analysis
\r\n
\r\n
\r\n
\r\n
{setcallDisbtnActiveStatus(!callDisbtnActiveStatus); loadPFLossData('call');}} className={`col-sm-6 col-md-3 col-lg-3 text-center call-distb-btn ${callDisbtnActiveStatus ? 'actvBtn' : 'disbleBtn'}`}>\r\n Call Distribution Trend\r\n
\r\n
{setcallDisbtnActiveStatus(!callDisbtnActiveStatus); loadPFLossData('agent');}} className={`col-sm-6 col-md-3 col-lg-3 text-center call-distb-btn ${!callDisbtnActiveStatus ? 'actvBtn' : 'disbleBtn'}`}>\r\n Agent Count Trend\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n {prftLossVrtclLgnds.map((itm,i)=>{\r\n return
  • \"legend{itm.label}
  • \r\n })}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
    \r\n {prftLossVrtclLgnds?.map((itm,i)=>{\r\n return
  • \r\n {itm.label}\r\n
  • \r\n })}\r\n
\r\n
\r\n
\r\n
VIEW DETAILS
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{totalIncidntData?.label1}
\r\n
{totalIncidntData?.value1}
\r\n
\r\n
\r\n
\r\n {totalIncidntData?.label2}\r\n
\r\n
\r\n \"AbvRqdTgt{totalIncidntData?.value2}\r\n
\r\n
\r\n {totalIncidntData?.label3}\r\n
\r\n
\r\n \"AbvRqdTgt{totalIncidntData?.value3}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {totalIncidntData?.label4}\r\n
\r\n
\r\n {totalIncidntData?.value4}\r\n
\r\n
\r\n \"AbvRqdTgt{totalIncidntData?.value6} for {totalIncidntData?.yearmonth}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {firstKPIData.map((key,i)=>{ \r\n let dt = getLineAreaChartData(key) \r\n return ;\r\n })}\r\n
\r\n
\r\n {secondKPIData.map((key,i)=>{\r\n const dt = kpiData[key][0];\r\n return ;\r\n })}\r\n
\r\n
\r\n
\r\n {gComplianceData?.map((key,j)=>{\r\n const dt = complianceData[0][key][0];\r\n return(\r\n
\r\n \r\n
\r\n );\r\n })} \r\n
\r\n
\r\n \r\n
\r\n {showLineModalPopup && \r\n
\r\n
\r\n {keyModalTitle}\r\n
\r\n\r\n
\r\n
\r\n
\r\n {keyModalTitle}\r\n
\r\n
\r\n setLineModalPopup(false)} alt=\"window close icon\" />\r\n
\r\n
\r\n
\r\n {\r\n const {ctx, chartArea: { top, right, bottom, left, width, height}, \r\n scales: {x,y}} = chart;\r\n ctx.save();\r\n ctx.strokeStyle = 'Orange'; \r\n ctx.setLineDash([10,10]);\r\n ctx.strokeRect(left, y.getPixelForValue(y.end), width, 0);\r\n ctx.restore();\r\n }\r\n }]} />\r\n
\r\n
\r\n Year/Month\r\n
\r\n
\r\n\r\n\r\n
\r\n
}\r\n {showBarLineModalPopup && \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {complianceModalTitle}\r\n
\r\n
\r\n setBarLineModalPopup(false)} alt=\"window close icon\" />\r\n
\r\n
\r\n
\r\n
    \r\n {DoughnutModalChartLegendData.map((itm,i)=>{\r\n return
  • {getDoughnutLgndIcons(itm)}{itm}
  • \r\n })}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
}\r\n {showContactVolBarChartModalPopup && \r\n
\r\n
\r\n Total Contact Volume(TCV)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Contact Volume\r\n
\r\n
\r\n setContactVolBarChartModalPopup(false)} alt=\"window close icon\" />\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Year/Month\r\n
\r\n
\r\n
\r\n
\r\n
}\r\n {showContactVolLineChartModalPopup && \r\n
\r\n
\r\n Total Contact Volume(TCV)\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Contact Volume By Channels\r\n
\r\n
\r\n setContactVolLineChartModalPopup(false)} alt=\"window close icon\" />\r\n
\r\n
\r\n
\r\n
    \r\n {contactVolumeLineChartLegendData.map((itm,i)=>{\r\n return
  • \"legend{itm}
  • \r\n })}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Year/Month\r\n
\r\n
\r\n
\r\n
\r\n
}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ExecutiveDashboard;","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAAT5JREFUOE9jZKAGWPjQhoGZMZPh/39noHHiQPySgZFxL8Pf/9MZ4uWPUGIFIyWawXoXP6piYPjfitscxmqGWLk2cu2hzIFLHqYy/GeYBbK8QpuPIUWFh0GZl4Xh7uc/DHPufGHouPoJ4i5GhjSGGPnZ5DiSMgcufvgCFKUzzIUY0lV5MOyfefsLQ8bJdyDxlwyx8hLkOXDh/QawxnhFCI2Nz8T0H2hBI4o8E/MFYNSutxJlZzjqDkp22IH1zpcMx17/BAVjIDCqN2CYv/hhPVgnzHw0PiPD4of/oQogoUksnwGYtoBpDxS17YYCOB1Yef4DNKqhaZFY82Plwe4BORCvD8Dy//4xwkMYxmdi/kWWA4mJMaQYJT8NLn4UQFYUk5gQyXcgJDnQIZOQ6CMU5YO+mAGH4mAuqGHBScOqDgBLXrgNpbt2lwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAAUZJREFUOE9jZKACMGYptmFg+p/J8J/BmYGRQRxIvwTSexn+MU4/+6f3CCVWMFKiGaTXiK24ipHhfysuc/4zMFaf+9XbRq49FDnQiLUolZGRYRbI8oRSJ4aAJHMGGSURhif33jBsmHeSYUH3PrC7/v9nSDv3u282OY6kyIHGrEUvQFFaNSWEISjVEsP+dbOPM7TlrAG6kOHl2d99EmQ50IitqAGk8dyvPjCNg/8fKN+ILM/IwHgBaPN6fUsFhrkHcnHanewwmeHi8QdAecbAs796N2Axvx5qP8x8FD6jMVvRf5CCs7/6wKFJLB+UtkBpDxS1OS3eOB04pWYrOKphaZFY82HuYQT6CK8PoPKMSCEMUg/0DOMvchxIZIzBY5TsNGjMVhxAThSTmg7JdiA4OdAjk5DqI2T1g76YgeTqQVxQw0KTllUdAKA/2w3OUkQUAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAAT1JREFUOE9jZKAGmDrBhoGRIZOB8b8zw38GcSD7JcN/xr1A9nSG7IIjlFjBSIlmsN5pfVUMDIytuM35X82QVdRGrj2UOXDqhFRgqM0CWV5haMqQoqnDoMzPz3D340eGOdevMHScPw1x13/GNGBIzibHkZQ5cHr/C1CUzrB3ZkjX0sWwf+a1ywwZB/cCAxgY5ZmFEuQ5cGpvA1hjdjGExsZnYvoPtKARRZ6R6QKQv95KQorhaGAYTrut169iOPbiGUg+kCGrcAOG+dP768GaYeaj8RkZpvX/ByvIKoSEJrF8BsZqYNy1gqK23cIapwMrTxyFRjVQfVZBG9HmQ93DyEDAB2D5f/8Y4SEM4zMy/yLLgcTEGFKMkp8Gp/UHkBXFJCZE8h0IsogumYREH6EoH/TFDDhTDeaCGhacNKzqAL3Qug1BU2QIAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAATlJREFUOE9jZKAGyCq2YfjPlMnAyOjM8P+/OJB+CaT3MjD+m84wrfcIJVYwUqIZrDeztApItuIxp5phencbufZQ5sCsklSG/4yzQJZXuDsypFiZMSiLCjPcff2WYc6xUwwdO/dD3MX4P41hWs9schxJoQNLXzD8ZxCfERnEkG5rgWH/zMMnGDKWrwM6kOElw7RuCfIcmFHSANY4owdCY+f/B8o3osgzMl1gYPi/3kpJgeFoSRZOu617pjEcu/cAFIyBDNO7NmAxvx5qP8x8FD4jMA39ByuY3g0JTWL5DAzVoLQHitp2f0+cDqzcuB0W1ZC0SKz5UPcwAn2E1wdQeUakEAapZwTm1F9kOZC4GIPHKPlpMLMsgKwoJjEhku9AkEVZ9MgkJPoIRfmgL2YgmWoQF9Sw4KRhVQcAeY+4DXt4pgQAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAAUhJREFUOE9jZKACyDrsYcPEwJQJNMqZ4T+DOAMjw0sge+8/hn/Tp9nuOEKJFYyUaAbpzT3kWfWfgbEVlzmMDP+rJ9ttbyPXHoocCHRcKtBxs0CWu8qGMlhJuDOIcEgyvPnxnOHYi50Mux+vBrsL6Mg0oCNnk+NIihyYc9jrBShKI1RyGKwlPTHsP/p8O8OKO1NALnw5xXabBFkOzDno1QDSOMV+G5jGymdi+A+0oBFZnoHx/wWgzeuV+LQYCvW7cdrdf7GU4d6na0D5/4FT7LZvwDD/sFc92H6Y+Wh8xpxDXv/BCuy2gUOTWD4obYHSHihq/RQScDpw04MF4KiGpUVizYe5hxEYTXh9AJb/x8AID2Eon5Hx/y+yHEhMjCHFKNlpMOeQZwA5UUxqOiTbgeDkQI9MQqqPkNUP+mIG5NhBXVDDQpOWVR0ALUXdDan+vBIAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAAVJJREFUOE9jZKACeDfT2IaBiSHzPwODM9A4cSB+ycjAsJfhH8N0ofSzRyixAmgOZeDNbKMqRgbGVlym/Gf4Xy2Seq6NXFsocuDbWUapDIyMs0CWc+gnMHCoBzAw8ckw/Pv0hOHHzQ0MPy4ugLjr//804bRzs8lxJGUOnG38AhSl3DZVDOwaQRj2/7yxjuHrEXDgvRROPStBlgNfzzRqAGkUTT8HprHxmZgY/gunnmtElmdhZrzw7z/DehZxfQY+37k47f60OZnhz8uLDEyMDIGCKWc3oJv/drZRPUgzzHx0PuPb2cbAtA1ScBYcmsTyGYFp6z8w7YGilss0B6cDv52eAo5qkHohYFok1nyYe4AOxO8DkPy/fwyMsBCG8ZmZGH6R40BiYgw5RslOg+/nGAeQE8WkpkOyHQhNDrTPJKT6CFn9oC9mQI4d1AU1LDRpWdUBAP1e2w3dlMWyAAAAAElFTkSuQmCC\"","import EDashboardActionTypes from \"../constants/eDashboard-actionTypes\";\r\n\r\nexport const getKPIData = (dt, rgn, lctn) => ({\r\n type: EDashboardActionTypes.GET_KPI_DATA,\r\n dt: dt,\r\n region: rgn,\r\n location: lctn\r\n });\r\n\r\nexport const updateKPIData = () => ({\r\ntype: EDashboardActionTypes.UPDATE_KPI_DATA\r\n});\r\n \r\nexport const getComplianceData = (dt, rgn, lctn) => ({\r\n type: EDashboardActionTypes.GET_COMPLIANCE_DATA,\r\n dt: dt,\r\n region: rgn,\r\n location: lctn\r\n}); \r\n\r\nexport const getContactVolumeData = (dt, rgn, lctn) => ({\r\n type: EDashboardActionTypes.GET_CONTACT_VOLUME_DATA,\r\n dt: dt,\r\n region: rgn,\r\n location: lctn\r\n});\r\n\r\nexport const getCallTypeData = (dt, rgn, lctn) => ({\r\n type: EDashboardActionTypes.GET_CALLTYPE_DATA,\r\n dt: dt,\r\n region: rgn,\r\n location: lctn\r\n});\r\n\r\nexport const getHorizontalBarChartData = (dt, rgn, lctn) => ({\r\n type: EDashboardActionTypes.GET_HORIZONTAL_BAR_CHART_DATA,\r\n dt: dt,\r\n region: rgn,\r\n location: lctn\r\n});\r\n\r\nexport const getProfitLossAnalyticData = (dt, rgn, lctn) => ({\r\n type: EDashboardActionTypes.GET_PROFIT_LOSS_ANALYTICS_DATA,\r\n dt: dt,\r\n region: rgn,\r\n location: lctn\r\n});\r\n\r\nexport const getYearMonthRegionData = () => ({\r\n type: EDashboardActionTypes.GET_YEARMONTH_REGION_DATA\r\n});\r\n\r\nexport const getIncidentsCardsData = (dt) => ({\r\n type: EDashboardActionTypes.GET_INCIDENTS_CARDS_DATA,\r\n dt: dt\r\n})\r\n\r\nexport const getEDashBrdNotfnText = () => ({\r\n type: EDashboardActionTypes.GET_EDASHBOARD_NOTIFICATION_TEXT\r\n});","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAAOxJREFUOE9jZKAGWPjQhoGZMZPh/39noHHiQPySgZFxL8Pf/9MZ4uWPUGIFIyWawXoXP6piYPjfitscxmqGWLk2cu2hzIFLHqYy/GeYRdByRoY0hhj52QTVYVFAmQMXP3wBjVJCdr9kiJWXIKQImzwjw8L7DVg1MjH9Z/j3D9UDyGKMTBoMjAzhRFv6n2Elw/9/N4hWD1XIyLD44X9SNdFTPe4QJOQKRkZbYE51IqQMLv///z5gLj9MtHp4CJKqA6Z+8aMAYO5dT7x2xkBgbt5AvHqIyiGQSUj1ErL6QV/MgBw7qAtqWGjSsKoDAKOwTJDmgwXTAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAAOxJREFUOE9jZKACMGYptmFg+p/J8J/BmYGRQRxIvwTSexn+MU4/+6f3CCVWMFKiGaTXiK24ipHhfysuc/4zMFaf+9XbRq49FDnQiLUolZGRYRYhy///Z0g797tvNiF12OQpcqAxa9ELcJQSAsAoP/u7T4KQMqwONGIrasCh8T9QHN0DyGIaQMlwYi0FalwJVHuDWPUwdYzGbEUgSwctYMQTgvgd/f+/LSMjoxOxPvv///8+BkbGw8Sqh4cgqRpg6o3ZigMYGP6vJ14/Y+DZX70biFcPUTn4MwmpPkJWP+iLGZBjB3VBDU+PNKzqALaCVAsAxCOwAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAAOVJREFUOE9jZKAGmDrBhoGRIZPh/39nIC3O8J/hJQMj414gPZ0hu+AIJVYwUqIZrHdaXxUDA2MrbnP+VzNkFbWRaw9lDpw6IZWB8f8sgpb/Z0wDhuRsguqwKKDQgf0vwFFKCICiPLtQgpAybPKMDFN7G7BqZGL6z/DvH6oHkMUYmTSA+sJJsHQlw/9/N0hQD1bKyDCt/z+pmuipHncIEnIFI6Mt0H9OhJQh5P/vA+byw8Srh6gkPw1O6w8A6l9PgoWBDFmFG0hQT6EDQdqn0iOTkOolZPWDvpgBOXZQF9Sw0KRhVQcA/iVMdYfFGjEAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAAONJREFUOE9jZKAGyCq2YfjPlMnAyODM8J9BHEi/BNJ7GRj/TWeY1nuEEisYKdEM1ptZWgUkW/GYU80wvbuNXHsoc2BWSSrDf8ZZBC1n/J/GMK1nNkF1WBRQ5sCM0hfA6BQnaPF/YJTP6JYgqA6rAzNKGnBo/A8UR/cAQoyRUQMoH06CpSsZ/v+/QYJ6sFJGYBoCWTpoASMD7hAk5GhbBkZGJ0KK4PL//+8Dsg8TrR6qkPw0mFkWwMDwfz3xFjIGMkzv2kC8eohK8h0I0k2XTEKql5DVD/piBuTYQV1Qw0KThlUdAKAtRaJMaRbdAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAAO9JREFUOE9jZKACyNrvYcPEwpTJ8I/BmYGRQZzhP8NLBiaGvf/+/Js+zXHHEUqsYKREM0hv7iHPqv8MjK24zGFk+F892W57G7n2UORAoONSgY6bRchyoCPTgI6cTUgdNnmKHJhz0OsFOEoJAWCUT7HfJkFIGVYHAi1pwKqRCZiS/gGtRwbIYowMGkCpcBIsXQk08QYJ6sFKGXMOef0nVRM91TPiDEHCrrAFhq8TYWVQFf8Z9gFZh4lWD1VIdhrMOeQZAIyA9cRb+D9wit32DcSrh6gk24EgzXTJJKT6CFn9oC9mQI4d1AU1LDRpWdUBALUnVnKmEBRjAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAMCAYAAAAQw/9NAAAABHNCSVQICAgIfAhkiAAAAPhJREFUOE9jZKACeDfT2OYfE0MmIwODM9A4cSB++Z+BYS/TP4bpQulnj1BiBdBMysCb2UZVjAyMrbhM+c/wv1ok9VwbubZQ5MC3s4xSGRgZZxG0/P//NOG0c7MJqsOigDIHzjZ+AY1SQna/FE49K0FIETZ5xtczjRqwSTAxMfz/948BxQPIYkC2BgMDYzjxlv5fCTTvBvHqISoZ3842BqbnwQtwhiAhJzMyMtgyMjI6EVIHk/////++//8ZDhOrHqaO7DT4fo5xwL//DOuJtZCJkSFQMOXsBmLVU+xAkAHA5EH7TEKqj5DVD/piBuTYQV1Qw0KTllUdAB4VWjNKfrwpAAAAAElFTkSuQmCC\"","import React, { useEffect, useState } from 'react';\r\nimport './ReportTable.css';\r\n\r\n\r\nfunction ReportTable({tblData,headerData}) {\r\n const Data = tblData\r\n return (\r\n \r\n {Data === null ? (\r\n
\r\n
\r\n
No records are available. Please select other filters.
\r\n
\r\n
\r\n ) :\r\n
\r\n \r\n \r\n \r\n {headerData?.map((info, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {Data?.map((info, i) =>\r\n (\r\n { Object.values(info).map((value, idx) => (\r\n \r\n )) }\r\n ))}\r\n \r\n
{info.label}
{value}
\r\n
}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ReportTable\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABARJREFUWEdjZCASRKtM4mNm4PHj4efwYmD4b/rrx1/J37/+cYG0s7IxfWPjYH7OwMB4+svHH9v+MnzZtPRO3idijGYkpChBab4ulyB75ddPvyJ0bKQ+GTrL8ivqCDOIyvEycPOzg7V/+/iT4dWjzwz3r7xlOL/38ccrR57xcfOxrfj2/mf7gnuJl/HZgdcBKTqLJjL8Z8jwy9Jnc4xUZ+ARhFhICHx5/5Nh//KbDJumXfzFwMg0Y86VmHxcerA6AOJrjnV69lKS0TXm3MRajG4JyCFLW05+vXTw2fNv738EYQsNDAckqM23ZWFl2hFRacblHK1ByLNEye9deoNhRfupb39+//NYcCvxMLImFAeAfM7CyXQiucOWy8JHkSjDiVV0Yst9hrkVh7/9+f7PAjkkUByQZbz8dlChgQqxPj/7+iDDv/9/GUzFnIhyBygk1vVfuDPtbKQqTAPcASk6SyaauMkmp/facRNj2o8/XxlazmYA0+g/hmrjGQxcLLzEaGOYWXzo65ldD+fOuRIHTphgB0CCnvlM/+EwNmIT3PLbkxiOvdgBttRC3I0hWq2AKAeAEmah7apff77/NQFFBdgBWcbLlnkkaUf6ZukRZcilt8cZZl9rRlGbrFnFYCBiQ5T+zdMuMeyYd3X5tLNRUYygEo6Fke/DlJMRjMT4/u//PwwtZ9IZ3vwAFnxIQJhDHBwVrEyEywpQKOSYr/j/5/8nAcY4lXkxurYyU0rmufIT4/w1d2cwHHy2CatSW0kfhjCVLGKMYehJ2v3x8uEnOYyg4A8qNIwkJuVff3+WYdqVWrwWZGg3MmgLmRJ0BCRHnF8OdMDS28VzXVWU9EUJamo7l8Xw/OsDvOokuGSBUTGToFn3Lr5m6E3efYcxRXvRl/7DocDilgOvpo335zHsebKGoMEgBU7SQQyBSil41X5+/4OhyHb1V8Z41QX/5t2IY2Riwl0v3fl4mWHipXKiLIcpytVtZ1AT0Mep59+//wxJGov+E+WA7gsFDI8+3yLJAbI8ygxlhpMJOwAUBX3AKODFEQXbHi5l2P5oKUmWwxS7y0Uw+MjHYdX7BRgFhaAowJcI//3/x3Dn4yUUA25+uMCw6/EqrIbK8agy+Csmosgp8WkzsDCxYqiHJ0JSsiHIlNOv9jMsutmN1QEagkYM2TotRIUWPBuSWhBRywHwgojUopgaDkApikHhRUplRA0HoFRGIAeQUh1T6gCs1THIEaAWsImbPMEGCaUOgDRIHgMbJJCWMslNMpADbgGzIi4QrVaIUw5vkwwRFQPYKAU7YiCb5bCwG9COCXIEglrKDP//Udg1YwB2zSAtYGyA7M6pGLBzygXtnH4Fdk5f06JziuxiWnXPAYlJQA9Yt7cqAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAABA5JREFUWEfFl3tIU2EUwM+90zk3tzWjl5VRaAUuS7LHH63oodlLYmRompUKhUhlCWr2MiqNUjFCCtTEMiXBwkJ6ID0m9DLsYVApRlkZjVp7uq3t3u53l2ur6+5dTvz+u/c75zu/c873OAcDjiM57LSEB0HxQVLBagByntVsn/DTSgiRuj8fN/EFvD4A7IlBa26xg6G5rnunjsvSGJvQ1mnnZwllAflGnTVRvihEF7V8snSqfDSMCRWDSBpAq5u0Fvj6QQ/vOr9BR2uvtrPts0Qk4TeYNJaimp5tLz3Z8AiQIa8tBxJ2xGfO5i9NmgFBModBtmHQWOBO/RtornhuBQw/W9mZsmswHUYAh9eCpsglIROS9y8QcTX8txEEUnf0kfHFvc99Jo1ZyRSNfwC2Tj+v8PPHbyTmzxcuT57J5iyn+da619BQ9Nhk+0nE1bzdpnJVcgNAnvsF4g/TixXChWunclqcq9DD6++gKk9lsvUTC10j4QaQObe+S5k9J8xXnv8NhyLRVPasu+JpUvjAnBMgQ36xPDp2cvr2ksUiT15pd+eCte0Bo4j4cD4I1q7yGJRze+8b22+9r6rsTKU3Jg3gCD2vvUy1kc+24YYKgDZmtuKy1dZvj0apoAEy5166FJcWkbQuM5I1pUMFQAauVbyAG9Wv6iuebtqEoRvOD5P8OPMoEWPzHin7AgBFIWtBA2kjdaOw1LDqlFmKSWdyqmOkrO77CADZOZV2W/tS9TELQ+FXZkclcd35vogAAnCciI56CqCua29VTNi02WO4BMAnKUCGep6roST9djeWEVFrKFMlUNetgBFAf+Co239rewcQajWjrH+kHHgTQ9zmxIX7AHD8H3m9xgx7FI1GbEt4DVH9OhXDceZ3CZ15FPb/GdKS48BfsohRlSBISJtZS7ICIG3DiVLob7zqFYNAGQ/ifTmD6jgBUApKqRSIB0kBWoE0W0CTsBnsfV84QeDjxkLw5VrARHS9wjgMVAqyUQq4bkJL613Q5R7kBCA5fhgCYpd5lHVuQm+Oof5IMZibWzwuLFizEsSFBaygzmPozUVEaHV0KojvGkYD+CgpyKjQ48EyVgDnReTtVWxuuQX6g+5Hc8Ca+BD1Gq7z/BrSm9r1KkY/vHmMkLyuoBAsN1vdvAxYsRQkxYWsniMBt8cI/fDmOUbyxFc1fE9IBdJopA1igQKQNV4A3vhxrACMzzHSQhVwdOwU1oJkwIL5yjXQHztJfwbl7YHADetZjSMBR0HSSxUkjkp5SCWZLqcASLsdpGXFnIx7LMn+pIJ7UWrv/UTlww68KaGsAJyKUhpiJMvyATdGtDFxjSWqlIEkhtiaAdWaOSpgpvHfzelYqjkV/m5OjVRzqh6O5tSVeLja819S/EAP5WtdngAAAABJRU5ErkJggg==\"","import React, { useEffect, useState } from 'react';\r\n// import ReportFilters from './ReportFilters/ReportFilters';\r\nimport './KPIReportHandler.css'\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getDropdownInfo, getContactVolumeData, getAccountInfo, getAbandonRate, getAverageHandleTime, getDigitalTrans, getCostPerContact, getContactFTEData, getPenaltyAtRisk, getFirstContactResolution, getAttritionData, getSLAcompliance, getCSATdata, getDeliverySupport } from '../../../actions/reports.action';\r\nimport Filter from '../ReportFilters/ReportFilters';\r\nimport ReportTable from '../ReportFilters/ReportTable';\r\nimport { saveAccountDropdownList, saveLocationDropdownList } from \"../../../actions/reports.action\";\r\n// import ReportTabs from '../ReportFilters/ReportTabs';\r\nimport { Tabs, Tab } from \"react-bootstrap\";\r\nimport './../../TabMenu/tabmenu.css';\r\nimport moversIcon from '../../../assets/images/top_10_movers_image.png';\r\nimport shakersIcon from '../../../assets/images/top_10_shakers_image.png';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport ClearFilter from '../ClearFilters/ClearFilter';\r\n\r\n\r\nfunction KPIReportHandler() {\r\n\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n const [KPI_pathname, setKPI_pathname] = useState('');\r\n const [header_info, setHeader_info] = useState('')\r\n const [downloadURL, setDownloadURL] = useState('');\r\n const [moversShakersHandle, setMoversShakersHandle] = useState();\r\n useEffect(() => {\r\n clearFilterHandler();\r\n }, [])\r\n\r\n const TableInfoHandler = (ID) => {\r\n switch (location.pathname) {\r\n case '/contact': {\r\n dispatch(getContactVolumeData(ID));\r\n setKPI_pathname('contact');\r\n setHeader_info('Contact Volume');\r\n setDownloadURL('DOWNLOAD_CONTACT_VOLUME_DATA');\r\n setMoversShakersHandle(false);\r\n break;\r\n }\r\n case '/abrate': {\r\n dispatch(getAbandonRate(ID));\r\n setKPI_pathname('abrate');\r\n setHeader_info('Abandon Rate');\r\n setDownloadURL('DOWNLOAD_ABANDON_RATE');\r\n setMoversShakersHandle(true);\r\n break;\r\n }\r\n case '/aht': {\r\n dispatch(getAverageHandleTime(ID));\r\n setKPI_pathname('aht');\r\n setHeader_info('Average Handle Time');\r\n setDownloadURL('DOWNLOAD_AVERAGE_HANDLE');\r\n setMoversShakersHandle(true);\r\n break;\r\n }\r\n case '/digitalTrans': {\r\n dispatch(getDigitalTrans(ID));\r\n setKPI_pathname('digital');\r\n setHeader_info('Digital Trans');\r\n setDownloadURL('DOWNLOAD_DIGITAL_TRANS');\r\n setMoversShakersHandle(false);\r\n break;\r\n }\r\n case '/cpc': {\r\n dispatch(getCostPerContact(ID));\r\n setKPI_pathname('cpc');\r\n setHeader_info('Cost per Contact');\r\n setDownloadURL('DOWNLOAD_COST_PER_CONTACT');\r\n setMoversShakersHandle(true);\r\n break;\r\n }\r\n case '/fte': {\r\n dispatch(getContactFTEData(ID))\r\n setKPI_pathname('fte');\r\n setHeader_info('Contact per FTE');\r\n setDownloadURL('DOWNLOAD_CONTACT_FTE_DATA');\r\n setMoversShakersHandle(false);\r\n break;\r\n }\r\n case '/penalty': {\r\n dispatch(getPenaltyAtRisk(ID));\r\n setKPI_pathname('penalty');\r\n setHeader_info('Penalty at Risk');\r\n setDownloadURL('DOWNLOAD_PENALTY_AT_RISK');\r\n setMoversShakersHandle(true);\r\n break;\r\n }\r\n case '/fcr': {\r\n dispatch(getFirstContactResolution(ID));\r\n setKPI_pathname('fcr');\r\n setHeader_info('First Contact Resolution');\r\n setDownloadURL('DOWNLOAD_FIRST_CONTACT_RESOLUTION');\r\n setMoversShakersHandle(false);\r\n break;\r\n }\r\n case '/attrition': {\r\n dispatch(getAttritionData(ID));\r\n setKPI_pathname('attrition');\r\n setHeader_info('Attrition');\r\n setDownloadURL('DOWNLOAD_ATTRITION_DATA');\r\n setMoversShakersHandle(true);\r\n break;\r\n }\r\n case '/sla': {\r\n dispatch(getSLAcompliance(ID));\r\n setKPI_pathname('sla');\r\n setHeader_info('SLA Compliance');\r\n setDownloadURL('DOWNLOAD_SLA_COMPLIANCE');\r\n setMoversShakersHandle(false);\r\n break;\r\n }\r\n case '/csat': {\r\n dispatch(getCSATdata(ID));\r\n setKPI_pathname('csat');\r\n setHeader_info('CSAT');\r\n setDownloadURL('DOWNLOAD_CSAT_DATA');\r\n setMoversShakersHandle(false);\r\n break;\r\n }\r\n case '/delivery': {\r\n dispatch(getDeliverySupport(ID));\r\n setKPI_pathname('delivery');\r\n setHeader_info('Delivery Support');\r\n setDownloadURL('DOWNLOAD_DELIVERY_SUPPORT');\r\n setMoversShakersHandle(true);\r\n break;\r\n }\r\n\r\n default: { };\r\n }\r\n }\r\n\r\n let contact_tableInfo = useSelector((state) => state.reportTableReducer.contactVolumeData);\r\n let abrate_tableInfo = useSelector((state) => state.reportTableReducer.AbandonRate);\r\n let aht_TableInfo = useSelector((state) => state.reportTableReducer.AverageHandleTime);\r\n let attrition_TableInfo = useSelector((state) => state.reportTableReducer.attritionData);\r\n let fte_TableInfo = useSelector((state) => state.reportTableReducer.contactFTEData);\r\n let cpc_TableInfo = useSelector((state) => state.reportTableReducer.CostPerContact);\r\n let csat_TableInfo = useSelector((state) => state.reportTableReducer.CSATData);\r\n let delivery_TableInfo = useSelector((state) => state.reportTableReducer.deliverySupport);\r\n let digital_TableInfo = useSelector((state) => state.reportTableReducer.DigitalTrans);\r\n let fcr_TableInfo = useSelector((state) => state.reportTableReducer.firstContactResolution);\r\n let penalty_TableInfo = useSelector((state) => state.reportTableReducer.penaltyAtRisk);\r\n let sla_TableInfo = useSelector((state) => state.reportTableReducer.SLAcompliance);\r\n\r\n\r\n\r\n let DropdownInfo = useSelector((state) => state.reportTableReducer.DropdownInfo);\r\n let AccountFilters = useSelector((state) => state.reportTableReducer.AccountInfo);\r\n let prevAccountdrpdwnList = useSelector((state) => state.reportTableReducer.accountDrpdwnListData);\r\n let prevLocationdrpdwnList = useSelector((state) => state.reportTableReducer.locationDrpdwnListData);\r\n const DOWNLOAD_ARRAY = [\r\n { value: 'excel', id: 'Excel' },\r\n { value: 'svg', id: '.SVG' },\r\n { value: 'csv', id: '.CSV' },\r\n { value: 'pdf', id: 'PDF' }\r\n ]\r\n useEffect(() => {\r\n if (prevAccountdrpdwnList?.length > 0 || prevLocationdrpdwnList?.length > 0) {\r\n prevAccountdrpdwnList.splice(0, prevAccountdrpdwnList.length);\r\n prevLocationdrpdwnList.splice(0, prevLocationdrpdwnList.length);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n TableInfoHandler(ContactTableTrails([]));\r\n dispatch(getDropdownInfo());\r\n dispatch(getAccountInfo(ContactTableTrails([])))\r\n }, [dispatch]);\r\n\r\n const reportTableHandler = () => {\r\n switch (KPI_pathname) {\r\n case 'abrate': return abrate_tableInfo;\r\n case 'contact': return contact_tableInfo;\r\n case 'aht': return aht_TableInfo;\r\n case 'digital': return digital_TableInfo;\r\n case 'cpc': return cpc_TableInfo;\r\n case 'fte': return fte_TableInfo;\r\n case 'penalty': return penalty_TableInfo;\r\n case 'fcr': return fcr_TableInfo;\r\n case 'attrition': return attrition_TableInfo;\r\n case 'sla': return sla_TableInfo;\r\n case 'csat': return csat_TableInfo;\r\n case 'delivery': return delivery_TableInfo;\r\n\r\n default: { };\r\n }\r\n }\r\n\r\n\r\n const [filters, setFilters] = useState([]);\r\n const [clearFilters, setClearFilters] = useState(false);\r\n const [period_data, setPeriod_data] = useState([]);\r\n const [region_data, setRegion_data] = useState([]);\r\n const [account_data, setAccount_data] = useState([]);\r\n const [location_data, setLocation_data] = useState([]);\r\n const RegionInfo = DropdownInfo?.DeliverRegion;\r\n const PeriodInfo = DropdownInfo?.YearMonth;\r\n const AccountInfo = AccountFilters?.Account;\r\n const LocationInfo = AccountFilters?.LocationGroup;\r\n\r\n\r\n useEffect(() => {\r\n if (RegionInfo?.length > 0) {\r\n RegionInfo.map(info => info.isChecked = false);\r\n setRegion_data(RegionInfo);\r\n }\r\n if (PeriodInfo?.length > 0) {\r\n PeriodInfo.map(info => info.isChecked = false);\r\n setPeriod_data(PeriodInfo)\r\n }\r\n\r\n }, [RegionInfo, PeriodInfo])\r\n useEffect(() => {\r\n if (AccountInfo?.length > 0) {\r\n AccountInfo.map(info => info.isChecked = false);\r\n setAccount_data(AccountInfo);\r\n }\r\n\r\n if (LocationInfo?.length > 0) {\r\n LocationInfo.map(info => info.isChecked = false);\r\n setLocation_data(LocationInfo)\r\n }\r\n }, [AccountInfo, LocationInfo])\r\n\r\n const dropDownLocationFilter = (filters) => {\r\n region_data.map(info =>\r\n (info.isChecked === true) && dispatch(getAccountInfo(ContactTableTrails(filters)))\r\n )\r\n period_data.map(info =>\r\n (info.isChecked === true) && dispatch(getAccountInfo(ContactTableTrails(filters)))\r\n )\r\n }\r\n\r\n function removeDuplicates(originalArray, prop) {\r\n let account_arr = [];\r\n let accountObj = {};\r\n for (var i in originalArray) {\r\n accountObj[originalArray[i][prop]] = originalArray[i];\r\n }\r\n for (i in accountObj) {\r\n account_arr.push(accountObj[i]);\r\n }\r\n return account_arr;\r\n }\r\n useEffect(() => {\r\n if (AccountFilters?.Account?.length > 0 && prevAccountdrpdwnList?.length > 0 && clearFilters === false) {\r\n let temp_arr = [...AccountFilters?.Account, ...prevAccountdrpdwnList];\r\n let uniqueArray = removeDuplicates(temp_arr, \"label\");\r\n setAccount_data(uniqueArray);\r\n }\r\n if (AccountFilters?.LocationGroup?.length > 0 && prevLocationdrpdwnList?.length > 0 && clearFilters === false) {\r\n let temp_arr = [...AccountFilters?.LocationGroup, ...prevLocationdrpdwnList];\r\n let uniqueArray = removeDuplicates(temp_arr, \"label\");\r\n setLocation_data(uniqueArray);\r\n }\r\n }, [AccountFilters, clearFilters, prevAccountdrpdwnList, prevLocationdrpdwnList]);\r\n\r\n // useEffect(() => {\r\n // if (AccountFilters?.Account?.length > 0 && prevAccountdrpdwnList?.length > 0 && clearFilters === false) {\r\n // let updatedAccountFilers = uniqueArray([...prevAccountdrpdwnList, ...AccountFilters?.Account]);\r\n // setAccount_data(updatedAccountFilers);\r\n // }\r\n // if (AccountFilters?.LocationGroup?.length > 0 && prevLocationdrpdwnList?.length > 0 && clearFilters === false) {\r\n // let updatedLocationFilters = uniqueArray([...prevLocationdrpdwnList, ...AccountFilters?.LocationGroup]);\r\n // setLocation_data(updatedLocationFilters);\r\n // }\r\n\r\n // }, [AccountFilters, clearFilters, prevAccountdrpdwnList, prevLocationdrpdwnList])\r\n\r\n\r\n // const uniqueArray = a => [...new Set(a.map(o => JSON.stringify(o)))].map(s => JSON.parse(s));\r\n\r\n\r\n const onAddingPeriodFilters = (option, drpdwnID) => {\r\n let temp_Arr = [...account_data];\r\n temp_Arr.map((itm, i) => {\r\n if (option.value === itm.value) {\r\n itm.isChecked = !option.isChecked;\r\n }\r\n return ' ';\r\n })\r\n setAccount_data(temp_Arr);\r\n\r\n let temp_arr = [...region_data];\r\n temp_arr.map((itm, i) => {\r\n if (option.value === itm.value) {\r\n itm.isChecked = !option.isChecked;\r\n }\r\n return ' ';\r\n });\r\n setRegion_data(temp_arr);\r\n\r\n\r\n let temp_ARR = [...period_data]\r\n setPeriod_data(temp_ARR);\r\n temp_ARR.map(itm => {\r\n if (option.value === itm.value) {\r\n itm.isChecked = !option.isChecked;\r\n }\r\n return ' ';\r\n })\r\n setPeriod_data(temp_ARR);\r\n\r\n let temp_arr1 = [...location_data];\r\n temp_arr1.map((itm, i) => {\r\n if (option.value === itm.value) {\r\n itm.isChecked = !option.isChecked;\r\n }\r\n return ' ';\r\n });\r\n setLocation_data(temp_arr1);\r\n\r\n\r\n\r\n switch (drpdwnID) {\r\n case 'accountDrpdwn': {\r\n dispatch(saveAccountDropdownList(account_data)); break;\r\n }\r\n case 'locationDrpdwn': {\r\n dispatch(saveLocationDropdownList(location_data)); break;\r\n }\r\n default: {\r\n\r\n }\r\n }\r\n\r\n if (filters.includes(option.value)) {\r\n return ' ';\r\n }\r\n\r\n if (filters.length > 0) {\r\n setClearFilters(false);\r\n }\r\n let fltrs = [...filters, option.value];\r\n setFilters(fltrs);\r\n ContactTableTrails(fltrs);\r\n // dispatch(getContactVolumeData());\r\n TableInfoHandler(ContactTableTrails(fltrs));\r\n dropDownLocationFilter(fltrs);\r\n\r\n }\r\n\r\n const clearFilterHandler = () => {\r\n setFilters([]);\r\n setClearFilters(true);\r\n ContactTableTrails([]);\r\n TableInfoHandler(ContactTableTrails([]));\r\n dispatch(getDropdownInfo());\r\n dispatch(getAccountInfo(ContactTableTrails([])));\r\n }\r\n\r\n const filterByReference = (arr1, arr2) => {\r\n let res = [];\r\n res = arr1.filter(el => {\r\n return arr2.find(element => {\r\n return element === el.value;\r\n });\r\n });\r\n return res;\r\n }\r\n\r\n\r\n const ContactTableTrails = filteredRegions => {\r\n console.log(filteredRegions)\r\n let periodFilters = filterByReference(period_data, filteredRegions).map(fil => fil.value);\r\n let regionFilters = filterByReference(region_data, filteredRegions).map(fil => fil.value);\r\n let AccountFilters = filterByReference(account_data, filteredRegions).map(fil => {\r\n if (fil.value.includes('&')) return fil.value.replace('&', '%26');\r\n else return fil.value;\r\n return;\r\n }\r\n );\r\n let LocationFilters = filterByReference(location_data, filteredRegions).map(fil => {\r\n if (fil.value.includes('&')) return fil.value.replace('&', '%26');\r\n else return fil.value;\r\n return;\r\n });\r\n let ContactVolumeID = periodFilters.map(val => `yearmonth[]=${val}`).join('&') + '&' + regionFilters.map(val => `deliveryregion[]=${val}`).join('&') + '&' + AccountFilters.map(val => `Account[]=${val}`).join('&') + '&' + LocationFilters.map(val => `LocationGroup[]=${val}`).join('&') + '&';\r\n let filterID = periodFilters.map(val => `yearmonth[]=${val}`).join('&') + '&' + regionFilters.map(val => `deliveryregion[]=${val}`).join('&');\r\n let ID = { ContactVolumeID: ContactVolumeID, filterID: filterID }\r\n return ID;\r\n }\r\n\r\n const [tabKey, setTabKey] = useState('defaultTab');\r\n const handleTabSelect = key => setTabKey(key);\r\n const TblDataHandler = (tabKey) => {\r\n switch (tabKey) {\r\n case 'defaultTab':\r\n return reportTableHandler()?.table?.data;\r\n case 'movers':\r\n return (moversShakersHandle === true) ?\r\n reportTableHandler()?.table?.data?.sort((a, b) => parseFloat(b?.Value4) - parseFloat(a?.Value4)) :\r\n reportTableHandler()?.table?.data?.sort((a, b) => parseFloat(a?.Value4) - parseFloat(b?.Value4));\r\n case 'shakers':\r\n return (moversShakersHandle === false) ?\r\n reportTableHandler()?.table?.data?.sort((a, b) => parseFloat(b?.Value4) - parseFloat(a?.Value4)) :\r\n reportTableHandler()?.table?.data?.sort((a, b) => parseFloat(a?.Value4) - parseFloat(b?.Value4));\r\n default: { }\r\n // return reportTableHandler()?.table?.data;\r\n }\r\n }\r\n const headerData = reportTableHandler()?.table?.header;\r\n const history = useHistory();\r\n const redirectTo = (path) => { }\r\n return \r\n
\r\n
\r\n history.push('/welcome')}>Home / \r\n history.push('/regional')}>Report / \r\n history.push('/eDashboard')}>EDashboard / \r\n {header_info}\r\n\r\n
\r\n
\r\n {header_info}\r\n \r\n {filters?.length > 0 ? () : null}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n icon MOVERS} key=\"movers\">\r\n \r\n \r\n \r\n icon SHAKERS} key=\"shakers\">\r\n \r\n \r\n \r\n
\r\n
\r\n
;\r\n}\r\nexport default KPIReportHandler;\r\n","export default __webpack_public_path__ + \"static/media/HeroBanner_WithContent.7bf2b6e0.png\";","import React, { useState } from 'react'\r\nimport ToolTip from 'react-power-tooltip';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\n\r\n\r\n\r\nfunction Widget(props) {\r\n\r\n const { widgetvalue, widgettooltip } = props;\r\n const location = useLocation();\r\n const [showTooltip, setShowTooltip] = useState(false)\r\n const [isActive, setIsActive] = useState(props.isselected)\r\n let className = isActive === true ? 'switch active' : 'switch ';\r\n return <>\r\n
\r\n
\r\n
\r\n
setShowTooltip(true)} onMouseLeave={() => setShowTooltip(false)}>{widgetvalue}\r\n {location.pathname === '/widget' && {widgettooltip}\r\n }\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n ;\r\n}\r\nexport default Widget;","import React, { useEffect, useState } from 'react'\r\nimport { useHistory } from 'react-router-dom';\r\nimport './WidgetModal.css'\r\nimport herobanner from '../../../assets/images/HeroBanner_WithContent.png'\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {getWidgetPreference, updateWidgetPreferenceShown } from '../../../actions/welcomePage.action';\r\nimport Widget from './widget';\r\n\r\nconst REMEMBER_LABEL = 'Don’t ask me again';\r\nexport function Banner() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const [preference, setPreference] = useState();\r\n let widgetPreferences = useSelector((state) => state.welcomePageReducer.widgetPreferences);\r\n useEffect(() => {\r\n dispatch(getWidgetPreference());\r\n if (widgetPreferences?.WidgetSelectorShown === 'true') setPreference(true);\r\n else setPreference(false);\r\n widgetPreferences?.WidgetSelectorShown === 'true' && history.push('/welcome');\r\n }, []);\r\n const WidgetPreferenceHandle = () => {\r\n setPreference(!preference)\r\n dispatch(updateWidgetPreferenceShown(!preference))\r\n }\r\n return (\r\n\r\n <>\r\n
\r\n
hero
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\nfunction WidgetModal(props) {\r\n return (<>\r\n
\r\n
{props.WIDGET_HEADING}
\r\n
\r\n Account Selected: {props.accountName}\r\n
\r\n
\r\n {props.accountWidgets?.map((widget, id) =>\r\n props.toggleHandler(bool, widget.Name, widget.WidgetID)}\r\n isselected={widget.Selected}\r\n widgettooltip={widget.Description}\r\n />)\r\n }\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n )\r\n}\r\n\r\n\r\n\r\nexport default WidgetModal\r\n\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAUCAYAAABiS3YzAAAABHNCSVQICAgIfAhkiAAAAeNJREFUOE+llDFuwjAUhjEDjKQnID1ByQmAE0BP0DACQ4kEO10BiS7AWDgB9ASEE5QbBE5QVhbS/4/syoTEkcCSFdt57/Pv9/wscrE2n897WGqgV9At9IMQwsd31W63+c1sQlnMZrMKnNeY2wavzfl8bnmedzKRI6gEbqWyHb6fnU5nw3/T6dQqFApNbDjEtIy+xz/HCKVTsVj8kQpXcHAHg4GL+TtA36PRiLAIDjse/yUMw49utxutJzUBlS6cv/BzB2Ct3+8vMWYo3PF4vNedFouFDWCAtRPC8JwWBoHEcPcq+msQBBacepPJhElKbLDnpm+0VyGKGxIachEGAsc+YNiMK9SdYN/EfG0KwRWUR4dKN00l1xGCGoDbLCjVlRGjp6yrQqjKQRY0ihGMWsgox8amcgB7B/ZXiVSOQh0HCweodUxqNdsjcmCn7R5dfhhvsDNLcw9wPQksgaw4C9etbirZCKpfbExZgsvL5eLn83mOqYjJq0llR3x/eTIZ15sQ/Ne+TMIQKviglBKOdmRBYDNbFgtNTgDX47G9girVrHWpMGJDsa+OK6uK6kosY0CrcfANNC34+rp8gHy+agCS0dDBd0FlqPg+JILvhiaAGbIcNnIegupgLbnew9AYmE9i5Q/KnBv4WgEoJAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAABHNCSVQICAgIfAhkiAAAANpJREFUOE+dlI0RwjAIha07uoQOoQ5Rp3AyHSJ9pKFHCASUu14uTfiOF36WE6yUcsWyLjDaZw1+D7oLt31lUAO8cHDLwBro3u4+CUiwopxDoAKx+7nKwuGKhaSyuUAD9EZUlyqTvTPAGaiDRRFGoAHmAfH/i48fm64d0uR7m6VgSJY+JsiMbPKGbkTs4xapk/5p2XgyqaLlG0mZLnCAWVkD6ZOpww42S3+mDmXRamlD1iIgt1MIynQKNXoaFAE1zC1ImU6jU2qGO5l/DEeaNjQc6wz8abLq6PR+AxmTlRJXEKXsAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAQJJREFUOE+lk+0NgjAQhq+GARwBEvwtI+AGTqCwASPoBjhB2QRGwN+aqBs4AKG+11DCN6gkQAj3PHftXQUtvAJbrpVFqRB0SW5hYjCxhDcwYj2OhyQ0kllBA3YQvC+JYry3RjIp6GTORUE7rqC0KDOSUUErs6BIKYrBPrTEIk8Rpbivg4IO7GO9ebCRHiQZS3DbgF+rgvyeYAg2Gw1JAInkzAwnz/DdEszAXAGXrTMzrDtS26s+49vBDuuyG5kH4VrwS+Z6kP6BdQUHV+ZYh/1N2c3pFUdXKgjOyT08LVlzd/R7gqrfvd0eOzNagJ8ZHjwk3Jao26qpA2cEdUxzSJac1A/6wcW1dlaJPgAAAABJRU5ErkJggg==\"","import ReactModal from \"react-modal\";\r\n\r\nReactModal.setAppElement('#root');\r\nexport function WidgetModalPopup({ isOpen, setShowModal,children }) {\r\n return (<>\r\n
\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '15em',\r\n left: '30em',\r\n width: '650px',\r\n height: '300px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport './AccountSelect.css';\r\nimport searchIcon from '../../../assets/images/Search_Icon.png';\r\nimport closeIcon from '../../../assets/images/Close_Window_Icon.png';\r\nimport editIcon from '../../../assets/images/Edit_Icon.png';\r\nimport deleteIcon from '../../../assets/images/Delete_Icon.png';\r\nimport CustomWidgetsIcon from '../../../assets/images/CustomWidgets_Icon.png';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { getMultiAccountWidgets, saveDropdownAccounts, saveSelectedAccounts, updateMultiWidgetStart } from '../../../actions/welcomePage.action';\r\nimport { WidgetModalPopup } from './WidgetModalPopup';\r\nimport WidgetModal from '../CustomWidget/WidgetModal';\r\nimport HomeBreadcrumb from './Home-Breadcrumb';\r\nimport { DeleteFragment, DeleteModalPopup } from '../../Onboard/OnboardComponents/Modals/DeleteModalPopup';\r\nimport TooltipHandler from '../../Onboard/OnboardComponents/TooltipHandler';\r\n\r\n\r\n\r\n\r\nconst CANCEL_BUTTON = \"CANCEL\";\r\nconst CUSTOM_WIDGET_BUTTON = \"SEE MY CUSTOM WIDGET\";\r\nconst UPDATE_BUTTON = \"UPDATE\";\r\nconst SKIP_BUTTON = 'SKIP';\r\n\r\n\r\nfunction AccountSelect() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const location = useLocation();\r\n let multiAccountsInfo = useSelector((state) => state.welcomePageReducer.multiAccounts);\r\n let savedAccountsInfo = useSelector((state) => state.welcomePageReducer.selectedAccounts);\r\n\r\n \r\n\r\n const [accountInfo, setAccountInfo] = useState([])\r\n const [showWidgetModal, setShowWidgetModal] = useState(false);\r\n const [multiAccountSelected, setMultiAccountSelected] = useState(false);\r\n const [widgetAccountSelected, setWidgetAccountSelected] = useState(false);\r\n const [editMode, setEditMode] = useState(false);\r\n const [query, setQuery] = useState('');\r\n const [noOfWidgetSelected, setNoOfWidgetSelected] = useState(0);\r\n const [accountName, setAccountName] = useState('');\r\n const [showDeleteWidgetModal, setShowDeleteWidgetModal] = useState(false);\r\n const [editModal, setEditModal] = useState(false);\r\n const WIDGET_HEADING = editModal === true ? 'Edit Widgets' : 'Add Widgets';\r\n\r\n useEffect(() => {\r\n dispatch(getMultiAccountWidgets());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (multiAccountsInfo?.length > 0) {\r\n multiAccountsInfo?.map(account => account.isChecked = false);\r\n setAccountInfo(multiAccountsInfo);\r\n };\r\n }, [dispatch,multiAccountsInfo]);\r\n const filterQuery = options => {\r\n return options.filter(option => {\r\n if (query === '') return option;\r\n else if (option.CustomerName.toLowerCase().includes(query.toLowerCase().trim()))\r\n return option;\r\n })\r\n }\r\n const [widgetSelectedArr, setWidgetSelectedArr] = useState([]);\r\n const [selectAllChecked, setSelectAllChecked] = useState(false);\r\n\r\n const AccountSelectHandle = (account, i) => {\r\n let temp_Arr = [...accountInfo];\r\n temp_Arr.map((itm, i) => {\r\n if (account?.CustomerName === itm?.CustomerName) {\r\n itm.isChecked = !account.isChecked;\r\n if (account?.isChecked) {\r\n let element = temp_Arr.slice(i, i + 1);\r\n temp_Arr.splice(i, 1);\r\n temp_Arr.unshift(element[0]);\r\n widgetSelectedArr.unshift(account.CustomerName);\r\n }\r\n if (!account?.isChecked) {\r\n if (widgetSelectedArr.includes(account.CustomerName)) {\r\n let index_acc = widgetSelectedArr.indexOf(account.CustomerName);\r\n widgetSelectedArr.splice(index_acc, 1);\r\n }\r\n }\r\n }\r\n if (account?.isChecked === false) {\r\n if (account?.CustomerName === itm?.CustomerName) {\r\n setNoOfWidgetSelected(prevState => prevState - 1);\r\n }\r\n }\r\n if (account?.isChecked === true) {\r\n account?.CustomerName === itm?.CustomerName &&\r\n setNoOfWidgetSelected(prevState => prevState + 1);\r\n }\r\n return ' ';\r\n })\r\n let uniqueWidgets = [];\r\n widgetSelectedArr.forEach((c) => {\r\n if (!uniqueWidgets.includes(c)) {\r\n uniqueWidgets.push(c);\r\n }\r\n });\r\n let resultWidgets = accountInfo.filter(el => {\r\n return uniqueWidgets.filter(element => {\r\n if (element === el.CustomerID) return element;\r\n });\r\n });\r\n\r\n let filteredResultWidgets = resultWidgets.filter(res => {\r\n if (res.isChecked === true) return res;\r\n });\r\n dispatch(saveSelectedAccounts(filteredResultWidgets));\r\n setSelectAllChecked(!accountInfo.some((acc) => acc?.isChecked !== true));\r\n setAccountInfo(temp_Arr);\r\n if (editMode === true) {\r\n setWidgetAccountSelected(true);\r\n setMultiAccountSelected(false);\r\n }\r\n else {\r\n setWidgetAccountSelected(false);\r\n setMultiAccountSelected(true);\r\n }\r\n\r\n }\r\n\r\n const AccountSelectAllHandle = (event) => {\r\n const { name, checked } = event.target;\r\n if (checked) {\r\n let tempUser = accountInfo.map((item => {\r\n setSelectAllChecked(!item.isChecked);\r\n return { ...item, isChecked: true }\r\n }));\r\n setAccountInfo(tempUser);\r\n setNoOfWidgetSelected(multiAccountsInfo?.length);\r\n accountInfo?.map(account => widgetSelectedArr.unshift(account.CustomerName))\r\n }\r\n if (!checked) {\r\n let tempUser = accountInfo.map((item => {\r\n setSelectAllChecked(!item.isChecked);\r\n return { ...item, isChecked: false }\r\n }));\r\n setNoOfWidgetSelected(0);\r\n setAccountInfo(tempUser);\r\n setWidgetSelectedArr([]);\r\n }\r\n let uniqueWidgets = [];\r\n widgetSelectedArr.forEach((c) => {\r\n if (!uniqueWidgets.includes(c)) {\r\n uniqueWidgets.push(c);\r\n }\r\n });\r\n let resultWidgets = [];\r\n resultWidgets = accountInfo.filter(el => {\r\n return uniqueWidgets.filter(element => {\r\n if (element === el.CustomerID) return element;\r\n });\r\n });\r\n\r\n let filteredResultWidgets = resultWidgets.filter(res => {\r\n if (res.isChecked === true) return res;\r\n });\r\n if (selectAllChecked === false)\r\n dispatch(saveSelectedAccounts(filteredResultWidgets));\r\n\r\n if (editMode === true) {\r\n setWidgetAccountSelected(true);\r\n setMultiAccountSelected(false);\r\n }\r\n else {\r\n setWidgetAccountSelected(false);\r\n setMultiAccountSelected(true);\r\n }\r\n }\r\n if (selectAllChecked === true) dispatch(saveSelectedAccounts(accountInfo));\r\n\r\n function removeDuplicates(originalArray, prop) {\r\n let account_arr = [];\r\n let accountObj = {};\r\n for (var i in originalArray) {\r\n accountObj[originalArray[i][prop]] = originalArray[i];\r\n }\r\n for (i in accountObj) {\r\n account_arr.push(accountObj[i]);\r\n }\r\n return account_arr;\r\n }\r\n const [savedAccounts, setSavedAccounts] = useState([]);\r\n useEffect(() => {\r\n if (multiAccountsInfo?.length > 0 && savedAccountsInfo?.length > 0) {\r\n let temp_arr = [...multiAccountsInfo, ...savedAccountsInfo];\r\n var uniqueArray = removeDuplicates(temp_arr, \"CustomerName\");\r\n setAccountInfo(uniqueArray)\r\n let AccountHandleData = (temp_arr)?.map(widgets => widgets.Widgets);\r\n let accountWidgets = AccountHandleData.map(account => {\r\n let noOfWidgets = 0;\r\n if (account[0].Selected === true) noOfWidgets += 1;\r\n if (account[1].Selected === true) noOfWidgets += 1;\r\n return noOfWidgets;\r\n });\r\n uniqueArray.map((array, i) => array.noOfWidgets = accountWidgets[i]);\r\n setSavedAccounts(uniqueArray);\r\n }\r\n }, [multiAccountsInfo, dispatch]);\r\n dispatch(saveDropdownAccounts(savedAccounts));\r\n\r\n\r\n const [accountWidgets, setAccountWidgets] = useState([]);\r\n const [customerID_unique, setCustomerID_unique] = useState(null);\r\n let AccountHandleData = multiAccountsInfo?.map(widgets => widgets.Widgets);\r\n let AccountHandlerData = multiAccountsInfo?.map(widgets => ({\r\n \"customerId\": widgets.CustomerID ?? null,\r\n \"Widgets\": widgets.Widgets ?? []\r\n }));\r\n let customerIds = multiAccountsInfo?.map(id => id.CustomerID);\r\n const CustomWidgetHandler = (account) => {\r\n dispatch(getMultiAccountWidgets());\r\n setShowWidgetModal(true);\r\n let index = customerIds.indexOf(account.CustomerID);\r\n setAccountWidgets(AccountHandleData[index]);\r\n setCustomerID_unique(account.CustomerID);\r\n setAccountName(account.CustomerName);\r\n }\r\n let selectedWidgets = accountWidgets?.filter(acc => {\r\n if (acc.Selected === true) return acc.WidgetID;\r\n }).map(dt => dt.WidgetID);\r\n\r\n\r\n const toggleHandler = (bool, name, id) => {\r\n if (bool === true) {\r\n selectedWidgets.unshift(id);\r\n }\r\n if (bool === false) {\r\n if (selectedWidgets.includes(id)) {\r\n let index = selectedWidgets.indexOf(id);\r\n if (index > -1) {\r\n selectedWidgets.splice(index, 1);\r\n }\r\n }\r\n }\r\n dispatch(updateMultiWidgetStart(\r\n [\r\n {\r\n \"CustomerID\": customerID_unique,\r\n \"WidgetIds\": selectedWidgets\r\n }\r\n ]\r\n ));\r\n }\r\n\r\n\r\n const widget_ButtonHandler = () => {\r\n setShowWidgetModal(false);\r\n dispatch(getMultiAccountWidgets());\r\n setEditModal(false);\r\n }\r\n\r\n useEffect(() => {\r\n let filteredEditMode = AccountHandleData.filter(account => {\r\n if (account[0].Selected || account[1].Selected) {\r\n return account;\r\n }\r\n })\r\n if (filteredEditMode.length > 0) setEditMode(true)\r\n else setEditMode(false);\r\n }, [AccountHandleData]);\r\n\r\n const [deleteWidgetID, setDeleteWidgetID] = useState(null);\r\n const deleteUniqueHandler = account => {\r\n setShowDeleteWidgetModal(true);\r\n setAccountName(account.CustomerName);\r\n setDeleteWidgetID(account.CustomerID);\r\n }\r\n\r\n const handleDeleteWidget = () => {\r\n setShowDeleteWidgetModal(false);\r\n dispatch(updateMultiWidgetStart(\r\n [\r\n {\r\n \"CustomerID\": deleteWidgetID,\r\n \"WidgetIds\": []\r\n }\r\n ]\r\n ));\r\n dispatch(getMultiAccountWidgets());\r\n }\r\n const [multiAccountWidgetModal, showMultiAccountWidgetModal] = useState(false);\r\n const [multiWidgetsOverwrite, setMultiWidgetsOverwrite] = useState(null);\r\n let filteredAccounts = accountInfo.filter(accounts => accounts.isChecked === true);\r\n let filteredCustomerIds = filteredAccounts.map(ids => ids.CustomerID);\r\n const MultiAccountAddWidget = () => {\r\n setSelectedWidgetMulti([])\r\n setMultiWidgetsOverwrite(false);\r\n dispatch(getMultiAccountWidgets());\r\n showMultiAccountWidgetModal(true);\r\n let index = customerIds.indexOf(filteredAccounts[0].CustomerID);\r\n if (multiWidgetsOverwrite) setAccountWidgets(AccountHandleData[index]);\r\n else {\r\n let temp_arr = [...AccountHandleData[index]]\r\n temp_arr.map(info => info.Selected = false);\r\n setAccountWidgets(temp_arr)\r\n }\r\n }\r\n\r\n const handleMutliAddClick = () => {\r\n setMultiWidgetsOverwrite(true);\r\n handleDeleteMultiWidget();\r\n dispatch(getMultiAccountWidgets());\r\n MultiAccountAddWidget();\r\n }\r\n\r\n const dispatchedItem = (customerId, widgetID) => ({\r\n \"CustomerID\": customerId,\r\n \"WidgetIds\": widgetID\r\n })\r\n const [selectedWidgetMulti, setSelectedWidgetMulti] = useState([])\r\n const toggleHandleMulti = (bool, name, id) => {\r\n let temp_Arr = [...selectedWidgetMulti];\r\n if (bool === true) {\r\n temp_Arr.unshift(id)\r\n }\r\n\r\n if (bool === false) {\r\n if (temp_Arr.includes(id)) {\r\n let index = temp_Arr.indexOf(id);\r\n if (index > -1) {\r\n temp_Arr.splice(index, 1);\r\n }\r\n }\r\n }\r\n setSelectedWidgetMulti(temp_Arr)\r\n let filteredData = filteredCustomerIds.map(i => dispatchedItem(i, temp_Arr))\r\n dispatch(updateMultiWidgetStart(filteredData));\r\n dispatch(getMultiAccountWidgets());\r\n }\r\n\r\n const widget_ButtonHandlerMulti = () => {\r\n dispatch(getMultiAccountWidgets());\r\n showMultiAccountWidgetModal(false)\r\n setMultiAccountSelected(false)\r\n }\r\n\r\n const [multiAccountDeleteModal, showMultiAccountDeleteModal] = useState(false)\r\n const handleDeleteMultiWidget = () => {\r\n \r\n let filteredData = filteredCustomerIds.map(i => dispatchedItem(i, []))\r\n dispatch(updateMultiWidgetStart(filteredData));\r\n dispatch(getMultiAccountWidgets())\r\n showMultiAccountDeleteModal(false);\r\n dispatch(getMultiAccountWidgets())\r\n\r\n }\r\n\r\n const [showCancelWidgetModal, setShowCancelWidgetModal] = useState(false);\r\n const [sureProceedModal, setSureProceedModal] = useState(false);\r\n const handleCancelWidgets = () => {\r\n let temp_Arr = [...accountInfo];\r\n temp_Arr.map(accunt => accunt.isChecked = false);\r\n setAccountInfo(temp_Arr);\r\n setMultiAccountSelected(false);\r\n setWidgetAccountSelected(false);\r\n handleDeleteMultiWidget()\r\n setShowCancelWidgetModal(false);\r\n history.push('/welcome');\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {location.pathname !== '/widget' && }\r\n
\r\n {location.pathname === '/welcomePage/filter' &&
Custom Widgets
}\r\n
Select a custom widget for your accounts
\r\n {widgetAccountSelected &&
\r\n
\r\n
\r\n {noOfWidgetSelected} accounts selected\r\n
\r\n (Note: ADD WIDGETS action will overwrite your existing selected widgets.)\r\n
\r\n
\r\n \r\n \r\n\r\n
{\r\n setShowDeleteWidgetModal(false);\r\n setShowWidgetModal(false)\r\n setWidgetAccountSelected(false)\r\n }}>
\r\n
\r\n
\r\n
}\r\n {multiAccountSelected &&
\r\n
\r\n
\r\n
\r\n {noOfWidgetSelected} accounts selected\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
{\r\n setShowDeleteWidgetModal(false);\r\n setShowWidgetModal(false)\r\n setMultiAccountSelected(false)\r\n }}>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n
\r\n
\r\n
\r\n acc?.isChecked !== true)}\r\n />\r\n
\r\n
\r\n setQuery(e.target.value)}\r\n placeholder='Search Account' />\r\n
\r\n
\r\n
\r\n\r\n
\r\n {filterQuery(accountInfo)?.map((account, i) => {\r\n let widgets = AccountHandlerData.find(acc => acc.customerId === account.CustomerID)?.Widgets ?? [];\r\n return (\r\n
\r\n
\r\n
\r\n \r\n AccountSelectHandle(account, i)}\r\n checked={account?.isChecked}\r\n />\r\n \r\n \r\n
\r\n {widgets.filter(wid => wid.Selected === true).length > 0 ?\r\n
\r\n {widgets.filter(wid => wid.Selected === true).length} Widgets\r\n {\r\n setEditModal(true);\r\n CustomWidgetHandler(account);\r\n }} />\r\n deleteUniqueHandler(account)} />\r\n
\r\n :\r\n CustomWidgetHandler(account)}>\r\n \r\n \r\n }\r\n
\r\n
\r\n );\r\n})}\r\n
\r\n
\r\n {location.pathname === '/widget' ?\r\n
\r\n\r\n \r\n \r\n
:\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n {\r\n (showWidgetModal && widgetAccountSelected === false && multiAccountSelected === false)\r\n && \r\n {\r\n setEditModal(false);\r\n setShowWidgetModal(false)\r\n }}\r\n toggleHandler={toggleHandler} accountName={accountName}\r\n widget_ButtonHandler={widget_ButtonHandler} />\r\n }\r\n\r\n {(multiAccountWidgetModal) && \r\n showMultiAccountWidgetModal(false)}\r\n toggleHandler={toggleHandleMulti} accountName='Selected Accounts'\r\n widget_ButtonHandler={widget_ButtonHandlerMulti} />\r\n }\r\n\r\n {(showDeleteWidgetModal && widgetAccountSelected === false && multiAccountSelected === false)\r\n && \r\n setShowDeleteWidgetModal(false)}\r\n queueName={`selected widgets for ${accountName} account`}\r\n />\r\n }\r\n\r\n {(multiAccountDeleteModal)\r\n && \r\n showMultiAccountDeleteModal(false)}\r\n queueName='all the widgets for selected accounts ?'\r\n />\r\n }\r\n\r\n {(showCancelWidgetModal)\r\n && \r\n setShowCancelWidgetModal(false)}\r\n queueName='all the saved data ?'\r\n />\r\n }\r\n {sureProceedModal &&\r\n \r\n history.push('/welcome')}\r\n handleDeleteQueueCancel={() => setSureProceedModal(false)}\r\n delete={false}\r\n />\r\n \r\n }\r\n
\r\n \r\n )\r\n}\r\nexport default AccountSelect\r\n\r\n","import React from 'react';\r\nimport './WidgetModal.css'\r\nimport { Banner } from './WidgetModal';\r\nimport AccountSelect from '../Welcome-LandingPage/AccountSelect';\r\n\r\nfunction LandingPage() {\r\n return (\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default LandingPage\r\n ","import ReactModal from \"react-modal\";\r\nimport { OnboardSelect } from './../../../Onboard/OnboardComponents/Dropdown/Select';\r\nimport Success_Icon from './../../../../assets/onboard-images/Success_Icon.png';\r\n\r\nexport function ActivationRequest(props) {\r\n\r\n return <>\r\n
\r\n
\r\n
\r\n Assign To Me\r\n
\r\n
\r\n {props.supervisorValidation &&
Please Ensure you filled all the inputs with \" * \" mark
}\r\n
\r\n
Employee Name
\r\n
{props.selectedRow.EmployeeName} ({props.selectedRow.Email})
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n}\r\n\r\n\r\nexport function ActivateModelPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '15em',\r\n left: '30em',\r\n width: '500px',\r\n height: '320px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n\r\nexport function AdminCancelModel(props) {\r\n const { handleYesButton, handleNoButton } = props\r\n return <>\r\n
\r\n
\r\n
\r\n Account not Submitted\r\n
\r\n\r\n\r\n
Are you sure you want to cancel the Account
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n}\r\n\r\n\r\nexport function UnsavedModel(props) {\r\n const { handleYesButton, handleNoButton, handleSaveButton } = props\r\n\r\n return <>\r\n
\r\n
\r\n
\r\n Unsaved Changes\r\n
\r\n\r\n\r\n
There are unsaved changes on this page.
\r\n
Please save the details to continue.
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n}\r\n\r\nexport function AdminNextModel(props) {\r\n const { handleYesButton, handleNoButton} = props\r\n\r\n return <>\r\n
\r\n
\r\n
\r\n Unsaved Changes\r\n
\r\n\r\n\r\n
There are unsaved changes on this page.
\r\n
Before proceeding do you wish to save these changes?
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n}\r\n\r\nexport function AdminSubmitModel(props) {\r\n return <>\r\n \r\n
\r\n
\r\n
\r\n {props.modalName}\r\n
\r\n\r\n\r\n
\r\n
\r\n     Success\r\n
\r\n
\r\n {props.queueName} account submitted successfully.\r\n
{props.ReopenText}
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n}\r\n\r\nexport function DataRetainModel(props) {\r\n return <>\r\n \r\n
\r\n
\r\n
\r\n {props.modalName}\r\n
\r\n
\r\n \r\n
\r\n Do you want to Retain the mapped employee previous assignments ?\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n}\r\n\r\n\r\n\r\n\r\n","export const STAFF_ADMIN_ACTIONTYPES = {\r\n GET_AVAILABLE_EMPLOYEES: \"GET_AVAILABLE_EMPLOYEES\",\r\n AVAILABLE_EMPLOYEES: \"AVAILABLE_EMPLOYEES\",\r\n\r\n GET_SUPERVISOR_LIST: \"GET_SUPERVISOR_LIST\",\r\n SUPERVISOR_LIST: \"SUPERVISOR_LIST\",\r\n\r\n UPDATE_NEW_USER_ROLE_START: \"UPDATE_NEW_USER_ROLE_START\",\r\n UPDATE_NEW_USER_ROLE_SUCCESS: \"UPDATE_NEW_USER_ROLE_SUCCESS\",\r\n\r\n UPDATE_SUPERVISOR_EMPLOYEE_MAPPING_START: \"UPDATE_SUPERVISOR_EMPLOYEE_MAPPING_START\",\r\n UPDATE_SUPERVISOR_EMPLOYEE_MAPPING_SUCCESS: \"UPDATE_SUPERVISOR_EMPLOYEE_MAPPING_SUCCESS\",\r\n\r\n UPDATE_ACCOUNT_EMPLOYEE_START: \"UPDATE_ACCOUNT_EMPLOYEE_START\",\r\n UPDATE_ACCOUNT_EMPLOYEE_SUCCESS: \"UPDATE_ACCOUNT_EMPLOYEE_SUCCESS\",\r\n\r\n GET_ROLE_CATEGORY: \"GET_ROLE_CATEGORY\",\r\n ROLE_CATEGORY: \"ROLE_CATEGORY\",\r\n\r\n GET_STAFF_ACCOUNTS: \"GET_STAFF_ACCOUNTS\",\r\n STAFF_ACCOUNTS: \"STAFF_ACCOUNTS\",\r\n\r\n GET_ACCOUNT_ASSIGNMENT: \"GET_ACCOUNT_ASSIGNMENT\",\r\n ACCOUNT_ASSIGNMENT: \"ACCOUNT_ASSIGNMENT\",\r\n\r\n GET_QUEUE_ASSIGNMENT: \"GET_QUEUE_ASSIGNMENT\",\r\n QUEUE_ASSIGNMENT: \"QUEUE_ASSIGNMENT\",\r\n\r\n GET_ID_ASSIGNMENT: \"GET_ID_ASSIGNMENT\",\r\n ID_ASSIGNMENT: \"ID_ASSIGNMENT\",\r\n\r\n GET_SLA_ASSIGNMENT: \"GET_SLA_ASSIGNMENT\",\r\n SLA_ASSIGNMENT: \"SLA_ASSIGNMENT\",\r\n\r\n GET_VOLUME_ASSIGNMENT: \"GET_VOLUME_ASSIGNMENT\",\r\n VOLUME_ASSIGNMENT: \"VOLUME_ASSIGNMENT\",\r\n\r\n UPDATE_QUEUE_ASSIGNMENT_START:\"UPDATE_QUEUE_ASSIGNMENT_START\",\r\n UPDATE_QUEUE_ASSIGNMENT_SUCCESS:\"UPDATE_QUEUE_ASSIGNMENT_SUCCESS\",\r\n\r\n UPDATE_ID_ASSIGNMENT_START:\"UPDATE_ID_ASSIGNMENT_START\",\r\n UPDATE_ID_ASSIGNMENT_SUCCESS:\"UPDATE_ID_ASSIGNMENT_SUCCESS\",\r\n\r\n UPDATE_SLA_ASSIGNMENT_START:\"UPDATE_SLA_ASSIGNMENT_START\",\r\n UPDATE_SLA_ASSIGNMENT_SUCCESS:\"UPDATE_SLA_ASSIGNMENT_SUCCESS\",\r\n\r\n UPDATE_VOLUME_ASSIGNMENT_START:\"UPDATE_VOLUME_ASSIGNMENT_START\",\r\n UPDATE_VOLUME_ASSIGNMENT_SUCCESS:\"UPDATE_VOLUME_ASSIGNMENT_SUCCESS\",\r\n\r\n GET_STAFF_PREVIEW: \"GET_STAFF_PREVIEW\",\r\n STAFF_PREVIEW: \"STAFF_PREVIEW\",\r\n\r\n GET_MAPPED_EMPLOYEES: \"GET_MAPPED_EMPLOYEES\",\r\n MAPPED_EMPLOYEES: \"MAPPED_EMPLOYEES\",\r\n\r\n GET_QUEUE_DATA: \"GET_QUEUE_DATA\",\r\n QUEUE_DATA: \"QUEUE_DATA\",\r\n\r\n GET_VOLUME_TEMPLATES:\"GET_VOLUME_TEMPLATES\",\r\n VOLUME_TEMPLATES:\"VOLUME_TEMPLATES\",\r\n\r\n GET_ACCOUNT_SLA:\"GET_ACCOUNT_SLA\",\r\n ACCOUNT_SLA:\"ACCOUNT_SLA\",\r\n\r\n GET_ID_ACCOUNTS:\"GET_ID_ACCOUNTS\",\r\n ID_ACCOUNTS:\"ID_ACCOUNTS\",\r\n\r\n GET_SLA_ACCOUNTS:\"GET_SLA_ACCOUNTS\",\r\n SLA_ACCOUNTS:\"SLA_ACCOUNTS\",\r\n\r\n GET_VALID_SUPERVISOR:\"GET_VALID_SUPERVISOR\",\r\n VALID_SUPERVISOR:\"VALID_SUPERVISOR\",\r\n\r\n GET_ACCOUNT_SLA_FOREDIT:\"GET_ACCOUNT_SLA_FOREDIT\",\r\n ACCOUNT_SLA_FOREDIT:\"ACCOUNT_SLA_FOREDIT\",\r\n\r\n GET_VOLUME_TEMPLATES_FOREDIT:\"GET_VOLUME_TEMPLATES_FOREDIT\",\r\n VOLUME_TEMPLATES_FOREDIT:\"VOLUME_TEMPLATES_FOREDIT\",\r\n\r\n SAVE_SUPERVISOR_MAPPING :\"SAVE_SUPERVISOR_MAPPING\",\r\n \r\n}","\r\nimport { STAFF_ADMIN_ACTIONTYPES as actionTypes } from '../../constants/Administration/staffAdmin-actionTypes'\r\n\r\n\r\n\r\nexport const getAvailableEmployees = (items) => ({\r\n type: actionTypes.GET_AVAILABLE_EMPLOYEES, items\r\n});\r\n\r\nexport const getSupervisorList = (data) => (\r\n {\r\n type: actionTypes.GET_SUPERVISOR_LIST,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const updateNewUserRoleStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_NEW_USER_ROLE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateNewUserRoleSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_NEW_USER_ROLE_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateSupervisorEmployeeMappingStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_SUPERVISOR_EMPLOYEE_MAPPING_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateSupervisorEmployeeMappingSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_SUPERVISOR_EMPLOYEE_MAPPING_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateAccountEmployeeStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_ACCOUNT_EMPLOYEE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateAccountEmployeeSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_ACCOUNT_EMPLOYEE_SUCCESS,\r\n }\r\n)\r\n\r\nexport const getRoleCategory = (data) => ({\r\n type: actionTypes.GET_ROLE_CATEGORY,\r\n payload: data\r\n});\r\n\r\nexport const getStaffAccounts = (empId, supId) => ({\r\n type: actionTypes.GET_STAFF_ACCOUNTS,\r\n empId, supId\r\n});\r\n\r\nexport const saveSupervisorMapping = (data) => ({\r\n type: actionTypes.SAVE_SUPERVISOR_MAPPING,\r\n payload: data\r\n});\r\n\r\nexport const getAccountAssignment = (emp_id, sup_id) => ({\r\n type: actionTypes.GET_ACCOUNT_ASSIGNMENT,\r\n empId: emp_id,\r\n supId: sup_id\r\n});\r\n\r\nexport const getQueueAssignment = (empId, supId) => ({\r\n type: actionTypes.GET_QUEUE_ASSIGNMENT,\r\n empId: empId,\r\n supId: supId\r\n});\r\n\r\nexport const getIdAssignment = (empId, supId) => ({\r\n type: actionTypes.GET_ID_ASSIGNMENT,\r\n empId: empId,\r\n supId: supId\r\n});\r\n\r\nexport const getSlaAssignment = (empId, supId) => ({\r\n type: actionTypes.GET_SLA_ASSIGNMENT,\r\n empId: empId,\r\n supId: supId\r\n});\r\n\r\nexport const getVolumeAssignment = (empId, supId) => ({\r\n type: actionTypes.GET_VOLUME_ASSIGNMENT,\r\n empId: empId,\r\n supId: supId\r\n});\r\n\r\nexport const updateQueueAssignmentStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_QUEUE_ASSIGNMENT_START,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const updateQueueAssignmentSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_QUEUE_ASSIGNMENT_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateIdAssignmentStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_ID_ASSIGNMENT_START,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const updateIdAssignmentSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_ID_ASSIGNMENT_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateSlaAssignmentStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_SLA_ASSIGNMENT_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateSlaAssignmentSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_SLA_ASSIGNMENT_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateVolumeAssignmentStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_VOLUME_ASSIGNMENT_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateVolumeAssignmentSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_VOLUME_ASSIGNMENT_SUCCESS,\r\n }\r\n)\r\n\r\nexport const getStaffPreview = (empId, supId) => ({\r\n type: actionTypes.GET_STAFF_PREVIEW,\r\n empId, supId\r\n});\r\n\r\nexport const getMappedEmployees = (data) => ({\r\n type: actionTypes.GET_MAPPED_EMPLOYEES,\r\n payload: data\r\n});\r\n\r\nexport const getQueueData = (empId, supId) => ({\r\n type: actionTypes.GET_QUEUE_DATA,\r\n empId, supId\r\n});\r\n\r\nexport const getAccountSLA = (empId, supId) => ({\r\n type: actionTypes.GET_ACCOUNT_SLA,\r\n empId, supId\r\n});\r\n\r\nexport const getVolumeTemplates = (empId, supId) => ({\r\n type: actionTypes.GET_VOLUME_TEMPLATES,\r\n empId, supId\r\n});\r\n\r\nexport const getIDAccounts = (empId, supId) => ({\r\n type: actionTypes.GET_ID_ACCOUNTS,\r\n empId, supId\r\n});\r\n\r\nexport const getSLAAccounts = (empId, supId) => ({\r\n type: actionTypes.GET_SLA_ACCOUNTS,\r\n empId, supId\r\n});\r\n\r\nexport const getValidSupervisor = (data) => (\r\n {\r\n type: actionTypes.GET_VALID_SUPERVISOR,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const getAccountSLAForEdit = (empId, supId) => ({\r\n type: actionTypes.GET_ACCOUNT_SLA_FOREDIT,\r\n empId, supId\r\n});\r\n\r\nexport const getVolumeTemplatesForEdit = (empId, supId) => ({\r\n type: actionTypes.GET_VOLUME_TEMPLATES_FOREDIT,\r\n empId, supId\r\n});","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAONJREFUKFOlkkEOgjAQRf+QeA1Xxo1eQfeix9ANAku9gro0wYV6DPUAcARxYcLKY0jCOFVL0AihsUmTdto3f9r5hMLwo1Ez42wK8BCg9vOIcCXQUeZm3Tvc9HXSCz+0xxmwkX2jmKywThlwgv5p/8on4w3tSoCPsMATBdO7vKRC6TtfapHVIi8aLph5Xkctfx/RktzIPoPRNQHlgTG5oX03KFPnT/8BB7F8bseoVPBFKS4FmpmBWL3agSyRDypr/O92qKgXDiYM2tZRtcQAa2UAffkJEwUVyqlAjoJyy+V+NTD5A9uMWMTzlWe9AAAAAElFTkSuQmCC\"","import React, { useEffect } from 'react';\r\nimport './EmployeeAssign.css';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useState } from 'react';\r\nimport { ActivateModelPopup, AdminCancelModalPopup, AdminCancelModel, UnsavedModel, UnsavedModelPopUp } from './AssignModel';\r\nimport { ActivationRequest } from './AssignModel';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getAvailableEmployees, getRoleCategory, getStaffAccounts, getSupervisorList, saveSupervisorMapping } from './../../../../actions/Administration/staffAdmin.action';\r\nimport Active_Indication_Icon from \"../../../../assets/images/Active_Indication_Icon.png\"\r\nimport Search_Icon from \"../../../../assets/images/Search_Icon.png\"\r\nimport { getRoleBasedView } from '../../../../actions/Administration/admin.action';\r\n\r\n\r\nconst Header = [\r\n { caption: 'Employee ID', id: '1' },\r\n { caption: 'Employee Name', id: '2' },\r\n { caption: 'Short Name', id: '3' },\r\n { caption: 'Email', id: '4' },\r\n { caption: 'Hire Date', id: '5' },\r\n { caption: 'Status', id: '6' },\r\n]\r\nfunction AvailableEmployeesHandle(props) {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const availableEmployees = useSelector((state) => state.staffAdminReducer.availableEmployees);\r\n const supervisorList = useSelector((state) => state.staffAdminReducer.supervisorList);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n useEffect(() => {\r\n dispatch(getAvailableEmployees(''));\r\n dispatch(getSupervisorList());\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n // const [showRequestForm, setShowRequestForm] = useState(false);\r\n // const [supervisorValidation, setSupervisorValidation] = useState(false)\r\n // const [selectedRow, setSelectedRow] = useState({})\r\n const onClickSupervisorAssign = (info, i) => {\r\n console.log(info);\r\n let temp_arr = {\r\n EmployeeName: info?.['Employee Name'],\r\n EmployeeID: info?.['Employee ID'],\r\n Email: info?.['Email'],\r\n Supervisor:supervisorList?.[0]?.Supervisor,\r\n SupervisorID:supervisorList?.[0]?.['Employee ID'],\r\n HireDate:info?.['Hire Date'],\r\n ValidFrom:info?.ValidFrom,\r\n ValidTo:info?.ValidTo,\r\n NewExisting:info?.NewExisting,\r\n view:'create'\r\n }\r\n // setSelectedRow(temp_arr);\r\n dispatch(saveSupervisorMapping(temp_arr));\r\n history.push('/admin/staff/assign');\r\n // setShowRequestForm(true)\r\n }\r\n\r\n // const saveSupervisorToList = (name, value, id) => {\r\n // let temp = { ...selectedRow };\r\n // temp.Supervisor = value;\r\n // temp.SupervisorID = id;\r\n // setSelectedRow(temp)\r\n // }\r\n // const handleSuperVisiorMapping = () => {\r\n // console.log(selectedRow)\r\n // if(!selectedRow.Supervisor){\r\n // setShowRequestForm(true);\r\n // setSupervisorValidation(true);\r\n // }\r\n // else{\r\n // dispatch(saveSupervisorMapping(selectedRow));\r\n // history.push('/admin/staff/assign');\r\n // setSupervisorValidation(false);\r\n // }\r\n // }\r\n const [filter, setFilter] = useState('');\r\n const onChangeSearchHandle=e=>{\r\n let query = e.target.value;\r\n setFilter(query);\r\n dispatch(getAvailableEmployees(query));\r\n }\r\n return (<>\r\n
\r\n
\r\n
Total: {availableEmployees?.length}
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {Header.map(header => (\r\n ))}\r\n \r\n \r\n \r\n \r\n {availableEmployees.map((info, i) =>\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {RoleBasedView?.[0]?.StaffAdmin?.[0]?.ReadWrite === 1 ? : ''}\r\n )\r\n )}\r\n \r\n
{header.caption}{' '}
{info?.['Employee ID']}{info?.['Employee Name']}{info?.['Short Name']}{info?.['Email']}{info?.['Hire Date']}   Active onClickSupervisorAssign(info, i)}> ASSIGN TO ME
\r\n


\r\n
\r\n {/* {showRequestForm && \r\n setShowRequestForm(false)}\r\n addValueToRole={saveSupervisorToList} supervisorValidation={supervisorValidation}\r\n />\r\n \r\n } */}\r\n\r\n )\r\n}\r\n\r\n\r\nexport default AvailableEmployeesHandle\r\n\r\n\r\n\r\n\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAKRJREFUKFNjZEAC/xkY5IDcbCD2BmI1qNRNIL0ViKcxMjA8gikHsiEAqCkFJAnErMiGIbF/A9lZQA1zQGJgjVBNs3FoQBdOBWlmhDrvDh6b0DWCbFYBaewAMsqJtA2mrBOk8TKQp0Oixisgjb9IcCbM/N8UabwCNEabRKdeBdnYCdRURqLGLvKjA5oAUoH0LCJthSQAmGKgk0Gap5KU5JA0E53IAfgCLu+MAIGQAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAQCAYAAAAS7Y8mAAAABHNCSVQICAgIfAhkiAAAAgJJREFUOE+FVEFu2zAQHMq+xz+IiyRAb0lPPdZ5QZIPFGI/UOcFVV+Q9AWi84HmB3VeEPlWoDbg/sD3ONrO0qRCqRZsQJBM7g5nZndp0PPL35djecE3GIwZcsFnFEIrvjci4h5WX2Z9+aa7kY/LkQxwR8C8L6lZF6wJcOtW9rEb2wL2oEP8CgxhDGYQOGxRubXdaHJ+Vir7i1pQMPk4AN7PlvY2BW+ANUFq/FTpAiyyIa7db7v2YCfldW1wzr1NBjy5P1btQH5aThl75wFJYLayNoJ74CD/uQHdYqIM/WGCMipIGDUMGZOHGKbju1vaQuN2wCflvRh89Uwj6M7rt8MA7yNjpnwdpSAt8CHeqVJDORMGq6/q6YeuTO49PSztJLL13ULPFZy+vlkZyHF9zvVL8/m0rLh7njII/j0S9MoIbrpVZ86c8Z/4XFL6PNpZD6FYx5K9fjwMnCRH1n3AjXUKfMgKbTnak3eseOb/0T4ronWt4jG4MlvK045g8aI0rqstvsWYoMUbHSxe158WONuNg+C0Bkmrgb7/oO96gA5Mf7uFgBSkogW26RAOCKnqxG34nu8bkK5l/4005WvFdwzJtjbiBluzSEe6roVdZIpwQbUURGV7LyEMUOjApPL3fdP3v5lgevASSpN1EPCKgh6PebracLQTgYVakhk4WuL6Dv8H4ow2zGhlJNwAAAAASUVORK5CYII=\"","import React, { useEffect } from 'react';\r\nimport { Tab, Tabs } from 'react-bootstrap';\r\nimport './EmployeeAssign.css';\r\nimport DATA from './assign.json';\r\nimport Edit_Icon from \"../../../../assets/images/Edit_Icon.png\"\r\nimport Saved_Indication_Icon from \"../../../../assets/images/Saved_Indication_Icon.png\"\r\nimport Inactive_Indication_Icon from \"../../../../assets/images/Inactive_Indication_Icon.png\"\r\nimport Done_Indication_Icon from \"../../../../assets/images/Done_Indication_Icon.png\"\r\nimport Active_Indication_Icon from \"../../../../assets/images/Active_Indication_Icon.png\"\r\nimport Eye_ViewDetails_Icon from '../../../../assets/onboard-images/Eye_ViewDetails_Icon.png';\r\nimport Search_Icon from \"../../../../assets/images/Search_Icon.png\"\r\n\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getMappedEmployees, saveEditMappedEmployees, saveSupervisorMapping } from '../../../../actions/Administration/staffAdmin.action';\r\nimport { getRoleBasedView } from '../../../../actions/Administration/admin.action';\r\n\r\n\r\nconst Header = [\r\n { caption: 'Employee ID', id: '1' },\r\n { caption: 'Employee Name', id: '2' },\r\n { caption: 'Short Name', id: '3' },\r\n { caption: 'Email', id: '4' },\r\n { caption: 'Hire Date', id: '5' },\r\n { caption: 'Supervisor ID', id: '6' },\r\n { caption: 'Functional Supervisor', id: '7' },\r\n { caption: 'Role Category', id: '8' },\r\n { caption: 'User Role', id: '9' },\r\n { caption: 'Valid From', id: '10' },\r\n { caption: 'Valid To', id: '11' },\r\n { caption: 'Status', id: '12' },\r\n]\r\nfunction MappedEmployeesHandle(props) {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const mappedEmployees = useSelector((state) => state.staffAdminReducer.mappedEmployees);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n useEffect(() => {\r\n dispatch(getMappedEmployees());\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n\r\n\r\n \r\n const ValueHandler = (value) => {\r\n switch (value) {\r\n case true:\r\n return   Active;\r\n case false:\r\n return   Inactive;\r\n case \"done\":\r\n return   Done;\r\n case \"undone\":\r\n return   Saved;\r\n default:\r\n return value;\r\n }\r\n }\r\n\r\n const onClickEditEmployee = (data) => {\r\n let obj2 = {\r\n EmployeeName: data?.['Employee Name'],\r\n EmployeeID: data?.['Employee ID'],\r\n Email: data?.['Email'],\r\n SupervisorID: data['SupervisorEmployee ID'],\r\n Supervisor: data['Seperior Name'],\r\n RoleCategory: data['RoleCategoryName'],\r\n UserRole: data.UserRole,\r\n ValidFrom: data?.ValidFrom,\r\n ValidTo: data?.ValidTo,\r\n view: 'edit'\r\n }\r\n dispatch(saveSupervisorMapping(obj2));\r\n history.push('/admin/staff/assign')\r\n }\r\n\r\n const [filter, setFilter] = useState('');\r\n const [searchColumns, setSearchColumns] = useState([\r\n 'Employee ID', 'Employee Name', 'Email'\r\n ]);\r\n function searchRows(rows) {\r\n return rows?.filter((row) =>\r\n searchColumns?.some(\r\n (column) =>\r\n row?.[column]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(filter.toLowerCase()) > -1,\r\n ),\r\n );\r\n }\r\n function formatDate() {\r\n var d = new Date(),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [year, month, day].join('-');\r\n };\r\n return (<>\r\n
\r\n
\r\n
Total: {searchRows(mappedEmployees)?.length}
\r\n
\r\n setFilter(e.target.value)} />\r\n \r\n
\r\n {searchRows(mappedEmployees)?.length === 0 ?\r\n
\r\n
{DATA.header.map(head => (<>\r\n {head.caption}\r\n ))}
\r\n
\r\n No records found.
To add a new employee mapping, select the “Available Employees” tab button and click “Add Mapping” link.\r\n
\r\n
\r\n :\r\n \r\n \r\n \r\n {Header.map(header => (\r\n ))}\r\n \r\n \r\n \r\n \r\n {searchRows(mappedEmployees)?.map((info, i) =>\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n */}\r\n {RoleBasedView?.[0]?.StaffAdmin?.[0]?.ReadWrite === 1 ? \r\n \r\n : }\r\n ))}\r\n \r\n
{header.caption}{' '}
{info?.['Employee ID']}{info?.['Employee Name']}{info?.['Short Name']}{info?.['Email']}{info?.['Hire Date']}{info?.['SupervisorEmployee ID']}{info?.['Seperior Name']}{info?.['RoleCategoryName']}{info?.['UserRole']}{info?.['ValidFrom']}{info?.['ValidTo']}{info?.['ValidTo'] > formatDate() ?   Active :   InActive}   Active   Saved onClickEditEmployee(info)}> onClickEditEmployee(info)}>
}\r\n


\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default MappedEmployeesHandle\r\n\r\n\r\n\r\n\r\n","import React, { useEffect } from 'react';\r\nimport { Tab, Tabs } from 'react-bootstrap';\r\nimport './EmployeeAssign.css';\r\nimport DATA from './assign.json';\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb';\r\nimport AvailableEmployeesHandle from './AvailableEmployees';\r\nimport MappedEmployeesHandle from './MappedEmployees';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\n\r\n\r\n\r\nfunction EmployeeAssign() {\r\n const history = useHistory();\r\n let staffAdminActiveTab = useSelector((state) => state.adminAccountReducer.staffAdminActiveTab);\r\n return (\r\n <>\r\n history.push('/welcome')} label1='Home' isActive2={true} value2={()=>history.push('/admin')} label2='Administration'\r\n isActive3={false} label3='Staff-Administration' />\r\n
\r\n
Staff Administration
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nexport default EmployeeAssign;\r\n\r\n\r\n\r\n","import { KeyboardDatePicker } from '@material-ui/pickers'\r\nimport React, { useState } from 'react'\r\nimport ReactModal from 'react-modal'\r\nimport { OnboardSelect } from '../../Onboard/OnboardComponents/Dropdown/Select';\r\n\r\nexport function AddReleaseModalPopup({ isOpen, setShowModal, children }) {\r\n\r\n return (<>\r\n\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '10em',\r\n left: '20em',\r\n width: '873px',\r\n height: '500px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '0',\r\n right: '0px',\r\n bottom: '0px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n )\r\n}\r\n\r\n\r\nconst category = [\r\n { id: 1, value: \"Production Releases\" },\r\n { id: 2, value: \"Planned Releases\" }\r\n]\r\n\r\nfunction AddReleaseUpdate(props) {\r\n const editMode = props.editMode;\r\n const [publishedDate, setPublishedDate] = useState();\r\n \r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n \r\n const PublishedDateHandler = (date) => {\r\n setPublishedDate(formatDate(date));\r\n props.addDateToRelease('publishedDate', formatDate(date))\r\n }\r\n\r\n return (\r\n <>\r\n
{props.modalName}
\r\n { props.addReleaseValidation &&
Please ensure you have filled all the inputs with \"*\" mark
}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n { }}\r\n inputvalue={'Select'} editValue={props.editedValue}\r\n addValueToQueue={props.addValueToSelect} />\r\n
\r\n
\r\n \r\n editMode ? props.handleEditReleaseDate('publishedDate', formatDate(date)) : PublishedDateHandler(date)}\r\n minDate={new Date('01/01/2020')}\r\n format=\"MM/DD/YYYY\"\r\n style={{ width: 380 }}\r\n \r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n {editMode ? :\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n {editMode ? :\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n {editMode ? :\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default AddReleaseUpdate","import React from 'react'\r\nimport editIcon from '../../../assets/images/Edit_Icon.png';\r\nimport deleteIcon from '../../../assets/images/Delete_Icon.png';\r\nimport TooltipHandler from '../../Onboard/OnboardComponents/TooltipHandler';\r\n\r\n\r\nexport function ReleaseCard(props) {\r\n const roleSelected = localStorage.getItem('RoleSelected');\r\n const DateConverter = (date) => {\r\n let days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\r\n let months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\r\n let now = new Date(date);\r\n return days[now.getDay()] + ', ' + months[now.getMonth()] + ' ' + now.getDate() + ', ' + now.getFullYear();\r\n }\r\n console.log(props.data.length)\r\n return (<>\r\n
\r\n
{props.header}
\r\n {props.data.length === 0?
No Releases Found for Selected Year & Month
: <> {props.data.map((data, i) =>\r\n
\r\n
\r\n
{data.title}
\r\n {roleSelected==='Admin' &&
\r\n props.editHandler(data)} > \r\n props.deleteHandler(data)} style={{marginLeft:'30px'}}>\r\n
}\r\n
\r\n
{data.description}
\r\n
\r\n
{DateConverter(data.publishedDate)}
\r\n { (data.link!==null && data.link!==\"\") && \r\n \r\n }\r\n
\r\n
\r\n
)}}\r\n
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport ClearFilter from '../../ReportTables/ClearFilters/ClearFilter';\r\nimport Filter from '../../ReportTables/ReportFilters/ReportFilters';\r\nimport HomeBreadcrumb from '../Welcome-LandingPage/Home-Breadcrumb';\r\nimport AddReleaseUpdate, { AddReleaseModalPopup } from './AddReleaseUpdate';\r\nimport { ReleaseCard } from './ProductionPlanned';\r\nimport './ReleaseHandler.css';\r\nimport { DeleteFragment, DeleteModalPopup } from '../../Onboard/OnboardComponents/Modals/DeleteModalPopup';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { createLatestReleasesStart, deleteLatestReleasesStart, getLatestReleasesStart, updateLatestReleasesStart } from '../../../actions/welcomePage.action';\r\n\r\nconst DATA = {\r\n period_data: [\r\n { id: 33, value: '2022-December', isChecked: false },\r\n { id: 32, value: '2022-November', isChecked: false },\r\n { id: 31, value: '2022-October', isChecked: false },\r\n { id: 30, value: '2022-September', isChecked: false },\r\n { id: 29, value: '2022-August', isChecked: false },\r\n { id: 28, value: '2022-July', isChecked: false },\r\n { id: 27, value: '2022-June', isChecked: false },\r\n { id: 25, value: '2022-May', isChecked: false },\r\n { id: 24, value: '2022-April', isChecked: false },\r\n { id: 1, value: '2022-March', isChecked: false },\r\n { id: 2, value: '2022-February', isChecked: false },\r\n { id: 3, value: '2022-January', isChecked: false },\r\n { id: 4, value: '2021-December', isChecked: false },\r\n { id: 5, value: '2021-November', isChecked: false },\r\n ],\r\n category_data: [\r\n { id: 1, value: 'All', isChecked: false },\r\n { id: 2, value: 'Production Releases', isChecked: false },\r\n { id: 3, value: 'Planned Releases', isChecked: false },\r\n ]\r\n};\r\nconst initialState = {\r\n category: '',\r\n publishedDate: '',\r\n title: '',\r\n description: '',\r\n filteredDate: '',\r\n link: '',\r\n}\r\n\r\nfunction ReleaseHandler() {\r\n\r\n const dispatch = useDispatch();\r\n const LatestReleases = useSelector(state => state.welcomePageReducer.LatestReleases);\r\n useEffect(() => {\r\n dispatch(getLatestReleasesStart());\r\n }, [dispatch]);\r\n\r\n const ProductionData = LatestReleases?.[0]?.items;\r\n const PlannedData = LatestReleases?.[1]?.items;\r\n\r\n\r\n const [filters, setFilters] = useState([]);\r\n const [clearFilters, setClearFilters] = useState(false);\r\n const [period_data, setPeriod_data] = useState([]);\r\n const [category_data, setCategory_data] = useState([]);\r\n const [showAddReleaseModal, setShowAddReleaseModal] = useState(false);\r\n const [showEditreleaseModal, setShowEditreleaseModal] = useState(false);\r\n const [showDeleteReleaseModal, setShowDeleteReleaseModal] = useState(false);\r\n const [deleteReleaseId, setDeleteReleaseId] = useState('');\r\n const [addRelease, setAddRelease] = useState(initialState)\r\n const [editReleaseId, setEditReleaseId] = useState('');\r\n const [editReleaseInfo, setEditReleaseInfo] = useState(initialState);\r\n const [releaseUpdateData, setReleaseUpdateData] = useState([]);\r\n const [releasePlannedData, setReleasePlannedData] = useState([]);\r\n const [clickedState, setClickedState] = useState('');\r\n const roleSelected = localStorage.getItem('RoleSelected');\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n const formatFilteredDate = date => {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n return [month, '01', year].join('/');\r\n }\r\n\r\n useEffect(() => {\r\n setCategory_data(DATA.category_data);\r\n setPeriod_data(DATA.period_data);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (ProductionData) {\r\n ProductionData.map(data => {\r\n data.publishedDate = formatDate(data.date);\r\n data.filteredDate = formatFilteredDate(data.date);\r\n data.category = 'Production Releases';\r\n })\r\n setReleaseUpdateData(ProductionData);\r\n }\r\n if (PlannedData) {\r\n PlannedData.map(data => {\r\n data.publishedDate = formatDate(data.date);\r\n data.filteredDate = formatFilteredDate(data.date);\r\n data.category = 'Planned Releases';\r\n });\r\n setReleasePlannedData(PlannedData)\r\n }\r\n }, [PlannedData, ProductionData])\r\n\r\n\r\n\r\n const addDateToRelease = (name, value) => {\r\n if (name === 'publishedDate' && value === '') {\r\n\r\n\r\n }\r\n const newFormData = { ...addRelease };\r\n newFormData[name] = value;\r\n setAddRelease(newFormData)\r\n }\r\n const handleAddRelease = (event) => {\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...addRelease };\r\n newFormData[fieldName] = fieldValue;\r\n setAddRelease(newFormData);\r\n }\r\n\r\n function DateFormatHandler(date, fil) {\r\n let d = '';\r\n if (date === '') d = new Date();\r\n else d = new Date(date)\r\n let month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n if (fil === 'filtered') return [month, year].join('/01/')\r\n else return [month, day, year].join('/');\r\n }\r\n\r\n const dispatchItem = data => {\r\n let item = {}\r\n let temp_arr = [];\r\n item.title = data.title;\r\n item.date = data.publishedDate;\r\n item.link = data.link;\r\n item.description = data.description;\r\n temp_arr.unshift(item)\r\n return temp_arr\r\n }\r\n\r\n\r\n const [addReleaseValidation, setAddReleaseValidation] = useState(false);\r\n\r\n const AddReleaseSubmit = (event) => {\r\n event.preventDefault();\r\n const newRelease = {\r\n item: Math.floor(Math.random() * 1000),\r\n category: addRelease.category,\r\n publishedDate: DateFormatHandler(addRelease.publishedDate, 'published'),\r\n filteredDate: DateFormatHandler(addRelease.publishedDate, 'filtered'),\r\n title: addRelease.title,\r\n description: addRelease.description,\r\n link: addRelease.link,\r\n };\r\n const newReleaseObjCheck = {\r\n category: addRelease.category,\r\n publishedDate: DateFormatHandler(addRelease.publishedDate, 'published'),\r\n title: addRelease.title,\r\n description: addRelease.description,\r\n }\r\n const isEmpty = Object.values(newReleaseObjCheck).some(x => (x === null || x === '' || x === 'NaN/NaN/NaN'));\r\n if (addRelease.category === 'Production Releases' && !isEmpty) {\r\n const newReleases = [newRelease, ...releaseUpdateData];\r\n setReleaseUpdateData(newReleases);\r\n let item = dispatchItem(newRelease);\r\n dispatch(createLatestReleasesStart({ channel: 1, data: item }))\r\n }\r\n if (addRelease.category === 'Planned Releases' && !isEmpty) {\r\n const newReleases = [newRelease, ...releasePlannedData];\r\n setReleasePlannedData(newReleases);\r\n let item = dispatchItem(newRelease);\r\n !isEmpty && dispatch(createLatestReleasesStart({ channel: 2, data: item }))\r\n }\r\n const newReleaseArr = [];\r\n newReleaseArr.push(newReleaseObjCheck);\r\n var releaseProps = newReleaseArr.map(el => {\r\n return Object.keys(el).reduce((newObj, key) => {\r\n const value = el[key];\r\n if (value === '' && value === 'NaN/NaN/NaN') {\r\n newObj[key] = value;\r\n }\r\n return newObj;\r\n }, {});\r\n });\r\n if (!isEmpty && releaseProps.length > 0) setShowAddReleaseModal(false)\r\n else setAddReleaseValidation(true);\r\n dispatch(getLatestReleasesStart())\r\n }\r\n\r\n\r\n const handleAddReleaseCancel = () => {\r\n setShowAddReleaseModal(false);\r\n }\r\n\r\n let today = new Date();\r\n let currentDate = []\r\n let newDate = `${(today.getMonth()) < 10 ? '0' + (today.getMonth()) : (today.getMonth())}/01/${today.getFullYear()}`;\r\n currentDate.unshift(newDate);\r\n let recentDate = `${(today.getMonth() + 1) < 10 ? '0' + (today.getMonth() + 1) : (today.getMonth() + 1)}/01/${today.getFullYear()}`;\r\n currentDate.unshift(recentDate)\r\n\r\n const handleEditReleaseDate = (name, value) => {\r\n const newFormData = { ...editReleaseInfo };\r\n newFormData[name] = value;\r\n setEditReleaseInfo(newFormData);\r\n }\r\n\r\n\r\n\r\n const editHandler = (data) => {\r\n setShowEditreleaseModal(true);\r\n setEditReleaseId(data.item);\r\n setDeleteReleaseId(data.item);\r\n const formValues = {\r\n category: data.category,\r\n publishedDate: DateFormatHandler(data.publishedDate, 'published'),\r\n filteredDate: DateFormatHandler(data.publishedDate, 'filtered'),\r\n title: data.title,\r\n description: data.description,\r\n link: data.link,\r\n };\r\n setEditReleaseInfo(formValues);\r\n }\r\n\r\n const handleEditReleaseUpdate = event => {\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...editReleaseInfo };\r\n newFormData[fieldName] = fieldValue;\r\n setEditReleaseInfo(newFormData);\r\n }\r\n\r\n const handleEditReleaseSubmit = (event) => {\r\n event.preventDefault();\r\n let category_release;\r\n if (clickedState === 'production') category_release = releaseUpdateData[releaseUpdateData.findIndex(data => data.item === editReleaseId)].category;\r\n if (clickedState === 'planned') category_release = releasePlannedData[releasePlannedData.findIndex(data => data.item === editReleaseId)].category;\r\n\r\n const editedRelease = {\r\n item: editReleaseId,\r\n category: editReleaseInfo.category,\r\n publishedDate: editReleaseInfo.publishedDate,\r\n filteredDate: editReleaseInfo.filteredDate,\r\n title: editReleaseInfo.title,\r\n description: editReleaseInfo.description,\r\n link: editReleaseInfo.link,\r\n };\r\n\r\n if (category_release === 'Production Releases') {\r\n console.log(deleteReleaseId, editReleaseId)\r\n if (editReleaseInfo.category === 'Production Releases') {\r\n const newReleases = [...releaseUpdateData];\r\n const index = releaseUpdateData.findIndex(data => data.item === editReleaseId);\r\n newReleases[index] = editedRelease;\r\n setReleaseUpdateData(newReleases);\r\n dispatch(updateLatestReleasesStart({ channel: 1, serial: editReleaseId, data: dispatchItem(editedRelease) }))\r\n }\r\n else {\r\n const newReleases = [...releaseUpdateData];\r\n const newPlanned = [...releasePlannedData];\r\n const index = releaseUpdateData.findIndex(data => data.item === editReleaseId);\r\n newReleases.splice(index, 1);\r\n newPlanned.unshift({ ...editedRelease, item: Math.floor(Math.random() * 1000) })\r\n setReleaseUpdateData(newReleases);\r\n setReleasePlannedData(newPlanned);\r\n dispatch(deleteLatestReleasesStart({ channel: 1, serial: deleteReleaseId }))\r\n dispatch(createLatestReleasesStart({ channel: 2, data: dispatchItem(editedRelease) }))\r\n }\r\n }\r\n if (category_release === 'Planned Releases') {\r\n console.log(deleteReleaseId, editReleaseId)\r\n if (editReleaseInfo.category === 'Planned Releases') {\r\n const newReleases = [...releasePlannedData];\r\n const index = releasePlannedData.findIndex(data => data.item === editReleaseId);\r\n newReleases[index] = editedRelease;\r\n setReleasePlannedData(newReleases);\r\n dispatch(updateLatestReleasesStart({ channel: 2, serial: editReleaseId, data: dispatchItem(editedRelease) }))\r\n }\r\n else {\r\n const newReleases = [...releaseUpdateData];\r\n const newPlanned = [...releasePlannedData];\r\n const index = releasePlannedData.findIndex(data => data.item === editReleaseId);\r\n newPlanned.splice(index, 1);\r\n newReleases.unshift({ ...editedRelease, item: Math.floor(Math.random() * 1000) })\r\n setReleaseUpdateData(newReleases);\r\n setReleasePlannedData(newPlanned);\r\n dispatch(deleteLatestReleasesStart({ channel: 2, serial: deleteReleaseId }))\r\n dispatch(createLatestReleasesStart({ channel: 1, data: dispatchItem(editedRelease) }))\r\n }\r\n }\r\n setShowEditreleaseModal(false);\r\n }\r\n const handleEditCancel = event => {\r\n setShowEditreleaseModal(false)\r\n }\r\n\r\n const onAddingPeriodFilters = (option, drpdwnID) => {\r\n let temp_ARR = [...period_data]\r\n temp_ARR.map(itm => {\r\n if (option.value === itm.value && option.isChecked === false) {\r\n itm.isChecked = !option.isChecked;\r\n }\r\n return ' ';\r\n })\r\n setPeriod_data(temp_ARR);\r\n let temp_arr = [...category_data];\r\n temp_arr.map((itm, i) => {\r\n if (option.value === itm.value && option.isChecked === false) {\r\n itm.isChecked = !option.isChecked;\r\n }\r\n return ' ';\r\n });\r\n setCategory_data(temp_arr);\r\n if (option.value === 'All' || filters.includes('All')) {\r\n let temp_arr = [...category_data];\r\n temp_arr.map(item => {\r\n if (item.value === 'Production Releases') {\r\n item.isChecked = true;\r\n }\r\n if (item.value === 'Planned Releases') {\r\n item.isChecked = true;\r\n }\r\n return '';\r\n })\r\n filters.includes('Production Releases') && filters.splice(filters.indexOf('Production Releases'), 1);\r\n filters.includes('Planned Releases') && filters.splice(filters.indexOf('Planned Releases'), 1);\r\n setCategory_data(temp_arr);\r\n }\r\n if ((filters.includes('Production Releases') && option.value === 'Planned Releases') ||\r\n (filters.includes('Planned Releases') && option.value === 'Production Releases')) {\r\n let temp_Arr = [...category_data];\r\n temp_Arr.map(item => {\r\n if (item.value === 'All') {\r\n item.isChecked = true;\r\n }\r\n return '';\r\n });\r\n setCategory_data(temp_Arr);\r\n }\r\n if (filters.includes(option.value)) {\r\n return ' ';\r\n }\r\n\r\n if (filters.length === 0) {\r\n setClearFilters(false);\r\n }\r\n let fltrs;\r\n if ((filters.includes('All') && option.value === 'Production Releases') ||\r\n (filters.includes('All') && option.value === 'Planned Releases')) {\r\n fltrs = [...filters];\r\n\r\n }\r\n else {\r\n fltrs = [...filters, option.value];\r\n }\r\n setFilters(fltrs);\r\n }\r\n\r\n\r\n const filterByReferenceValue = (arr1, arr2) => {\r\n let res = [];\r\n res = arr1.filter(el => {\r\n return arr2.find(element => {\r\n return element === el.value;\r\n });\r\n });\r\n return res;\r\n }\r\n const filterByReferenceDate = (arr1, arr2) => {\r\n let res = [];\r\n res = arr1.filter(el => {\r\n return arr2.find(element => {\r\n return element === el.filteredDate;\r\n });\r\n });\r\n return res;\r\n }\r\n\r\n\r\n const FormatDateHandler = (filters) => {\r\n let fltrs = [];\r\n fltrs = filters.map(fil => {\r\n let sub_year = fil.substring(0, 4);\r\n let sub_month = [\"january\", \"february\", \"march\", \"april\", \"may\", \"june\", \"july\", \"august\", \"september\", \"october\", \"november\", \"december\"].indexOf(fil.substring(5, fil.length).toLowerCase());\r\n return ((sub_month < 10 ? `0${sub_month + 1}` : sub_month + 1) + '/01/' + sub_year);\r\n })\r\n return fltrs;\r\n }\r\n\r\n\r\n const periodFilters = filterByReferenceValue(DATA.period_data, filters).map(fil => fil.value);\r\n const releaseFilters = filterByReferenceValue(DATA.category_data, filters).map(fil => fil.value);\r\n const productionFilters = filterByReferenceDate(releaseUpdateData, FormatDateHandler(periodFilters));\r\n const currentMonthProdFilters = filterByReferenceDate(releaseUpdateData, currentDate);\r\n const plannedFilters = filterByReferenceDate(releasePlannedData, FormatDateHandler(periodFilters));\r\n const currentMonthPlanFilters = filterByReferenceDate(releasePlannedData, currentDate);\r\n\r\n\r\n const clearFilterHandler = () => {\r\n dispatch(getLatestReleasesStart())\r\n setFilters([]);\r\n setClearFilters(true);\r\n }\r\n\r\n const deleteHandler = (data) => {\r\n setShowDeleteReleaseModal(true);\r\n setDeleteReleaseId(data.item);\r\n }\r\n\r\n\r\n const handleDeleteRelease = () => {\r\n if (clickedState === 'production') {\r\n const newRelease = [...releaseUpdateData];\r\n const index = releaseUpdateData.findIndex((data) => data.item === deleteReleaseId);\r\n newRelease.splice(index, 1);\r\n setReleaseUpdateData(newRelease);\r\n dispatch(deleteLatestReleasesStart({ channel: 1, serial: deleteReleaseId }))\r\n\r\n }\r\n if (clickedState === 'planned') {\r\n const newRelease = [...releasePlannedData];\r\n const index = releasePlannedData.findIndex((data) => data.item === deleteReleaseId);\r\n newRelease.splice(index, 1);\r\n setReleasePlannedData(newRelease);\r\n dispatch(deleteLatestReleasesStart({ channel: 2, serial: deleteReleaseId }))\r\n }\r\n setShowDeleteReleaseModal(false);\r\n }\r\n\r\n\r\n return \r\n \r\n
\r\n
\r\n
Latest Updates
\r\n {roleSelected === 'Admin' &&
}\r\n
\r\n \r\n {filters?.length > 0 ? () : null}\r\n\r\n {(releaseFilters.length === 0 || releaseFilters.includes('All') || (releaseFilters.includes('Production Releases') && releaseFilters.includes('Planned Releases'))) ? (<>\r\n setClickedState('production')} />\r\n setClickedState('planned')} />\r\n ) : <>}\r\n {<>\r\n {(releaseFilters.includes('Production Releases') && !releaseFilters.includes('Planned Releases')) &&\r\n }\r\n {(releaseFilters.includes('Planned Releases') && !releaseFilters.includes('Production Releases')) &&\r\n }\r\n }\r\n
\r\n {showAddReleaseModal && \r\n \r\n }\r\n {showEditreleaseModal && \r\n \r\n }\r\n {showDeleteReleaseModal && \r\n setShowDeleteReleaseModal(false)}\r\n queueName={(clickedState === 'production' ? releaseUpdateData : releasePlannedData)\r\n [(clickedState === 'production' ? releaseUpdateData : releasePlannedData)\r\n .findIndex(data => data.item === deleteReleaseId)].title} />\r\n }\r\n
;\r\n}\r\n\r\nexport default ReleaseHandler","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAsCAYAAAAEuLqPAAAABHNCSVQICAgIfAhkiAAABIBJREFUWEetWEFS20AQnHWcM84hpxxiCpPKDfMCzAvifACkfADygsALMC+QzAdwXoB5AeaWSkzhHHLKIXCOo03PeleshaRZh6jKZVtajXp7ZnpmpCjgiNpJK2vSgdIUkaK2vWWC75lWNG4QXabfYv6/8qGkO/jhukkXWNeV1uI6g7hz64bTeFe6RwawmaRa075SNKTfdJjOYvOAaDPpkqYefvYygIOh18WHAYBoX1wQdZKRJnqHhbvpNB7X7Qhre+wiAE5wz/XZNBZZkwFsJhEbZAbg50iiNNpIBoiLAxj+CMADab0IgA3sdZIZU6yatJ5+iWd1Rvc3kltmIWQt2wkCAH8HscAuAPUX+FyCfo4P8QgCwFb2OwkH31rdzgDUBWwMd6Xi00MZMFHfSQ6xs5OqWLDp+gtL79Wc2i5bJBAiAwsR0juNprrO5jSuigUHkOkn0ifwbrcxp1MJiAygkxzB6Cd/J2UsuOBbWkd0jEw4qmNBBvA2adMfOsogOgWxmQDYyEZyH98u5++xjvViTHNKn8yAQ8/KBz1gSW6xyOAhW/7O/HNg6P8Gof9wZzxiZhBsBkSTZqwPLl0NK4EgZBd4Ow8xugQiQL5rAZjUekZXRtkCAspzlxEu/L8D6N26Ul0JwC/DoXXAjwmPiVoQlQCQVgl2Hq0iq8V0c8qI8xOI025ZRpQC8ETlO8SkK6VSXZ67cs5pWdagPALgRbwC9b06/6E+gCCiusbDtnOsoFtlcfQIAIxesahI9dzTfgK9L+pYspticVorNjZLAECXkV3J7x6tD+xrSoc3cVzlDudWtHEzrFt363IALCx6jpRjDWnC7xWNR24IVQ9ATScMIyzDvLvaLgiNDbtix3fFAwBXy4V8z40o2nbxYSm+EplbbPLW6MMc3RUaXAPA7v4WBsSodwCKgcfuAxUzqRHJmxbL1gLACp2MR6PYJZfFg9usiwW1aifjKxyMjLTSo7Pph891WlC8hk1MTFrCjSq04VyS2UW2HHLg2fN3+D9AI3ocAiRv7xBvKh88NL1Pb2LTYIQemAH61KA+Cg83JGsh1dK6nHsLE7Qq96kgJnWgQrPAt2FVdKLwgzvZVsgcZ9AvJp+toq6zQSkNSwAQAxD13L/xKTpQCsCNXcEM2PmAxQQf906AlbAlKWERAOvOQwwEzH3OgBtAfYN4eXGKIObMEA9P+C5VPs0GNpFlNIayl2/AzZoAzTpgUoLphKFtEb63YNX4cbfiPm7ve0aI+GQeWP+gBasAtlnURxadu4xxtcCxIHaxqz7QX1+YL0w19cvxQytNUEXhdcyqQOy7g3OTLV68LXdENjiMcXQ46jmGS+GNiATEFjsebk2GFOX6cVMKfc8UDXBh8dYLQLjiNebqMrQ7diO90qrPrf3CDHoNjbdshXpT3pZjIsK8d4jXb1EOZGFlxk0HjI3Ldo61PaYYn/ztmHkwUYo5chA8FywFjq14GM+5U16aiKvo50m5oaCSGY2kCls5GVUZ33szfOWuNXT2kn9nqvHTnTv7uv9Digv/+l9rzcA+4+ZKbQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAsCAYAAAAEuLqPAAAABHNCSVQICAgIfAhkiAAABEJJREFUWEetWEtS20AQtfgucRZZZYE5AfYJsE8QOEFgya+wTwA+gaH4LVFOEOcEmBPEnCD2IisWgS0/5z3VtKsZpOlRhalSWfKMel7/XvcoqUSMXq9XXVhYOMDSTVw198oQvyNcA1w3u7u7fC49EusNt/k11tWttZgfJklyL+t2dnZa1jsmgLOzsxRCv00mk+9PT0/tTqeTbXB+fl7Hf03MNR24ZX8zWMWUby7ARn0I/vr6+tra39+nuQvH6elpc2Zmhi66ArBbWMC0WgwA+v2KFtjb2+N9cADwMRYcYH0H63kfHCYAZ+4Rfpeh3cr29jbvCwcA/MZkLWYthcQCiLKCcwEDllnRtLSPBuCswOBbCmkmAYt1WwCQfigACG8jsHpFseDS9S82fXh8fKxJtlggTBdQ8Pz8/Nrs7OwtMmFQFAsCkOYHyB7A1gHkxAJiAkBQHUHoodYkzwoSfJ7GXbiC7xcOE8Dl5WXt5eXlyBGOJhtSLzmCYx2X5PwD7gcAOQBxpf9tAYFO5sM9I7xKksEGq1ot77+PDUK9uUQ4LfP8/FwjiLm5uRH5Aes28XjlgEWBMF2Qt3nIpxpEDH0HAbjU+oUNqakZUMpdYglyRytUqgsB6DIcWwe0ZZQlgiAKAUAAfUlNomnVd41ixiE4oZWXEbkAFKmM8WLdSiUjJrJyjiwZ5DUo7wCooONcM+Q/rJ1w81DjQVcuLi6SF5i27+IoDwCDjt1OsJ4r7q/ASp9CVnJKDSB3yc+MNwAU7Qb9Ll2SZ/oUltgqcody6wjrVmTdFACJBeiofYKSWy9qPJQgUq50wmTJJctqAE4rrGlXTAGoiA3muxLSkPhwJib4oOWckuyY7uG2FbotA6AmzKgXAH7gOffRvGkoK1SXncVYBqBMJyMAYmg2D4hSNouFpGwn4zFcH37vQ5OfIa39uYuLi6FLy0YiAsvQrTN3m4HnhJNuj6FRNwaICuQuAQhTbYCppMGIkVOBJutwxTpYjg0JwUSVYB20BJClhkUmIUSxWaBlOBYdEgA72WrMOY4CePKBxqs+rzuB0YVLaJwATD73kAuZlOaBHAtUCGCEieVYC6gAuoclMiZEAJMJqxYT5gAYT2Mg9iwnbsAvP1jocQIlmBnmUFxwQwDZaTY2gvPMGGs9eVdxyQkB0Hzk8SEENUz4akHZ+JFXkb7X/LiB50ZGxZKK8GlpLigDmGvJHdj8B26zjBEAYgWziy27oeey6eGG2rOaTsux5niw24b1OaYsEPftgJpXdbz5HdEmJuVkkyIzutYXEQuI6wkPYXbJkDd0/a4ndD5iZshBNGXFw0HzJrY7liO9qxFUimOM57Zfb3LbcleiiZgv6xPxCEJGPPnmac4TNOZoYv11bIznFLXmOPpcoIVLxWOf6J+Ii8zPkzLiaIh3+laFNQ+n/iZgsS/yHzb5zHtsdCf/IWb+WHGh5/8BXbXEXkO/Gg0AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAlCAYAAAAjt+tHAAAABHNCSVQICAgIfAhkiAAABYRJREFUWEetmElSG1kQhinGJbjXjmhxAuQTWJwA+gSIJbN0AvAJEPMScYKGEyBOYHECRITXblgyBOr/e52pSIoqyRHuiijz9IZ8f/45lrOx/+k5OTmpZlm23+/3axLZ1fjb+vr65Sjx2bANp6enKxJY0Z6rjY2Nbtne/f39uenp6TutI6+lt673T71fhp1DXikAafRd69VwaVvCVotAaC8Xnr+9vS1ubW11DNA/mvumM3t+5ujoqDY+Pr6j3w/ae8HeQgAuUNo3X15e2lNTUy1RulKmkfZzya6Ez6+trfWKALhM7Xs0QLOS+VchgOPj47YWl4T+E5uxr/5850CRXc/OzirSCBNhhkvtq5kvDEwgGQ9a60jmsgFkf78MQAOHckp1eFeb0bLUpkZv22z/qPP1CFYy+tEk+o2v7BQCAOHMzExHWiy4/TS+2NzcrBvdC7pgzhx0TOOewF7pd1dmuHbg0V90rofGehrM6wxgb0qd0Ghi01JErshI0SBBUMo7Zxe1dXHPAejvw/Pzc6/ZbLLHzdjRcNb232tPbWgYunPlNTJwOOWc1m7wZoSaGRIDExMTLYEkFPdk9wPWnVnGMk+KsLIoqIJesQ1duxGAOeR10Bw5B7qkEQHAgOax81e95JFlYyKB1e9aIQC/QOivsG0egEUIwmokGfu9Qgi+vr5W8j6g9Ybmeu6Qkl8OIGgHMyDkojwD7wRErdGozAlZG8qA2ZXsV7G92A0ad8VESxo0mXeNMYs07spM55pelMkqk5OT1QgAH9JZTDB4xCy2v/1gAo9LLZJuk4NIWEsXYcdBJBSFKGcksJ3zAfyEcLu1iIk4SOvttM4/flDDgbPE3YQeQhw1IDw9e/rVHiphXeeIjMUUYlnWLcqcFDmt3ZC2EwBpT9msQaPHbQSQdxw7s6e/uwKVOXskK8w1rAJa2r7zxJb5hISlUMpdjEbYmOcdO54jBPqT/OBD5Yty8mNTeImzGWFC3temd3k+FCBsCEOXUbOYpHA8rWPTXv4yXXKQZ1UmWJbMv7V3Ffo6GlQl3FPqmLFCRDxKQLXELMkE+IBsThUse7qSsZiXQXFKJjMAFJ2me6b7hObwCzLivliqmDfTZHSdAXwAwJZ2EwjtvcfBjEUUvIsgQiT1AYD9XPsUTtHpNIaJecxAndd4Vlp/kdZ1GDAnTGwECh60d5UICI1I8jHLN5jsv1pgdfrAmgjKLGU4JQu9bb3n3ojY4Z7myA08CQAMkIaZUBFCmT0r5Q0KkbNMWFoJr1h+WADAA9qp9WqIai50Nii7ngkHnZD2Y++LCCBonoYxWQHeuqOksT3cQ5qvug8MqlMUFkIUrTmEkGVPNDBgZhl7enq6jY4Wktu7xtTlu5kBQIh99f6PDeY8S9R62RtqoTw1EjSq6oxaIXwHWsWu+RcAwOQtAOoakGxSHgghiCkSeheWb0oBKpBzAgmdtNvJiUE0DIDnGPZn3kJ7anTNPMdHYUW9XqAUM/W8XowAAKM7KRMa5ckMmpj3LgjvduGxynn75Wt5m44CEL6ibuiSHADORbwPeoDfBeDp1n0mAE3aO8MDLb3R0OINbPwOAO+syIiKjppHhzPp5gbUAEC+0YgAXJsRPtCRPLpgnBCnnNeb+kYzMyxf50G964rDJxYhFz+rEE67VSXH5+1vFyRqfS2CNc2pfllexoe23OjDKdGG/gCTkLvJ5XtFlw+bkzxAAe4eZvLNSumnmaVlekF/Rn7rRyD2fwsArui9UoTVi8r6qC+jug4jBDaoC1TEjv7S58PM4NGFdL+U5Rqa6iWRoTVfRu0yloYC8ENkSwTrcgT7t12ZzEcr3XyKl17sh38JQLzp8PDws/r/P+Rkn+O8nOuHSvLP7e3tH2XIiub/BZvXPc8wKhHWAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAsCAYAAAB7aah+AAAABHNCSVQICAgIfAhkiAAAA1tJREFUWEfll79v00AUx99dwh7+gkaQSmwNEjOEv4DyB0BsiR2QGNgIGxthQGJBdhmQmBomBoaamSHphtQg0h2JdCb18X0Xn7k45+ZsQELqSa5S++4+79e9905QjRFcidpqQfextIenq7dQNMPfRAjai6dhUtxWVOUEl6OhEhrC40QRTbLfbWy2lf1OxIJux7NwbvavBAo60Qgb38JzLAUN4qMwtgUNtqNuqmiITW+whuKUrhpYZZA20SkgkBba7aaCdoSitpI0kT9hNn7fiR6wWWHC3VoamUVBO2qpJh3k/vmt1hw+uglNjTnzL5U0ykGdqAfzHeD5JIkG+r2gQCnq87s305CDZGXUAvEO7I+i5PyOGjSPv4SzvwaqGq0bNcrCeafqxvZ8BMvbjaC7nSjR4foHA3575g3am4Yb5xZlQZiboDnvoAENcGz8x6yzdT07b9VMd+fS62tSys+MwgaPpaJDJNgPS3R6TzWbI7FIv+t/Fb1Clnj3/4MaUj7S8hONWSNOPUsF0o+skVykL/X/in7U1sjfO8uZ3uFtF7l/co6yMrAPoXpGiyKIpaUFTewqWunAcgZWKe3D9m1EzCEvRkrYMaBCLZojj4Xx13DkMmup6TRE6YLW0k3GURiYXMcgG8J1J8uBc9FEyXaUBieoAAlNP2BAaDYumqpqhOCSDeBzAB+ibA+9TJdvKGAKq+mwsjeX566B6KhaWmAM0Hu7PzBAp0b9ToQ1dIgyvOzTsmGXCRtihy/89AJ+4oZkZayBjGTFeq990qAxB0YRkoF0+4VvK1Yo1cgi542F7XgnZDuKs2ZkzQqVQDDZhMN6E0Qu0L9ZHaltu3XTWe2TaZVgzoAPLId4yeJjQLqVDqzLdK4DaAdAWf9WWaNNIHznBn6tIy2sa/GRyJuTOhqVCeJ6Xw8E3yHaomI2yA88ofcuux/5aMThnl6gPg7nAFIL5Leund/sVOUKEN2r+YA4cxizFA9odgP8hu8nSL7sl7XhDWKJ0QIl1KS4mKktsz2F2Vjj+qDSKLQyxFmH11sjFwgmH8CeTzgZnwXhtUJPVrjkcjeDayP6tNg3dCFlD3P5SQBLZBPF0lEANch2si+gbB7AztDOQVp1orV64g3OrpU+IOe90xdkfHW+QL8Adi+f6gKuqHUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAsCAYAAAB7aah+AAAABHNCSVQICAgIfAhkiAAAAyZJREFUWEflV7tuE1EQZV3YrZE/AP9BHIkanC8gfAGOROOXEksUdCwdnUF+0WE3SFQJFQUFm5oizhfg9Eg4pS0/OMfMtcbru/bdFRQoK13t7t07c+Y9s969BFev18svl8tTrCLIC8JihHuwWCwG9Xo9CLP14uJ0Op23oDkVulvch/Kcx/0Bnz3PCyaTydNGozE2/GMBAeQChE+wbrD8arXa14LiO7WjII+xRtPp9NCAJQEiA58Mut3uMcx3AKbUZoj9Affb7fYZtCpCkONEGhmiZrOZTafT35R/zCea6ggAxpxrhWNpZKharVYxlUoR6BLO98UvJWjxjHsAKmqTrr6HN1zf6Y+w5NyDAONyuTz6a0CuAjn7iOEMk9DhiS8EzMe9pgNQIOGaGAiEb5yB4I+9Z8OSqKC560C+76fiOCqXyz2SfItnOtj8IQi/EwyR9BLReI3HLwL+HHsX2Psp7++RzJ/+C6AXotGVaFQSDb6KRh15/5VYozj+4Vnn8NZN7p/kEdtAJpM5l1a9UiQMRGlns9lQd9FYCStd8hxEefEBI+zAAIV60RhnTiqVCjvv1hVpOgFhn8mC+aBWq5VMrSNQCORSauAYIXxoaw1WIA0CBidmHjBAaNP3TVc1QkjLbuK9AaE4K2xcUUCBSLgGIZWq3mzPBQMi3ziMXGF91vOBQYsCWtInsLeZ01bndZvQIKHwfQegs70aidko2Ua/F59wnwPjymeamRq/NqwQqZEeNsxgoR1vA4F/+hxGbFaIBYSZbciw3geCibQYlUtbPrJpBLOUmLBhc6mzN4jEQqyEtQHZEjAUANb5TdM5aeQAxKqwNZFqOlgky5TA+tP4EmoUJYttPz4QfQdOH8LVwOQbetBR5P+Ri0YS7pytfSwP9a2g65suVbYAcTYdGC2VTTYSlH+A0OQHvt8iD+mXrSsOUADqAJr0w5ValanXAKLGyYGiPK8rxK7kddbIBgRNKP0rlqFdIKT15DB/chlNI6y+a9zy95HVgz/HuNOsA1sDNEDaya4Y1nNRob0Gourz+Xyrn7iign71W7kXCAz31q1doMZXdwvoN1seh7n7DiivAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAUCAYAAADlep81AAAABHNCSVQICAgIfAhkiAAAA51JREFUSEuVVktS20AQ7ZGdNc4JMGVTlV3MCTAnAA4QLOUCOCewOEGUCyCZCyBOYHECk12qggtnyQqzoyqyJq9HM6rJIBmjha3PTPfr16+7R9A7L78bd4qWPBbCOyQqutjeIRKD0oy8w8+KyFtKKm68XNwmywDP219i26VnvcuREMLH+qHZI4n+eIIykrTkdwW+wSCD27Hspnj3I7kPsm18vQlIASERkiBmo+SB6NYjCpuc+PuxX0gKYXy3AgHQkmR4tfg63QSsERCMDqSkGJsHigmiO/wfC4loF8H4rWg5tfSBItgYcQBY39UAM9GmIPkVKFbdqxbQWT+e4EOIxc9C0JhTAqMz3E+T3wGnbevL78epCoToCJuGuOdgdvAfXt0HFxsBcVSyTde8EQZuKCefRTnqxzMY2IOBKm3GEKeHWcDzSkJP3l+AtoSsbTIb8+l9cOR/irtFTgnsoygoFTnYstZXDOkUzbCoAyYCMJGwU/1+br+zo9J6YdY6MPaZ2RQenWI/V5y6wFKIgCZI1Z5JlXmHz3fatlqvAFlgUEg0dIyNYew7Ivn4VglrOxlMPoCNgwoQWJE5PcDZNxRCVL3vxSdglQOX8HvEfsUmMLwRemIHhHQNrYhZCxzxK3HqFMasGbsKYWfpSUrdgrCCUKAE9PGkqMpBZ00TawCkWAMLr4pCa+bJZaPOThVgWdFzPD8JvxdHoO0cuU+miyCw9dHIUEn1NSI6sNNrpX9eBwitYwXWTlwfo14cQzw++l1kNJSoSqkBBUoTWdAhwO45mmARzsDSqe2gKnNLwPwdmUAMdAFAob2+AqNbil1lJSiiDOk7NemrNOGwYVVJJqVkYZIZLa5jZKFkVMLuIkgVk2WL4aoe2Gz+pwHjXJUulz7mj+kjeE7dpqjXc9Wo2aVnW2hahmGC+xjuD8AmBrFqA1wU3O+4qsf2+teiLAWWaScR2LqgNrGIJ3WaMQ6ggZWrJ/XNsIN0odFGYGWC12zvJwaz7+6pHR1qDrUp4ZavxoZHEf65pHZNv3CFWfdsWgo7B2BOGeunw/OQ1hjONVXdOFxN5DhScJvnqc3nGqZ8BYOB0UITsLP9+NwAMHvVKaFMUdXF3f0bAZnFtccJiB9CTVHKt8bBl/7lIUQxEAUG6DuOKzaorQBZwAY4hfkFxouaWxsupREMT05901Gjbvu7ANkGWGctsVbVlbfb6iDWytePguTLWrYeoY+XbXTmrvkH0+IGSmPZVJwAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAUCAYAAADlep81AAAABHNCSVQICAgIfAhkiAAAA1dJREFUSEuVVl1O6mAQpRDhUe8KhBVcXQF1BVdWcOmj/OTCCigrAOPfo7gC6wqAFagrEB9NTMQ30QTuOc2MGfoDleRLaTvfzJkzZ+ark/vhbzAY7JVKpT/YVsUqr1arPVwPxM2D4zhz/J8tl8u7r6+vabfb5X3mn5PV8vLy8i9s6wDgmj3PuJ8AxEye8R3B7RqbAOBO2+32JEusrYAIBEF9smEcThHETwtycXFRhy337Js9MwD3G43GzSZgqYDglJleS8bPuD5gsVSnzWazsy1blnZnZ2cIEGR2Kgnt456MeicnJ8rqmqtEQADTkwzfce2AjVk+nx+DqZtWq8XsM//gK2Ai8HEEHy79YbGkPhLrRx2tARLB3opO7j4/P+sUJcpGMBU4sGULfbE8ZAHvKd4J9txYIdNnsVhkue5RrqOrq6sywI1gy6YIYO9Z+29AUqIxjNg1HoJzEwOydPf2mc1K9EJQewD1G+9mWDXsZ4kVtI8/PTBU0VJhX/gMi3aMF9qHgAwY3rvW2fn5eQfBBsjk17YWFj8T+HiCj0MFJKw8AXAXJR/qczB/jGdMfIV1xLjOJjAClgFyMHbV0dnZmVsoFHpJ4hTGrqkZ24V4TuaCaEOYJEJQBPTGQGCgksQA3scAKWtwHmsK0cxblI0kP5qgkcUbAZHCf1gjBPDUyBjHAAnVt7A5tOU15b9PATSH/XFCDI4X6nAYZoiMRzIvYqDkXRWOKhFNUIRjPK/ZANrmVsAClCXpw96P2IdgdKR8U66gOLgWi0VNy6eaiLKhXUJ7sitB9GhZC6yMwraG1udcyklp2dUHls01DZjgPBw9ilLnCDYF0aEo9iy5nl2c6Bx4CjDEKXOM5eVIybEpwCBLzvgdax8TpVH9LmsKtvoYbJyunBkxzZgA1Mf37NGyGL310ThDfCn0kBxHySOu9eiexKNDWGGWPLtmWDyTPDjgYRnOC6uDtP9mpDzChoz4WGTpFOD8pK7eeNoLtQRGIDwa6GxOcKqFDWDYuQpA9/KQZYlSE9r6+cGASZ8TFDN1hddTDYDyVPGMRw1LXDZgN36u2KQyAdINUgLOC1fOrdTKiUYCiHeU9qmRtPlHgKwD+d7R7go/xBD8Bd358fr6+uL7/kcWnUVt/gPFbRQgkryBvgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAlCAYAAAAjt+tHAAAABHNCSVQICAgIfAhkiAAABBNJREFUWEe1V89P1FAQnresV+GgJxNZfupBA9486XL0JP4BQrsGPRgDXk0MkBivQmKMPw7tgomJF/CqJMAfYMB4QN1dWGO8g+fdPr959tXXsi3tLjRpdtu+N/P1m/lmpoIyHtaAMy4FzWLbKM5t/HeXKvZiRjPBcpFlozXozEiiZzh/5iSteoKKMDBCktxyzbaz2NJrMwGYHHT24Xx7qWoXtQFryHGlpEmRpz73m13PCiIAAEOjTSm72UBXQ3xx6/a+T/c0bgUOhaRblKM6nH4kIacFiR383zIcB2GxCk5PMy9H9LPlamkzClD4Thw86DFoGQOtPYjviqabBO2r53lyqYm1kh5IIdfKldI7hGZO7/WIxjksOOdxbwP7102nQpDtVmw38DU54OzBkcgRDOsDTryGui6A7kJWWicGnQ0w1StO0Rg1yDLAcc5cL1ftgHmBuMI/zbtVO3gL3sBG+NeMd1ogzAjefNZ0xHt9tlfgbwz+lP0QAAajbmIBqJzDb7dHciatY70uJ4UFIxbb0SFgMABW5OtEAFiwmcuTxSFgurI6D8UbytB2UgPQ4WBVcCJ2AoBpNsORioEAwEWn0GzIXhNAKxkdBbBtACqTIyHA9UO81QKzI6W4YTqXxLn8/0DyPlWJZyRkJgZ8FfRAnioJ/eRRavkHIFR8wkRI+bhcKz05DgCBDE253u1/pSpm0vF6995BxwC4mHC386XJsgwYwL2rUQCocC+j9zoKQXIOhEOAEN1H3F8cGwCfvmJgEL0Ab7jN17cvvOlrRf/y96m9YwNgdkdtNOiSKgm94aQcKFfvvD+UA9jnSVrICZrRL3OoFOs4x8iwIxWYgHmOQLnfSgSADfEy9ERXIgM163OUAb1eT1ZI8sWjALSUIYcHTepMFMBSpbR2KAeGHAu0W7qrYq+FGuJgLigjDFZyCBJkGC1EcSqI0M4FbF0NOQ0q8tQVCwA0rWLhTdOAnmZUoyI626IOfIoLi4XeIhtKukI0qMDOVX0xK1zccJIU6zTPeDaUeTWa9eEliloBiQC4cSBLQ/MAaFtUwyrL0JPX2AB6xYpTK/3STuBg0Zz5eI1WFA+0bs1eDbEax0BaGeakPK8BeHniDjpiDp7B2B4ZRjWItlQwMVw+Z77F0o/J30pyoNoEoSZrfMjojG+nHcfLUMpLh2RYLb01QagYE31ACx/3a8LRM2GoErYpQw1C5Ygvt8wAdOxCCeMnkdXvXG6V/e6u/bVVIeJPNwylY5lCkEZeada0PQ+kMZ5mTWYAyNw6MqeexniqNZIKsFdI9V2gP8dSGc64iJtRfA6gLaJCZf4Ey4iBjE54JRhI/IrH3/Bq3DrhYxSF6cD84hZc1XKe98gjcfqEnaNvyD9N0Xi+XJna0b7+AlqB2Zbpi0cQAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAlCAYAAAAjt+tHAAAABHNCSVQICAgIfAhkiAAAA81JREFUWEfFWM9PE0EU7tAEbtKDnkykXDxpwJsnWY6e1L/AciJQGunVxKCJ8VoaSpETNSEx8VK8KgnlDzBoPHgUYryDN0igft/kzTg72e52Co2TbOjOvHnvm+/9mLeoXOBoNpuPu93uCrZN4/mKp1Uul+uBaqy4CtnYaDSWlVI17DnCs4PfEcBMCYi5EF1GNgjA+vr6MU+NE0dGAUC1AOTpyMjI5MLCwmEoCAsAyqehaJwKTk9Pv1Wr1WPSjddnOKU1CJkneKehT1zD8wPPgWPYuqVWqxXGxsbIkB6Li4v7PkAlPt3CQsEsXlxczObz+QIMtQ3d+MvT53DSFtYpW8GzCzbeA/xLS6lSjBEafQW5DuT3PKNz2NOy8tj8Ey9kwk6KEb4XIVz0UWe9Q2cHMhPQMwsQJUc+wu8Z6LTMKwh3iRaT9hTcIEpyrr+zDJt1YWTFNcQ1YbtNhiuVCkHmYgAETI4CQE9A4/D5cr+GjRxcwFOXRI92AcGsra1FdEkWgH0IcTNdMBNq3JVnZhg9IQC0O5gVEmwDYyDNrjv6ZUAD2NjYKILKCdd6UhploRsYgARhzAUAVF1aWlqVmvHQNQ62YkUNcm8kmBlLOiCDGCAABGDh/PxcB6Hks3UPptziEyMCQF8AwOtLA5DojUSRTdfNzU1dMdPG/Pz8yVUAYAwwGzhIpWUA7Nz3ASBG3vpzQ4uBBBfAzeXmlQGgIgaNUYgYOIYBXjScn0yiH2nHsh4bl2HA3o5Go7klmQUItNtpMYAg/ODHAPdhbhXPsjlMUik2fu5A0K+El8oCF7D0EQepANLSEGv5NAYQkF98Boy801nVsxiwt6F7a0ohup6QBbsJMVDCXMncqtjL9y248B3cVMoC0DMN+80CF5DEwB7YO0I8Rey60gDsYPMj70S6m5EgvOGfFif63MstvFtQrlk91dnZWZHGKdsTQJp/Q9fYG46OjrIvYPpGJgNSAcjFEcsCIK8TuTDwQCtQqg2Fvxwjdbfnk0DUGcWGFsFJZu3IioF+0vCWAYAOuCMNqW08TdsOi7Fm1CDIApCYBfDnTfcU+B74zXdpwy0IgCnwQ8ZEfPB1TKVO+tjbUNLwjh8LoHfbA0GRj9DB7wtd2vvpCd1KOFAaGhA0atItGIDju38BI0GEk9xNygRcRt/9eRYefrqBndkgBkJTrZf8wLfh/wRwCMoOrwoAMqAIXfzE66spZcEYymA2pcUAq1fwJ1goUnMTYt89tyHhqadAu263hjngDnZEJ+4Xt2JVwy31HAvXhmlcdP/B3wYA8J8aevwFXcrj0Bw8/FcAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAuCAYAAADUfRIMAAAABHNCSVQICAgIfAhkiAAAA7FJREFUWEftWEtOG0EQZYxkLwMnCCgHwJyA8QkCu+xsLwHJ2OssAptsbRDGywwnwEjZY58gcIAoww3MDnvjvDeqHtU082l/2NFSy+3+1Kuqrl+Pt7Fi6/f7Vc/zfoCMj76F/oj/w+Pj44ss0t4qmDc3N4c4/0vASOoZ/bPQHJ2cnNTS6C8N2u12tyqVyj8B7ACgRwCRPMBwbz6fX5yenp7bwEuDQso2iHWhykuokuO4DQaDHQCSoQmY2V4nKKWpA7QG0JFNGExx7gDru1gP9frSkkKNQxD8+i6gosYDcBoC4N5IZdSL+SFUeGSp14d6HzD3gjVadKJlSiqGwoNV60xkNLJOtX0iMHoPTD0DjAzSqLYWNiQYQw+HztDvS6USxwTvkgFzT9hDiQhIYLvdgrlGyvxGpqRQ3yMO7OFgvAdzAebqAGrCFTjeEEs9x9BHp4+OsR6Y9aVAp9PpdqfTmfBwGmga0aK5TEmNes19Ub1QaxQAjHqvrq6+GIBWq/W3CMysFxnSiCq2iMXR5/r6uoX7vsT6d1zDz5VBSYAWWi6X25CM90WXCXQgIOjm5uY3aOH32kBdOV90n3NEkkCe5hoxJqQduzDgBArABlTLFJbbtCvlbXQChauE4oO3IMxxosGYGH3OeO+QdreIuUJQUesfEgLhfTg9g0ai6dyalQD0gUJQbjZBAcMJiO7rVGXF6MzQtzCoBraDODRxLjWSEyBpOUnKjRLcH7JAXdRqpP0AfWP1H+o11vsuhiTV/F2OyxwhGrF0KWxO1iuxl/URK7s4n4r/RkW3RKy4jMlDLgTVwT6tmhcfjoo4V+BcUFWyMO7mSmFloh5U3cmSNq8aDHCo7so991laYZXRTAN+AyoB/A6bffQXSOgzs1j3WmgssmGIarJpqsnUMGhlDBvQJHGn6gAALM5ZaTwCuKaBY0klb1LCHfQnGM0hU5hWWdG9avFFgBHmWE3ydX5kUmIEKoB8t9AlnsCZT85UHi00pDR9W8ATMF3jVXk66/PdMpvNGhYg1dzOeybkXbDQZ5FOowwh0L6n3GIMM6fx6EohvldXy8naZ96zjGieeShhcxTGzKK23FUBeV59EhgTdM5Jvk/4K98K1iahZjjG0pKyvAQ4K7/40tchZZqkgVxy9N3HfKBYN3DiTvUzng+k19fXDr4PGf9ai8TK9Z5hvdXIT00pIqpkTgzRzbchPojfFNgLqJ2+z+gU24mOSE7vlQXA9NaEYSYCPiMT3yVLEs47FupXwX9rI7QK/m85EQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAuCAYAAADUfRIMAAAABHNCSVQICAgIfAhkiAAAA+9JREFUWEftWEtS20AQ7XGUdcwJgMJUZYc5AfYJArusYikHSMw6C2CTLeYCkZwcAFOVPXCCOLtUxVTEDcw6tievRzPySJZkyTa7qMpFMZ9+092vPzOC1vzcfb8pJZ1BTAu/On5DSTT4OvIu8kSLdTDdPf9YCvI1GAHsEQK3tcy7/shrZ8lfGdTd8evSoT8MCCGnwcjrMQBrPpMUYOwAvwuMn6eBVwdt+F1odikkXQUPXtcW7L72d+REHWgMbbc2B7rvB/BlB6duQ5u7tOB3Df8Oc0fCod3glxfa8+toOoCmb54F1I3MeISThgC4MVrp8UuMD2DCk4R5G34Le24x9oQ5ZnTiy9VUE4U3NlOmUaTR82y2Vww8I9l74YjH2V95JIRgUjHBqhEJ4dBDOHxk7SCAhTSZOHwA4ydoyxoNNHBSG0H94LfnprVU+7MGeQxEGDLtYZ54DcIhIo8gDwIDXsdMpSmdI0xaHKM4xH1NUGDmVwIVE9oKQm+sADJA8w5dNJ7vU21e4y/4qYmYVAnAmLfTCPaM8P7IfSh7gEIizRziWDvIIhKPdfa+fCAhrrDmE8j1eW1QZU6kOnKoO0Myh59CJNfATgQRaO2tIPl9Y6BlT151XemMxIl8KiXHZO73bfT+vswBSoEC0EWocAkr/OxQWom99ibELKfAbQjtw6/hgkBJdU4kPNd/8HaXHm7ZAt0Z/FChIugQQT9M70nV1syqk4qAZbDzpICVY8TooV2q7BzNlshLfZVBVfjM62ciiSP/niP1nZUFVBZbrme0Qif323TliEFzinmW/P+gC1b5b97nJVLUzV/nslfSCfpfbl2WfqXYq3Mv90eJbl6Hkmq6dcaK25i1cq+d7LO6eQU87zI4VS4FLtS0irBUJeqhoTvN0za/XdFpr4rZEsDoMlBxvFIZSSfwayxu4fcEc7W4sth+XcqU+YIBuknPdJNmOKFpqqtPA6oizn1tGVAI5psBdxpDALdtYLuRbsoZXaME7EDwz5pDx1zCEkQqQRJzIFbA6iaHKIknpiQqUF2o+d5SV4ATmBQNtilnVfxqWyEFPIar2uwqkar6NzQhNwXIZu4WXROKzK3a2JfU4+sItzNiSofChAX7Co8TTJ64YNtEKuPHQvCGb+6zF8JclBD4Ko0hl6rJTQIqRfSTACsnOg0ff6P7iWJn9FYQM3ddDe39MZatKdUohO2584udvinQhKYWQ9W7j3mg2DSwcRtXKcPeUAUyv/9M6dSKr41obBTjxy2EYzOK0/nDBP/LNZEPYd6G+EK80GBXMDs/dHB2inliZ6RS95UKYPbSBDGTuRc3M5h44QlmRaD5NodC+1bwDz8ydtSq/uoNAAAAAElFTkSuQmCC\"","import ReactModal from \"react-modal\";\r\nimport { useState } from 'react';\r\nimport { OnboardSelect } from './../../../Onboard/OnboardComponents/Dropdown/Select';\r\nimport RequestDropdown from \"../../../Onboard/OnboardComponents/Dropdown/RequestDropdown\";\r\nimport { updateNewUserRoleStart } from \"../../../../actions/Administration/staffAdmin.action\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\nexport function RequestRole(props) {\r\n const [roleData, setRoleData] = useState();\r\n const dispatch = useDispatch();\r\n const ROLE_CATEGORY = [\r\n { id: 1, value: 'Delivery' },\r\n { id: 2, value: 'Delivery Support' },\r\n { id: 3, value: 'Overhead' },\r\n { id: 4, value: 'Hosted Resource' },\r\n ]\r\n\r\n const onAddinputhandler = (name, value) => {\r\n let temp = { ...roleData };\r\n temp[name] = value;\r\n setRoleData(temp)\r\n }\r\n const onChangeinputhandler = (e) => {\r\n setRoleData({ ...roleData, [e.target.name]: e.target.value });\r\n }\r\n\r\n const handleSubmitRequest = () => {\r\n dispatch(updateNewUserRoleStart(roleData))\r\n props.handleDeleteQueue(roleData);\r\n }\r\n\r\n return <>\r\n
\r\n
\r\n
\r\n Request New Role\r\n
\r\n
\r\n
\r\n {props.delete === true ?\r\n
\r\n
We have successfully received your request to add a new role.
\r\n
\r\n
Role Category:{props.roles.RoleCategory}
\r\n
Role Name :{props.roles.UserRole}
\r\n
\r\n
You will receive an email confirmation from the administrator to the registered mail ID
\r\n
\r\n : <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n }\r\n
\r\n {props.delete === true ?\r\n
\r\n \r\n
:\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n \r\n}\r\n\r\n\r\nexport function RequestRoleModelPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '15em',\r\n left: '30em',\r\n width: '650px',\r\n height: '350px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n","import React, { useEffect } from 'react'\r\nimport { OnboardSelect } from './../../../Onboard/OnboardComponents/Dropdown/Select';\r\nimport { useState } from 'react';\r\nimport { KeyboardDatePicker } from '@material-ui/pickers';\r\nimport './EmployeeDetails.css'\r\nimport { RequestRole, RequestRoleModelPopup } from './RequestNewRoleModel';\r\nimport DatePickerHandle from './../../../Onboard/OnboardComponents/KeyboardDatePicker';\r\nimport InformationIcon from \"./../../../../assets/images/Information_Icon.png\";\r\nimport dataSaveClose_icon from \"./../../../../assets/onboard-images/dataSaveClose_icon.png\";\r\n\r\n\r\nimport ToolTip from 'react-power-tooltip';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { getRoleCategory, updateSupervisorEmployeeMappingStart } from '../../../../actions/Administration/staffAdmin.action';\r\nimport moment from 'moment';\r\nimport RequestDropdown from '../../../Onboard/OnboardComponents/Dropdown/RequestDropdown';\r\nimport { ActivateModelPopup, DataRetainModel } from '../Employee-Assignment/AssignModel';\r\nimport { getRoleBasedView } from '../../../../actions/Administration/admin.action';\r\nconst Newemployee = (props) => {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const supervisorInfo = useSelector((state) => state.staffAdminReducer.supervisorInfo);\r\n const roleCategory = useSelector((state) => state.staffAdminReducer.roleCategory);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n useEffect(() => {\r\n dispatch(getRoleCategory());\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\nconsole.log('supervisorInfo::::::::::',supervisorInfo)\r\n\r\n const [supervisorMapData, setSupervisorMapData] = useState();\r\n const [showRequestRole, setShowRequestRole] = useState();\r\n const [showRoleRequestSent, setShowRoleRequestSent] = useState();\r\n const [showDataRetainModel,setShowDataRetainModel] = useState(false)\r\n const [ValidFrom, setValidFrom] = useState(supervisorInfo.HireDate);\r\n const [ValidTo, setValidTo] = useState(new Date(''));\r\n const [showInfobar, setShowInfobar] = useState(false);\r\n const [validation, setValidation] = useState(false);\r\n const [toggleValue, setToggleValue] = useState(supervisorInfo.view === 'edit' ? true : false);\r\n const [showTooltip, setShowTooltip] = useState(false);\r\n const[dataRetain,setDataRetain] =useState('')\r\n\r\n const [userRoleSelect, setUserRoleSelect] = useState([])\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n\r\n const handleRoleCategorySelect = (name, value, id) => {\r\n let temp = { ...supervisorMapData };\r\n temp[name] = value;\r\n setSupervisorMapData(temp);\r\n let arr1 = [...roleCategory];\r\n let arr2 = arr1.find((a, i, arr) => a.RoleCategory === value)\r\n let selectedRole = arr2.RoleName;\r\n setUserRoleSelect(selectedRole);\r\n }\r\n\r\n const handleUserRoleSelect = (name, value, id) => {\r\n let temp = { ...supervisorMapData };\r\n temp[name] = value;\r\n setSupervisorMapData(temp);\r\n }\r\n const ValidFromDateHandler = (date) => {\r\n setValidFrom(formatDate(date));\r\n let temp = { ...supervisorMapData };\r\n temp.ValidFrom = formatDate(date);\r\n setSupervisorMapData(temp);\r\n setToggleValue(false)\r\n }\r\n const ValidToDateHandler = (date) => {\r\n setValidTo(formatDate(date));\r\n let temp = { ...supervisorMapData };\r\n temp.ValidTo = formatDate(date);\r\n setSupervisorMapData(temp);\r\n setToggleValue(false)\r\n }\r\n props.setcompareValidTo(supervisorMapData?.ValidTo)\r\n\r\n const formatDatefromString = (seldate) =>{\r\n var date = new Date(seldate); // M-D-YYYY\r\nvar d = date.getDate();\r\nvar m = date.getMonth() + 1;\r\nvar y = date.getFullYear();\r\n\r\nreturn (m <= 9 ? '0' + m : m) + '/' + (d <= 9 ? '0' + d : d) + '/' + y;\r\n}\r\n\r\n\r\n const onChangeGeneraltoggle = (event) => {\r\n const checked = event.target.checked;\r\n props.AccountCreatedHandle(checked)\r\n let temp = { ...supervisorMapData };\r\n temp.EmployeeID = supervisorInfo.EmployeeID;\r\n temp.SupEmployeeID = supervisorInfo.SupervisorID;\r\n let dispObj = {\r\n EmployeeID : temp.EmployeeID,\r\n RoleCategory : temp.RoleCategory,\r\n SupEmployeeID : temp.SupEmployeeID,\r\n UserRole : temp.UserRole,\r\n ValidFrom : temp.ValidFrom ? temp.ValidFrom : supervisorInfo.HireDate,\r\n ValidTo : temp.ValidTo,\r\n YesNo: 1\r\n }\r\n console.log(dispObj)\r\n const temp_Arr = {\r\n EmployeeID: temp.EmployeeID,\r\n SupervisorID: temp.SupEmployeeID,\r\n ValidFrom: temp.ValidFrom ? temp.ValidFrom : supervisorInfo.HireDate,\r\n ValidTo: temp.ValidTo,\r\n roleCategory: temp.RoleCategory,\r\n UserRole: temp.UserRole\r\n };\r\n const isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined || x === 'Invalid Date'));\r\n const isValidDate = moment(temp.ValidTo).isAfter(temp.ValidFrom ? temp.ValidFrom : supervisorInfo.HireDate)\r\n console.log(temp.ValidTo , formatDatefromString(supervisorInfo.ValidTo))\r\n console.log(moment(temp.ValidTo).isAfter(formatDatefromString(supervisorInfo.ValidTo)))\r\n const compareValidToDate = moment(temp.ValidTo).isAfter(formatDatefromString(supervisorInfo.ValidTo))\r\n const compareValidFromDate = moment(temp.ValidFrom ? temp.ValidFrom : supervisorInfo.HireDate).isAfter(formatDatefromString(supervisorInfo.ValidTo))\r\n console.log(compareValidToDate)\r\n const ExistingValidToEmployee = supervisorInfo.NewExisting === 1 ? compareValidToDate : true ;\r\n const ExistingValidFromEmployee = supervisorInfo.NewExisting === 1 ? compareValidFromDate : true ;\r\n \r\n if (isEmptyInput) {\r\n setShowInfobar(true);\r\n setValidation('Please Ensure you filled all the above input to onboard an Account ')\r\n }\r\n else if(!ExistingValidFromEmployee){\r\n setShowInfobar(true);\r\n setValidation(`Please ensure ValidFrom is after ${formatDatefromString(supervisorInfo.ValidTo)}`)\r\n }\r\n else if(!ExistingValidToEmployee){\r\n setShowInfobar(true);\r\n setValidation(`Please ensure ValidTo is after ${formatDatefromString(supervisorInfo.ValidTo)}`)\r\n }\r\n else if (!isValidDate) {\r\n setShowInfobar(true);\r\n setValidation('Please ensure \"Valid To\" date is placed after \"Valid From\" date')\r\n }\r\n if (!isEmptyInput && isValidDate && ExistingValidToEmployee && ExistingValidFromEmployee) {\r\n setValidation('')\r\n setShowInfobar(false)\r\n if(supervisorInfo.NewExisting === 1){\r\n setShowDataRetainModel(true)\r\n }\r\n else{\r\n console.log(dispObj)\r\n dispatch(updateSupervisorEmployeeMappingStart(dispObj))\r\n setToggleValue(true)\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (supervisorInfo?.view === 'edit') {\r\n var temp_Arr = {\r\n EmployeeID: supervisorInfo.EmployeeID,\r\n SupEmployeeID: supervisorInfo.SupervisorID,\r\n ValidFrom: formatDate(supervisorInfo.ValidFrom),\r\n ValidTo: formatDate(supervisorInfo.ValidTo),\r\n RoleCategory: supervisorInfo.RoleCategory,\r\n UserRole: supervisorInfo.UserRole\r\n }\r\n setSupervisorMapData(temp_Arr)\r\n setValidFrom(supervisorInfo.ValidFrom);\r\n setValidTo(supervisorInfo.ValidTo);\r\n }\r\n }, [])\r\n\r\n const [roleData, setRoleData] = useState({})\r\n const handleRequestSubmit = data => {\r\n setRoleData(data);\r\n setShowRequestRole(false);\r\n setShowRoleRequestSent(true)\r\n }\r\n\r\n let disptemp = { ...supervisorMapData };\r\n disptemp.EmployeeID = supervisorInfo.EmployeeID;\r\n disptemp.SupEmployeeID = supervisorInfo.SupervisorID;\r\n let dispYesDataRetainObj = {\r\n EmployeeID : disptemp.EmployeeID,\r\n RoleCategory : disptemp.RoleCategory,\r\n SupEmployeeID : disptemp.SupEmployeeID,\r\n UserRole : disptemp.UserRole,\r\n ValidFrom : disptemp.ValidFrom ? disptemp.ValidFrom : supervisorInfo.HireDate,\r\n ValidTo : disptemp.ValidTo,\r\n YesNo: 1\r\n }\r\n console.log(dispYesDataRetainObj)\r\n\r\n\r\nconst YesDataRetainHandle = () =>{\r\ndispatch(updateSupervisorEmployeeMappingStart(dispYesDataRetainObj));\r\nsetShowDataRetainModel(false)\r\nsetToggleValue(true)\r\n }\r\n\r\n let dispNoDataRetainObj = {\r\n EmployeeID : disptemp.EmployeeID,\r\n RoleCategory : disptemp.RoleCategory,\r\n SupEmployeeID : disptemp.SupEmployeeID,\r\n UserRole : disptemp.UserRole,\r\n ValidFrom : disptemp.ValidFrom ? disptemp.ValidFrom : supervisorInfo.HireDate,\r\n ValidTo : disptemp.ValidTo,\r\n YesNo: 0\r\n }\r\n console.log(dispNoDataRetainObj)\r\n\r\n\r\nconst NoDataRetainHandle = () =>{\r\ndispatch(updateSupervisorEmployeeMappingStart(dispNoDataRetainObj));\r\nsetShowDataRetainModel(false)\r\nsetToggleValue(true)\r\n }\r\n \r\n \r\n \r\n useEffect(() => {\r\n props.newEmployeeToggleChange(toggleValue);\r\n }, [toggleValue,props])\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n // const DataRetain = (data) => {\r\n // console.log('data',data)\r\n // if(data === 'YES'){\r\n // let dispDataRetainObj = {\r\n // EmployeeID : disptemp.EmployeeID,\r\n // RoleCategory : disptemp.RoleCategory,\r\n // SupEmployeeID : disptemp.SupEmployeeID,\r\n // UserRole : disptemp.UserRole,\r\n // ValidFrom : disptemp.ValidFrom ? disptemp.ValidFrom : supervisorInfo.HireDate,\r\n // ValidTo : disptemp.ValidTo,\r\n // YesNo: 1\r\n // }\r\n // dispatch(updateSupervisorEmployeeMappingStart(dispDataRetainObj))\r\n // setShowDataRetainModel(false);\r\n // setToggleValue(true)\r\n // }\r\n // else if(data === 'NO'){\r\n // let dispNoDataRetainObj = {\r\n // EmployeeID : disptemp.EmployeeID,\r\n // RoleCategory : disptemp.RoleCategory,\r\n // SupEmployeeID : disptemp.SupEmployeeID,\r\n // UserRole : disptemp.UserRole,\r\n // ValidFrom : disptemp.ValidFrom ? disptemp.ValidFrom : supervisorInfo.HireDate,\r\n // ValidTo : disptemp.ValidTo,\r\n // YesNo: 0\r\n // }\r\n // dispatch(updateSupervisorEmployeeMappingStart(dispNoDataRetainObj))\r\n // setShowDataRetainModel(false);\r\n // setToggleValue(true)\r\n // }\r\n // }\r\n return (\r\n <>\r\n
\r\n
General Informations
\r\n
This page enables to add new employee mapping. For more guidance, click on the Hints link on the right.
\r\n
\r\n
Employee Name
{supervisorInfo.EmployeeName}
\r\n
Primary Functional Supervisor
{supervisorInfo.Supervisor}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {supervisorInfo.RoleCategory ?
{supervisorInfo?.RoleCategory}
:\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
{supervisorInfo.view === \"edit\" ? '' :
setShowRequestRole(true)}>REQUEST NEW ROLE
}
\r\n
\r\n {supervisorInfo.UserRole ?
{supervisorInfo?.UserRole}
:\r\n }
\r\n
\r\n {RoleBasedView?.[0]?.StaffAdmin?.[0]?.ReadWrite === 1 ?
\r\n ValidFromDateHandler(date)}\r\n />\r\n ValidToDateHandler(date)}\r\n />\r\n
: \r\n
\r\n
\r\n
{supervisorInfo.ValidFrom}
\r\n \r\n
\r\n
\r\n
{supervisorInfo.ValidTo}
}\r\n\r\n {RoleBasedView?.[0]?.StaffAdmin?.[0]?.ReadWrite === 1 ?
\r\n
Initial Save
\r\n
\r\n \r\n    \r\n none setShowTooltip(true)} onMouseLeave={() => setShowTooltip(false)} >\r\n \r\n By selecting the toggle you set an initial saving of this record and being populated in your mapped employees list.\r\n \r\n \r\n
\r\n
: ''}\r\n
\r\n {showInfobar &&
\r\n
  {validation}
\r\n
setShowInfobar(false)} />
\r\n
}\r\n {showRequestRole && \r\n setShowRequestRole(false)}\r\n />\r\n \r\n }\r\n\r\n {showRoleRequestSent && \r\n {\r\n dispatch(getRoleCategory())\r\n setShowRoleRequestSent(false); setShowRequestRole(false)\r\n }}\r\n />\r\n \r\n }\r\n\r\n {showDataRetainModel && \r\n \r\n \r\n }\r\n\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Newemployee","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAYCAYAAACfpi8JAAAABHNCSVQICAgIfAhkiAAAArtJREFUSEvFlrFu01AUhs91LZYiUVaWpiJIbIQdqcnIFl4AfOEF0o2NsAFLO8JkpzNS0oW15g3ohtpUTR4AKQ+Q+PL/jq/rOqmdpq5qKUpk33vO5//859yod3XfyD1fSuSzIghIfjsi4X3wIPenFIQ/gqHuWhCv7jdnQr7qrw1XjYO/emQjU4ilIN5zv2amclE9wjyiUtILzrRXCOLV/C2zIfuixFNG3uB7UjFQBzLvGjHe4fD9EWMvKIJ7IRYdJ9Qa1EEZhPfMb0TGbDsKcp/pP6Xr8aKRKyFK8YK+PBzq5rUgVCI414OioEn5+ljTSNcZCdRM9oKRLlXxbd0n9KQYRKQF4xZ2EALxeQ2d5nEtlPFg7QO8RICX6JQpk+yXW4Gwo1hCyHsFGPdZ//3eUONR8bU2COr4D0m+4Q2+XpcwD4g9P4GzCbDXeay1QZDkYyRiYpCnfhuN31dTeZz1Qwriyg7nBPcQAKX7UhlINpCdM/khaH0D2FpZadhtGA1PglP9i/scBaPb9rHtm6/9sqC2PMmeECb1ELi2yl7GIwjMfSxGBr1zreORkQfBw5XakCWKlHSQvIFPCJDuSrMkgYDnTrBvl/kIcwmiZBCxBeez4QIme1km8U2fWyUw5o845qFsNzn0PqQg9tCzpkOSeOismgzlOeEMiY8JF2ZWGG6ZabsAcanM+OGDzVcLIExs22tVCK5zDMBn0gUEjwmqOgFMizBFEM5Umuy+pSA3AbBrEyUIsYPyttHuLPO2MaajlDpIy5FRwkKkZoVhRjDbaB0Au8dxzPcoUj/oL8yYFu/bA84e/VYZ+GKchYhBaJjbAKR7XQlQmi20ZZiFEVc69F8RRAxSCUQmSJIwhWH9yyDuBIRBr8CI7KEU/WXlyIpQuSKpeeempDKPOLzynshX4s5ArDIckoBol/1h+g8l8Q+LDTBWKQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAYAAADkgu3FAAAABHNCSVQICAgIfAhkiAAABY1JREFUSEulVmlsVUUUPmfufd0X1lJoKV1eCxEiiSAkmihGQzAtQtBCkLSvLRUMIFETfhijEk3cYvyhIhShr1tcaHCtEokaVIRAtJoSS9q+QltQoCQtbaWvfe/OHL/7SsuShmg6yc3cO3PmfGf5zpnLhFE2d/8sx/BdLPygCIUV053C0klCA8LUxlr1a9GN0XFyuf/PpL56Wqvdc+4oyqlJURK6W9h+mlmWKpYd/rayitH90ZlLvP5lIvy8kNzLTEEo7ydmh0gUhKLxpI0IS4CIQ9i7QCIWngvEKhXrc7CZzUSnMBshcnC6oKqj9OKNYFzs9Xfj0KBSvEuT02DEYo/DPU6UmcHiCZEOT7VYPYBDicSUgTkVRhkmjhPiQXx3CJkfmNRxvC8H8PuIxpM1t3jFPq8flkrX4FBCfv35tcFbXR7ve9OiCs/QxZikYHLsQH3z2tCoTHFedRob+Rz62KOd/H1nn7g0FjpfTuUbwrydyayrDmz88r8A3U4GqdiC8O1CiDdXt5XsvZ6jPP88MdSAGHeSQ/mI7dBEwMq9delhcj6DDg7pcP5H17xC6PZvQHyfhRXzFKt1/jZfw0SA3LPFeZXb2PC7rGhTVWvpB+6aS4Y/mCRbWP2DubFbBh49FNg+PBGwouzqDKX0QahXINfDte3F3VyS47+CWjnOQqdA6I1KZI0/UPbjRIDcsyW5/qdQk++MeuWyrg7rK5Cn7Vh8GVb8Hp08/Pje3zaHJwK2MWvfHG1b9QCzBgPxS9iXU7WIWA6Dkt+hM3SiQMqZeTUY81NxdnWeKJ2llFogInGotyZmZRutOw1FD4dCQ3/Vny/vGc+gkhGS7cbesnAoagqX5lYXoOBeBHI2wytR8grK4DS6RAsKEwXICyJ9gagXzJwcUcrUg4VePD0I+wBWBpDfM5gv42wG1vIg64VxKaD5sYSo+FVu6A6zyH2GlGE2X7leQelW1Baw5KiI2Y29ILzu9ghNwrqBgsXYXQLFKZBFk0DHkEjbgn4kgKQXb/HIe1CJvdXfXnQMofP3uagQhoWyHDTZYRStxunGqOTQq7fL1U7aqc7NT59khlS8Y9u2DoWMpaKCltb9xkObYfRrini9P+D7Ah5V1cOChQB7CUDvubmaPmCXvXWp+OpEyFA0tyZLaQ3d3J8V6HiIi7yV9wP1UyitwTPdZSAisKq6veSX9XkV02Kd2ExDOsWwCbKy3OshURunxYRD5sOuLW5exh2R64O1a/hKO9qkceEdB6Liwle/QWIzRr1CfI8ooe+RjPVgWSaE00e1ISdDSMQ5fPfiHUXOLcKmH8YFkdRUzLhGTA48mY90LILsER1nFWBGywDzQIgDeN0z4pWswRXgkqEZAt/iQutyNJ/DVZI1QgCZCfkESGRDbjIUTkXYp153Tc7AiCS0toCleEdlq+9oBKgk0x9DNn2Nzdl4XoeVzwDshPbYL9SdLrowXmwK6YCVOHdgBjueKZp1gjbGdhlpKx7UyumztL3NCJeSxStqWn0nI0ARMK9/Jaz7BJfkHo7iN682x1++8cr+v8Qoy6tdiFweRFhOVLWVonFfG4Xpb8fGx0xuAFg6LtnCmhZfk0vfjsw5GTBzJqy9wvhxMKJiOVECtU23Z6V79qw38xAisxgVljYG5OKB6o9g+tj1CkX5M4iwAfHPReElwwB0dMARKlvkLGZ0BNXGlgTE4b/Zln5jKFeUalValuLcMsjfA1L0RA8OL7wJaNOsirjhuOgGJDYHXEiE4CAEfsU/wCX8JfQpRTFoVbOxnoxizDIsNvI5xsix8KIjwKIm9M2TMKqqLlDWeBNQhIHeyscw1YIxhxWZ53BlNN+aH7ckkkLB+WGLtOXoaYZVAig+Ew6n4lftFJrUlTCZrrr2cvyPjIx/AayOlnHe2cnwAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAYCAYAAAARfGZ1AAAABHNCSVQICAgIfAhkiAAAAzRJREFUSEu9lktIVGEUx8851zEyzU2pJGU5kxhRtCmKgh5gkSYEFmbaPKxVUJseFIQV0raFm4LMO6OoFAkmVJRlD4haFRFt8sFE0aJaWGov536n/zUFR8sZQ7p3Md+9c77fd77/9z9nhmn0ChbYhWSoVYlWjb2bxmcvsVMd6T7waPwcdh9csBpuwTCLjLlDFnUy8adk4KpapcQ7EHujsSfkj4OPByvpeWE6goC2cHfocDLwKm+9z+KUW0zaFu4JnYiDB3zh53gx3wUT62tkXEfELZHu4KkZgNtKRm22ZJsh54cYySahyzOUOeCse5HxOgy+INsMyzjtDb37789I5sy0FZl2JgObGJNAc1v/K7zK2+TDih+S2Yny1/xU9bShPjpi5DntzoGsOY19gdcc8MVn7vfZB2GrA4hJyudwVhrAhUT6DkXzOyGVbGZtjYMHC+0VOszXcMC5pPwkmcz/HKNZcNy8OPi+pY3LRE0HMV1xfR7w1q8XlhTS2X12b8XbYL69woWF+0Ivx0ODS+3fLWOYouFoqB+FWayGrv4Vzo5eNyy1RLFNytYAtlpusVMJu67hmJYCEnV5FUsuZc9KsR6qcp6olti91V0J4UTGA2mOC1unyMRc/W8akaOkpphjXDQG93svb2aWW5DyIxJ4EOkJ7ksINz+lWTzmNhszx7DVnPGdzg6mac1EeMDX0IQDXYsFoqy64KfjFKd6rOVTyvImN3pm8fu8HdhuOanuUZZSuKgI4xI1Upwpn98ManoWpLuJzphLzMP4PktJdouYr1PCIUuGKm1Ept+YU1ZikV0suhN9qIyFegzpMGRDN6RzkOQCsn8hDp9Ui5/BhvVTwlFEj9HbK4QoB4d43aRJWIZMmbJugJu+Q4J0EnmlRlejL9VC61dwzTFjaCELP8QOI3Fu8RdEtrPjNGCye9f/s8+V/aSUHgc/5KubNUAZNdCwmlgGk4KzWmQ4B0XTD+DQSIGSzmXl9knl7y7wWTK3QOMRHye8lBYJm4sg3sXhnnfjoXlhprHuTYInhE0ISNhyEf8UbbdmuuDR+EqjVIrx5B9ovzfchW1s/kfwyDTYsU/ZCU38a/ELUkX/cuEMn6wAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAUCAYAAADoZO9yAAAABHNCSVQICAgIfAhkiAAAAhxJREFUSEvVVu1NG0EQfXM4v0MqwAgj5SdUgF1BnAp824E7sKkgpoJdpwFMBdgdkH+RMIpTQcxvjt28Wd+iAyxkIs4iJ1l3592Z9+bNx55gC1feGg8C/KACNRvPTacKLVvggbxl28RpB2AggjGfp+7auGdE8s+2eV+EvTpJ7RTyIzTwh5FHJe4Rwo7ILQld6buQbZ9Mv9VJIgKRAHEu0z3hScCZuzF96bXsknJNEPBIqjcnVuCqqkjpP6aL9SJKJJDlqZub4ZuDP3FYYnWINdUlrR1V6f0TIdNhkmydSi+pWI3yqe3GipRtpvarVmtg3xfofZ+b0yjloc1xh0mZa/1vyipcauVr5/m7cJKJ/I5FWeCT/0Dba3OWCG1O5NC6ENCj4ZK/3dLBLQkd6XNgwemtXIt7dC6QSK4kaWsrtqt1dkuqiY2JxKgPbJfVex6BgVlWoOsWRp0ib9pd38CEzk/0na33la03SRGTzBHJaCF+VEIM4Nj9NIvXK0Igyn5Jw32CTUnkCyM2aQqmqLl2wbU29/1iCjoPRFeKdrk+0tTqSBjfGPNPRDTiTNCPeT+wI2RwafppxPDIdQDpsw8YPVKssj/WE6/qKH9VahL7Ou7/DZElc3nuJbg6VEg+1x16AmmznoZxsr6bQy+2JYcRCjTrVIT+nx96DSxSe2/tw8hz9mgatKUlw2zth1GtSqji5dmVcHRQ8tjQOfRw/QUf75gk3c7jPQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAKRJREFUKFNjZEAC/xkY5IDcbCD2BmI1qNRNIL0ViKcxMjA8gikHsiEAqCkFJAnErMiGIbF/A9lZQA1zQGJgjVBNs3FoQBdOBWlmhDrvDh6b0DWCbFYBaewAMsqJtA2mrBOk8TKQp0Oixisgjb9IcCbM/N8UabwCNEabRKdeBdnYCdRURqLGLvKjA5oAUoH0LCJthSQAmGKgk0Gap5KU5JA0E53IAfgCLu+MAIGQAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABHNCSVQICAgIfAhkiAAABLZJREFUSEutlX1M1WUUx895fj+ghMXSmkmr8XIZSaaYtuZ0ZrVsik5c6ayE+1KQ6QrHWmvZjFkKZbmsOYYTfvdF3cK1ZfZibSa1zJT+4g8VuFwI7c0omfHO/T2n7+9u18AujE3u7nNfnuec8znPefsxTdHLk2etI5sqNIk2mCqsNt+ZuGmeIgaVuKw6ElrLTFF8d4mhNgdb3Wcd+1MC8WRbuWLIHtG8mBWHSORJEv6VRTb7I96mG4bEAIregfcPwuUrcFxY6HVh2oe930jbFTcEuQYgekBIXiVbt7Jp3qvS9GfRHlmvlNoJwIkJId6c+rvYSJquo9FkeDhoSsrlAx1P/+HE+XpAMOw76Oz78uoybFu9D8MLtNAsxfTB/yBeV/3tIvyoZnmCiV1IWwq8TEWcBxCOHmI+a2g5pZk3wGbsBnGA4xT238P+KsgdFdG9SaLfHgNx5/gXE+ttQrwUB877PD67ENsIQp0J5RlYc/EffOofDfBkWpli8m7IFWJV9yenVR85t354THV5cqwiZGw7DM+H9W+06HdtTjl1KLzxarzMyxbUJkX/MfNRRTsQis8D7b79sRDl1mdr4t2IwAo4uSvrzqzqysaHo2P6BCG6H0L74N19gNSYA9GqukvP/T2ZHvovN/w4+nBnVntXVSVV6tG6jGvehGvW4oolWAc5yqX+Tu/gZABl2Q3pQ6r/OGTnYb0ZCHuqEulxsav+IUWqQYiuokuXh1pKOiYDcGSK5wZTVb8+gxwNahpYGWp/4XJCCMbBfuSgFA2019/u3TpZQFzOk2ttQn52MXNRoM3zXUKI22V9jYPHAFrkD3t/nAiyjhqMO1xp5ofhlUNxOeQzX5P6nklqoL8t8U1yrAsYamKLvdq0jW7ko2e04MbZoVnmSHQJputyp28Q1lhScfNW9MJJIfsikTrEwscC7Z7yCSEA7RWRCrRAEwQvYrjBJhegGDJgcg7WL2jITlhH7fMt6JH0WLMKNaMqb8XeUST+xYQQj8tqhLmFMPYai1oLUAaUjJivhA4n+Rkj71NAT/cNp15KNftm2knGzQbbt2kt06GTDtE34OTH/jbvK+PkxH8MhlaxorI+MzWQOtKXb2izd1iNzFCiehXpy1bY92dc2e2qdxrWDRe2oFCOu3MPLCUxvtWaCkMR7xfjVFf9Rlw7hMPG/uT+1UfObel1BEtc/h/g/QzFsiQBZAkge2IQl+UMxvmmmGvq2ovDicN1D2aOTR/Bu3wh/XKwzYfGdCDWKefbICn6nXqvjZYvwy9dqyx3tr+QlAQRiUAg7KsYrzJjA9Lt8j+DPNQisX/Bw3J4+MlohZIc/2HMpAIyjA3BFnezc1acXbcQz4sAfl7RHC0NtZWenxBSueykGbnYuR15qQCkGzVak2xH/Qc6SmPPDgfCLPMwEZ6ybaPTkOEVSPRbTmWwUpsCrZ4T4wFi5R4/LMuonTY0Lel5VO5WGLgbVfYTjk+LUKMSu9swk5JHRB5h0suwX4A8NqFjdgQiEwPGQOKwElfdIsyycvTLXMR69nUeDjCpZvTIV7ZtHz7Y8WzLRDeIn437+C3OCc5hJZkIUx7GwUw8Ri9AKWJrFQlF3F2TMR6X+ReAGh1S0wusDAAAAABJRU5ErkJggg==\"","export const adminViewActionTypes = {\r\n\r\n // ROLES FLOW\r\n\r\n GET_ADMIN_ROLES: \"GET_ADMIN_ROLES\",\r\n ADMIN_ROLES: \"ADMIN_ROLES\",\r\n\r\n GET_ACCESS_GROUP: \"GET_ACCESS_GROUP\",\r\n ACCESS_GROUP: \"ACCESS_GROUP\",\r\n\r\n UPDATE_ACCESSGROUP_DATA_START: \"UPDATE_ACCESSGROUP_DATA_START\",\r\n UPDATE_ACCESSGROUP_DATA_SUCCESS: \"UPDATE_ACCESSGROUP_DATA_SUCCESS\",\r\n\r\n UPDATE_ROLE_DELETE_START: \"UPDATE_ROLE_DELETE_START\",\r\n UPDATE_ROLE_DELETE_SUCCESS: \"UPDATE_ROLE_DELETE_SUCCESS\",\r\n\r\n\r\n\r\n // OPERATIONS FLOW \r\n\r\n GET_OPERATIONS_DATA: \"GET_OPERATIONS_DATA\",\r\n OPERATIONS_DATA: \"OPERATIONS_DATA\",\r\n\r\n UPDATE_OPERATIONS_DATA_START: \"UPDATE_OPERATIONS_DATA_START\",\r\n UPDATE_OPERATIONS_DATA_SUCCESS: \"UPDATE_OPERATIONS_DATA_SUCCESS\",\r\n\r\n UPDATE_OPERATIONS_DELETE_START: \"UPDATE_OPERATIONS_DELETE_START\",\r\n UPDATE_OPERATIONS_DELETE_SUCCESS: \"UPDATE_OPERATIONS_DELETE_SUCCESS\",\r\n\r\n\r\n // ACCESS GROUP FLOW \r\n\r\n GET_ACCESSGROUP_DATA: \"GET_ACCESSGROUP_DATA\",\r\n ACCESSGROUP_DATA: \"ACCESSGROUP_DATA\",\r\n\r\n GET_ACCESSGROUP_EDIT_DATA: \"GET_ACCESSGROUP_EDIT_DATA\",\r\n ACCESSGROUP_EDIT_DATA: \"ACCESSGROUP_EDIT_DATA\",\r\n\r\n GET_ACCESSGROUP_ADD_DATA: \"GET_ACCESSGROUP_ADD_DATA\",\r\n ACCESSGROUP_ADD_DATA: \"ACCESSGROUP_ADD_DATA\",\r\n\r\n UPDATE_ACCESSGROUP_ADDEDIT_START: \"UPDATE_ACCESSGROUP_ADDEDIT_START\",\r\n UPDATE_ACCESSGROUP_ADDEDIT_SUCCESS: \"UPDATE_ACCESSGROUP_ADDEDIT_SUCCESS\",\r\n\r\n UPDATE_ACCESSGROUP_DELETE_START: \"UPDATE_ACCESSGROUP_DELETE_START\",\r\n UPDATE_ACCESSGROUP_DELETE_SUCCESS: \"UPDATE_ACCESSGROUP_DELETE_SUCCESS\",\r\n\r\n\r\n // USERS FLOW\r\n\r\n GET_TIMEZONE_DATA: \"GET_TIMEZONE_DATA\",\r\n TIMEZONE_DATA: \"TIMEZONE_DATA\",\r\n\r\n UPDATE_ADD_USER_START: \"UPDATE_ADD_USER_START\",\r\n UPDATE_ADD_USER_SUCCESS: \"UPDATE_ADD_USER_SUCCESS\",\r\n\r\n UPDATE_DELETE_USER_START: \"UPDATE_DELETE_USER_START\",\r\n UPDATE_DELETE_USER_SUCCESS: \"UPDATE_DELETE_USER_SUCCESS\",\r\n\r\n GET_EDIT_USER_DATA: \"GET_EDIT_USER_DATA\",\r\n EDIT_USER_DATA: \"EDIT_USER_DATA\",\r\n\r\n UPDATE_EDIT_USER_START: \"UPDATE_EDIT_USER_START\",\r\n UPDATE_EDIT_USER_SUCCESS: \"UPDATE_EDIT_USER_SUCCESS\",\r\n\r\n GET_REGION_DATA: \"GET_REGION_DATA\",\r\n REGION_DATA: \"REGION_DATA\",\r\n\r\n GET_UPN_VALIDATION: \"GET_UPN_VALIDATION\",\r\n UPN_VALIDATION: \"UPN_VALIDATION\",\r\n\r\n GET_USERFLOW_USERS: \"GET_USERFLOW_USERS\",\r\n USERFLOW_USERS: \"USERFLOW_USERS\",\r\n\r\n GET_USERFLOW_COUNT: \"GET_USERFLOW_COUNT\",\r\n USERFLOW_COUNT: \"USERFLOW_COUNT\",\r\n\r\n SAVE_USER_STORED_FILTER: \"SAVE_USER_STORED_FILTER\",\r\n SAVE_USER_STORED_STATUS: \"SAVE_USER_STORED_STATUS\",\r\n\r\n // AUDIT RBAC\r\n\r\n GET_AUDITRBAC_DATA:'GET_AUDITRBAC_DATA',\r\n AUDITRBAC_DATA:'AUDITRBAC_DATA',\r\n\r\n // AUDIT ROLE\r\n\r\n GET_AUDITROLE_DATA:'GET_AUDITROLE_DATA',\r\n AUDITROLE_DATA:'AUDITROLE_DATA'\r\n\r\n}\r\n\r\n\r\n","import { adminViewActionTypes as actionTypes } from \"../../constants/Administration/adminView-actionTypes\"\r\n\r\nexport const getAdminRoles = (data) => (\r\n {\r\n type: actionTypes.GET_ADMIN_ROLES,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const getAccessGroup = (data) => (\r\n {\r\n type: actionTypes.GET_ACCESS_GROUP,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const updateAccessGroupDataStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_ACCESSGROUP_DATA_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateAccessGroupDataSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_ACCESSGROUP_DATA_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateRoleDeleteStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_ROLE_DELETE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateRoleDeleteSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_ROLE_DELETE_SUCCESS,\r\n }\r\n)\r\n\r\n\r\n// OPERATIONS FLOW\r\n\r\nexport const getOperationsData = (data) => (\r\n {\r\n type: actionTypes.GET_OPERATIONS_DATA,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const updateOperationsDataStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_OPERATIONS_DATA_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateOperationsDataSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_OPERATIONS_DATA_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateOperationsDeleteStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_OPERATIONS_DELETE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateOperationsDeleteSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_OPERATIONS_DELETE_SUCCESS,\r\n }\r\n)\r\n\r\n\r\n// ACCESS GROUP FLOW\r\n\r\nexport const getAccessGroupData = (data) => (\r\n {\r\n type: actionTypes.GET_ACCESSGROUP_DATA,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const getAccessGroupEditData = (accessgroupid) => (\r\n {\r\n type: actionTypes.GET_ACCESSGROUP_EDIT_DATA,\r\n accessgroupid: accessgroupid\r\n }\r\n)\r\n\r\nexport const getAccessGroupAddData = (data) => (\r\n {\r\n type: actionTypes.GET_ACCESSGROUP_ADD_DATA,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const updateAccessGroupAddEditStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_ACCESSGROUP_ADDEDIT_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateAccessGroupAddEditSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_ACCESSGROUP_ADDEDIT_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateAccessGroupDeleteStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_ACCESSGROUP_DELETE_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateAccessGroupDeleteSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_ACCESSGROUP_DELETE_SUCCESS,\r\n }\r\n)\r\n\r\n// USER FLOW\r\n\r\nexport const getTimeZoneData = (data) => (\r\n {\r\n type: actionTypes.GET_TIMEZONE_DATA,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const updateAddUserStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_ADD_USER_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateAddUserSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_ADD_USER_SUCCESS,\r\n }\r\n)\r\n\r\nexport const updateDeleteUserStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_DELETE_USER_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateDeleteUserSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_DELETE_USER_SUCCESS,\r\n }\r\n)\r\n\r\nexport const getEditUserData = (userId) => (\r\n {\r\n type: actionTypes.GET_EDIT_USER_DATA,\r\n userId: userId\r\n }\r\n)\r\n\r\nexport const updateEditUserStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_EDIT_USER_START,\r\n payload: data,\r\n }\r\n)\r\n\r\n\r\nexport const updateEditUserSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_EDIT_USER_SUCCESS,\r\n }\r\n)\r\n\r\nexport const getRegionData = (data) => (\r\n {\r\n type: actionTypes.GET_REGION_DATA,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const getUPNValidation = (upn) => (\r\n {\r\n type: actionTypes.GET_UPN_VALIDATION,\r\n upn: upn\r\n }\r\n)\r\n\r\nexport const getUserflowUsers = (query,status) => (\r\n {\r\n type: actionTypes.GET_USERFLOW_USERS,\r\n query: query,\r\n status:status\r\n }\r\n)\r\n\r\nexport const getUserflowCount = (status) => (\r\n {\r\n type: actionTypes.GET_USERFLOW_COUNT,\r\n status:status\r\n }\r\n)\r\n\r\nexport const saveUserStoredFilter = (data) => (\r\n {\r\n type: actionTypes.SAVE_USER_STORED_FILTER,\r\n payload: data,\r\n }\r\n)\r\n\r\nexport const saveUserStoredStatus = (data) => (\r\n {\r\n type: actionTypes.SAVE_USER_STORED_STATUS,\r\n payload: data,\r\n }\r\n)\r\n\r\n// AUDIT RBAC \r\n\r\nexport const getAuditRBACData = (role, accessGroup, operation) => (\r\n {\r\n type: actionTypes.GET_AUDITRBAC_DATA,\r\n role: role,\r\n accessGroup: accessGroup,\r\n operation: operation\r\n }\r\n)\r\n\r\n// AUDIT RBAC \r\n\r\nexport const getAuditRoleData = (role, account, site, user, region) => (\r\n {\r\n type: actionTypes.GET_AUDITROLE_DATA,\r\n role: role,\r\n account: account,\r\n site: site,\r\n user:user,\r\n region:region\r\n }\r\n)","import React, { useEffect, useRef, useState } from 'react';\r\nimport ReactModal from 'react-modal';\r\nimport { OnboardSelect } from '../../../Onboard/OnboardComponents/Dropdown/Select';\r\nimport DatePickerHandle from '../../../Onboard/OnboardComponents/KeyboardDatePicker';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getGeneralInfoSites, getRolesTabRoles } from '../../../../actions/Onboard.action';\r\nimport { getStaffAccounts } from '../../../../actions/Administration/staffAdmin.action';\r\nimport { getRegionData, saveUserStoredStatus } from '../../../../actions/Administration/adminView.action';\r\nimport downward_icon from './../../../../assets/images/downward_arrow.png';\r\nimport upward_icon from './../../../../assets/images/upward_arrow.png';\r\nimport contractIcon from './../../../../assets/onboard-images/Contractual_SLA_Icon.png'\r\n\r\nexport function AddRoleAccountModel(props) {\r\n const dispatch = useDispatch();\r\n \r\n let Rolename = useSelector((state) => state.onboardReducer.roleTabRoles);\r\n const SiteData = useSelector((state) => state.onboardReducer.generalSiteInfo);\r\n const AccountsInfo = useSelector((state) => state.staffAdminReducer.staffAccounts);\r\n const regionData = useSelector((state) => state.adminViewReducer.regionData);\r\n\r\n useEffect(() => {\r\n dispatch(getRolesTabRoles());\r\n dispatch(getGeneralInfoSites());\r\n dispatch(getStaffAccounts());\r\n dispatch(getRegionData())\r\n }, [dispatch])\r\n\r\n const [addRoleAccount, setAddRoleAccount] = useState(props.mode === 'Edit' ? props.editRoleAccountData : [])\r\n const addValueToRoleAccount = (name, value) => {\r\n const newFormData = { ...addRoleAccount };\r\n if (name !== 'Select') {\r\n newFormData[name] = value;\r\n setAddRoleAccount(newFormData)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (props.mode === 'Edit'){\r\n setValidFrom(props.editRoleAccountData?.['Valid From']);\r\n setValidTo(props.editRoleAccountData?.['Valid To'])\r\n }\r\n }, [dispatch,props.editRoleAccountData,props.mode])\r\n\r\n const [ValidFrom, setValidFrom] = useState(null);\r\n const [ValidTo, setValidTo] = useState(null);\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n\r\n const ValidFromDateHandler = (date) => {\r\n setAddRoleAccount({ ...addRoleAccount, 'Valid From': (date === null || date === undefined) ? null : formatDate(date) });\r\n setValidFrom((date === null || date === undefined) ? null : formatDate(date));\r\n }\r\n\r\n const ValidToDateHandler = (date) => {\r\n setAddRoleAccount({ ...addRoleAccount, 'Valid To': (date === null || date === undefined) ? null : formatDate(date) });\r\n setValidTo((date === null || date === undefined) ? null : formatDate(date));\r\n\r\n }\r\n \r\nconst [validation, setValidation] = useState(false);\r\n\r\n const SubmitHandler = () => {\r\n if(addRoleAccount.Role === undefined){\r\n setValidation(true)\r\n }\r\n else{\r\n props.addValueToTable(addRoleAccount)\r\n props.saveHandler();\r\n setValidation(false)\r\n }\r\n }\r\n\r\n console.log('addRoleAccount',props.editRoleAccountData)\r\n return <>\r\n
\r\n
\r\n {props.mode === 'Edit' ? 'Edit' : 'Add' } Role and Account\r\n
\r\n {validation &&
Please Ensure you filled all the inputs with \" * \" mark
}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n ValidFromDateHandler(date)}\r\n />\r\n
\r\n
\r\n ValidToDateHandler(date)}\r\n />\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n}\r\n\r\nexport function AddRoleAccountPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '24%',\r\n left: '25%',\r\n width: '700px',\r\n height: '430px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n\r\n\r\nexport function UserDropdown(props) {\r\n const dispatch = useDispatch();\r\n // let saveUserStoredStatus = useSelector((state) => state.adminViewReducer.saveUserStoredStatus);\r\n // console.log('saveUserStoredFilter',saveUserStoredStatus)\r\n const { data, value, id, className, name, onChange, editValue } = props;\r\n const [openData, setOpenData] = useState(false);\r\n const [Inputvalue, setInputValue] = useState(props.inputvalue);\r\n const [query, setQuery] = useState('');\r\n const filterQuery = options => {\r\n return options?.filter(option => {\r\n if (query === '') return option;\r\n else if (option[value]?.toLowerCase().includes(query.toLowerCase().trim()))\r\n return option;\r\n })\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if (!openData) setQuery('')\r\n }, [openData])\r\n\r\n useEffect(() => {\r\n setInputValue(editValue);\r\n }, [editValue, name, setInputValue]);\r\n\r\n const dropdownHandler = (event, option) => {\r\n setInputValue(option[value]);\r\n dispatch(saveUserStoredStatus(option[value]))\r\n setOpenData(!openData);\r\n props.addValueToQueue(name, option[value], option[id]);\r\n }\r\n const dropDownref = useRef();\r\n const inputValueRef = useRef();\r\n useEffect(() => {\r\n const handleClickOutside = (event) => {\r\n if (dropDownref.current && !dropDownref.current.contains(event.target)) {\r\n if (!openData)\r\n setOpenData(openData);\r\n }\r\n }\r\n document.addEventListener(\"click\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickOutside);\r\n };\r\n }, [dropDownref]);\r\n\r\n return (\r\n \r\n
\r\n
\r\n {\r\n setQuery(e.target.value);\r\n setOpenData(true);\r\n setInputValue(null)\r\n }}\r\n onClick={() => {\r\n setOpenData(!openData);\r\n }}\r\n placeholder='Select'\r\n />\r\n
{\r\n setOpenData(!openData);\r\n }}\r\n ref={dropDownref}\r\n >\r\n {!openData ? \"arrow\" :\r\n \"arrow\"}\r\n
\r\n
\r\n
\r\n {openData &&
    \r\n {filterQuery(data)?.map((option,i) =>\r\n (
  • {\r\n dropdownHandler(event, option)} \r\n }>\r\n \r\n {option?.Contractual === 'Yes' && }\r\n
  • )\r\n )}\r\n
}\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport { OnboardSelect } from '../../../Onboard/OnboardComponents/Dropdown/Select';\r\nimport MOCKDATA from './Tab.json';\r\nimport DatePickerHandle from '../../../Onboard/OnboardComponents/KeyboardDatePicker';\r\nimport filterIcon from './../../../../assets/images/Filter_Icon.png';\r\nimport moment from 'moment';\r\nimport { UserDropdown } from '../../AdminFirstPage/Users/UserModels';\r\n\r\n\r\n\r\n\r\nfunction formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n}\r\n\r\n\r\nexport function AccountAssignmentModal(props) {\r\n const [ValidFrom, setValidFrom] = useState(new Date(''));\r\n const [ValidTo, setValidTo] = useState(new Date(''));\r\n const editMode = props.editMode;\r\n const [addFormInfo, setAddFormInfo] = useState({})\r\n const [editFormInfo, setEditFormInfo] = useState({})\r\n\r\n useEffect(() => {\r\n if (editMode) {\r\n setValidFrom(props.editedInfo.value3);\r\n setValidTo(props.editedInfo.value4);\r\n let temp_Arr = {\r\n value1: props.editedInfo.value1,\r\n value2: props.editedInfo.value2,\r\n value3: (props.editedInfo.value3),\r\n value4: (props.editedInfo.value4),\r\n }\r\n setEditFormInfo(temp_Arr)\r\n }\r\n }, [])\r\n const addValueToAccount = (name, value, id) => {\r\n if (editMode) {\r\n const newFormData = { ...editFormInfo };\r\n newFormData[name] = value;\r\n setEditFormInfo(newFormData)\r\n }\r\n else {\r\n const newFormData = { ...addFormInfo };\r\n newFormData[name] = value;\r\n setAddFormInfo(newFormData)\r\n }\r\n }\r\n const ValidfromDateHandler = (date) => {\r\n setValidFrom(formatDate(date));\r\n addValueToAccount('value3', formatDate(date))\r\n }\r\n const ValidtoDateHandler = (date) => {\r\n setValidTo(formatDate(date));\r\n addValueToAccount('value4', formatDate(date))\r\n }\r\n\r\n const [validation, setValidation] = useState('');\r\n const onSubmitAccount = (event) => {\r\n event.preventDefault();\r\n let temp_arr;\r\n temp_arr = !editMode ? {\r\n value1: addFormInfo.value1,\r\n value2: addFormInfo.value2,\r\n value3: (addFormInfo.value3),\r\n value4: (addFormInfo.value4),\r\n } : {\r\n value2: editFormInfo.value2,\r\n value3: (editFormInfo.value3),\r\n value4: (editFormInfo.value4),\r\n }\r\n const accountRepeat = Object.values(props.accountData).some(x => x.value1 === addFormInfo.value1);\r\n const isEmptyInput = Object.values(temp_arr).some(x => (x === null || x === '' || x === undefined));\r\n const isValidDate = moment(temp_arr.value4).isAfter(temp_arr.value3)\r\n if (isEmptyInput) {\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ');\r\n }\r\n else if (!isValidDate) {\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date ');\r\n }\r\n else if (accountRepeat){\r\n setValidation('Account already exists. Please Select Different Account')\r\n }\r\n else {\r\n props.onAccountSubmitHandle(editMode ? editFormInfo : addFormInfo)\r\n setValidation('');\r\n setAddFormInfo(null);\r\n }\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
{editMode ? 'EDIT' : 'ADD'} ACCOUNT
\r\n
{validation}
\r\n
\r\n
\r\n
\r\n \r\n {!editMode ? :\r\n
{props.editedInfo.value1}
\r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n ValidfromDateHandler(date)}\r\n />\r\n ValidtoDateHandler(date)}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport function QueueAssignmentAddModal(props) {\r\n const [ValidFrom, setValidFrom] = useState(null);\r\n const [ValidTo, setValidTo] = useState(null);\r\n const editMode = props.editMode;\r\n const [addFormInfo, setAddFormInfo] = useState({})\r\n const [editFormInfo, setEditFormInfo] = useState({})\r\n\r\n \r\n const addValueToQueue = (name, value, id) => {\r\n if (editMode) {\r\n const newFormData = { ...editFormInfo };\r\n newFormData.value2 = value;\r\n let queue = props.data.find((a, i, arr) => a.QueueID === id)\r\n newFormData.value1 = queue?.Customer;\r\n newFormData.value3 = queue?.Language;\r\n setEditFormInfo(newFormData)\r\n }\r\n else {\r\n const newFormData = { ...addFormInfo };\r\n newFormData.value2 = value;\r\n let queue = props.data.find((a, i, arr) => a.QueueID === id)\r\n newFormData.value1 = queue?.Customer;\r\n newFormData.value3 = queue?.Language;\r\n setAddFormInfo(newFormData)\r\n }\r\n }\r\n\r\n const addDateToQueue = (name, value, id) => {\r\n if (editMode) {\r\n const newFormData = { ...editFormInfo };\r\n newFormData[name] = value;\r\n setEditFormInfo(newFormData)\r\n }\r\n else {\r\n const newFormData = { ...addFormInfo };\r\n newFormData[name] = value;\r\n setAddFormInfo(newFormData)\r\n }\r\n }\r\n const ValidFromDateHandler = (date) => {\r\n setValidFrom(formatDate(date));\r\n addDateToQueue('value4', formatDate(date))\r\n }\r\n const ValidToDateHandler = (date) => {\r\n setValidTo(formatDate(date));\r\n addDateToQueue('value5', formatDate(date))\r\n }\r\n\r\nconst [selectedData, setSelectedData] = useState()\r\n\r\nuseEffect(() => {\r\n \r\n setSelectedData(props.data)\r\n}, [props]);\r\n\r\nconst toggle =(opdata) => {\r\n const newData = [...selectedData];\r\n newData.map((itm, i) => {\r\n if (opdata?.QueueID === itm?.QueueID) {\r\n newData.splice(i, 1, {\r\n QueueID: itm.QueueID,\r\n QueueName: itm.QueueName,\r\n Customer:itm.Customer,\r\n Language:itm.Language,\r\n Selected: !itm.Selected\r\n });\r\n setSelectedData(newData);\r\n }})\r\n };\r\n\r\n const [checkedAll, setCheckedAll] = useState(false)\r\n\r\n const handleChange = event => {\r\n if (event.target.checked) {\r\n const newData = [...selectedData];\r\n newData.map((itm, i) => {\r\n newData.splice(i, 1, {\r\n QueueID: itm.QueueID,\r\n QueueName: itm.QueueName,\r\n Customer:itm.Customer,\r\n Language:itm.Language,\r\n Selected: true\r\n });\r\n setSelectedData(newData);\r\n })\r\n } else {\r\n const newData = [...selectedData];\r\n newData.map((itm, i) => {\r\n newData.splice(i, 1, {\r\n QueueID: itm.QueueID,\r\n QueueName: itm.QueueName,\r\n Customer:itm.Customer,\r\n Language:itm.Language,\r\n Selected: false\r\n });\r\n setSelectedData(newData);\r\n })\r\n }\r\n setCheckedAll(current => !current);\r\n };\r\n\r\nconsole.log('selectedData',selectedData)\r\n\r\n const [validation, setValidation] = useState('');\r\n\r\n const onSubmitAccount = (event) => {\r\n event.preventDefault();\r\n\r\n let DispQueues = selectedData.filter((el) =>{\r\n return el.Selected === true});\r\n let Queues = DispQueues.map(queue => {\r\n return {\r\n value1:queue.Customer,\r\n value2:queue.QueueName,\r\n value3:queue.Language,\r\n value4: (addFormInfo.value4),\r\n value5: (addFormInfo.value5),\r\n }\r\n });\r\n\r\n console.log('Queues',Queues,DispQueues)\r\n let temp_arr;\r\n temp_arr = !editMode ? {\r\n value2: addFormInfo.value2,\r\n value4: (addFormInfo.value4),\r\n value5: (addFormInfo.value5),\r\n } : {\r\n value2: editFormInfo.value2,\r\n value4: (editFormInfo.value4),\r\n value5: (editFormInfo.value5),\r\n }\r\n // const queueRepeat = Object.values(props.queueData).some(x => x.value2 === addFormInfo.value2);\r\n // const isEmptyInput = Object.values(temp_arr).some(x => (x === null || x === '' || x === undefined));\r\n const isValidDate = moment(temp_arr.value5).isAfter(temp_arr.value4)\r\n // if (isEmptyInput) {\r\n // setValidation('Please Ensure you filled all the inputs with \" * \" mark ');\r\n // }\r\n if (!isValidDate) {\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date ');\r\n }\r\n // else if (queueRepeat){\r\n // setValidation('Queue already exists. Please Select Different Queue')\r\n // }\r\n else {\r\n props.onAccountSubmitHandle(editMode ? editFormInfo : Queues)\r\n setValidation('');\r\n setAddFormInfo(null);\r\n }\r\n }\r\n\r\n const Type = [\r\n {\r\n Type: \"All Queues\",\r\n id: \"1\"\r\n }, {\r\n Type: \"Selected Queues\",\r\n id: \"2\"\r\n }\r\n ]\r\n\r\n const [queues, setqueues] = useState();\r\n const addValueToStatus = (name, value) => {\r\n const newFormData = { ...queues };\r\n if (name !== 'Select') {\r\n newFormData[name] = value;\r\n setqueues(newFormData)\r\n \r\n }\r\n }\r\n console.log('queues',queues?.Type)\r\n\r\n const QueueDataHandler = () =>{\r\n if(queues?.Type === 'Selected Queues'){\r\n let DispQueues = selectedData.filter((el) =>{\r\n return el.Selected === true});\r\n return DispQueues\r\n }\r\n else{\r\n return selectedData \r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {editMode ? 'EDIT' : 'ADD'} Queue\r\n
\r\n
{validation}
\r\n
\r\n
\r\n
\r\n ValidFromDateHandler(date)}\r\n />\r\n ValidToDateHandler(date)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {QueueDataHandler()?.length === 0 ?
\r\n No records found for Selected filter\r\n
:\r\n \r\n
\r\n
\r\n \r\n {QueueDataHandler()?.map((item, index) => (\r\n
\r\n \r\n toggle(item)}\r\n />\r\n \r\n
\r\n ))\r\n }\r\n \r\n \r\n
\r\n
}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport function QueueAssignmentModal(props) {\r\n const [ValidFrom, setValidFrom] = useState(new Date(''));\r\n const [ValidTo, setValidTo] = useState(new Date(''));\r\n const editMode = props.editMode;\r\n const [addFormInfo, setAddFormInfo] = useState({})\r\n const [editFormInfo, setEditFormInfo] = useState({})\r\n\r\n useEffect(() => {\r\n if (editMode) {\r\n setValidFrom(props.editedInfo.value4);\r\n setValidTo(props.editedInfo.value5);\r\n let temp_Arr = {\r\n value1: props.editedInfo.value1,\r\n value2: props.editedInfo.value2,\r\n value3: (props.editedInfo.value3),\r\n value4: (props.editedInfo.value4),\r\n value5: (props.editedInfo.value5),\r\n }\r\n setEditFormInfo(temp_Arr)\r\n }\r\n }, [])\r\n const addValueToQueue = (name, value, id) => {\r\n if (editMode) {\r\n const newFormData = { ...editFormInfo };\r\n newFormData.value2 = value;\r\n let queue = props.data.find((a, i, arr) => a.QueueID === id)\r\n newFormData.value1 = queue?.Customer;\r\n newFormData.value3 = queue?.Language;\r\n setEditFormInfo(newFormData)\r\n }\r\n else {\r\n const newFormData = { ...addFormInfo };\r\n newFormData.value2 = value;\r\n let queue = props.data.find((a, i, arr) => a.QueueID === id)\r\n newFormData.value1 = queue?.Customer;\r\n newFormData.value3 = queue?.Language;\r\n setAddFormInfo(newFormData)\r\n }\r\n }\r\n\r\n const addDateToQueue = (name, value, id) => {\r\n if (editMode) {\r\n const newFormData = { ...editFormInfo };\r\n newFormData[name] = value;\r\n setEditFormInfo(newFormData)\r\n }\r\n else {\r\n const newFormData = { ...addFormInfo };\r\n newFormData[name] = value;\r\n setAddFormInfo(newFormData)\r\n }\r\n }\r\n const ValidFromDateHandler = (date) => {\r\n setValidFrom(formatDate(date));\r\n addDateToQueue('value4', formatDate(date))\r\n }\r\n const ValidToDateHandler = (date) => {\r\n setValidTo(formatDate(date));\r\n addDateToQueue('value5', formatDate(date))\r\n }\r\n const [validation, setValidation] = useState('');\r\n\r\n const onSubmitAccount = (event) => {\r\n event.preventDefault();\r\n let temp_arr;\r\n temp_arr = !editMode ? {\r\n value2: addFormInfo.value2,\r\n value4: (addFormInfo.value4),\r\n value5: (addFormInfo.value5),\r\n } : {\r\n value2: editFormInfo.value2,\r\n value4: (editFormInfo.value4),\r\n value5: (editFormInfo.value5),\r\n }\r\n const queueRepeat = Object.values(props.queueData).some(x => x.value2 === addFormInfo.value2);\r\n const isEmptyInput = Object.values(temp_arr).some(x => (x === null || x === '' || x === undefined));\r\n const isValidDate = moment(temp_arr.value5).isAfter(temp_arr.value4)\r\n if (isEmptyInput) {\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ');\r\n }\r\n else if (!isValidDate) {\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date ');\r\n }\r\n else if (queueRepeat){\r\n setValidation('Queue already exists. Please Select Different Queue')\r\n }\r\n else {\r\n props.onAccountSubmitHandle(editMode ? editFormInfo : addFormInfo)\r\n setValidation('');\r\n setAddFormInfo(null);\r\n }\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {editMode ? 'EDIT' : 'ADD'} Queue\r\n
\r\n
{validation}
\r\n
\r\n
\r\n
\r\n \r\n {editMode ?
{editFormInfo.value2} (Language : {editFormInfo.value3})
: }\r\n
\r\n
\r\n\r\n
\r\n ValidFromDateHandler(date)}\r\n />\r\n ValidToDateHandler(date)}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport function IDAssignmentModal(props) {\r\n const [ValidFrom, setValidFrom] = useState(new Date(''));\r\n const [ValidTo, setValidTo] = useState(new Date(''));\r\n const editMode = props.editMode;\r\n const [addFormInfo, setAddFormInfo] = useState({})\r\n const [editFormInfo, setEditFormInfo] = useState({})\r\n\r\n useEffect(() => {\r\n if (editMode) {\r\n setValidFrom(props.editedInfo.value4);\r\n setValidTo(props.editedInfo.value5);\r\n let temp_Arr = {\r\n value1: props.editedInfo.value1,\r\n value2: props.editedInfo.value2,\r\n value3: (props.editedInfo.value3),\r\n value4: (props.editedInfo.value4),\r\n value5: (props.editedInfo.value5),\r\n }\r\n setEditFormInfo(temp_Arr)\r\n }\r\n }, [])\r\n const addValueToID = (name, value, id) => {\r\n if (editMode) {\r\n const newFormData = { ...editFormInfo };\r\n newFormData[name] = value;\r\n setEditFormInfo(newFormData)\r\n }\r\n else {\r\n const newFormData = { ...addFormInfo };\r\n newFormData[name] = value;\r\n setAddFormInfo(newFormData)\r\n }\r\n }\r\n const handleAddFormValue = (event) => {\r\n if (editMode) {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...editFormInfo };\r\n newFormData[fieldName] = fieldValue;\r\n setEditFormInfo(newFormData);\r\n }\r\n else {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...addFormInfo };\r\n newFormData[fieldName] = fieldValue;\r\n setAddFormInfo(newFormData);\r\n }\r\n }\r\n const ValidfromDateHandler = (date) => {\r\n setValidFrom(formatDate(date));\r\n addValueToID('value4', formatDate(date))\r\n }\r\n const ValidtoDateHandler = (date) => {\r\n setValidTo(formatDate(date));\r\n addValueToID('value5', formatDate(date))\r\n }\r\n\r\n const [validation, setValidation] = useState('');\r\n const onSubmitAccount = (event) => {\r\n event.preventDefault();\r\n let temp_arr;\r\n temp_arr = !editMode ? {\r\n value1: addFormInfo.value1,\r\n value2: addFormInfo.value2,\r\n value3: (addFormInfo.value3),\r\n value4: (addFormInfo.value4),\r\n value5: (addFormInfo.value5)\r\n } : {\r\n value1: editFormInfo.value1,\r\n value2: editFormInfo.value2,\r\n value3: (editFormInfo.value3),\r\n value4: (editFormInfo.value4),\r\n value5: (editFormInfo.value5)\r\n }\r\n console.log('idrepeat',addFormInfo,props.IDdata)\r\n const IDaccountRepeat = Object.values(props.IDdata).some(x => x.value1 === addFormInfo.value1 && x.value3 === addFormInfo.value3);\r\n const isEmptyInput = Object.values(temp_arr).some(x => (x === null || x === '' || x === undefined));\r\n const isValidDate = moment(temp_arr.value5).isAfter(temp_arr.value4)\r\n if (isEmptyInput) {\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ');\r\n }\r\n else if (!isValidDate) {\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date ');\r\n }\r\n else if (IDaccountRepeat){\r\n setValidation('Account already exists with the selected ID. Please Use the different ID.')\r\n }\r\n else {\r\n props.onAccountSubmitHandle(editMode ? editFormInfo : addFormInfo)\r\n setValidation('');\r\n setAddFormInfo(null);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
{editMode ? 'EDIT' : 'ADD'} ID
\r\n
{validation}
\r\n
\r\n
\r\n
\r\n \r\n {editMode ?
{editFormInfo?.value1}
\r\n : }\r\n
\r\n
\r\n \r\n {editMode ?
{editFormInfo?.value2}
\r\n : }\r\n
\r\n
\r\n
\r\n
\r\n \r\n {editMode ?
{editFormInfo?.value3}
\r\n : }\r\n
\r\n
\r\n ValidfromDateHandler(date)}\r\n />\r\n ValidtoDateHandler(date)}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { OnboardSelect } from '../../../Onboard/OnboardComponents/Dropdown/Select';\r\nimport moment from 'moment';\r\nimport DatePickerHandle from '../../../Onboard/OnboardComponents/KeyboardDatePicker';\r\n\r\nfunction formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n}\r\n\r\n\r\nexport function SLAAssignmentModal(props) {\r\n const [ValidFrom, setValidFrom] = useState(new Date(''));\r\n const [ValidTo, setValidTo] = useState(new Date(''));\r\n const editMode = props.editMode;\r\n const [addFormInfo, setAddFormInfo] = useState({})\r\n const [editFormInfo, setEditFormInfo] = useState({});\r\n const [placeholder, setPlaceholder] = useState('Example : 38.45 %');\r\n const [selectedtype, setSelectedType] = useState('');\r\n const [description, setDescription] = useState('');\r\n const [AccountsSLA, setAccountsSLA] = useState([])\r\n\r\n const [AccountSLAID, setAccountSLAID] = useState(null)\r\n useEffect(() => {\r\n if (editMode) {\r\n setValidFrom(props.editedInfo.value6);\r\n setValidTo(props.editedInfo.value7);\r\n let temp_Arr = {\r\n value1: props.editedInfo.value1,\r\n value2: props.editedInfo.value2,\r\n value3: (props.editedInfo.value3),\r\n value4: (props.editedInfo.value4),\r\n value5: (props.editedInfo.value5),\r\n value6: (props.editedInfo?.value6),\r\n value7: (props.editedInfo?.value7),\r\n value8: props.editedInfo?.value8\r\n }\r\n setEditFormInfo(temp_Arr);\r\n console.log(props.data,)\r\n let SLA = props.SLATemplatesForEdit.find((a, i, arr) => a?.['template Name'] === props.editedInfo.value3)\r\n console.log(SLA)\r\n setDescription(SLA?.description)\r\n setAccountSLAID(SLA?.accountSLAID)\r\n formatTypeManager(SLA?.formatType)\r\n }\r\n }, []);\r\n\r\n\r\n\r\n const formatTypeManager = (value) => {\r\n if (!isNaN(value)) {\r\n setPlaceholder('Example: 000'); setSelectedType('Number');\r\n }\r\n else if (value.includes('%')) {\r\n setPlaceholder('Example : 38.56 %'); setSelectedType('Percentage');\r\n }\r\n else if (value.includes(':')) {\r\n setPlaceholder('HH : MM : SS'); setSelectedType('Time');\r\n }\r\n }\r\n\r\n const addValueToTemplate = (name, value, id) => {\r\n const newFormData = { ...addFormInfo };\r\n newFormData.value1 = value;\r\n let accounts = props.data.filter((a, i, arr) => a.account === value)\r\n setAccountsSLA(accounts)\r\n setAddFormInfo(newFormData)\r\n }\r\n\r\n\r\n const addValueToSLA = (name, value, id) => {\r\n const newFormData = { ...addFormInfo };\r\n newFormData.value3 = value;\r\n let SLA = props.data.find((a, i, arr) => a.accountSLAID === id)\r\n newFormData.value2 = SLA?.['slA/KPI'];\r\n setDescription(SLA?.description)\r\n formatTypeManager(SLA?.formatType)\r\n setAccountSLAID(SLA?.accountSLAID)\r\n setAddFormInfo(newFormData)\r\n }\r\n\r\n const handleAddFormSLA = event => {\r\n if (editMode) {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...editFormInfo };\r\n newFormData[fieldName] = fieldValue;\r\n setEditFormInfo(newFormData);\r\n }\r\n else {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...addFormInfo };\r\n newFormData[fieldName] = fieldValue;\r\n setAddFormInfo(newFormData);\r\n }\r\n }\r\n\r\n const addDateToSLA = (name, value, id) => {\r\n if (editMode) {\r\n const newFormData = { ...editFormInfo };\r\n newFormData[name] = value;\r\n setEditFormInfo(newFormData)\r\n }\r\n else {\r\n const newFormData = { ...addFormInfo };\r\n newFormData[name] = value;\r\n setAddFormInfo(newFormData)\r\n }\r\n }\r\n const ValidFromDateHandler = (date) => {\r\n setValidFrom(formatDate(date));\r\n addDateToSLA('value6', formatDate(date))\r\n }\r\n const ValidToDateHandler = (date) => {\r\n setValidTo(formatDate(date));\r\n addDateToSLA('value7', formatDate(date))\r\n }\r\n const [validation, setValidation] = useState('');\r\n\r\n const FormatTypeValidation = (type, value) => {\r\n switch (type) {\r\n case 'Percentage': {\r\n return value?.match(/^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$/) === null && value?.includes('%');\r\n }\r\n case 'Time': {\r\n return moment(value, ['HH:mm:ss', 'HH:mm', 'h:mm', 'h:mm A', 'hh:mm A', 'HH:MM:SS A'], true).isValid();\r\n }\r\n case 'Number': {\r\n return !isNaN(value);\r\n }\r\n default: { }\r\n }\r\n }\r\n const onSubmitAccount = (event) => {\r\n event.preventDefault();\r\n const temp_Arr = !editMode ? {\r\n value1: addFormInfo.value1,\r\n value2: addFormInfo.value2,\r\n value3: addFormInfo.value3,\r\n value4: (addFormInfo.value4),\r\n value5: (addFormInfo.value5),\r\n value6: (addFormInfo.value6),\r\n value7: (addFormInfo.value7)\r\n } : {\r\n value1: editFormInfo.value1,\r\n value2: editFormInfo.value2,\r\n value3: editFormInfo.value3,\r\n value4: (editFormInfo.value4),\r\n value5: (editFormInfo.value5),\r\n value6: (editFormInfo.value6),\r\n value7: (editFormInfo.value7)\r\n }\r\n const slaRepeat = Object.values(props.SLAData).some(x => x.value3 === addFormInfo.value3);\r\n const isEmpty = Object.values(temp_Arr).some(temp => (temp === null || temp === '' || temp === undefined));\r\n const isValidType = FormatTypeValidation(selectedtype, temp_Arr.value4)\r\n const isValidDate = moment(temp_Arr.value7).isAfter(temp_Arr.value6)\r\n const isWeightingValidated = temp_Arr.value5?.match(/^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$/) === null && temp_Arr.value5?.includes('%');\r\n if (isEmpty) {\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n }\r\n else if (!isValidDate) {\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date ')\r\n }\r\n else if (!isValidType) {\r\n setValidation('Please ensure Target type entry is relevant to the format selected ')\r\n }\r\n else if (!isWeightingValidated) {\r\n setValidation('Please ensure Weighting entry is relevant to the \"%\" format')\r\n }\r\n else if (slaRepeat){\r\n setValidation('Item Name already exists.Please Select Different Item Name')\r\n }\r\n else {\r\n props.onAccountSubmitHandle(editMode ? editFormInfo : addFormInfo, AccountSLAID)\r\n setValidation('');\r\n setAddFormInfo(null);\r\n }\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
{editMode ? 'EDIT' : 'ADD'} SLA/KPI
\r\n
{validation}
\r\n
\r\n
\r\n
\r\n \r\n {editMode ?
{editFormInfo?.value1}
\r\n : }\r\n
\r\n
\r\n \r\n {editMode ?
{editFormInfo?.value3}
:\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n {editMode ? :\r\n }\r\n
\r\n
\r\n \r\n {editMode ? : }\r\n
\r\n
\r\n\r\n
\r\n ValidFromDateHandler(date)}\r\n />\r\n ValidToDateHandler(date)}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
{description}
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport function VolumeAssignmentModal(props) {\r\n const [ValidFrom, setValidFrom] = useState(new Date(''));\r\n const [ValidTo, setValidTo] = useState(new Date(''));\r\n const editMode = props.editMode;\r\n const [addFormInfo, setAddFormInfo] = useState({})\r\n const [editFormInfo, setEditFormInfo] = useState({});\r\n const [placeholder, setPlaceholder] = useState('Example : 38.45 %');\r\n const [selectedtype, setSelectedType] = useState('');\r\n const [description, setDescription] = useState('');\r\n const [AccountsVolumetric, setAccountsVolumetric] = useState([])\r\n\r\n const [AccountVolumeID, setAccountVolumeID] = useState(null)\r\n useEffect(() => {\r\n if (editMode) {\r\n setValidFrom(props.editedInfo.value6);\r\n setValidTo(props.editedInfo.value7);\r\n let temp_Arr = {\r\n value1: props.editedInfo.value1,\r\n value2: props.editedInfo.value2,\r\n value3: (props.editedInfo.value3),\r\n value4: (props.editedInfo.value4),\r\n value5: (props.editedInfo.value5),\r\n value6: (props.editedInfo?.value6),\r\n value7: (props.editedInfo?.value7),\r\n value8: props.editedInfo?.value8\r\n }\r\n setEditFormInfo(temp_Arr);\r\n let SLA = props.VolumeTemplatesForEdit.find((a, i, arr) => a?.['template Name'] === props.editedInfo.value3)\r\n console.log('sla::::::::::',SLA)\r\n setDescription(SLA?.description)\r\n setAccountVolumeID(SLA?.accountVoumetricID)\r\n formatTypeManager(SLA?.formatType)\r\n }\r\n }, []);\r\n\r\n\r\n\r\n const formatTypeManager = (value) => {\r\n if (!isNaN(value)) {\r\n setPlaceholder('Example: 000'); setSelectedType('Number');\r\n }\r\n else if (value.includes('%')) {\r\n setPlaceholder('Example : 38.56 %'); setSelectedType('Percentage');\r\n }\r\n else if (value.includes(':')) {\r\n setPlaceholder('HH : MM : SS'); setSelectedType('Time');\r\n }\r\n }\r\n\r\n const addValueToTemplate = (name, value, id) => {\r\n const newFormData = { ...addFormInfo };\r\n newFormData.value1 = value;\r\n let accounts = props.VolumeTemplates.filter((a, i, arr) => a.account === value)\r\n setAccountsVolumetric(accounts)\r\n setAddFormInfo(newFormData)\r\n }\r\n\r\n\r\n const addValueToSLA = (name, value, id) => {\r\n const newFormData = { ...addFormInfo };\r\n newFormData.value3 = value;\r\n let SLA = props.VolumeTemplates.find((a, i, arr) => a.accountVoumetricID === id)\r\n newFormData.value2 = SLA?.['slA/KPI'];\r\n setDescription(SLA?.description)\r\n formatTypeManager(SLA?.formatType)\r\n setAccountVolumeID(SLA?.accountVoumetricID)\r\n setAddFormInfo(newFormData)\r\n }\r\n\r\n const handleAddFormSLA = event => {\r\n if (editMode) {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...editFormInfo };\r\n newFormData[fieldName] = fieldValue;\r\n setEditFormInfo(newFormData);\r\n }\r\n else {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...addFormInfo };\r\n newFormData[fieldName] = fieldValue;\r\n setAddFormInfo(newFormData);\r\n }\r\n }\r\n\r\n const addDateToSLA = (name, value, id) => {\r\n if (editMode) {\r\n const newFormData = { ...editFormInfo };\r\n newFormData[name] = value;\r\n setEditFormInfo(newFormData)\r\n }\r\n else {\r\n const newFormData = { ...addFormInfo };\r\n newFormData[name] = value;\r\n setAddFormInfo(newFormData)\r\n }\r\n }\r\n const ValidFromDateHandler = (date) => {\r\n setValidFrom(formatDate(date));\r\n addDateToSLA('value6', formatDate(date))\r\n }\r\n const ValidToDateHandler = (date) => {\r\n setValidTo(formatDate(date));\r\n addDateToSLA('value7', formatDate(date))\r\n }\r\n const [validation, setValidation] = useState('');\r\n\r\n const FormatTypeValidation = (type, value) => {\r\n switch (type) {\r\n case 'Percentage': {\r\n return value?.match(/^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$/) === null && value?.includes('%');\r\n }\r\n case 'Time': {\r\n return moment(value, ['HH:mm:ss', 'HH:mm', 'h:mm', 'h:mm A', 'hh:mm A', 'HH:MM:SS A'], true).isValid();\r\n }\r\n case 'Number': {\r\n return !isNaN(value);\r\n }\r\n default: { }\r\n }\r\n }\r\n const onSubmitAccount = (event) => {\r\n event.preventDefault();\r\n const temp_Arr = !editMode ? {\r\n value1: addFormInfo.value1,\r\n value2: addFormInfo.value2,\r\n value3: addFormInfo.value3,\r\n value4: (addFormInfo.value4),\r\n value5: (addFormInfo.value5),\r\n value6: (addFormInfo.value6),\r\n value7: (addFormInfo.value7)\r\n } : {\r\n value1: editFormInfo.value1,\r\n value2: editFormInfo.value2,\r\n value3: editFormInfo.value3,\r\n value4: (editFormInfo.value4),\r\n value5: (editFormInfo.value5),\r\n value6: (editFormInfo.value6),\r\n value7: (editFormInfo.value7)\r\n }\r\n const volumeRepeat = Object.values(props.VolumeData).some(x => x.value3 === addFormInfo.value3);\r\n const isEmpty = Object.values(temp_Arr).some(temp => (temp === null || temp === '' || temp === undefined));\r\n const isValidType = FormatTypeValidation(selectedtype, temp_Arr.value4)\r\n const isValidDate = moment(temp_Arr.value7).isAfter(temp_Arr.value6)\r\n const isWeightingValidated = temp_Arr.value5?.match(/^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$/) === null && temp_Arr.value5?.includes('%');\r\n if (isEmpty) {\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n }\r\n else if (!isValidDate) {\r\n setValidation('Please ensure \"Valid to\" date is placed after \"Valid from\" date ')\r\n }\r\n else if (!isValidType) {\r\n setValidation('Please ensure Target type entry is relevant to the format selected ')\r\n }\r\n else if (!isWeightingValidated) {\r\n setValidation('Please ensure Weighting entry is relevant to the \"%\" format')\r\n }\r\n else if (volumeRepeat){\r\n setValidation('Item Name already exists.Please Select Different Item Name')\r\n }\r\n else {\r\n console.log(AccountVolumeID)\r\n props.onAccountSubmitHandle(editMode ? editFormInfo : addFormInfo, AccountVolumeID)\r\n setValidation('');\r\n setAddFormInfo(null);\r\n }\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
{editMode ? 'EDIT' : 'ADD'} Volumetrics
\r\n
{validation}
\r\n
\r\n
\r\n
\r\n \r\n {editMode ?
{editFormInfo?.value1}
\r\n : }\r\n
\r\n
\r\n \r\n {editMode ?
{editFormInfo?.value3}
:\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n {editMode ? :\r\n }\r\n
\r\n
\r\n \r\n {editMode ? : }\r\n
\r\n
\r\n\r\n
\r\n ValidFromDateHandler(date)}\r\n />\r\n ValidToDateHandler(date)}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
{description}
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}","import ReactModal from \"react-modal\";\r\n\r\nReactModal.setAppElement('#root')\r\nexport function QueueassignPopup({ isOpen, setShowModal,children }) {\r\n return (<>\r\n
\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '12em',\r\n left: '30em',\r\n width: '600px',\r\n height: '340px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n // position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport function QueueassignAddPopup({ isOpen, setShowModal,children }) {\r\n return (<>\r\n
\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '10em',\r\n left: '30em',\r\n width: '650px',\r\n height: '400px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n // position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport function SLAModalPopup({ isOpen, setShowModal,children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '10em',\r\n left: '30em',\r\n width: '660px',\r\n height: '510px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}","import React, { Fragment, useEffect, useState } from 'react';\r\nimport './EmployeeTab.css';\r\nimport AddAccount_Icon from '../../../../assets/images/AddAccount_Icon.png';\r\nimport Add_Queue_Icon from '../../../../assets/images/Add_Queue_Icon.png';\r\nimport Add_SLA_KPI_Icon from '../../../../assets/images/Add_SLA_KPI_Icon.png';\r\nimport AddID_Icon from '../../../../assets/images/AddID_Icon.png';\r\nimport Inactive_Img from \"../../../../assets/admin-images/Inactive_Indication_Icon.png\";\r\nimport Add_Volumetric_Icon from \"../../../../assets/admin-images/Add_Volumetric_Icon.png\";\r\nimport Search_Icon from \"../../../../assets/images/Search_Icon.png\"\r\nimport Edit_Icon from \"../../../../assets/images/Edit_Icon.png\"\r\nimport MOCKDATA from './Tab.json'\r\nimport { AccountAssignmentModal, IDAssignmentModal, QueueAssignmentAddModal, QueueAssignmentModal } from './QueueAssignmentModal';\r\nimport { SLAAssignmentModal, VolumeAssignmentModal } from './SLAAssignmentModel';\r\nimport moment from 'moment';\r\nimport { QueueassignAddPopup, QueueassignPopup, SLAModalPopup } from './ModelPopUps';\r\nimport TooltipHandler from '../../../Onboard/OnboardComponents/TooltipHandler';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { getAccountSLA, getAccountSLAForEdit, getIDAccounts, getQueueData, getSLAAccounts, getStaffAccounts } from '../../../../actions/Administration/staffAdmin.action';\r\nimport { getVolumeTemplates, getVolumeTemplatesForEdit } from './../../../../actions/Administration/staffAdmin.action';\r\nimport { getRoleBasedView } from '../../../../actions/Administration/admin.action';\r\n\r\n\r\nfunction EmployeeTabHandler(props) {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const AccountsInfo = useSelector((state) => state.staffAdminReducer.staffAccounts);\r\n const queueLists = useSelector((state) => state.staffAdminReducer.queueData);\r\n const SLATemplates = useSelector((state) => state.staffAdminReducer.accountSLA);\r\n const VolumeTemplates = useSelector((state) => state.staffAdminReducer.volumeTemplates);\r\n const SLATemplatesForEdit = useSelector((state) => state.staffAdminReducer.accountSLAForEdit);\r\n const VolumeTemplatesForEdit = useSelector((state) => state.staffAdminReducer.volumeTemplatesForEdit);\r\n console.log('create', VolumeTemplates, 'edit', VolumeTemplatesForEdit)\r\n const supervisorInfo = useSelector((state) => state.staffAdminReducer.supervisorInfo);\r\n const idAccounts = useSelector((state) => state.staffAdminReducer.idAccounts);\r\n const slaAccounts = useSelector((state) => state.staffAdminReducer.slaAccounts);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n useEffect(() => {\r\n dispatch(getStaffAccounts(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID));\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n\r\n const [AddTab, setAddTab] = useState('Add Account');\r\n const [imgSrc, setImgSrc] = useState(AddAccount_Icon);\r\n const [tab, setTab] = useState('account');\r\n const [editRowID, setEditRowID] = useState(null);\r\n const [editFormInfo, setEditFormInfo] = useState({});\r\n const [searchColumns, setSearchColumns] = useState([\r\n 'value1', 'value2'\r\n ]);\r\n const [accountData, setAccountData] = useState([]);\r\n const [queueData, setQueueData] = useState([]);\r\n const [IDdata, setIDData] = useState([]);\r\n const [SLAData, setSLAData] = useState([]);\r\n const [VolumeData, setVolumeData] = useState([]);\r\n const [headerData, setHeaderData] = useState(MOCKDATA.ACCOUNT_ASSIGNMENTS.headers)\r\n const [VolumeID, setVolumeID] = useState(null)\r\n const [endDateKey, setEndDateKey] = useState('');\r\n\r\n const [slashow, setslaShow] = useState(false)\r\n\r\n useEffect(() => {\r\n switch (props.tab) {\r\n case 'account': {\r\n setImgSrc(AddAccount_Icon)\r\n setAddTab('Add Account')\r\n setTab('account');\r\n setSearchColumns(['value1', 'value2'])\r\n setHeaderData(MOCKDATA.ACCOUNT_ASSIGNMENTS.headers);\r\n dispatch(getStaffAccounts(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n setAccountData(props.StaffAdminData)\r\n setEndDateKey('value4');\r\n setslaShow(false);\r\n break;\r\n }\r\n case 'queue': {\r\n setImgSrc(Add_Queue_Icon)\r\n setAddTab('Add Queue')\r\n setTab('queue');\r\n setHeaderData(MOCKDATA.QUEUE_ASSIGNMENTS.headers);\r\n dispatch(getQueueData(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n setQueueData(props.StaffAdminData)\r\n setEndDateKey('value5');\r\n setslaShow(false);\r\n break;\r\n }\r\n\r\n case 'assign': {\r\n setImgSrc(AddID_Icon);\r\n setAddTab('Add ID');\r\n setTab('assign');\r\n setHeaderData(MOCKDATA.ID_ASSIGNMENTS.headers);\r\n setSearchColumns(['value1', 'value2', 'value3']);\r\n dispatch(getIDAccounts(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n setIDData(props.StaffAdminData)\r\n setEndDateKey('value5');\r\n setslaShow(false);\r\n break;\r\n }\r\n\r\n case 'slakpi': {\r\n setImgSrc(Add_SLA_KPI_Icon)\r\n setAddTab('Add SLA/KPI')\r\n setTab('slakpi');\r\n setHeaderData(MOCKDATA.SLA_ASSIGNMENTS.headers);\r\n setSearchColumns(['value1', 'value2', 'value3', 'value4'])\r\n dispatch(getSLAAccounts(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getAccountSLA(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getAccountSLAForEdit(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n setSLAData(props.StaffAdminData)\r\n setEndDateKey('value7');\r\n setslaShow(true);\r\n break;\r\n }\r\n\r\n case 'volume': {\r\n setImgSrc(Add_Volumetric_Icon)\r\n setAddTab('Add Volumetric')\r\n setTab('volume');\r\n setHeaderData(MOCKDATA.VOLUME_ASSIGNMENTS.headers);\r\n setSearchColumns(['value1', 'value2', 'value3', 'value4'])\r\n dispatch(getSLAAccounts(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getVolumeTemplates(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getVolumeTemplatesForEdit(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n setVolumeData(props.StaffAdminData)\r\n setEndDateKey('value7');\r\n setslaShow(true);\r\n break;\r\n }\r\n default: { }\r\n }\r\n }, [props.tab]);\r\n\r\n\r\n\r\n\r\n const dispatchObjHandle = () => {\r\n switch (props.tab) {\r\n case 'account': {\r\n let temp = [...accountData];\r\n let arr2 = temp.map(arr => (\r\n {\r\n Customer: arr.value1,\r\n CustomerType: arr.value2,\r\n ValidFrom: arr.value3,\r\n ValidTo: arr.value4,\r\n ID: typeof arr.ID === 'string' ? '' : arr.ID\r\n }\r\n ))\r\n let arr1 = [{\r\n EmployeeID: supervisorInfo.EmployeeID,\r\n SupEmployeeID: supervisorInfo.SupervisorID,\r\n Details: arr2\r\n }]\r\n return arr1;\r\n }\r\n case 'queue': {\r\n let temp = [...queueData];\r\n let arr2 = temp.map(arr => (\r\n {\r\n Customer: arr.value1,\r\n QueueName: arr.value2,\r\n Language: arr.value3,\r\n ValidFrom: arr.value4,\r\n ValidTo: arr.value5,\r\n ID: typeof arr.ID === 'string' ? '' : arr.ID\r\n }\r\n ))\r\n let arr1 = [{\r\n EmployeeID: supervisorInfo.EmployeeID,\r\n SupEmployeeID: supervisorInfo.SupervisorID,\r\n Details: arr2\r\n }]\r\n return arr1;\r\n }\r\n case 'assign': {\r\n let temp = [...IDdata];\r\n let arr2 = temp.map(arr => (\r\n {\r\n Customer: arr.value1,\r\n IDAssigned: arr.value2,\r\n SystemName: arr.value3,\r\n ValidFrom: arr.value4,\r\n ValidTo: arr.value5,\r\n ID: typeof arr.ID === 'string' ? '' : arr.ID\r\n }\r\n ))\r\n let arr1 = [{\r\n EmployeeID: supervisorInfo.EmployeeID,\r\n SupEmployeeID: supervisorInfo.SupervisorID,\r\n Details: arr2\r\n }]\r\n return arr1;\r\n }\r\n case 'slakpi': {\r\n let temp = [...SLAData];\r\n let arr2 = temp.map(arr => (\r\n {\r\n Customer: arr.value1,\r\n Target: arr.value4,\r\n Weighting: arr.value5,\r\n ValidFrom: arr.value6,\r\n ValidTo: arr.value7,\r\n AccountSLAID: arr.value8,\r\n ID: typeof arr.ID === 'string' ? '' : arr.ID\r\n }\r\n ))\r\n let arr1 = [{\r\n EmployeeID: supervisorInfo.EmployeeID,\r\n SupEmployeeID: supervisorInfo.SupervisorID,\r\n Details: arr2\r\n }]\r\n console.log('posting data sla', arr1)\r\n return arr1;\r\n }\r\n case 'volume': {\r\n console.log('VolumeData', VolumeData)\r\n let temp = [...VolumeData];\r\n let arr2 = temp.map(arr => (\r\n {\r\n Customer: arr.value1,\r\n Target: arr.value4,\r\n Weighting: arr.value5,\r\n ValidFrom: arr.value6,\r\n ValidTo: arr.value7,\r\n AccountVolumetricID: arr.value8,\r\n ID: typeof arr.ID === 'string' ? '' : arr.ID\r\n }\r\n ))\r\n let arr1 = [{\r\n EmployeeID: supervisorInfo.EmployeeID,\r\n SupEmployeeID: supervisorInfo.SupervisorID,\r\n Details: arr2\r\n }]\r\n console.log('posting data', arr1)\r\n return arr1;\r\n }\r\n default: { }\r\n }\r\n }\r\n\r\n const onAccountSubmitHandle = (formData, slaId) => {\r\n switch (props.tab) {\r\n case 'account': {\r\n const newAccount = {\r\n ID: (Math.random() * 10000).toString(),\r\n value1: formData.value1,\r\n value2: formData.value2,\r\n value3: (formData.value3),\r\n value4: (formData.value4),\r\n }\r\n const newAccounts = [newAccount, ...accountData]\r\n setAccountData(newAccounts);\r\n setShowaddAccountModal(false);\r\n dispatch(getStaffAccounts(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID));\r\n break;\r\n };\r\n case 'queue': {\r\n console.log('formData', formData)\r\n const newQueue = formData.map(queue => {\r\n return {\r\n ID: (Math.random() * 10000).toString(),\r\n value1: queue.value1,\r\n value2: queue.value2,\r\n value3: queue.value3,\r\n value4: queue.value4,\r\n value5: queue.value5,\r\n }\r\n });\r\n console.log('formData', newQueue, queueData)\r\n // const newQueue = {\r\n // ID: (Math.random() * 10000).toString(),\r\n // value1: formData.value1,\r\n // value2: formData.value2,\r\n // value3: (formData.value3),\r\n // value4: (formData.value4),\r\n // value5: (formData.value5),\r\n // }\r\n const newQueues = newQueue.concat(queueData)\r\n setQueueData(newQueues)\r\n setShowAddQueueModal(false);\r\n dispatch(getQueueData(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n break;\r\n }\r\n case 'assign': {\r\n const newid = {\r\n ID: (Math.random() * 10000).toString(),\r\n value1: formData.value1,\r\n value2: formData.value2,\r\n value3: (formData.value3),\r\n value4: (formData.value4),\r\n value5: (formData.value5),\r\n }\r\n const newids = [newid, ...IDdata]\r\n setIDData(newids)\r\n setShowAddIDModal(false);\r\n break;\r\n }\r\n case 'slakpi': {\r\n const newsla = {\r\n ID: (Math.random() * 10000).toString(),\r\n value1: formData.value1,\r\n value2: formData.value2,\r\n value3: (formData.value3),\r\n value4: (formData.value4),\r\n value5: (formData.value5),\r\n value6: (formData.value6),\r\n value7: (formData.value7),\r\n value8: slaId\r\n }\r\n const newslas = [newsla, ...SLAData];\r\n setSLAData(newslas);\r\n setShowAddSLAModal(false);\r\n break;\r\n }\r\n case 'volume': {\r\n const newvolume = {\r\n ID: (Math.random() * 10000).toString(),\r\n value1: formData.value1,\r\n value2: formData.value2,\r\n value3: (formData.value3),\r\n value4: (formData.value4),\r\n value5: (formData.value5),\r\n value6: (formData.value6),\r\n value7: (formData.value7),\r\n value8: slaId\r\n }\r\n const newvolumes = [newvolume, ...VolumeData];\r\n setVolumeData(newvolumes);\r\n setShowAddVolumeModal(false);\r\n break;\r\n }\r\n default: { }\r\n }\r\n }\r\n\r\n\r\n useEffect(() => {\r\n props.DispatchObjectManager(dispatchObjHandle());\r\n }, [accountData, queueData, IDdata, SLAData, VolumeData])\r\n\r\n\r\n const [filter, setFilter] = useState('');\r\n function searchRows(rows) {\r\n return rows?.filter((row) =>\r\n searchColumns?.some(\r\n (column) =>\r\n row?.[column]?.toString()?.toLowerCase()?.indexOf(filter?.toLowerCase()) > -1,\r\n ),\r\n );\r\n }\r\n\r\n const [showAddAccountModal, setShowaddAccountModal] = useState(false);\r\n const [showAddQueueModal, setShowAddQueueModal] = useState(false);\r\n const [showAddIDModal, setShowAddIDModal] = useState(false);\r\n const [showAddSLAModal, setShowAddSLAModal] = useState(false);\r\n const [showAddVolumeModal, setShowAddVolumeModal] = useState(false);\r\n const [showEditAccountModal, setShowEditAccountModal] = useState(false);\r\n const [showEditQueueModal, setShowEditQueueModal] = useState(false);\r\n const [showEditIDModal, setShowEditIDModal] = useState(false);\r\n const [showEditSLAModal, setShowEditSLAModal] = useState(false);\r\n const [showEditVolumeModal, setShowEditVolumeModal] = useState(false);\r\n\r\n const AddModalHandleClick = () => {\r\n switch (tab) {\r\n case 'account': setShowaddAccountModal(true); break;\r\n case 'queue': setShowAddQueueModal(true)\r\n dispatch(getQueueData(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n break;\r\n case 'assign': setShowAddIDModal(true);\r\n dispatch(getIDAccounts(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n break;\r\n case 'slakpi': setShowAddSLAModal(true);\r\n dispatch(getSLAAccounts(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getAccountSLA(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getAccountSLAForEdit(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n break;\r\n case 'volume': setShowAddVolumeModal(true);\r\n dispatch(getSLAAccounts(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getVolumeTemplates(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getVolumeTemplatesForEdit(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n break;\r\n default: { }\r\n }\r\n }\r\n\r\n const EditModalHandleClick = () => {\r\n switch (tab) {\r\n case 'account': setShowEditAccountModal(true); break;\r\n case 'queue': setShowEditQueueModal(true);\r\n dispatch(getQueueData(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n break;\r\n case 'assign': setShowEditIDModal(true);\r\n dispatch(getIDAccounts(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n break;\r\n case 'slakpi': setShowEditSLAModal(true);\r\n dispatch(getAccountSLA(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getAccountSLAForEdit(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n break;\r\n case 'volume': setShowEditVolumeModal(true);\r\n dispatch(getVolumeTemplates(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getVolumeTemplatesForEdit(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n break;\r\n default: { }\r\n }\r\n }\r\n\r\n const EditModalHandler = (event, data) => {\r\n event.preventDefault();\r\n switch (props.tab) {\r\n case 'account':\r\n setEditRowID(data.ID);\r\n EditModalHandleClick();\r\n const formValues = {\r\n value1: data.value1,\r\n value2: data.value2,\r\n value3: data.value3,\r\n value4: data.value4\r\n };\r\n setEditFormInfo(formValues);\r\n break;\r\n case 'queue':\r\n case 'assign': {\r\n setEditRowID(data.ID);\r\n EditModalHandleClick();\r\n const formValues = {\r\n value1: data.value1,\r\n value2: data.value2,\r\n value3: data.value3,\r\n value4: data.value4,\r\n value5: data.value5\r\n\r\n };\r\n setEditFormInfo(formValues);\r\n break;\r\n }\r\n case 'slakpi': {\r\n setEditRowID(data.ID);\r\n EditModalHandleClick();\r\n const formValues = {\r\n value1: data.value1,\r\n value2: data.value2,\r\n value3: data.value3,\r\n value4: data.value4,\r\n value5: data.value5,\r\n value6: data.value6,\r\n value7: data.value7,\r\n value8: data.value8\r\n };\r\n setEditFormInfo(formValues);\r\n break;\r\n }\r\n case 'volume': {\r\n console.log('value8', data)\r\n setEditRowID(data.ID);\r\n EditModalHandleClick();\r\n const formValues = {\r\n value1: data.value1,\r\n value2: data.value2,\r\n value3: data.value3,\r\n value4: data.value4,\r\n value5: data.value5,\r\n value6: data.value6,\r\n value7: data.value7,\r\n value8: data.value8\r\n };\r\n setEditFormInfo(formValues);\r\n break;\r\n }\r\n\r\n default: { }\r\n }\r\n\r\n }\r\n\r\n\r\n const handleEditQueueSubmit = (editedData, slaId) => {\r\n switch (props.tab) {\r\n case 'account': {\r\n const editedAccount = {\r\n ID: editRowID,\r\n value1: editedData.value1,\r\n value2: editedData.value2,\r\n value3: editedData.value3,\r\n value4: editedData.value4\r\n };\r\n\r\n const newAccounts = [...accountData];\r\n const index = accountData.findIndex((account) => account.ID === editRowID);\r\n newAccounts[index] = editedAccount;\r\n setAccountData(newAccounts);\r\n setEditRowID(null);\r\n setShowEditAccountModal(false);\r\n break;\r\n }\r\n case 'queue': {\r\n const editedQueue = {\r\n ID: editRowID,\r\n value1: editedData.value1,\r\n value2: editedData.value2,\r\n value3: editedData.value3,\r\n value4: editedData.value4,\r\n value5: editedData.value5,\r\n };\r\n\r\n const newQueues = [...queueData];\r\n const index = queueData.findIndex((queue) => queue.ID === editRowID);\r\n newQueues[index] = editedQueue;\r\n setQueueData(newQueues);\r\n setEditRowID(null);\r\n setShowEditQueueModal(false)\r\n break;\r\n }\r\n case 'assign': {\r\n const editedId = {\r\n ID: editRowID,\r\n value1: editedData.value1,\r\n value2: editedData.value2,\r\n value3: editedData.value3,\r\n value4: editedData.value4,\r\n value5: editedData.value5\r\n };\r\n\r\n const newids = [...IDdata];\r\n const index = IDdata.findIndex((info) => info.ID === editRowID);\r\n newids[index] = editedId;\r\n setIDData(newids);\r\n setEditRowID(null);\r\n setShowEditIDModal(false)\r\n break;\r\n }\r\n case 'slakpi': {\r\n const editedSLA = {\r\n ID: editRowID,\r\n value1: editedData.value1,\r\n value2: editedData.value2,\r\n value3: editedData.value3,\r\n value4: editedData.value4,\r\n value5: editedData.value5,\r\n value6: editedData.value6,\r\n value7: editedData.value7,\r\n value8: editedData.value8\r\n };\r\n const newslas = [...SLAData];\r\n const index = SLAData.findIndex((sla) => sla.ID === editRowID);\r\n newslas[index] = editedSLA;\r\n setSLAData(newslas);\r\n setEditRowID(null);\r\n setShowEditSLAModal(false)\r\n break;\r\n }\r\n case 'volume': {\r\n console.log('editedData', editedData)\r\n const editedVolume = {\r\n ID: editRowID,\r\n value1: editedData.value1,\r\n value2: editedData.value2,\r\n value3: editedData.value3,\r\n value4: editedData.value4,\r\n value5: editedData.value5,\r\n value6: editedData.value6,\r\n value7: editedData.value7,\r\n value8: editedData.value8\r\n };\r\n console.log('................', VolumeData)\r\n const newvolumes = [...VolumeData];\r\n const index = VolumeData.findIndex((volume) => volume.ID === editRowID);\r\n newvolumes[index] = editedVolume;\r\n setVolumeData(newvolumes);\r\n setEditRowID(null);\r\n setShowEditVolumeModal(false)\r\n break;\r\n }\r\n default: { }\r\n }\r\n }\r\n const handleEditQueueCancel = event => {\r\n event.preventDefault();\r\n setEditRowID(null);\r\n setShowEditAccountModal(false);\r\n setShowEditQueueModal(false);\r\n setShowEditIDModal(false);\r\n setShowEditSLAModal(false);\r\n setShowEditVolumeModal(false);\r\n }\r\n\r\n\r\n\r\n const TableDataHandler = () => {\r\n switch (props.tab) {\r\n case 'account': return searchRows(accountData)\r\n case 'queue': return searchRows(queueData)\r\n case 'assign': return searchRows(IDdata)\r\n case 'slakpi': return searchRows(SLAData)\r\n case 'volume': return searchRows(VolumeData)\r\n default: { }\r\n }\r\n }\r\n\r\n console.log('queueLists', queueLists, queueData)\r\n let result = queueLists.filter(o1 => !queueData.some(o2 => o1.QueueName === o2.value2));\r\n // const repeatqueues = queueLists.filter((el) =>{\r\n // return el?.QueueName === queueLists?.QueueName});\r\n\r\n console.log('queueLists', result)\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n setFilter(e.target.value)} />\r\n \r\n
\r\n\r\n {RoleBasedView?.[0]?.StaffAdmin?.[0]?.ReadWrite === 1 ?
\r\n \r\n {AddTab}\r\n
: ''}\r\n
\r\n
\r\n {TableDataHandler().length === 0 ?
\r\n
\r\n {headerData.map(header => (\r\n \r\n {header.caption}\r\n ))\r\n }\r\n
\r\n
\r\n
\r\n No records found. This data grid enables adding/editing the corresponding sub-categories.\r\n To add new queue entries, click on {`\"${AddTab}\"`} link.\r\n
\r\n
\r\n
:\r\n
\r\n \r\n \r\n \r\n {headerData.filter(header => header.caption !== \"value\").map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n \r\n {slashow === false ? <> {TableDataHandler().map((info, i) =>\r\n (\r\n {Object.values(info).slice(1, info.length).map((value, idx) => (\r\n \r\n ))}\r\n {RoleBasedView?.[0]?.StaffAdmin?.[0]?.ReadWrite === 1 ? <>\r\n \r\n : ''}\r\n\r\n ))}\r\n :\r\n <>\r\n {TableDataHandler().map((info, i) =>\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {RoleBasedView?.[0]?.StaffAdmin?.[0]?.ReadWrite === 1 ? <>\r\n \r\n : ''}\r\n\r\n ))}\r\n \r\n }\r\n \r\n
{header.caption}{' '}
{value}\r\n
\r\n EditModalHandler(event, info)}>\r\n \r\n \r\n
\r\n {endDateKey && moment(info[endDateKey]).isAfter(new Date()) ? '' :\r\n
\r\n
 
\r\n
Inactive
\r\n
}\r\n\r\n
{info?.value1}{info?.value2}{info.value3}{info.value4}{info.value5}{info.value6}{info.value7}\r\n
\r\n EditModalHandler(event, info)}>\r\n \r\n \r\n
\r\n {endDateKey && moment(info[endDateKey]).isAfter(new Date()) ? '' :\r\n
\r\n
 
\r\n
Inactive
\r\n
\r\n }\r\n
\r\n
\r\n }\r\n
\r\n\r\n\r\n {(showAddAccountModal) && \r\n setShowaddAccountModal(false)} editMode={false}\r\n onAccountSubmitHandle={onAccountSubmitHandle}\r\n AccountsInfo={AccountsInfo} accountData={accountData}\r\n />\r\n \r\n }\r\n\r\n {showEditAccountModal && \r\n \r\n \r\n }\r\n\r\n {showAddQueueModal && \r\n setShowAddQueueModal(false)} editMode={false}\r\n onAccountSubmitHandle={onAccountSubmitHandle}\r\n data={result} queueData={queueData}\r\n />\r\n \r\n }\r\n\r\n\r\n {showEditQueueModal && \r\n \r\n \r\n }\r\n\r\n\r\n {(showAddIDModal) && \r\n setShowAddIDModal(false)} editMode={false}\r\n onAccountSubmitHandle={onAccountSubmitHandle} IDdata={IDdata}\r\n />\r\n \r\n }\r\n\r\n {showEditIDModal && \r\n \r\n \r\n }\r\n\r\n {(showAddSLAModal) && \r\n setShowAddSLAModal(false)} editMode={false} SLAData={SLAData}\r\n onAccountSubmitHandle={onAccountSubmitHandle} SLATemplatesForEdit={SLATemplatesForEdit}\r\n />\r\n \r\n }\r\n\r\n {showEditSLAModal && \r\n \r\n \r\n }\r\n\r\n {(showAddVolumeModal) && \r\n setShowAddVolumeModal(false)} editMode={false} VolumeData={VolumeData}\r\n onAccountSubmitHandle={onAccountSubmitHandle} VolumeTemplatesForEdit={VolumeTemplatesForEdit}\r\n />\r\n \r\n }\r\n\r\n {showEditVolumeModal && \r\n \r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default EmployeeTabHandler","import React from 'react'\r\nimport { PreviewNonvoiceCard } from '../../../Onboard/OnboardComponents/Preview/PreviewCard'\r\nimport { Row, Col } from 'react-bootstrap';\r\n\r\nconst PreviewTab = (props) => {\r\n const previewToggleHandler = (value, tab) => {\r\n return value === 'Yes' ? true : false\r\n }\r\n return (<>\r\n
\r\n
This preview enables to view the previous steps filled status/update.
\r\n Don’t forget to save you work.
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default PreviewTab","import React, { useEffect, useState } from 'react';\r\nimport './EmployeeDetails.css';\r\nimport Account_Assignment_HoverStateIcon from \"../../../../assets/admin-images/Account_Assignment_HoverStateIcon.png\";\r\nimport Account_Assignment_NormalStateIcon from \"../../../../assets/admin-images/Account_Assignment_NormalStateIcon.png\";\r\nimport AWSQueueLanguage_Assignment_HoverStateIcon from \"../../../../assets/admin-images/AWSQueueLanguage_Assignment_HoverStateIcon.png\";\r\nimport AWSQueueLanguage_Assignment_NormalStateIcon from \"../../../../assets/admin-images/AWSQueueLanguage_Assignment_NormalStateIcon.png\";\r\nimport ID_Assignment_HoverStateIcon from \"../../../../assets/admin-images/ID_Assignment_HoverStateIcon.png\";\r\nimport ID_Assignment_NormalStateIcon from \"../../../../assets/admin-images/ID_Assignment_NormalStateIcon.png\";\r\nimport Preview_HoverStateIcon from \"../../../../assets/admin-images/Preview_HoverStateIcon.png\";\r\nimport Preview_NormalStateIcon from \"../../../../assets/admin-images/Preview_NormalStateIcon.png\";\r\nimport SLA_KPI_AssignmentWeighting_HoverStateIcon from \"../../../../assets/admin-images/SLA_KPI_AssignmentWeighting_HoverStateIcon.png\";\r\nimport SLA_KPI_AssignmentWeighting_NormalStateIcon from \"../../../../assets/admin-images/SLA_KPI_AssignmentWeighting_NormalStateIcon.png\";\r\nimport Volumetric_Normal_Icon from \"../../../../assets/admin-images/Volumetric_Normal_Icon.png\";\r\nimport Volumetric_Hover_Icon from \"../../../../assets/admin-images/Volumetric_Selected_Icon.png\";\r\nimport dataSaveClose_icon from \"../../../../assets/onboard-images/dataSaveClose_icon.png\";\r\nimport dataSave_icon from \"../../../../assets/onboard-images/dataSave_icon.png\";\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb';\r\nimport Newemployee from './Newemployee';\r\nimport EmployeeTabHandler from '../Tab-components/EmployeeTabHandler';\r\nimport PreviewTab from '../Tab-components/PreviewTab';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { getAccountAssignment, getIdAssignment, getQueueAssignment, getQueueData, getSlaAssignment, getStaffPreview, getVolumeAssignment, updateAccountEmployeeStart, updateIdAssignmentStart, updateQueueAssignmentStart, updateSlaAssignmentStart } from '../../../../actions/Administration/staffAdmin.action';\r\nimport { ActivateModelPopup, AdminCancelModel, AdminSubmitModel, UnsavedModel } from '../Employee-Assignment/AssignModel';\r\nimport { updateVolumeAssignmentStart } from './../../../../actions/Administration/staffAdmin.action';\r\nimport { AdminNextModel } from './../Employee-Assignment/AssignModel';\r\nimport { getRoleBasedView } from '../../../../actions/Administration/admin.action';\r\nimport { CancelModalPopup, NextButtonFragment } from '../../../Onboard/OnboardComponents/Modals/OnboardButtonsPopup';\r\n\r\nfunction Image(props) {\r\n return (<>\r\n \r\n )\r\n}\r\n\r\nconst BUTTONS = [\r\n { id: 1, label: 'PREVIOUS' },\r\n { id: 2, label: 'SAVE' },\r\n { id: 3, label: 'CANCEL' },\r\n { id: 4, label: 'NEXT' },\r\n { id: 5, label: 'SUBMIT' },\r\n\r\n]\r\n\r\n\r\nfunction EmployeeDetails() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const supervisorInfo = useSelector((state) => state.staffAdminReducer.supervisorInfo);\r\n const accountAssignmentStaff = useSelector((state) => state.staffAdminReducer.accountAssignmentStaff);\r\n const idAssignment = useSelector((state) => state.staffAdminReducer.idAssignment);\r\n const queueAssignment = useSelector((state) => state.staffAdminReducer.queueLists);\r\n const staffPreview = useSelector((state) => state.staffAdminReducer.staffPreview);\r\n const slaAssignment = useSelector((state) => state.staffAdminReducer.slaAssignment);\r\n const volumeAssignment = useSelector((state) => state.staffAdminReducer.volumeAssignment);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n\r\n useEffect(() => {\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n // const updatedAccountResponse = useSelector((state) => state.staffAdminReducer.updatedAccountResponse);\r\n // const updatedQueueResponse = useSelector((state) => state.staffAdminReducer.updatedQueueResponse);\r\n // const updatedIDResponse = useSelector((state) => state.staffAdminReducer.updatedIDResponse);\r\n // const updatedSLAResponse = useSelector((state) => state.staffAdminReducer.updatedSLAResponse);\r\n // const updatedVolumeResponse = useSelector((state) => state.staffAdminReducer.updatedVolumeResponse);\r\n\r\n\r\n //const [generalTab, setGeneralTab] = useState(supervisorInfo?.view === 'edit' ? 'preview' : 'account');\r\n const [generalTab, setGeneralTab] = useState('preview')\r\n const [accountImgSrc, setAccountImgSrc] = useState();\r\n const [AWSImgSrc, setAWSImgSrc] = useState();\r\n\r\n const [SLAImgSrc, setSLAImgSrc] = useState();\r\n const [IDImgSrc, setIDImgSrc] = useState();\r\n const [VolumeImgSrc, setVolumeImgSrc] = useState();\r\n const [previewImgSrc, setPreviewImgSrc] = useState();\r\n const [showButtons, setShowButtons] = useState([0, 1, 1, 1, 0]);\r\n const [dataSaveInfo, setDataSaveInfo] = useState(false);\r\n const [showUnsavedModal, setShowUnsavedModal] = useState(false);\r\n // const [showCanceldModal, setShowCancelModal] = useState(false);\r\n // const [showSubmitModal, setShowSubmitModal] = useState(false);\r\n\r\n const [accountUpdatedData, setAccountUpdatedData] = useState([])\r\n const [queueUpdatedData, setQueueUpdatedData] = useState([])\r\n const [IDUpdatedData, setIDUpdatedData] = useState([])\r\n const [SLAUpdatedData, setSLAUpdatedData] = useState([])\r\n const [VolumeUpdatedData, setVolumeUpdatedData] = useState([])\r\n const [isAccountCreated, setIsAccountCreated] = useState(false);\r\n const [accountNotCreated, setAccountNotCreated] = useState(false);\r\n // const [accountNotSubmitted, setAccountNotSubmitted] = useState(false);\r\n const [showUnsavedNextModal,setShowUnsavedNextModal] = useState(false);\r\n const [showUnsavedPreviousModal,setShowUnsavedPreviousModal] = useState(false);\r\n const [showUnsavedbreadcrumbModal,setShowUnsavedbreadcrumbModal] = useState(false);\r\n\r\n const [accountModifiedData,setAccountModifiedData] = useState([]);\r\n const [queueModifiedData,setQueueModifiedData] = useState([]);\r\n const [IDModifiedData,setIDModifiedData] = useState([]);\r\n const [SLAModifiedData,setSLAModifiedData] = useState([]);\r\n const [VolumeModifiedData,setVolumeModifiedData] = useState([]);\r\n\r\n // const [showUnsavedData,setShowUnsavedData] = useState(false);\r\n\r\n const[compareValidTo,setcompareValidTo] = useState('');\r\n const dispatchNavigationHandle = () => {\r\n dispatch(getAccountAssignment(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getQueueAssignment(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getIdAssignment(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getSlaAssignment(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getVolumeAssignment(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatch(getStaffPreview(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n }\r\n\r\n\r\n useEffect(() => {\r\n switch (generalTab) {\r\n case 'account': {\r\n setAccountImgSrc(Account_Assignment_HoverStateIcon);\r\n setAWSImgSrc(AWSQueueLanguage_Assignment_NormalStateIcon);\r\n setSLAImgSrc(SLA_KPI_AssignmentWeighting_NormalStateIcon);\r\n setIDImgSrc(ID_Assignment_NormalStateIcon);\r\n setVolumeImgSrc(Volumetric_Normal_Icon);\r\n setPreviewImgSrc(Preview_NormalStateIcon);\r\n setShowButtons([0, 1, 1, 1, 0]);\r\n dispatchNavigationHandle();\r\n break;\r\n }\r\n case 'queue': {\r\n setAccountImgSrc(Account_Assignment_NormalStateIcon);\r\n setAWSImgSrc(AWSQueueLanguage_Assignment_HoverStateIcon);\r\n setSLAImgSrc(SLA_KPI_AssignmentWeighting_NormalStateIcon);\r\n setIDImgSrc(ID_Assignment_NormalStateIcon);\r\n setVolumeImgSrc(Volumetric_Normal_Icon);\r\n setPreviewImgSrc(Preview_NormalStateIcon)\r\n setShowButtons([1, 1, 1, 1, 0]);\r\n dispatch(getQueueData(supervisorInfo.EmployeeID, supervisorInfo.SupervisorID))\r\n dispatchNavigationHandle();\r\n break;\r\n }\r\n case 'assign': {\r\n setAccountImgSrc(Account_Assignment_NormalStateIcon);\r\n setAWSImgSrc(AWSQueueLanguage_Assignment_NormalStateIcon);\r\n setSLAImgSrc(SLA_KPI_AssignmentWeighting_NormalStateIcon);\r\n setIDImgSrc(ID_Assignment_HoverStateIcon);\r\n setVolumeImgSrc(Volumetric_Normal_Icon);\r\n setPreviewImgSrc(Preview_NormalStateIcon);\r\n setShowButtons([1, 1, 1, 1, 0]);\r\n dispatchNavigationHandle();\r\n break;\r\n }\r\n case 'slakpi': {\r\n setAccountImgSrc(Account_Assignment_NormalStateIcon);\r\n setAWSImgSrc(AWSQueueLanguage_Assignment_NormalStateIcon);\r\n setSLAImgSrc(SLA_KPI_AssignmentWeighting_HoverStateIcon);\r\n setIDImgSrc(ID_Assignment_NormalStateIcon);\r\n setVolumeImgSrc(Volumetric_Normal_Icon);\r\n setPreviewImgSrc(Preview_NormalStateIcon);\r\n setShowButtons([1, 1, 1, 1, 0]);\r\n dispatchNavigationHandle();\r\n break;\r\n }\r\n case 'volume': {\r\n setAccountImgSrc(Account_Assignment_NormalStateIcon);\r\n setAWSImgSrc(AWSQueueLanguage_Assignment_NormalStateIcon);\r\n setSLAImgSrc(SLA_KPI_AssignmentWeighting_NormalStateIcon);\r\n setIDImgSrc(ID_Assignment_NormalStateIcon);\r\n setVolumeImgSrc(Volumetric_Hover_Icon);\r\n setPreviewImgSrc(Preview_NormalStateIcon);\r\n setShowButtons([1, 1, 1, 1, 0]);\r\n dispatchNavigationHandle();\r\n break;\r\n }\r\n case 'preview': {\r\n setAccountImgSrc(Account_Assignment_NormalStateIcon);\r\n setAWSImgSrc(AWSQueueLanguage_Assignment_NormalStateIcon)\r\n setSLAImgSrc(SLA_KPI_AssignmentWeighting_NormalStateIcon);\r\n setIDImgSrc(ID_Assignment_NormalStateIcon);\r\n setVolumeImgSrc(Volumetric_Normal_Icon);\r\n setPreviewImgSrc(Preview_HoverStateIcon);\r\n setShowButtons([1, 0, 1, 0, 0]);\r\n dispatchNavigationHandle();\r\n break;\r\n }\r\n default: { }\r\n }\r\n }, [generalTab]);\r\n const generaltabRows = ['account', 'queue', 'assign', 'slakpi','volume', 'preview'];\r\n const ObjectEquateHandle = (data, updatedData) => {\r\n if (data?.length === updatedData?.length) {\r\n const eq = JSON.stringify(data) === JSON.stringify(updatedData)\r\n return eq;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n};\r\n\r\n useEffect(() => {\r\n let tempacc = [...accountAssignmentStaff];\r\n let arr1 = tempacc.map(arr => ({\r\n Customer: arr?.['account Name'],\r\n CustomerType: arr.customerType,\r\n ValidFrom: formatDate(arr.validFrom),\r\n ValidTo: formatDate(arr.validTo),\r\n ID: typeof arr.ID === 'string' ? '' : arr.id\r\n }))\r\n setAccountModifiedData(arr1)\r\n return arr1\r\n}, [accountAssignmentStaff])\r\n\r\nuseEffect(() => {\r\n let tempqueue = [...queueAssignment];\r\n let arrqueue = tempqueue.map(arr => ({\r\n Customer: arr.account,\r\n QueueName: arr.queueName,\r\n Language: arr.language,\r\n ValidFrom: formatDate(arr?.validFrom),\r\n ValidTo: formatDate(arr?.validTo),\r\n ID: typeof arr.ID === 'string' ? '' : arr.id\r\n }))\r\n setQueueModifiedData(arrqueue)\r\n return arrqueue\r\n}, [queueAssignment])\r\n\r\nuseEffect(() => {\r\n let tempid = [...idAssignment];\r\n let arrid = tempid.map(arr => ({\r\n Customer: arr.customer,\r\n IDAssigned: arr.idAssigned,\r\n SystemName: arr.systemName,\r\n ValidFrom: formatDate(arr?.validFrom),\r\n ValidTo: formatDate(arr?.validTo),\r\n ID: typeof arr.ID === 'string' ? '' : arr.id\r\n }))\r\n setIDModifiedData(arrid)\r\n return arrid\r\n}, [idAssignment])\r\n\r\nuseEffect(() => {\r\n let tempsla = [...slaAssignment];\r\n let arrsla = tempsla.map(arr => ({\r\n Customer: arr.account,\r\n Target: arr.target,\r\n Weighting: arr.weighting,\r\n ValidFrom: formatDate(arr.validFrom),\r\n ValidTo: formatDate(arr.validTo),\r\n AccountSLAID: arr.accountSLAID,\r\n ID: typeof arr.ID === 'string' ? '' : arr.id\r\n }))\r\n setSLAModifiedData(arrsla)\r\n return arrsla\r\n}, [slaAssignment])\r\n\r\nuseEffect(() => {\r\n let tempVolume = [...volumeAssignment];\r\n let arrVolume = tempVolume.map(arr => ({\r\n Customer: arr.account,\r\n Target: arr.target,\r\n Weighting: arr.weighting,\r\n ValidFrom: formatDate(arr.validFrom),\r\n ValidTo: formatDate(arr.validTo),\r\n AccountVolumetricID : arr.accountVolumetricTempalteID,\r\n ID: typeof arr.ID === 'string' ? '' : arr.id\r\n }))\r\n setVolumeModifiedData(arrVolume)\r\n return arrVolume\r\n}, [volumeAssignment])\r\n \r\n\r\n const nextModelNohandler = () =>{\r\n let index = generaltabRows.indexOf(generalTab);\r\n let currentTab = generaltabRows[index + 1];\r\n setGeneralTab(currentTab);\r\n setShowUnsavedNextModal(false);\r\n setAccountUpdatedData(accountAssignmentStaff)\r\n setQueueUpdatedData(queueAssignment)\r\n setIDUpdatedData(idAssignment)\r\n setSLAUpdatedData(slaAssignment)\r\n setVolumeUpdatedData(volumeAssignment)\r\n }\r\n\r\n const previousModelNohandler = () => {\r\n let index = generaltabRows.indexOf(generalTab);\r\n let currentTab = generaltabRows[index - 1];\r\n setGeneralTab(currentTab);\r\n setShowUnsavedPreviousModal(false)\r\n setAccountUpdatedData(accountAssignmentStaff)\r\n setQueueUpdatedData(queueAssignment)\r\n setIDUpdatedData(idAssignment)\r\n setSLAUpdatedData(slaAssignment)\r\n setVolumeUpdatedData(volumeAssignment)\r\n }\r\nconst saveButtonHandler = () => {\r\nif(supervisorInfo.view === \"edit\"){\r\n setDataSaveInfo(true)\r\n}\r\nelse{\r\n if (isAccountCreated) {\r\n setDataSaveInfo(true);\r\n setAccountNotCreated(false);\r\n } else{ setAccountNotCreated(true)}\r\n }\r\n\r\n\r\n window.scroll({\r\n top: 0,\r\n left: 0,\r\n behavior: 'smooth'\r\n });\r\n switch (generalTab) {\r\n case 'account': dispatch(updateAccountEmployeeStart(accountUpdatedData));\r\n break;\r\n case 'queue':\r\n dispatch(updateQueueAssignmentStart(queueUpdatedData)); break;\r\n case 'assign':\r\n dispatch(updateIdAssignmentStart(IDUpdatedData)); break;\r\n case 'slakpi': dispatch(updateSlaAssignmentStart(SLAUpdatedData)); break;\r\n case 'volume': dispatch(updateVolumeAssignmentStart(VolumeUpdatedData)); break;\r\n\r\n default: { }\r\n }\r\n setShowUnsavedModal(false);\r\n setShowUnsavedNextModal(false);\r\n setShowUnsavedPreviousModal(false);\r\n let index = generaltabRows.indexOf(generalTab);\r\n let currentTab = generaltabRows[index + 1];\r\n setGeneralTab(currentTab);\r\n dispatchNavigationHandle();\r\n setAccountUpdatedData(accountAssignmentStaff)\r\n setQueueUpdatedData(queueAssignment)\r\n setIDUpdatedData(idAssignment)\r\n setSLAUpdatedData(slaAssignment)\r\n setVolumeUpdatedData(volumeAssignment)\r\n }\r\n const validationCancelHandle = (response, resolve) => {\r\n if (ObjectEquateHandle(response, resolve)) {\r\n // setShowCancelModal(true);\r\n history.push('/admin/staff')\r\n setShowUnsavedModal(false);\r\n }\r\n else {\r\n // setShowCancelModal(false);\r\n setShowUnsavedModal(true);\r\n }\r\n }\r\n\r\n const cancelButtonHandler = () => {\r\n switch (generalTab) {\r\n case 'account': validationCancelHandle(accountModifiedData, accountUpdatedData?.[0]?.Details); break;\r\n case 'queue': validationCancelHandle(queueModifiedData, queueUpdatedData?.[0]?.Details); break;\r\n case 'assign': validationCancelHandle(IDModifiedData, IDUpdatedData?.[0]?.Details); break;\r\n case 'slakpi': validationCancelHandle(SLAModifiedData, SLAUpdatedData?.[0]?.Details); break;\r\n case 'volume': validationCancelHandle(VolumeModifiedData, VolumeUpdatedData?.[0]?.Details); break;\r\n case 'preview': validationCancelHandle(1,1); break;\r\n default: { }\r\n }\r\n }\r\n\r\n const validationNextHandle = (response, resolve) => {\r\n if (ObjectEquateHandle(response, resolve)) {\r\n // saveButtonHandler();\r\n let index = generaltabRows.indexOf(generalTab);\r\n let currentTab = generaltabRows[index + 1];\r\n setGeneralTab(currentTab);\r\n }\r\n else {\r\n // setShowCancelModal(false);\r\n setShowUnsavedNextModal(true);\r\n }\r\n }\r\n\r\n\r\n const nextButtonHandler = () => {\r\n switch (generalTab) {\r\n case 'account': validationNextHandle(accountModifiedData, accountUpdatedData?.[0]?.Details); break;\r\n case 'queue': validationNextHandle(queueModifiedData, queueUpdatedData?.[0]?.Details); break;\r\n case 'assign': validationNextHandle(IDModifiedData, IDUpdatedData?.[0]?.Details); break;\r\n case 'slakpi': validationNextHandle(SLAModifiedData, SLAUpdatedData?.[0]?.Details); break;\r\n case 'volume': validationNextHandle(VolumeModifiedData, VolumeUpdatedData?.[0]?.Details); break;\r\n default: { }\r\n }\r\n }\r\n\r\n \r\n const [showTabModal, setShowTabModal] = useState(false);\r\n const [tabForYesButton, setTabForYesButton] = useState(null);\r\n\r\n let accountValidation = accountUpdatedData?.[0]?.Details === undefined ? true : ObjectEquateHandle(accountModifiedData, accountUpdatedData?.[0]?.Details);\r\n let queueValidation = queueUpdatedData?.[0]?.Details === undefined ? true : ObjectEquateHandle(queueModifiedData, queueUpdatedData?.[0]?.Details);\r\n let IdValidation = IDUpdatedData?.[0]?.Details === undefined ? true : ObjectEquateHandle(IDModifiedData, IDUpdatedData?.[0]?.Details);\r\n let SLAValidation = SLAUpdatedData?.[0]?.Details === undefined ? true : ObjectEquateHandle(SLAModifiedData, SLAUpdatedData?.[0]?.Details);\r\n let volumeValidation = VolumeUpdatedData?.[0]?.Details === undefined ? true : ObjectEquateHandle(VolumeModifiedData, VolumeUpdatedData?.[0]?.Details)\r\n\r\nlet TabChangeValidation = accountValidation && queueValidation && IdValidation && SLAValidation && volumeValidation\r\n// console.log('accountValidation',accountModifiedData, accountUpdatedData?.[0]?.Details,accountValidation)\r\nconst staffAdminTabButtonHandle = (tab) => {\r\n if(!TabChangeValidation){\r\n setShowTabModal(true);\r\n setTabForYesButton(tab)\r\n }\r\n else{\r\n setGeneralTab(tab)\r\n }\r\n}\r\n\r\nconst tabYesButtonHandle = () => {\r\n saveButtonHandler();\r\n setShowTabModal(false);\r\n setAccountUpdatedData(accountAssignmentStaff)\r\n setQueueUpdatedData(queueAssignment)\r\n setIDUpdatedData(idAssignment)\r\n setSLAUpdatedData(slaAssignment)\r\n setVolumeUpdatedData(volumeAssignment)\r\n setGeneralTab(tabForYesButton)\r\n}\r\n\r\nconst tabNoButtonHandle = () => {\r\n setShowTabModal(false)\r\n setGeneralTab(tabForYesButton)\r\n setAccountUpdatedData(accountAssignmentStaff)\r\n setQueueUpdatedData(queueAssignment)\r\n setIDUpdatedData(idAssignment)\r\n setSLAUpdatedData(slaAssignment)\r\n setVolumeUpdatedData(volumeAssignment)\r\n}\r\n\r\n\r\n\r\n\r\n\r\n const ValidatePreviousData = (response, resolve) => {\r\n if (ObjectEquateHandle(response, resolve)) {\r\n // saveButtonHandler();\r\n let index = generaltabRows.indexOf(generalTab);\r\n let currentTab = generaltabRows[index - 1];\r\n setGeneralTab(currentTab);\r\n }\r\n else {\r\n // setShowCancelModal(false);\r\n setShowUnsavedPreviousModal(true);\r\n }\r\n }\r\n const previousButtonHandler = () => {\r\n switch (generalTab) {\r\n case 'account': ValidatePreviousData(accountModifiedData, accountUpdatedData?.[0]?.Details); break;\r\n case 'queue': ValidatePreviousData(queueModifiedData, queueUpdatedData?.[0]?.Details); break;\r\n case 'assign': ValidatePreviousData(IDModifiedData, IDUpdatedData?.[0]?.Details); break;\r\n case 'slakpi': ValidatePreviousData(SLAModifiedData, SLAUpdatedData?.[0]?.Details); break;\r\n case 'volume': ValidatePreviousData(VolumeModifiedData, VolumeUpdatedData?.[0]?.Details); break;\r\n case 'preview' : ValidatePreviousData(1,1); break;\r\n default: { }\r\n }\r\n }\r\n \r\n // const submitButtonHandler = () => {\r\n // if(isAccountCreated){\r\n // setShowSubmitModal(true);\r\n // setAccountNotSubmitted(false);\r\n // setDataSaveInfo(false);\r\n // } \r\n // else{\r\n // setAccountNotSubmitted(true);\r\n // setShowSubmitModal(false);\r\n // setDataSaveInfo(false)\r\n // }\r\n \r\n // window.scroll({\r\n // top: 0,\r\n // left: 0,\r\n // behavior: 'smooth'\r\n // });\r\n // }\r\n \r\n const ButtonClickHandler = (button) => {\r\n switch (button) {\r\n case 'next': nextButtonHandler(); break;\r\n case 'previous': previousButtonHandler(); break;\r\n case 'submit': break;\r\n case 'save': saveButtonHandler(); break;\r\n case 'cancel': cancelButtonHandler(); break;\r\n default: { }\r\n }\r\n }\r\n const onClickViewDetails = title => {\r\n switch (title) {\r\n case 'Account Assignment': setGeneralTab('account'); break;\r\n case 'AWS Queue / Language Assignment': setGeneralTab('queue'); break;\r\n case 'ID Assignment': setGeneralTab('assign'); break;\r\n case 'SLA / KPI Assignment & Weighting': setGeneralTab('slakpi'); break;\r\n case 'Volumetrics': setGeneralTab('volume'); break;\r\n default: ;\r\n }\r\n }\r\n const DispatchObjectManager = (data) => {\r\n switch (generalTab) {\r\n case 'account': setAccountUpdatedData(data); break;\r\n case 'queue': setQueueUpdatedData(data); break;\r\n case 'assign': setIDUpdatedData(data); break;\r\n case 'slakpi': setSLAUpdatedData(data); break;\r\n case 'volume': setVolumeUpdatedData(data); break;\r\n default: { }\r\n }\r\n }\r\n const StaffAdminDataHandle = () => {\r\n switch (generalTab) {\r\n case 'account': {\r\n let temp = [...accountAssignmentStaff];\r\n let arr1 = temp.map(arr => ({\r\n ID: arr?.id,\r\n value1: arr?.['account Name'],\r\n value2: arr?.customerType,\r\n value3: formatDate(arr?.validFrom),\r\n value4: formatDate(arr?.validTo)\r\n }))\r\n return arr1\r\n\r\n }\r\n case 'queue': {\r\n let temp = [...queueAssignment];\r\n let arr1 = temp.map(arr => ({\r\n ID: arr?.id,\r\n value1: arr?.account,\r\n value2: arr?.queueName,\r\n value3: arr?.language,\r\n value4: formatDate(arr?.validFrom),\r\n value5: formatDate(arr?.validTo)\r\n }))\r\n return arr1\r\n }\r\n case 'assign': {\r\n let temp = [...idAssignment];\r\n let arr1 = temp.map(arr => ({\r\n ID: arr?.id,\r\n value1: arr?.customer,\r\n value2: arr?.idAssigned,\r\n value3: arr?.systemName,\r\n value4: formatDate(arr?.validFrom),\r\n value5: formatDate(arr?.validTo)\r\n }))\r\n return arr1\r\n }\r\n case 'slakpi': {\r\n let temp = [...slaAssignment];\r\n let arr1 = temp.map(arr => ({\r\n ID: arr?.id,\r\n value1: arr?.account,\r\n value2: arr?.['slA/KPI'],\r\n value3: arr?.['item Name'],\r\n value4: arr?.target,\r\n value5: arr?.weighting,\r\n value6: formatDate(arr?.validFrom),\r\n value7: formatDate(arr?.validTo),\r\n value8:arr?.accountSLAID\r\n }))\r\n return arr1\r\n }\r\n case 'volume': {\r\n let temp = [...volumeAssignment];\r\n let arr1 = temp.map(arr => ({\r\n ID: arr?.id,\r\n value1: arr?.account,\r\n value2: arr?.['slA/KPI'],\r\n value3: arr?.['item Name'],\r\n value4: arr?.target,\r\n value5: arr?.weighting,\r\n value6: formatDate(arr?.validFrom),\r\n value7: formatDate(arr?.validTo),\r\n value8:arr?.accountVolumetricTempalteID\r\n }))\r\n return arr1\r\n }\r\n default: { }\r\n }\r\n }\r\n\r\n\r\n let accountUpdateDetails = accountUpdatedData?.[0]?.Details !== undefined ? accountUpdatedData?.[0]?.Details : []\r\n let CompareAccountValidDates = Object.values(accountUpdateDetails).some((value) => value.ValidTo > compareValidTo)\r\n\r\n let queueUpdateDetails = queueUpdatedData?.[0]?.Details !== undefined ? queueUpdatedData?.[0]?.Details : []\r\n let CompareQueueValidDates = Object.values(queueUpdateDetails).some((value) => value.ValidTo > compareValidTo)\r\n\r\n let IDUpdateDetails = IDUpdatedData?.[0]?.Details !== undefined ? IDUpdatedData?.[0]?.Details : []\r\n let CompareIDValidDates = Object.values(IDUpdateDetails).some((value) => value.ValidTo > compareValidTo)\r\n\r\n let SLAUpdateDetails = SLAUpdatedData?.[0]?.Details !== undefined ? SLAUpdatedData?.[0]?.Details : []\r\n let CompareSLAValidDates = Object.values(SLAUpdateDetails).some((value) => value.ValidTo > compareValidTo)\r\n\r\n let VolumeUpdateDetails = VolumeUpdatedData?.[0]?.Details !== undefined ? VolumeUpdatedData?.[0]?.Details : []\r\n let CompareVolumeValidDates = Object.values(VolumeUpdateDetails).some((value) => value.ValidTo > compareValidTo)\r\n\r\n\r\n const [showpath, setShowpath] = useState(false);\r\n const [NewEmployeeToggle,setNewEmployeeToggle ] = useState(false);\r\n const [ToggleValidation,setToggleValidation ] = useState(false);\r\n\r\n const BreadcrumbValidationHandler = (path) => {\r\n \r\n if (!NewEmployeeToggle) {\r\n setToggleValidation(true)\r\n }\r\n else if(!TabChangeValidation){\r\n setShowUnsavedbreadcrumbModal(true);\r\n setShowpath(path)\r\n }\r\n else{\r\n history.push(path)\r\n }\r\n}\r\n\r\nconst BreadcrumbValidationYesButtonHandle = () => {\r\n saveButtonHandler();\r\n setShowUnsavedbreadcrumbModal(false)\r\n history.push(showpath)\r\n}\r\n\r\nconst BreadcrumbValidationNoButtonHandle = () => {\r\n setShowUnsavedbreadcrumbModal(false)\r\n history.push(showpath)\r\n}\r\n\r\n\r\n return (\r\n <>\r\n
\r\n BreadcrumbValidationHandler('/welcome')} label1='Home' isActive2={true} value2={()=>BreadcrumbValidationHandler(\"/admin\")} label2='Administration'\r\n isActive3={true} label3='Staff-Administration' isActive4={false} value3={()=>BreadcrumbValidationHandler(\"/admin/staff\")} label4='Add Mapping' />\r\n
New Employee Mapping
\r\n {dataSaveInfo &&
\r\n
  Data has been saved successfully
\r\n
setDataSaveInfo(false)} />
\r\n
}\r\n {accountNotCreated &&
\r\n
  Data has not been saved. Please check the toggle before saving
\r\n
setAccountNotCreated(false)} />
\r\n
}\r\n {ToggleValidation ?
\r\n
  General Informations data has not been saved. Please check the Initial Save before proceeding
\r\n
setToggleValidation(false)} />
\r\n
: ''}\r\n {/* {accountNotSubmitted &&
\r\n
  Data has not been submitted. Please check the toggle before submitting
\r\n
setAccountNotCreated(false)} />
\r\n
} */}\r\n \r\n setIsAccountCreated(d)} setcompareValidTo = {(v) => setcompareValidTo(v)}\r\n newEmployeeToggleChange={(checked) => setNewEmployeeToggle(checked)}\r\n />\r\n\r\n {(generalTab === 'account' && CompareAccountValidDates) ?
\r\n
  Account Assignment valid to date is after the Role valid to date
: ''}\r\n {(generalTab === 'queue' && CompareQueueValidDates) ?
\r\n
  Queue Assignment valid to date is after the Role valid to date
: ''}\r\n {(generalTab === 'assign' && CompareIDValidDates) ?
\r\n
  ID Assignment valid to date is after the Role valid to date
: ''}\r\n {(generalTab === 'slakpi' && CompareSLAValidDates) ?
\r\n
  SLA / KPI Assignment valid to date is after the Role valid to date
: ''}\r\n {(generalTab === 'volume' && CompareVolumeValidDates) ?
\r\n
  Volumetrics valid to date is after the Role valid to date
: ''}\r\n\r\n\r\n
\r\n
\r\n Account
Assignment} isSelected={generalTab === 'account' ? true : false}\r\n onClick={() => { staffAdminTabButtonHandle('account') }} onMouseEnter={() => generalTab !== 'account' && setAccountImgSrc(Account_Assignment_HoverStateIcon)} onMouseLeave={() => generalTab !== 'account' && setAccountImgSrc(Account_Assignment_NormalStateIcon)}>\r\n staffAdminTabButtonHandle('queue')} onMouseEnter={() => generalTab !== 'queue' && setAWSImgSrc(AWSQueueLanguage_Assignment_HoverStateIcon)} onMouseLeave={() => generalTab !== 'queue' && setAWSImgSrc(AWSQueueLanguage_Assignment_NormalStateIcon)}> \r\n staffAdminTabButtonHandle('assign')} onMouseEnter={() => generalTab !== 'assign' && setIDImgSrc(ID_Assignment_HoverStateIcon)} onMouseLeave={() => generalTab !== 'assign' && setIDImgSrc(ID_Assignment_NormalStateIcon)}> \r\n staffAdminTabButtonHandle('slakpi')} onMouseEnter={() => generalTab !== 'slakpi' && setSLAImgSrc(SLA_KPI_AssignmentWeighting_HoverStateIcon)} onMouseLeave={() => generalTab !== 'slakpi' && setSLAImgSrc(SLA_KPI_AssignmentWeighting_NormalStateIcon)}>\r\n staffAdminTabButtonHandle('volume')} onMouseEnter={() => generalTab !== 'volume' && setVolumeImgSrc(Volumetric_Hover_Icon)} onMouseLeave={() => generalTab !== 'volume' && setVolumeImgSrc(Volumetric_Normal_Icon)}>\r\n staffAdminTabButtonHandle('preview')} onMouseEnter={() => generalTab !== 'preview' && setPreviewImgSrc(Preview_HoverStateIcon)} onMouseLeave={() => generalTab !== 'preview' && setPreviewImgSrc(Preview_NormalStateIcon)}>\r\n
\r\n
\r\n {generalTab === 'preview' ? \r\n : }\r\n {RoleBasedView?.[0]?.StaffAdmin?.[0]?.ReadWrite === 1 ?
{\r\n BUTTONS.map((button, i) => (\r\n <> {showButtons[i] === 1 && } \r\n ))\r\n }
: ''}\r\n\r\n\r\n



\r\n
\r\n\r\n {showUnsavedModal && \r\n history.push('/admin/staff')} handleNoButton={() => { setShowUnsavedModal(false) }}/>\r\n \r\n }\r\n \r\n {/* {showCanceldModal && \r\n history.push('/admin/staff')} handleNoButton={() => { setShowCancelModal(false) }} />\r\n \r\n } */}\r\n\r\n {showUnsavedNextModal && \r\n \r\n \r\n }\r\n\r\n {showUnsavedPreviousModal && \r\n {saveButtonHandler(); \r\n let index = generaltabRows.indexOf(generalTab);\r\n let currentTab = generaltabRows[index - 1];\r\n setGeneralTab(currentTab)\r\n }} handleNoButton={previousModelNohandler}\r\n handleSaveButton={()=>{ }} />\r\n \r\n }\r\n\r\n {/* {showSubmitModal && \r\n {\r\n setShowSubmitModal(false);\r\n history.push('/admin/staff')\r\n }}\r\n queueName={supervisorInfo.EmployeeName}\r\n />\r\n } */}\r\n\r\n {showTabModal && \r\n \r\n }\r\n\r\n {showUnsavedbreadcrumbModal && \r\n \r\n \r\n }\r\n \r\n\r\n\r\n\r\n )\r\n}\r\n\r\nexport default EmployeeDetails;","export default __webpack_public_path__ + \"static/media/HeroBanner_Image.5a326b24.png\";","export default __webpack_public_path__ + \"static/media/RoleSpecificAccess_Image.14a7351e.png\";","export default __webpack_public_path__ + \"static/media/HelpCenter_Image.34cc23f1.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF0AAAAzCAYAAAD1jwTpAAAABHNCSVQICAgIfAhkiAAACL1JREFUeF7tnF16EzcUhqUk94UV1DS5b1hBzQoIC4B42EDDCjArIGwAO+kCMCvAXQHhPinuCkruk6jnHY9AkfU39jiBNnqeeTKekc759OnoHP1N9P7OyKi2yagvSquTptiJvlBH41llf0elDXqjXbOlPubUaaOejM+qSS5f7v3T7dFgQ6tRMp8x5/pS90vwP9t5+1gr3Rd5u41M7lsnvRTpITU0hFITfaleSQVmMSRlRKgvIudRCRExPV01cC1nU/0uevbE0O61ZjhQoDvSXeFGjVPkP9t+O9Za72cqQA+CeBqzVRKi7glRH4WkXqqgdPFXx6fVMJRHZPRExkuRMWilvCDzekhHsVj+lVIv/jirxiEc0lVPpKv+msRo1OTorHpSUI9rWaT3fpAH/SThxrw/Pnu+F8pT1BvbgnLyr4/0b0oOj06rFz7GuTWamdL6p2WtMdiY26NDrWt3EE1GmU8bF7UfX+hF+9uj0Tqs2wVzE6Rj9WOx2CpAfFlgVeJmTqtpzriKLDQSOGsj2FL0EBskc+qWfn8zpM/dTZD4MqLqwPowFaCbgPchF+xiIyOx8HdSNuhulmY3UlAPdkZJ3xdTeGlUTyvT13VUT7sIK+PqSnz8X9WhL3PVwFocOI16c3xWHSzo3xkNpR4vS8g1xvwt+aZG6emmVrOSMn4e0bV6wlqlAYYyIvk5KU2Ca8xiCwNrsLcUBU5l/jw+fb5gYKVDS8gWooexgUEbFjshHYVY29WmkSCWHQpOJbA+Cvj3osDq95ZnJYFTCNu41LvBwFk20jmSkc6gDbGpvJ2RbpWUuApRGgyMuDoZOxPMksmWL4sH8Rlnib7UWD6HM/a+c9JRJK5iKmPw32JKpatGLefpL6ODjQ31OuumlKqEEIZ3yVnilVFVzCXk3JLgjI7llyWccmshfT6bMyepACuzzfux2WZJbymptIkEzsYd9mSI+DkqZz607C0zI85hWwvpc2tPjwhSFljHhy1Db0nPWBO1kwlQMHDaIrketQ63YnWvjfTa2hOWlLLCr5aY6S0J9xUNnE7smUjQfxz1u4memLPk3Pu1kV4Tl5oDXKgvuVXEkkAXqqC4LiZSyaVmhopqKxIPCrDliE29XyvpqwArdQO+jpTb6gJPFzK+e9Lr+FC2FKxSo6IuyOpKxg9BeunKXy5OdEXaqnK+e9Jzo4w79+Ix8HTnbXSCtHmhz7PBrnCGek3tfH0nu9VHIL3cMsG1/BJsq1j72iy9myFjveXWfl/SqFmzsBbd6pM48d8bMq46OepgQyG4sFY6KvrhJkfNpm7SSlPLAKWBM9fFV1sGqN3Ugx9mGaBgISm+4FV6VkXpgUz1x7kNlNS4PbcwJ7tdS22M54yhc59eYqXRpd3Sw0jN0nDZ0m48sJbMeGO7XTlib2RG2myZvc7tpMcWopryn3OBc5lNDLHYaGDNWjvsRfZ3lyW+E0uXkcC+rAgOc4d7ACm+HD858wGLS+K4XXInPra+XUhc0FWUbtfVDadVVXIqIdcYOjWWznSRe9pods/7JWQjK9ZVS1xS6qxKs1V4ktujjY1IciMtbx4gZ3XURPDI5nR9lLB1urEjGLF1kTK/nD/kOT+CYaa5wBo7glHUW1rTGy5wI6THCC/t2qWneMsaMBxYu9g4KW2TtZMeGyuXBs62k5TCFcno4dTC8qX8BvOtlfTMpvDSgTNX48IzNNExeNtFthwe//1aSMedyDmTYewYXNFZlcQhz1wluzicyqxazvFwgCp3pDsHZ+F9d6TL7rm4gkmKbLSX+d184MzVtKt4wQTqypgDGVvLKK3s+GAO29KkM8mphRt9Ip+YTErGr6se8sxVxn9f1sD5w6lW7mB7tCdn7oV8U88nUmd7MsPttlW5y78qA53MSFcF8X8rf0f6LbT4Hel3pN8CA7eg8s7Sb4n02I79ueCxR9NieebDxm+JTWTyMqRiBe69XDPnPc/ZgXfLhZ5ZfW6+npTjS49PjWxXLzLcMv6ROnBxGJVPV1w8PuUufmSgP7aSiE5kgou81NUmWycXq8VwjqXHPlNHYb+REsvj9hQUvWtAuJXhO9BJ82DakOOWCz2z+irJP27KDuUv3wU9kosyJCrCZ+j+B1roo6wljHrwscEruZATSshAlnv6gPLIsfhtOc7PH3hCZvL7YaNz0Mg6kr/ck9AL/hdUHkAkXjLl5ZtPWg6F1mIggVbzFU2bsgDlrDfyEE45nh028mdNPvJjkaWkgwGSkYdcn3Tk880oVsY9CYycxn3j4O3LfYr0nrxnLQhclAcvz5BJ3SGTZ1Y+pLt8IB+sFgP5pnJRV/BTFn4os+tWfigP/Eo1emrFVNwl3e2qPAdIypJcIIC0CaD0EhcL+pCPOwEwlUaHj8/m6znyuKUMZe/LBRnoS5E+bGS7PQs5A7mwfrdekIdcdNqe5Kmvf/IezshvMVAP+VL8W7KK3e5r34bciwvEWlyorAtoKj+s7/WB+qTj3ujWNCZ/sRKX9L78hkisfM8T5uOxeWNGYXHVpDiyIA7SfFfr/7ZFfPmWU95/fdeGdCxv7AACKBfJCvctxePia5cDgE0DucEqQ6RDFoTjLmZy9eSyDYv7+kcuSIIsN9ll4wdNOeSkLN02kht/kEdjEqdcV4UBggXZpGGDC9ccalTyXqtfG9Ld1vXqWJOBRaAA4BABKVgmQGw3nMp9qU+3+pBDOfspjNubrDxcD8SQ8PGQ6OLty+8U6fY9uMFPPagThOP6XJ1j+Q3B6LD/88A2Toj0hTq3Ib2p07U/bnnr18kAyZBFcoEsAJD3oWdYk0saFScfw02XAIjhOZbk6qVX9uWaNc+5h3Q/udiG8hIjceVw7xNJvWgcqxMd4CD5PYVnU7muGZpL2kBeckGe69dswQDmhX/v0ZdMtDokQfxYLtyDTVgH78iXegZQMIDFphg+SOCdlUlZ9NreRXl0ottP5OOyCRkWP/rBjjw/uTptIyB/Fsi7UOd/AT/xb5+L4ZzOAAAAAElFTkSuQmCC\"","import React from 'react'\r\nimport HeroBannerImg from './../../../assets/images/HeroBanner_Image.png';\r\nimport RolespecificImg from './../../../assets/images/RoleSpecificAccess_Image.png';\r\nimport HelpcenterImg from './../../../assets/images/HelpCenter_Image.png';\r\nimport UserGuidesIcon from \"../../../assets/images/UserGuides_Icon.png\";\r\nimport TrainingVideosIcon from \"../../../assets/images/TrainingVideos_Icon.png\";\r\nimport EmailToReportingTeamIcon from \"../../../assets/images/EmailToReportingTeam_Icon.png\";\r\nimport MSChatIcon from \"../../../assets/images/MSChat_Icon.png\";\r\nimport ITSMPortalIcon from \"../../../assets/images/ITSMPortal.png\";\r\nimport DXCLogoImg from '../../../assets/images/DXC_Logo_Footer_Normal.png';\r\nimport LogoutImg from '../../../assets/images/Logout_Icon.png';\r\nimport GSDLogo from '../../../assets/images/GSDInsight_Logo.png'\r\nimport './FirstVisitor.css';\r\nimport { Col, ListGroup } from 'react-bootstrap';\r\nimport { Row } from 'react-bootstrap';\r\nimport ConstructURLs from '../../../constants/urls';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport { getUserToken } from '../../../actions/user.action';\r\nimport { useHistory } from 'react-router-dom';\r\n const FirstVisitor = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let userInfo = useSelector((state) => state.userReducer.userInfo);\r\n let url = window.location.href;\r\n const logoutHandler = () => {\r\n window.localStorage.clear();\r\n window.location.href = ConstructURLs(\"LOG_OUT_URL\");\r\n };\r\n useEffect(() => {\r\n console.log(\"Window URL \" + url);\r\n let isLocalhost = url.includes(\"localhost\");\r\n console.log(\"isLocalhost \" + isLocalhost);\r\n if (isLocalhost) {\r\n dispatch(getUserToken());\r\n }\r\n }, [dispatch]);\r\n return (\r\n <>\r\n
\r\n
\r\n none\r\n \r\n
\r\n gsd \r\n GSD Insight\r\n
\r\n
\r\n
Welcome to GSD Insight!
\r\n
\r\n
We appreciate your interest to GSD Insight. You have
\r\n been identified as a First Time User and would need to
\r\n obtain specific permission to be able to access further
\r\n details (reports, administrations and other features) of
\r\n the GSD Insight portal. Explore the GitHub portal to
\r\n learn more about specific user role privileges.
\r\n
\r\n
history.push('/githublanding')}>\r\n \r\n
EXPLORE GITHUB
\r\n \r\n \r\n
\r\n
Hi, {userInfo.name}none
\r\n \r\n
\r\n
\r\n \r\n
For your role specific access
\r\n
Send an email to GSD Insight support team with following informations:
\r\n
Name → Email → Role → Account
\r\n
(Note: Approval from the GSD Modern Workplace Site Manager attached)
\r\n \r\n \r\n \r\n none\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n none\r\n \r\n \r\n \r\n Help Center\r\n \r\n \r\n history.push('/githublanding')}>\"none\"\r\n User Guides\r\n \r\n history.push('/training')}>\"none\"\r\n Trainings\r\n \r\n \"none\"\r\n \r\n Email to Reporting Team\r\n \r\n \r\n \r\n \r\n \"none\"\r\n \r\n Microsoft Teams Chat\r\n \r\n \r\n history.push('/request')}>\"none\"\r\n ITSM Service Portal\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n dxc\r\n © DXC Technology Company\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\nexport default FirstVisitor;","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAYCAYAAAALQIb7AAAABHNCSVQICAgIfAhkiAAAAPxJREFUSEvtlmERwjAMhYkCkIADcAAowAISwAkScAISwAES5gDeY20v63XtunbHD+hdftHL17y8ZMgLZ1Z2diJyG5JCvgLD62TI6+wdPJLVbBD5lf1hKRkh7xIqPUMtcQapISNAF0D2po93H1gNBtACyWmaFaIJAUtgZyRcI45Q5VNFCjga1jcmMWB1WKzCIEwNbM6cx+62PbTrSrtxAtgDsO1UMtI4VwQd2oJEmuowqBIEUePRMCSl9TlTJ2X9XlApjAPstr6xPNfUXEunXVNSWQdmLH/gkNse+fasCkvNyQ/AqHNKBu93u4jz/xZkgvT1LBhdVXLcJyaV5A2rIe9Tvoi3FgAAAABJRU5ErkJggg==\"","import React, { useEffect } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory} from 'react-router-dom'\r\nimport { getRolesTitleInfo, getWidgetPreference } from '../../../actions/welcomePage.action';\r\nimport FirstVisitor from './FirstVisitor';\r\n\r\nfunction UserLandingPage() {\r\n const history = useHistory();\r\n let dispatch = useDispatch();\r\n let RolesInfo = useSelector((state) => state.welcomePageReducer.rolesTitle);\r\n let widgetPreferences = useSelector((state) => state.welcomePageReducer.widgetPreferences);\r\n\r\n useEffect(() => {\r\n dispatch(getRolesTitleInfo());\r\n dispatch(getWidgetPreference());\r\n }, [dispatch]);\r\n const UserLandingHandler = () => {\r\n switch (RolesInfo.length) {\r\n case 0: return \r\n case 1: {\r\n localStorage.setItem('Role_id', RolesInfo?.[0]?.id);\r\n localStorage.setItem('SingleRolesUser', true);\r\n widgetPreferences?.WidgetSelectorShown === 'true' ? history.push('/welcome') : history.push('/widget');\r\n break;\r\n }\r\n default: history.push('/role');\r\n localStorage.setItem('SingleRolesUser', false);\r\n\r\n }\r\n\r\n }\r\n return (<>\r\n {UserLandingHandler()}\r\n )\r\n}\r\n\r\nexport default UserLandingPage","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAABHNCSVQICAgIfAhkiAAAAOJJREFUSEvtllESgzAIRJuT1t6kvYme1LKZJIMMkDDajh/hzxF4ZF3R9AjGTlFLEkWkPJSMxhOmyTtlbKpMg9zXIPRsVrzDtCRefErvmVk1beNoxy1Fz3Jv5UAL5tVEYMhtQA0mQMjfaMBFHsR8qZUGGShhoyCA3Q2iAamGT7zRdZXbPJErozAEjMIbWl8VVTqePLQblRNKYBeUZaRGb1g8X6T0scZ2gC7o0D+y6yJmqEMf+kdgaMCAQ9KdghXgQpLDON04DesSWMI9YDQQnHl1tJ6wfvsPvJoi+/0d9gvpVJG+kc7F9ap85doAAAAASUVORK5CYII=\"","import React, { useState } from 'react'\r\nimport filterIcon from '../../../assets/images/Filter_Icon.png'\r\nimport downloadIcon from '../../../assets/images/Download_Icon.png'\r\nimport './SLA-Admin.css';\r\nimport Button from '../../ReportTables/ReportFilters/Button';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { KeyboardDatePicker } from '@material-ui/pickers';\r\nfunction FilterTab(props) {\r\n const history = useHistory();\r\n const [selectedDate, setSelectedDate] = useState(new Date());\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
{props.selectedItem}
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n
\r\n \r\n \r\n
\r\n {\r\n setSelectedDate(date)\r\n props.HandleSLAMonth(date)\r\n }}\r\n format=\"MMMM YYYY\"\r\n style={{ width: '300px' }}\r\n error={false}\r\n helperText={null}\r\n />\r\n
\r\n
\r\n All Exemption
{props.counters?.Total?.toString()}
\r\n Voice
{props.counters?.Voice?.toString()}
\r\n Non voice
{props.counters?.['Non-Voice']?.toString()}
\r\n
\r\n
\r\n\r\n\r\n
\r\n )\r\n}\r\nexport default FilterTab;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAA7FJREFUOE99VH9o1GUYf573+71zp86myJo2b253utZKqWXWHxOFaQZOSAvU2m07SsgikCiKCIygCAsq/2o0725zEYMKIkOUhBKnCzacMlm5H7bFLLPdps1zd/e+T5937OadP/rCe9/3+b7vfZ7n83k+78t7i9t98bzJ1aLkKTFcQ0KLmclDRKWYX2RiEpYCxIR4HL//YJwzLF8Z0r1t/S/+Mb0283B9MPq+kOxSRAm8zwpxN7F0udodTzlTk4520+TQPODmA3AZRhX2rCMyy4hVT2rq+o4vh/fEZwEbApE/UcFBh+mLgxfCg9nZ7jbfvfTzuam5vmoRfQDgO2MDDV1ZgNEhIfMzM28QojOge4JFfhHmCaPVdVaisTlPSC9QpCpEqBpxFSlbMV9WrF6NXAh15gIqegVU/KC1jUT8WFyAUYQxhO+MdwEhExJNQLtRTI+z8PdY+hCAb9wOyLQl1t/Qa7OEy5uXppPuYlRmNcsTh4GjU0rUv44y8ZTP/av1bGjS7oX+P90GGApExkD3dQA2/59+dYGWQkXmNeXydtGmlBQnxYhG+Z9G+xvfvkk5GDmJIIAOd6Jrhx2tulmSf19lPV45eOnaPtpnGoKRWnZUi9GmoGqjn4pXLqQbiTSdPzlKI79ON/jrWH/jM3bCtstQ6RMjtBHZiqFVIb7P2EAmQFuxww/dt6KAd++vJn/Fohwi79R+RyN9YxbqEFjWWcAhdHRaw7qymJ8cvYSNs0ixWYtdHgi/1XG58oMjT3NhSX4O2Gd7jlP3sWGq2uSnrqPDZEg2w9iRqyKqvmWg/ttbNXz2gXbvvORkYlO4Uu18a80dwerfe4I27Cinlx5p04lryYgFPAWqSwxRG6zwzRzH+3vTb7uu2H+HSmOr2DE9Lx9YT2s2L58FzFSWAbMLHzUepfMdo50cCkYH4avT8N8qe46xloCmF6GlsrbBAX4sG/BOYDmAGQ2TOnXF4/GWwBqrYYYgzmoRMJej++ueDFeSpXw3MAt4k3IgegkV1WSMfauOMG8rmvLc/WuLuBc2yaaZ2ftD0zlq398105QV0R7QHYNJP/b4TEdz7wvWA7NPqKxppXK9Z3zzPXk1z1fwtr0P5+T88VAftb57Oss2wch6RG/iYngcmsVR7TB0u4xvIxg3EBtcCOWuo2q1ljk5xu4YNSN9cdx8Wca26baWN+ffk0ovdJS3DNdpsWFVgvqJlMGFwC58msaJng9tH1UeetCk5V5WPCXGnEKyWMtAOJYp+z/T575CPaUK3QAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAUCAYAAABmvqYOAAAABHNCSVQICAgIfAhkiAAAAtxJREFUOE+llE1IVFEUx8+5r/kwFaOSIIPKec9cFLQQwk24aSNBQSJ9Oe/NBLoxo6JFRRFRghBpLSImnTfPoVCMINDaBNKikLJFELRwZoQWLYowF5Y28+7pvFej44gzg97Ve/ee8zv/+7/nXoQiw9DMa0RgcFhtsdic9QmpKCexUAKD9xPhMwR6yXHxUuCEWANEt5CUu4XhqtlEAOMc1EiA30uBWwkjqQeiPSSUlAs/sfvRtrINSnl+sg3iAKt4sghHesU74XqrDXo3mAgdD2rmfSSaxqBqtQDISwi4GYDEsjSCOUDYt6RcXi2m3kqEw4twXTM/s7qfAIJ9lUpuMhJWEcK5LJyAHhSBzyxTrqsmCRKGmdSt/ERjpeejheBc/OMKuKMslghNFIIDeuclLTTkx/hlxUjuXCTVOrtkCysvBe52Cx8oAG51YURCIlyMT4Ue5hdcIxzq80HWlDG2JriuDpzhg+5ntae5fx8X65TsOisf4+57i86BrmpLramhwGEbKM0tOcq9W5ZXwIsyMxxLtb8P1lk1fJPbiWgn34RDgNhVEO6Agmr0CCKedZNQOK3q+V8gTSQreFdfWeUpRfHN2HL+Df/7uMhT5bd9oyjcARm7zE3C59/ofNv2wk0+zYMCPEf5TyOUfZJg1oPergylYxzygi3sdGId+Dxvw4glQ0MleOrED7ONdV7AYxF+R9pqzWYUMMBqZ/h8KpkRZ/iVLPw1IuzgZ3UcCLdbSaM5vGeg0raV8/yINC0rSLKSrQnwXB8DeAf/RlCLHuaXI8oFqllvL69dcOFtgf69Cioh7uM2vv6Dvl/V1xfKf1zmPu7kYp+4tzNZCCv2SEFD/kw6Hkl1zOYWDqtWYwZkC0lxL57Sv7hwt3K9tQXTcpKVPkckTsIuht+xkuHbJVi1akgOnCZBwDe2RxNIvXNT5d0j0GqvG66rsQArNdmaBrahx1/1pzvyoSO9HrCT+xf+1HLBNa4QdAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAALCAYAAAByF90EAAAABHNCSVQICAgIfAhkiAAAAK9JREFUKFNjTFCdb/D/P0M/4x+GwAUPEj8wkACAehcAlR9YcDtxAWOCyvwD/xkY7IECF4CGORJrGMgQoAPiQfYysjAoMiYozBf4x8JwgJGBQZ9Yw1AMYWRIBLsIZCIphmEzBOwqWJAQYxguQ1AMIuQyfIZgGITLMAZWhgnwgIWGCXrkwr2GLIHmTVCSEADbisMQrC7CEWZ4DcFrELI3mRgZJoCiGF9axeo1EhI3XCkAa6JzU68WVgcAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAALCAYAAAByF90EAAAABHNCSVQICAgIfAhkiAAAAKNJREFUKFNjZMADEhTmC/xnYVjPyMhQuOB24gV8ahlxSUIN2Q+UNwDiD0DDHPEZhtUgNENgduE1DMMgNEM+Al3iADSp4P9/hnh8LkMxCJshMO8kqM5fgM8wuEH4DIH5DZ9hYIOIMYSQYYykGILPMMYElfkH/jMw2AMVgQOWUHrBahgLgyEj0N8G//4zbGBiZAgg1hBkw0BsoL4EnAkSXyrGJgcAHvlyU9IFNQcAAAAASUVORK5CYII=\"","import ReactModal from \"react-modal\";\r\n\r\nReactModal.setAppElement('#root')\r\nexport function GenericModal({ isOpen, setShowModal, children,height,width }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '10em',\r\n left: '20em',\r\n width: '600px',\r\n height: '500px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '0em',\r\n right: '0px',\r\n bottom: '0px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n\r\n\r\n\r\n\r\n","import React, { useEffect, useState } from 'react';\r\n\r\n\r\nconst Exemption_initialState = {\r\n name: [],\r\n data: [],\r\n comments: '',\r\n type: '',\r\n penalty: '',\r\n}\r\n\r\nexport function ExemptionModalHandler(props) {\r\n const [selectedType, setSelectedType] = useState('Valid');\r\n const [editFormInfo, setEditFormInfo] = useState({});\r\n const [addExemptionForm, setAddExemptionForm] = useState(Exemption_initialState);\r\n\r\n let editMode = props.editMode;\r\n\r\n useEffect(() => {\r\n let temp = {\r\n comments: props.ExemptionData.Comments,\r\n type: props.ExemptionData.Type,\r\n penalty: props.ExemptionData.Penalty,\r\n };\r\n setSelectedType(props.ExemptionData.Type)\r\n setEditFormInfo(temp)\r\n }, [])\r\n\r\n const onChangeExemptionRadio = (value) => {\r\n if (editMode) {\r\n const newFormData = { ...editFormInfo };\r\n newFormData['type'] = value;\r\n setEditFormInfo(newFormData)\r\n }\r\n else {\r\n const newFormData = { ...addExemptionForm };\r\n newFormData['type'] = value;\r\n setAddExemptionForm(newFormData)\r\n }\r\n }\r\n const onChangeExemptionInput = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (editMode) {\r\n const newFormData = { ...editFormInfo };\r\n newFormData[fieldName] = fieldValue;\r\n setEditFormInfo(newFormData)\r\n }\r\n else {\r\n const newFormData = { ...addExemptionForm };\r\n newFormData[fieldName] = fieldValue;\r\n setAddExemptionForm(newFormData)\r\n }\r\n }\r\n\r\n const onClickFormSubmit = (event) => {\r\n console.log(editFormInfo)\r\n props.handleExemptionFormSubmit(editMode ? editFormInfo : addExemptionForm)\r\n }\r\n return (\r\n <>\r\n
\r\n
{editMode ? 'Edit' : 'Add'} SLA Failure Exemption Comments
\r\n
Penalty amount to be entered only in USD $ [only numbers are accepted]
\r\n
SLA Name : {props.SLA_name}
\r\n
Select Exemption Type
\r\n {\r\n onChangeExemptionRadio('Valid')\r\n setSelectedType('Valid')\r\n }} />\r\n \r\n {\r\n onChangeExemptionRadio('Exemption')\r\n setSelectedType('Exemption')\r\n }} />\r\n \r\n
\r\n
\r\n \r\n {editMode ? :\r\n \r\n }\r\n
\r\n
\r\n \r\n {editMode ? :\r\n }\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\n\r\n\r\n\r\nexport function RequestModalHandler(props) {\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n Request for SLA Data Exclusion\r\n
\r\n
\r\n
\r\n
The {props.ExclusionName} SLA date exclusion request received successfully.\r\n You will receive an email confirmation from the administrator to the registered mail ID ({props.userEmail}).
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}","export const slaFailure_actionTypes = {\r\n\r\n // GET\r\n GET_EXEMPTION_DATA_START: \"GET_EXEMPTION_DATA_START\",\r\n GET_EXEMPTION_DATA_SUCCESS: \"GET_EXEMPTION_DATA_SUCCESS\",\r\n\r\n // EDIT\r\n UPDATE_EXISTING_COMMENT_START: \"UPDATE_EXISTING_COMMENT_START\",\r\n UPDATE_EXISTING_COMMENT_SUCCESS: \"UPDATE_EXISTING_COMMENT_SUCCESS\",\r\n\r\n GET_EXCLUSION_DATA_START: \"GET_EXCLUSION_DATA_START\",\r\n GET_EXCLUSION_DATA_SUCCESS: \"GET_EXCLUSION_DATA_SUCCESS\",\r\n\r\n UPDATE_EXCLUSION_COMMENT_START: \"UPDATE_EXCLUSION_COMMENT_START\",\r\n UPDATE_EXCLUSION_COMMENT_SUCCESS: \"UPDATE_EXCLUSION_COMMENT_SUCCESS\",\r\n}","import { slaFailure_actionTypes as actionTypes } from './../../constants/Administration/SLAFailure-actionTypes';\r\n\r\nexport const getExemptionDataStart = (custId, servId, month) => ({\r\n type: actionTypes.GET_EXEMPTION_DATA_START,\r\n custId, servId, month\r\n});\r\n\r\n\r\nexport const updateExistingCommentStart = (custId, servId, month, sla, id) => ({\r\n type: actionTypes.UPDATE_EXISTING_COMMENT_START,\r\n custId, servId, month, sla, id\r\n});\r\n\r\nexport const updateExistingCommentSuccess = () => ({\r\n type: actionTypes.UPDATE_EXISTING_COMMENT_SUCCESS\r\n});\r\n\r\nexport const getExclusionDataStart = (custId, servId, month) => ({\r\n type: actionTypes.GET_EXCLUSION_DATA_START,\r\n custId, servId, month\r\n});\r\n\r\n\r\nexport const updateExclusionCommentStart = (custId, servId, month, sla, id) => ({\r\n type: actionTypes.UPDATE_EXCLUSION_COMMENT_START,\r\n custId, servId, month, sla, id\r\n});\r\n\r\nexport const updateExclusionCommentSuccess = () => ({\r\n type: actionTypes.UPDATE_EXCLUSION_COMMENT_SUCCESS\r\n});\r\n\r\n\r\n\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport AddComments_Icon from '../../../../assets/admin-images/AddComments_Icon.png';\r\nimport Expand_DownArrow from '../../../../assets/admin-images/Expand_DownArrow.png';\r\nimport Collapse_UpArrow from '../../../../assets/admin-images/Collapse_UpArrow.png';\r\nimport Edit_Icon from \"../../../../assets/images/Edit_Icon.png\";\r\nimport DATA from './../DATA.json';\r\nimport { GenericModal } from '../../General/SLA-modal';\r\nimport { ExclusionModalHandler, ExemptionModalHandler } from '../ModalHandler';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getUserData } from '../../../../actions/user.action';\r\nimport TooltipHandler from '../../../Onboard/OnboardComponents/TooltipHandler';\r\nimport { updateExistingCommentStart } from '../../../../actions/Administration/SLAFailure.action';\r\nimport { getExemptionDataStart } from './../../../../actions/Administration/SLAFailure.action';\r\n\r\n\r\n\r\n\r\n\r\nexport default function TableBodyHandler({ key, info, updateExistingComment,RoleBasedView}) {\r\n const dispatch = useDispatch();\r\n let userInfo = useSelector((state) => state.userReducer.userInfo);\r\n useEffect(() => {\r\n dispatch(getUserData());\r\n }, [dispatch]);\r\n const [ExemptionData, setExemptionData] = useState([]);\r\n const [showAccordion, setShowAccordion] = useState(false);\r\n const [showExemptionModal, setShowExemptionModal] = useState(false);\r\n const [exemptionModalInfo, setExemptionModalInfo] = useState([]);\r\n const [editMode, setEditMode] = useState(false);\r\n const [validation, setValidation] = useState('');\r\n\r\n\r\n\r\n const currentDateHandler = () => {\r\n let today = new Date();\r\n let month = today.getUTCMonth() + 1;\r\n let day = today.getUTCDate();\r\n let year = today.getUTCFullYear();\r\n let hours = today.getHours();\r\n let minutes = today.getMinutes();\r\n let seconds = today.getSeconds();\r\n let newdate = (month < 10 ? '0' + month : month) + \"/\" + (day < 10 ? '0' + day : day) + \"/\" + year;\r\n let newTime = (hours < 10 ? '0' + hours : hours) + \":\" + (minutes < 10 ? '0' + minutes : minutes) + \":\" + (seconds < 10 ? '0' + seconds : seconds) + ' hours';\r\n let current_date = [];\r\n current_date.push(newdate);\r\n current_date.push(newTime);\r\n return current_date.join(' ');\r\n }\r\n const createdUserDetails = () => {\r\n let temp_arr = [];\r\n temp_arr.push(userInfo?.name);\r\n temp_arr.push(userInfo?.email);\r\n return temp_arr.join(' ');\r\n }\r\n\r\n\r\n const penaltyExemptionHandler = (data) => {\r\n if (data.type === 'Valid') return data.penalty ;\r\n else return '0'\r\n }\r\n\r\n const handleExemptionFormSubmit = (data) => {\r\n console.log(data)\r\n const newExemption = {\r\n Commenter: createdUserDetails(),\r\n CommentDate: currentDateHandler(),\r\n Comments: data.comments,\r\n Type: data.type,\r\n Penalty: penaltyExemptionHandler(data),\r\n sla:info.ID\r\n }\r\n const newExemptions = [newExemption, ...ExemptionData]\r\n const temp_Arr = {\r\n Comments: data.comments,\r\n Type: data.type,\r\n // Penalty: penaltyExemptionHandler(data),\r\n }\r\n const isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\n if (isEmptyInput) {\r\n setShowExemptionModal(true);\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n }\r\n else{\r\n setExemptionData(newExemptions);\r\n setShowExemptionModal(false);\r\n updateExistingComment(newExemption)\r\n }\r\n \r\n \r\n }\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n function DateHandle(value) {\r\n let str = value.split('T');\r\n str[0] = formatDate(str[0]);\r\n str[1] = str[1] + ' hours';\r\n return str.join('\\t')\r\n }\r\n useEffect(() => {\r\n if (info?.Comments?.length > 0) {\r\n let arr1 = [...info?.Comments];\r\n arr1.reverse()\r\n let arr2 = arr1.map((a, i, arr) => {\r\n return {\r\n Commenter: a?.Commenter,\r\n CommentDate: DateHandle(a?.CommentDate),\r\n Comments: a?.Comments,\r\n Type: a?.Type,\r\n Penalty: a?.Penalty,\r\n ID: a?.ID\r\n }\r\n })\r\n setExemptionData(arr2)\r\n }\r\n else setExemptionData([]);\r\n }, [])\r\n\r\n console.log('RoleBasedView',RoleBasedView)\r\n return (<>\r\n \r\n {info?.Month} \r\n {info?.SLA} \r\n {info?.Type} \r\n {info?.['Minimum Target']} \r\n {info?.['Expected Target']} \r\n {info?.Performance?.Value} \r\n {info?.Performance?.Met} \r\n {info?.Performance?.All} \r\n {info?.Status} \r\n {RoleBasedView === 0 ? \r\n \r\n {\r\n setEditMode(false)\r\n ExemptionData.length !== 0 && setShowAccordion(!showAccordion);\r\n setExemptionModalInfo({})\r\n }}>\r\n \r\n {ExemptionData.length !== 0 && (showAccordion ? : ) \r\n }\r\n \r\n \r\n : \r\n {\r\n setEditMode(false)\r\n ExemptionData.length !== 0 ? setShowAccordion(!showAccordion) : setShowExemptionModal(true);\r\n setExemptionModalInfo({})\r\n }}>\r\n \r\n {ExemptionData.length !== 0 ? (showAccordion ? : ) \r\n : \r\n }\r\n \r\n }\r\n\r\n \r\n\r\n {(showAccordion) &&\r\n \r\n
\r\n
\r\n {DATA.header2.map(data => ({data.label}))}
\r\n
\r\n {ExemptionData?.map(data => (\r\n
\r\n\r\n {Object.values(data).slice(0, 5).map((value, i) => ({value}))}\r\n {ExemptionData?.indexOf(data) === 0 ? (RoleBasedView === 1 && \r\n {\r\n setEditMode(true)\r\n setShowExemptionModal(true);\r\n console.log(ExemptionData?.[0])\r\n setExemptionModalInfo(ExemptionData?.[0])\r\n }}>\r\n \r\n ) : }
\r\n ))}\r\n
\r\n
\r\n }\r\n\r\n {showExemptionModal && \r\n setShowExemptionModal(false)}\r\n handleExemptionFormSubmit={handleExemptionFormSubmit}\r\n SLA_name={info?.SLA} ExemptionData={exemptionModalInfo}\r\n editMode={editMode}\r\n />\r\n }\r\n\r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport FilterTab from '../FilterTab';\r\nimport AboveMinimalTargetIcon from \"../../../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport SLADataExclusion_Icon from '../../../../assets/admin-images/SLADataExclusion_Icon.png';\r\nimport DATA from './../DATA.json'\r\nimport TableBodyHandler from './SLA-Exemption-Table';\r\nimport './../SLA-Admin.css';\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getExemptionDataStart, updateExistingCommentStart } from '../../../../actions/Administration/SLAFailure.action';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { getRoleBasedView } from '../../../../actions/Administration/admin.action';\r\n\r\n\r\nfunction SLAExemptionHandler() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let ExemptionData = useSelector((state) => state.slaFailureReducer.ExemptionData);\r\n let AccountDetails = useSelector((state) => state.adminAccountReducer.AccountDetails);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\nconsole.log(AccountDetails)\r\n console.log(ExemptionData, AccountDetails);\r\n const [selectedDate, setSelectedDate] = useState()\r\n useEffect(() => {\r\n dispatch(getExemptionDataStart(AccountDetails.CustomerID, AccountDetails.ServiceDeskID, formatMonthDate(new Date())))\r\n // dispatch(getExemptionDataStart('20', '15', '2022-07-01'))\r\n setSelectedDate(formatMonthDate(new Date()))\r\n }, [])\r\n const formatMonthDate = (date) => {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n return [year,month,'01'].join('-');\r\n }\r\n const HandleSLAMonth = (value) => {\r\n setSelectedDate(formatMonthDate(value))\r\n console.log(formatMonthDate(value))\r\n // dispatch(getExemptionDataStart('20', '15', formatMonthDate(value)))\r\n dispatch(getExemptionDataStart(AccountDetails.CustomerID, AccountDetails.ServiceDeskID, formatMonthDate(value)))\r\n }\r\n console.log(selectedDate)\r\n const updateExistingComment = newExemption => {\r\n console.log(newExemption)\r\n \r\n let temp = {\r\n Comment: newExemption.Comments,\r\n Type: newExemption.Type,\r\n Penalty: Number(newExemption.Penalty)\r\n }\r\n console.log(temp)\r\n console.log(newExemption.sla)\r\n // dispatch(updateExistingCommentStart('20', '15', '2022-07-01',newExemption.sla, temp))\r\n // dispatch(getExemptionDataStart('20', '15', '2022-07-01'))\r\n \r\n dispatch(updateExistingCommentStart(AccountDetails.CustomerID, AccountDetails.ServiceDeskID, (selectedDate),newExemption.sla, temp))\r\n dispatch(getExemptionDataStart(AccountDetails.CustomerID, AccountDetails.ServiceDeskID, (selectedDate)))\r\n }\r\n \r\n\r\n useEffect(() => {\r\n dispatch(getRoleBasedView())\r\n }, [dispatch]);\r\n\r\n console.log('RoleBasedView',RoleBasedView?.[0]?.SLAExemption?.[0]?.ReadWrite)\r\n return (\r\n <>\r\n
\r\n history.push('/welcome')} label1='Home' isActive2={true} value2={()=>history.push('/admin')} label2='Administration' isActive3={false}\r\n label3={ExemptionData?.[0]?.Customer?.Name + ' - ' + ExemptionData?.[0]?.ServiceDesk?.Name + \" - SLA Failure Exemption \" } />
\r\n \r\n
\r\n Legend: \r\n Above Minimal Target Below Minimal Target\r\n
\r\n
\r\n \r\n \r\n {DATA.header.map(data => ())}\r\n \r\n {ExemptionData?.[0]?.Rows?.map((info, i) => )}\r\n \r\n
{data.label}
\r\n

\r\n{(ExemptionData?.[0]?.Rows === '' || ExemptionData?.[0]?.Rows === undefined || ExemptionData?.[0]?.Rows === null) ? \r\n
No Data Found for Selected Year & Month
: '' }\r\n


\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default SLAExemptionHandler","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAUCAYAAABSx2cSAAAABHNCSVQICAgIfAhkiAAAAm5JREFUOE+Vk11oUmEYx5/37JyT+f3BKoPGKosmMYrNooho1FpR3QwqGJU60bUyCrrIBi2oGHSRLVaNFaSzWRc1BkMa1WQXA9e8arsIDG0GNRqDTEPTY563V0Gwmc6ey/d9fs//+URArK3GraBZ7j4C2IcB0tm38oaqKISHURZkWK6PgAd4wPMI0GeMqUelYIx4mkJwCwC9QWc0DjcFsJ+AVgJeIEFSzqDxYCnY0jDAcFF2AiM0hQwax1cCLpBIMQKsRxg+DYaMTZXCYR7gPVEXEmWaQJOOoOF65TCmOl0h/VghcHrT4zqgIPk0YJ4rfF+adpgvgE11ztukhItSlSDFcTzFpzPRxM/fVwaDBnc2SEnY2vjMI5CwzbahFla1VpwT9L8Kg/OaL/krxl0mjXz4T5gCXrZOq+xXqkVyxWoh6G/sgshCAu6ax2Fz4yqYeP4xTXPJalBAorDbubSlCub8yau6I3taNdDb4QWhlIUvgQjoDtfCsc56sJvexmYn58+ukKZeFsESJdNj7WvatmXnmpxi16ERUG+QQffw0Vz6Qzf9Ka/rg42VcQ+KYLGcMbRe2n6iobkG7JZx0LXUQmhmEfIl9LSN/Qj4F9sF8qSnCMYowyurRS8kKoFkRzbVc/U5xV6LF8i+Q2D6W2Rg9pSyZLctW4fuCcS0uePO3pXa3WpIxtPwzjMHru6pDLHjrpBppOyc9RqnSSRjbPEop6miqbRQwvji35NdjlC7r+yc/15JTG6EbPoSK6u83CUXwwD95DCmlwOz/zzCNIXBjhH1Guk3OmcQYFklYN6HFES0YBQZNU+0/wPmfSnMcH8ArOhmesmGvtYAAAAASUVORK5CYII=\"","import ReactModal from \"react-modal\";\r\nimport { KeyboardDatePicker } from '@material-ui/pickers';\r\nimport { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { updateValidToDateStart } from'../../../actions/Administration/admin.action'\r\nexport function ActivationRequestModal(props) {\r\n\r\n const dispatch = useDispatch();\r\n const [validation, setValidation] = useState('');\r\n const [ValidFrom, setValidFrom] = useState('');\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n const ValidFromDateHandler = (date) => {\r\n setValidFrom(formatDate(date));\r\n }\r\n const onSubmitRequest = () => {\r\n \r\n let obj = [{\r\n Account: props.data?.['Account Name'],\r\n Servicedesk: props.data?.['Site Name'],\r\n ValidUntil: ValidFrom\r\n }]\r\n if(ValidFrom){\r\n props.handleSubmitClick()\r\n dispatch(updateValidToDateStart(obj))\r\n setValidation('')\r\n }\r\n else{\r\n props.handleinvalidSubmitClick()\r\n setValidation('Please Ensure you filled the inputs with \" * \" mark ')\r\n }\r\n \r\n \r\n }\r\n return <>\r\n
\r\n \r\n
\r\n
Request for Account Re-Activation\r\n
\r\n
\r\n
{validation}
\r\n
\r\n
\r\n
Account Name: {props.data?.['Account Name']}{props.data.AccountName}
\r\n
Site Name: {props.data?.['Site Name']}{props.data.SiteName}
\r\n
\r\n \r\n ValidFromDateHandler(date)}\r\n format=\"MM/DD/YYYY\"\r\n style={{ width: 380 }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n}\r\n\r\n\r\nexport function RequestSentModal(props) {\r\n\r\n return (<>\r\n
\r\n
\r\n
\r\n Request for Account Re-Activation\r\n
\r\n
\r\n
\r\n
The {props.data?.['Account Name']} - {props.data?.['Site Name']}\r\n {props.data.AccountName} - {props.data.SiteName}\r\n account activation request received successfully. You will receive an email\r\n confirmation from the administrator to the registered mail ID ({props.data?.['Created By']}{props.data.CreatedBy}).\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport function ActivateModelPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '15em',\r\n left: '30em',\r\n width: '500px',\r\n height: '300px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAt9JREFUSEutVktu2lAUxSABQ7qCegdxxq1U0y4gzg7cIR+peF4pZtCxXYnPMHQFgQUk8aAd16wAdwVhCAxwz7Huax/+kFQq0pOf3+eccz++F6N25jefz83j8XhlGIaNYyaGJcdjPJM0TaN6vb7q9XpJFYxRtkFgrN8A4BrPpQAlu92OwLV2u22BmGcckmPcYT4uIyoQzGYzB4dvcekbAH3P87ZBEHRardYFQDskgOrtfr9fqz0Q+hDhYsvt9/tLXfQJwXQ6dQEc4rA9GAxivFt4v6FSjDXGVi6T6EKsG2tnI9wd4X2hSP4QiPKFAoebSORihIfDIaRarH3BxRSu+Eyrms3mCAJGtBjKPREU6ZZkBPQ5gH5idEXNEhc7cINDYKVGJ1Br4j6CbkByrUhw32JMMgKoX2Bhi4WRKLdw2NZ9yflkMvnA53A4vM/vASMGRkQM4nEfGK4h6mOoNWGyyUOc68rzYGXvYglT14ZLEyRFQisMsNGHVOzCPLomwjwsA5H0rVXlPe77xIKbHYVlcMJsAOsSrE9Q/6pKvQDUAECgwk+seIJA4ro44NAC+o5W1Jgx2FRfawHgOQKJp44XkCClaqhnUJl23wX5Aa540FmqCBj8RqPRFZFv8QyBGdEjZQQ/BPS+hIAfHkuHw3RW5ELwXgje5AlOTIKLLs9ljeR5gUTdybv8n4KsQKpIqoJ8kqYAiauyJBcPJoPPlNSIi2n6nz+0DcuNfGgbxOuyqlS8K4sFxGSBzAdfS89iqeCmskIr0/yiXyPVui8sdo+4+4vuApaNOe//LXaigL4slGscDNB4vpaVazSaT6z/bE4schL8R+B8VI3n2YbDQALgisHH0BuOBfCVBDoW5XdY80objpbHmSUYt3DRWLlIALKWKaU94pypCUsC6d/nW6YikZgw5UhGk1kQE/ZhnmF/xsOUfRvPFUj9FzV9RaIF32HwAUBAAvO3xhrrfcTSce5vy2/MfWnoIDzgAgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAABHNCSVQICAgIfAhkiAAAAKlJREFUWEdjjFeZ/59hEADGQeeQBbcTBiRcElQXgO2Fh8ioQ0ZDBC0ljqYR9KxJtRDZMOkCMO9BjA/INSC5CKCaQ2AGgVxAThEw6hCapZHRqMEVtHRJrKAsumEyMJuSCUDZOiAPe9YmKdeMOoSUGBjNNQOaa/BF1WjUDNqoAbdHoABXoUVM1I52J2ChRFIRT0oBR6raUYfQrIVGalQQdAilBlKqf9CMjwAAwVXehejB9zQAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAABHNCSVQICAgIfAhkiAAAAIZJREFUWEdjjFeZ/59hEADGQeeQBbcTBiRcElQXgO2Fh8ioQ0ZDBC0ljqYR9Kw5GiKjIUKouB5NI8MjjWyYdIFhw+QLhKIbp3xArgFDQJ4BVnmS0sioQ8iOAzI0khQ1ZJhPtJZRhwyPcoToCCdD4WgaGU0jhJLNaBoZOmmEUFzSWn7QjI8AAIcftIXE58mTAAAAAElFTkSuQmCC\"","import React, {useState } from 'react'\r\nimport { KeyboardDatePicker, KeyboardTimePicker } from '@material-ui/pickers';\r\nimport clock_normal from '../../../../assets/images/Clock_Normal.png';\r\nimport Add_Dates from '../../../../assets/admin-images/Add_Dates.png';\r\nimport Remove_Dates from '../../../../assets/admin-images/Remove_Dates.png';\r\nimport { useEffect } from 'react';\r\n\r\nfunction formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n}\r\nfunction formatTime(time) {\r\n let today = new Date(time),\r\n hours = today.getHours(),\r\n minutes = today.getMinutes(),\r\n seconds = '00'\r\n if (hours < 10)\r\n hours = '0' + hours;\r\n \r\n if (minutes < 2)\r\n minutes = '0' + minutes;\r\n return [hours, minutes, seconds].join(':');\r\n}\r\n\r\nconst formatTimeIST=(date) =>{\r\n let hms = date;\r\nvar target = new Date(\"1970-01-01T\" + hms);\r\nreturn target\r\n}\r\n\r\nfunction AddDateTimeFormat(props) {\r\n const [selectedDate, setSelectedDate] = useState(new Date('01/01/2000'));\r\n const [startTime, setStartTime] = useState(new Date(''));\r\n const [endTime, setEndTime] = useState(new Date(''));\r\n useEffect(() => {\r\n const {EndTime, StartTime, Date:date = ''} = props.rows;\r\n // const { Date:date = '', EndTimeDateObj:endTime = '', StartTimeDateObj:startTime = '', } = props.rows;\r\n // console.log(\"rows in Add date time format :::::::::::\", props.rows);\r\n // if(date) {\r\n // \r\n // } \r\n setSelectedDate(new Date(date));\r\n setEndTime(formatTimeIST(EndTime));\r\n // setStartTime(new Date(startTime));\r\n setStartTime(formatTimeIST(StartTime))\r\n // if(endTime) {\r\n // setEndTime(new Date(endTime));\r\n // console.log(endTime)\r\n // }\r\n // else{\r\n // setEndTime(formatTimeIST(EndTime))\r\n // }\r\n // if(startTime) {\r\n // setStartTime(new Date(startTime));\r\n // }\r\n // else{\r\n // setStartTime(formatTimeIST(StartTime))\r\n // }\r\n \r\n }, [props.rows]);\r\n \r\n return (<>\r\n
\r\n\r\n
\r\n  \r\n\r\n {\r\n setSelectedDate(formatDate(date));\r\n props.onChangeExclusionDate('Date', formatDate(date))\r\n }}\r\n minDate={new Date('01/01/1990')}\r\n format=\"MM/DD/YYYY\"\r\n error={false}\r\n helperText={null}\r\n\r\n />
\r\n
\r\n  \r\n {\r\n setStartTime(new Date(date));\r\n props.onChangeExclusionDate('StartTime', formatTime(date))\r\n }}\r\n keyboardIcon={}\r\n error={false}\r\n helperText={null}\r\n\r\n />\r\n\r\n
\r\n
\r\n  \r\n {\r\n // here date is actual date object, b4 conversion\r\n setEndTime(new Date(date));\r\n props.onChangeExclusionDate('EndTime', formatTime(date))\r\n }}\r\n keyboardIcon={}\r\n error={false}\r\n helperText={null}\r\n\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\n\r\n\r\nexport function ExclusionModalHandler(props) {\r\n console.log(props.ExclusionData)\r\n // const Exclusion_initialState = {\r\n // Comments: '',\r\n \r\n // }\r\n const [displayRows, setDisplayRows] = useState([])\r\n const [exclusionData, setExclusionData] = useState([])\r\n const [commentAttribute, setCommentAttribute] = useState('');\r\n const [validation, setValidation] = useState('');\r\n const [editFormInfo, setEditFormInfo] = useState({});\r\n // const [addExemptionForm, setAddExemptionForm] = useState(Exclusion_initialState);\r\n let editMode = props.editMode;\r\n\r\n const onChangeExclusionDate = (type, date, index) => {\r\n const allDisplayRows = [...displayRows];\r\n console.log(allDisplayRows)\r\n const updateDisplayRows = allDisplayRows.map((row, i) => {\r\n if( i === index ) {\r\n return {\r\n ...row,\r\n // [type+'DateObj']: new Date(), // actualTimeObj ||\r\n [type]: date\r\n }\r\n } else {\r\n return row;\r\n }\r\n });\r\n setDisplayRows(updateDisplayRows);\r\n \r\n }\r\n const onClickAddNewDate = () => {\r\n let arr1 = [...displayRows];\r\n let temp = { id: displayRows.length + 1 }\r\n arr1.push(temp);\r\n setDisplayRows(arr1);\r\n console.log(displayRows)\r\n }\r\n\r\n const onClickDeleteButton = (id) => {\r\n let getExistingRows = [...displayRows];\r\n // console.log(\"before delete :::::\", arr1)\r\n // arr1.splice(i,1)\r\n // console.log(\"after delete :::::::\", arr1)\r\n const getDeletedRows = getExistingRows.filter((obj, i) => i !== id);\r\n console.log(\"after delete :::::::\", getDeletedRows)\r\n setDisplayRows(getDeletedRows)\r\n }\r\n const onChangeExclusionInput = (event) => {\r\n event.preventDefault();\r\n // setCommentAttribute(event.target.value);\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (editMode) {\r\n const newFormData = { ...editFormInfo};\r\n newFormData[fieldName] = fieldValue;\r\n setCommentAttribute(newFormData)\r\n }\r\n else {\r\n const newFormData = { ...displayRows };\r\n newFormData[fieldName] = fieldValue;\r\n setCommentAttribute(newFormData)\r\n }\r\n }\r\n const onClickSubmit=(event)=>{\r\n event.preventDefault();\r\n let temp = {\r\n comments:commentAttribute,\r\n data:displayRows\r\n }\r\n console.log(temp)\r\n // const temp_arr = Object.values(displayRows).every(row => Object.values(row).length >= 3)\r\n // console.log('temp_arr',temp_arr)\r\n // if(!temp_arr){\r\n // setValidation('Please Ensure you filled all the inputs with \" * \" mark')\r\n // }\r\n // else{\r\n props.handleExclusionFormSubmit(temp);\r\n // }\r\n }\r\n console.log(displayRows)\r\n console.log(commentAttribute)\r\n useEffect(() => {\r\n let temp = [\r\n {\r\n Date:'',\r\n EndTime:'',\r\n StartTime:''\r\n }\r\n ]\r\n console.log(props.ExclusionData?.Data)\r\n setDisplayRows(props.ExclusionData ? (props.ExclusionData?.Data !== null ? props.ExclusionData?.Data : temp) : temp);\r\n }, [])\r\n \r\n return (\r\n <>\r\n
\r\n
Request for SLA Data Exclusion
\r\n\r\n
SLA Name: {props.ExclusionName}
\r\n
{props.validation ? props.validation : validation}
\r\n
\r\n {displayRows.map((rows, i) => {\r\n console.log(\"rows :::::::::::::::::::\", rows);\r\n return ( onChangeExclusionDate(type, date, i)}\r\n // dateObj\r\n onClickDeleteButton={() => onClickDeleteButton(i) } key={i}/>)}\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {/* */}\r\n {editMode ? :\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport SLADataExclusion_Icon from '../../../../assets/admin-images/SLADataExclusion_Icon.png';\r\nimport Expand_DownArrow from '../../../../assets/admin-images/Expand_DownArrow.png';\r\nimport Collapse_UpArrow from '../../../../assets/admin-images/Collapse_UpArrow.png';\r\nimport AboveMinimalTargetIcon from \"../../../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport Edit_Icon from \"../../../../assets/images/Edit_Icon.png\";\r\nimport DATA from './../DATA.json';\r\nimport { GenericModal } from '../../General/SLA-modal';\r\nimport { RequestModalHandler } from '../ModalHandler';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getUserData } from '../../../../actions/user.action';\r\nimport { ActivateModelPopup } from '../../Administration_firstpage.js/ActivationModel';\r\nimport TooltipHandler from '../../../Onboard/OnboardComponents/TooltipHandler';\r\nimport { ExclusionModalHandler } from './ExclusionModalHandler';\r\nimport { getExclusionDataStart, updateExclusionCommentStart } from './../../../../actions/Administration/SLAFailure.action';\r\n\r\n\r\nexport default function TableBodyHandler({ info,selectedDate }) {\r\n const dispatch = useDispatch();\r\n let userInfo = useSelector((state) => state.userReducer.userInfo);\r\n let AccountDetails = useSelector((state) => state.adminAccountReducer.AccountDetails);\r\n useEffect(() => {\r\n dispatch(getUserData());\r\n }, [dispatch]);\r\n\r\n const [showAccordion, setShowAccordion] = useState(false);\r\n const [showExclusionModal, setShowExclusionModal] = useState(false);\r\n const [addExclusionID, setAddExclusionID] = useState(null);\r\n const [ExclusionComments, setExclusionComments] = useState([]);\r\n const [showRequestModal, setShowRequestModal] = useState(false);\r\n const [exclusionModalInfo, setExclusionModalInfo] = useState([]);\r\n const [editMode, setEditMode] = useState(false);\r\n const [validation, setValidation] = useState('')\r\n const [emptyRowData,setEmptyRowData] = useState(false)\r\n console.log(info)\r\n const handleExclusionFormSubmit = data => {\r\n console.log(data);\r\n let temp_arr = [...data.data];\r\n console.log(temp_arr)\r\n let tempArray2 = temp_arr.map(role => {\r\n return {\r\n Date: role.Date ,\r\n EndTime: role.EndTime ,\r\n StartTime: role.StartTime,\r\n \r\n } \r\n });\r\n const newExclusion = {\r\n info:info.ID,\r\n Comments :data.comments.comments,\r\n Data : tempArray2\r\n }\r\n console.log(newExclusion);\r\n let isEmptyInput = false;\r\n const filterd = tempArray2\r\n .forEach(row => {\r\n const values = Object.values(row);\r\n console.log(\"values::: 57 :::::::::\", values);\r\n if(isEmptyInput) {\r\n return\r\n } \r\n if(values.includes(undefined) || values.includes('')) {\r\n isEmptyInput = true;\r\n return;\r\n }\r\n // return !values.includes(undefined) // values.every((v) => v !== undefined || v !== null)\r\n });\r\n console.log(\"values::: 60 :::::::\", filterd)\r\n // const isEmptyInput = tempArray2\r\n // // .filter(row => {\r\n // // return Object.values(row).every(x => (x || x !== null || x !== '' || x !== undefined))\r\n // // })\r\n // .every(row => {\r\n \r\n // return Object.values(row).length >= 3 ;\r\n // });\r\n console.log(\"row values ::::::::::\",isEmptyInput );\r\n // const tempArr = tempArray2.every(row => {\r\n // const yes = Object.values(row).some(x => (x === null || x === '' || x === undefined))\r\n // console.log(\"row values ::::::::::\",Object.values(row), Object.values(row).length, yes );\r\n // setEmptyRowData(yes)\r\n // return Object.values(row);\r\n // });\r\n // const tempArr = tempArray2.every(row => Object.values(row).some(x => (x === undefined)))\r\n // console.log(tempArr)\r\n\r\n if(isEmptyInput){\r\n setShowExclusionModal(true)\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark')\r\n }\r\n // else if(!tempArr){\r\n // setShowExclusionModal(true)\r\n // setValidation('Please Ensure you filled all the inputs with \" * \" mark')\r\n // }\r\n // else if(tempArray2.length === 0){\r\n // setShowExclusionModal(true)\r\n // setValidation('Please Ensure ') \r\n // }\r\n else{\r\n if(ExclusionComments !== null) {\r\n const newRoles = [newExclusion,...ExclusionComments];\r\n setExclusionComments(newRoles)\r\n }\r\n else{\r\n const newRoles = [newExclusion];\r\n setExclusionComments(newRoles)\r\n }\r\n setShowExclusionModal(false);\r\n setValidation('')\r\n }\r\n\r\n let dataArr = temp_arr.map(role => {\r\n return {\r\n \"Date\": role.Date,\r\n \"StartTime\": role.StartTime,\r\n \"EndTime\": role.EndTime\r\n }\r\n });\r\n const dispObj ={\r\n \"Comment\": data.comments.comments,\r\n \"Data\": dataArr\r\n }\r\n console.log(newExclusion.info) //props.selectedDate\r\n dispatch(updateExclusionCommentStart(AccountDetails.CustomerID, AccountDetails.ServiceDeskID, selectedDate,newExclusion.info, dispObj))\r\n dispatch(getExclusionDataStart(AccountDetails.CustomerID, AccountDetails.ServiceDeskID, selectedDate))\r\n\r\n console.log('dispatchdata::::::::::',AccountDetails.CustomerID, AccountDetails.ServiceDeskID, selectedDate,newExclusion.info)\r\n\r\n\r\n // dispatch(updateExclusionCommentStart('20', '15', '2022-07-01',newExclusion.info, dispObj))\r\n // dispatch(getExclusionDataStart('20', '15', '2022-07-01'))\r\n }\r\n \r\n useEffect(() => {\r\n let temp_arr=[...DATA.ExclusionData[0].comments];\r\n let tempArr = info.Comments\r\n tempArr && tempArr.reverse()\r\n console.log(tempArr, temp_arr)\r\n setExclusionComments(tempArr)\r\n }, [])\r\n\r\n // useEffect(() => {\r\n // console.log(info)\r\n // if (info?.Comments?.length > 0) {\r\n // let arr1 = [...info?.Comments];\r\n // console.log(arr1)\r\n // const arr3 = [...info?.Comments[0].Data]\r\n // const tempArray2 = arr3.map((date)=>{\r\n // return{\r\n // Date: date.Date,\r\n // EndTime: date.EndTime,\r\n // StartTime: date.StartTime\r\n // }\r\n // })\r\n // let arr2 = arr1.map((a, i, arr) => {\r\n // return {\r\n // Data : tempArray2,\r\n // Comments :a?.Comments\r\n // }\r\n // })\r\n // setExclusionComments(arr2)\r\n // }\r\n // else setExclusionComments([]);\r\n // }, [])\r\n const formatDatefromString = (seldate) =>{\r\n var date = new Date(seldate); // M-D-YYYY\r\n\t\tvar d = date.getDate();\r\n\t\tvar m = date.getMonth() + 1;\r\n\t\tvar y = date.getFullYear();\r\n\r\n\t\treturn (d <= 9 ? '0' + d : d) + '/' + (m <= 9 ? '0' + m : m) + '/' + y;\r\n }\r\n console.log('..............',info.SLA)\r\n return (<>\r\n \r\n {info.Month} \r\n {info.SLA} \r\n {info.Type} \r\n {info?.['Minimum Target']} \r\n {info?.['Expected Target']} \r\n {info.Performance.Value}\r\n \r\n {info.WDE.Value}\r\n \r\n {info.Performance.Met} \r\n {info.WDE.Met} \r\n {info.Performance.All} \r\n {info.WDE.All} \r\n {info.Status} \r\n {\r\n setAddExclusionID(info.id)\r\n ExclusionComments !== null ? setShowAccordion(!showAccordion) : setShowExclusionModal(true)\r\n setEditMode(false)\r\n setExclusionModalInfo('')\r\n }}>\r\n {ExclusionComments !== null ? (showAccordion ? :\r\n ) :\r\n }\r\n \r\n \r\n \r\n\r\n {(showAccordion) &&\r\n \r\n
\r\n
\r\n {DATA.header2WDE.map(data => ({data.label}))}
\r\n
\r\n {ExclusionComments?.map(comment => (\r\n
\r\n
\r\n {comment?.Data?.map((value, i) => (\r\n
\r\n {formatDatefromString(value.Date)}\r\n {value.StartTime}\r\n {value.EndTime}
\r\n
))}
\r\n
{comment.Comments}
\r\n
{(ExclusionComments.indexOf(comment) === 0 && info.status !== 'Completed' && ExclusionComments !== null) ? \r\n {\r\n const element = ExclusionComments.find(details => details === info.Comments)\r\n const index = ExclusionComments.indexOf(element) + 1;\r\n setAddExclusionID(index);\r\n setEditMode(true)\r\n setShowExclusionModal(true);\r\n setExclusionModalInfo(ExclusionComments?.[0])\r\n }}>\r\n \r\n : }
\r\n
\r\n \r\n )\r\n )}\r\n
\r\n
\r\n }\r\n {showExclusionModal && \r\n setShowExclusionModal(false)} validation={validation}\r\n handleExclusionFormSubmit={handleExclusionFormSubmit} ExclusionData={exclusionModalInfo}\r\n ExclusionName={info.SLA}\r\n />\r\n \r\n }\r\n {(!showExclusionModal && showRequestModal) && \r\n setShowRequestModal(false)}\r\n userEmail={userInfo?.email}\r\n // ExclusionName={ExclusionComments[ExclusionComments.findIndex((data,i) => i === addExclusionID)].SLA}\r\n />\r\n \r\n }\r\n )\r\n\r\n}","import React, { useEffect, useState } from 'react';\r\nimport FilterTab from '../FilterTab';\r\nimport AboveMinimalTargetIcon from \"../../../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport SLAFailureExemption from \"../../../../assets/images/SLAFailureExemption_Icon.png\";\r\nimport DATA from './../DATA.json';\r\nimport './../SLA-Admin.css';\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb';\r\nimport TableBodyHandler from './SLA-Exclusion-Table';\r\nimport { useSelector } from 'react-redux';\r\nimport { useDispatch } from 'react-redux';\r\nimport { getExclusionDataStart } from '../../../../actions/Administration/SLAFailure.action';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\n\r\nfunction SLAExclusionHandler() {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let ExclusionData = useSelector((state) => state.slaFailureReducer.ExclusionData);\r\n console.log(ExclusionData)\r\n let AccountDetails = useSelector((state) => state.adminAccountReducer.AccountDetails);\r\n console.log(ExclusionData)\r\n const [selectedDate, setSelectedDate] = useState()\r\n useEffect(() => {\r\n // dispatch(getExclusionDataStart('20', '15', '2022-07-01'))\r\n dispatch(getExclusionDataStart(AccountDetails.CustomerID, AccountDetails.ServiceDeskID,formatMonthDate(new Date())))\r\n setSelectedDate(formatMonthDate(new Date()))\r\n }, [])\r\n\r\n\r\n const formatMonthDate = (date) => {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n return [year, month, '01'].join('-');\r\n }\r\n\r\n const HandleSLAMonth = (value) => {\r\n setSelectedDate(formatMonthDate(value))\r\n console.log(formatMonthDate(value))\r\n dispatch(getExclusionDataStart(AccountDetails.CustomerID, AccountDetails.ServiceDeskID,formatMonthDate(value)))\r\n }\r\n return (\r\n <>\r\n
\r\n history.push('/welcome')} label1='Home' isActive2={true} value2={()=>history.push('/admin')} label2='Administration' isActive3={false} \r\n label3={ExclusionData?.[0]?.Customer?.Name + ' - ' + ExclusionData?.[0]?.ServiceDesk?.Name + \" - SLA Data Exclusion\"} />\r\n
\r\n \r\n
\r\n Legend: \r\n Above Minimal Target Below Minimal Target\r\n       WDE   With Data Exclusion\r\n
\r\n
\r\n \r\n \r\n {DATA.headerWDE.map(data => ())}\r\n \r\n {ExclusionData?.[0]?.Rows?.map((info, i) => )}\r\n \r\n
{data.label}
\r\n

\r\n {(ExclusionData?.[0]?.Rows === '' || ExclusionData?.[0]?.Rows === undefined || ExclusionData?.[0]?.Rows === null) ? \r\n
No Data Found for Selected Year & Month
: '' }\r\n


\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default SLAExclusionHandler","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import React, { useState } from 'react'\r\nimport { ListGroup, Offcanvas } from 'react-bootstrap'\r\n\r\nexport const AccountsOffcanvas = (props) => {\r\n \r\n return (\r\n <>\r\n \r\n \r\n {props.Title}\r\n \r\n \r\n
\r\n {\r\n \r\n {props.ScorCardOffCanvasData.map((data, index) => (\r\n {data.Account}\r\n ))}\r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport const AccountsOffcanvasTL = (props) => {\r\n \r\n return (\r\n <>\r\n \r\n \r\n {props.Title}\r\n \r\n \r\n
\r\n {\r\n \r\n {props.ScorCardOffCanvasData.map((data, index) => (\r\n {data.value}\r\n ))}\r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\nimport PerformanceScoreCup from \"../../assets/images/PerformanceScoreCup.png\";\r\nimport DownloadIcon from \"../../assets/images/Download.png\"\r\nimport AccountAssignmentIcon from \"../../assets/images/AccountAssignmentIcon.png\"\r\nimport AboveMinimalTarget_Status from \"../../assets/images/AboveMinimalTarget_Status.png\"\r\nimport AboveRequiredTarget_Status from \"../../assets/images/AboveRequiredTarget_Status.png\"\r\nimport BelowMinimalTarget_Status from \"../../assets/images/BelowMinimalTarget_Status.png\"\r\nimport './AgentScorecard.css'\r\nimport Box from '../Box/box';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getScoreCardData, getScoreCardOffCanvasData } from './../../actions/ScoreCard&TeamKPI.action';\r\nimport DatePickerHandle from '../Onboard/OnboardComponents/KeyboardDatePicker';\r\nimport { AccountsOffcanvas } from './AccountsOffcanvas';\r\nimport { KeyboardDatePicker } from '@material-ui/pickers';\r\n\r\n\r\n\r\nfunction AgentScoreCard() {\r\n const dispatch = useDispatch();\r\n let ScoreCardData = useSelector((state) => state.ScoreCardReducer.ScorCardData);\r\n let ScorCardOffCanvasData = useSelector((state) => state.ScoreCardReducer.ScorCardOffCanvasData);\r\n let selectedAgentScoreCardDate = useSelector((state) => state.ScoreCardReducer.selectedAgentScoreCardDate);\r\n\r\n const ScorCardData = ScoreCardData ? ScoreCardData : {}\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, '01', year].join('/');\r\n }\r\n\r\n const [selectedDate, setSelectedDate] = useState(formatDate(new Date()));\r\n \r\n\r\n const ValidFromDateHandler = (date) => {\r\n setSelectedDate((date === null || date === undefined) ? null : formatDate(date));\r\n }\r\n console.log('selectedDate',selectedDate)\r\n\r\n useEffect(() => {\r\n dispatch(getScoreCardData(selectedDate,selectedAgentScoreCardDate));\r\n dispatch(getScoreCardOffCanvasData(selectedAgentScoreCardDate))\r\n }, [dispatch,selectedDate,selectedAgentScoreCardDate]);\r\n\r\n const getArrowMark = (color) => {\r\n switch(color){\r\n case 'Green': {\r\n return (\"AbvRqdTgt);\r\n }\r\n case 'Yellow' : {\r\n return (\"AbvMnmlTgt);\r\n }\r\n case 'Red' : {\r\n return(\"BlwMnmlTgt);\r\n }\r\n default: {\r\n return(
);\r\n }\r\n }\r\n }\r\n const [showOffCanvas,setShowOffCanvas] = useState(false)\r\n return (\r\n <>\r\n
\r\n
\r\n
Agent Scorecard
\r\n
\r\n
\r\n {/* ValidFromDateHandler(date)}\r\n /> */}\r\n ValidFromDateHandler(date)}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n Legend: \r\n Above Required Target\r\n Above Minimal Target\r\n Below Minimal Target\r\n
\r\n \r\n
\r\n
{ScorCardData.agentname}
\r\n
\r\n {/* agent */}\r\n \r\n
\r\n Employee ID
{ScorCardData.employeeid}
\r\n Alias
{ScorCardData.alias}
\r\n FTE
{ScorCardData.FTE}\r\n
\r\n
\r\n \r\n
\r\n Overall Performance Score\r\n
{ScorCardData.score}
\r\n {getArrowMark(ScorCardData?.['Last Month'])}{ScorCardData.ScorePM} for last month\r\n
\r\n
\r\n
\r\n Account Assignment
\r\n
\r\n
{setShowOffCanvas(true)}} style={{cursor:'pointer'}}>{ScorCardData.accounts}
\r\n
\r\n setShowOffCanvas(false)} show={showOffCanvas} Title='Account Assignment'/>\r\n
\r\n
\r\n

\r\n Download CSV \r\n
\r\n\r\n
\r\n
\r\n

\r\n\r\n {ScorCardData?.blocks?.map(box=>{}} click={false}/>)}\r\n

\r\n
\r\n\r\n \r\n )\r\n}\r\n\r\nexport default AgentScoreCard","import React, { useEffect } from 'react'\r\nimport { useState } from 'react';\r\nimport searchIcon from '../../../../assets/images/Search_Icon.png';\r\nimport RequestForReopen_Icon from './../../../../assets/onboard-images/RequestForReopen_Icon.png'\r\nimport RequestForDisbaled_Icon from './../../../../assets/onboard-images/RequestForDisbaled_Icon.png'\r\nimport Edit_Icon from './../../../../assets/images/Edit_Icon.png';\r\nimport deleteIcon from './../../../../assets/onboard-images/Delete_Icon.png'\r\nimport Eye_ViewDetails_Icon from './../../../../assets/onboard-images/Eye_ViewDetails_Icon.png';\r\nimport { useHistory } from 'react-router-dom';\r\nimport AdminBreadcrumb from '../../../Administration/General/Admin-breadcrumb';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getOnboardAccounts, getRoleTabData, updateReOpenRequestStart, updateReOpenRequestSuccess, viewAccountDetails } from '../../../../actions/Onboard.action';\r\nimport { ActivateModelPopup } from '../../../Administration/Administration_firstpage.js/ActivationModel';\r\nimport { AccountDeleted, DeleteModalPopup, OnboardRequestAdmin } from '../Modals/DeleteModalPopup';\r\nimport './Onboardlanding.css';\r\nimport TooltipHandler from './../TooltipHandler';\r\nimport { updateDeleteAccountStart } from './../../../../actions/Onboard.action';\r\nimport { DeleteFragment, DeletedModalPopup } from './../Modals/DeleteModalPopup';\r\nimport { getRoleBasedView } from '../../../../actions/Administration/admin.action';\r\nconst MOCK_DATA = [\r\n {\r\n // \"path\": \"data:image/png;base64,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\",\r\n \"Account Name\": \"Audi\",\r\n \"Site Name\": \"Derby UK\",\r\n \"Created By\": \"Hruby, Tomas (thruby@dxc.com)\",\r\n \"Valid From\": \"08/05/2021\",\r\n \"Valid TO\": \"08/07/2023\",\r\n // \"Status\": \"Saved\"\r\n }]\r\nconst Headers = [\r\n {\r\n id: 1,\r\n label: \"Account Logo\"\r\n },\r\n {\r\n id: 2,\r\n label: \"Account Name\"\r\n },\r\n {\r\n id: 3,\r\n label: \"Site Name\"\r\n },\r\n {\r\n id: 4,\r\n label: \"Created By\"\r\n },\r\n {\r\n id: 5,\r\n label: \"Created Date\"\r\n },\r\n {\r\n id: 6,\r\n label: \"Valid From\"\r\n },\r\n {\r\n id: 7,\r\n label: \"Valid To\"\r\n },\r\n {\r\n id: 8,\r\n label: \"Status\"\r\n },\r\n {\r\n id: 9,\r\n label: \"\"\r\n },\r\n {\r\n id: 10,\r\n label: \"\"\r\n },\r\n {\r\n id: 11,\r\n label: \"\"\r\n }\r\n]\r\nconst OnboardLanding = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n let onboardAccounts = useSelector((state) => state.onboardReducer.onboardAccounts);\r\n const [onboardAccountsData, setOnboardAccountsData] = useState(MOCK_DATA);\r\n const [viewDetailsID, setViewDetailsID] = useState(null);\r\n const [deleteAccountObj, setDeleteAccountObj] = useState()\r\n const accountData = [];\r\n\r\n useEffect(() => {\r\n dispatch(getOnboardAccounts())\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n const [filter, setFilter] = useState('');\r\n const [searchColumns, setSearchColumns] = useState([]);\r\n function searchRows(rows) {\r\n return rows.filter((row) =>\r\n searchColumns.some(\r\n (column) =>\r\n row[column]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(filter.toLowerCase()) > -1,\r\n ),\r\n );\r\n };\r\n const StatusHandleIcon = (status) => {\r\n switch (status) {\r\n case 'Saved': return Edit_Icon;\r\n case 'Submitted': return RequestForReopen_Icon;\r\n case 'Pending': return RequestForDisbaled_Icon;\r\n case 'Re-Open': return Edit_Icon;\r\n case 'Completed': return '';\r\n default: { }\r\n }\r\n }\r\n const StatusHandleText = (status) => {\r\n switch (status) {\r\n case 'Saved':\r\n case 'Re-Open':\r\n return 'Edit Account Details';\r\n case 'Submitted': return 'Request for Re-open';\r\n case 'Pending': return 'Re-open request sent to administrator';\r\n case 'Completed': return '';\r\n default: { }\r\n }\r\n }\r\n const StatusColorHandle = (status) => {\r\n switch (status) {\r\n // case 'Saved': return '#ffbb33';\r\n // case 'Submitted': return '#33b5e5';\r\n case 'Pending': return '#ff4444';\r\n //case 'Re-Open': return '#00695c';\r\n //case 'Completed': return '#00C851';\r\n default: { }\r\n }\r\n }\r\n useEffect(() => {\r\n setOnboardAccountsData((onboardAccounts.statusCode) ? [] : onboardAccounts);\r\n setSearchColumns(['Account Name', 'Site Name', 'Created By'])\r\n }, [onboardAccounts]);\r\n\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n const AccountViewDetailsHandle = (id) => {\r\n let selectedAccount = onboardAccountsData[id - 1];\r\n let temp_arr = {\r\n AccountName: selectedAccount['Account Name'],\r\n SiteName: selectedAccount['Site Name'],\r\n ValidFrom: formatDate(selectedAccount['Valid From']),\r\n ValidTo: formatDate(selectedAccount['Valid To']),\r\n mode: 'view',\r\n }\r\n dispatch(viewAccountDetails(temp_arr))\r\n history.push('/onboardAccount')\r\n }\r\n\r\n\r\n\r\n const [showReuqestModal, setShowRequestModal] = useState(false);\r\n const [showDeleteModal, setShowDeleteModal] = useState(false);\r\n const [showAccountDeletedModal, setShowAccountDeletedModal] = useState(false)\r\n\r\n const AccountEditDetailsHandle = (id, status) => {\r\n setViewDetailsID(id);\r\n let selectedAccount = onboardAccountsData[id - 1];\r\n let temp_arr = {\r\n AccountName: selectedAccount['Account Name'],\r\n SiteName: selectedAccount['Site Name'],\r\n ValidFrom: formatDate(selectedAccount['Valid From']),\r\n ValidTo: formatDate(selectedAccount['Valid To']),\r\n mode: 'edit',\r\n }\r\n let temp_arr2 = {\r\n Account: selectedAccount['Account Name'],\r\n Servicedesk: selectedAccount['Site Name'],\r\n Status: \"Submitted\"\r\n }\r\n\r\n switch (status) {\r\n case 'Re-Open':\r\n case 'Saved': {\r\n dispatch(viewAccountDetails(temp_arr))\r\n history.push('/onboardAccount')\r\n break\r\n }\r\n case 'Completed': { break }\r\n case 'Submitted': {\r\n dispatch(updateReOpenRequestStart(temp_arr2))\r\n dispatch(getOnboardAccounts())\r\n setShowRequestModal(true);\r\n break;\r\n }\r\n default: { }\r\n }\r\n }\r\n\r\n const AccountDeleteHandle = (info) => {\r\n let dispObj = {\r\n Customer:info?.['Account Name'],\r\n ServiceDesk:info?.['Site Name']\r\n }\r\n setDeleteAccountObj(dispObj)\r\n setShowDeleteModal(true)\r\n }\r\n const handleYesDeleteAccount = () =>{\r\n setShowDeleteModal(false)\r\n dispatch(updateDeleteAccountStart(deleteAccountObj))\r\n dispatch(getOnboardAccounts())\r\n setShowAccountDeletedModal(true)\r\n }\r\n const handleNoDeleteAccount = () =>{\r\n setShowDeleteModal(false)\r\n }\r\n\r\n const AccountCreateDetails = () => {\r\n\r\n let temp_arr = {}\r\n dispatch(viewAccountDetails(temp_arr))\r\n history.push('/onboardAccount')\r\n }\r\n\r\n const getClientCustID = () => {\r\n return onboardAccounts.CustomerID;\r\n };\r\n\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n useEffect(() => {\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n return (\r\n\r\n
\r\n history.push('/welcome')} label1='Home' isActive2={false} label2='Onboard' />\r\n
Onboard
\r\n {(RoleBasedView?.[0]?.AccountOnboard?.[0]?.ReadWrite === 1) ?
: ''}\r\n
\r\n
\r\n
Accounts
\r\n
\r\n setFilter(e.target.value)} placeholder='Search Accounts' />\r\n \r\n
\r\n
\r\n {searchRows(onboardAccountsData)?.length === 0 ?\r\n
\r\n \r\n \r\n \r\n {Headers.map(header => ())}\r\n \r\n \r\n
{header.label}
\r\n
\r\n
\r\n
\r\n No records found.
To onboard new Account entries, click on \"Onboard New Account\" button.\r\n
\r\n
\r\n
\r\n
\r\n :\r\n
\r\n \r\n \r\n \r\n {Headers.map(header => ())}\r\n \r\n \r\n \r\n {searchRows(onboardAccountsData).map((info) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n



\r\n \r\n
{header.label}
{info?.['Account Name']}{info?.['Site Name']}{info?.['Created By']}{formatDate(info?.['Created Date'])}{formatDate(info?.['Valid From'])}{formatDate(info?.['Valid To'])}{info?.Status}\r\n AccountEditDetailsHandle(info?.RowNo, info?.Status)}>\r\n {info?.Status === 'Completed'? '' : }\r\n \r\n AccountDeleteHandle(info)}>\r\n {info?.Status !== 'Saved'? '' : }\r\n AccountViewDetailsHandle(info?.RowNo)} >\r\n \r\n
\r\n
}\r\n
\r\n {\r\n showReuqestModal && \r\n index === viewDetailsID)]['Account Name']}\r\n siteName={onboardAccountsData[onboardAccountsData.findIndex((_, index) => index === viewDetailsID)]['Site Name']}\r\n email={onboardAccountsData[onboardAccountsData.findIndex((_, index) => index === viewDetailsID)]['Created By']} requestHeading=\"Request for Re-open\"\r\n onClick={() => {\r\n dispatch(getOnboardAccounts())\r\n setShowRequestModal(false)\r\n }}\r\n />\r\n \r\n }\r\n\r\n {showDeleteModal && \r\n \r\n }\r\n\r\n {showAccountDeletedModal && \r\n {setShowAccountDeletedModal(false);dispatch(getOnboardAccounts())}}\r\n />\r\n }\r\n
\r\n\r\n )\r\n}\r\n\r\nexport default OnboardLanding","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAABHNCSVQICAgIfAhkiAAAAilJREFUOE+9lEtr1FAUx8+5BgYfVdwWXDjJDBS1CPWx8IEb0U+gUGweFUaKuBH8Gi4EpwiaVwVB/QAu1IXdiCAIXZkmER/gQkGwUChO7vGfdGboYnRCBQPhcifn/OZ/zvnfy9R/HPOBLcw3SegwERMzrTDR7TD1lgYxdVbkEDmW3yVWNmCKSDY2E7kBrhaRKE6963VgVZZjhjYwXRJZY0WXwsRbrv6kFZ4l0Y8RMoF1IcquxnWgbFv+OybVZiUXBrBhGyooPRPSSZzOH60FRLkFVPyMUm//qATHCn4AOhFlnlETGAgCMwCtPwAz/N7E96rf4x6Ggv8DnGtHp42i0Jr5CVRNKpFTf1NXSO97nHcSxjS/YcJfUdL0IMFr+de08B30tmAShRLKcnXfTtgK9txfsSPpwblGQzUOsN2M2mVgnDvJcLpmsAhnXwGsEKFH4/qG2Flg9yiSIyMb7Zj+MoJO7GCZ8lfn8wHQNYOL0DpZaPV8KXc+DQVY/gIUdwE8VBtom/5lZi6PoUatr5WmG2HurVSHYDtAJL0kUmc09WYVGZEQd+LUeVgLiNJeoe0nt5bstX1Ha3Ufl8ZHnO8m5nI8yty3tYCjejg3He9W68VnAHaiT+9xCw2P4rZK3lQSQBFPYTB3o1X31j8NpUzuNO/t2zAax6LEfbHVSmMVuq3gDfw3g6QveH+N9SHRwTIG19+5kbYB8DyATzHJXTB3jVuGP8DY63tpbeY3sZMPXQvoxg4AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAABHNCSVQICAgIfAhkiAAAAbdJREFUOE/NlL9Kw1AUxs2fClYQHMTJxUWapKMvIIiPYEE6SVWoKDg4+QAOIiJ2KLopOPkATm5Obk3SoYuri1BQA7FJ/J2QSIZq0rp44XJP7znnu98550uViWQ5jtNWFKUeRdGUXGF72NemaW6nMUVORYIAszkMwWFHSWJqu4BaRcBiIsKMsyFArD3LslrisG27CctziVFV9bJSqRRiqriu+yFlsndTsJQNvib3F1K+YRjlIiyFoZQYUZY6LAF/KCzxx+3JWyngJwmTPwD63Jf+H6D0b8DSdb1FH7UgCHZ+K5fBPTODexlKQKBP02P9JTK64dzI61fGL3MQNSwpyGNNHIKeBnDnMFnRpQS6BYBNiSFndejkmGwf/wylrvDQQ+ahI5IWwzC8qlarj5n7W+5rIwHSmjMe2E9A+tibPHYnv6lodEBYv5I7y3BONU07wG4jpXhQYwF2u902pW7BbEBpOnadsmV44wH2er053/dfpPdsD3bfn+JYDBM5vXOWYflE/5b/NBRJ7nQ6C2htHXYnWSkVYfhGwjRbRC9/DnmrlOiwNlSHSOSQso6TfuWBiX8gj3ueN/8FEmgbSsHCm+0AAAAASUVORK5CYII=\"","import React, { useEffect, useRef } from 'react'\r\nimport './Request.css';\r\nimport { useState } from 'react';\r\nimport ReactModal from \"react-modal\";\r\nimport { OnboardSelect } from '../Onboard/OnboardComponents/Dropdown/Select';\r\nimport deleteIcon from '../../assets/images/Delete_Icon.png';\r\nimport DATA from './DATA.json'\r\nimport RequestDropdown from '../Onboard/OnboardComponents/Dropdown/RequestDropdown';\r\nimport DatePickerHandle from '../Onboard/OnboardComponents/KeyboardDatePicker';\r\nimport { useDispatch } from 'react-redux';\r\n\r\n\r\nReactModal.setAppElement('#root')\r\nexport function AdminRequestPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n
\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '10em',\r\n left: '20em',\r\n width: '680px',\r\n height: '500px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n // position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n
\r\n )\r\n}\r\n\r\nexport function AdminRequestModel(props) {\r\n const dispatch = useDispatch();\r\n const [file, setFile] = useState(\"\");\r\n const [error, setError] = useState();\r\n const [datacard, setDatacard] = useState(false);\r\n const [ValidUntil, setValidUntil] = useState(null);\r\n function handleUpload(event) {\r\n event.preventDefault();\r\n const file = event.target.files[0];\r\n if (file && file.size > 1000000) {\r\n setError('Please upload a file less than 1MB');\r\n setFile('');\r\n setDatacard(false);\r\n } else if (file) {\r\n setFile(file);\r\n setError('');\r\n setDatacard(true);\r\n }\r\n }\r\n\r\n function generateRandomId() {\r\n return 'file-' + Math.random().toString(36).substr(2, 9);\r\n }\r\n\r\n const hiddenFileInput = useRef(null);\r\n function deleteHandler() {\r\n setFile('');\r\n setDatacard(false);\r\n props.DeleteUploadedFile()\r\n hiddenFileInput.current.value = null;\r\n }\r\n\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n console.log('mmmmmmmmmmmmmmmmmmmm', props.EditRequestForm)\r\n\r\n useEffect(() => {\r\n if (props.editMode) {\r\n setValidUntil(props.EditRequestForm?.['ValidUntil'])\r\n }\r\n }, [dispatch, props.EditRequestForm, props.editMode])\r\n\r\n const ValidToDateHandler = (date) => {\r\n console.log('date:::::', date)\r\n props.addValueToQueue('ValidUntil', (date === null || date === undefined) ? null : formatDate(date));\r\n setValidUntil((date === null || date === undefined) ? null : formatDate(date));\r\n\r\n }\r\n\r\n useEffect(() => {\r\n props.dispatchFileUpload(file);\r\n props.dispatchFileName(file.name)\r\n }, [file, props])\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
{props.EditRequestForm.title}
\r\n
{props.validation}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {(props.editMode && props.EditRequestForm.type === \"Task\") &&
\r\n
\r\n \r\n
{props.EditRequestForm.UserDetails}
\r\n
\r\n
}\r\n
\r\n {(props.editMode && props.EditRequestForm.type === \"Task\") &&
\r\n ValidToDateHandler(date)}\r\n />\r\n
}\r\n
\r\n
\r\n \r\n {props.editMode ?\r\n \r\n : }\r\n
\r\n
\r\n
\r\n\r\n
\r\n
Attach File
\r\n
You can upload only PNG, JPEG and SVG files. Maximum upload file size is 1MB.
\r\n {/*
\r\n \r\n \r\n \r\n \r\n
*/}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{file.name && del}
\r\n
{error}
\r\n {/* {datacard &&
{file.name}\r\n {(file.size) / 1024} KB del\r\n
} */}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\n\r\nexport const UserReuqestModal = (props) => {\r\n const dispatch = useDispatch();\r\n const [file, setFile] = useState(\"\");\r\n const [error, setError] = useState();\r\n const [datacard, setDatacard] = useState(false);\r\n const [ValidUntil, setValidUntil] = useState(null);\r\n const editMode = props.editMode\r\n function handleUpload(event) {\r\n event.preventDefault();\r\n const file = event.target.files[0];\r\n if (file && file.size > 1000000) {\r\n setError('Please upload a file less than 1MB');\r\n setFile('');\r\n setDatacard(false);\r\n } else if (file) {\r\n setFile(file);\r\n setError('');\r\n setDatacard(true);\r\n }\r\n }\r\n\r\n function generateRandomId() {\r\n return 'file-' + Math.random().toString(36).substr(2, 9);\r\n }\r\n\r\n const hiddenFileInput = useRef(null);\r\n function deleteHandler() {\r\n setFile('');\r\n setDatacard(false);\r\n props.DeleteUploadedFile()\r\n hiddenFileInput.current.value = null;\r\n }\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n console.log('mmmmmmmmmmmmmmmmmmmm', props.EditRequestForm)\r\n\r\n useEffect(() => {\r\n if (editMode) {\r\n setValidUntil(props.EditRequestForm?.['ValidUntil'])\r\n }\r\n }, [dispatch, props.EditRequestForm, editMode])\r\n\r\n const ValidToDateHandler = (date) => {\r\n console.log('date:::::', date)\r\n props.addValueToQueue('ValidUntil', (date === null || date === undefined) ? null : formatDate(date));\r\n setValidUntil((date === null || date === undefined) ? null : formatDate(date));\r\n\r\n }\r\n useEffect(() => {\r\n props.dispatchFileUpload(file);\r\n props.dispatchFileName(file.name)\r\n }, [file, props])\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
{editMode ? 'Edit' : 'Add'} Request / Incident
\r\n
{props.validation}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {editMode ?
{props.EditRequestForm.type}
:\r\n }\r\n
\r\n
\r\n \r\n
\r\n {!editMode ?
New
:\r\n \r\n }\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {editMode ?\r\n
{props.EditRequestForm.title}
:\r\n }\r\n
\r\n
\r\n {(editMode && props.EditRequestForm.type === \"Task\") &&
\r\n
\r\n \r\n
{props.EditRequestForm.UserDetails}
\r\n
\r\n
}\r\n
\r\n {(editMode && props.EditRequestForm.type === \"Task\") &&
\r\n ValidToDateHandler(date)}\r\n />\r\n
}\r\n
\r\n
\r\n
\r\n \r\n {editMode ? :\r\n }\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Attach File
\r\n
You can upload only PNG, JPEG and SVG files. Maximum upload file size is 1MB.
\r\n {/*
\r\n \r\n \r\n \r\n \r\n
*/}\r\n\r\n {/*
\r\n \r\n
*/}\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{file.name && del}
\r\n
{error}
\r\n {/* {datacard &&
{file.name}\r\n {(file.size) / 1024} KB del\r\n
} */}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default UserReuqestModal","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAPCAYAAAARZmTlAAAABHNCSVQICAgIfAhkiAAAAK1JREFUOE+l1NENhCAMBuDWXZzjRjmYTBzl5rjcKiIlB0EEWiwvRiX/RwkFIQyzbsYf8Np/1tK7dtR5GD942GKwB6eFWnmEuIC88+oV0AUIgYiwu681+N8uNdQDKD8iWmgEXJCnEAfckFlIAjQRKSQFuggHzQBDpAfhAp/cV8UxHTVwPl29Sbc+KiamPuBuCBZpViSsIOEipIakFUwjCaInXRXcFpX/xZXMhNZzTysFqhDtyBtDAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAPCAYAAAARZmTlAAAABHNCSVQICAgIfAhkiAAAAL5JREFUOE+t1MsRwiAQBuB/rcASvHi3A+1EqAzSkZ4dZyzBApxglhHyEMluIhcyw5KPXR4ERTN7Z0KLY3O3VjENJA2OQICL8QFeA4mQEZBWpYBmkSKghKrIFAjAdUO4dGU75zILMvqJFIEXTv5hn92Y10BFpAakDDTQFyIBtNAI0QAaKCNLACkUkTWABKJ/AHMQI/k4xnvwOabS52YaN/wfERp/syaVy7cBh7XAMCP+ZoD7fuN3bssXbWkGtXlvv3fKEGllk60AAAAASUVORK5CYII=\"","import React, { useEffect, useState } from 'react'\r\nimport Expand_DownArrow from './../../assets/onboard-images/Expand_DownArrow.png';\r\nimport Collapse_UpArrow from './../../assets/onboard-images/Collapse_UpArrow.png';\r\nimport Edit_Icon from './../../assets/onboard-images/Edit_Icon.png';\r\n\r\n\r\nfunction RequestTableHandle({ info, HandleEditRequestClick }) {\r\n\r\n const [ID,SetID] = useState();\r\n const urlfile = `${process.env.REACT_APP_BASE_URL}/api/file/${ID}`\r\n\r\n useEffect(()=>{\r\n if(ID){\r\n window.open(urlfile);\r\n }\r\n },[ID,urlfile])\r\n \r\n\r\n const [showAccordion, setShowAccordion] = useState(false);\r\n function RequestDateFormat(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n}\r\n return (<>\r\n \r\n {info?.['Request / Incident Title']} \r\n {RequestDateFormat(info?.['Created Date'])} \r\n {info?.Type} \r\n {info?.Status} \r\n \r\n {info?.Status === 'Completed' || info?.View === 0 ? '' : HandleEditRequestClick(info)} />}\r\n \r\n \r\n {info?.View === 0 ? '' : {\r\n setShowAccordion(!showAccordion)\r\n }} />}\r\n \r\n \r\n\r\n {(showAccordion) &&\r\n \r\n
\r\n
\r\n Last Updated Date\r\n Comments\r\n File Attachments\r\n
\r\n
\r\n {info?.UserComments?.map((update, i) => (\r\n \r\n
\r\n {RequestDateFormat(update?.['Last Updated Date'])}\r\n {update.Comments}\r\n {SetID(update.FileStore)}} style={{ width: '30%', color: '#5F249F', textDecoration: 'underline',cursor: 'pointer' }}>{update.FileName}\r\n
\r\n ))}\r\n
\r\n \r\n {info?.AdminComments?.map((update, i) => (\r\n
\r\n \r\n
Comments: {update.Comments}
\r\n
File Attachments: {SetID(update.FileStore)}}>{update.FileName}
\r\n
\r\n ))}\r\n \r\n
\r\n }\r\n \r\n )\r\n}\r\n\r\nexport default RequestTableHandle","export const request_actionTypes = {\r\n GET_REQUEST_DATA: \"GET_REQUEST_DATA\",\r\n REQUEST_DATA: \"REQUEST_DATA\",\r\n\r\n UPDATE_NEW_REQUEST_START: \"UPDATE_NEW_REQUEST_START\",\r\n UPDATE_NEW_REQUEST_SUCCESS: \"UPDATE_NEW_REQUEST_SUCCESS\",\r\n\r\n UPDATE_EDIT_REQUEST_START: \"UPDATE_EDIT_REQUEST_START\",\r\n UPDATE_EDIT_REQUEST_SUCCESS: \"UPDATE_EDIT_REQUEST_SUCCESS\",\r\n\r\n GET_ADMIN_REQUEST_DATA: \"GET_ADMIN_REQUEST_DATA\",\r\n ADMIN_REQUEST_DATA: \"ADMIN_REQUEST_DATA\",\r\n\r\n UPDATE_EDIT_ADMIN_REQUEST_START: \"UPDATE_EDIT_ADMIN_REQUEST_START\",\r\n UPDATE_EDIT_ADMIN_REQUEST_SUCCESS: \"UPDATE_EDIT_ADMIN_REQUEST_SUCCESS\",\r\n\r\n GET_REQUEST_DROPDOWN_DATA: \"GET_REQUEST_DROPDOWN_DATA\",\r\n REQUEST_DROPDOWN_DATA: \"REQUEST_DROPDOWN_DATA\",\r\n\r\n GET_UPLOADED_FILE_DATA: \"GET_UPLOADED_FILE_DATA\",\r\n UPLOADED_FILE_DATA: \"UPLOADED_FILE_DATA\",\r\n}\r\n","import { request_actionTypes as actionTypes} from './../constants/request-actionTypes';\r\n\r\nexport const getRequestData = (date, requesttype, status) => (\r\n {\r\n type: actionTypes.GET_REQUEST_DATA,\r\n date: date,\r\n requesttype: requesttype,\r\n status: status\r\n }\r\n )\r\n\r\n export const updateNewRequestStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_NEW_REQUEST_START,\r\n payload: data,\r\n }\r\n )\r\n \r\n export const updateNewRequestSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_NEW_REQUEST_SUCCESS,\r\n }\r\n )\r\n\r\n export const updateEditRequestStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_EDIT_REQUEST_START,\r\n payload: data,\r\n }\r\n )\r\n \r\n export const updateEditRequestSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_EDIT_REQUEST_SUCCESS,\r\n }\r\n )\r\n\r\n export const getAdminRequestData = (date, requesttype, status) => (\r\n {\r\n type: actionTypes.GET_ADMIN_REQUEST_DATA,\r\n date: date,\r\n requesttype: requesttype,\r\n status: status\r\n }\r\n )\r\n\r\n // export const getAdminRequestData = (data) => (\r\n // {\r\n // type: actionTypes.GET_ADMIN_REQUEST_DATA,\r\n // payload: data,\r\n // }\r\n // )\r\n \r\n export const updateEditAdminRequestStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_EDIT_ADMIN_REQUEST_START,\r\n payload: data,\r\n }\r\n )\r\n \r\n \r\n export const updateEditAdminRequestSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_EDIT_ADMIN_REQUEST_SUCCESS,\r\n }\r\n )\r\n\r\n export const getRequestDropdownData = (data) => (\r\n {\r\n type: actionTypes.GET_REQUEST_DROPDOWN_DATA,\r\n payload: data,\r\n }\r\n )\r\n\r\n export const getUplodedFileData = (uploadfileid) => (\r\n {\r\n type: actionTypes.GET_UPLOADED_FILE_DATA,\r\n uploadfileid: uploadfileid\r\n }\r\n )","import React, { Fragment, useEffect } from 'react'\r\nimport { useState } from 'react';\r\nimport { ModalAccountPopup } from '../Onboard/OnboardComponents/Modals/ModalQueuePopup';\r\nimport searchIcon from './../../assets/onboard-images/Search_Icon.png';\r\nimport './Request.css';\r\nimport UserReuqestModal from './RequestModals';\r\nimport AdminBreadcrumb from '../Administration/General/Admin-breadcrumb';\r\nimport filterIcon from '../../assets/images/Filter_Icon.png';\r\nimport RefreshIcon from '../../assets/images/Reset_Icon.png';\r\nimport { KeyboardDatePicker } from '@material-ui/pickers';\r\nimport Button from './../ReportTables/ReportFilters/Button';\r\nimport DATA from './DATA.json';\r\nimport RequestTableHandle from './RequestTableHandle';\r\nimport '../Administration/SLA-Administration/SLA-Admin.css';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getUserData } from '../../actions/user.action';\r\nimport RequestDropdown from '../Onboard/OnboardComponents/Dropdown/RequestDropdown';\r\nimport { getRequestData, getRequestDropdownData, updateEditRequestStart, updateNewRequestStart } from './../../actions/request.action';\r\nimport { useHistory } from 'react-router-dom';\r\nimport axios from 'axios';\r\n\r\n\r\nconst RequestIncidentMain = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let RequestData = useSelector((state) => state.requestReducer.RequestData);\r\n let RequestDropdownData = useSelector((state) => state.requestReducer.RequestDropdownData);\r\n useEffect(() => {\r\n dispatch(getUserData());\r\n dispatch(getRequestData('', '', ''));\r\n dispatch(getRequestDropdownData());\r\n }, [dispatch]);\r\n const [RequestIncidentData, setRequestIncidentData] = useState([])\r\n const [showAddRequestModel, setShowAddRequestModel] = useState(false);\r\n const [showEditRequestModal, setShowEditRequestModal] = useState(false);\r\n const [filter, setFilter] = useState('');\r\n const [updatedFileData, setUpdatedFileData] = useState()\r\n const [searchColumns, setSearchColumns] = useState(['Request / Incident Title']);\r\n const [reuqestDate, setRequestDate] = useState(new Date(''));\r\n function RequestDateFormat(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n\r\n useEffect(() => {\r\n setRequestIncidentData((RequestData.statusCode) ? [] : RequestData)\r\n }, [RequestData])\r\n\r\n\r\n function searchRows(rows) {\r\n return rows.filter((row) =>\r\n searchColumns.some(\r\n (column) =>\r\n row[column]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(filter.toLowerCase()) > -1,\r\n ),\r\n );\r\n }\r\n\r\n const [AddRequestForm, setAddRequestForm] = useState({});\r\n const [editRequestID, setEditRequestID] = useState(null);\r\n const [EditRequestForm, setEditrequestForm] = useState();\r\n\r\n\r\n const [validation, setValidation] = useState('');\r\n const addValueToRequest = (name, value) => {\r\n const newFormData = { ...AddRequestForm };\r\n if (name !== 'Select') {\r\n newFormData[name] = value;\r\n setAddRequestForm(newFormData)\r\n }\r\n }\r\n\r\n const handleUserAddRequest = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (fieldValue !== 'Select') {\r\n const newFormData = { ...AddRequestForm };\r\n newFormData[fieldName] = fieldValue;\r\n setAddRequestForm(newFormData)\r\n }\r\n }\r\n\r\n function formatDate() {\r\n var d = new Date(),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n };\r\n function formatTime() {\r\n return new Date().getHours() + ':' + new Date().getMinutes() + ':' + new Date().getSeconds();\r\n }\r\n\r\nconst[uploadedFileId,setUploadedFileId] = useState();\r\nconst[uploadedFileName,setUploadedFileName] = useState()\r\nuseEffect(()=>{\r\n if(updatedFileData){\r\n const formData = new FormData();\r\n\r\n formData.append('File', updatedFileData);\r\n\r\n fetch(\r\n `${\r\n process.env.REACT_APP_BASE_URL\r\n }/api/file`,\r\n {\r\n method: 'POST',\r\n body: formData,\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((result) => {\r\n console.log('Success:', result);\r\n setUploadedFileId(result.id);\r\n })\r\n .catch((error) => {\r\n console.error('Error:', error);\r\n });\r\n\r\n }\r\n},[updatedFileData]) \r\n\r\nconst deleteFile = async (fileId) => {\r\n try {\r\n const response = await axios.delete(`/api/file/${fileId}`);\r\n if (response.status === 200) {\r\n setUploadedFileId(null);\r\n setUploadedFileName(null)\r\n } else {\r\n alert('file not deleted')\r\n }\r\n } catch (error) {\r\n // Handle error.\r\n }\r\n };\r\n \r\nconst DeleteUploadedFile = () =>{\r\n deleteFile(uploadedFileId);\r\n }\r\n \r\n console.log('uploadedFileId',uploadedFileId,uploadedFileName)\r\n\r\n const handleRequestFormSubmit = event => {\r\n event.preventDefault();\r\n console.log(AddRequestForm);\r\n const temp_details = {\r\n\r\n id: RequestIncidentData?.length + 1,\r\n 'Request / Incident Title': AddRequestForm.title,\r\n 'Created Date': formatDate(),\r\n Type: AddRequestForm.type,\r\n Status: 'New',\r\n\r\n }\r\n let temp_updates = {\r\n UserComments: [{\r\n 'Last Updated Date': `${formatDate()}, ${formatTime()}`,\r\n Comments: AddRequestForm.comments,\r\n FileStore: uploadedFileId,\r\n FileName: uploadedFileName\r\n }]\r\n }\r\n\r\n\r\n const newRequest = Object.assign(temp_details, temp_updates)\r\n const newRequests = [newRequest, ...RequestIncidentData]\r\n const temp_Arr = {\r\n type: AddRequestForm.type,\r\n title: AddRequestForm.title,\r\n comments: AddRequestForm.comments\r\n }\r\n let dispatchObj = {\r\n Title: AddRequestForm.title,\r\n Type: AddRequestForm.type,\r\n Status: 'New',\r\n Comments: AddRequestForm.comments,\r\n FileStore: uploadedFileId,\r\n FileName: uploadedFileName\r\n }\r\n const isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\n if (isEmptyInput) {\r\n setShowAddRequestModel(true);\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n }\r\n else {\r\n setRequestIncidentData(newRequests)\r\n setShowAddRequestModel(false);\r\n dispatch(updateNewRequestStart(dispatchObj))\r\n setValidation('')\r\n }\r\n }\r\n const handleRequestFormCancel = event => {\r\n event.preventDefault();\r\n setShowAddRequestModel(false);\r\n setValidation('')\r\n }\r\nconst [CompleteTask,setCompleteTask] = useState('')\r\n const HandleEditRequestClick = (info) => {\r\n setEditRequestID(info.IncidentID)\r\n setShowEditRequestModal(true)\r\n const formValues = {\r\n type: info?.Type,\r\n status: info?.Status,\r\n title: info?.['Request / Incident Title'],\r\n createdDate: info?.['Created Date'],\r\n comments: '',\r\n file: info?.FileStore,\r\n UserDetails: info?.TaskDetails?.[0]?.UserDetails,\r\n ValidUntil: info?.TaskDetails?.[0]?.ValidUntil,\r\n };\r\n console.log('formValues', formValues)\r\n setEditrequestForm(formValues);\r\n setCompleteTask(info?.TaskDetails?.[0]?.ValidUntil)\r\n }\r\n\r\n // console.log('CompleteTask2',CompleteTask,EditRequestForm?.ValidUntil)\r\n\r\n const onClickSelect = (name) => {\r\n const newFormData = { ...EditRequestForm };\r\n newFormData[name] = '';\r\n setEditrequestForm(newFormData)\r\n\r\n }\r\n\r\n const editValueToRequest = (name, value) => {\r\n const newFormData = { ...EditRequestForm };\r\n if (value !== 'Select') {\r\n newFormData[name] = value;\r\n setEditrequestForm(newFormData);\r\n }\r\n }\r\n const handleUserEditRequest = event => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...EditRequestForm };\r\n newFormData[fieldName] = fieldValue;\r\n setEditrequestForm(newFormData);\r\n }\r\n console.log('CompleteTask',formatDate(CompleteTask),(EditRequestForm?.ValidUntil))\r\n console.log('EditRequestForm:::', EditRequestForm)\r\n // submit\r\n const handleRequesEditSubmit = event => {\r\n event.preventDefault();\r\n const temp_details = {\r\n IncidentID: editRequestID,\r\n 'Request / Incident Title': EditRequestForm.title,\r\n 'Created Date': formatDate(EditRequestForm.createdDate),\r\n Type: EditRequestForm.type,\r\n Status: EditRequestForm.status,\r\n TaskDetails: [\r\n {\r\n UserDetails: EditRequestForm.UserDetails,\r\n ValidUntil: EditRequestForm.ValidUntil\r\n }\r\n ]\r\n }\r\n let temp_updates = {\r\n 'Last Updated Date': `${formatDate()}, ${formatTime()}`,\r\n Comments: EditRequestForm.comments,\r\n FileStore: uploadedFileId,\r\n FileName: uploadedFileName\r\n }\r\n const dispatchEditObj = {\r\n Title: EditRequestForm.title,\r\n Type: EditRequestForm.type,\r\n Status: EditRequestForm.status,\r\n Comments: EditRequestForm.comments,\r\n IncidentID: editRequestID,\r\n ValidUntil: EditRequestForm.ValidUntil,\r\n FileStore: uploadedFileId,\r\n FileName: uploadedFileName\r\n }\r\n const newRequests = [...RequestIncidentData];\r\n const temp_Arr = {\r\n status: EditRequestForm.status,\r\n comments: EditRequestForm.comments\r\n }\r\n const isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\n console.log('CompleteTask',formatDate(CompleteTask),formatDate(EditRequestForm.ValidUntil))\r\n if (isEmptyInput) {\r\n setShowEditRequestModal(true);\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n }\r\n else if(EditRequestForm.type === 'Task' && EditRequestForm.status !== 'Completed'){\r\n setShowEditRequestModal(true);\r\n setValidation('Please Ensure that Status Selected is set to Completed to Update the Role Validity')\r\n }\r\n else {\r\n const index = RequestIncidentData.findIndex((data, index) => data.IncidentID === editRequestID);\r\n let editedRequestUpdates = newRequests[index]?.UserComments;\r\n editedRequestUpdates.unshift(temp_updates)\r\n let obj2 = { UserComments: editedRequestUpdates }\r\n let adminRequestUpdates = newRequests[index]?.AdminComments;\r\n let admindata = { AdminComments: adminRequestUpdates }\r\n const newRequest = Object.assign(temp_details, obj2, admindata)\r\n newRequests[index] = newRequest;\r\n setRequestIncidentData(newRequests);\r\n dispatch(updateEditRequestStart(dispatchEditObj))\r\n setEditRequestID(null);\r\n setShowEditRequestModal(false)\r\n setValidation(''); \r\n }\r\n }\r\n\r\n console.log('RequestIncidentData', RequestIncidentData)\r\n const handleRequestEditCancel = event => {\r\n event.preventDefault();\r\n setEditRequestID(null);\r\n setShowEditRequestModal(false);\r\n setValidation('')\r\n }\r\n\r\n\r\n\r\n const [filterSelected, setFilterSelected] = useState('');\r\n const [statusSelected, setStatusSelected] = useState('');\r\n const [selectedType, setSelectedType] = useState('')\r\n const [isRefreshClicked, setIsRefreshedClicked] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n if (filterSelected || statusSelected || selectedType) {\r\n dispatch(getRequestData(filterSelected ? filterSelected : '', selectedType ? selectedType : '', statusSelected ? statusSelected : ''));\r\n }\r\n }, [dispatch, filterSelected, selectedType, statusSelected]);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n history.push('/welcome')} label1='Home' isActive1={false} label2='Requests' />\r\n
Requests
\r\n
\r\n
\r\n \r\n  
\r\n {\r\n setRequestDate(RequestDateFormat(date));\r\n setFilterSelected(RequestDateFormat(date));\r\n }}\r\n format=\"MM/DD/YYYY\"\r\n style={{ width: '250px' }}\r\n error={false}\r\n helperText={null}\r\n />\r\n
\r\n Status\r\n { setStatusSelected(value); setIsRefreshedClicked(false) }} refresh={isRefreshClicked}\r\n />\r\n \r\n Type\r\n { setSelectedType(value); setIsRefreshedClicked(false) }} refresh={isRefreshClicked}\r\n\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n setFilter(e.target.value)} placeholder='Search Request/Incident Title' />\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n {DATA.UserHeader.map(data => ())}\r\n \r\n {searchRows(RequestIncidentData)?.map((info, i) =>\r\n\r\n )}\r\n \r\n
{data.value}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n {showAddRequestModel && \r\n { }}\r\n EditRequestForm={EditRequestForm} validation={validation} dispatchFileUpload={data =>\r\n setUpdatedFileData(data)} dispatchFileName={data => setUploadedFileName(data)} DeleteUploadedFile={DeleteUploadedFile}\r\n />\r\n \r\n }\r\n {showEditRequestModal && \r\n \r\n setUpdatedFileData(data)} dispatchFileName={data => setUploadedFileName(data)} DeleteUploadedFile={DeleteUploadedFile}\r\n\r\n />\r\n \r\n }\r\n\r\n\r\n \r\n )\r\n}\r\n\r\nexport default RequestIncidentMain","export default __webpack_public_path__ + \"static/media/WhyGSDInsight_HeroBanner.780e851d.png\";","export default __webpack_public_path__ + \"static/media/CentralisedData_Image.6f6702d8.png\";","export default __webpack_public_path__ + \"static/media/Availability_Image.c5c77f39.png\";","export default __webpack_public_path__ + \"static/media/Customisation_Image.c97a6fea.png\";","export default __webpack_public_path__ + \"static/media/EasytoAccess_Image.411721cd.png\";","export default __webpack_public_path__ + \"static/media/Presentation_Image.3bf080cf.png\";","export default __webpack_public_path__ + \"static/media/TopDownBottomUp_Image.0a505262.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAKCAYAAAC9vt6cAAAABHNCSVQICAgIfAhkiAAAAIVJREFUKFNjZGBgMADifiAOBOIPQEwMSAAqsgfiREYgcQDKuQCkHYkwBKR5PtQWR5ABAlBD9IE0IUOQNScC1S8AGQACxBiCoRmkEWYAIUOwakY3AJchAUh+BjsbOZSRXQATR/bOA6CgAlQCQzM2F2AzBCSGVTM+A5C9MwHd2YS8gCxPkA0AiL8hS9zg6I4AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAKCAYAAAC9vt6cAAAABHNCSVQICAgIfAhkiAAAAIVJREFUKFNjZMANBIBS64G4EIgv4FLGiEMCpHk/EBsA8QcgdsRlCDYDkDXDzMdpCLoByJo/AnU7AHEBEMfjcgmyAdg0w/y+AJchMAPwaYZ5A6shIAOI0YzTEJABB4DYHohhfsYZZVBTkF1iCDIAFFUbgDgAX3yjRTfIEBBIwJUO0NTj5gIA8BAnK5HMCycAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/Incidents_Image.2b8589d9.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAABHNCSVQICAgIfAhkiAAAAQBJREFUOE+N1LESgjAMAFDCr7l65zfIBsy6qrOrwKa/oD/goB/liElpetCmJL1TuNI+kjYFCt/6vr/j7bdpmgf3adeu6840pm1bdwX689DeT64sIEEAcKI54zheCIQI4mBWwTnEEwgkjCKiFOMmghLkUgTYcJomMAP9ENrWdf12mF+3VVCDwgZoIL75hWuyi9YhRMT9ITIN1KAkMiOYRJSNjB8Mw/AUUqPHV6zDo7D7U9HGLbf9s3Fi2SSYAWIzARdYbvtx9g1/ByGJBRgwrY4sJ8VhGmTYZRchWCELKGHZOlLAKkmTTj8dWqlk5n3RGk5p8gBKtyzLjwWKIiz4Y/oH2/CpoDuuRCUAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/Email_HeroImage.876e7e0e.png\";","import ReactModal from \"react-modal\";\r\nimport Incidents_Image from './../../../assets/github-images/Incidents_Image.png';\r\nimport WindowClose_Icon from './../../../assets/github-images/WindowClose_Icon.png';\r\nimport Email_HeroImage from './../../../assets/github-images/Email_HeroImage.png';\r\n\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport function RequestTab(props) {\r\n const history =useHistory();\r\n return <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Incidents / Requests
Create an incident record to \r\n document a deviation from an expected standard of operation or alternatively submit a request to flag \r\n other types of problems or proposals related to GSD Insight Platform. Click on the create button \r\n to open Incident / Request section.This formal process enables dialogue between the submitter and \r\n the assigned engineer, provides an audit trail, and a mechanism for prioritization and tracking.\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n}\r\n\r\nexport function EmailTab(props) {\r\n const history =useHistory();\r\n return <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Email
For Incidents / Requests please click on the following link.
\r\n \r\n
For any other Queries / Suggestions feel free to contact us via email.
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n}\r\n\r\n\r\nexport function RequestTabPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '25%',\r\n left: '25%',\r\n width: '760px',\r\n height: '450px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n\r\nexport function VideoModelPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n \r\n background: ' #63666A66 0% 0% no-repeat padding-box',\r\n opacity: '1',\r\n \r\n },\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-30%',\r\n transform: 'translate(-50%, -50%)',\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}","import React from 'react'\r\nimport GSDInsight_Logo from './../../assets/images/GSDInsight_Logo.png';\r\nimport DXC_Logo_Footer_Normal from './../../assets/images/DXC_Logo_Footer_Normal.png';\r\nimport Menu_DownArrow from './../../assets/images/Menu_DownArrow.png';\r\nimport Menu_UpArrow from './../../assets/images/Menu_UpArrow.png';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useState } from 'react';\r\nimport { useRef } from 'react';\r\nimport { useEffect } from 'react';\r\nimport { EmailTab, RequestTab, RequestTabPopup } from './GitHub_LandingPage/Models';\r\nimport { Link } from 'react-router-dom';\r\nexport function GithubHeader() {\r\n const history = useHistory();\r\n const [solution,setSolution] = useState(false);\r\n const dropDownref = useRef();\r\n useEffect(() => {\r\n const handleClickOutside = (event) => {\r\n if (dropDownref.current && !dropDownref.current.contains(event.target)) {\r\n if (!solution)\r\n setSolution(solution);\r\n }\r\n }\r\n document.addEventListener(\"click\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickOutside);\r\n };\r\n }, [dropDownref]);\r\n\r\n return (\r\n <>\r\n
\r\n
history.push(\"/githublanding\")}>gsd GSD Insight
\r\n
\r\n
history.push(\"/whygsd\")}>Why GSD Insight
      \r\n
setSolution(!solution)} ref={dropDownref}>Solution   \r\n
     \r\n
history.push(\"/getstarted\")}> Get Started
\r\n {solution &&
\r\n
history.push(\"/architecture\")}>Architecture
\r\n
history.push(\"/product\")}>Product Requirements
\r\n
}\r\n
\r\n
\r\n \r\n \r\n )\r\n}\r\n\r\n\r\nconst CONTACT = [\r\n {\r\n id: 1,\r\n href: \"mailto:GSD_Insight_Support@dxc.com\",\r\n name: 'Email'\r\n },\r\n {\r\n id: 2,\r\n href: \"https://teams.microsoft.com/l/team/19%3aI-wF3DALEKei_jMiwPbiE4IDvpni3HCHbbZajBRyNk81%40thread.tacv2/conversations?groupId=b47fd5cb-2b61-4939-9254-7be4518dd717&tenantId=93f33571-550f-43cf-b09f-cd331338d086\",\r\n name: ' MS Teams'\r\n }\r\n]\r\nconst WHY_GSD = [\r\n {\r\n id: 1,\r\n href: \"/architecture\",\r\n name: 'SOLUTION'\r\n },\r\n {\r\n id: 2,\r\n href: '/getstarted',\r\n name: 'GET STARTED'\r\n },\r\n {\r\n id: 3,\r\n href: \"/developer\",\r\n name: 'DEVELOPER'\r\n },\r\n {\r\n id: 4,\r\n href: \"/security\",\r\n name: 'SECURITY'\r\n },\r\n {\r\n id: 5,\r\n href: \"/user\",\r\n name: 'USER'\r\n },\r\n {\r\n id: 6,\r\n href: \"/training\",\r\n name: 'TRAINING'\r\n }\r\n \r\n]\r\nconst PRODUCTS = [\r\n {\r\n id: 1,\r\n href: \"/overview\",\r\n name: 'Overview'\r\n },\r\n {\r\n id: 2,\r\n href: \"/design\",\r\n name: 'Design'\r\n },\r\n {\r\n id: 3,\r\n href: \"/features\",\r\n name: 'Features'\r\n }\r\n]\r\nconst RELEASES = [\r\n {\r\n id: 1,\r\n href: \"/welcome/release\",\r\n name: 'What’s New '\r\n },\r\n {\r\n id: 2,\r\n href: \"/welcome/release\",\r\n name: 'Upcoming Releases'\r\n }\r\n]\r\nconst SUPPORT = [\r\n {\r\n id: 1,\r\n href: \"/notinproduction\",\r\n name: 'Incidents / Requests'\r\n },\r\n {\r\n id: 2,\r\n href: \"/notinproduction\",\r\n name: 'FAQ'\r\n }\r\n]\r\nexport function Footer() {\r\n const history = useHistory();\r\n const [showRequestModel, setShowRequestModel] = useState(false);\r\n const [showEmailModel, setShowEmailModel] = useState(false);\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
history.push(\"/whygsd\")}>WHY GSD INSIGHT
\r\n
    \r\n {WHY_GSD.map((link, index) => (
  • history.push(link.href)}>\r\n {link.name}\r\n
  • ))}\r\n
\r\n
\r\n
\r\n
\r\n
PRODUCT & FEATURES
\r\n
    \r\n {PRODUCTS.map((link, index) => (
  • history.push(link.href)}>\r\n {link.name}\r\n
  • ))}\r\n
\r\n
\r\n
\r\n
\r\n
RELEASES
\r\n
    \r\n {RELEASES.map((link, index) => (
  • \r\n {link.name}\r\n
  • ))}\r\n
\r\n
\r\n
\r\n
\r\n
SUPPORT
\r\n
    \r\n {SUPPORT.map((link, index) => (
  • (link.name === 'Incidents / Requests') ? setShowRequestModel(true) : history.push('/faq')}>\r\n {link.name}\r\n
  • ))}\r\n
\r\n
\r\n
\r\n
\r\n
CONTACT
\r\n
    \r\n {/* {CONTACT.map((link, index) => (
  • \r\n {link.name} \r\n
  • ))} */}\r\n
  • setShowEmailModel(true)}>Email
  • \r\n
  • MS Teams
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
© DXC Technology Company
\r\n
\r\n
\r\n\r\n\r\n {showRequestModel && \r\n setShowRequestModel(false)}\r\n />\r\n }\r\n\r\n {showEmailModel && \r\n setShowEmailModel(false)}\r\n />\r\n }\r\n \r\n )\r\n}\r\n\r\n\r\n\r\n","import React from 'react'\r\nimport './../GitHub/GitHub_LandingPage/GitHubPage.css';\r\nimport AdminBreadcrumb from '../Administration/General/Admin-breadcrumb'\r\nimport WhyGSDInsight_HeroBanner from './../../assets/images/WhyGSDInsight_HeroBanner.png';\r\nimport CentralisedData_Image from './../../assets/images/CentralisedData_Image.png';\r\nimport Availability_Image from './../../assets/images/Availability_Image.png';\r\nimport Customisation_Image from './../../assets/images/Customisation_Image.png';\r\nimport EasytoAccess_Image from './../../assets/images/EasytoAccess_Image.png';\r\nimport Presentation_Image from './../../assets/images/Presentation_Image.png';\r\nimport TopDownBottomUp_Image from './../../assets/images/TopDownBottomUp_Image.png';\r\nimport AgentScorecard_Icon from './../../assets/images/AgentScorecard_Icon.png';\r\nimport SupervisorDashboard_Icon from './../../assets/images/SupervisorDashboard_Icon.png';\r\nimport SiteLevel_Icon from './../../assets/images/SiteLevel_Icon.png';\r\nimport GlobalKPI_Icon from './../../assets/images/GlobalKPI_Icon.png';\r\nimport TrendAnalysis_Icon from './../../assets/images/TrendAnalysis_Icon.png';\r\nimport RoleBasedAccess_Icon from './../../assets/images/RoleBasedAccess_Icon.png';\r\nimport PreviousArrow_Disabled_Icon from './../../assets/images/PreviousArrow_Disabled_Icon.png';\r\nimport PreviousArrow_Icon from './../../assets/images/PreviousArrow_Icon.png';\r\nimport NextArrow_Disabled_Icon from './../../assets/images/NextArrow_Disabled_Icon.png';\r\nimport NextArrow_Icon from './../../assets/images/NextArrow_Icon.png';\r\nimport { useState } from 'react';\r\nimport { Footer} from './HeaderFooter';\r\nimport { useHistory } from 'react-router-dom';\r\nconst WhyGsd = () => {\r\n const history = useHistory();\r\n const [row1, setRow1] = useState(true);\r\n const [row2, setRow2] = useState(false);\r\n const previousHandler = () => {\r\n setRow1(true);\r\n setRow2(false);\r\n }\r\n const nexthandler = () => {\r\n setRow1(false);\r\n setRow2(true);\r\n }\r\n const column1 = [\r\n {\r\n id: 1,\r\n imageSrc: CentralisedData_Image,\r\n name: 'Centralised Data',\r\n description: 'The unique platform integrating all of your data from multiple channels, supported by fully or semi-automated mechanisms. Secure your data in a modernised, state of the art solution developed by the Global Service Desk organisation.'\r\n },\r\n {\r\n id: 2,\r\n imageSrc: Availability_Image,\r\n name: 'Availability',\r\n description: 'Time or geography creates no boundaries in getting the data available to you anytime, anywhere. Reporting services with ‘round the clock’ accessibility for constant control and use of data.'\r\n },\r\n {\r\n id: 3,\r\n imageSrc: Customisation_Image,\r\n name: 'Customization',\r\n description: 'GSD Insight enables the user to tailor their needs with personalised reporting views and metrics.'\r\n }\r\n ]\r\n const column2 = [\r\n {\r\n id: 1,\r\n imageSrc: EasytoAccess_Image,\r\n name: 'Easy to Access',\r\n description: 'Simplified steps to define your role and Account information, you are just one click away from GSD Insight experience. The platform is straightforward to use, intuitive navigation through the site will help to find the searched content effortlessly.'\r\n },\r\n {\r\n id: 2,\r\n imageSrc: Presentation_Image,\r\n name: 'Presentation Format & Downloadable Content',\r\n description: 'A very modern GSD Insight interface offers exclusive presentation format and user-friendly downloadable content.'\r\n },\r\n {\r\n id: 3,\r\n imageSrc: TopDownBottomUp_Image,\r\n name: 'Top Down – Bottom Up',\r\n description: 'Data driven approach delivering detailed and high level, cumulated representation to oversee all layers of operational performance.'\r\n }\r\n ]\r\n const score_card = [\r\n {\r\n id: 1,\r\n imageSrc: AgentScorecard_Icon,\r\n description: 'Agent Score Card for monthly agent performance assessment.'\r\n },\r\n {\r\n id: 2,\r\n imageSrc: SupervisorDashboard_Icon,\r\n description: 'Supervisor Dashboard for desk managers to manage client contractual performance.'\r\n },\r\n {\r\n id: 3,\r\n imageSrc: SiteLevel_Icon,\r\n description: 'Site level balanced scorecard and operational metrices across accounts served (Views dissected by Account / Language / Channel / P&L Region).'\r\n }\r\n ]\r\n const global_KPI = [\r\n {\r\n id: 1,\r\n imageSrc: GlobalKPI_Icon,\r\n description: 'Global KPI / Metrices and key indices.'\r\n },\r\n {\r\n id: 2,\r\n imageSrc: TrendAnalysis_Icon,\r\n description: 'Trend analytics across time.'\r\n },\r\n {\r\n id: 3,\r\n imageSrc: RoleBasedAccess_Icon,\r\n description: 'Non-functional Role Based Access / Reports / compliance with applicable legislation.'\r\n }\r\n ]\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n history.push('/githublanding')} label1='Home' isActive2={false} label2='Why GSD Insight' />\r\n
\r\n \r\n
\r\n HeroBanner\r\n {/*
\r\n
\r\n
\r\n
Why GSD Insight
\r\n
GSD Insight brings all relevant data together from various sources and visualises it to enable data-driven analytics and reporting.
\r\n
*/}\r\n
\r\n
Why GSD Insight
\r\n
GSD Insight brings all relevant data together from various sources and visualises it to enable data-driven analytics and reporting.
\r\n
\r\n
\r\n
\r\n
\r\n
Customer Centric System
\r\n
\r\n {row1 &&
{column1.map((data, index) =>\r\n
\r\n
{data.name}
{data.description}
)}\r\n
}\r\n {row2 &&
{column2.map((data, index) =>\r\n
\r\n
{data.name}
{data.description}
)}\r\n
}\r\n
\r\n {row1 ? : }\r\n    {row1 ? 1 : 2}/2   \r\n {row1 ? : }\r\n
\r\n \r\n
\r\n
\r\n
{score_card.map((data, index) =>\r\n

{data.description}
)}\r\n
\r\n
{global_KPI.map((data, index) =>\r\n

{data.description}
)}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n )\r\n}\r\n\r\nexport default WhyGsd","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAA5xJREFUeF7tW9FxEzEQzVUAqYCkAqACnApIKsCpgFAB5o8/SAVcKiAd4FRAUgFHBSQVmPeOXY/usHSSIk8kW5rxeO5uV973tFrt6uTmIHFbrVbX6PJtYLfLpmlOAnWSiDdJejE6AQGryD6PQUIXqRuttk0CHmDV7YRlr/D8mcicgIBlNJJIxW0ScANAM5ddcBYCflMJ+MdA9YA6BWoMqEGwrgKRq1m0Wl0Go6mzKBqZYM0DaiJUM8GaCtdaoBZDDgZs1SDuf4Xa+8AV6hpB9yxQ5yDLPOARmyrBFWUlINRlpuRTJEIp+piyU5/n7gFbzyYrAb6u4iuXwn1T9OFrb/UAX6Z85VKMXoo+fO2tHuDLlK9citFL0YevvQMPwA+fQvGlr7LIcala7+WlMD5FH74Y1gTgR59D6Y+voiF3DwIO9TqF8Sn68MVhEsDS9YevoikHAsx+9OVodBKTAwF3AHgxQQYrtn66PDEBfMFK72W7hS33IYNo84Cg0XtKAkLAbpKtBBjBy4wBRXiABG5OQ9re4XMHb5w6kzBwhCI9QIB/AZL5BrcmEQsQceUzPYojAOAZ9LhaaeCz4WxBwvkUCUURICP/ywDPYzg8lMVRZxsncpcgwbmalUZAC5DvBCyX6tPxwSqQRMCcHtqch69KI4BrvB6qem0LeKNdZacXFEMAQM1k7nNknauUxImf4gJO2VIJ+ITRX7gCnJFOd5A9tsnuAwGDVH1MxD4Q8AAPsC6ZpRJwBVBzzymwMzHgCICZA7A557Vs7HwXWSdZxXgAwQAY83zdsfoAL2BJ/l+DXIebL+TBOeTa4oOgEEC3/2aAuQC4S70GcHoJR57pMttvPOc9a8vVA2ZiMbfbBtUdQI7/j8DkSGVUTwGfQZ/yZREwtlZqAP4Jg7k+P75tCUESwDiwcacoSw8w0Ulu/xH3pqq/KVJaCDCB6kzBbAmQUWfZq/PZtPsGFxxdghkAwjWnwZF8ayBUXXoBgyfJ6FuWBFjAEzQN51EYr41PCYpz6LBC1CKKuNcrQ64ELGAk3Z6NNT/L3qWOWui3EMolU0tpdnFIInMloIOB6r7WsjeCCHMF6fOIXAnQlyvc5NwUA0Kx9/KjkrqvKHMnwJnHh7JQCRhuqlQPGE8BzjUtLviOzbmbKvtu/fyE7EzdEfc1Wgf1waVK096QPkKmgWyVKUZum7eD8wEhne2KbANWPu8KmBgcJCD2z84xv5edzt4T8BehTjEJhU21lwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAABACAYAAABLAmSPAAAABHNCSVQICAgIfAhkiAAAA9pJREFUaEPtm99x1DAQxuMK4J0H8sA78MoLRwdQAUcFJBVwVABUwKWCDBVw6SBUwJVAKji+z7Myik7/VpYvNiPNeJyxZe/+tLvSan3pzmbeDofDOVT8iYPnknaLh151JU+e8hmAXkDel5Eyny0B9DEgdzieW7C/8PefBDw94Kn0mT8oFYVVXVi645uu64KweGaDPp8WBVoCu1hQgaU7/rZc9jOsSssdtcWCivty9n0hVHf8G6D7/wY0ALkCJGPV2xZn0RJIcfPlTEZaSPSnW+85Gy/GogWQ3wG5xtEvPTiYaEy7vEBJCljhuIzFUSS+uG66E08wJiHPQJpXEvYGx0e5UD9hcIRyQefCHpw0XNgRlgyNG6/XBfWMLIVkw1aAvBT3tdPFuqAeSLrOaxnmJGwFyA/wnK0nXawH6oE0QreQ8j4FWwvS+K4H9sno3UsI0hIaha0N6cBSNpebi1GgKcgU7FSQvlmpGDQXMgL7Dve4obZzV80S0odHbKq17xWBaiEDsLYeTNAng6QgNWgpZAR2ckg16FhID+xJIFWgGkj0fStr6LfIfnElM+LeF2caeTlxmuW6GqHou4Zg5p5syUThFJBZFh0BaRhUsBp5OZY0faIW1Qh1LMn3M/4eaSyrkaeBjFpUI9QDeYWXcz+4w2ES7KhlNfK0kEFQjVAfJCYgxqmvHuuF1cgrgfSCaoTGII1CngT7HqxGXinkEahGaA5kChb3WQHorS/tKK2TgWLFwqSKubwcUNZ9+03/MBlNBRmBdRX25q7Qa4OOpvaTC2n63QL05QA6NWQGbDBBHwl6BtDemB1e9FVcKOg+lqJ0M5MM8PKVmXhyh9oTs9FdiAPKUklO/YmFtb7ZoAdLyaDimphMQQssB42utYv1d0BZaIv257vwzMCksmhNyNQguPergcoIbHE2tR1eGtzpISFFtw3OZjIqt6gVf0ewcq8oJjFAXA64fJwrrXhvWahq0QisraNq4oGC7sBpeH8gtrjVY7zVtWgCVgUpCnLSMHVdDST73gB0NSmoJ2bVkB5QbWydBlQUXfOsqbTZZoPL2RadL6jW19z+DTQygtZCP73ryrLAdYvfKDVtj878Htr/9mf2FnUU1ICyL7dFmwaaGLZTu+4wW5qEOKYflON6Z3YLy7RoA7VM3Cw694TBnnWb6zbXXeg62ly3uW5z3fntR9vyEkh4W2bUMqPwXujBtmlQqd9EJ9o57q+lT2ibtsV9ViBSzcgLlVK07/n3kcmVPFGFIQXo3g+Bat9zh6SnLwkd/SplZIXd/mbDH2uU/peg7Rms2F9rCaX/UPH/C3Wy/Fp5RkcZAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAABACAYAAACunKHjAAAABHNCSVQICAgIfAhkiAAABnJJREFUeF7tmuuRG0UQx60IgARAFwF2BMgRGEeA/IWvmCq+I0eAHYF1EWBHgBwBdgAUcgbnCI7+Ld1brdl57uphuXaqtk6329PT/e/nzO7iwQXH/f39c1n+B7lWcn2touzk73u5Xi0Wi/25xFucayG/jgCA4q/lWhbW3wgYL84h49mBEBDWCoLX75N6AffwED+2AsazU4NxViAEhIei0F8uDD7I7+eiKOHQDwXrpdz4Sm8SJoTRyUY1ECIcbvxErh+dNHfyGyVuRVB+Z4fwgNYs/g5eqXkKGvQGxs0pc0YRCBGIJPY7lstoCQgvc/GsQP6rPAiFZQk8mQPof+ocwF6XwB77PAuEgoAr49I1440QPYspKLw2Cih8ql1d5u2F/ju59sL3pkaIMTQlIP52IGBF4pbkhXAP1MpYCY+xEU1uQsvcX5ToqfAAtOKQeVsh+glCmVP04CLDBEGScZDdAWElclDfByMSz48jCXAnEy0/DJ6nFPCedCkgiOelCvgoBYIpEAC3E/rHXrkgUV4HEGphwoLxVpTylSLpfS6eofnG54prBcJn6xei0KYm9oI8cGB1H+vCq8UjLpcjggzfktgAzBJnCIR/9quAS/IsDu9JZ88RARAt1ssB4b1skEMSSZgcZb1HdYgW0Y0QRKvGKYBg7SCH0G/g9rmc04eFEBXpxwBgc1JA0EX+oUTVApQAlOeeL+zXAsZtqIA2cqy/1mcfhK62qRuFRwqIlXCjo2SMTZbRkitK0kixZ7Gxkx/koW6vohWLtnqpBNkeJqU1YMY63BR9CgiEsNisimdVwnqPTyKEHbQcrK3W3gZg9MkzKLOAwMYMsLJD+dK5rh2IzKEJZB808DzPMNdZsnh1Jxi4/a0sjECDoW05fKkaBlbvdQEQAEbLzk41OdSL/PY+RgsgJP7oLjkHhM/yTMZ9o5YJukqEuBHavUmj1mK/ADixWE8B4RUipNisHcgQAQEvggbFV3L5g573Mv9RDKXSpguLdBseHfyPG1s8Y1HimQVtHOQU9RR6i2ioyP2PzDfghB4DsI6dQ4RyoyQJfM+DwIPeyi0ScG91BQp+3yujaM4rAYHwMPHJzVuPZx6oPiTUC0KQkIVTKayLQlgo6qoaQngPwHB5YN7JvFWwFUhWloAuup0vbmtVIBQyl065McphKfMWFPVuSbLiMLazZOvQ8NvIPIzTHeoE5TrbrQbValDRUlUDpS2mQ5fOxXPX/QU5ozrzl8BRL6MsdmCW+hbPr0R7AIS6EI3MKiMUmRdrI4hPqNzCI7Zyn0RlMVm9VykBET4vKTcKCGFKQsP1/LAMjOIoN4hptRIeBHjd6ZXcu1cmH+X/ZauCtfRHByLoAZCDTA4ob1LJLCesA6JLaoFl+D98d5FidyfzX6UeHhWIIKOyZrS81FoJugIQ5i21LLtwixE3AkEDZ2emfXgb34UwYxErgdWnyxM8ohWIpGECT8Z7nyYAI3T9/uUmrF4A4c8mD47Xak0W0lV6RPeWK7EGgtvuNwfEUujIXdZj7OQ3HrQ3vuo1eIJVv0G4QgsQZqEowRgwKoFIrifzV7Ju1e43KNWI2/ONhD3J/2Gsl7l6INBcFaah40WQB8IDmn3FeBIgxuYP584tHkF4sAXYqPungCCEAIu/tON9+JwsNM4BhPYv/hTLlk0BEYoFIOQfwDlNjjgHEBoSWJVw8ONgzxFUxZhoHf1Vh4a2+Ft1ef7mdrNUDeuA2RrYFgBwvr1qINQrms4mzSWCZuznqwciF4aFEF3JcyvRv81A/I/WNCA0Rl8Lo/DMosZQtQ1VDS9PU7VXCpq2yUBQevwxXovQyVd4gZAtPDtaqQI1J2/HCw0ReCfr2pY6e+Qe0Yav6ajlg6E9wrbR06gI3Z7jokDULN5s2oYJ3ig1shw7NHqPqFm8Qa9m0hFAWF/BWv9Mqhqtizdr1zBhqiwzEAp2MbvmjDLVCg0GL5JOlWUG4tgeIfyoy7WDzwaipdMYiIWX8jvcWeb4czjbvY0bk7iP5hG1CDi65Cs6BcG+z2hmfQkgtiKlfwncIvSpWuzkRyo54aZ6BLU4dRKdWtc+P6wFgo5114AwX/i00HesJwHRIFxPWnNq3nKKPUaG2JwZCEVlBmIG4jBAZo+YPWL2iGihmUNjDo3PJzTuRJTUxsufHlWdSk9trC4ZGrWyf7FA+E8PS2AkP+woTWx9/h+TBZCz4n1n0AAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAA8dJREFUeF7tWzts00AY9l1Qm2Qgdia6gLoBA4+NCSSYmJBAAgkmBsoEUqnoAANigKGorUQnysAEEkMrMTFRCSYmXgOwIRgoS22HIUklcsd3jp24qRPbiS92dMnSKjn/j+/+1/3+j2iSP7VabX+1un0il6NHNY0d5JxPc67tA1udEJIX7PFdHX9sQrQ/+O6HptHvjQb7XCxOvi8UCr9kikhkELcs6ySl9Fyjwc9CqUOD8ABY33I58pox9sowjHeD0Ap6NjEATNMsUbpnBoJeHVTpbkoKMADsM8b+rZbL5UoSYAwMgKv4PGONWZhvIQmhwmjAZWqU5pYBxMKgQAwEQKVSucEYvw+BjTChJf1uUUrulUqllX7p9wUAdv0IIXQZTE/3yzjh5zY4Z7Owhi9x6cYGwLb/XgOzJ2AU+9m4wsVcz7Ep13V979M4z8VSwrIqi0hat+IwGP5asmQYpbmofCMDYNuV5wg+l6MSTnMdgvELXS9diSJDJAAsy14DsfNRCGZozbph6BfC5AkFYJR2vlPZKJbQE4DR8PnQPe4ZE7oC4Eb71TDyo/A7ssNMt+wQCICb5z9lMNX1izfiNzsWVCcEAoCg9yZDRU6/Snc+t4GgeGZXnOj8wi1vHyfFNUt0UDbf7Cybd1iAONjAX3AeT622l42XBVeY9h+gdgCAwPcAC+7IliJN+tjghwiIdz0ZWgCI3Ud5vzmsI21aIIijNMr5Kc8KWgBg929j9xfSEmyYfGEF87CCR4KnzwLsr7I6OVGVs23LWarrctsLorNULuuHWwCIHh6weBtVUBnrhPLVatUhXSwWpYMANzgleoyOBSD1LaKzk9ox16/8sABASlxCSpxzADDN9Mw/DeWFzp4bENG3r9e3f8ow6zCaaSnvyZXPTx4gW1v2RUq1l2HCJv172soLfRjTLpE0ip8sKO9kABRFAMBegz8MrduTFeWbAGjrBCnwA/49nrSJB9HLkvJN+fhHYprWb5S/U7IByJ7yzkvZTQFAVXb9n0Xlm6mQ1+ACNhPuIMsCsqq8qy8fA6C8CygfBJVPg8oXQsqXwsofhpQ/DivfEBm3xIBA1pqioissGqNyP76maNpu4Ckqzg0TE5PSld/VFhcCjF+MqP5qzLUCdV+ONuOA4q/H3ZQo5n/VHJDworHSIzKuK4hhaHWHpNyAKIai1RyTa7vCKAxHh9WLvYenQ7vBSo/K+oKiusPS7Tpd4XH50YoJki5MtC1B4SszHghKX5ryJx1lr835QVD64mQAEOpdnQ2qw5S8PN2tIM369fn/fOW1/+wf+cMAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAA+FJREFUeF7tWz1oFEEU3pkTkkvh7R4IpokELNTCHwJiFUErQRAUFGJlYawUYjCFFiGFFpEkoJWxsDJgkYAgWBnQSgR/C7UTLYxNdvcs7i7gzfjN3e5lc7m7/b/dZXLNHXszb9775v3N2zdEiflTqVSGyuWNE7kcPaIo7ADnfJhzZS+WVQkh/WJ5PKviyyRE+YNnPxSFfq/V2OeBgb63+Xz+V5wskjiIG4YxSik9V6vxMxDqYJg1ANa3XI68ZIw91zTtTRha7eZGBoCu6wVKd42D0Sthhe4kpAADwD5h7N9isVgsRQFGaAAswacYq01AffNRMOVGAyZToTS3ACBmwwIRCoBSqXSdMT4DhjU3pmP636CUTBcKhYdB6QcCALt+mBC6gEVPBV044nmrnLMJaMMXv3R9A2Caf69isUdYyPdcv8z5HM+xKddUdfdjP/N8CWEYpTkErZt+Fuj9WDKvaYVJr+t6BsA0S0/hfMa8Ek5yHJzxkqoWLnvhwRMAhmEug9h5LwRTNGZF09QLbvy4ApClnW8V1osmdAUgGzbvusddfUJHACxvv+hGPgv/IzqMd4oObQGw4vynFIa6oHjDf7Oj7fKEtgDA6b1KUZITVOjWeatwiqe3+YnWB1Z6+yCqVdNEB2nzjda0eYsGiIMN7AXn8cRy+7jxMmAKw84D1BYA4PjuYsDtuLlIkj42+B4c4h2bhyYAYveR3q/16kibFAjiKI10ftDWgiYA2P1b2P3ZpBjr5brQgilowX2xpkMDzK9xVXK8Crc0874+dGx6xOuUQONEZalYVA81ARA1PGDxOhC1iCYJ4d+9aNQ/j58dih0EmMFJUWOsawBC3xwqO4kdc53C9woAhMR5hMTJOgC6npz6JyG8kNk2AyLq9tXqxs+INNkXmaSEt5ns7+/bR9bXzYuUKs98cR7B4KSFFyIwplwiSSQ/aRC+HgGQFAEAcxn20LNqT1qEbwCgrBCEwA/4eSwCrXYlkSbhG8zyj0TXjd9IfwdduQ85IH3C11/KrgkAynHn/2kUvhEKeQUmYDJhDiE3uOP0tApvMcx3AJDeBKR3gtKHQekTIelTYekPQ9Ifh6UviAgApC+Jpa0oKqrCojAa78dRFE3aDGxBxblh/8ie2IXfVhYXDOy8GJH91ZilBfK+HG34Aclfj1shUfT/ytkgYXtjqVtkLFMQzdDyNklZDlE0RcvZJrdpCllojnbLF7s3T7tWg6VulXU4RXmbpW0QsqQJXpqkbblcTcBpYdlono7pwsSmJkh8ZcYGQepLU06TkPbanBMEqS9OtgFCvquz7fIwKS9Pd0pI0359/j9+T7X/467/0QAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAA8JJREFUeF7tWztoFEEY3pkTcpfC273KNJF0auEDQawUtBIEQUEhVhbGSiEGU2gRUmgRSQKxMhZWBiwSEAQrA1qJEF+FWgiihREku3sWdxfwZv3msnvZ3Gt372535phLc2Ef/+Ob/zX//kO0mP+KxeJwobB5PJWihzSN7XMcZ8RxtD1gqxNC0pw9rpXwYxOi/ca175pGv5bL7OPg4MCbTCbzM04RSRzELcs6QSk9Vy47Z6DU/k54AKwvqRR5wRh7ZhjG605oNXq3awCYppmldNcYBL3SqdLNlORgANjHjP1bzOVy+W6A0TEAruKTjJXHYb6ZbggVRAMuU6Q0NQ8gZjoFoiMA8vn8dcacaQhsBAkd032LUjKVzWYftEu/LQCw6gcJofNgeqpdxl1+b9Vx2Dis4VNUupEBsO2/V8HsIRhFfjeqcBGfd7Ao13R996Mo70VSwrLys0haN6MwSP5ZMmcY2YmwfEMDYNv5Jwg+o2EJi3wOwXhJ17OXw8gQCgDLspdB7HwYghI9s2IY+oUgeQIB6KWVr1U2jCW0BKA3fD5wjVvGhKYAuNF+MYh8L9xHdhhrlh0aAuDm+Q8Sprp28Ub8Zocb1QkNAUDQeylRkdOu0rXvrSIonq6LE7UX3PJ2oVtcZaKDsvlGbdm8wwL4xgb+gv24sNo+brwsuMKIfwO1AwAEvrt44HbcUoikjwW+h4B4x5OhCgBffZT360ltaUWBwLfSKOeHPCuoAoDVv4XVnxElWJJ8YQWTsIL7nKfPAuzPcXVyPOWWptcq/45OHU1S3zpevLOUy+kHqgDwHh6weBWnVFz5t8+3+pvHzg4LBwFucJL3GCsWgNQ3i85OrNtcPwAygICUOIeUOFEBwDTjN3/ORyYQPDcgvG9fKm3+iNP8/bRlAiGdHthLNjbsi5RqT5MCQCZLYEy7REQVPzJYAi+KAIC9DH8Q0u0RDQLS/gpBCnyHFHgkSReQJyY474lpWr9Q/g6JAkBkTEBZvM4BKMhQ/4twB74vgAvYzF8SK2YJTh8A5V1A+SCofBpUvhBSvhRWfjOk/HZY+YZIvyUGBJJoivKGqNcVlq4pmpQbcBC+rf0R3hGua4tzAPofRlT/NOZagbofR7figOKfx92UyOd/1RyQ8LpBSo/IuK7Ah6HVHZJyAyIfilZzTG7bFXphODqojdt6eLo/KhuEH7+v9LC0B1AvDU2HGZL29Ap0Ab+F9MbwdEwHJrYtQeEjMx4ISh+a8ruEssfm/CAofXCyARDqHZ1tVEcoeXi6WUEl+/H5/+rTuP9exynmAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAA7xJREFUeF7tWz1s00AU9l2QmmQgdia6gLoBAz8bE0gwMSGBBBJMDJQJpFLRAQbEAENRWwmmloEJJIZWYmKiEkxM/A3AhmCgLLUdhvxU5Mx3iZ26qRPbcey76NIllX333rvv3t89vyNayn+1Wm1/tdo4kcvRo5rGDjqOM+U42j6w1Qkhec4ez+r4sQnR/uDZD02j35tN9rlYnHhfKBR+pSkiSYO4ZVknKaXnmk3nLBZ1KAkPgPUtlyOvGWOvDMN4l4RW0NyhAWCaZonSPdMQ9GrSRfdaJAcDwD5j7N9KuVyuDAOMxAC4C59jrDkD9S0MQ6gwGjCZGqW5JQAxnxSIRABUKpUbjDn3IbARJnRK7y1Kyb1SqfRkUPoDAYBdP0IIXQLT04MyHvK8dcdhM9CGL3HpxgbAtv9eA7NlMIo9N65wMcc72JTrur73aZx5sRZhWZUFBK1bcRhkP5YsGkZpNirfyADYduU5nM/lqIRFjoMzfqHrpStRZIgEgGXZqyB2PgpBicasGYZ+IUyeUABGaee7FxtFE/oCMBo2H7rHfX1CTwBcb78SRn4U3iM6TPeKDoEAuHH+k4ShblC84b/ZsaA8IRAAOL03EiU5gy66e946nOKZXX6i+4Gb3j4eFleZ6CBtvtmdNu/QAH6wgb3gPC4st08bLwumMOU/QO0AAI7vAQbcSVsKkfSxwQ/hEO96MnQA4LuP9H4jqyOtKBD4URrp/KSnBR0AsPu3sfvzogTLki+0YA5a8Ijz9GmA/TWtSo63ONu2Wv/quqjyQVsSXlkql/XDHQB4DQ9YvE1zF/jiq9Vqi0WxWBQOAmA4xWuMLQ1A6FtAZSfVY64fABlAQEhcREicbQFgmumrP+cjEwieGRBet6/XGz/TVH8/bZlAyOcnDpDNTfsipdrLrACQSRMY0y4RUcmPDJrAkyIAYK/CHoRUe0SDgLC/RhACPyAEHs/SBOTxCc5HYprWb6S/k6IAEOkTkBZvcACqMuT/IsyBnwtgAjbzp8SKaYIzBkB5E1DeCSofBpVPhJRPhZU/DCl/HFa+IDIuiQGBLIqivCDqVYWlK4pmZQYchK2thvCK8K6yePtIqvyHEcU/jblaoO7H0bYfUPzzuBsSef+vmg0SXjVI6RYZ1xR4M7S6TVKuQ+RN0Wq2yW2bwig0R4eVcfs3T49bZcPw4++Vbpb2ABqlpukoTdLeukJNwK8ho9E8ndKFiW1NUPjKjAeC0pem/Cah7LU5PwhKX5wMAEK9q7NBeYSSl6d7JVSyX5//D+lpuP+Fs7oVAAAAAElFTkSuQmCC\"","export default __webpack_public_path__ + \"static/media/HeroBanner.e00bd8ba.png\";","export default __webpack_public_path__ + \"static/media/Achievements_Image.d82b4c35.png\";","export default __webpack_public_path__ + \"static/media/OnboardSteps_Image.61db0463.png\";","export default __webpack_public_path__ + \"static/media/WhatisGSDInsight_Image.3fefaca7.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAoCAYAAADZn1szAAAABHNCSVQICAgIfAhkiAAAABtJREFUKFNjjFeZ/58BCTCOCoyGByI9DJbkAAAozVVRbvucbwAAAABJRU5ErkJggg==\"","export const github_actionTypes = {\r\n GET_TILES_DATA: \"GET_TILES_DATA\",\r\n TILES_DATA: \"TILES_DATA\",\r\n\r\n}\r\n","\r\nimport { github_actionTypes as actionTypes} from './../constants/github-actionTypes';\r\n\r\n\r\nconst initialState = {\r\n developerCard: {},\r\n errorVisibility:{},\r\n designCard:{},\r\n TilesData:[]\r\n}\r\n\r\nconst githubReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case 'SET_DEVELOPER_CARD_DATA':\r\n return {\r\n ...state, developerCard: action.payload\r\n };\r\n case 'SET_AXIOS_ERROR_DATA':\r\n return {\r\n ...state, errorVisibility: action.payload\r\n };\r\n case 'SET_DESIGN_CARD_DATA':\r\n return {\r\n ...state, designCard: action.payload\r\n };\r\n case actionTypes.GET_TILES_DATA:\r\n return { ...state };\r\n case actionTypes.TILES_DATA:\r\n return { ...state, TilesData: action.payload };\r\n default: return state\r\n\r\n }\r\n}\r\n\r\nexport default githubReducer ;","\r\nimport { github_actionTypes as actionTypes} from './../constants/github-actionTypes';\r\n\r\nexport const setDeveloperCard = (data) => (\r\n {\r\n type: 'SET_DEVELOPER_CARD_DATA',\r\n payload: data,\r\n }\r\n )\r\n\r\n export const setErrorData = (data) => (\r\n {\r\n type: 'SET_AXIOS_ERROR_DATA',\r\n payload: data,\r\n }\r\n )\r\n\r\n export const setDesignCard = (data) => (\r\n {\r\n type: 'SET_DESIGN_CARD_DATA',\r\n payload: data,\r\n }\r\n )\r\n export const getTilesData = (data) => (\r\n {\r\n type: actionTypes.GET_TILES_DATA,\r\n payload: data,\r\n }\r\n )","import React from 'react'\r\nimport WindowClose_Icon from './../../../assets/github-images/WindowClose_Icon.png';\r\n\r\nconst PlatformVideo = (props) => {\r\n return (\r\n
\r\n
\r\n
\r\n
This GSD Insight Demo Video is intended exclusively for the users and viewers of GSD Insight Portal.\r\n The content of this video is based on the GSD Insight design concepts and sample account data, hence the \r\n inserted screens may slightly differ from what the user can find in GSD Insight production environment.
\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default PlatformVideo","import React, { useState } from 'react'\r\nimport './GitHubPage.css';\r\nimport HeroBanner from './../../../assets/images/HeroBanner.png';\r\nimport Achievements_Image from './../../../assets/images/Achievements_Image.png';\r\nimport OnboardSteps_Image from './../../../assets/images/OnboardSteps_Image.png';\r\nimport WhatisGSDInsight_Image from './../../../assets/images/WhatisGSDInsight_Image.png';\r\nimport Platform_VideoLink_Image from './../../../assets/images/Platform_VideoLink_Image.png';\r\nimport Onboard_Icon from './../../../assets/images/Onboard_Icon.png';\r\nimport Account_Icon from './../../../assets/images/Account_Icon.png';\r\nimport User_Icon from './../../../assets/images/User_Icon.png';\r\nimport VoiceData_Icon from './../../../assets/images/VoiceData_Icon.png';\r\nimport NonVoiceData_Icon from './../../../assets/images/NonVoiceData_Icon.png';\r\nimport Vertical_Strip_Icon from './../../../assets/images/Vertical_Strip_Icon.png'\r\nimport { Footer} from './../HeaderFooter';\r\nimport githubReducer from './../../../reducers/github.reducer';\r\nimport { useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { getTilesData } from './../../../actions/github.action';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { VideoModelPopup } from './Models';\r\nimport PlatformVideo from './PlatformVideo';\r\n\r\n\r\n\r\nconst INFO_CARDS = [\r\n {\r\n id: 1,\r\n name: 'Built to reduce manual work, utilize automated or semi-automated solutions to get your data and visualize in standard views.',\r\n imgsrc: ''\r\n },\r\n {\r\n id: 2,\r\n name: 'One stop shop leveraging all channels, both for Voice and Non-voice offering so comprehensive overview of your services.',\r\n imgsrc: ''\r\n },\r\n {\r\n id: 3,\r\n imgsrc: \"\",\r\n name: 'Empower all the Users at all organizational levels through Operational Reports, Dashboards or Agent Scorecard.',\r\n }\r\n]\r\nconst GitHubPage = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const [showVideoModel, setShowVideoModel] = useState(false);\r\n let TilesData = useSelector((state) => state.githubReducer.TilesData);\r\n console.log('TilesData:::::::::::::',TilesData?.[0]?.['accounts Onboarded'])\r\n useEffect(() => {\r\n dispatch(getTilesData())\r\n }, [dispatch]);\r\n\r\n const GRID_TEXT = [\r\n {\r\n id: 1,\r\n name: 'Sites Utilizing the Platform',\r\n title: TilesData?.[0]?.['sites Utilizing the Platform']\r\n },\r\n {\r\n id: 2,\r\n name: 'Accounts Onboarded',\r\n title: TilesData?.[0]?.['accounts Onboarded']\r\n },\r\n {\r\n id: 3,\r\n name: 'Agents Telephony Data Integrated',\r\n title: TilesData?.[0]?.['agents Telephony Data Integrated']\r\n },\r\n {\r\n id: 4,\r\n name: 'GB Data Consumed (Voice & Non-Voice)',\r\n title: TilesData?.[0]?.['gb Data Consumed (Voice & Non-Voice)']\r\n }\r\n ]\r\n\r\n return (\r\n
\r\n
\r\n HeroBanner\r\n
\r\n
Value Proposition of GSD Insight
\r\n
Unified Reporting and Analytics Platform for you to make better business decisions.
\r\n
\r\n
\r\n
\r\n
\r\n {INFO_CARDS.map((cards, i) =>\r\n
{cards.name}
\r\n )}\r\n
The Platform setShowVideoModel(true)}/>
\r\n
\r\n
\r\n
\r\n
\r\n {GRID_TEXT?.map((grid, id) =>\r\n
{grid.title === null ? '0' : grid.title}
{grid.name}
)}\r\n
\r\n
\r\n
\r\n \r\n
A few simple steps to get you onboarded
\r\n
\r\n
Onboard
A standard onboarding template will guide you through the process.
\r\n
1. Account and Site Location
Define the account name and site location (this defines time zone).
\r\n
2. User Role Access
Define user roles to which you would like to get access.
\r\n
3. Data (Voice & Non Voice)
For various channels you have the ability to define data source, type, datapoints and measurement criteria. You provide us the data and SLA or KPI formulas and we will calculate and visualise them in your reports.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
What is GSD Insight
\r\n
Get to know more on the Concept, Design, Features and Functionalities of the platform.
\r\n
\r\n
\r\n
\r\n\r\n {showVideoModel && \r\n setShowVideoModel(false)}\r\n />\r\n }\r\n
\r\n\r\n \r\n )\r\n}\r\n\r\nexport default GitHubPage","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAQCAYAAAAxtt7zAAAABHNCSVQICAgIfAhkiAAAACRJREFUGFdjjFeZ/58BBv4zmjCSIQDXD2UwYgiQYSiGFrrYAgCABSgNY15SxwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAaCAYAAABVX2cEAAAABHNCSVQICAgIfAhkiAAAAb1JREFUOE/d1b1Kw1AUB/D/SVsdBD9AcFQ0nUTUN6ggOLg5OCjGBEFH6xPYzg7WUUETfQA3UVzMI1TEqUVcRUSlqNS293pSG4it7U07iYELyf345Zx78kEIHIZ+dEGguWBf2HMCsty+j1XdPgfRLEk8C4gBHqiEhQCtAMjBKuZDkNK7fuIBxmi5S3xeqsASxXoFUY7ndVMQEpDzGmgHoGEQlo5z5pkKWx/d7ytqsQdeU8U4HHqUHBYv5E6M8UC5Y4yhMoOM0cd3JDLK+7fYUWS8uMjYiiR699PyIXPE7pcR7FIFW8699VKfdkOaHtYtSkMHdxuvwclVKIor7pviluXkZ+rBUFgd5N+jAVRiTaBfQSVm6Lb3NE9yRa41CZfLvcnl2ROEhNfvpXyct6Y9XYmZcdsUEkmtjASiSDK6zUgaZWREFK5GyDg5ywmF/SiCbqd8zMlbqY6r6S00/zKW4AC95nKabttpmqP2hOoFd+6sm1AFMPTDFEHbbgZKiPRJfq1aDOWjUcMWWmCnoTFVisFxZWT/FsMbp3bL37U2/ki1zSCKQGKcr3qI/5UF/sq2jzRsLEXIiNtL7Wx4q7lfeNx+pciaRp8AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAABNNJREFUOE+NVX1MlWUUP+d573vvhYBcGyVQVnLVUlzmH86YFMsNSejD5qrFN0k0J5Uum1vLWLm2aq0wtxoKePnY0qKt1qRNm5l/4B9Ic8sQuBcZGJYUJBFwue/znH4vIjG6fbz/vPc9z3l+55zf+Z1zmfAUrWi8kx1nHTM/jM9VTJIkpFKIJM49n31G8R4VlmEW6iSjWm2Jfn/oYsXP83zmfnJJoC6HRe0TpgAR9zNLlwiHWKSd2ZoUpY3RxoPfyQh4jxCtFhLXN4WZzhpt7WnqK+5YCA7ghu9g1ETmdUXc3hAqH46VwXzb9pVHE8aj4wUsvBeBLvjN9OO1fZVX5/u4wGJIsptC5af+C3Dhecmy+n1ieKshnd8c3hb6GzC47GLF72l2TjR1V1z8twDVVK16A2mpHrK3414BCUU06c0xgQUUgL+1APwR/PWD8w5i84cIdRNZY+A9FfbbmPhmgN0LvyXgOB6gl4gpTouTGxNYM+VYhicAlkOksnHRbZQPbz84TAVImMlADPwbbOPEchyqaCNltpCop/4RmJgfCPaWfutSUHpHg58tSTaskpCRXyzHYu3Ris2kVtZVf+LUldqzlVHXFxzXIN4ToCIrZsaGzM6m0DPv/5/mFaU3ZihlMkk0lGRNQU25oKguSnZnS6hw7DrGjCqg28sor0bY+WKq98aeTwhJLHgK0ppv9cRNv4vqslAJhoc7QFcYVD0J10nQ9LUS6TocLnvZvToDjAachvNqNGsSAQZg7kHDBsDfNHyGWXlPehN/D0fGfMfQvCQm6kMymQSdgbZLRmgQti3EOjfYu+007sisjq1sJWYcYJsM8QY4LcLhYrxxh3wIhmM5jpHfjO+vvNrZHRHfXeyNxtu29EanrTxkvxeBTgkr20P85mzGfzXPLaMsUJ9sCM2DKuC8mJS0IocIVHMmylM7bfHdB36fdbOHvQsJ7ccOyROjnkOABDBQN8uxVDWGyw/Eal7psoZXQVOF0fSOEmoSD+cB8CDoOoe3y3GmIrqsLesFdiSdldmFpk3OAKPkIXDWjOZ97J/Q3bVDlRPXgxQHGl7DsimBzw+QW5VydBDZef3Kn1/b8/Qvxel1DxFbLQj0PIteg0HagYV18BoVxJ8CaAMi+VBWP76HEe0cnHw2UQ1KPGAUeTkqhWJTGyo4HwyVFbrBi5YGl1jKnMTPowgYjyl6lMhTNcexMc6IYpUFOd2PwxQA3453nBGZUszJkM6XvolIWeQGbx2A14mYHSLOeWXZxeD5FQxKvrI44Ih5C53ujNm88hV1iY54koyOxlns2URiqkXx26LVEcWSDHXsx0a8G40aQaZpAK41jvrIsnUAjXN7MuICRxDtxWBf6YexmleYfigA8G9A003guRcV7cZu6FNsr1dkVmFtnojS1IBX+d6YHRZXxrsAXH9MRK1H9CPCppE8np7GCyW/zg+CnVBmsJgs4nIADbKWImVLBjSfhAwHRTOWl7yEJn+Gbwsct/DM7JNTQYofQUm3QKv97ohj/ocQ6CfYRuG8HOVdBucbkTXAuAuNfexacA7jvJ9ENsK+FcusdcY6J6ulweWsZA3+6x4kRSsBnoCzRVDJNLJMQDPbkJErw7WYxwxc/Bx+Z0DRBwAMIYF2I2pPU7j4iov5J5eibQseKcDEAAAAAElFTkSuQmCC\"","export const UploadActionTypes = {\r\n SET_SELECTED_VOLUME_FIELDS: \"SET_SELECTED_VOLUME_FIELDS\",\r\n SET_SELECTED_SLAKPI_FIELDS: \"SET_SELECTED_SLAKPI_FIELDS\",\r\n SET_SELECTED_ACCOUNT_DETAILS: \"SET_SELECTED_ACCOUNT_DETAILS\",\r\n SET_SELECTED_SLAKLP_VOLUME_TAB:\"SET_SELECTED_SLAKLP_VOLUME_TAB\",\r\n SET_SELECTED_VOICE_NONVOICE_TAB: \"SET_SELECTED_VOICE_NONVOICE_TAB\",\r\n SET_SELECTED_VOICE_NONVOICE_ITEM: \"SET_SELECTED_VOICE_NONVOICE_ITEM\",\r\n SET_DATA_ADMINISTRATION_VALIDATION:\"SET_DATA_ADMINISTRATION_VALIDATION\",\r\n SET_SELECTED_VOLUME_SLA_DATE:\"SET_SELECTED_VOLUME_SLA_DATE\",\r\n SET_SELECTED_ITEM:\"SET_SELECTED_ITEM\",\r\n\r\n GET_UPLOAD_ACCOUNTS: \"GET_UPLOAD_ACCOUNTS\",\r\n UPLOAD_ACCOUNTS: \"UPLOAD_ACCOUNTS\",\r\n\r\n GET_SLAKPI_VOLUME_TEMPLATES: \"GET_SLAKPI_VOLUME_TEMPLATES\",\r\n SLAKPI_VOLUME_TEMPLATES: \"SLAKPI_VOLUME_TEMPLATES\",\r\n\r\n UPDATE_SELECTED_SLAKPI_VOLUME_START: \"UPDATE_SELECTED_SLAKPI_VOLUME_START\",\r\n UPDATE_SELECTED_SLAKPI_VOLUME_SUCCESS: \"UPDATE_SELECTED_SLAKPI_VOLUME_SUCCESS\",\r\n\r\n UPDATE_CUSTOM_TEMPLATE_START: \"UPDATE_CUSTOM_TEMPLATE_START\",\r\n UPDATE_CUSTOM_TEMPLATE_SUCCESS: \"UPDATE_CUSTOM_TEMPLATE_SUCCESS\",\r\n\r\n GET_FILE_UPLOAD_DATA: \"GET_FILE_UPLOAD_DATA\",\r\n FILE_UPLOAD_DATA: \"FILE_UPLOAD_DATA\",\r\n\r\n UPDATE_FILE_UPLOAD_DATA_START: \"UPDATE_FILE_UPLOAD_DATA_START\",\r\n UPDATE_FILE_UPLOAD_DATA_SUCCESS: \"UPDATE_FILE_UPLOAD_DATA_SUCCESS\",\r\n\r\n GET_NONVOICE_CARDS_DATA: \"GET_NONVOICE_CARDS_DATA\",\r\n NONVOICE_CARDS_DATA: \"NONVOICE_CARDS_DATA\",\r\n\r\n GET_UPLOAD_PRIVIEW_DATA: \"GET_UPLOAD_PRIVIEW_DATA\",\r\n UPLOAD_PRIVIEW_DATA: \"UPLOAD_PRIVIEW_DATA\",\r\n\r\n GET_VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA: \"GET_VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA\",\r\n VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA: \"VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA\",\r\n\r\n UPDATE_VOLUME_SLAKPI_DATA_START: \"UPDATE_VOLUME_SLAKPI_DATA_START\",\r\n UPDATE_VOLUME_SLAKPI_DATA_SUCCESS: \"UPDATE_VOLUME_SLAKPI_DATA_SUCCESS\",\r\n\r\n GET_VOICENONVOICE_ITEMS: \"GET_VOICENONVOICE_ITEMS\",\r\n VOICENONVOICE_ITEMS: \"VOICENONVOICE_ITEMS\",\r\n\r\n};\r\n\r\n","\r\nimport { UploadActionTypes as actionTypes} from \"../constants/uploads-actionTypes\";\r\n\r\nexport const setSelectedVolumeFields = (data) => ({\r\n type: actionTypes.SET_SELECTED_VOLUME_FIELDS,\r\n payload: data\r\n});\r\n\r\n\r\nexport const setSelectedSLAKPIFields = (data) => ({\r\n type: actionTypes.SET_SELECTED_SLAKPI_FIELDS,\r\n payload: data\r\n});\r\n\r\nexport const setSelectedAccountDetails = (data) => ({\r\n type: actionTypes.SET_SELECTED_ACCOUNT_DETAILS,\r\n payload: data\r\n});\r\n\r\nexport const setSelectedSLAKPIVolumeTab = (data) => ({\r\n type: actionTypes.SET_SELECTED_SLAKLP_VOLUME_TAB,\r\n payload: data\r\n});\r\n\r\nexport const setSelectedVoiceNonVoiceTab = (data) => ({\r\n type: actionTypes.SET_SELECTED_VOICE_NONVOICE_TAB,\r\n payload: data\r\n});\r\n\r\nexport const setSelectedVoiceNonVoiceItem = (data) => ({\r\n type: actionTypes.SET_SELECTED_VOICE_NONVOICE_ITEM,\r\n payload: data\r\n});\r\n\r\n export const setDataAdministrationValidation = (data) => ({\r\n type: actionTypes.SET_DATA_ADMINISTRATION_VALIDATION,\r\n payload: data\r\n });\r\n\r\nexport const setSelectedVolumeSlaDate = (data) => ({\r\n type: actionTypes.SET_SELECTED_VOLUME_SLA_DATE,\r\n payload: data\r\n});\r\n\r\nexport const setSelectedItem = (data) => ({\r\n type: actionTypes.SET_SELECTED_ITEM,\r\n payload: data\r\n});\r\n\r\nexport const getUploadAccounts = (data) => (\r\n {\r\n type: actionTypes.GET_UPLOAD_ACCOUNTS,\r\n payload: data,\r\n }\r\n )\r\n\r\n export const getSLAKPIVolumeTemplates = (customerID,category,itemID) => (\r\n {\r\n type: actionTypes.GET_SLAKPI_VOLUME_TEMPLATES,\r\n customerID:customerID,\r\n category: category,\r\n itemID:itemID\r\n }\r\n )\r\n\r\n export const updateSelectedSLAKPIVolumeStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_SELECTED_SLAKPI_VOLUME_START,\r\n payload: data,\r\n }\r\n )\r\n \r\n \r\n export const updateSelectedSLAKPIVolumeSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_SELECTED_SLAKPI_VOLUME_SUCCESS,\r\n }\r\n )\r\n\r\n export const updateCustomTemplateStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_CUSTOM_TEMPLATE_START,\r\n payload: data,\r\n }\r\n )\r\n \r\n \r\n export const updateCustomTemplateSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_CUSTOM_TEMPLATE_SUCCESS,\r\n }\r\n )\r\n\r\n export const getFileUploadData = (customerID,servicedeskID,selectedVoiceNonVoiceTab) => (\r\n {\r\n type: actionTypes.GET_FILE_UPLOAD_DATA,\r\n customerID:customerID,\r\n servicedeskID:servicedeskID,\r\n selectedVoiceNonVoiceTab:selectedVoiceNonVoiceTab\r\n\r\n }\r\n )\r\n\r\n export const updateFileUploadDataStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_FILE_UPLOAD_DATA_START,\r\n payload: data,\r\n }\r\n )\r\n \r\n export const updateFileUploadDataSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_FILE_UPLOAD_DATA_SUCCESS,\r\n }\r\n )\r\n\r\n export const getNonvoiceCardsData = (customerID,servicedeskID,selectedVoiceNonVoiceTab,month) => (\r\n {\r\n type: actionTypes.GET_NONVOICE_CARDS_DATA,\r\n customerID:customerID,\r\n servicedeskID:servicedeskID,\r\n selectedVoiceNonVoiceTab:selectedVoiceNonVoiceTab,\r\n month:month\r\n }\r\n )\r\n\r\n export const getUploadPreviewData = (customerID,servicedeskID,month) => (\r\n {\r\n type: actionTypes.GET_UPLOAD_PRIVIEW_DATA,\r\n customerID:customerID,\r\n servicedeskID:servicedeskID,\r\n month:month\r\n }\r\n )\r\n\r\n export const getVolumeSlakpiSelectedTemplatesData = (customerID,servicedeskID,category,month,itemname) => (\r\n {\r\n type: actionTypes.GET_VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA,\r\n customerID:customerID,\r\n servicedeskID:servicedeskID,\r\n category:category,\r\n month:month,\r\n itemname:itemname\r\n }\r\n )\r\n\r\n export const updateVolumeSLAKPIDataStart = (data) => (\r\n {\r\n type: actionTypes.UPDATE_VOLUME_SLAKPI_DATA_START,\r\n payload: data,\r\n }\r\n )\r\n \r\n \r\n export const updateVolumeSLAKPIDataSuccess = () => (\r\n {\r\n type: actionTypes.UPDATE_VOLUME_SLAKPI_DATA_SUCCESS,\r\n }\r\n )\r\n\r\n export const getVoiceNonvoiceItems = (data) => (\r\n {\r\n type: actionTypes.GET_VOICENONVOICE_ITEMS,\r\n payload: data,\r\n }\r\n )\r\n","import { useEffect, useState } from \"react\";\r\nimport ReactModal from \"react-modal\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { getVoiceNonvoiceItems, setSelectedItem } from \"../../../actions/uploads.action\";\r\n\r\n\r\n\r\nReactModal.setAppElement('#root')\r\nexport function ItemSelectionModalPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n background: ' #63666A66 0% 0% no-repeat padding-box',\r\n opacity: '1',\r\n },\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-30%',\r\n transform: 'translate(-50%, -50%)',\r\n margin: '20px',\r\n padding: '30px',\r\n\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n\r\n\r\nexport function ItemSelectionModal(props){\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n let voicenonvoiceitems = useSelector((state) => state.uploadReducer.voicenonvoiceitems);\r\n console.log('voicenonvoiceitems',voicenonvoiceitems)\r\n\r\n useEffect(()=>{\r\n dispatch(getVoiceNonvoiceItems())\r\n },[dispatch])\r\n\r\n const [selectedItem, setselectedItem] = useState('');\r\n const [ItemId, setItemId] = useState('');\r\n\r\n // console.log('selectedItem',selectedItem)\r\n return(\r\n <>\r\n
Select Item
\r\n
\r\n {voicenonvoiceitems?.map((role,id) =>\r\n
\r\n \r\n
)}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n )\r\n\r\n}","import React, { useEffect, useState } from 'react'\r\nimport AdminBreadcrumb from '../../Administration/General/Admin-breadcrumb';\r\n\r\nimport searchIcon from './../../../assets/onboard-images/Search_Icon.png';\r\n// import ActivateDisabledIcon from './../../../assets/images/Activate_Disabled_Icon.png';\r\n// import ActivateIcon from './../../../assets/images/Activate_Icon.png';\r\nimport menuIcon from './../../../assets/images/Dotted_ContextMenu_Icon.png';\r\nimport FileUpload_Icon from './../../../assets/images/FileUpload_Icon.png';\r\nimport UploadAdministration_Icon from './../../../assets/images/UploadAdministration_Icon.png';\r\nimport Admindata from '../../Administration/Administration_firstpage.js/Admin.json';\r\n// import TooltipHandler from '../../Onboard/OnboardComponents/TooltipHandler';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { ActivateModelPopup, ActivationRequestModal, RequestSentModal } from '../../Administration/Administration_firstpage.js/ActivationModel';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getUploadAccounts, setSelectedAccountDetails } from '../../../actions/uploads.action';\r\nimport { ItemSelectionModal, ItemSelectionModalPopup } from '../Data-Administration/ItemSelectionModel';\r\n\r\nfunction UploadAccountList() {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n let uploadAccounts = useSelector((state) => state.uploadReducer.uploadAccounts);\r\nconsole.log('uploadAccounts',uploadAccounts)\r\n useEffect(() =>{\r\n dispatch(getUploadAccounts())\r\n },[dispatch])\r\n\r\n\r\n\r\n\r\n const [showRequestForm, setShowRequestForm] = useState(false);\r\n const [showRequestSent, setShowRequestSent] = useState(false);\r\n const [filter, setFilter] = useState('');\r\n const [showNonvoiceItemSelectionModel,setShowNonvoiceItemSelectionModel] = useState(false)\r\n const [searchColumns, setSearchColumns] = useState([\r\n 'Account Name', 'Site Name', 'Created By'\r\n ]);\r\n function searchRows(rows) {\r\n return rows.filter((row) =>\r\n searchColumns.some(\r\n (column) =>\r\n row[column]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(filter.toLowerCase()) > -1,\r\n ),\r\n );\r\n };\r\n const menuoptions = [\r\n {\r\n id: 1,\r\n imageSrc: FileUpload_Icon,\r\n name: 'File Upload - Voice & Non Voice',\r\n value: '/upload/account'\r\n }, {\r\n id: 2,\r\n imageSrc: UploadAdministration_Icon,\r\n name: 'Upload Data Administration',\r\n value: \"\"\r\n }\r\n ];\r\n\r\n \r\n const [selectedAccount, setSelectedAccount] = useState({});\r\n const [openDownload, setOpenDownload] = useState(false);\r\n const [dropdownIndex, setDropdownIndex] = useState(null);\r\n\r\n const onClickAccountRow = (data, id) => {\r\n switch (data?.Status) {\r\n case 'Active': {\r\n setDropdownIndex(id)\r\n setSelectedAccount(data);\r\n \r\n setOpenDownload(!openDownload);\r\n break;\r\n }\r\n case 'Inactive': {\r\n if (data?.Request !== 'Sent') {\r\n setSelectedAccount(data);\r\n setShowRequestForm(true);\r\n setShowRequestSent(false);\r\n }\r\n break;\r\n }\r\n default: { }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n history.push('/welcome')} label1='Home' isActive2={false} label2='Upload' />\r\n
Upload
\r\n
\r\n
\r\n
Accounts
\r\n
\r\n setFilter(e.target.value)} placeholder='Search Accounts' />\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {Admindata.headers.map(header => ())}\r\n \r\n \r\n \r\n \r\n {searchRows(uploadAccounts).map((info, rowId) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
{header.label}
{info?.['Account Name']}{info?.['Site Name']}{info?.['Created By']}{(info?.['Created Date'])}{(info?.['Valid From'])}{(info?.['Valid From'])}
{info?.['Status']}
{setDropdownIndex(rowId)\r\n setSelectedAccount(info);\r\n setOpenDownload(!openDownload);dispatch(setSelectedAccountDetails(info))}}>{\r\n <>\r\n \r\n
\r\n {(openDownload && dropdownIndex === rowId) && (\r\n
    \r\n {menuoptions.map(data => (\r\n
  • {data.id === 1 ? history.push(data.value) : setShowNonvoiceItemSelectionModel(true)}} >\r\n {data.name}
  • )\r\n )}\r\n
)}
\r\n }
\r\n \r\n {showRequestForm && \r\n {\r\n setShowRequestForm(false);\r\n setShowRequestSent(true);\r\n }} data={selectedAccount}\r\n handleCancelClick={() => setShowRequestForm(false)}\r\n />\r\n }\r\n \r\n {showRequestSent && \r\n {\r\n setShowRequestSent(false);\r\n setShowRequestForm(false);\r\n }}\r\n />\r\n }\r\n\r\n {showNonvoiceItemSelectionModel && \r\n setShowNonvoiceItemSelectionModel(false)} \r\n />\r\n }\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default UploadAccountList","import React, { useState } from 'react'\r\nimport { Row, Col } from 'react-bootstrap';\r\nimport { PreviewCard, PreviewNonvoiceCard } from '../../Onboard/OnboardComponents/Preview/PreviewCard';\r\nimport { KeyboardDatePicker } from '@material-ui/pickers';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useEffect } from 'react';\r\nimport { getUploadPreviewData } from '../../../actions/uploads.action';\r\nimport Toggle from '../../Onboard/OnboardComponents/Preview/toggle';\r\nimport { setWidgetPreviewTab } from '../../../actions/Onboard.action';\r\n\r\nconst UploadPreview = (props) => {\r\n const dispatch = useDispatch();\r\n const SelectedAccountDetails = useSelector((state) => state.uploadReducer.SelectedAccountDetails);\r\n const UploadpreviewData = useSelector((state) => state.uploadReducer.UploadpreviewData);\r\n console.log('UploadpreviewData',UploadpreviewData)\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [year,month, '01'].join('/');\r\n}\r\n\r\nconst [selectedDate, setSelectedDate] = useState(formatDate(new Date()));\r\n\r\n\r\nconst ValidFromDateHandler = (date) => {\r\n setSelectedDate((date === null || date === undefined) ? null : formatDate(date));\r\n}\r\n\r\n\r\nuseEffect(()=>{\r\n dispatch(getUploadPreviewData(SelectedAccountDetails.CustomerID ? SelectedAccountDetails.CustomerID : '', SelectedAccountDetails.ServiceDeskID ? SelectedAccountDetails.ServiceDeskID : '',selectedDate))\r\n},[dispatch,SelectedAccountDetails,selectedDate])\r\n\r\n\r\n return (\r\n
\r\n
This page enables to view the previous steps filled status/update.

\r\n \r\n
Select Month
\r\n \r\n
\r\n ValidFromDateHandler(date)}\r\n />\r\n
\r\n \r\n
\r\n

\r\n
\r\n
\r\n
\r\n {/* \r\n
Non Voice
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
*/}\r\n
\r\n
Non Voice
\r\n
\r\n{UploadpreviewData?.[0]?.NonVoiceHeader.map((data,id) => (
\r\n
{data.ItemName}
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
File UploadVolume DataSLAs/KPIs Data
{data?.['File Upload']}{data.Volume}{data?.['SLA/KPI']}
\r\n
\r\n \r\n \r\n
\r\n
{\r\n dispatch(setWidgetPreviewTab(data.ItemName))\r\n props.onClickViewDetails(data.ItemName);\r\n }}>View Details
\r\n
\r\n
\r\n)) \r\n}
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default UploadPreview","import { KeyboardDatePicker } from \"@material-ui/pickers\";\r\nimport moment from \"moment\";\r\nimport './FileUpload.css';\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport ReactModal from \"react-modal\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nimport RequestDropdown from \"../../Onboard/OnboardComponents/Dropdown/RequestDropdown\";\r\nimport DatePickerHandle from \"../../Onboard/OnboardComponents/KeyboardDatePicker\";\r\nimport deleteIcon from './../../../assets/images/Delete_Icon.png';\r\nimport CloseWindow_Normal from '../../../assets/images/CloseWindow_Normal.png';\r\nimport { getFileUploadData, updateFileUploadDataStart } from \"../../../actions/uploads.action\";\r\nimport axios from \"axios\";\r\n\r\nReactModal.setAppElement('#root')\r\nexport function FileUploadModalPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n background: ' #63666A66 0% 0% no-repeat padding-box',\r\n opacity: '1',\r\n },\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-30%',\r\n transform: 'translate(-50%, -50%)',\r\n margin: '20px',\r\n padding: '30px',\r\n\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n\r\nconst PERIOD = [\r\n { id: 1, value: 'Day' },\r\n { id: 2, value: 'Week' },\r\n { id: 3, value: 'Custom Period' },\r\n { id: 4, value: 'Month' }\r\n]\r\nexport function FileUploadFragment(props) {\r\n const dispatch = useDispatch();\r\n\r\n const SelectedAccountDetails = useSelector((state) => state.uploadReducer.SelectedAccountDetails);\r\n const SelectedVoiceNonVoiceTab = useSelector((state) => state.uploadReducer.SelectedVoiceNonVoiceTab);\r\n const SelectedVoiceNonVoiceItem = useSelector((state) => state.uploadReducer.SelectedVoiceNonVoiceItem);\r\n \r\n\r\n const [ValidFrom, setValidFrom] = useState(new Date(''));\r\n const [ValidTo, setValidTo] = useState(new Date(''));\r\n const [month, setMonth] = useState(new Date(''));\r\n const [day, setDay] = useState(new Date(''));\r\n\r\n function formatDate(date) {\r\n var d = new Date(date)\r\n let dt = d.toLocaleDateString('en-us', { month: \"short\", year: \"numeric\" }),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n return [month, day, year].join('/');\r\n }\r\n function formatMonthDate(date) {\r\n return new Date(date).toLocaleDateString('en-us', { month: \"long\", year: \"numeric\" })\r\n }\r\n\r\n\r\n // useEffect(() => {\r\n // if (props.editMode) {\r\n // setSelectedValue(props.editFileUpload.selectedValue[0])\r\n // switch(props.editFileUpload.selectedValue[0]){\r\n // case 'Month':\r\n // {\r\n // setMonth(props.editFileUpload.selectedValue[1])\r\n // break;\r\n // }\r\n // case 'Day' :\r\n // {\r\n // setDay(props.editFileUpload.selectedValue[1])\r\n // break;\r\n // }\r\n // default:{\r\n // setValidFrom(props.editFileUpload.selectedValue[1])\r\n // setValidTo(props.editFileUpload.selectedValue[2])\r\n // }\r\n // }\r\n // let temp_Obj = {\r\n // fileSize: props.editFileUpload.fileSize,\r\n // fileName: props.editFileUpload.fileName,\r\n // fileType: props.editFileUpload.fileType,\r\n // uploadedDate: props.editFileUpload.uploadedDate,\r\n // uploader: props.editFileUpload.uploader\r\n // }\r\n // setUploadedFile(temp_Obj)\r\n // setDatacard(true)\r\n // }\r\n // }, [props.editMode])\r\n\r\n const [addFileUpload, setAddFileUpload] = useState({});\r\n const addDateToFileUpload = (period) => {\r\n const newFormData = { ...addFileUpload };\r\n newFormData['period'] = period;\r\n setAddFileUpload(newFormData)\r\n }\r\n\r\n\r\n\r\n\r\n const [selectedValue, setSelectedValue] = useState('')\r\n const DisplayPeriodHandle = () => {\r\n switch (selectedValue) {\r\n case 'Day': return (<>\r\n
\r\n
\r\n { DateHandler(date, selectedValue) }}\r\n format=\"MM/DD/YYYY\"\r\n style={{ width: '300px', marginTop: 10 }}\r\n error={false}\r\n helperText={null}\r\n />\r\n
\r\n );\r\n case 'Custom Period':\r\n case 'Week': return (<>\r\n { DateHandler(date, selectedValue, 'valid_from') }}\r\n />\r\n { DateHandler(date, selectedValue, 'valid_to') }}\r\n />\r\n\r\n )\r\n case 'Month': return (<>\r\n
\r\n
\r\n { DateHandler(date, selectedValue) }}\r\n format=\"MM/YYYY\"\r\n style={{ width: '300px', marginTop: 10 }}\r\n error={false}\r\n helperText={null}\r\n />\r\n
\r\n );\r\n default: { }\r\n }\r\n }\r\n const [dates, setDates] = useState([]);\r\n const DateHandler = (date, value, validity) => {\r\n switch (value) {\r\n case 'Month': {\r\n setMonth(formatMonthDate(date));\r\n let period = `Month - ${formatMonthDate(date)}`\r\n addDateToFileUpload(period, value);\r\n break;\r\n }\r\n case 'Day': {\r\n setDay(formatDate(date));\r\n let period = `Day - ${formatDate(date)}`\r\n addDateToFileUpload(period, value);\r\n break;\r\n }\r\n\r\n case 'Custom Period':\r\n case 'Week':\r\n {\r\n let valids = [...dates]\r\n if (validity === 'valid_from') {\r\n setValidFrom(formatDate(date));\r\n valids.push(formatDate(date));\r\n setDates(valids)\r\n }\r\n if (validity === 'valid_to') {\r\n setValidTo(formatDate(date))\r\n valids.push(formatDate(date))\r\n setDates(valids)\r\n }\r\n const isValidDate = moment(valids[valids.length - 1]).isAfter(valids[valids.length - 2])\r\n let str = '';\r\n if (isValidDate) {\r\n str = `${value} - ${valids[valids.length - 2]} to ${valids[valids.length - 1]}`\r\n }\r\n else str = `${value} - ${valids[valids.length - 1]} to ${valids[valids.length - 2]}`\r\n addDateToFileUpload(str, value)\r\n\r\n break;\r\n }\r\n\r\n default: { }\r\n }\r\n }\r\n\r\n\r\n const [uploadedFileId, setUploadedFileId] = useState();\r\n const [file, setFile] = useState(\"\");\r\n const [fileName, setFileName] = useState(\"\");\r\n const [fileSize, setFileSize] = useState(\"\");\r\n const [fileFormat, setFileFormat] = useState(\"\");\r\n const [error, setError] = useState();\r\n\r\n const handleUpload = async (event) => {\r\n event.preventDefault();\r\n const file = event.target.files[0];\r\n const MAX_SIZE_MB = 20;\r\n const MAX_SIZE_BYTES = MAX_SIZE_MB * 1024 * 1024;\r\n \r\n if (file && file.size > MAX_SIZE_BYTES) {\r\n setError('Please upload a file less than 20MB');\r\n setFile('');\r\n } else if (file) {\r\n setError('');\r\n setFile(file);\r\n \r\n const formData = new FormData();\r\n formData.append('File', file);\r\n \r\n try {\r\n const response = await fetch(`${process.env.REACT_APP_BASE_URL}/api/file`, {\r\n method: 'POST',\r\n body: formData,\r\n });\r\n const result = await response.json();\r\n console.log('Success:', result);\r\n setUploadedFileId(result.id);\r\n setFileName(file.name);\r\n setFileSize(file.size);\r\n setFileFormat(file.type === 'text/csv' ? 'csv' : (file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' ? 'xlsx' : ''));\r\n } catch (error) {\r\n console.error('Error:', error);\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if(props.EditMode){\r\n setFileName(props.editFileUpload?.['File Name'])\r\n setFileSize(props.editFileUpload?.['Size'])\r\n setFileFormat(props.editFileUpload?.['Format'])\r\n setUploadedFileId(props.editFileUpload?.FileStoreID)\r\n setAddFileUpload({period : props.editFileUpload.Period})\r\n }\r\n }, [props.editFileUpload,props.EditMode])\r\n\r\n\r\n function generateRandomId() {\r\n return 'file-' + Math.random().toString(36).substr(2, 9);\r\n }\r\n\r\n const hiddenFileInput = useRef(null);\r\n\r\n const deleteFile = async (fileId) => {\r\n try {\r\n const response = await axios.delete(`/api/file/${fileId}`);\r\n if (response.status === 200) {\r\n setUploadedFileId(null);\r\n setFileName(null);\r\n setFile('')\r\n } else {\r\n alert('file not deleted')\r\n }\r\n } catch (error) {\r\n alert('delete error')\r\n }\r\n };\r\n\r\n\r\n\r\n function deleteHandler() {\r\n setFileName('');\r\n setFileSize('');\r\n setFileFormat('');\r\n deleteFile(uploadedFileId)\r\n hiddenFileInput.current.value = null;\r\n }\r\n\r\n\r\n\r\n // const deleteFile = async (fileId) => {\r\n // try {\r\n // const response = await axios.delete(`/api/file/${fileId}`);\r\n // if (response.status === 200) {\r\n // setUploadedFileId(null);\r\n // setUploadedFileName(null)\r\n // } else {\r\n // alert('file not deleted')\r\n // }\r\n // } catch (error) {\r\n // // Handle error.\r\n // }\r\n // };\r\n\r\n // const DeleteUploadedFile = () =>{\r\n // deleteFile(uploadedFileId);\r\n // }\r\n\r\n\r\n\r\n // const handleFileUploadSubmit = () => {\r\n\r\n // const dispObj = [{\r\n // \"ID\":props.EditMode ? props.editFileUpload.ID :'',\r\n // \"FileName\": file.name,\r\n // \"FileFormat\": \"xsxl\",\r\n // \"FileStoreID\": uploadedFileId,\r\n // \"FileSize\": file.size,\r\n // \"Period\": addFileUpload.period,\r\n // \"VoiceNonVoice\": SelectedVoiceNonVoiceTab,\r\n // \"VoiceNonVoiceItemName\": SelectedVoiceNonVoiceItem,\r\n // \"CustomerID\": SelectedAccountDetails.CustomerID,\r\n // \"ServicedeskID\": SelectedAccountDetails.ServiceDeskID\r\n // }]\r\n // console.log('dispObj', dispObj)\r\n // dispatch(updateFileUploadDataStart(dispObj))\r\n // dispatch(getFileUploadData(SelectedAccountDetails.CustomerID ? SelectedAccountDetails.CustomerID : '', SelectedAccountDetails.ServiceDeskID ? SelectedAccountDetails.ServiceDeskID : '', SelectedVoiceNonVoiceItem))\r\n\r\n // props.handleFileUploadCancel()\r\n // }\r\n\r\n const [validation, setValidation] = useState('')\r\n\r\n const handleFileUploadSubmit = async () => {\r\n const dispObj = [{\r\n \"ID\": props.EditMode ? props.editFileUpload.ID : '',\r\n \"FileName\": fileName,\r\n \"FileFormat\": fileFormat,\r\n \"FileStoreID\": uploadedFileId,\r\n \"FileSize\": fileSize,\r\n \"Period\": addFileUpload.period,\r\n \"VoiceNonVoice\": SelectedVoiceNonVoiceTab,\r\n \"VoiceNonVoiceItemName\": SelectedVoiceNonVoiceItem,\r\n \"CustomerID\": SelectedAccountDetails.CustomerID,\r\n \"ServicedeskID\": SelectedAccountDetails.ServiceDeskID\r\n }];\r\n let ValidationData = {\r\n \"FileName\": fileName,\r\n \"FileFormat\": fileFormat,\r\n \"FileStoreID\": uploadedFileId,\r\n \"FileSize\": fileSize,\r\n \"Period\": addFileUpload.period,\r\n \"VoiceNonVoice\": SelectedVoiceNonVoiceTab,\r\n \"VoiceNonVoiceItemName\": SelectedVoiceNonVoiceItem,\r\n \"CustomerID\": SelectedAccountDetails.CustomerID,\r\n \"ServicedeskID\": SelectedAccountDetails.ServiceDeskID\r\n\r\n }\r\n console.log('ValidationData::::::::::', ValidationData, dispObj, props.editFileUpload)\r\n const isEmptyInput = Object.values(ValidationData).some(x => (x === null || x === '' || x === undefined));\r\n if(isEmptyInput){\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n }\r\n else{\r\n dispatch(updateFileUploadDataStart(dispObj));\r\n setTimeout(() => {\r\n dispatch(getFileUploadData(\r\n SelectedAccountDetails.CustomerID || '',\r\n SelectedAccountDetails.ServiceDeskID || '',\r\n SelectedVoiceNonVoiceItem\r\n ));\r\n }, 1000);\r\n props.handleFileUploadCancel();\r\n }\r\n }\r\n\r\n \r\n \r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
{props.EditMode ? 'Edit Uploaded File' : 'File Upload'}
\r\n
\r\n
{validation}
\r\n
\r\n
\r\n
\r\n \r\n {props.EditMode ?
{props.editFileUpload?.Period}
: setSelectedValue(value)}\r\n Inputvalue={props.editMode ? props.editFileUpload.selectedValue[0] : 'Select'}\r\n />}\r\n
\r\n {props.EditMode ? '' : DisplayPeriodHandle()}\r\n
\r\n\r\n
\r\n \r\n
You can upload only CSV and XLSX files. Maximum upload file size is 20 MB.
\r\n \r\n \r\n \r\n \r\n
\r\n
{fileName && (\r\n <>\r\n\r\n
{fileName}\r\n {fileSize} KB del\r\n
\r\n\r\n {/* {fileName}\r\n */}\r\n \r\n )}\r\n
\r\n
{error}
\r\n\r\n {/*
\r\n
\r\n \r\n
You can upload only CSV and XLSX files. Maximum upload file size is 20 MB.
\r\n \r\n \r\n
\r\n {datacard &&
{UploadedFile.fileName + '.' + UploadedFile.fileType}\r\n {UploadedFile.fileSize} del\r\n
}\r\n
*/}\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n\r\n}\r\n","import React, { Fragment, useEffect, useState } from 'react'\r\nimport searchIcon from './../../../assets/onboard-images/Search_Icon.png'\r\nimport editIcon from './../../../assets/onboard-images/Edit_Icon.png'\r\n// import deleteIcon from './../../../assets/onboard-images/Delete_Icon.png'\r\nimport TooltipHandler from './../../../components/Onboard/OnboardComponents/TooltipHandler'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { FileUploadFragment, FileUploadModalPopup } from './UploadModal'\r\nimport { getFileUploadData } from '../../../actions/uploads.action'\r\nimport { getRoleBasedView } from '../../../actions/Administration/admin.action'\r\n\r\n// const DATA = [\r\n// {\r\n// fileName: 'AbandonRateExcelReport',\r\n// fileType: 'CSV',\r\n// fileSize: '145KB',\r\n// uploadedDate: \"11/12/2021\",\r\n// period: 'Day - 09/05/2022',\r\n// uploader: \"GHOSH, AMITH (amith.ghosh@dxc.com)\",\r\n// },\r\n\r\n// {\r\n// fileName: 'GlobalSummaryReport_AUDI',\r\n// fileType: 'CSV',\r\n// fileSize: '455KB',\r\n// uploadedDate: \"09/05/2022\",\r\n// period: 'Week - 01/05/2022 to 07/05/2022',\r\n// uploader: \"GHOSH, AMITH (amith.ghosh@dxc.com)\",\r\n// },\r\n\r\n// {\r\n// fileName: 'OnboardAccountRetail',\r\n// fileType: 'CSV',\r\n// fileSize: '768KB',\r\n// uploadedDate: \"24/02/2022\",\r\n// period: 'Month - April 2022',\r\n// uploader: \"GHOSH, AMITH (amith.ghosh@dxc.com)\",\r\n// },\r\n// {\r\n// fileName: 'AdminRequestGSD_Insight',\r\n// fileType: 'XLSX',\r\n// fileSize: '346KB',\r\n// uploadedDate: \"05/04/2022\",\r\n// period: 'Custom Period - 01/05/2022 to 11/05/2022',\r\n// uploader: \"GHOSH, AMITH (amith.ghosh@dxc.com)\",\r\n// },]\r\n\r\nconst HEADERS = [\r\n { id: 1, caption: \"File Name\" },\r\n { id: 2, caption: \"Format\" },\r\n { id: 3, caption: \"Size\" },\r\n { id: 4, caption: \"Uploaded Date\" },\r\n { id: 5, caption: \"Period\" },\r\n { id: 6, caption: \"Created By\" },\r\n]\r\n\r\n\r\nfunction FileUploadhandler() {\r\n const dispatch = useDispatch();\r\n // let userInfo = useSelector((state) => state.userReducer.userInfo);\r\n const SelectedAccountDetails = useSelector((state) => state.uploadReducer.SelectedAccountDetails);\r\n const FileUploadData = useSelector((state) => state.uploadReducer.FileUploadData);\r\n const SelectedVoiceNonVoiceItem = useSelector((state) => state.uploadReducer.SelectedVoiceNonVoiceItem)\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n useEffect(() => {\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n\r\n const [fileUploadData, setFileUploadData] = useState([]);\r\n\r\n useEffect(() => {\r\n if (SelectedVoiceNonVoiceItem) {\r\n dispatch(getFileUploadData(SelectedAccountDetails.CustomerID ? SelectedAccountDetails.CustomerID : '', SelectedAccountDetails.ServiceDeskID ? SelectedAccountDetails.ServiceDeskID : '', SelectedVoiceNonVoiceItem))\r\n }\r\n }, [dispatch, SelectedAccountDetails, SelectedVoiceNonVoiceItem]);\r\n\r\n useEffect(() => {\r\n setFileUploadData(FileUploadData)\r\n }, [FileUploadData])\r\n console.log('FileUploadData',FileUploadData)\r\n\r\n const [filter, setFilter] = useState('');\r\n // const [searchColumns, setSearchColumns] = useState(['File Name', 'Format', 'Period']);\r\n let searchColumns = ['File Name', 'Format', 'Period']\r\n function searchRows(rows) {\r\n return rows.filter((row) =>\r\n searchColumns.some(\r\n (column) =>\r\n row[column]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(filter.toLowerCase()) > -1,\r\n ),\r\n );\r\n };\r\n\r\n // const [FileOriginData, setFileOriginData] = useState(DATA)\r\n const [showAddFileModal, setShowAddFileModal] = useState(false);\r\n const [addFileUpload, setAddFileUpload] = useState({});\r\n \r\n\r\n // const [editFileModal, showEditFileModal] = useState(false);\r\n\r\n // const selectedPeriodHandle = (value) => {\r\n // let perAr = value.split(' - ');\r\n // switch (perAr[0]) {\r\n // case 'Day':\r\n // case 'Month': return perAr\r\n // default: return [perAr[0], ...perAr[1].split(' to ')]\r\n // }\r\n // }\r\n\r\n const [EditMode,setEditMode] = useState(false)\r\n const onClickEditRow = (index, data) => {\r\n setEditMode(true)\r\n // setEditFileID(index);\r\n setAddFileUpload(data);\r\n setShowAddFileModal(true);\r\n }\r\n\r\n\r\n\r\n // const handleFileEditSubmit = () => {\r\n // const newFile = {\r\n // fileName: addFileUpload.fileName,\r\n // fileType: addFileUpload.fileType,\r\n // fileSize: addFileUpload.fileSize,\r\n // uploadedDate: addFileUpload.uploadedDate,\r\n // period: addFileUpload.period,\r\n // uploader: addFileUpload.uploader,\r\n // }\r\n // const newFiles = [...FileOriginData];\r\n // const index = FileOriginData.findIndex((_, index) => index === editFileID);\r\n // newFiles[index] = newFile;\r\n // setFileOriginData(newFiles);\r\n // console.log(newFiles)\r\n // // setEditFileID(null);\r\n // setShowAddFileModal(false);\r\n // }\r\n // const [deleteModal, showDeleteModal] = useState(false);\r\n // const [deleteFileID, setDeleteFileID] = useState(null);\r\n\r\n // const handleDeleteFile = () => {\r\n // const newFiles = [...FileOriginData];\r\n // const index = FileOriginData.findIndex((_, index) => index === deleteFileID);\r\n // newFiles.splice(index, 1);\r\n // setFileOriginData(newFiles);\r\n // setDeleteFileID(null)\r\n // showDeleteModal(false);\r\n // }\r\n\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n setFilter(e.target.value)} />\r\n \r\n
\r\n {RoleBasedView?.[0]?.['File Upload']?.[0]?.ReadWrite === 1 &&
\r\n
}\r\n
\r\n
\r\n {searchRows(fileUploadData)?.length === 0 ?\r\n
\r\n \r\n \r\n \r\n {HEADERS.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n
{header.caption}{' '}
\r\n
\r\n
\r\n
\r\n No records found. This data grid enables adding/editing the corresponding sub-categories.
To add new queue entries, click on \"Add Queue\" link.\r\n
\r\n
\r\n
\r\n
:\r\n \r\n \r\n \r\n {HEADERS.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n fileUploadData && searchRows(fileUploadData)?.map((data, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {RoleBasedView?.[0]?.['File Upload']?.[0]?.ReadWrite === 1 && }\r\n \r\n ))\r\n }\r\n \r\n
{header.caption}{' '}
{data?.['File Name']}{data.Format}{data.Size}{data?.['Uploaded Date']}{data.Period}{data?.['Name of the Uploader']}\r\n { onClickEditRow(index, data) }}>\r\n \r\n
\r\n }\r\n {showAddFileModal && \r\n setShowAddFileModal(false)} editMode={false}\r\n EditMode={EditMode}\r\n />\r\n }\r\n {/* {editFileModal && \r\n showEditFileModal(false)}\r\n \r\n />\r\n } */}\r\n {/* {deleteModal && \r\n {\r\n showDeleteModal(false);\r\n setDeleteFileID(null);\r\n }}\r\n queueName={FileOriginData[FileOriginData.findIndex((_, index) => index === deleteFileID)].fileName + '.'\r\n + FileOriginData[FileOriginData.findIndex((_, index) => index === deleteFileID)].fileType}\r\n />\r\n } */}\r\n \r\n )\r\n}\r\n\r\nexport default FileUploadhandler","import React, { useEffect, useState } from 'react';\r\nimport TooltipHandler from '../../Onboard/OnboardComponents/TooltipHandler';\r\nimport './../Upload-Navigation/UploadNavigation.css';\r\nimport Information_Icon from './../../../assets/onboard-images/Information_Icon.png';\r\nimport ContractualSLAIcon from \"./../../../assets/images/Contractual_SLAs.png\";\r\nimport { useSelector } from 'react-redux';\r\n\r\n\r\nexport function isEditableForDate(selectedVolumeSlaDate) {\r\n // console.log('Selected SLA Date:', selectedVolumeSlaDate);\r\n const currentDate = new Date();\r\n const currentMonth = currentDate.getMonth(); // 0-indexed\r\n const currentYear = currentDate.getFullYear();\r\n\r\n // Check if selectedVolumeSlaDate is valid\r\n if (!selectedVolumeSlaDate) {\r\n // console.error('Invalid selectedVolumeSlaDate:', selectedVolumeSlaDate);\r\n return false; // Not editable if date is invalid\r\n }\r\n\r\n // Selected date\r\n const selectedDate = new Date(selectedVolumeSlaDate);\r\n const selectedMonth = selectedDate.getMonth();\r\n const selectedYear = selectedDate.getFullYear();\r\n\r\n // Determine if the selected date is in the current month\r\n const isCurrentMonth = (selectedYear === currentYear && selectedMonth === currentMonth);\r\n const isPreviousMonth = (selectedYear === currentYear && selectedMonth === currentMonth - 1) ||\r\n (selectedYear === currentYear - 1 && selectedMonth === 11 && currentMonth === 0); // for December to January\r\n const isFutureMonth = (selectedYear > currentYear) || \r\n (selectedYear === currentYear && selectedMonth > currentMonth);\r\n\r\n // console.log(`isCurrentMonth: ${isCurrentMonth}, isPreviousMonth: ${isPreviousMonth}, isFutureMonth: ${isFutureMonth}`);\r\n\r\n // Input is editable if it's the current month, the previous month, or any future month\r\n return isCurrentMonth || isPreviousMonth || isFutureMonth;\r\n}\r\n\r\nexport function FormInputFormat({ field, AddValueToUploadForm ,RBACEditable}) {\r\n const selectedVolumeSlaDate = useSelector((state) => state.uploadReducer.selectedVolumeSlaDate);\r\n const isEditable = isEditableForDate(selectedVolumeSlaDate);\r\n\r\n const [hasInteracted, setHasInteracted] = useState(false);\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n \r\n return [year,month, '01'].join('/');\r\n }\r\n\r\n const placeholderHandle = () => {\r\n switch (field.FormatType) {\r\n case '0':\r\n case 'Number = Numerator / Denominator': return '12345';\r\n case '%':\r\n case 'Percentage = Numerator / Denominator': return '45%';\r\n case 'hh:mm:ss':\r\n case 'Time = Numerator / Denominator': return 'HH:MM:SS';\r\n default: return '';\r\n }\r\n }\r\n\r\n const [inputValues, setInputValues] = useState({\r\n item1: '',\r\n item2: '',\r\n item3: ''\r\n });\r\n\r\n useEffect(() => {\r\n if (field) {\r\n const newValues = {\r\n item1: '',\r\n item2: field.Value !== null ? field.Value : '',\r\n item3: field.Divider !== null ? field.Divider : ''\r\n };\r\n\r\n // Check if field.Value or field.Divider is null to clear item2/item3\r\n if (field.Value === null) newValues.item2 = '';\r\n if (field.Divider === null) newValues.item3 = '';\r\n\r\n setInputValues(newValues);\r\n // Trigger calculation immediately after setting initial values\r\n calculateResult(newValues.item2, newValues.item3);\r\n }\r\n }, [field]);\r\n\r\n const calculateResult = (item2, item3) => {\r\n let result = '';\r\n if (item2 && item3) {\r\n switch (field.FormatType) {\r\n case '0':\r\n const num2 = parseFloat(item2);\r\n const num3 = parseFloat(item3);\r\n if (!isNaN(num2) && !isNaN(num3) && num3 !== 0) {\r\n result = (num2 / num3).toFixed(2);\r\n }\r\n break;\r\n case '%':\r\n const perc2 = parseFloat(item2);\r\n const perc3 = parseFloat(item3);\r\n if (!isNaN(perc2) && !isNaN(perc3) && perc3 !== 0) {\r\n result = ((perc2 / perc3) * 100).toFixed(2) + '%';\r\n }\r\n break;\r\n case 'hh:mm:ss':\r\n const seconds2 = parseInt(item2, 10) || 0;\r\n const seconds3 = parseInt(item3, 10) || 1; // Avoid division by zero\r\n if (seconds3 > 0) {\r\n const totalSecondsResult = seconds2 / seconds3;\r\n const hours = Math.floor(totalSecondsResult / 3600);\r\n const minutes = Math.floor((totalSecondsResult % 3600) / 60);\r\n const seconds = Math.floor(totalSecondsResult % 60);\r\n result = `${hours}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n // Update item1 with the calculated result\r\n setInputValues(prevValues => ({\r\n ...prevValues,\r\n item1: result || ''\r\n }));\r\n };\r\n\r\n const onUploadFormChange = (event) => {\r\n const newFormData = { ...inputValues };\r\n const name = event.target.name;\r\n const value = event.target.value;\r\n\r\n // Allow only numeric input for time fields\r\n if (field.FormatType.startsWith('Time') && (name === 'item2' || name === 'item3')) {\r\n if (!/^\\d*$/.test(value)) {\r\n return; // Ignore non-numeric input\r\n }\r\n }\r\n\r\n newFormData[name] = value;\r\n setInputValues(newFormData);\r\n setHasInteracted(true);\r\n };\r\n\r\n // Calculate result whenever item2 or item3 changes\r\n useEffect(() => {\r\n const { item2, item3 } = inputValues;\r\n if (hasInteracted) {\r\n calculateResult(item2, item3);\r\n }\r\n }, [inputValues.item2, inputValues.item3, hasInteracted]);\r\n\r\n // Log inputValues whenever they change\r\n useEffect(() => {\r\n console.log('Current input values:', inputValues);\r\n }, [inputValues]);\r\n\r\n useEffect(() => {\r\n const { item2, item3 } = inputValues;\r\n if (hasInteracted) {\r\n const temp_Arr = {\r\n \"AccountSLAID\": field.AccountSLAID,\r\n \"Value\": item2,\r\n \"Divider\": item3\r\n };\r\n console.log('Submitting:', temp_Arr);\r\n AddValueToUploadForm(temp_Arr);\r\n setHasInteracted(false);\r\n }\r\n }, [inputValues.item2, inputValues.item3, hasInteracted]); // Keep this to handle subsequent changes\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n =\r\n \r\n /\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\n\r\n\r\n\r\nexport function FormInputText({ field, AddValueToUploadForm, RBACEditable }) {\r\n const selectedVolumeSlaDate = useSelector((state) => state.uploadReducer.selectedVolumeSlaDate);\r\n const isEditable = isEditableForDate(selectedVolumeSlaDate);\r\n\r\n console.log('isEditable',isEditable)\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n \r\n return [year,month, '01'].join('/');\r\n }\r\n\r\n const fieldNamehandle = (fieldName) => {\r\n return fieldName.split(' ').join('_');\r\n }\r\n\r\n const placeholderHandle = () => {\r\n switch (field.FormatType) {\r\n case '0': return '12345'\r\n case '%': return '45%'\r\n case 'hh:mm:ss': return 'HH:MM:SS'\r\n default: { }\r\n }\r\n }\r\nconst[value,setValue] = useState()\r\nconst [error, setError] = useState('');\r\nuseEffect(() => {\r\n // Clear the value if the field is null\r\n if (field.Value === null) {\r\n setValue('');\r\n } else if (field.FormatType === 'hh:mm:ss') {\r\n // Convert seconds to hh:mm:ss for display\r\n setValue(secondsToTime(field.Value) || ''); \r\n } else {\r\n setValue(field.Value || ''); // Set to field.Value or empty string if undefined\r\n }\r\n}, [field]);\r\n\r\nconst validateInput = (value) => {\r\n switch (field.FormatType) {\r\n case '0':\r\n case '%':\r\n if (!/^\\d*$/.test(value)) {\r\n return 'Please enter a valid number.';\r\n }\r\n break;\r\n // case '%':\r\n // if (!/^\\d+(\\.\\d+)?%$/.test(value)) {\r\n // return 'Please enter a valid percentage (e.g., 45%).';\r\n // }\r\n // break;\r\n case 'hh:mm:ss':\r\n if (!/^\\d+:[0-5]\\d:[0-5]\\d$/.test(value)){\r\n return 'Please enter a valid time (HH:MM:SS).';\r\n }\r\n break;\r\n default:\r\n return '';\r\n }\r\n return '';\r\n}\r\n\r\nconst convertTimeToSeconds = (time) => {\r\n const [hours, minutes, seconds] = time.split(':').map(Number);\r\n return (hours * 3600) + (minutes * 60) + seconds;\r\n};\r\n\r\nconst secondsToTime = (seconds) => {\r\n const hours = Math.floor(seconds / 3600);\r\n const minutes = Math.floor((seconds % 3600) / 60);\r\n const secs = seconds % 60;\r\n return `${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}:${String(secs).padStart(2, '0')}`;\r\n};\r\n\r\nconst onUploadFormChange = (event) => {\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n\r\n // Validate the input\r\n const validationError = validateInput(fieldValue);\r\n setError(validationError);\r\n setValue(fieldValue);\r\n\r\n const temp_Arr = {\r\n \"AccountSLAID\": field.AccountSLAID,\r\n \"Value\": fieldValue\r\n };\r\n\r\n // Update AddValueToUploadForm when the input is cleared or there's no validation error\r\n if (fieldValue === '' || !validationError) {\r\n if (field.FormatType === 'hh:mm:ss') {\r\n const seconds = convertTimeToSeconds(fieldValue);\r\n temp_Arr.Value = seconds;\r\n }\r\n AddValueToUploadForm(temp_Arr);\r\n }\r\n}\r\n return (\r\n <>\r\n
\r\n \r\n \r\n {error &&
{error}
}\r\n
\r\n \r\n )\r\n}\r\n\r\n\r\n","import React, { useEffect, useState } from 'react'\r\nimport './../Upload-Navigation/UploadNavigation.css'\r\nimport './FileUpload.css'\r\nimport { KeyboardDatePicker } from '@material-ui/pickers';\r\nimport ContractualSLAIcon from \"./../../../assets/images/Contractual_SLAs.png\";\r\nimport Download_Normal from './../../../assets/images/Download_Normal.png'\r\nimport closeIcon from './../../../assets/images/Close_Window_Icon.png'\r\nimport yesIcon from './../../../assets/onboard-images/Complete_Yes_Icon.png'\r\nimport { FormInputFormat, FormInputText, isEditableForDate } from './FormInput';\r\nimport UploadAdministration_Icon from './../../../assets/images/UploadAdministration_Icon.png'\r\n//import DATA from './DATA.json'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { setDataAdministrationValidation, setSelectedVolumeSlaDate, updateVolumeSLAKPIDataStart } from '../../../actions/uploads.action';\r\nimport { getRoleBasedView } from '../../../actions/Administration/admin.action';\r\n \r\nfunction FormFieldHandler({ error, setError }) {\r\n const dispatch = useDispatch();\r\n const history = useHistory(); \r\n const volumeSlakpiSelectedTemplates = useSelector((state) => state.uploadReducer.volumeSlakpiSelectedTemplates);\r\n const SelectedAccountDetails = useSelector((state) => state.uploadReducer.SelectedAccountDetails);\r\n const SelectedVoiceNonVoiceItem = useSelector((state) => state.uploadReducer.SelectedVoiceNonVoiceItem);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n useEffect(() => {\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n \r\n \r\n \r\nconst[Data,setData] = useState()\r\n \r\nuseEffect(()=>{\r\n setData(volumeSlakpiSelectedTemplates)\r\n},[volumeSlakpiSelectedTemplates])\r\n \r\n\r\nfunction formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [year,month, '01'].join('/');\r\n}\r\n \r\n const [selectedDate, setSelectedDate] = useState(formatDate(new Date()));\r\n\r\n const ValidFromDateHandler = (date) => {\r\n setSelectedDate((date === null || date === undefined) ? null : formatDate(date));\r\n }\r\n\r\nuseEffect(()=>{\r\n if(selectedDate){\r\n dispatch(setSelectedVolumeSlaDate(selectedDate))\r\n }\r\n},[dispatch,selectedDate])\r\n\r\n\r\n\r\n const FormFieldManager = (field) => {\r\n switch (field?.noCols) {\r\n case 1:\r\n return \r\n case 3:\r\n return \r\n default:\r\n return '' ;\r\n }\r\n }\r\n const [addUploadForm, setAddUploadForm] = useState([]);\r\n \r\n const AddValueToUploadForm = (data) => {\r\n // Append new data to the existing array\r\n const filterData = addUploadForm.filter((obj) => {\r\n console.log(\"obj ::::\", obj);\r\n return obj.AccountSLAID !== data.AccountSLAID\r\n });\r\n console.log('filterData',[...filterData, data])\r\n setAddUploadForm([...filterData, data]);\r\n\r\n // setAddUploadForm(prevData => [...prevData, data]);\r\n // console.log('Updated Form Data:', [...addUploadForm, data]);\r\n };\r\n \r\n // const AddValueToUploadForm = (name, value) => {\r\n // const newFormData = { ...addUploadForm };\r\n // newFormData[name] = value;\r\n // setAddUploadForm(newFormData);\r\n // console.log('newFormData',newFormData)\r\n // }\r\n\r\nconst [dataSaved,setDataSaved] = useState(false)\r\nconst onClickSaveHandler = () =>{\r\n\r\n let dispObj = [\r\n {\r\n \"CustomerID\": SelectedAccountDetails.CustomerID || '',\r\n \"ServicedeskID\":SelectedAccountDetails.ServiceDeskID || '',\r\n \"StartTime\":selectedDate,\r\n \"NonVoiceItem\":SelectedVoiceNonVoiceItem,\r\n \"Details\": addUploadForm\r\n }]\r\n\r\n\r\n console.log('dispObj',dispObj)\r\n dispatch(updateVolumeSLAKPIDataStart(dispObj))\r\n setAddUploadForm([])\r\n setDataSaved(true)\r\n setError(false);\r\n}\r\n\r\nuseEffect(()=>{\r\n dispatch(setDataAdministrationValidation(addUploadForm.length === 0 ? true : false))\r\n},[dispatch,addUploadForm])\r\n\r\nconsole.log('addUploadForm',addUploadForm)\r\nconst isEditable = isEditableForDate(selectedDate);\r\n return (\r\n <>\r\n {error &&
{error}
}\r\n{(dataSaved && addUploadForm.length === 0) &&
\r\n
  Data has been saved successfully
\r\n
setDataSaved(false)} />
\r\n
}\r\n{!isEditable &&
Note: You can not edit data for the past months.\r\n If you need to change historical data, please raise a request through the GSD Insight \r\n history.push('/request')}>  Request/Incident module.
\r\n}\r\n {Data?.length === 0 ?\r\n <>\r\n
\r\n No Fields are selected to upload Volume Data
To add/edit Volume Data , click the “Upload Data Administration” link Above.

\r\n {/*
\r\n \r\n history.push('/upload/dataAdmin')}>Upload Data Administration\r\n
*/}\r\n
\r\n \r\n :
\r\n
\r\n
\r\n
\r\n ValidFromDateHandler(date)}\r\n />
\r\n
\r\n Legend:  \r\n   Contractual SLAs/KPIs\r\n    \r\n \r\n
\r\n
\r\n
\r\n
\r\n {Data?.map(field => (FormFieldManager(field)))}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
}\r\n \r\n )\r\n}\r\n \r\nexport default FormFieldHandler","import React from 'react';\r\nimport { Accordion } from 'react-bootstrap';\r\nimport './../../Onboard/OnboardComponents/Accordion/Accordion.css';\r\n\r\nfunction UploadAccordion({ ACCORDION_INFO, openAccordion, onAccordionOpen }) {\r\n return (\r\n {/* Use activeKey for controlled component */}\r\n {\r\n ACCORDION_INFO.map((accordion, i) => (\r\n \r\n onAccordionOpen(i.toString())} // Call the handler on header click\r\n >\r\n {accordion.label}\r\n \r\n \r\n {accordion.Info}\r\n \r\n \r\n ))\r\n }\r\n \r\n );\r\n}\r\n\r\nexport default UploadAccordion;\r\n","import React, { useEffect, useState } from 'react';\r\nimport FileUploadhandler from '../File-Upload/FileUploadhandler';\r\nimport FormFieldHandler from '../File-Upload/FormFieldHandler';\r\nimport { getVolumeSlakpiSelectedTemplatesData } from '../../../actions/uploads.action';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport UploadAccordion from './UploadAccordion';\r\n\r\nfunction VoiceTabDetails(props) {\r\n const dispatch = useDispatch();\r\n const [openAccordion, setOpenAccordion] = useState(null);\r\n const [error, setError] = useState(null);\r\n const SelectedAccountDetails = useSelector((state) => state.uploadReducer.SelectedAccountDetails);\r\n const SelectedVoiceNonVoiceItem = useSelector((state) => state.uploadReducer.SelectedVoiceNonVoiceItem);\r\n const selectedVolumeSlaDate = useSelector((state) => state.uploadReducer.selectedVolumeSlaDate);\r\n const dataAdministrationValidation = useSelector((state) => state.uploadReducer.dataAdministrationValidation);\r\n\r\n console.log('dataAdministrationValidation',dataAdministrationValidation)\r\n\r\n const ACCORDION_INFO = [\r\n {\r\n id: 1,\r\n label: 'File Upload',\r\n Info: \r\n },\r\n {\r\n id: 2,\r\n label: 'Volume Data',\r\n Info: \r\n },\r\n {\r\n id: 3,\r\n label: 'SLA/KPI Data',\r\n Info: \r\n }\r\n ];\r\n\r\n useEffect(() => {\r\n if (openAccordion) {\r\n dispatch(getVolumeSlakpiSelectedTemplatesData(\r\n SelectedAccountDetails.CustomerID || '',\r\n SelectedAccountDetails.ServiceDeskID || '',\r\n openAccordion === '1' ? 'Volume' : 'SLA/KPI',\r\n selectedVolumeSlaDate,\r\n SelectedVoiceNonVoiceItem\r\n ));\r\n }\r\n }, [openAccordion, dispatch, SelectedAccountDetails, SelectedVoiceNonVoiceItem, selectedVolumeSlaDate]);\r\n\r\n const handleAccordionOpen = (id) => {\r\n // Check if the clicked accordion is already open\r\n if (openAccordion === id) {\r\n // If it's already open, check validation before closing\r\n if (dataAdministrationValidation) {\r\n setOpenAccordion(null); // Close the accordion if validation passes\r\n setError(null);\r\n } else {\r\n console.log('Data Not Saved. Cannot close this section.'); // Prevent closing if validation fails\r\n // Optionally, show an alert or message to the user\r\n setError('Validation failed. Cannot close this section.');\r\n }\r\n } else {\r\n // If trying to open a different accordion, validate first\r\n if (dataAdministrationValidation) {\r\n setOpenAccordion(id); // Update the state if validation passes\r\n setError(null);\r\n } else {\r\n console.log('Validation failed. Cannot open this section.'); // Prevent the accordion from opening\r\n // Optionally, show an alert or message to the user\r\n setError('Data Not Saved. Cannot open this section.');\r\n }\r\n }\r\n };\r\n\r\n\r\n console.log('openAccordion',openAccordion)\r\n\r\n return (\r\n
\r\n
\r\n
\r\n AWS (ASD) Telephony\r\n
\r\n
\r\n \r\n {props.children}\r\n
\r\n );\r\n}\r\n\r\nexport default VoiceTabDetails;\r\n","import React, { useEffect, useState } from 'react'\r\nimport backArrow from './../../../assets/onboard-images/Back_Arrow.png';\r\nimport FileUploadhandler from '../File-Upload/FileUploadhandler';\r\nimport SLAKPIUploadManager from '../File-Upload/SLAKPIUploadManager';\r\nimport VolumeUploadManager from '../File-Upload/VolumeUploadManager';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getNonvoiceCardsData, getVolumeSlakpiSelectedTemplatesData, setSelectedVoiceNonVoiceItem } from './../../../actions/uploads.action';\r\nimport { KeyboardDatePicker } from '@material-ui/pickers';\r\nimport FormFieldHandler from '../File-Upload/FormFieldHandler';\r\nimport UploadAccordion from './UploadAccordion';\r\n\r\n\r\nfunction NonVoicetabDetails(props) {\r\n const dispatch = useDispatch();\r\n const [error, setError] = useState(null);\r\n const ACCORDION_INFO = [\r\n {\r\n id: 1,\r\n label: 'File Upload',\r\n Info: \r\n },\r\n {\r\n id: 2,\r\n label: 'Volume Data',\r\n Info: \r\n },\r\n {\r\n id: 3,\r\n label: 'SLA/KPI Data',\r\n Info: \r\n }\r\n ];\r\n const [widget, setWidget] = useState();\r\n const widgetHandler = card => {\r\n if (card.Deleted === false) {\r\n setWidget(card)\r\n // props.widgetCardHandler('widget');\r\n }\r\n }\r\n\r\n console.log('widget',widget)\r\n \r\n\r\n const NonvoiceCardsData = useSelector((state) => state.uploadReducer.NonvoiceCardsData);\r\n const SelectedAccountDetails = useSelector((state) => state.uploadReducer.SelectedAccountDetails);\r\n const dataAdministrationValidation = useSelector((state) => state.uploadReducer.dataAdministrationValidation);\r\n\r\n console.log('NonvoiceCardsData',NonvoiceCardsData)\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [year,month, '01'].join('/');\r\n}\r\n\r\nconst [selectedDate, setSelectedDate] = useState(formatDate(new Date()));\r\n\r\n\r\nconst SelectedDateHandler = (date) => {\r\n setSelectedDate((date === null || date === undefined) ? null : formatDate(date));\r\n}\r\n\r\nconsole.log('selectedDate',selectedDate)\r\n\r\n useEffect(()=>{\r\n dispatch(getNonvoiceCardsData(SelectedAccountDetails.CustomerID ? SelectedAccountDetails.CustomerID : '', SelectedAccountDetails.ServiceDeskID ? SelectedAccountDetails.ServiceDeskID : '','Non-Voice',selectedDate))\r\n},[dispatch,SelectedAccountDetails,selectedDate])\r\n\r\n\r\n\r\n\r\n\r\nconst [openAccordion, setOpenAccordion] = useState(null);\r\n// const validation = true; // Assuming this will be dynamically set in a real application\r\nconst SelectedVoiceNonVoiceItem = useSelector((state) => state.uploadReducer.SelectedVoiceNonVoiceItem);\r\nconst selectedVolumeSlaDate = useSelector((state) => state.uploadReducer.selectedVolumeSlaDate);\r\n\r\nuseEffect(() => {\r\n console.log('useEffect triggered');\r\n console.log('openAccordion',openAccordion === '1')\r\n if (openAccordion) {\r\n console.log('Dispatching action'); // Debug log\r\n dispatch(getVolumeSlakpiSelectedTemplatesData(\r\n SelectedAccountDetails.CustomerID || '',\r\n SelectedAccountDetails.ServiceDeskID || '',\r\n openAccordion === '1' ? 'Volume' : 'SLA/KPI',\r\n selectedVolumeSlaDate,\r\n SelectedVoiceNonVoiceItem\r\n ));\r\n }\r\n}, [openAccordion, dispatch, SelectedAccountDetails, SelectedVoiceNonVoiceItem,selectedVolumeSlaDate]);\r\n\r\nconst handleAccordionOpen = (id) => {\r\n // Check if the clicked accordion is already open\r\n if (openAccordion === id) {\r\n // If it's already open, check validation before closing\r\n if (dataAdministrationValidation) {\r\n setOpenAccordion(null); // Close the accordion if validation passes\r\n setError(null);\r\n } else {\r\n console.log('Data Not Saved. Cannot close this section.'); // Prevent closing if validation fails\r\n // Optionally, show an alert or message to the user\r\n setError('Validation failed. Cannot close this section.');\r\n }\r\n } else {\r\n // If trying to open a different accordion, validate first\r\n if (dataAdministrationValidation) {\r\n setOpenAccordion(id); // Update the state if validation passes\r\n setError(null);\r\n } else {\r\n console.log('Validation failed. Cannot open this section.'); // Prevent the accordion from opening\r\n // Optionally, show an alert or message to the user\r\n setError('Data Not Saved. Cannot open this section.');\r\n }\r\n }\r\n};\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n {!widget ? <>
Select Month
\r\n
\r\n SelectedDateHandler(date)}\r\n />\r\n
: ''}\r\n \r\n {!widget ?
Non Voice Item
    \r\n {NonvoiceCardsData && NonvoiceCardsData.map(card => (\r\n
  • {\r\n dispatch(setSelectedVoiceNonVoiceItem(card.ItemName))\r\n // localStorage.setItem('NonVoiceItem', card.card);\r\n widgetHandler(card)\r\n }}>{card.ItemName}\r\n
    \r\n
    \r\n File Upload: {card?.['File Uploaded']}\r\n
    \r\n
  • \r\n ))}\r\n
\r\n
Note: Greyed out items related data feed is managed globally
\r\n
:\r\n
\r\n {widget &&
\r\n {\r\n setWidget('')\r\n localStorage.removeItem('NonVoiceItem');\r\n // props.widgetCardHandler('nonvoice');\r\n }}>\r\n \r\n {widget.ItemName}\r\n \r\n {/* {widget.ItemName === \"Chat Tool\" && }\r\n {widget.ItemName === 'workforce' && }\r\n {widget.ItemName === 'ticket' && }\r\n {widget.ItemName === 'email' && }\r\n {widget.ItemName === 'customer' && }\r\n {widget.ItemName === 'non_aquaa' && }\r\n {widget.ItemName === 'web' && } */}\r\n\r\n
}\r\n
\r\n }\r\n \r\n )\r\n}\r\n\r\nexport default NonVoicetabDetails","import React, { useEffect, useState } from 'react';\r\nimport voiceImage from './../../../assets/onboard-images/Voice_Normal_Icon.png'\r\nimport voiceHoverImage from './../../../assets/onboard-images/Voice_Hover_and_Selected_Icon.png'\r\nimport nonVoiceImage from './../../../assets/onboard-images/NonVoice_Normal_Icon.png'\r\nimport nonVoiceHoverImage from './../../../assets/onboard-images/NonVoice_Hover_and_Selected_Icon.png'\r\nimport previewImage from './../../../assets/onboard-images/Preview_Normal_Icon.png'\r\nimport previewHoverImage from './../../../assets/onboard-images/Preview_Hover_and_Selected_Icon.png'\r\nimport UploadAdministration_Icon from './../../../assets/images/UploadAdministration_Icon.png'\r\n\r\n\r\nimport UploadPreview from './PreviewUpload';\r\nimport VoiceTabDetails from './VoiceUpload';\r\nimport NonVoicetabDetails from './NonVoiceUpload';\r\nimport { useHistory} from 'react-router-dom';\r\nimport AdminBreadcrumb from '../../Administration/General/Admin-breadcrumb';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { setSelectedVoiceNonVoiceItem, setSelectedVoiceNonVoiceTab } from './../../../actions/uploads.action';\r\nimport { ItemSelectionModal, ItemSelectionModalPopup } from '../Data-Administration/ItemSelectionModel';\r\n\r\n\r\n\r\n\r\nfunction Image({ onClick, src, children, onMouseEnter, onMouseLeave }) {\r\n return <>\r\n \r\n \r\n}\r\n\r\nfunction UploadNavigation() {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const SelectedVolumeFields = useSelector((state) => state.uploadReducer.SelectedVolumeFields);\r\n const SelectedSLAKPIFields = useSelector((state) => state.uploadReducer.SelectedSLAKPIFields);\r\n const SelectedAccountDetails = useSelector((state) => state.uploadReducer.SelectedAccountDetails);\r\n\r\n const [generalTab, setGeneralTab] = useState('Voice');\r\n const [voiceImgSrc, setVoiceImgSrc] = useState();\r\n const [nonVoiceImgSrc, setNonvoiceImgSrc] = useState();\r\n const [previewImgSrc, setPreviewImgSrc] = useState();\r\n const [showNonvoiceItemSelectionModel,setShowNonvoiceItemSelectionModel] = useState(false)\r\n\r\n useEffect(() => {\r\n switch (generalTab) {\r\n case 'Voice': {\r\n setPreviewImgSrc(previewImage);\r\n setNonvoiceImgSrc(nonVoiceImage);\r\n setVoiceImgSrc(voiceHoverImage);\r\n break;\r\n }\r\n case 'Non-Voice': {\r\n setPreviewImgSrc(previewImage);\r\n setNonvoiceImgSrc(nonVoiceHoverImage);\r\n setVoiceImgSrc(voiceImage);\r\n break;\r\n }\r\n case 'Preview': {\r\n setPreviewImgSrc(previewHoverImage);\r\n setNonvoiceImgSrc(nonVoiceImage);\r\n setVoiceImgSrc(voiceImage);\r\n break;\r\n }\r\n default: { }\r\n }\r\n }, [generalTab]);\r\n\r\n const onClickViewDetails = title => {\r\n switch (title) {\r\n case 'Voice': setGeneralTab('Voice'); break;\r\n default: setGeneralTab('Non-Voice');\r\n }\r\n }\r\n\r\n const uploadTabHandler = () => {\r\n switch (generalTab) {\r\n case 'Voice':\r\n return \r\n case 'Non-Voice':\r\n return \r\n case 'Preview':\r\n return \r\n default: { }\r\n }\r\n }\r\n\r\n useEffect(()=>{\r\n dispatch(setSelectedVoiceNonVoiceTab(generalTab))\r\n if(generalTab === 'Voice'){\r\n dispatch(setSelectedVoiceNonVoiceItem('AWS (ASD) Telephony'))\r\n }\r\n },[dispatch,generalTab])\r\n\r\n return (\r\n \r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Upload' value2={()=>history.push('/upload')}\r\n isActive3={false} label3={SelectedAccountDetails?.['Account Name'] + '-' + SelectedAccountDetails?.['Site Name']} />\r\n
\r\n
{SelectedAccountDetails?.['Account Name']} - {SelectedAccountDetails?.['Site Name']}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n {setGeneralTab('Voice')}}\r\n onMouseEnter={() => generalTab !== 'Voice' && setVoiceImgSrc(voiceHoverImage)} onMouseLeave={() => generalTab !== 'Voice' && setVoiceImgSrc(voiceImage)}>\r\n
    \r\n Voice
    {generalTab === 'Voice' &&
    } \r\n setGeneralTab('Non-Voice')}\r\n onMouseEnter={() => generalTab !== 'Non-Voice' && setNonvoiceImgSrc(nonVoiceHoverImage)} onMouseLeave={() => generalTab !== 'Non-Voice' && setNonvoiceImgSrc(nonVoiceImage)}>\r\n
    \r\n Non Voice
    \r\n {generalTab === 'Non-Voice' &&
    } \r\n setGeneralTab('Preview')}\r\n onMouseEnter={() => generalTab !== 'Preview' && setPreviewImgSrc(previewHoverImage)} onMouseLeave={() => generalTab !== 'Preview' && setPreviewImgSrc(previewImage)}>\r\n
    \r\n Preview
    \r\n {generalTab === 'Preview' &&
    } \r\n
\r\n
\r\n
\r\n {uploadTabHandler()}\r\n
\r\n\r\n\r\n {showNonvoiceItemSelectionModel && \r\n setShowNonvoiceItemSelectionModel(false)} \r\n />\r\n }\r\n
\r\n )\r\n}\r\n\r\nexport default UploadNavigation","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAQCAYAAAAMJL+VAAAABHNCSVQICAgIfAhkiAAAAkRJREFUOE+VVNtxnEAQ7MXo2+cIhMunKn2SgQgBJ2DtRmDIAGVABoucwJ0iEM6AT1f5VHUZ+P51x7pni8UcQlKZH1470z09PaMwufTaFs7hOxQ6dYRp9uYw/f/es76yGh/QNr/MPpxV4YE/GzisEKPAEXkP6EhBN79Np7/Y3Cnc8GwmZxxcFZ3UgxDQiV31F7hVPQoV4WfvkDKuZlwjuT2AT86LH/UIuLaZAzZMeJBAfm/xjK3/TxIkkDP4D898ZsKWzKvA/NvadpHj+5PZKl+WQ97sTD6Tq+J7ymr0a1JR0oxx7Vw6X1WM9sfOpIpo+yhGNtVtqCpluVuy3JDlgfeURFLWvFIKZZDgtb4MqtSK+tZM8PH+yZglJpQjyNYJ28BuqvOLuCub0iyWpMqxB66HWwJZYvgWiEjO5DUTi+zt6CLfmJgfJxZ7y5ZLIEzuZZ1K/s+mIpXiDAD1/c6U7yUfLcpmilziMBfjUTnciXvO5kBf26Q/EvlIn8dopCdDI7tFida2ogyXImmohEwvl5ofeiClNUEiGaxeoZpLJslwgcQPH2dn2rfbtT1w+pO5paeTLPOg2ZjM2zSAsKoQNGqs2KsJiIvQMbak75N5xSOAT8rSZUJFKq8xd5OsDBkY7+tnrhFW4Bs5gHhzAHuZ7iWDnAEMA6aZoGKQVNMSRBpWc8AkcTH0KfVrBOh4/xQILfXrBcDZFDs8MvFXlr9RJ5SDAWTprRh4x3u7tCqmQIsAHoTOwomukgXH8sm04OFONu3/rPG/LqdW13173ooAAAAASUVORK5CYII=\"","import { useEffect, useState } from \"react\";\r\nimport ReactModal from \"react-modal\";\r\nimport RequestDropdown from \"../../Onboard/OnboardComponents/Dropdown/RequestDropdown\";\r\nimport { OnboardSelect } from \"../../Onboard/OnboardComponents/Dropdown/Select\";\r\nimport Contractual_SLA_Icon from './../../../assets/images/Contractual_SLA_Icon.png';\r\nimport { useSelector } from \"react-redux\";\r\nimport { getSLAKPIVolumeTemplates, updateCustomTemplateStart } from \"../../../actions/uploads.action\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\nconst FormType = [\r\n { id: 1, value: \"Percentage\" },\r\n { id: 1, value: \"Time\" },\r\n { id: 1, value: \"Number\" },\r\n { id: 1, value: \"Percentage = Numerator / Denominator\" },\r\n { id: 1, value: \"Number = Numerator / Denominator\" },\r\n { id: 1, value: \"Time = Numerator / Denominator\" },\r\n\r\n]\r\nexport function AddFormModal(props) {\r\n const dispatch = useDispatch();\r\n \r\n const SelectedAccountDetails = useSelector((state) => state.uploadReducer.SelectedAccountDetails);\r\n const SelectedSLAKPIVolumeTab = useSelector((state) => state.uploadReducer.SelectedSLAKPIVolumeTab);\r\n const selectedItem = useSelector((state) => state.uploadReducer.selectedItem);\r\n\r\n console.log('selectedItem',selectedItem)\r\n const [AddFormField, setAddFormField] = useState({});\r\n const [validation, setValidation] = useState('');\r\n const [check, setCheck] = useState(false);\r\n const editMode = props.editMode;\r\n useEffect(() => {\r\n editMode && setAddFormField(props.editFormField)\r\n editMode && setCheck(props.editFormField.contractual)\r\n }, [editMode,props])\r\n \r\n\r\n const onChangeContractual = (event) => {\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.checked;\r\n const newFormData = { ...AddFormField };\r\n newFormData[fieldName] = fieldValue;\r\n setAddFormField(newFormData)\r\n setCheck(!check)\r\n }\r\n\r\n \r\n const handleFormFieldChange = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...AddFormField };\r\n newFormData[fieldName] = fieldValue;\r\n setAddFormField(newFormData)\r\n }\r\n\r\n const addValueToUser = (name, value) => {\r\n const newFormData = { ...AddFormField };\r\n if (name !== 'Select') {\r\n newFormData[name] = value;\r\n setAddFormField(newFormData)\r\n }\r\n }\r\n console.log('newFormData', AddFormField)\r\n\r\n let DispObj = [{\r\n \"Template\":AddFormField.name,\r\n \"Type\":AddFormField.type,\r\n \"Description\":AddFormField.description,\r\n \"Contractual\":AddFormField.contractual === true ? 1 : 0,\r\n \"CustomerID\":SelectedAccountDetails.CustomerID,\r\n \"Category\" :SelectedSLAKPIVolumeTab,\r\n \"ItemID\":selectedItem.ItemID\r\n }]\r\n\r\n const handleAddCustomTemplate = () => {\r\n\r\n const RequiredFields = {\r\n \"Template\":AddFormField.name,\r\n \"Type\":AddFormField.type,\r\n \"Description\":AddFormField.description,\r\n }\r\n const isEmptyInput = Object.values(RequiredFields).some(x => (x === null || x === '' || x === undefined));\r\n\r\n if(isEmptyInput){\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n }\r\n else{\r\n console.log('checked',DispObj)\r\n dispatch(updateCustomTemplateStart(DispObj))\r\n props.handleAddTemplateModelClose()\r\n setTimeout(() => {\r\n dispatch(getSLAKPIVolumeTemplates(\r\n SelectedAccountDetails.CustomerID || '',\r\n SelectedSLAKPIVolumeTab,selectedItem.ItemID\r\n ));\r\n }, 1000);\r\n }\r\n }\r\n\r\n const handleEditCustomTemplate = () =>{\r\n \r\n props.handleEditFormField(AddFormField)\r\n }\r\n\r\n console.log('DispObj',props.editFormField)\r\n\r\n return <>\r\n
\r\n
\r\n
\r\n {editMode ? 'Edit' : 'Add'} {props.title}\r\n
\r\n
\r\n
\r\n
{validation}
\r\n
\r\n \r\n {editMode ?\r\n
\r\n {props.editFormField?.name}\r\n
\r\n : }\r\n
\r\n
\r\n \r\n {editMode ?\r\n
\r\n {props.editFormField?.newFormatType}\r\n
\r\n : }\r\n
\r\n
\r\n \r\n {editMode ?\r\n
\r\n {props.editFormField?.description}\r\n
\r\n : }\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n}\r\n\r\n\r\nexport function AddVolumePopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n background: '#63666A66 0% 0% no-repeat padding-box',\r\n opacity: '1',\r\n },\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n transform: 'translate(-50%, -50%)',\r\n margin:'20px',\r\n padding:'30px',\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n\r\nexport function CancelFieldFragment(props) {\r\n return <>\r\n
\r\n
\r\n
\r\n Unsaved Changes\r\n
\r\n
\r\n
\r\n\r\n
There are unsaved changes on this page.
\r\n Are you sure you want to cancel the {props.tab} Data Selection Processs\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n}\r\n\r\n\r\n\r\nexport function CancelYesNoFragment(props) {\r\n return <>\r\n
\r\n
\r\n
You have not selected any Fields
\r\n Are you sure you want to go to File Upload Screen\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n}","import React, { useState } from 'react';\r\nimport './DataAdmin.css';\r\nimport Contractual_SLA_Icon from './../../../assets/images/Contractual_SLA_Icon.png';\r\nimport edit from './../../../assets/images/Edit_Icon.png';\r\n\r\nexport function FormField(props) {\r\n const [showTooltip, setShowTooltip] = useState(false);\r\n\r\n const className = props.isSelected ? 'switch active' : 'switch';\r\n\r\n return (\r\n
\r\n
setShowTooltip(true)} \r\n onMouseLeave={() => setShowTooltip(false)}\r\n >\r\n
{props.fieldName}
\r\n {showTooltip && (\r\n
    \r\n {props.isSelected && (\r\n
  • \r\n \r\n Edit\r\n
  • \r\n )}\r\n
    \r\n
  • {props.description}
  • \r\n
\r\n )}\r\n
\r\n
\r\n \r\n {props.contractual && }\r\n \r\n {props.toggleView === true && \r\n \r\n }\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { DeleteModalPopup } from '../../Onboard/OnboardComponents/Modals/DeleteModalPopup';\r\nimport { CancelModalPopup } from '../../Onboard/OnboardComponents/Modals/OnboardButtonsPopup';\r\nimport Contractual_SLA_Icon from './../../../assets/images/Contractual_SLA_Icon.png';\r\nimport { AddFormModal, AddVolumePopup, CancelFieldFragment } from './AddFormModal';\r\nimport { FormField } from './FormField';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { updateSelectedSLAKPIVolumeStart } from '../../../actions/uploads.action';\r\nimport { getRoleBasedView } from '../../../actions/Administration/admin.action';\r\n\r\nexport function FormFieldHandle(props) {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const SelectedAccountDetails = useSelector(state => state.uploadReducer.SelectedAccountDetails);\r\n const SelectedSLAKPIVolumeTab = useSelector(state => state.uploadReducer.SelectedSLAKPIVolumeTab);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n const selectedItem = useSelector((state) => state.uploadReducer.selectedItem);\r\n\r\n useEffect(() => {\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n\r\n const [editMode, setEditMode] = useState(false);\r\n const [showAddVolume, setShowAddVolume] = useState(false);\r\n const [editFormField, setEditFormField] = useState();\r\n const [editFieldID, setEditFieldID] = useState(null);\r\n const [selectedTemplates, setSelectedTemplates] = useState([]);\r\n const [checkedAll, setCheckedAll] = useState(false);\r\nconst[showCancelModal,setShowCancelModal] = useState(false)\r\n useEffect(() => {\r\n setSelectedTemplates(props.data || []);\r\n }, [props.data]);\r\n\r\n const toggleTemplate = (templateID) => {\r\n setSelectedTemplates(prevTemplates => {\r\n return prevTemplates.map(template => {\r\n if (template.templateID === templateID) {\r\n return { ...template, toggle: !template.toggle };\r\n }\r\n return template;\r\n });\r\n });\r\n // Call onTemplateChange with true to indicate changes\r\n props.onTemplateChange(true);\r\n };\r\n\r\n const handleSelectAll = (event) => {\r\n const isChecked = event.target.checked;\r\n const updatedTemplates = selectedTemplates.map(template => ({\r\n ...template,\r\n toggle: isChecked,\r\n }));\r\n setSelectedTemplates(updatedTemplates);\r\n setCheckedAll(isChecked);\r\n };\r\n\r\n const dispatchSelectedTemplatesHandler = () => {\r\n return selectedTemplates\r\n .filter(template => template.toggle)\r\n .map(data => ({\r\n AccountID: SelectedAccountDetails.CustomerID,\r\n SLATemplateID: data.templateID,\r\n ServicedeskID: SelectedAccountDetails.ServiceDeskID,\r\n Contractual: data.contractual ? 1 : 0,\r\n toggle: data.toggle ? 1 : 0,\r\n Category: SelectedSLAKPIVolumeTab,\r\n ItemID: selectedItem.ItemID\r\n }));\r\n };\r\n\r\n const onClickSaveFormField = () => {\r\n props.onTemplateChange(false);\r\n const templatesToDispatch = dispatchSelectedTemplatesHandler();\r\n dispatch(updateSelectedSLAKPIVolumeStart(templatesToDispatch));\r\n if(SelectedSLAKPIVolumeTab === 'Volume'){\r\n props.shiftToSLAKPITab()\r\n }\r\n else{\r\n history.push('/upload/account');\r\n }\r\n window.scrollTo(0, 0);\r\n \r\n };\r\n\r\n const onClickEditForm = (field, index) => {\r\n setEditMode(true);\r\n setEditFieldID(index);\r\n setShowAddVolume(true);\r\n setEditFormField(field);\r\n };\r\n\r\n const handleEditFormField = (editedRow) => {\r\n const updatedTemplates = selectedTemplates.map((template, index) => \r\n index === editFieldID ? { ...editedRow, id: editFieldID } : template\r\n );\r\n setSelectedTemplates(updatedTemplates);\r\n setEditFieldID(null);\r\n setShowAddVolume(false);\r\n };\r\n\r\n const onClickCancelButton = () => {\r\n const templatesAreEqual = JSON.stringify(props.data) === JSON.stringify(selectedTemplates);\r\n if (templatesAreEqual) {\r\n history.push('/upload');\r\n } else {\r\n setShowCancelModal(true);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
Select a custom data field for your {props.tabName} data - {selectedItem.ItemName}
\r\n {RoleBasedView?.[0]?.['File Upload']?.[0]?.ReadWrite === 1 &&
{ setShowAddVolume(true); setEditMode(false); }}> \r\n Add {props.tabName} Data \r\n
}\r\n
\r\n
\r\n
\r\n {RoleBasedView?.[0]?.['File Upload']?.[0]?.ReadWrite === 1 &&
\r\n \r\n \r\n   Select All\r\n
}\r\n
\r\n Legend: \r\n Contractual SLAs/KPIs\r\n
\r\n
\r\n
\r\n {selectedTemplates.map((field, i) => (\r\n onClickEditForm(field, i)}\r\n isSelected={field.toggle}\r\n togglehandler={() => toggleTemplate(field.templateID)}\r\n toggleView={RoleBasedView?.[0]?.['File Upload']?.[0]?.ReadWrite === 1 ? true : false}\r\n />\r\n ))}\r\n
\r\n {RoleBasedView?.[0]?.['File Upload']?.[0]?.ReadWrite === 1 &&
\r\n \r\n \r\n
}\r\n\r\n {showAddVolume && \r\n \r\n setShowAddVolume(false)} \r\n editFormField={editFormField} \r\n handleEditFormField={handleEditFormField}\r\n />\r\n \r\n }\r\n\r\n {showCancelModal && \r\n \r\n setShowCancelModal(false)}\r\n />\r\n \r\n }\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport './DataAdmin.css'\r\nimport AdminBreadcrumb from '../../Administration/General/Admin-breadcrumb';\r\nimport FileUpload_Icon from './../../../assets/images/FileUpload_Icon.png';\r\nimport { Tab, Tabs } from 'react-bootstrap';\r\nimport { FormFieldHandle } from './UploadDataAdmin';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getSLAKPIVolumeTemplates, setSelectedSLAKPIFields, setSelectedSLAKPIVolumeTab, setSelectedVolumeFields } from '../../../actions/uploads.action';\r\n\r\n\r\n\r\nfunction DataAdministration() {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const SlaKpiVolumeTemplates = useSelector((state) => state.uploadReducer.SlaKpiVolumeTemplates);\r\n const SelectedAccountDetails = useSelector((state) => state.uploadReducer.SelectedAccountDetails);\r\n const dataAdministrationValidation = useSelector((state) => state.uploadReducer.dataAdministrationValidation);\r\n const selectedItem = useSelector((state) => state.uploadReducer.selectedItem);\r\n\r\n console.log('selectedItem',selectedItem.ItemID)\r\n\r\n\r\n const [validation, setValidation] = useState(false);\r\n const [error, setError] = useState(false);\r\n const [fieldKey, setfieldKey] = useState('Volume')\r\n console.log('validation',validation)\r\n const handleTabSelect = (key) => {\r\n if (validation === true) {\r\n setError(true)\r\n }\r\n else {\r\n setError(false)\r\n setfieldKey(key)\r\n }\r\n\r\n }\r\n\r\n useEffect(()=>{\r\n if(validation === false){\r\n setError(validation)\r\n }\r\n },[validation])\r\n\r\n const handler = (data) => {\r\n console.log('data', data)\r\n setValidation(data)\r\n }\r\n\r\n console.log('validation', validation)\r\n\r\n\r\n const shiftToSLAKPITab = () => {\r\n console.log('clicked:::::::::::::::::::::::::::::')\r\n setfieldKey('sla/kpi')\r\n }\r\n\r\n useEffect(() => {\r\n dispatch(getSLAKPIVolumeTemplates(SelectedAccountDetails.CustomerID ? SelectedAccountDetails.CustomerID : '', fieldKey,selectedItem.ItemID))\r\n dispatch(setSelectedSLAKPIVolumeTab(fieldKey))\r\n }, [dispatch, fieldKey, SelectedAccountDetails])\r\n\r\n\r\n console.log('field', fieldKey)\r\n\r\n return (\r\n <>\r\n { validation ? setError(true) : history.push('/welcome') }} label1='Home' isActive2={true} label2='Uploads' value2={() => { validation ? setError(true) : history.push('/upload') }}\r\n isActive3={false} label3={SelectedAccountDetails?.['Account Name'] + '-' + SelectedAccountDetails?.['Site Name']} />\r\n
\r\n
\r\n
{SelectedAccountDetails?.['Account Name']} - {SelectedAccountDetails?.['Site Name']} - Upload Data Administration
\r\n
\r\n \r\n
\r\n
\r\n {error &&
Data Not Saved.
}\r\n
\r\n \r\n \r\n {\r\n console.log(fields) \r\n dispatch(setSelectedVolumeFields(fields))\r\n }} onTemplateChange={(templateChanges) => handler(templateChanges)} shiftToSLAKPITab={shiftToSLAKPITab}/>\r\n \r\n \r\n handler(templateChanges)}\r\n onSaveButtonClick={fields => dispatch(setSelectedSLAKPIFields(fields))} />\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default DataAdministration","\r\nimport React from \"react\"\r\nimport { Bar } from \"react-chartjs-2\"\r\n\r\nexport function VerticalBarChart(props) {\r\n return (<>\r\n
\r\n
\r\n
\r\n
{props.heading}
\r\n
\r\n
\r\n
{props.yAxesTitle}
\r\n
\r\n \r\n
\r\n
\r\n
{props.xAxesTitle}
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\n\r\nexport function StackedBarCharts(props) {\r\n return (<>\r\n
\r\n
\r\n
\r\n
{props.heading}
\r\n
\r\n
{props.numerator}
\r\n
{props.difference}
\r\n
\r\n
\r\n
{props.yAxesTitle}
\r\n
\r\n \r\n
\r\n
\r\n
{props.xAxesTitle}
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nexport function StackedLineBarCharts(props) {\r\n return (<>\r\n
\r\n
\r\n
\r\n
{props.heading}
\r\n
\r\n
{props.numerator}
\r\n
\r\n
\r\n
\r\n
{props.yAxesTitle}
\r\n
\r\n \r\n
\r\n
\r\n
{props.xAxesTitle}
\r\n
\r\n
\r\n )\r\n}","import ReactModal from \"react-modal\";\r\nimport Download_Icon from \"../../assets/images/Download_Icon.png\"\r\nimport CloseWindow_Normal from '../../assets/images/CloseWindow_Normal.png';\r\nimport { Bar } from 'react-chartjs-2';\r\nimport './Analytics.css';\r\nimport * as htmlToImage from 'html-to-image';\r\n\r\n\r\nconst exportAsPicture = (id, image) => {\r\n htmlToImage.toPng(document.getElementById(id), {\r\n quality: 0.90,\r\n })\r\n .then(function (dataUrl) {\r\n let link = document.createElement('a');\r\n link.download = image;\r\n link.href = dataUrl;\r\n link.click()\r\n })\r\n .catch(function (error) {\r\n console.error('oops, something went wrong!', error);\r\n });\r\n}\r\n\r\nexport function CalendarModel(props) {\r\n\r\n return <>\r\n
\r\n
\r\n {props.heading === true ?
\r\n {`${props.day.format('DD')}/${props.day.format('MM')}/${props.day.format('YYYY')}`} - Standard Telephony By Half Hour\r\n
:
}\r\n
none
\r\n
\r\n
\r\n {props.heading === true ?
\r\n
{props.yAxesTitle}
\r\n
{props.target}
\r\n
:
}\r\n
\r\n
\r\n
{props.yAxesTitle}
\r\n
\r\n \r\n
\r\n
\r\n
{props.xAxesTitle}
\r\n \r\n}\r\n\r\nexport function CalendarvaluesModel(props) {\r\n\r\n return <>\r\n
\r\n
\r\n
\r\n {props.heading}\r\n
\r\n
none
\r\n
\r\n
\r\n {props.title === true ?
\r\n
{props.yAxesTitle}
{props.target}
\r\n
:
}\r\n
\r\n
{props.numerator}
\r\n
{props.difference}
\r\n
\r\n
\r\n
{props.yAxesTitle}
\r\n
\r\n \r\n
\r\n
\r\n
{props.xAxesTitle}
\r\n \r\n}\r\n\r\nexport function PastMonthTrendsModel(props) {\r\n\r\n return <>\r\n
\r\n
\r\n
\r\n {props.heading}\r\n
\r\n
none
\r\n
\r\n\r\n
\r\n
{props.yAxesTitle}
\r\n
\r\n \r\n
\r\n
\r\n
{props.xAxesTitle}
\r\n \r\n}\r\n\r\n\r\nexport function CalendarModelpopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '10em',\r\n left: '15em',\r\n width: '1100px',\r\n height: '550px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { VerticalBarChart } from './Bar-charts';\r\nimport './Analytics.css';\r\nimport moment from 'moment';\r\nimport './Analytics.css'\r\nimport { CalendarModel, CalendarModelpopup } from './DTM-ModalPopup';\r\nimport Download_Icon from \"../../assets/images/Download_Normal.png\"\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getDTMAnalyticsData, getDTMAnalyticsHalfHour, getDTMAnalyticsMonth, updateRegionalSiteCustomerID, updateRegionalSiteCustomerName } from '../../actions/regionalSite.action';\r\nimport AdminBreadcrumb from '../Administration/General/Admin-breadcrumb';\r\nimport * as htmlToImage from 'html-to-image';\r\nimport { saveAccountLocationName, saveSelectedMenuItem, updateDTMReportDate, updateSelectedAccountName } from '../../actions/tabMenu.action';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useLocation } from 'react-router';\r\n\r\nfunction DTMAnalyticsHandler() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const location = useLocation();\r\n // const customerID = useSelector((state) => state.regionalSiteReducer.rgnCustId);\r\n // const serviceID = useSelector((state) => state.regionalSiteReducer.rgnServiceID);\r\n\r\nconst reportcustomerID = useSelector((state) => state.regionalSiteReducer.rgnCustId);\r\nconst reportserviceID = useSelector((state) => state.regionalSiteReducer.rgnServiceID);\r\nconst selectedSLA = useSelector((state) => state.regionalSiteReducer.selectedSLA);\r\nconst reportcustomerName = useSelector((state) => state.regionalSiteReducer.rgnCustName);\r\nlet selectedCustIDServID = useSelector((state) => state.welcomePageReducer.selectedCustIDServID);\r\n console.log('selectedCustIDServID',selectedCustIDServID)\r\n const customerID = reportcustomerID === null ? selectedCustIDServID.CustomerID : reportcustomerID;\r\n const serviceID = reportserviceID === '' ? selectedCustIDServID.ServiceDeskID : reportserviceID;\r\n const customerName = reportcustomerName === null ? selectedCustIDServID.CustomerName : reportcustomerName\r\n const selectedDate = useSelector((state) => state.tabReducer.DTMReportPageDate);\r\n const DTMAnalytics = useSelector((state) => state.regionalSiteReducer.DTMAnalytics);\r\n const DTMHalfHour = useSelector((state) => state.regionalSiteReducer.DTMHalfHour);\r\n const DTMMonthlyData = useSelector((state) => state.regionalSiteReducer.DTMMonthlyData);\r\n \r\n // const initialDate = useSelector((state) => state.userReducer.selectedDate);\r\n\r\n const formatDate = (date) => {\r\n let d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n return [year, month, '01'].join('-');\r\n\r\n }\r\n\r\n\r\n const formatTime = (value) => {\r\n let totalSeconds = value;\r\n let hours = Math.floor(totalSeconds / 3600);\r\n totalSeconds %= 3600; let minutes = Math.floor(totalSeconds / 60);\r\n let seconds = parseInt(totalSeconds % 60);\r\n minutes = String(minutes).padStart(2, \"0\");\r\n hours = String(hours).padStart(2, \"0\");\r\n seconds = String(seconds).padStart(2, \"0\");\r\n if (seconds.length < 2)\r\n seconds = '0' + seconds;\r\n return (hours + \":\" + minutes + \":\" + seconds);\r\n }\r\n\r\n const [currentDate, setCurrentDate] = useState(moment())\r\n useEffect(() => {\r\n let newDate = new Date(selectedDate)\r\n let year = !isNaN(newDate?.getFullYear()) ? newDate?.getFullYear() : new Date().getFullYear();\r\n let month = !isNaN(newDate?.getMonth()) ? newDate?.getMonth() : new Date().getMonth();\r\n setCurrentDate(moment().set({ 'year': year, 'month': month }))\r\n const myDate = moment().set({ 'year': year, 'month': month })\r\n let obj1 = {\r\n // customerID:location.pathname=== 'reports' ? customerID : '60',\r\n customerID: customerID,\r\n serviceID: serviceID,\r\n view: '',\r\n date: formatDate(myDate),\r\n item: selectedSLA.slaItem\r\n }\r\n let obj3 = {\r\n customerID: customerID,\r\n serviceID: serviceID,\r\n view: '12+month',\r\n date: formatDate(myDate),\r\n item: selectedSLA.slaItem\r\n }\r\n dispatch(getDTMAnalyticsData(obj1))\r\n dispatch(getDTMAnalyticsMonth(obj3))\r\n }, [])\r\n\r\n\r\n\r\n const [DTMAnalyticsData, setDTMAnalyticsData] = useState([]);\r\n const [DTMHalfHourData, setDTMHalfHourData] = useState([]);\r\n const [DTMMonthlyInfo, setDTMMonthlyInfo] = useState([]);\r\n\r\n useEffect(() => {\r\n setDTMAnalyticsData(DTMAnalytics);\r\n setDTMHalfHourData(DTMHalfHour);\r\n setDTMMonthlyInfo(DTMMonthlyData)\r\n }, [DTMAnalytics, DTMHalfHour, DTMMonthlyData])\r\n\r\n\r\n function OnClickBarHandle(label) {\r\n let newDate = new Date(label?.chart?.tooltip?.title?.[0]);\r\n let year = newDate.getFullYear();\r\n let month = newDate.getMonth();\r\n // dispatch(updateDTMReportDate(formatDate(newDate)));\r\n let obj1 = {\r\n customerID: customerID,\r\n serviceID: serviceID,\r\n view: '',\r\n date: formatDate(newDate || new Date()),\r\n item: selectedSLA.slaItem\r\n }\r\n let obj3 = {\r\n customerID: customerID,\r\n serviceID: serviceID,\r\n view: '12+month',\r\n date: formatDate(newDate || new Date()),\r\n item: selectedSLA.slaItem\r\n }\r\n setShowOffCanvasModel(false)\r\n dispatch(getDTMAnalyticsData(obj1))\r\n dispatch(getDTMAnalyticsMonth(obj3))\r\n setCurrentDate(moment().set({ 'year': year, 'month': month }));\r\n\r\n }\r\n\r\n const monthlyoptions = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false,\r\n },\r\n title: {\r\n display: false,\r\n },\r\n scales: {\r\n x1: {\r\n display: true,\r\n title: {\r\n display: false,\r\n text: 'October 21'\r\n }\r\n },\r\n y: {\r\n display: true,\r\n title: {\r\n display: false,\r\n text: 'Calls Handled'\r\n },\r\n ticks: {\r\n callback: function (value) {\r\n return selectedSLA.format === 'Time' ? formatTime(value) : value\r\n }\r\n },\r\n },\r\n },\r\n onClick: (label => OnClickBarHandle(label)),\r\n plugins: {\r\n legend: { display: false, position: 'right' },\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: { weight: '400' },\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize: 5,\r\n bodyFont: { weight: 'bolder' },\r\n callbacks: {\r\n title: function (context) {\r\n return context[0].label\r\n },\r\n label: function (context) {\r\n return selectedSLA.format === 'Time' ? formatTime(context.raw) : context.raw.toString() + ` ${selectedSLA.format === 'Percentage' ? '(%)' : ''}`\r\n }\r\n }\r\n }\r\n },\r\n onHover: (event, chartElement) => {\r\n const target = event.native ? event.native.target : event.target;\r\n target.style.cursor = chartElement[0] ? 'pointer' : 'default';\r\n }\r\n };\r\n const timeoptions = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false,\r\n\r\n },\r\n title: {\r\n display: false,\r\n },\r\n scales: {\r\n xAxes: {\r\n ticks: {\r\n maxRotation: 90,\r\n minRotation: 90\r\n },\r\n },\r\n yAxes: {\r\n display: true,\r\n ticks: {\r\n callback: function (value) {\r\n return selectedSLA.format === 'Time' ? formatTime(value) : value\r\n }\r\n },\r\n },\r\n },\r\n plugins: {\r\n legend: { display: false, position: 'right' },\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: { weight: '400' },\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize: 5,\r\n bodyFont: { weight: 'bolder' },\r\n callbacks: {\r\n title: function (context) {\r\n return context[0].label\r\n },\r\n label: function (context) {\r\n return selectedSLA.format === 'Time' ? formatTime(context.raw) : context.raw.toString() \r\n }\r\n }\r\n }\r\n },\r\n }\r\n \r\n const options = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false,\r\n\r\n },\r\n title: {\r\n display: false,\r\n },\r\n scales: {\r\n x1: {\r\n display: true,\r\n },\r\n y: {\r\n display: true,\r\n ticks: {\r\n callback: function (value) {\r\n return selectedSLA.format === 'Time' ? formatTime(value) : value\r\n }\r\n },\r\n },\r\n },\r\n plugins: {\r\n legend: { display: false, position: 'right' },\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: { weight: '400' },\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize: 5,\r\n bodyFont: { weight: 'bolder' },\r\n callbacks: {\r\n title: context => {\r\n return context[0].label.includes(':') ? context[0].label : `${currentDate.format('MM')}/${context[0].label}/${currentDate.format('YYYY')}`\r\n },\r\n label: function (context) {\r\n return selectedSLA.format === 'Time' ? formatTime(context.raw) : context.raw.toString()\r\n }\r\n }\r\n }\r\n },\r\n }\r\n const DTMoptions = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false,\r\n\r\n },\r\n title: {\r\n display: false,\r\n },\r\n scales: {\r\n x1: {\r\n display: true,\r\n },\r\n y: {\r\n display: true,\r\n ticks: {\r\n callback: function (value) {\r\n return selectedSLA.format === 'Time' ? formatTime(value) : value\r\n }\r\n },\r\n },\r\n },\r\n plugins: {\r\n legend: { display: false, position: 'right' },\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: { weight: '400' },\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize: 5,\r\n bodyFont: { weight: 'bolder' },\r\n callbacks: {\r\n title: context => {\r\n return context[0].label.includes(':') ? context[0].label : `${currentDate.format('MM')}/${context[0].label}/${currentDate.format('YYYY')}`\r\n },\r\n label: function (context) {\r\n return selectedSLA.format === 'Time' ? formatTime(context.raw) : context.raw.toString() + ` ${selectedSLA.format === 'Percentage' ? '(%)' : ''}`\r\n }\r\n }\r\n }\r\n },\r\n }\r\n const [showOffCanvasModel, setShowOffCanvasModel] = useState(false)\r\n const [showCalendarModel, setShowCalendarModel] = useState(false);\r\n function daysInMonth(d) {\r\n let date = new Date(d)\r\n return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();\r\n }\r\n const DTMLabelsHandler = (label) => {\r\n switch (label) {\r\n case 'dailyPerformance':\r\n case 'DTM': {\r\n const temp_arr = [];\r\n let n = 1;\r\n while (n <= daysInMonth(currentDate)) {\r\n temp_arr.push(n);\r\n n++;\r\n }\r\n return temp_arr;\r\n }\r\n case 'CalendarPopup':\r\n case 'HandledDetails': {\r\n const temp_arr = [];\r\n let a = 0\r\n while (a <= 23) {\r\n temp_arr.push(`${a}:00`);\r\n temp_arr.push(`${a}:30`);\r\n a++;\r\n }\r\n return temp_arr;\r\n }\r\n case 'pastMonthTrends': {\r\n var monthName = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n var d = new Date(currentDate);\r\n d.setDate(1);\r\n let temp_arr = [];\r\n for (let i = 12; i >= 0; i--) {\r\n temp_arr[i] = monthName[d.getMonth()] + ' ' + d.getFullYear()\r\n d.setMonth(d.getMonth() - 1);\r\n }\r\n // let temp_arr = Array.apply(0, Array(12)).map(function (_, i) { return `${moment().month(i).format('MMM')} ${moment().month(i).format('YYYY')}` });\r\n return temp_arr\r\n }\r\n\r\n default: { }\r\n }\r\n }\r\n\r\n const dataFixedvValues = (data) => {\r\n switch (selectedSLA.format) {\r\n case 'Percentage': return (data?.fvalue * 100)?.toFixed(2)\r\n case 'Number': return (data?.fvalue);\r\n case 'Time': return (data?.fvalue)?.toFixed(2)\r\n default: { }\r\n }\r\n }\r\n\r\n const DTMChartsDataHandler = (data, label) => {\r\n let temp_dtm = [];\r\n data?.[label]?.map((data, i) => {\r\n temp_dtm[i] = dataFixedvValues(data)\r\n })\r\n return temp_dtm;\r\n }\r\n\r\n\r\n\r\n const [day, setDay] = useState('')\r\n const [targetValue, setTargetValue] = useState(null)\r\n const calendarClickHandle = (day) => {\r\n debugger\r\n setDay(day);\r\n let temp = DTMChartsDataHandler(DTMAnalyticsData, 'dailyperformance');\r\n const dt = new Date(day).getDate();\r\n setTargetValue(temp[dt - 1]);\r\n let obj2 = {\r\n customerID: customerID,\r\n serviceID: serviceID,\r\n view: 'halfhour',\r\n date: day.format('MM/DD/YYYY'),\r\n item: selectedSLA.item\r\n }\r\n dispatch(getDTMAnalyticsHalfHour(obj2))\r\n setShowCalendarModel(true);\r\n }\r\n const CalendarDailyValues = (day) => {\r\n let temp_dtm = [];\r\n DTMAnalyticsData?.dailyperformance?.map((data, i) => {\r\n temp_dtm[i] = data?.fvalue\r\n })\r\n const dt = new Date(day).getDate();\r\n let val = temp_dtm[dt - 1]\r\n switch (selectedSLA.format) {\r\n case 'Percentage': {\r\n if (!isNaN(val) && val !== null) return parseFloat(val * 100)?.toFixed(2) + ' %';\r\n return ''\r\n }\r\n case 'Time': {\r\n if (!isNaN(val) && val !== null) return formatTime(val);\r\n return ''\r\n }\r\n case 'Number': {\r\n if (!isNaN(val) && val !== null) return (val);\r\n return\r\n }\r\n default: { }\r\n }\r\n }\r\n\r\n const weekDays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\r\n const [calendar, setCalendar] = useState([])\r\n const [weekOfTheYear, setWeekOfTheYear] = useState([]);\r\n const startingDate = currentDate.clone().startOf('month').format('MM/DD/YYYY');\r\n const endingDate = currentDate.clone().endOf('month').format('MM/DD/YYYY');\r\n function beforeToday(day) {\r\n if (day.isBefore(new Date(startingDate), \"day\")) return \"Yes its working\"\r\n }\r\n function afterToday(day) {\r\n if (day.isAfter(new Date(endingDate), \"day\")) return \"Yes its working\"\r\n }\r\n\r\n useEffect(() => {\r\n const startDay = currentDate.clone().startOf(\"month\").startOf(\"week\");\r\n const endDay = currentDate.clone().endOf(\"month\").endOf(\"week\");\r\n const day = startDay.clone().subtract(1, \"day\");\r\n const temp_calendar = [];\r\n while (day.isBefore(endDay, \"day\")) {\r\n temp_calendar.push(Array(7).fill(0).map(() => day.add(1, \"day\").clone()))\r\n }\r\n const temp_arr_one = temp_calendar[0]?.map(day => {\r\n if (Number(day.format('DD')) > 20) return '';\r\n else return day\r\n })\r\n const temp_arr_two = temp_calendar[temp_calendar.length - 1]?.map(day => {\r\n if (Number(day.format('DD')) < 10) return '';\r\n else return day\r\n })\r\n temp_calendar[0] = temp_arr_one;\r\n temp_calendar[temp_calendar.length - 1] = temp_arr_two;\r\n setCalendar(temp_calendar);\r\n let temp_week = temp_calendar?.map((week) => {\r\n if (temp_calendar?.indexOf(week) === 0) return week?.[week?.length - 1].format('WW');\r\n else return week[1] ? week[1].format('WW') : week[0].format('WW');\r\n });\r\n setWeekOfTheYear(temp_week);\r\n }, [currentDate]);\r\n\r\n const exportAsPicture = (id, image) => {\r\n htmlToImage.toPng(document.getElementById(id), {\r\n quality: 0.90,\r\n })\r\n .then(function (dataUrl) {\r\n let link = document.createElement('a');\r\n link.download = image;\r\n link.href = dataUrl;\r\n link.click()\r\n })\r\n .catch(function (error) {\r\n console.error('oops, something went wrong!', error);\r\n });\r\n }\r\n\r\n const ReportRedirect = () => {\r\n if (DTMAnalytics?.servicedesk?.id) {\r\n window.localStorage.setItem('ServiceDeskID', DTMAnalytics?.servicedesk?.id);\r\n }\r\n if (DTMAnalytics?.customer?.id) {\r\n window.localStorage.setItem('CustomerID', DTMAnalytics?.customer?.id);\r\n }\r\n dispatch(updateRegionalSiteCustomerID(DTMAnalytics?.customer?.id));\r\n dispatch(updateRegionalSiteCustomerName(DTMAnalytics?.customer?.name));\r\n dispatch(updateSelectedAccountName(DTMAnalytics?.customer?.name));\r\n dispatch(saveAccountLocationName(DTMAnalytics?.servicedesk?.name));\r\n dispatch(saveSelectedMenuItem(\"reports\"));\r\n dispatch(updateDTMReportDate(new Date(formatDate(currentDate))));\r\n history.push(\"/reports\");\r\n }\r\n return (\r\n <>\r\n {/* */}\r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Reports' value2={()=>history.push('/regional')}\r\n isActive3={true} label3={customerName} value3={ReportRedirect} isActive4={true}\r\n label4='DTM' value4={ReportRedirect} isActive5={true} label5={currentDate.format('MMMM') + ' - ' + currentDate.format('YYYY')} value5={ReportRedirect}\r\n label6={\"Analytics - \" + selectedSLA.slaItem} isActive6={false}\r\n />\r\n
\r\n
{customerName} - {selectedSLA.slaItem} - {`${currentDate.format('MMMM')} ${currentDate.format('YYYY')}`}
\r\n
{ exportAsPicture('whatever', selectedSLA.slaItem) }}>\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{selectedSLA.slaItem}
\r\n
{selectedSLA.format === 'Time' ? formatTime(DTMAnalyticsData?.currentmonth?.[0]?.fvalue) : DTMAnalyticsData?.currentmonth?.[0]?.value}
\r\n
\r\n
setShowOffCanvasModel(true)} >
Past 12 Months Trend
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Daily Values
\r\n
\r\n \r\n \r\n \r\n {weekDays.map((week, i) => ())}\r\n \r\n \r\n \r\n {calendar?.map((week, i) => (\r\n \r\n {week?.map((day) => ())}))}\r\n \r\n
{currentDate.format('YYYY')}{week}
{weekOfTheYear?.[i]}
Week
\r\n
{day && day.format(\"DD MMM\").toString()}
\r\n
calendarClickHandle(day)}>{CalendarDailyValues(day)}
\r\n
\r\n
\r\n \r\n
\r\n

\r\n\r\n {showCalendarModel && \r\n setShowCalendarModel(false)}\r\n yAxesTitle={selectedSLA.slaItem + ` ${selectedSLA.format === 'Percentage' ? '(%)' : ''}`}\r\n xAxesTitle={`${currentDate.format('MMMM')}, ${currentDate.format('YYYY')}`} id='calendar'\r\n image={selectedSLA.slaItem + `_${selectedSLA.format === 'Percentage' ? '(%)' : ''}_halfHour_report`}\r\n labels={DTMLabelsHandler('CalendarPopup')} data={DTMChartsDataHandler(DTMHalfHourData, 'halfhourdata')} color='#00968F'\r\n options={ timeoptions}\r\n />\r\n \r\n }\r\n {showOffCanvasModel && \r\n setShowOffCanvasModel(false)}\r\n yAxesTitle={selectedSLA.slaItem + ` ${selectedSLA.format === 'Percentage' ? '(%)' : ''}`}\r\n xAxesTitle='Month & Year' id='yearly'\r\n image={selectedSLA.slaItem + `_${selectedSLA.format === 'Percentage' ? '(%)' : ''}_yearly_report`}\r\n labels={DTMLabelsHandler('pastMonthTrends')} data={DTMChartsDataHandler(DTMMonthlyInfo, 'monthdata')} color='#00A3E1'\r\n options={monthlyoptions}\r\n />\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default DTMAnalyticsHandler;","import React, { useEffect, useState } from 'react'\r\nimport { StackedBarCharts, StackedLineBarCharts, VerticalBarChart } from './Bar-charts';\r\nimport './Analytics.css';\r\nimport moment from 'moment';\r\nimport { CalendarModelpopup, CalendarvaluesModel, PastMonthTrendsModel } from './DTM-ModalPopup';\r\nimport AboveRequiredTarget_Status from \"../../assets/images/AboveRequiredTarget_Status.png\"\r\nimport BelowMinimalTarget_Status from \"../../assets/images/BelowMinimalTarget_Status.png\"\r\nimport BelowMinimalTargetIcon from \"../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport Download_Icon from \"../../assets/images/Download_Normal.png\"\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getDTMAnalyticsData, getDTMAnalyticsHalfHour, getDTMAnalyticsMonth, updateRegionalSiteCustomerID, updateRegionalSiteCustomerName } from '../../actions/regionalSite.action';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport AdminBreadcrumb from '../Administration/General/Admin-breadcrumb';\r\nimport * as htmlToImage from 'html-to-image';\r\nimport { saveAccountLocationName, saveSelectedMenuItem, updateDTMReportDate, updateSelectedAccountName } from '../../actions/tabMenu.action';\r\n\r\nfunction daysInMonth(d) {\r\n let date = new Date(d)\r\n return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();\r\n}\r\n\r\n\r\nfunction DTMAnalyticsSLA() {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n // const customerID = useSelector((state) => state.regionalSiteReducer.rgnCustId);\r\n // const serviceID = useSelector((state) => state.regionalSiteReducer.rgnServiceID);\r\n const reportcustomerID = useSelector((state) => state.regionalSiteReducer.rgnCustId);\r\nconst reportserviceID = useSelector((state) => state.regionalSiteReducer.rgnServiceID);\r\nconst selectedSLA = useSelector((state) => state.regionalSiteReducer.selectedSLA);\r\nconst reportcustomerName = useSelector((state) => state.regionalSiteReducer.rgnCustName);\r\nlet selectedCustIDServID = useSelector((state) => state.welcomePageReducer.selectedCustIDServID);\r\n console.log('selectedCustIDServID',selectedCustIDServID)\r\n const customerID = reportcustomerID === null ? selectedCustIDServID.CustomerID : reportcustomerID;\r\n const serviceID = reportserviceID === '' ? selectedCustIDServID.ServiceDeskID : reportserviceID;\r\n const customerName = reportcustomerName === null ? selectedCustIDServID.CustomerName : reportcustomerName\r\n\r\n const selectedDate = useSelector((state) => state.tabReducer.DTMReportPageDate);\r\n const DTMAnalytics = useSelector((state) => state.regionalSiteReducer.DTMAnalytics);\r\n const DTMHalfHour = useSelector((state) => state.regionalSiteReducer.DTMHalfHour);\r\n const DTMMonthlyData = useSelector((state) => state.regionalSiteReducer.DTMMonthlyData);\r\n function formatDatehandle(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n\r\n const formatTime = (value) => {\r\n let totalSeconds = value;\r\n let hours = Math.floor(totalSeconds / 3600);\r\n totalSeconds %= 3600; let minutes = Math.floor(totalSeconds / 60);\r\n let seconds = parseInt(totalSeconds % 60);\r\n minutes = String(minutes).padStart(2, \"0\");\r\n hours = String(hours).padStart(2, \"0\");\r\n seconds = String(seconds).padStart(2, \"0\");\r\n if (seconds.length < 2)\r\n seconds = '0' + seconds;\r\n return (hours + \":\" + minutes + \":\" + seconds);\r\n\r\n\r\n }\r\n\r\n const formatDate = (date) => {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n return [year, month, '01'].join('-');\r\n }\r\n\r\n const [currentDate, setCurrentDate] = useState(moment())\r\n useEffect(() => {\r\n let newDate = new Date(selectedDate)\r\n let year = !isNaN(newDate?.getFullYear()) ? newDate?.getFullYear() : new Date().getFullYear();\r\n let month = !isNaN(newDate?.getMonth()) ? newDate?.getMonth() : new Date().getMonth();\r\n setCurrentDate(moment().set({ 'year': year, 'month': month }))\r\n const myDate = moment().set({ 'year': year, 'month': month })\r\n let obj1 = {\r\n customerID: customerID,\r\n serviceID: serviceID,\r\n view: '',\r\n date: formatDate(myDate),\r\n item: selectedSLA.item\r\n }\r\n let obj3 = {\r\n customerID: customerID,\r\n serviceID: serviceID,\r\n view: '12+month',\r\n date: formatDate(myDate),\r\n item: selectedSLA.item\r\n }\r\n dispatch(getDTMAnalyticsData(obj1))\r\n dispatch(getDTMAnalyticsMonth(obj3))\r\n }, [])\r\n\r\n const [DTMAnalyticsData, setDTMAnalyticsData] = useState([]);\r\n const [DTMHalfHourData, setDTMHalfHourData] = useState([]);\r\n const [DTMMonthlyInfo, setDTMMonthlyInfo] = useState([]);\r\n\r\n useEffect(() => {\r\n setDTMAnalyticsData(DTMAnalytics);\r\n setDTMHalfHourData(DTMHalfHour);\r\n setDTMMonthlyInfo(DTMMonthlyData)\r\n }, [DTMAnalytics, DTMHalfHour, DTMMonthlyData])\r\n\r\n\r\n const [showCalendarvalueModel, setShowCalendarvalueModel] = useState(false);\r\n const [dropdownIndex, setDropdownIndex] = useState(null);\r\n const [weekIndex, setWeekIndex] = useState(null);\r\n const [showTooltip, setShowTooltip] = useState(false);\r\n const [showPastMonthTrends, setShowPastMonthTrends] = useState(false);\r\n const [showPerformanceVolume, setShowPerformanceVolume] = useState(false);\r\n\r\n\r\n\r\n\r\n const options = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false,\r\n\r\n },\r\n title: {\r\n display: false,\r\n },\r\n scales: {\r\n xAxes: {\r\n display: true,\r\n stacked: true\r\n },\r\n yAxes: {\r\n display: true,\r\n stacked: true,\r\n ticks: {\r\n callback: function (value) {\r\n return selectedSLA.format === 'Time' ? formatTime(value) : value\r\n }\r\n },\r\n },\r\n },\r\n\r\n plugins: {\r\n legend: { display: false, position: 'right' },\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: { weight: '400' },\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize: 5,\r\n bodyFont: { weight: 'bolder' },\r\n callbacks: {\r\n title: context => {\r\n return context[0].label.includes(':') ? context[0].label : `${currentDate.format('MM')}/${context[0].label}/${currentDate.format('YYYY')}`\r\n },\r\n label: function (context) {\r\n return selectedSLA.format === 'Time' ? formatTime(context.raw) : context.raw.toString()\r\n }\r\n }\r\n }\r\n },\r\n }\r\n\r\n const DTMoptions = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false,\r\n\r\n },\r\n title: {\r\n display: false,\r\n },\r\n scales: {\r\n xAxes: {\r\n display: true,\r\n stacked: true\r\n },\r\n yAxes: {\r\n display: true,\r\n stacked: true,\r\n ticks: {\r\n callback: function (value) {\r\n return selectedSLA.format === 'Time' ? formatTime(value) : value\r\n }\r\n },\r\n },\r\n },\r\n\r\n plugins: {\r\n legend: { display: false, position: 'right' },\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: { weight: '400' },\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize: 5,\r\n bodyFont: { weight: 'bolder' },\r\n callbacks: {\r\n title: context => {\r\n return context[0].label.includes(':') ? context[0].label : `${currentDate.format('MM')}/${context[0].label}/${currentDate.format('YYYY')}`\r\n },\r\n label: function (context) {\r\n return selectedSLA.format === 'Time' ? formatTime(context.raw) : context.raw.toString() + ` ${selectedSLA.format === 'Percentage' ? '(%)' : ''}`\r\n }\r\n }\r\n }\r\n },\r\n }\r\n\r\n const monthlyoptions = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false,\r\n\r\n },\r\n title: {\r\n display: false,\r\n },\r\n scales: {\r\n xAxes: {\r\n display: true,\r\n stacked: true\r\n },\r\n yAxes: {\r\n display: true,\r\n stacked: true,\r\n ticks: {\r\n callback: function (value) {\r\n return selectedSLA.format === 'Time' ? formatTime(value) : value\r\n }\r\n },\r\n },\r\n },\r\n onClick: (context) => {\r\n setShowPerformanceVolume(false);\r\n setShowPastMonthTrends(false)\r\n let newDate = new Date(context?.chart?.tooltip?.title?.[0]);\r\n let year = !isNaN(newDate?.getFullYear()) ? newDate?.getFullYear() : new Date().getFullYear();\r\n let month = !isNaN(newDate?.getMonth()) ? newDate?.getMonth() : new Date().getMonth();\r\n setCurrentDate(moment().set({ 'year': year, 'month': month }))\r\n const myDate = moment().set({ 'year': year, 'month': month })\r\n let obj1 = {\r\n customerID: customerID,\r\n serviceID: serviceID,\r\n view: '',\r\n date: formatDate(myDate),\r\n item: selectedSLA.item\r\n }\r\n \r\n let obj3 = {\r\n customerID: customerID,\r\n serviceID: serviceID,\r\n view: '12+month',\r\n date: formatDate(myDate),\r\n item: selectedSLA.item\r\n }\r\n dispatch(getDTMAnalyticsData(obj1))\r\n dispatch(getDTMAnalyticsMonth(obj3))\r\n },\r\n plugins: {\r\n legend: { display: false, position: 'right' },\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: { weight: '400' },\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize: 5,\r\n bodyFont: { weight: 'bolder' },\r\n callbacks: {\r\n title: context => {\r\n return context[0].label.includes(':') ? context[0].label : `${context[0].label}`\r\n },\r\n label: function (context) {\r\n return selectedSLA.format === 'Time' ? formatTime(context.raw) : context.raw.toString() + ` ${selectedSLA.format === 'Percentage' ? '(%)' : ''}`\r\n }\r\n }\r\n }\r\n },\r\n onHover: (event, chartElement) => {\r\n const target = event.native ? event.native.target : event.target;\r\n target.style.cursor = chartElement[0] ? 'pointer' : 'default';\r\n }\r\n }\r\n\r\n const performanceoptions = {\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: false,\r\n\r\n },\r\n title: {\r\n display: false,\r\n },\r\n scales: {\r\n xAxes: {\r\n display: true,\r\n stacked: true\r\n },\r\n yAxes: {\r\n display: true,\r\n stacked: true,\r\n ticks: {\r\n callback: function (value) {\r\n return selectedSLA.format === 'Time' ? formatTime(value) : value\r\n }\r\n },\r\n },\r\n },\r\n onClick: (context) => {\r\n setShowPerformanceVolume(false);\r\n setShowPastMonthTrends(false)\r\n let newDate = new Date(context?.chart?.tooltip?.title?.[0]);\r\n let year = !isNaN(newDate?.getFullYear()) ? newDate?.getFullYear() : new Date().getFullYear();\r\n let month = !isNaN(newDate?.getMonth()) ? newDate?.getMonth() : new Date().getMonth();\r\n setCurrentDate(moment().set({ 'year': year, 'month': month }))\r\n const myDate = moment().set({ 'year': year, 'month': month })\r\n let obj1 = {\r\n customerID: customerID,\r\n serviceID: serviceID,\r\n view: '',\r\n date: formatDate(myDate),\r\n item: selectedSLA.item\r\n }\r\n \r\n let obj3 = {\r\n customerID: customerID,\r\n serviceID: serviceID,\r\n view: '12+month',\r\n date: formatDate(myDate),\r\n item: selectedSLA.item\r\n }\r\n dispatch(getDTMAnalyticsData(obj1))\r\n dispatch(getDTMAnalyticsMonth(obj3))\r\n },\r\n plugins: {\r\n legend: { display: false, position: 'right' },\r\n tooltip: {\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: { weight: '400' },\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize: 5,\r\n bodyFont: { weight: 'bolder' },\r\n callbacks: {\r\n title: context => {\r\n return context[0].label.includes(':') ? context[0].label : `${context[0].label}`\r\n },\r\n label: function (context) {\r\n return selectedSLA.format === 'Time' ? formatTime(context.raw) : context.raw.toString() \r\n }\r\n }\r\n }\r\n },\r\n onHover: (event, chartElement) => {\r\n const target = event.native ? event.native.target : event.target;\r\n target.style.cursor = chartElement[0] ? 'pointer' : 'default';\r\n }\r\n }\r\n\r\n\r\n const DTMLabelsHandler = (label) => {\r\n switch (label) {\r\n case 'dailyPerformance':\r\n case 'DTM': {\r\n const temp_arr = [];\r\n let n = 1;\r\n while (n <= daysInMonth(currentDate)) {\r\n temp_arr.push(n);\r\n n++;\r\n }\r\n return temp_arr;\r\n }\r\n case 'CalendarPopup':\r\n case 'HalfHour': {\r\n const temp_arr = [];\r\n let a = 0\r\n while (a <= 23) {\r\n temp_arr.push(`${a}:00`);\r\n temp_arr.push(`${a}:30`);\r\n a++;\r\n }\r\n return temp_arr;\r\n }\r\n case 'performanceVolume':\r\n case 'pastMonthTrends': {\r\n var monthName = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n var d = new Date(currentDate);\r\n d.setDate(1);\r\n let temp_arr = [];\r\n for (let i = 12; i >= 0; i--) {\r\n temp_arr[i] = monthName[d.getMonth()] + ' ' + d.getFullYear()\r\n d.setMonth(d.getMonth() - 1);\r\n }\r\n // let temp_arr = Array.apply(0, Array(12)).map(function (_, i) { return `${moment().month(i).format('MMM')} ${moment().month(i).format('YYYY')}` });\r\n return temp_arr\r\n }\r\n default: { }\r\n }\r\n }\r\n\r\n const DTMChartsDataHandler = (label) => {\r\n switch (label) {\r\n case 'DTM': {\r\n let temp_dtm = [];\r\n DTMAnalyticsData?.daytomonth?.map((data, i) => {\r\n temp_dtm[i] = selectedSLA.format === 'Percentage' ? parseFloat(((data?.numerator / data?.denominator) * 100).toFixed(2)) : parseInt(data?.numerator)\r\n })\r\n return temp_dtm;\r\n }\r\n case 'dailyPerformance': {\r\n let temp_daily = [];\r\n DTMAnalyticsData?.dailyperformance?.map((data, i) => {\r\n temp_daily[i] = selectedSLA.format === 'Percentage' ? data?.numerator : data?.numerator - data?.denominator\r\n })\r\n return temp_daily;\r\n }\r\n case 'HalfHour': {\r\n let temp_half = [];\r\n DTMAnalyticsData?.halfhourdata?.map((data, i) => {\r\n temp_half[i] = selectedSLA.format === 'Percentage' ? data?.numerator : data?.numerator - data?.denominator\r\n })\r\n return temp_half;\r\n }\r\n case 'CalendarPopup': {\r\n let temp_half = [];\r\n DTMHalfHourData?.halfhourdata?.map((data, i) => {\r\n temp_half[i] = selectedSLA.format === 'Percentage' ? data?.numerator : data?.numerator - data?.denominator\r\n })\r\n return temp_half;\r\n }\r\n case 'pastMonthTrends': {\r\n let temp_pastMonth = [];\r\n DTMMonthlyInfo?.monthdata?.map((data, i) => {\r\n temp_pastMonth[i] = selectedSLA.format === 'Percentage' ? parseFloat(((data?.numerator / data?.denominator) * 100).toFixed(2)) : data?.numerator - data?.denominator\r\n })\r\n return temp_pastMonth;\r\n }\r\n case 'performanceVolume': {\r\n let temp_perf = [];\r\n DTMMonthlyInfo?.monthdata?.map((data, i) => {\r\n temp_perf[i] = selectedSLA.format === 'Percentage' ? data?.numerator : data?.numerator - data?.denominator\r\n })\r\n return temp_perf;\r\n }\r\n default: { }\r\n }\r\n }\r\n\r\n const DTMStackedChartsDataHandler = (label) => {\r\n\r\n let temp_arr = [...DTMLabelsHandler(label)];\r\n switch (label) {\r\n case 'DTM': {\r\n let temp_dtm = [];\r\n DTMAnalyticsData?.daytomonth?.map((data, i) => {\r\n temp_dtm[i] = parseInt(data?.difference)\r\n })\r\n return temp_dtm;\r\n }\r\n case 'dailyPerformance': {\r\n let temp_daily = [];\r\n DTMAnalyticsData?.dailyperformance?.map((data, i) => {\r\n temp_daily[i] = selectedSLA.format === 'Percentage' ? data?.difference : data?.denominator\r\n })\r\n return temp_daily;\r\n }\r\n case 'HalfHour': {\r\n let temp_half = [];\r\n DTMAnalyticsData?.halfhourdata?.map((data, i) => {\r\n temp_half[i] = selectedSLA.format === 'Percentage' ? data?.difference : data?.denominator\r\n })\r\n return temp_half;\r\n }\r\n case 'CalendarPopup': {\r\n let temp_half = [];\r\n DTMHalfHourData?.halfhourdata?.map((data, i) => {\r\n temp_half[i] = selectedSLA.format === 'Percentage' ? data?.difference : data?.denominator\r\n })\r\n return temp_half;\r\n }\r\n case 'pastMonthTrends': {\r\n let temp_perf = [];\r\n return temp_perf;\r\n }\r\n case 'performanceVolume': {\r\n let temp_perf = [];\r\n DTMMonthlyInfo?.monthdata?.map((data, i) => {\r\n temp_perf[i] = selectedSLA.format === 'Percentage' ? data?.difference : parseInt(data?.denominator)\r\n })\r\n return temp_perf;\r\n }\r\n default: { }\r\n\r\n }\r\n };\r\n\r\n\r\n const DTMLineBarBgAdjustHandle = (color) => {\r\n switch (color) {\r\n case 'red': return BelowMinimalTarget_Status;\r\n case 'green': return AboveRequiredTarget_Status;\r\n case 'yellow': return BelowMinimalTargetIcon;\r\n default: return;\r\n }\r\n }\r\n\r\n const [day, setDay] = useState('');\r\n const [targetValue, setTargetValue] = useState(null)\r\n\r\n const calendarClickHandle = (day) => {\r\n setDay(day);\r\n const dt = new Date(day).getDate();\r\n let obj2 = {\r\n customerID: customerID,\r\n serviceID: serviceID,\r\n view: 'halfhour',\r\n date: day.format('MM/DD/YYYY'),\r\n item: selectedSLA.item\r\n }\r\n dispatch(getDTMAnalyticsHalfHour(obj2))\r\n setTargetValue(DTMAnalyticsData?.dailyperformance?.[dt - 1]);\r\n setShowCalendarvalueModel(true);\r\n }\r\n const CalendarDailyValues = (day) => {\r\n const dt = new Date(day).getDate();\r\n return DTMAnalyticsData?.dailyperformance?.[dt - 1]\r\n }\r\n\r\n\r\n const weekDays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\r\n const [calendar, setCalendar] = useState([])\r\n const [weekOfTheYear, setWeekOfTheYear] = useState([]);\r\n const startingDate = currentDate.clone().startOf('month').format('MM/DD/YYYY');\r\n const endingDate = currentDate.clone().endOf('month').format('MM/DD/YYYY');\r\n function beforeToday(day) {\r\n if (day.isBefore(new Date(startingDate), \"day\")) return \"Yes its working\"\r\n }\r\n function afterToday(day) {\r\n if (day.isAfter(new Date(endingDate), \"day\")) return \"Yes its working\"\r\n }\r\n\r\n useEffect(() => {\r\n const startDay = currentDate.clone().startOf(\"month\").startOf(\"week\");\r\n const endDay = currentDate.clone().endOf(\"month\").endOf(\"week\");\r\n const day = startDay.clone().subtract(1, \"day\");\r\n const temp_calendar = [];\r\n while (day.isBefore(endDay, \"day\")) {\r\n temp_calendar.push(Array(7).fill(0).map(() => day.add(1, \"day\").clone()))\r\n }\r\n const temp_arr_one = temp_calendar[0].map(day => {\r\n if (Number(day.format('DD')) > 20) return '';\r\n else return day\r\n })\r\n const temp_arr_two = temp_calendar[temp_calendar.length - 1].map(day => {\r\n if (Number(day.format('DD')) < 10) return '';\r\n else return day\r\n })\r\n temp_calendar[0] = temp_arr_one;\r\n temp_calendar[temp_calendar.length - 1] = temp_arr_two;\r\n setCalendar(temp_calendar);\r\n let temp_week = temp_calendar.map((week) => {\r\n if (temp_calendar?.indexOf(week) === 0) return week?.[week?.length - 1].format('WW');\r\n else return week?.[1] ? week?.[1]?.format('WW') : week?.[0]?.format('WW');\r\n });\r\n setWeekOfTheYear(temp_week);\r\n }, [currentDate]);\r\n\r\n const exportAsPicture = (id, image) => {\r\n htmlToImage.toPng(document.getElementById(id), {\r\n quality: 0.90,\r\n })\r\n .then(function (dataUrl) {\r\n let link = document.createElement('a');\r\n link.download = image;\r\n link.href = dataUrl;\r\n link.click()\r\n })\r\n .catch(function (error) {\r\n console.error('oops, something went wrong!', error);\r\n });\r\n }\r\n const ReportRedirect = () => {\r\n if (DTMAnalytics?.servicedesk?.id) {\r\n window.localStorage.setItem('ServiceDeskID', DTMAnalytics?.servicedesk?.id);\r\n }\r\n if (DTMAnalytics?.customer?.id) {\r\n window.localStorage.setItem('CustomerID', DTMAnalytics?.customer?.id);\r\n }\r\n dispatch(updateRegionalSiteCustomerID(DTMAnalytics?.customer?.id));\r\n dispatch(updateRegionalSiteCustomerName(DTMAnalytics?.customer?.name));\r\n dispatch(updateSelectedAccountName(DTMAnalytics?.customer?.name));\r\n dispatch(saveAccountLocationName(DTMAnalytics?.servicedesk?.name));\r\n dispatch(saveSelectedMenuItem(\"reports\"));\r\n dispatch(updateDTMReportDate(new Date(formatDate(currentDate))));\r\n history.push(\"/reports\");\r\n }\r\n\r\n return (\r\n <>\r\n {/* */}\r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Reports' value2={()=>history.push('/regional')}\r\n isActive3={true} label3={customerName} value3={ReportRedirect} isActive4={true}\r\n label4='DTM' value4={ReportRedirect} isActive5={true} label5={currentDate.format('MMMM') + ' - ' + currentDate.format('YYYY')} value5={ReportRedirect}\r\n label6={\"Analytics - \" + selectedSLA.slaItem} isActive6={false}\r\n />\r\n
\r\n
\r\n
{customerName} - {selectedSLA.slaItem} - {`${currentDate.format('MMMM')} ${currentDate.format('YYYY')}`}
\r\n
{ exportAsPicture('whatever', selectedSLA.slaItem) }} style={{ cursor: 'pointer' }}>\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{selectedSLA.slaItem}
\r\n
{selectedSLA.format === 'Time' ? formatTime(DTMAnalyticsData?.currentmonth?.[0]?.fvalue) : DTMAnalyticsData?.currentmonth?.[0]?.value}
\r\n
\r\n {DTMAnalyticsData?.slasetting?.[0]?.expectedtarget &&
\r\n
Expected Target
\r\n
{selectedSLA.format === 'Time' ? formatTime(DTMAnalyticsData?.slasetting?.[0]?.expectedtarget) : DTMAnalyticsData?.slasetting?.[0]?.expectedtarget + ` ${selectedSLA.format === 'Percentage' ? '(%)' : ''}`}
\r\n
}\r\n {DTMAnalyticsData?.slasetting?.[0]?.minimumtarget &&
\r\n
Minimum Target
\r\n
{selectedSLA.format === 'Time' ? formatTime(DTMAnalyticsData?.slasetting?.[0]?.minimumtarget) : DTMAnalyticsData?.slasetting?.[0]?.minimumtarget + ` ${selectedSLA.format === 'Percentage' ? '(%)' : ''}`}
\r\n
}\r\n
setShowPastMonthTrends(true)}> Past 12 Months Trend
\r\n
setShowPerformanceVolume(true)}>Performance Vs Volume
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
Daily Values
\r\n
\r\n <>{DTMAnalyticsData?.slasetting?.[0]?.numerator} {DTMAnalyticsData?.slasetting?.[0]?.difference} \r\n
\r\n
\r\n \r\n \r\n \r\n {weekDays.map((week, i) => ())}\r\n \r\n \r\n \r\n {calendar.map((week, i) => (\r\n \r\n {week.map((day, idx) => ())\r\n }))}\r\n \r\n
{currentDate.format('YYYY')}{week}
{weekOfTheYear[i]}
Week
\r\n
{day && day.format(\"DD MMM\").toString()}
\r\n\r\n
CalendarDailyValues(day) && calendarClickHandle(day)}\r\n onMouseOver={() => {\r\n setDropdownIndex(i);\r\n setWeekIndex(idx);\r\n CalendarDailyValues(day) && setShowTooltip(true)\r\n }}\r\n onMouseLeave={() => {\r\n setShowTooltip(false);\r\n setWeekIndex(null);\r\n setDropdownIndex(null);\r\n }}>\r\n {CalendarDailyValues(day) && (selectedSLA.format === 'Time' ? formatTime(CalendarDailyValues(day)?.numerator) : CalendarDailyValues(day)?.value)}\r\n    \r\n {(showTooltip && dropdownIndex === i && weekIndex === idx) && (\r\n
    \r\n
  • {day.format('MM/DD/YYYY')}
  • \r\n
  • {DTMAnalyticsData?.slasetting?.[0]?.numerator} : {CalendarDailyValues(day)?.numerator}
    \r\n
    {DTMAnalyticsData?.slasetting?.[0]?.denominator} : {CalendarDailyValues(day)?.denominator}
    \r\n
    {DTMAnalyticsData?.slasetting?.[0]?.difference} : {CalendarDailyValues(day)?.difference}
  • \r\n
\r\n )}\r\n {(CalendarDailyValues(day)?.color !== null && CalendarDailyValues(day)) && }\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n {\r\n showCalendarvalueModel && \r\n setShowCalendarvalueModel(false)}\r\n heading={`(${formatDatehandle(targetValue?.date)}) - Standard Telephony By Half Hour `} title={true}\r\n yAxesTitle={selectedSLA.slaItem + ` ${selectedSLA.format === 'Percentage' ? '(%)' : ''}` }\r\n target={targetValue?.value} Arrcolor={targetValue?.color}\r\n numerator={DTMAnalyticsData?.slasetting?.[0]?.numerator}\r\n difference={DTMAnalyticsData?.slasetting?.[0]?.difference}\r\n xAxesTitle={`${currentDate.format('MMMM')}, ${currentDate.format('YYYY')}`}\r\n labels={DTMLabelsHandler('CalendarPopup')} data={DTMChartsDataHandler('CalendarPopup')}\r\n stackedData={DTMStackedChartsDataHandler('CalendarPopup')} color='#006975' stackedColor='#FFCD00'\r\n options={options} />\r\n \r\n }\r\n\r\n {\r\n showPerformanceVolume && \r\n setShowPerformanceVolume(false)}\r\n heading='' title={false} target='' \r\n yAxesTitle={selectedSLA.slaItem + ` ${selectedSLA.format === 'Percentage' ? '(%)' : ''}`}\r\n numerator={DTMAnalyticsData?.slasetting?.[0]?.numerator}\r\n difference={DTMAnalyticsData?.slasetting?.[0]?.difference}\r\n xAxesTitle={`${currentDate.format('MMMM')}, ${currentDate.format('YYYY')}`}\r\n labels={DTMLabelsHandler('performanceVolume')} data={DTMChartsDataHandler('performanceVolume')}\r\n stackedData={DTMStackedChartsDataHandler('performanceVolume')} color='#006975' stackedColor='#FFCD00'\r\n options={performanceoptions} />\r\n\r\n \r\n }\r\n {\r\n showPastMonthTrends && \r\n setShowPastMonthTrends(false)}\r\n heading=''\r\n yAxesTitle={selectedSLA.slaItem + ` ${selectedSLA.format === 'Percentage' ? '(%)' : ''}`}\r\n xAxesTitle={`${currentDate.format('MMMM')}, ${currentDate.format('YYYY')}`}\r\n labels={DTMLabelsHandler('pastMonthTrends')} data={DTMChartsDataHandler('pastMonthTrends')}\r\n color='#6CC24A'\r\n options={monthlyoptions} />\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default DTMAnalyticsSLA","import React, { useEffect, useRef } from 'react'\r\nimport './AccountAdmin.css';\r\nimport Admindata from './Admin.json';\r\nimport menuIcon from '../../../assets/images/Dotted_ContextMenu_Icon.png';\r\nimport ActivateDisabledIcon from '../../../assets/images/Activate_Disabled_Icon.png';\r\nimport ActivateIcon from '../../../assets/images/Activate_Icon.png';\r\nimport StaffAdministration_Icon from '../../../assets/images/StaffAdministration_Icon.png';\r\nimport searchIcon from './../../../assets/onboard-images/Search_Icon.png';\r\nimport edit_Icon from '../../../assets/images/Edit_Icon.png';\r\nimport SLADataExclusion_Icon from '../../../assets/images/SLADataExclusion_Icon.png';\r\nimport SLAFailureExemption_Icon from '../../../assets/images/SLAFailureExemption_Icon.png';\r\nimport Eye_ViewDetails_Icon from '../../../assets/onboard-images/Eye_ViewDetails_Icon.png';\r\n\r\nimport { useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { ActivateModelPopup, ActivationRequestModal, RequestSentModal } from './ActivationModel';\r\nimport AdminBreadcrumb from '../General/Admin-breadcrumb';\r\nimport TooltipHandler from '../../Onboard/OnboardComponents/TooltipHandler';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getAdminAccounts, getRoleBasedView, saveStaffAdminActiveTab, updateAccountDetails } from '../../../actions/Administration/admin.action';\r\nimport { saveAccountSite, viewAccountDetails } from '../../../actions/Onboard.action';\r\nimport { getMappedEmployees } from '../../../actions/Administration/staffAdmin.action';\r\nconst AdminLanding = () => {\r\n const history = useHistory()\r\n const dispatch = useDispatch();\r\n let AdminAccounts = useSelector((state) => state.adminAccountReducer.AdminAccounts);\r\n const mappedEmployees = useSelector((state) => state.staffAdminReducer.mappedEmployees);\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n useEffect(() => {\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n const [filter, setFilter] = useState('');\r\n const [showRequestForm, setShowRequestForm] = useState(false);\r\n const [showRequestSent, setShowRequestSent] = useState(false);\r\n const [searchColumns, setSearchColumns] = useState([\r\n 'Account Name', 'Site Name', 'Created By'\r\n ]);\r\n function searchRows(rows) {\r\n return rows.filter((row) =>\r\n searchColumns.some(\r\n (column) =>\r\n row[column]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(filter.toLowerCase()) > -1,\r\n ),\r\n );\r\n };\r\n\r\n function formatDate(date) {\r\n if(date === null){\r\nreturn
not defined
\r\n }\r\n else{\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n }\r\n useEffect(() => {\r\n dispatch(getAdminAccounts());\r\n dispatch(getMappedEmployees());\r\n }, [dispatch]);\r\n\r\nconst [adminData,setAdminData] = useState([]);\r\n\r\nuseEffect(() => {\r\n setAdminData((AdminAccounts.statusCode) ? [] : AdminAccounts)\r\n}, [dispatch,AdminAccounts]);\r\n\r\n\r\n const menuOptions = [\r\n {\r\n id: 1,\r\n imageSrc: SLAFailureExemption_Icon,\r\n name: 'SLA Failure Exemption',\r\n value: \"admin/Exemption\"\r\n }, \r\n // {\r\n // id: 2,\r\n // imageSrc: SLADataExclusion_Icon,\r\n // name: 'SLA Data Exclusion',\r\n // value: \"admin/Exclusion\"\r\n // },\r\n {\r\n id: 3,\r\n imageSrc: edit_Icon,\r\n name: 'Edit',\r\n value: \"admin/account\"\r\n }\r\n ];\r\n\r\n\r\n const [selectedAccount, setSelectedAccount] = useState({});\r\n const [openDownload, setOpenDownload] = useState(false);\r\n const [dropdownIndex, setDropdownIndex] = useState(null);\r\n\r\n const onClickAccountRow = (data, id) => {\r\n let temp_arr = {\r\n AccountName: data?.['Account Name'],\r\n SiteName: data?.['Site Name'],\r\n ValidFrom: formatDate(data?.['Valid From']),\r\n ValidTo: formatDate(data?.['Valid To']),\r\n mode: 'edit',\r\n CustomerID:data?.CustomerID,\r\n ServiceDeskID: data?.ServiceDeskID\r\n }\r\n switch (data?.Status) {\r\n case 'Active': {\r\n setDropdownIndex(id)\r\n setSelectedAccount(data);\r\n dispatch(viewAccountDetails(temp_arr));\r\n dispatch(updateAccountDetails(temp_arr));\r\n dispatch(saveAccountSite(temp_arr));\r\n setOpenDownload(true);\r\n break;\r\n }\r\n case 'Inactive': {\r\n if (data?.Request !== 'Sent') {\r\n setSelectedAccount(data);\r\n setShowRequestForm(true);\r\n setShowRequestSent(false);\r\n }\r\n break;\r\n }\r\n default: { }\r\n }\r\n }\r\n\r\n\r\n const dropDownref = useRef();\r\n useEffect(() => {\r\n const handleClickOutside = (event) => {\r\n if (dropDownref.current && !dropDownref.current.contains(event.target)) {\r\n if (!openDownload)\r\n setOpenDownload(openDownload);\r\n }\r\n }\r\n document.addEventListener(\"click\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickOutside);\r\n };\r\n }, [dropDownref]);\r\n\r\n const AccountViewDetailsHandle = (data,id) => {\r\n let temp_arr = {\r\n AccountName: data?.['Account Name'],\r\n SiteName: data?.['Site Name'],\r\n ValidFrom: formatDate(data?.['Valid From']),\r\n ValidTo: formatDate(data?.['Valid To']),\r\n mode: 'view',\r\n CustomerID:data?.CustomerID,\r\n ServiceDeskID: data?.ServiceDeskID\r\n }\r\n dispatch(viewAccountDetails(temp_arr))\r\n // dispatch(updateAccountDetails(temp_arr));\r\n dispatch(saveAccountSite(temp_arr));\r\n history.push('/admin/account')\r\n }\r\n \r\n \r\n return (\r\n
\r\n history.push('/welcome')} label1='Home' isActive2={false} label2='Administration' />\r\n
Administration
\r\n
\r\n
\r\n
setOpenDownload(false)}>
Accounts
\r\n
\r\n setFilter(e.target.value)} placeholder='Search Accounts' />\r\n \r\n
\r\n
\r\n {searchRows(adminData)?.length === 0 ?\r\n
\r\n \r\n \r\n \r\n {Admindata.headers.map(header => ())}\r\n \r\n \r\n
{header.label}
\r\n
\r\n
\r\n
\r\n No records found.
You need to have account level access. Please refer to this history.push('/getstarted')}>page for more information regarding the access permissions. \r\n
\r\n
\r\n
\r\n
\r\n :\r\n
\r\n \r\n \r\n setOpenDownload(false)}>\r\n {Admindata.headers.map(header => ())}\r\n \r\n \r\n \r\n {searchRows(adminData).map((info, rowId) => (\r\n <> \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {info?.['Access'] === 'Read' ? : \r\n <>} \r\n \r\n ))}\r\n \r\n
setOpenDownload(false)}>
\r\n
{header.label}
setOpenDownload(false)}>
setOpenDownload(false)}>{info?.['Account Name']}setOpenDownload(false)}>{info?.['Site Name']}setOpenDownload(false)}>{info?.['Created By']}setOpenDownload(false)}>{formatDate(info?.['Created Date'])}setOpenDownload(false)}>{formatDate(info?.['Valid From'])}setOpenDownload(false)}>{formatDate(info?.['Valid To'])}setOpenDownload(false)}>
{info?.['Status']}
AccountViewDetailsHandle(info,info?.RowNo)}> onClickAccountRow(info, rowId)}>{\r\n info?.Status === 'Active' ? <>\r\n \r\n
\r\n {(openDownload && dropdownIndex === rowId) && (\r\n
    \r\n {menuOptions.map(data => (\r\n
  • history.push(data.value)} >\r\n {data.name}
  • )\r\n )}\r\n
)}
\r\n : <>\r\n {info?.Request !== 'Sent' ?\r\n \r\n : }\r\n }
\r\n {showRequestForm && \r\n {\r\n setShowRequestForm(false);\r\n setShowRequestSent(true);\r\n }} data={selectedAccount} handleinvalidSubmitClick={() => { setShowRequestForm(true) }}\r\n handleCancelClick={() => setShowRequestForm(false)}\r\n />\r\n }\r\n\r\n {showRequestSent && \r\n {\r\n setShowRequestSent(false);\r\n setShowRequestForm(false);\r\n dispatch(getAdminAccounts())\r\n }}\r\n />\r\n }\r\n
}\r\n
\r\n
\r\n \r\n {RoleBasedView?.[0]?.StaffAdmin?.[0]?.Read === 1 ?
setOpenDownload(false)}>\r\n
\r\n
Staff Administration
\r\n Detailed administration of Employees (CCOW, RCOW).\r\n Data maintenance in relation to Role registration, Account assignments,\r\n Channel/Tool/Identifier utilisation, Scorecard KPI/SLA assignments.\r\n
\r\n
\r\n Mapped Employees
\r\n
{mappedEmployees?.length} {history.push('./admin/staff');dispatch(saveStaffAdminActiveTab('mapped'))}}>VIEW STAFF MAPPING
\r\n
\r\n
: ''}\r\n
\r\n )\r\n}\r\n\r\nexport default AdminLanding","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport './trails.css';\r\n\r\n\r\nfunction ReactTrails() {\r\n return (\r\n <>\r\n \r\n \r\n )\r\n}\r\n\r\nexport default ReactTrails","export default __webpack_public_path__ + \"static/media/GetStarted_HeroBanner_Image.49e32056.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAA6CAYAAACXgfijAAAABHNCSVQICAgIfAhkiAAAAB1JREFUKFNjjFeZ/58BCTCOCoyGByI9jCaHoZo9AO4Ie7V34518AAAAAElFTkSuQmCC\"","import React from 'react'\r\nimport AdminBreadcrumb from '../Administration/General/Admin-breadcrumb'\r\nimport { Footer} from './HeaderFooter'\r\nimport GetStarted_HeroBanner from './../../assets/images/GetStarted_HeroBanner_Image.png';\r\nimport VerticalLine from './../../assets/images/VerticalLine_Headings.png';\r\nimport {Link } from 'react-router-dom';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\n\r\nconst GetStarted = () => {\r\n const history = useHistory();\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n history.push('/githublanding')} label1='Home' isActive2={false} label2='Get Started' />\r\n
\r\n
\r\n
The below simple “how to steps” will help you to get started quickly
and easily utilising numerous features of GSD Insight.
\r\n
\r\n \r\n
\r\n
\r\n
First Time User
As a first time visitor, we would like to redirect you to the following page and by following the simple instructions your access may be obtained.
\r\n
Executive User
If you are an Executive or have responsibility over multiple accounts and / or multiple sites / locations and /or have a regional / global function, please send us an email to \r\n \r\n   GSD Insight Support  \r\n detailing your access requirements.
\r\n
\r\n
\r\n
\r\n
Existing User - Role Change
Please be informed your standard access level is determined by your particular role. Should you be changing roles please apply the  \r\n RBAC \r\n model accordingly, which further defines your access rights to reports /data / metrics.
\r\n
Existing User - Onboarding / Administration
To be able to onboard and / or administer an account, it is necessary to have Site Leader and / or Service Delivery Manager role for the particular account. \r\n

To onboard a new account please follow the Onboard section in GSD Insight. \r\n

To administer an account please contact your Site Leader and / or Service Delivery Manager [responsible for the particular account/s] located in the Administration section in GSD Insight.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default GetStarted","export default __webpack_public_path__ + \"static/media/Architecture_HeroBanner.c4fa2f81.png\";","export default __webpack_public_path__ + \"static/media/Conceptual_Architecture_Flow_Thumnail_Image.dec9442f.png\";","export default __webpack_public_path__ + \"static/media/Functional_Architecture_Flow_Thumnail_Image.1867d09e.png\";","export default __webpack_public_path__ + \"static/media/Technical_Architecture_Flow_Thumnail_Image.fdadad2f.png\";","export default __webpack_public_path__ + \"static/media/AdminRole_InformationArchitecture_Thumbnail.c4902d82.png\";","export default __webpack_public_path__ + \"static/media/SiteLeaderRole_InformationArchitecture_Thumbnail.e80d92f3.png\";","export default __webpack_public_path__ + \"static/media/ServicetDeliveryManagerRole_InformationArchitecture_Thumbnaile.1948d4ff.png\";","export default __webpack_public_path__ + \"static/media/ServiceDeliverySpecialistRole_InformationArchitecture_Thumbnail.be7a6e1f.png\";","export default __webpack_public_path__ + \"static/media/Functional_Architecture.fa931ba8.png\";","export default __webpack_public_path__ + \"static/media/Technical_Architecture.751e8def.png\";","export default __webpack_public_path__ + \"static/media/Conceptual_Architecture.daa14a10.png\";","export default __webpack_public_path__ + \"static/media/Account_Delivery_Role.6dd6525b.svg\";","export default __webpack_public_path__ + \"static/media/Administrator_Role.1911f683.svg\";","export default __webpack_public_path__ + \"static/media/Agent_Role.72496acd.svg\";","export default __webpack_public_path__ + \"static/media/Coach_Trainer_Role.b28211f9.svg\";","export default __webpack_public_path__ + \"static/media/Executive_Role.154b4225.svg\";","export default __webpack_public_path__ + \"static/media/Operations_Delivery_Manager_Role.2c11f242.svg\";","export default __webpack_public_path__ + \"static/media/Operations_Manager_Role.9a1b3c85.svg\";","export default __webpack_public_path__ + \"static/media/Service_Delivery_Manager_Role.11b31532.svg\";","export default __webpack_public_path__ + \"static/media/Serviced_Delivery_Specialist_Role.980c0096.svg\";","export default __webpack_public_path__ + \"static/media/Site_Leader_Role.e5102bba.svg\";","export default __webpack_public_path__ + \"static/media/Site_Viewer_Role.2ff324dd.svg\";","export default __webpack_public_path__ + \"static/media/Subject_Matter_Expert_Role.9f04bdc5.svg\";","export default __webpack_public_path__ + \"static/media/Team_Leader_Role.5fec9668.svg\";","import React from 'react'\r\nimport AdminBreadcrumb from '../../Administration/General/Admin-breadcrumb'\r\nimport { Footer } from '../HeaderFooter'\r\nimport Architecture_HeroBanner from './../../../assets/images/Architecture_HeroBanner.png';\r\nimport Conceptual from './../../../assets/images/Conceptual_Architecture_Icon.png';\r\nimport Conceptual_Architecture from './../../../assets/images/Conceptual_Architecture_Flow_Thumnail_Image.png';\r\nimport Functional from './../../../assets/images/Functional_Architecture_Icon.png';\r\nimport Functional_Architecture from './../../../assets/images/Functional_Architecture_Flow_Thumnail_Image.png';\r\nimport Technical from './../../../assets/images/Technical_Architecture_Icon.png';\r\nimport Technical_Architecture from './../../../assets/images/Technical_Architecture_Flow_Thumnail_Image.png';\r\nimport Information from './../../../assets/images/Information_Architecture_Icon.png';\r\nimport AdminRole_InformationArchitecture from './../../../assets/images/AdminRole_InformationArchitecture_Thumbnail.png';\r\nimport ExecutiveRole_InformationArchitecture from './../../../assets/images/ExecutiveRole_InformationArchitecture_Thumbnail.png';\r\nimport AccountDeliveryRole_InformationArchitecture from './../../../assets/images/AccountDeliveryRole_InformationArchitecture_Thumbnail.png';\r\nimport SiteLeaderRole_InformationArchitecture from './../../../assets/images/SiteLeaderRole_InformationArchitecture_Thumbnail.png';\r\nimport ServicetDeliveryManagerRole_InformationArchitecture from './../../../assets/images/ServicetDeliveryManagerRole_InformationArchitecture_Thumbnaile.png';\r\nimport OperationsDeliveryManagerRole from './../../../assets/images/OperationsDeliveryManagerRole_InformationArchitecture_Thumbnail.png';\r\nimport OperationsManagerRole from './../../../assets/images/OperationsManagerRole_InformationArchitecture_Thumbnail.png';\r\nimport TeamLeaderRole from './../../../assets/images/TeamLeaderRole_InformationArchitecture_Thumbnail.png';\r\nimport ServiceDeliverySpecialistRole from './../../../assets/images/ServiceDeliverySpecialistRole_InformationArchitecture_Thumbnail.png';\r\nimport SubjectMatterExpertRole from './../../../assets/images/SubjectMatterExpertRole_InformationArchitecture_Thumbnail.png';\r\nimport CoachTrainerRole from './../../../assets/images/CoachTrainerRole_InformationArchitecture_Thumbnail.png';\r\nimport AgentRole from './../../../assets/images/AgentRole_InformationArchitecture_Thumbnail.png';\r\nimport SiteViewerRole from './../../../assets/images/SiteViewerRole_InformationArchitecture_Thumbnail.png';\r\nimport { Carousel, CarouselItem } from 'react-bootstrap';\r\nimport FunctionalArchitecture from './../../../assets/images/Functional_Architecture.png';\r\nimport TechnicalArchitecture from './../../../assets/images/Technical_Architecture.png';\r\nimport ConceptualArchitecture from './../../../assets/images/Conceptual_Architecture.png';\r\nimport Account_Delivery_Role from './../../../assets/github-images/Account_Delivery_Role.svg';\r\nimport Administrator_Role from './../../../assets/github-images/Administrator_Role.svg';\r\nimport Agent_Role from './../../../assets/github-images/Agent_Role.svg';\r\nimport Coach_Trainer_Role from './../../../assets/github-images/Coach_Trainer_Role.svg';\r\nimport Executive_Role from './../../../assets/github-images/Executive_Role.svg';\r\nimport Operations_Delivery_Manager_Role from './../../../assets/github-images/Operations_Delivery_Manager_Role.svg';\r\nimport Operations_Manager_Role from './../../../assets/github-images/Operations_Manager_Role.svg';\r\nimport Service_Delivery_Manager_Role from './../../../assets/github-images/Service_Delivery_Manager_Role.svg';\r\nimport Serviced_Delivery_Specialist_Role from './../../../assets/github-images/Serviced_Delivery_Specialist_Role.svg';\r\nimport Site_Leader_Role from './../../../assets/github-images/Site_Leader_Role.svg';\r\nimport Site_Viewer_Role from './../../../assets/github-images/Site_Viewer_Role.svg';\r\nimport Subject_Matter_Expert_Role from './../../../assets/github-images/Subject_Matter_Expert_Role.svg';\r\nimport Team_Leader_Role from './../../../assets/github-images/Team_Leader_Role.svg';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useDispatch } from 'react-redux';\r\nimport { setGithubSolutionCarouselData } from '../../../actions/welcomePage.action';\r\nimport { Zoom } from '@material-ui/core';\r\n\r\n\r\n\r\n\r\nconst Architecture = () => {\r\n const Architecture_Cards = [\r\n {\r\n id: 1,\r\n imgsrc1: Conceptual,\r\n title: 'Conceptual Architecture',\r\n imgsrc2: Conceptual_Architecture,\r\n display: ConceptualArchitecture,\r\n imgWidth:1500,\r\n imgHeight:'',\r\n },\r\n {\r\n id: 2,\r\n imgsrc1: Functional,\r\n title: 'Functional Architecture',\r\n imgsrc2: Functional_Architecture,\r\n display: FunctionalArchitecture,\r\n width:1160,\r\n height:600,\r\n imgWidth:2000,\r\n imgHeight:710,\r\n },\r\n {\r\n id: 3,\r\n imgsrc1: Technical,\r\n title: 'Technical Architecture',\r\n imgsrc2: Technical_Architecture,\r\n display: TechnicalArchitecture,\r\n width:1160,\r\n height:600,\r\n }\r\n ]\r\n const Carousal_Cards = [\r\n [\r\n {\r\n id: 1,\r\n title: 'Administrator',\r\n thumbnail: AdminRole_InformationArchitecture,\r\n display: Administrator_Role,\r\n width:1160,\r\n height:600,\r\n imgWidth:4000,\r\n imgHeight:2000,\r\n },\r\n {\r\n id: 2,\r\n title: 'Executive',\r\n thumbnail: ExecutiveRole_InformationArchitecture,\r\n display: Executive_Role,\r\n width:1160,\r\n height:600,\r\n imgWidth:1500,\r\n imgHeight:1500,\r\n },\r\n {\r\n id: 3,\r\n title: 'Account Delivery',\r\n thumbnail: AccountDeliveryRole_InformationArchitecture,\r\n display: Account_Delivery_Role,\r\n width:1160,\r\n height:600,\r\n imgWidth:1500,\r\n imgHeight:1500,\r\n }\r\n ],\r\n [{\r\n id: 4,\r\n title: 'Site Leader',\r\n thumbnail: SiteLeaderRole_InformationArchitecture,\r\n display: Site_Leader_Role,\r\n width:1160,\r\n height:600,\r\n imgWidth:3000,\r\n imgHeight:2000,\r\n },\r\n {\r\n id: 5,\r\n title: 'Service Delivery Manager',\r\n thumbnail: ServicetDeliveryManagerRole_InformationArchitecture,\r\n display: Service_Delivery_Manager_Role,\r\n width:1160,\r\n height:600,\r\n imgWidth:2500,\r\n imgHeight:1500,\r\n },\r\n {\r\n id: 6,\r\n title: 'Operations Delivery Manager',\r\n thumbnail: OperationsDeliveryManagerRole,\r\n display: Operations_Delivery_Manager_Role,\r\n width:1160,\r\n height:600,\r\n imgWidth:1500,\r\n imgHeight:1500,\r\n }],\r\n [{\r\n id: 7,\r\n title: 'Operations Manager',\r\n thumbnail: OperationsManagerRole,\r\n display: Operations_Manager_Role,\r\n width:1160,\r\n height:600,\r\n imgWidth:1500,\r\n imgHeight:1500,\r\n },\r\n {\r\n id: 8,\r\n title: 'Team Leader',\r\n thumbnail: TeamLeaderRole,\r\n display: Team_Leader_Role,\r\n width:1160,\r\n height:600,\r\n imgWidth:1500,\r\n imgHeight:1500,\r\n },\r\n {\r\n id: 9,\r\n title: 'Serviced Delivery Specialist',\r\n thumbnail: ServiceDeliverySpecialistRole,\r\n display: Serviced_Delivery_Specialist_Role,\r\n width:1160,\r\n height:600,\r\n imgWidth:3500,\r\n imgHeight:2000,\r\n }],\r\n\r\n [{\r\n id: 10,\r\n title: 'Subject Matter Expert',\r\n thumbnail: SubjectMatterExpertRole,\r\n display: Subject_Matter_Expert_Role,\r\n width:1160,\r\n height:600,\r\n imgWidth:1500,\r\n imgHeight:1500,\r\n },\r\n {\r\n id: 11,\r\n title: 'Coach & Trainer',\r\n thumbnail: CoachTrainerRole,\r\n display: Coach_Trainer_Role,\r\n width:1160,\r\n height:600,\r\n imgWidth:1500,\r\n imgHeight:1500,\r\n },\r\n\r\n {\r\n id: 12,\r\n title: 'Agent',\r\n thumbnail: AgentRole,\r\n display: Agent_Role,\r\n width:1160,\r\n height:600,\r\n imgWidth:1500,\r\n imgHeight:1500,\r\n }],\r\n\r\n [{\r\n id: 13,\r\n title: 'Site Viewer',\r\n thumbnail: SiteViewerRole,\r\n display: Site_Viewer_Role,\r\n width:1160,\r\n height:300,\r\n imgWidth:1400,\r\n imgHeight:600,\r\n }]\r\n ]\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const onClickCarouselCard = card => {\r\n history.push('/architecture/card')\r\n let temp_obj = {\r\n title: card.title,\r\n display: card.display,\r\n width:card.width,\r\n height:card.height,\r\n imgWidth:card.imgWidth,\r\n imgHeight:card.imgHeight,\r\n }\r\n dispatch(setGithubSolutionCarouselData(temp_obj));\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n history.push('/githublanding')} label1='Home' isActive2={false} label2='Solution - Architecture' />\r\n
\r\n
Architecture
A comprehensive architectural design and development has been executed to envision and build the GSD Insight solution to address our Capability’s reporting needs.
\r\n
\r\n
\r\n
\r\n
\r\n {Architecture_Cards.map((link, index) => (
onClickCarouselCard(link)}>\r\n
{link.title}

\r\n
))}
\r\n
\r\n
\r\n
\r\n
\r\n
Information Architecture
Based on the requirements the following user profiles were architected.
\r\n
\r\n
\r\n
\r\n \r\n {Carousal_Cards.map((carousel, index) => (\r\n \r\n
\r\n {carousel.map(card => (\r\n
onClickCarouselCard(card)}> {card.title}
))}\r\n
\r\n
))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Architecture","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAACYCAYAAAAGCxCSAAAABHNCSVQICAgIfAhkiAAAGg1JREFUeF7tnQe0FEXWxwsQVIKBoILwBAyggAEzICbUFUyox7AmQEEUUXePsHwKCLIqwYAgIMnEIkGComQwKyImUAlKUIIYUBHwoYDwza/euUO/mZ7pMNPTM/PqnjNnQldXd9/6z61bN1Wpe++9d48yZDiQXg70LgWwfnv9hPR2a3or0Ryo1Pj7ngZYJRoCwTy8I7Dqn36YWrvsV1VwbGVV/oByau3SX1XVmhVV4ZYd+o70b5HjtNu0fpv+TY7Jcb4XHFc5enzThvh2wTye6TUsDjgCq+rhFYvAsrUISBoslcrp77wLsGgnbeS4tAVI1uOx4Avr4c11g+OAI7CCu7TpOZ85YICVz6Mb4rMZYIXI/Hy+dBRYv889Lp+f0zxbhjlQocHPPUt163K/MZBmmPH5frmdu3b2KLUnQvn+oOb5Ms6Bcw2wMs7zEnFBA6wSMcyZf0gDrMzzvERcMbuAJe4esfiXiCHIz4fMLmB9OnetdhPhezSU0xzIHmDhrP7i3Q3qyBOrqeULf9D+RRzcF7YxNrYchFj2AAtpReTEhm82qyo1Kqjdu/eowt93qMYXFOQgX0v8LWcPsCTcBmkFMSVCErJT4ocqtxgQHrC+/fZb9fnnn6tzzjlHv2/evDn6mWMnnniiOuigg/QxiHZ8N5QTHAgHWIAIAkC1a9fWoAI0vC9evFgdcMAB6qSTTtJtpC3tDOUMB8IBVjL2TJ06VY0ZM0ZNmTIlZ7hobjSOA9kHrAceeEBNmDBBrVy50oxX7nIg+4CFxBo1apSaPn167rLV3Hm4wNqz68+4IXjl1WnqxTFj1ZRJE+KOldpnPzNkucGBcIG17Y3/UztWz3XHqtJlVeV2C9y1Na3C5kD2Aats9ZPV39s2qjIVq6udGz/ZyyADrLDB4uX64QLrr2WT4m522ryP1LwPFqtBPdvHHdv32Ku9PJxpGx4HwgWW3XMbc0N4aEjjlbMPWKwIhw0bpj75xDINpvGJTVcZ4UD2ActIrIwMfNAXCRdYU5/6LO4BFy55U61at1T9s1WnuGOt7yly8xjKeg6EC6yh97ytPpqxJsoliWSQAiQSUUqD0vvsVr1mt0jI0W3btqlFn3yqvvhymWuu//vezqpGdRNU6Jph7htmD7CkcIhdtRqA9mfhn2p+Ye+Ej/bXX3+pww6rrk45vUm0Tb1jjlYFtWqqzz5fopo0OSPyvlitW7c+evyhXj0MsNyDxUvL7AGWBPRJqSTAJKWRCABc8tZ6NWrpzUkfbsasOWrr1q2uGXBWs6YGWK655alhuMD6ZM53cXf75vuz1Yz5U9WAns/EHTv5wiM8PZ1pHBoHMg+sdevWJX3a/v37q7feekvNmDEjI1ypVatWRq5Twi6SeWA1a9ZMrVmzRpUpU8aW19u3b1c7d+7UwX6JiOnu77//TjmitGrVqurjjz9WpUuXLmHjHvjjZh5Yhx56qPrggw/UkUce6fvpOnfurH766Scdt5UKAW5AbICVChdtzw0OWN+sXBWJV18Sd9W+fR9W7dt3VFWqVCl27JBDqqmzmzeLa39X53vjflu77ju1a+cuVbduPDifHjwwrv3HETPExh9+jPu9+wP3qz7/fViVKlWq2DFWkicc3yjt3C5BHQYLrH4DnojysmoESLUiA1ZYWKhWfP2N/mxd+t90w/W2wPrnTW1U+fIVov1gQiiMTJcM/qZNv+i+hLZH+h475jlbYD0zYnT0d65dfv/99ffy5curTb/8UuxeOnfqaICV2r8gWGA9M3xU3O39+WdRcN9++xUP2rvs0lYJgRWrj5UpU1ptL9yuyu27b7H+d/+9OyGwnnthTLG2+0eAtfm333QfsRKrw23tDLCyFViJ7otV2IIFC1TNmjV93/pTTz2lFwADB8ZPe146NTqWF255ahucxEp0GxUqVFCfffaZOuaYYzzdqbVxu3bt1IYNG9Ts2bN998GJSCpWl0Z5T4mNdicHAyxWfb9E9JYff4xXmH/44YeI6yXeP9ekSRN13HHxdRrWrl2jB98NAZTateMV+okTJ6q2bdtGuzjwwAP1Z3IWrdPgEUccob777js1fvx4demll7q5pGljz4FggIUp4eCDD1a33nqrvmylSpUUNiMh/HrYqbZs2aK+//57/fPZZ5+dEFiTJ7vLMWzd+oqEwIrsGaSuvfZafS2uWa9evei1ub8VK1bo3zDMPvbYYwZYqf1lEgNr2bJl6u6773bd/bnnnqvuv/9+3b5s2bJq9erVthLrueeeU1dccYUGnpVYnSWSWEOHDovoVPHuH+v55cqVVX369E4ILJ4nlt544w3Ffccq740bNzbAcj3ytg2TA+v000/XDK5YsWLUoLlq1SqFkZNpDsnE97lz5+p/+88//6wTTbGMI5X22WefuKtWq1ZNLV26VPHuhpgKAdauXbu1JLGjIUOGqA8/XJAQWImuY5R3NyPgq01yYN12222ue23VqpW6/fbbNZiY9pBYTHWxdNVVV+mE1FiJhdRIJrH++GO7nlqp94DE69Wrly4cQk0HLPDr169LCCxCne0Iv2SXLl3iJNZpp52mTj75ZNfPbhrGcSAYHat69ep60C+77DINsnLlyqkdO3ZoXQtpxncIPQvJhukgmY6VqsTCLMEL2xUEcIQ++ugjdfPNN6sXX3xR/8TiYt68eQZYqf1bggEWceu/RYyPgAYwQftGDJF8F+I7AANovJyAtWhR8uSKGjWqJ5RYgKpr16760lIKSVaGrAJPOOEEXeVGCDubkVgpISsYYHFLOHft6PDDD9c1r+x0LJT+WELHQsl2Q9TQsjM3/PHHH25OL9YGe5sh3xwIDliJbgkJ9uWXXypsRm4IYMXSihVf65/q1Ys3shYU1HHTrWkTLAeCA9bGjRttJc38+fO1jiNTpDwfhdbslHe750+XSydY3pbo3oMF1iuvvKK5Kwo8n1HYRZl3YyDdvXt33Ah16tQpEo2wTk2bNi3umHHPZAWggwXWN9/sDWlxelzAl8jcIBERTn0AWDsdy+k8czztHAgOWOm6VXQsgLVs2fLIa1kkKuJw3fXChYsi0q+SatHifP2dRYEBVrq4nnI/uQGsTz/91NWTFhlM/Yc8u7qIaeSGA7kBLAyksyI5g0Q5JErCaNSooWeXjhsOmTa+OJA7wMJX2L17dx3qwkvKePP5/fff9+Ur9MUyc5IbDuQWsHBCY1xltYmvUMivE9oNh0wbXxzILWCJxBK3jEgvI7F8DX6QJ+UOsLZs2aYZISE5mCfE94jfcevWLUbHChIq3vrODWCNHh2f0mX3nG3b3mJWhd4AEFTr3ABW7NMvX75C/1S/fr04xhhfYVBY8dRv9gPL7nGMr9DTIIfROPuBtWPH3hgu4RCx+GRRT50an2RRrlzxJNYwuGquqbIfWOLSsRusLVu2areOkHHpZA2kcwtYJKkCJlaAlSodoH2Hxx57bORVX3M0FliUREqFJJQ5lT5K6Lm5AawZM2a6Gp9//OOiYqtCMolmzZrl6tzYRhdffLE65JBDiv2MecMuQcTtBahXIXFoFOMluykXieeAP0koN4A1ePAQNXNmEUAIeSYxA58hLwlnrlChvI772rFjp34nZKd+/frq1VdfjcsIIiZMEmbtgEJMF6lvX3zxhU4KkeQPfJXE5vvZpJOw6TvuuKMYsEaMGKGzwrkXALdw4cJowTnui4ym9evX63ICQnwnvAhJHQbBezKl8gZYw4eP0HyUwD/Sxfbs2ROtu9CoUQPVtGmziKN6twbThRdeqPMecf3YBQtKaDTJFLFEPP59992n0+0bNmwYPbxr1y59TRJzjzrqqGKnkZnEi8hZXlaiH8CABCUECKAyMI0aNVKtW7d2hY/ff/9dSQKIqxMCagSw8wZY/fs/psighhjY2Mxlfm/ZsqUaMKBfJG3+R9WxY0dF1T8Gms8AInZg+C61GmTAcBXxGzmRuInspkK2FR49em+tLbfjhwS85pprVI8ePRQ5mDfeeKOept0Cy+11gm6XV8AibGbmzNmqcuXKGiQkxcoG5TI91qlTW7t0ANYll1yipUKNGjW0hCBLW3QbphWmEaYa62f64TsBg0xJ7777ri2wZPNzPwNIGYFbbrlF3XTTTeqCCy5Qjz/+eJzks+uX/EyIKj3kQZ555pnRNDbhA38O/ixIRz7zJykoKFBLliyJJq5wnN9SobwCVtu2t+o8xWSEXjRp0kQNLLKbkThMPQ66QMIukSaxEiuVAZFzr7zyymLAevLJJzUIqBfGC8Cjc3344Yf6FP5I1JeAABU65jvvvBOVwMmmSAC2du3a6BRqgGUZQandgMSSmHgiSpFIDDwvEitiJRaKtvyLpRYX7ySi4shGgqEL8RvVZ1ilUQac88hDtJNY6QAWUx+Z1yKx+vbtq7u1Tsd8RtJA1GplA3Zozpw5OnUOzwNtmLYFPEgiAZH0RR/HH3989HeAJdfyq6/llcRq0+ZWXWbISijk1owcVleTJxdJLPSrQYMG6ePUefCTuUNmdBASC2AxHbZo0UK98MILWt9yIikETM0xAZudJAI4IpWsIJLP1usYYEWSKdq0aReparNa84XlLjoWwLJWs8EC/9prr2pgXX/99erUU09VRx99tNZjrDmMMDSWqQySlZBaX3/9deDA4t769esXlSIyrVmBAKiGDx+u20yfPl3bvqREplVaMZ2ib1mlFtIKqSXH6Pess85ywnHS43kmsdpFNsYsnlAhJgSRRgUFtaLAosAaCnqDBg0U0aXWOHmZQmAyAyErQ+tgEt+VKWChYyFtWTTwgpiqpZ4XU3TdunX175SIwm7HdBgW5RWw/vOfbpF6o3OivLQzOZxyyilqxIhntMS65557tHkCxbd58+a25gnpTHST2GmCHSuCngqRWGJ8TQaUu+66Sx9mVTh58mR10UUX6SkPiST6GJJI9DJ+5zjf+f3111/XbeWPlIoSn1fAEnMDdin8f/yj8eMxFfLOv7pOneLmBqZMlve4YaRCMxJBSinJ9Ih1nv4wNSxfvlwPIIAMUnkXHQsLvrFjhSR7WRWiY23eXLSiSUZTprwcZ27AcOqHZs6cGYjEYjHRpk0brbx7BRYSS2qpImmx14k04hmxYaWqQznxKi8lFm4U0Y3QNbDpoCNhr4qVWJQhoqb8V199FdVRYBpTppgb+C6FbaXILr+xe0ZQEgtgUcH5/PPP1wsLWeklG9CHH344OhUCrLfffttp/AM7nlfA6t69pyMzsXENGzZES6wOHTooasHzr0Y/SZTkmoj7TLGLFi0KTGJZgYXyTo4khIUd0L/55pvRW9u0aZOSWl1sTMX0TnlxWenJu6wARb9CeonbSjpL1epOP3kFLHSsceP27vSF/gRZFd/mzc+KunSYatBdYCQOY1Z5Vrruuuu0ZV4odg9F6qNmSmI9++yzSaULflEUdgiwY5/D5RQW5R2wxoz5X5SXsqGAVRKdd955GliFhX+pbt26RcNmqAYYW72ZqAKr7SrWgEjYTSaA5VfHGjx4cFzJS5iDlEI1kNUhK0YkWDopr4DVq9dDkUiA5NubNG58knr66UFxgX5+bT6ALwhzw+WXX66naXQsv8AyOlYa/ipWX6EMNAqvBOphmcYEUadOkbnBWm0mG0OTUwUWflL8m2KLQvIy5SeyvKd71ZhXEsuLuSHbyxgBLOrVM3X7kVgACku8uKasPsE0/I8du8grYImBlH8mYSUYRXkX5ywhNXYSy5FLITRIFViYG0h/ox49u4awywcGYuq6spqklmsyy7t1Fenn8fMKWP/6178j5oZ3k/KhYcMG6vnnn836FPt0AIvaqxISZH23Y5BTSDPAhNwWFs4rYDEVLl68d39p2WPQGqLMBgJEN+TSVIiBVIL4kv1rkEKQWN4BVmwkBNKclaysAjlOiDVb/EkNV6nSY70Wq2ac9Vjs6YPz6YfVpfRJe77zOxtYoePmRTIFwJJ6DTykxGJZY7KqVKmcE8DCCMoeRehYAAsDKckbeAmsBDCwr2GrI7sHImyGjbCY8uziqWKlEwDANJGMqDdG6DbA4nxWw5D0BRitrqK8klgdOnSMhIp8lZRBDMy4cf/LeokFsNq3b68llQAL9xRAkZUu73zHVIJxlzQwiJBk9CmAZV0Vxk6LRDGI1d3J2k5GE8QU7YbyClgo71OmvKL/2YQN844/T74nMje4YVSm21iBhbRyMxWy10/sVGiVWE56VDqfMa+AVWRu2OzInylTJuWUxPJjbmBVKJZ3ibdiqrLqVjDKb+ixE5PzClhibmADTqQTUwfOWlK9MT0gverUiTeQOjEpjONWieUXWLIqlPs3EsvHSGJ5f/TRvpENwCcmPfucc86OKMKPlwiJZV0Vin4l4LJKLx/sdjwl7yTWyJGjdRa0NSxZPmN2aNny4pyoQYpRk7AedCuvEss66gIkcenISk6mwVhzRLqmxrwD1tSpRasXiHBjCfSTkJjTTjs1Z4DFFscUCfEKLOxYzz//vC4nwF7cN9xwg+5DQq4Jq8G5jZ1PMqHFJgXf0hFhmlfASnUjTEf5nsEGSCwBFko4QHAiqSwjBlLqR4ivUCSWhAHZpbfF6mCp6GR5AyyKrHkhCrJlM1mBJXYsSWFr1qxZ1DAJUHgRMcrUCWEg/fXXXyM656P6d+LMJIubkGc2ViCVjGPUuXjttdd0bBqJsSx8rG4bJ/tWIh7mDbCyGSR+7s0OWKxuRTfiHQMphOUd8FClBiIOC+c7ALJGNyQylkrgn0RA+AWT9TkNsPyMegbOIbOG0kroWEisJk2aOF71jDPO0G2sU6FUkrGejF4l0aMCIhNB6sje/GgAsPD9SWVAL3mFdjoW0kgkk3DIGmqdDillJFYOYC9VYFFpkCqFEs/Oqs9qy5JsHetxiTClLddPxfRgpsIsBVkqwJJHiq00I8ASPc2qU7lZNXphlQGWF25lsK0VWOhYrOCcCJ1MdCxSv3C+o8STbEuyLis+qhdiKKaYCVV2ABsrSFaHLAJYEHCc8gESa+V0XbvjBlh+uJaBc2KBRYQDwGDgqSOBzYo6ElTvAzxEc0jhOEADOGbPnh0tCy4VALl1azVovuOZgDiHY0SLisnB73RogJUBkPi5BIXW7rzzTq28I7EeeeSRpN0gnYYOHarboCNhLO7Tp4/vin4CKAMsP6OXxecArE6dOunySl5dOtbH8lLRz9pW+jDAymKQ+Lk1K7CQWG7MAVdffXVUx8JHSEYOZK3tJfFq6E9SOEXqj9IWIIlZwi+o6MdMhX5GPQPnxAJLioKg+4jFXfQmdCISIsSISrIqFXaGDRsWLWwr5bat4cj8BugkAYJ4dkCF5OKzAVYGBjrTl4gFFjqWbFzAvYjkkSQGojgeeughfZvEulOmm3frjhqSfWOXCiZ1SkVqiQPaL7iMxMo0Ylxezwqsl156SSedOlHFihWLNRG3DT9aM6EBmBUwKPsiraTWKudISI3Tde2OG2D54VoGziGWinLhDDjKOyWTco1wjOd8XmGuMd3pfq3AclPNz6m/sI7LJlcJrp/928qFxbigrivA8rsVS1D3leZ+DbDSzFDH7gRYFLfNZZJ9Io3EypJRFGARLTphwt7yl1lye65ug5h6wquTkJFYrjiZxkZMgWxw0LRpUzVq1ChdN0HMBLHWdPyKrPqsoTHcCu05Fgbhfxw3bpwBVhjMT3ZNK7AIMSZWPZfIACtLR8sAK0sHJtdviymQaYyQZPIAvUosNkCn3hWxVpQXwA5GRUM+k5RB1g6xWcRh4VekHTuhyQZQqfLPSKxUORjQ+ePHj9e+PqIbiLPyCqyAbst1twZYrlkVTkOKmrBDGTt5ORESCCLQj/2kX375Ze0rlOp7EtNOhWSyo/36AZ3ug+MGWG64FGIbgPXEE0+oAQMG6LsADFJ4lu/ihOa9d+/eug0bRxFZyv5A6SApV8406pYMsNxyKqR2AizCZohdpw4ou9MvWLAgGj7DZwaSKZO4dUKM0a+oKwpJ3JUAUfaAFqCyMyvx72yqSWx9rBvmvffeU1Su4R4kARYpOHbsWC356J/PktmDlKSUpDE3hAQaN5cVYAEoJwJc7Lnz4IMP6vqlAM4NobxLyI1deyIV1qxZo/fnYc9t0vMBFCBmQQCwZINNSXw1EssN50NsA7Dc2rFmzZqlgdWzZ09dx4EpEZKYLAmJkelTUu5pkywTmgwfpA9VAt2SAZZbToXUzg+wunfvrhMxmMJkKgxSUbdjjQFWSIBxe1k/wGKLPGK50HtkP0IJ5OO6EorMKhGphYuIqS2dZICVTm4G0JcfYA0cOFDvXQi47Mha9yqVGljJHtcAKwAwpLNLP8BiZ1UIexXEak0c1FJ4LVnthnTYuQyw0omCAPryCyxcNGRK47LBfdOwYUO1cuVK7bLBLsXvtOEFyU4T6XoEA6x0cTKgfvwCi9vBXiUhNpJMgaSSFDBZCYpdi3cxwEpuoZt8RqO8BzT4QXbrFVg9evTQm44DEGqXSuE1SVD1CxSvz2gklleOZbi9V2Dh1sFORTQDdUXFip5qnqDXxzbA8sqxDLf3CiwMpBSpxVqOmyYsMsAKi/Mur+sVWMSYk16PX5GQZuveOXYluF3ehudmBlieWZbZE7wCi1JGXbt21YbRdBs9vTy5AZYXboXQ1iuwCLEhdmv58uVq5MiRIdxx0SUNsEJjvbsLewUWzmd2WyW9HWAxFcbWHnV35dRaGWClxr/Az/YKLJR32YaX0pJhkQFWWJx3eV0vwJo/f77q0qWL3saXrXvZ+kTsWKlUjnF5q8WaGWD54VoGzxFgua3hMGLECF1/FHcO/sEwCUe4yYQOcwSSXBtgTZo0KUvvzvm22rZtm6yRSbF3ZqFp4YMDBlg+mGZOceaAAZYzj0wLHxwwwPLBNHOKMwc0sJ5wbmdaGA544sC0/wcM4xdCsiBhiwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/ProductRequirement_HeroBanner.2e28ab2c.png\";","export default __webpack_public_path__ + \"static/media/UserExperienceEnsurance_Image.0956364a.png\";","import React from 'react'\r\nimport AdminBreadcrumb from '../../Administration/General/Admin-breadcrumb';\r\nimport { Footer } from './../HeaderFooter';\r\nimport ProductRequirement_HeroBanner from './../../../assets/images/ProductRequirement_HeroBanner.png';\r\nimport UserExperienceEnsurance from './../../../assets/images/UserExperienceEnsurance_Image.png';\r\nimport ToolTip from 'react-power-tooltip';\r\nimport { useState } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst Functional_Cards= [\r\n {\r\n id: 1,\r\n title:'Bottom to Top - Top to Bottom',\r\n text:'Users can drill down in more depth levels within the data structure.'\r\n },\r\n {\r\n id: 2,\r\n title:'Export capability',\r\n text:'Export data in multiple formats (e.g., xls, pdf, csv).'\r\n },\r\n {\r\n id: 3,\r\n title:'Graphical Visualization',\r\n text:'The dashboard need to graphically display the reports.'\r\n },\r\n {\r\n id: 4,\r\n title:'Connectivity',\r\n text:'Connection to the Reporting platform by various Report display solutions should be supported (eg. PowerBI).'\r\n},\r\n{\r\n id: 5,\r\n title:'Access',\r\n text:'The platform must have the ability to assure Role Based Access Control (RBAC).'\r\n},\r\n{\r\n id: 6,\r\n title:'Access audit',\r\n text:'Real time access to audit all kind of access.'\r\n},\r\n{\r\n id: 7,\r\n title:'Normalisation & Standardisation',\r\n text:'Standardize and normalize the data (fields) and have a common taxonomy defined.'\r\n},\r\n{\r\n id: 8,\r\n title:'Data Anonymization',\r\n text:'Anonymize data wherever required to be compliant with legal and other regulations (eg. GDPR).'\r\n},\r\n{\r\n id: 9,\r\n title:'Data Ingestion On Schedule',\r\n text:'The platform need to be able to run scheduled data fetch/ingestion.'\r\n},\r\n{\r\n id: 10,\r\n title:'Data Access Management',\r\n text:'Data owners should have the ability to flexibly manage Accesses for Users with regards of their own data.'\r\n},\r\n{\r\n id: 11,\r\n title:'Data Validation',\r\n text:'Validation of data before injection into the database (logic for the data source and checks to be developed).'\r\n},\r\n{\r\n id: 12,\r\n title:'Report Parametrisation',\r\n text:'Data owners should have the ability to change certain parameters of reports or create custom ones.'\r\n},\r\n{\r\n id: 13,\r\n title:'Time Zone Coverage',\r\n text:'The platform need to be able to manage data in different time zones.'\r\n},\r\n{\r\n id: 14,\r\n title:'Language Localisation',\r\n text:'The platform need to be able to handle language localization (if required).'\r\n},\r\n{\r\n id: 15,\r\n title:'Support & Enhancement Interface',\r\n text:'The platform should have an interface for Users being able to apply for support (incident management, change management) or enter enhancement requests.'\r\n}\r\n]\r\nconst NonFunctional_Cards= [\r\n {\r\n id: 1,\r\n title:'Audit',text1:'Audit – User Activity​',text2:'Audit – Database (backup, retention)​',text3:'Source code (vulnerability, patching)', text4:'',text5:'',text6:'',text7:''\r\n },\r\n {\r\n id: 2,\r\n title:'Documentation',text1:'Architecture guide',text2:'Data & Security design​',text3:'Functional design​', text4:'End User manual​',text5:'Cost Model inputs (deploy, run)',text6:'API guide',text7:''\r\n },\r\n {\r\n id: 3,\r\n title:'Design Principles',text1:'Privacy​',text2:'Centralization', text3:'Language',text4:'Data processing model​',text5:'Accessibility (API)',text6:''\r\n },\r\n {\r\n id: 4,\r\n title:'Integrity',text1:'Application integrity​',text2:'Data integrity',text3:'', text4:'',text5:'',text6:'',text7:''\r\n},\r\n{\r\n id: 5,\r\n title:'Usability',text1:'Accessibility (User access)​',text2:'User standards (Look / Feel)​',text3:'Localisation (Language, spellings, keyboard – EN only)', text4:'',text5:'',text6:'',text7:''\r\n},\r\n{\r\n id: 6,\r\n title:'Security',text1:'Access permissions (Admin, User)​',text2:'Data classification / System Accreditation (Data protection)​',text3:'PW requirements​', text4:'System network Access (Int/Ext)​',text5:'Risks – Mitigating factors​',text6:'Security Testing (regular)​',text7:'System - Data backup'\r\n},\r\n{\r\n id: 7,\r\n title:'Reporting',text1:'Client consumption​',text2:'Utilization (Servic and Cost)',text3:'', text4:'',text5:'',text6:'',text7:''\r\n},\r\n{\r\n id: 8,\r\n title:'Compatibility',text1:'Compatibility (UI with common browsers)',text2:'',text3:'', text4:'',text5:'',text6:'',text7:''\r\n},\r\n{\r\n id: 9,\r\n title:'Continuous Delivery',text1:'Rolling updates and changes',text2:'',text3:'', text4:'',text5:'',text6:'',text7:''\r\n},\r\n{\r\n id: 10,\r\n title:'Delivery Kit',text1:'Control and Manage (Centrally)',text2:'',text3:'', text4:'',text5:'',text6:'',text7:''\r\n},\r\n{\r\n id: 11,\r\n title:'Automation',text1:'Accept, digest data (fully, semi, minimal manual)​',text2:'Output reports to e-mail (scheduled)​',text3:'System Access review notifications', text4:'',text5:'',text6:'',text7:''\r\n}\r\n]\r\n\r\nconst user_exp= [\r\n {\r\n id: 1,\r\n title:'Availability',\r\n text1:'Globally' ,\r\n text2:'​7x24x365',\r\n text3:'​Aim 95% minimum, 98% expected',\r\n text4:''\r\n },\r\n {\r\n id: 2,\r\n title:'Recoverability',\r\n text1:'Backup frequencies',\r\n text2:'Recovery process',\r\n text3:'RPO (Recovery Point Objectives)',\r\n text4:'RTO (Recovery Time Objectives)'\r\n },\r\n {\r\n id: 3,\r\n title:'Reliability',\r\n text1:'Functionality under stated conditions',\r\n text2:'Mean Time between failures (Downtime)​',\r\n text3:'Mean time to recovery',\r\n text4:''\r\n },\r\n {\r\n id: 4,\r\n title:'Capacity',\r\n text1:'Forecasting (Growth/Reduction Audit, Forecast)​',\r\n text2:'Monitoring (Storage, Throughput, Memory)​',\r\n text3:'Optimisation (Cascaded)',\r\n text4:''\r\n},\r\n{\r\n id: 5,\r\n title:'Usability',\r\n text1:'Performance',\r\n text2:'Processing times (Response, Processing, Calculations)​',\r\n text3:'​Query and Reporting times (Initial load)',\r\n text4:''\r\n}\r\n]\r\nconst ProductRequirements = () => {\r\n const history = useHistory();\r\n const [nonFunctionalTooltip, setNonFunctionalTooltip] = useState(false)\r\n const [nonFuctionalIndex, setNonFunctionalIndex] = useState(null);\r\n const [functionalTooltip, setFunctionalTooltip] = useState(false)\r\n const [dropdownIndex, setDropdownIndex] = useState(null);\r\n const onClickFunctional =(link,index) =>{\r\n setDropdownIndex(index);\r\n setFunctionalTooltip(true)\r\n }\r\n const onClickNonFunctional =(link,index) =>{\r\n setNonFunctionalIndex(index);\r\n setNonFunctionalTooltip(true)\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n history.push('/githublanding')} label1='Home' isActive2={false} label2='Solution - Product Requirements' />\r\n
\r\n
Product Requirements
A systematic preparation and thorough decision making process assured to develop our GSD Insight solution conforming all the layers of requirements.
\r\n
\r\n
\r\n
\r\n
\r\n
Functional Requirements
\r\n
\r\n {Functional_Cards.map((link, index) => (
onClickFunctional(link, index)} onMouseLeave={() =>setFunctionalTooltip(false) }>{link.title}
\r\n {(functionalTooltip && dropdownIndex === index) && \r\n {link.text}\r\n }
))}\r\n
\r\n
\r\n
\r\n
\r\n
Non Functional Requirements
\r\n
\r\n {NonFunctional_Cards.map((link, index) => (
onClickNonFunctional(link, index)} onMouseLeave={() =>setNonFunctionalTooltip(false) }>{link.title}
\r\n {(nonFunctionalTooltip && nonFuctionalIndex === index) && \r\n
{link.text1}
{link.text2}
{link.text3}
{link.text4}
{link.text5}
\r\n
{link.text6}
{link.text7}
\r\n
\r\n
}
))}\r\n
\r\n
\r\n
\r\n
\r\n
User Experience Ensurance
\r\n
\r\n
\r\n
\r\n {user_exp.map((data, index) => (
{data.title}
{data.text1}
{data.text2}
{data.text3}
{data.text4}
))}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default ProductRequirements","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAPhJREFUSEutlY0RwiAMha07uoQOYR2iTuFkOgS+IOkBDfnh5K7HlZbvQcgLywktpXRFty1o9D7bwFlpLjC/nsEF+MSH2wy8gO9l7oMECJ46WFigAzPunMOAjxs6Cg03t4AAfmHVlxwWps0IaOAGHt2BBT7AvQIesAi3BLzgIXwkgPEPHk43+m0/PCl9VdMIh1wzVLC6ciWLzBXzXNPuA4O4fGCFZe1iXIfFFBjCpawA+R1xsgjX0i3i5APck8degQbuAUdqUV24+sMz89jaAZfcMNizA7ospsGa0ejK7OFmKKQaItSi7IEmLH+4oOnK3M1l2n+0Us/4FzTGvRavoOyPAAAAAElFTkSuQmCC\"","import React from 'react';\r\nimport Download_Normal from './../../../assets/images/Download_Icon.png';\r\nimport Close_NormalState from './../../../assets/images/CloseWindow_Icon.png';\r\nimport './Solution.css'\r\nimport * as htmlToImage from 'html-to-image';\r\nimport { useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useState } from 'react';\r\n\r\n\r\nfunction ArchitectCards(props) {\r\n const history = useHistory();\r\n let displayInfo = useSelector((state) => state.welcomePageReducer.githubCarouselData);\r\n const [isActive, setIsActive] = useState(false)\r\n console.log(isActive)\r\n const exportAsPicture = (image) => {\r\n htmlToImage.toPng(document.getElementById('whatever'), {\r\n quality: 0.90,\r\n })\r\n .then(function (dataUrl) {\r\n let link = document.createElement('a');\r\n link.download = image;\r\n link.href = dataUrl;\r\n link.click()\r\n })\r\n .catch(function (error) {\r\n console.error('oops, something went wrong!', error);\r\n });\r\n }\r\n return (\r\n <>\r\n\r\n
\r\n
\r\n \r\n
   {displayInfo.title}
\r\n
exportAsPicture(displayInfo.title.split(' ').join('_'))} />\r\n         history.push(\"/architecture\")} />
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n setIsActive(!isActive)} marginLeft={isActive ? '-100px' :'auto'} className={!isActive ? 'margin_auto' :'margin_100' }/>\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default ArchitectCards","export default __webpack_public_path__ + \"static/media/Developer_HeroImage.ffa4d5d0.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAQCAYAAAAvf+5AAAAABHNCSVQICAgIfAhkiAAAAKFJREFUKFNjfPXqlQEDA0M/KytroKCg4AcgGytgfPHixQFGRkZ7oOwFNjY2R1yKGd+/fy/w69evA0CF+vgUM4LsIUYxWCExiuEKCSlGUYhPMYZCJMUXgGx5kAfFxcUNsSoEhm3C////54M0AYMuUUxMbAGGQmyKwBqQowGXIhSF+BTBFRJSBFZIjCIUhTDf4Uw9IInnz58rSEpKPsClCCQOAFq5fBH5R4kdAAAAAElFTkSuQmCC\"","import React from 'react';\r\nimport AdminBreadcrumb from '../../Administration/General/Admin-breadcrumb';\r\nimport { Footer } from '../HeaderFooter';\r\nimport './Developer.css';\r\nimport Developer_HeroImage from './../../../assets/github-images/Developer_HeroImage.png';\r\nimport RightArrow_Hover from './../../../assets/github-images/RightArrow_Hover.png';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { setDeveloperCard } from '../../../actions/github.action';\r\n\r\n\r\nconst Developer_Cards = [\r\n { id: 1, title: 'Infrastructure', text: 'infra' },\r\n {\r\n id: 2,\r\n title: 'Developer Access',\r\n text: 'access'\r\n },\r\n {\r\n id: 3,\r\n title: 'Developer Guidelines',\r\n text: 'guidelines'\r\n },\r\n {\r\n id: 4,\r\n title: 'Development Environment',\r\n text: 'environment'\r\n },\r\n {\r\n id: 5,\r\n title: 'Documentation Standards',\r\n text: 'standard'\r\n },\r\n {\r\n id: 6,\r\n title: 'Release and Build Guides',\r\n text: 'release'\r\n },\r\n {\r\n id: 7,\r\n title: 'Product Maintenance',\r\n text: 'product'\r\n },\r\n {\r\n id: 8,\r\n title: 'Developer Support',\r\n text: 'support'\r\n },\r\n {\r\n id: 9,\r\n title: 'Design Principles',\r\n text: 'principle'\r\n }\r\n]\r\n\r\nconst DeveloperLanding = () => {\r\n const dispatch = useDispatch();\r\n const history= useHistory();\r\n const onClickDeveloperCards=(card)=>{\r\n dispatch(setDeveloperCard(card));\r\n history.push('/developer/card')\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n history.push('/githublanding')} label1='Home' isActive2={false} label2='Developer' />\r\n
\r\n
Developer
This repository contains information, guidance and processes for developers, including coding, design, application management, maintenance and technical support of the GSD Insight application.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {Developer_Cards.map((link, index) => (
onClickDeveloperCards(link)}>
{link.title}
))}\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default DeveloperLanding","import React, { useState } from 'react'\r\nimport { Offcanvas } from 'react-bootstrap';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { setDeveloperCard } from '../../../actions/github.action';\r\nimport Menu_Hover from './../../../assets/images/Menu_Hover.png'\r\nimport { Redirect } from 'react-router-dom';\r\n\r\nconst Developer_Cards = [\r\n { id: 1, title: 'Infrastructure',\r\n text: 'infra' },\r\n {\r\n id: 2,\r\n title: 'Developer Access',\r\n text: 'access'\r\n },\r\n {\r\n id: 3,\r\n title: 'Developer Guidelines',\r\n text: 'guidelines'\r\n },\r\n {\r\n id: 4,\r\n title: 'Development Environment',\r\n text: 'environment'\r\n },\r\n {\r\n id: 5,\r\n title: 'Documentation Standards',\r\n text: 'standard'\r\n },\r\n {\r\n id: 6,\r\n title: 'Release and Build Guides',\r\n text: 'release'\r\n },\r\n {\r\n id: 7,\r\n title: 'Product Maintenance',\r\n text: 'product'\r\n },\r\n {\r\n id: 8,\r\n title: 'Developer Support',\r\n text: 'support'\r\n },\r\n {\r\n id: 9,\r\n title: 'Design Principles ',\r\n text: 'principle'\r\n }\r\n]\r\nconst DeveloperOffcanvas = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const [show, setShow] = useState();\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const onClickDeveloperCards = (card) => {\r\n dispatch(setDeveloperCard(card));\r\n // history.push('/developer/card');\r\n \r\n setShow(false);\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n Developer\r\n \r\n \r\n {Developer_Cards.map((link, index) => (
onClickDeveloperCards(link)} className='offcanvas_list'>{link.title}
))}\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default DeveloperOffcanvas","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAZ0lEQVRIidXWwQ2AQAhE0Y+hFAvRSizFtRJLUSvDGjjMJsMZeAksyUZVoYw41lsqLMrmU4AEdjXwKgH/HfgDCQxAdmwJnKrmMGlElxoYSsD/mfoDCWz0Du3rAk+nAIhOsv8OQv1t+QFJeg8ZEHhF9AAAAABJRU5ErkJggg==\"","export default __webpack_public_path__ + \"static/media/BackupRetention.31966faa.png\";","export default __webpack_public_path__ + \"static/media/Maintenance.7062be5a.png\";","import React from 'react'\r\nimport { Accordion } from 'react-bootstrap';\r\nimport './InfraStructure.css';\r\nimport VerticalLine from './../../../../assets/images/VerticalLine_Headings.png';\r\nimport BackupRetention from './../../../../assets/github-images/BackupRetention.png';\r\nimport Maintenance from './../../../../assets/github-images/Maintenance.png';\r\n\r\n\r\nconst sql_headers = [\r\n { id: '1', caption: \"Instance\" },\r\n { id: '2', caption: \"Role\" },\r\n { id: '3', caption: \"FQDN\" },\r\n { id: '4', caption: \"Operating System\" }\r\n]\r\nconst SQL_DATA = [\r\n { id: '1', 'Instance': 'DEV', 'Role': 'SQL Database', 'FQDN': 'zc4w02439.itcs.houston.dxccorp.net', 'OperatingSystem': 'Server 2019' },\r\n { id: '2', 'Instance': 'UAT', 'Role': 'SQL Database', 'FQDN': 'zc4w02440.itcs.houston.dxccorp.net', 'OperatingSystem': 'Server 2019' }\r\n]\r\n\r\nconst window_platform = [\r\n { id: '1', caption: \"Instance\" },\r\n { id: '2', caption: \"Role\" },\r\n { id: '3', caption: \"FQDN\" },\r\n {id:'4',caption:'IP'},\r\n { id: '5', caption: \"Operating System\" },\r\n { id: '6', caption: \"RDP\" }\r\n]\r\nconst window_platform_data = [\r\n { id: '1', 'Instance': 'DEV', 'Role': 'IIS Web Server', 'FQDN': 'zc4w02443.itcs.houston.dxccorp.net',\r\n 'IP':'15.140.135.88','OperatingSystem': 'Server 2016 R2','RDP':'zc4w02443.rdp',\r\n 'href':'https://github.dxc.com/pages/MWSGSD/GSD-Insight/developer/infrastructure/images/zc4w02443.rdp'\r\n},\r\n { id: '2', 'Instance': 'UAT', 'Role': 'SQL Database', 'FQDN': 'zc4w02439.itcs.houston.dxccorp.net',\r\n 'IP':'15.140.143.93', 'OperatingSystem': 'Server 2019','RDP':'zc4w02439.rdp',\r\n 'href':'https://github.dxc.com/pages/MWSGSD/GSD-Insight/developer/infrastructure/images/zc4w02439.rdp' \r\n},\r\n { id: '3', 'Instance': 'UAT', 'Role': 'IIS Web Server', 'FQDN': 'zc4w02443.itcs.houston.dxccorp.net',\r\n 'IP':'15.140.135.88', 'OperatingSystem': 'Server 2016 R2','RDP':'zc4w02443.rdp',\r\n 'href':'https://github.dxc.com/pages/MWSGSD/GSD-Insight/developer/infrastructure/images/zc4w02443.rdp'\r\n },\r\n { id: '4', 'Instance': 'PROD', 'Role': 'SQL Database', 'FQDN': 'zc4w02440.itcs.houston.dxccorp.net',\r\n 'IP':'15.140.135.87', 'OperatingSystem': 'Server 2019','RDP':'zc4w02440.rdp' ,\r\n 'href':'https://github.dxc.com/pages/MWSGSD/GSD-Insight/developer/infrastructure/images/zc4w02440.rdp'\r\n},\r\n { id: '5', 'Instance': 'PROD', 'Role': 'IIS Web Server', 'FQDN': 'zc4w02441.itcs.houston.dxccorp.net',\r\n 'IP':'15.140.143.95', 'OperatingSystem': 'Server 2016 R2','RDP':'zc4w02441.rdp',\r\n 'href':'https://github.dxc.com/pages/MWSGSD/GSD-Insight/developer/infrastructure/images/zc4w02441.rdp' \r\n},\r\n { id: '6', 'Instance': 'PROD', 'Role': 'IIS Web Server', 'FQDN': 'zc4w02442.itcs.houston.dxccorp.net',\r\n 'IP':'15.140.143.96', 'OperatingSystem': 'Server 2016 R2','RDP':'zc4w02442.rdp',\r\n 'href':'https://github.dxc.com/pages/MWSGSD/GSD-Insight/developer/infrastructure/servers/images/zc4w002442.rdp' \r\n},\r\n { id: '7', 'Instance': 'BACKUP', 'Role': 'Backup Server', 'FQDN': 'zc4w01327.itcs.houston.dxccorp.net',\r\n 'IP':'15.140.131.24', 'OperatingSystem': 'Server 2012 R2','RDP':'zc4w01327.rdp',\r\n 'href':'https://github.dxc.com/pages/MWSGSD/GSD-Insight/developer/infrastructure/images/zc4w01327.rdp'\r\n },\r\n]\r\n\r\nconst AWS_Instance = [\r\n { id: '1', caption: \"Instance Name\" },\r\n { id: '2', caption: \"Instance Region\" }\r\n]\r\nconst AWS_Instance_DATA = [\r\n { id: '1', 'InstanceName': 'dxc-ito-mws-asia', 'InstanceRegion':'eu-central-1'},\r\n { id: '2', 'InstanceName': 'dxc-ito-mws-india-e', 'InstanceRegion':'eu-central-1'},\r\n { id: '3', 'InstanceName': 'interim-dxc-ito-mws-nce-se', 'InstanceRegion':'eu-central-1'},\r\n { id: '4', 'InstanceName': 'dxc-ito-mws-uki', 'InstanceRegion':'eu-central-1'},\r\n { id: '5', 'InstanceName': 'dxc-ito-mws-amr-us-wr', 'InstanceRegion':'dxc-ito-mws-amr-us-wr'},\r\n]\r\n\r\nconst AWS_Instance_DATA2 = [\r\n { id: '1', 'InstanceName': 'dxc-ito-mws-anz', 'InstanceRegion':'ap-southeast-2'},\r\n { id: '2', 'InstanceName': 'dxc-ito-mws-amr', 'InstanceRegion':'us-west-2'},\r\n { id: '3', 'InstanceName': 'dxc-ito-mws-nce-se', 'InstanceRegion':'eu-central-1'},\r\n { id: '4', 'InstanceName': 'dxc-ito-mws-asia-ml', 'InstanceRegion':'eu-central-1'}\r\n]\r\n\r\nconst Balancer = [\r\n { id: '1', caption: \"IP Address\" },\r\n { id: '2', caption: \"Name\" }\r\n]\r\nconst Balancer_DATA = [\r\n { id: '1', 'IPAddress': '15.140.145.114', 'Name':'gsdinsightlb.itcs.houston.dxccorp.net'}\r\n]\r\n\r\nconst SERVER='https://dxcportal.sharepoint.com/:w:/r/sites/GSDInsight/_layouts/15/Doc.aspx?sourcedoc=%7B446F54B9-952F-43B5-A53B-D850035A2E12%7D&file=GSD_Insight_Server_Maintenance_Process_v20220328.docx&action=default&mobileredirect=true&wdOrigin=TEAMS-ELECTRON.teams.files&wdExp=TEAMS-CONTROL&wdhostclicktime=1648474113072&cid=ed3cd107-5935-4e85-9f2a-ed4a13a08d91';\r\nconst SERVER_APP='https://dxcportal.sharepoint.com/:w:/r/sites/GSDInsight/_layouts/15/Doc.aspx?sourcedoc=%7BA42B84C3-0C9D-42A2-A2ED-B046A16B4062%7D&file=GSD_Insight_Devenv_Runtime_Update_Process_v20220531.docx&action=default&mobileredirect=true';\r\nfunction InfraStructure() {\r\n return (\r\n <>\r\n
\r\n
\r\n
Infrastructure
\r\n
\r\n \r\n \r\n \r\n Servers\r\n \r\n <>\r\n
\r\n
The GSD Insight solution is architected to run on Windows platform.
\r\n
\r\n \r\n {window_platform.map(header => ())}\r\n \r\n \r\n {window_platform_data.map((data, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))} \r\n
{header.caption}
{data?.Instance}{data?.Role}{data?.FQDN}{data?.IP}{data?.OperatingSystem} {data?.RDP}
\r\n
\r\n
AWS [ASD] Synchronized Instances
\r\n
\r\n
\r\n
\r\n \r\n {AWS_Instance.map(header => ())}\r\n \r\n \r\n {AWS_Instance_DATA.map((data, index) => (\r\n \r\n \r\n ))} \r\n
{header.caption}
{data?.InstanceName}{data?.InstanceRegion}
\r\n
\r\n
\r\n
\r\n \r\n {AWS_Instance.map(header => ())}\r\n \r\n \r\n {AWS_Instance_DATA2.map((data, index) => (\r\n \r\n \r\n ))} \r\n
{header.caption}
{data?.InstanceName}{data?.InstanceRegion}
\r\n
\r\n
\r\n
\r\n
\r\n
Balancer
\r\n
\r\n \r\n {Balancer.map(header => ())}\r\n \r\n \r\n {Balancer_DATA.map((data, index) => (\r\n \r\n \r\n ))} \r\n
{header.caption}
{data?.IPAddress}{data?.Name}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n SQL Database\r\n \r\n <>\r\n
\r\n
The selected database platform is Microsoft SQL Server 2019 due to Reliability, Scalability, and Security out of the box features.
\r\n
\r\n \r\n {sql_headers.map(header => ())}\r\n \r\n \r\n {SQL_DATA.map((data, index) => (\r\n \r\n \r\n \r\n \r\n ))} \r\n
{header.caption}
{data?.Instance}{data?.Role}{data?.FQDN}{data?.OperatingSystem}
\r\n
\r\n
    Backup & Retention
\r\n
\r\n
On both instance the following settings are configured:
\r\n
\r\n
    \r\n
  • Daily full backup from all user databases - running at 01:00 AM UTC
  • \r\n
  • Backups are kept for 2 weeks on local drive (F:\\SQLBackups folder)
  • \r\n
  • Backups are automatically copied to a 2nd location (scheduled task copy job)
  • \r\n
\r\n
\r\n
\r\n
    Maintenance
\r\n
\r\n
Automatic maintenance is configured to run every Sunday at 6:00 PM UTC.
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Server Maintenance\r\n \r\n <>\r\n
Server Maintenance Process : Control Document
\r\n
Server App Maintenance Process : GSD Insight Devend and Runtime Update Process Document\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n )\r\n}\r\n\r\nexport default InfraStructure","export default __webpack_public_path__ + \"static/media/DeveloperAccess_domain_account_image_1.d63c42bd.png\";","export default __webpack_public_path__ + \"static/media/DeveloperAccess_domain_account_image_2.f51ce0cc.png\";","export default __webpack_public_path__ + \"static/media/DeveloperAccess_domain_account_image_3.b9457c30.png\";","import React from 'react'\r\nimport { Accordion } from 'react-bootstrap'\r\nimport './DeveloperAccess.css';\r\nimport VerticalLine from './../../../../assets/images/VerticalLine_Headings.png';\r\nimport DeveloperAccess_logo from './../../../../assets/github-images/DeveloperAccess_domain_account_image_1.png';\r\nimport DeveloperAccess_step1 from './../../../../assets/github-images/DeveloperAccess_domain_account_image_2.png';\r\nimport DeveloperAccess_step2 from './../../../../assets/github-images/DeveloperAccess_domain_account_image_3.png';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst CREATE_ACCOUNT = [\r\n { id: '1', caption: \"Set a password, this will need to change every 2 months and needs to be at least 25 characters long so it’s recommended to use the password generator. \" },\r\n { id: '2', caption: \"On the right box under Unix Information, click yes to enable Unix.\" },\r\n { id: '3', caption: \"Verify your information. it will fill automatically except for the optional fields.\" },\r\n { id: '4', caption: \"Click next to go to submit your account.\" }\r\n]\r\nconst REQUEST_ACCOUNT = [\r\n { id: '1', caption: \"After all approvals are in place - your account will be created\" },\r\n { id: '2', caption: \"Send the account name (x-username) to project architect\" },\r\n { id: '3', caption: \"Architect will grant access to the required servers and SQL databases\" }\r\n]\r\nconst VERIFY_ACCOUNT = [\r\n { id: '1', caption: \"Connect to Secure Pulse\" },\r\n { id: '2', caption: \"Use RDP from your PC and connect using the provided IP address or FQDN of the servers\" },\r\n { id: '3', caption: \"Login to the server using your “SSZ / x-username” & related password\" }\r\n]\r\nconst DeveloperAccess = () => {\r\n\r\n const VIRTUALSM = 'https://virtualsm.houston.dxccorp.net/';\r\n return (\r\n <>\r\n
\r\n
\r\n
Developer Access
\r\n
\r\n \r\n \r\n \r\n Developer Access Guide\r\n \r\n <>\r\n
\r\n
New members (developer / support) should follow the steps below to get the required accesses:
\r\n
\r\n
    \r\n
  1. If you have been nominated / contacted to start working on this application & platform - please get approval from your direct manager & the project leaders.
  2. \r\n
  3. Request your special administrator account by following the New Member - Access request.
  4. \r\n
  5. After account is ready - send it to Architect & Lead developer - so they can grant the required access
  6. \r\n
  7. Follow their instructions and tests to validate your access
  8. \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n New Member - Access Request\r\n \r\n <>\r\n
\r\n
In order to access all the different environments for GSD Insight you will need the following:
\r\n
  • DXC Email & UID
  • Secure Pulse VPN
\r\n
If you don’t have one or more of the previous requirements please contact your onboarding contact or manager. After following this process you will be able to do the following tasks:
\r\n
    \r\n
  1. Connect via RDP to GSD Insight environments (UAT / PROD)
  2. \r\n
  3. Start developing a tile/module as required
  4. \r\n
\r\n
\r\n
    Requesting an Admin Account in VirtualSM
\r\n
\r\n
\r\n
If you already have a VirtualSM account please skip this process
\r\n
    \r\n
  1. Connect to Secure Pulse VPN to your nearest location (or Houston)
  2. \r\n
  3. Go to window.open(VIRTUALSM, '_blank')}>https://virtualsm.houston.dxccorp.net/
  4. \r\n
  5. On the left menu, under Domain Services, click Create Domain Account
  6. \r\n
\r\n
  • You are going to create a user for all the different servers that you'll be accessing
  • \r\n
  • On the main box under domain, select SSZ
  • \r\n
  • Select Admin Account
  • \r\n
  • On the right box, create a username, most people use the same as their username in the DXC email. (! do NOT remove the \"x-\" part ! - example: x-username)
  • \r\n
  • Click next to configure the new user
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    {CREATE_ACCOUNT.map((data, index) => (
  1. {data.caption}
  2. ))}
\r\n
\r\n
\r\n
  1. Verify all information and click on Request Account.
  2. \r\n
  3. The request require approval from your direct manager!
\r\n
\r\n
\r\n
    Request Access to Servers
\r\n
    {REQUEST_ACCOUNT.map((data, index) => (
  1. {data.caption}
  2. ))}
\r\n
\r\n
\r\n
    Request Access to Servers
\r\n
    {VERIFY_ACCOUNT.map((data, index) => (
  1. {data.caption}
  2. ))}
\r\n
Password Reset
\r\n
Check if your password has expired in VirtualSM. Go to Account Domains, manage Accounts. Then go to the tab “Domain Accounts” and check the password status for your account. Under password, you can reset the password. Set automatic notification so the tool to remind you to change the password before expiration.
\r\n
SRPA Request Expired or Deleted
\r\n
Important that you will need to renew your admin account in VirtualSM periodically. If not renewed it will get expired and deleted resulting in access removal from the servers.

In the left menu click SRPA, SRPA Manager.

You’ll see a list of your requests. verify that the expiration date is good. If the request has expired, or will expire soon, click the Edit button to the right. Select a new expiration date and submit your request.
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default DeveloperAccess","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAqCAYAAADf/ynVAAAABHNCSVQICAgIfAhkiAAAAMdJREFUWEftmFEKgCAQRNOLFHQD8f4n8ApBnaQ0+hCz3FVUivGnIGuH1zbMJga7jDGrPYzuvMWSUk5Kqe2tlrCi9hZi/BoQxiWeRUxrLbiFauy/9RiEJTB/m1gPnyMRg7Cr75yd/IsYxSA53ha2SjYxCPOxx5w/hjoVW/Aq/SCJHkOPPXwR8DGOVcSmNDh/iiB6LEUovA5iIIbYUzqMIPYg9jBjzxwQWyjOXH0YoZhhF7vIEUa5p2TPmccoD+jytwfCKAQ85z8Aey+SbL0U2YkAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/DeveloperGuidelines_TyporaDefendorerror.92a95176.png\";","export default __webpack_public_path__ + \"static/media/DeveloperGuidelines_Summary.21ab214b.png\";","export default __webpack_public_path__ + \"static/media/Developer_Guidelines_pushorigin.7d6158f6.png\";","export default __webpack_public_path__ + \"static/media/DeveloperGuidelines_fetchorigin.e3eba93e.png\";","export default __webpack_public_path__ + \"static/media/DeveloperGuidelines_syncupstreammaster.a15272e7.png\";","import React, { useState } from 'react'\r\nimport { Accordion, ListGroup } from 'react-bootstrap'\r\nimport './DeveloperGuidelines.css';\r\nimport VerticalLine from './../../../../assets/images/VerticalLine_Headings.png';\r\nimport CopyToClipboard from './../../../../assets/github-images/CopyToClipboard.png';\r\nimport Developerguidelines from './../../../../assets/github-images/DeveloperGuidelines_TyporaDefendorerror.png';\r\nimport FORK_REPO from './../../../../assets/github-images/FORK_REPO.png';\r\nimport DeveloperGuidelines_Summary from './../../../../assets/github-images/DeveloperGuidelines_Summary.png';\r\nimport Developer_Guidelines_pushorigin from './../../../../assets/github-images/Developer_Guidelines_pushorigin.png';\r\nimport fetchorigin from './../../../../assets/github-images/DeveloperGuidelines_fetchorigin.png';\r\nimport syncupstreammaster from './../../../../assets/github-images/DeveloperGuidelines_syncupstreammaster.png';\r\nimport ToolTip from 'react-power-tooltip';\r\n\r\nconst DEDICATED_TOOLS = [\r\n { id: '1', title: \"Visual Studio 2017 / 2019\" },\r\n { id: '2', title: \"SQL Server Management Studio\" },\r\n { id: '3', title: \"Exchange Web Services\" },\r\n { id: '4', title: \"Powershell\" }\r\n]\r\n\r\nconst GENERIC_ONES = [\r\n { id: '1', title: \"Windows RDP\" },\r\n { id: '2', title: \"Notepad++\" },\r\n { id: '3', title: \"IIS Manager\" },\r\n { id: '4', title: \"GitHub Desktop\" },\r\n { id: '5', title: \"Visual Studio Code\" },\r\n { id: '6', title: \"Typora\" }\r\n]\r\nconst CODE_ETIQUETTE = [\r\n { id: '1', caption: \"Acknowledge that our Development Environment is shared amongst multiple developers.\" },\r\n { id: '2', caption: \"If you want to enhance (either because of a new project requirement - or a break fix scenario) - please talk with the other developers + the Lead developers. If they are not available - please seek guidance from the project team leaders/managers. \" },\r\n { id: '3', caption: \"We encourage review and scrutiny of ALL code in GSD Insight. We need to ensure that your suggestions do not conflict and will not potentially break other components that you may not be aware of.\" },\r\n { id: '4', caption: \"Approaching the lead developers with suggested code already well thought out is desirable.\" },\r\n { id: '5', caption: \"Try to write code in a manner consistent with existing code. Study the standard coding practices to ensure alignment. Code that looks like everyone is aware of consistency is much easier to maintain.\" },\r\n { id: '6', caption: \"Check your code into git (git add ; git commit ) regularly (note this needs to be done as your user and not root). Don’t check in broken code - so choose your moments carefully. \" },\r\n { id: '7', caption: \"You write code - YOU are responsible for keeping the Developers Wiki up-to-date.\" },\r\n { id: '8', caption: \"Release to production is controlled. Normally weekly. Don’t release stuff outside of this process without approval from project manager (or his delegate). Break-Fix releases still require approval (and are normally approved).\" }\r\n]\r\nconst NAMING_CONVENTIONS = [\r\n { id: '1', title: \"Module names are lowercase_with_underscores\" },\r\n { id: '2', title: \"Constants are UPPERCASE_WITH_UNDERSCORES\" },\r\n { id: '3', title: \"Package wide variables are Mixed_Case_With_Underscores\" },\r\n { id: '4', title: \"Function variables are lowercase_with_underscores\" }\r\n]\r\nconst BASIC_REFERENCES = [\r\n { id: '1', caption: \"Term\" },\r\n { id: '2', caption: \"Description\" }\r\n]\r\nconst BASIC_REFERENCES_DATA = [\r\n { id: '1', 'Term': 'upstream/master', 'Description': 'This is the master branch of the upstream repo. In our case this is Platform-DXC/intelligence-oc This is final location for our content and where our users will reference the articles from' },\r\n { id: '2', 'Term': 'clone', 'Description': 'This is the local copy of your forked repo. It will reside on your PC at the location that you have chosen. eg: documents/intelligence-oc . This the the location that you will locally edit/add markdown files.' },\r\n { id: '3', 'Term': 'forked repo', 'Description': 'This process requires you to fork the Platform-DXC/intelligence-oc repo to a repo that you own. This is where your github desktop will push its origin to' },\r\n { id: '4', 'Term': 'Pull request', 'Description': 'This is the process by which you initiate the changes in your forked repo to the upstream/master. This process involves you initating the PULL request - and an approver approving the merge. Depending on what you have changed - this approver may need to resolve merge conflicts.' }\r\n]\r\n\r\nconst MARKDOWN_FILES = [\r\n { id: '1', caption: \"Location of Developer articles (.md files)\" },\r\n { id: '2', caption: \"docs/developer/\" }\r\n]\r\nconst MARKDOWN_FILES_DATA = [\r\n { id: '1', 'location': 'Location of Developer images (.png files)', 'docs': 'docs/developer/images/' },\r\n { id: '2', 'location': 'Report manuals are named', 'docs': 'report_manual_*.md' },\r\n { id: '3', 'location': 'Markdown case', 'docs': 'Lower case – no spaces' },\r\n { id: '4', 'location': 'Markdown references', 'docs': './images/…. Use relative referencing for github content' }\r\n]\r\nconst MARKDOWN_LIST = [\r\n { id: '1', title: \"I created a new business_overview.md file (and took that section out of architecture.md)\" },\r\n { id: '2', title: \"Added this new md file to docs/README.md (as it is one of the few really important ones)\" },\r\n { id: '3', title: \"Added this new md file to docs/developers/README.md\" }\r\n]\r\nconst DeveloperGuidelines = () => {\r\n const [tooltipText, setTooltipText] = useState(false);\r\n const [showUseStrictTooltip,setShowUseStrictTooltip] = useState(false);\r\n const [showUseStrict2Tooltip,setShowUseStrict2Tooltip] = useState(false);\r\n const [showPreferredTooltip,setShowPreferredTooltip] = useState(false);\r\n const [showNormalIfTooltip,setShowNormalIfTooltip] = useState(false);\r\n const [showDoubleIfTooltip,setShowDoubleIfTooltip] = useState(false);\r\n \r\n function copyElementToClipboard(element) {\r\n window.getSelection().removeAllRanges();\r\n let range = document.createRange();\r\n range.selectNode(typeof element === 'string' ? document.getElementById(element) : element);\r\n window.getSelection().addRange(range);\r\n document.execCommand('copy');\r\n window.getSelection().removeAllRanges();\r\n }\r\n\r\n const APP_SECURITY = 'https://dxcportal.sharepoint.com/sites/GSDInsight/Shared%20Documents/Forms/AllItems.aspx?id=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation%2FApplications%20Security%20Standards%20DXC%2Epdf&parent=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation';\r\n const SECURE_CODING ='https://dxcportal.sharepoint.com/sites/GSDInsight/Shared%20Documents/Forms/AllItems.aspx?id=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation%2FOWASP%5FSCP%5FQuick%5FReference%5FGuide%5Fv2%2Epdf&parent=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation';\r\n const GITHUB_DESKTOP ='https://desktop.github.com/';\r\n const TYPORA ='https://www.typora.io/';\r\n const VISUAL_STUDIO ='https://code.visualstudio.com/docs/?dv=win64';\r\n const MASTER_REPO ='https://github.dxc.com/MWSGSD/GSD-Insight';\r\n const CLONED_REPOSITORY ='https://github.dxc.com/rgraham33/intelligence-oc';\r\n const GITHUB_DOCUMENTATION ='https://github.dxc.com/pages/Platform-DXC/devcloud-docs/github/';\r\n const SECURITY_TRAINING ='https://dxcportal.sharepoint.com/:b:/r/sites/GSDInsight/Shared Documents/General/Documentation/Security Trainings.pdf?csf=1&web=1&e=NE5FAM'\r\n\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
Developer Guidelines
\r\n
\r\n \r\n \r\n \r\n Application Security Standards\r\n \r\n <>\r\n
The Application Security Standards document is located here:
\r\n
window.open(APP_SECURITY, '_blank')}> Applications Security Standards DXC.pdf
\r\n \r\n
\r\n
\r\n \r\n \r\n Secure Coding Guideline\r\n \r\n <>\r\n
OWASP Secure Coding Practices Quick Reference Guide is located here:
\r\n
window.open(SECURE_CODING, '_blank')}> OWASP_SCP_Quick_Reference_Guide_v2.pdf
\r\n \r\n
\r\n
\r\n \r\n \r\n Security Training Plan\r\n \r\n <>\r\n
The Security Training Plan for developers is located here:
\r\n
window.open(SECURITY_TRAINING, '_blank')}>Security Training Plan.pdf
\r\n \r\n
\r\n
\r\n \r\n \r\n Coding Standards and Etiquette\r\n \r\n <>\r\n
\r\n
    Developers Etiquitte
\r\n
GSD Insight is currently developed in a SHARED development environment. Therefore the we ask each and every developer to tred carefully and respectfully. We currently have NOT worked out a way of each developer to have their own development environment in which they can clone standard code and proceed to crash and burn any way they like…
\r\n
Until we change our practices PLEASE FOLLOW these guidelines:
\r\n
    {CODE_ETIQUETTE.map((data, index) => (
  1. {data.caption}
  2. ))}
\r\n
    Coding Standards
\r\n
Strictness Enabled
\r\n
Enable the following at the top of your scripts. This prevents you from making spelling mistakes in variable names that would otherwise go un-noticed.
\r\n
\r\n
use strict;
\r\n
{copyElementToClipboard('UseStrict');setTooltipText('Copied')}} onMouseOver={() => {setShowUseStrictTooltip(true);setTooltipText('Copy')}} onMouseLeave={() => setShowUseStrictTooltip(false)}/>\r\n {tooltipText}
\r\n
\r\n
    Naming Conventions
\r\n
There isn’t an official style document but perlstyle offers some advice on naming conventions, and there are some other conventions:
\r\n
    \r\n {NAMING_CONVENTIONS.map((data, index) => (
  1. {data.title}
  2. ))}\r\n
\r\n
Eg:
\r\n
\r\n
sub function_name { my ($var1, $var2, $var3) = @_; }
\r\n
{copyElementToClipboard('UseStrict2');setTooltipText('Copied')}} onMouseOver={() => {setShowUseStrict2Tooltip(true);setTooltipText('Copy')}} onMouseLeave={() => setShowUseStrict2Tooltip(false)}/>\r\n {tooltipText}
\r\n
\r\n
Is preferred over:
\r\n
\r\n
sub functionName { my $var1 = @_[0]; my $var2 = @_[1]; my $var3 = @_[3]; }
\r\n
{copyElementToClipboard('PreferredOver');setTooltipText('Copied')}} onMouseOver={() => {setShowPreferredTooltip(true);setTooltipText('Copy')}} onMouseLeave={() => setShowPreferredTooltip(false)}/>\r\n {tooltipText}
\r\n
\r\n
Brackets
\r\n
1. Normal If statement - noting position of {
\r\n
\r\n
if ($a eq “something”) {
}
\r\n
{copyElementToClipboard('NormalIf');setTooltipText('Copied')}} onMouseOver={() => {setShowNormalIfTooltip(true);setTooltipText('Copy')}} onMouseLeave={() => setShowNormalIfTooltip(false)}/>\r\n {tooltipText}
\r\n
\r\n
2. Double line if statement - noting position of {
\r\n
\r\n
if (($a eq “something” and $b eq “stuff”) or
($d eq “nothing”))
{
}
\r\n
{copyElementToClipboard('DoubleIf');setTooltipText('Copied')}} onMouseOver={() => {setShowDoubleIfTooltip(true);setTooltipText('Copy')}} onMouseLeave={() => setShowDoubleIfTooltip(false)}/>\r\n {tooltipText}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Create Wiki Article\r\n \r\n <>\r\n
\r\n
# Creating and updating content
\r\n
This article describes the process of creating and updating documentation for GSD Insight on GitHub.

\r\n
This solution is currently centered around the use of GitHub Desktop and Typora / Visual Studio Code. This allows users to get going with their documentation requirements without the need for extreme git command line skills (which notably all of you who are DevOps trained would be perfectly capable of doing!)

\r\n
Before venturing into the process and where to get the tools from - this is a reminder that anytime you start your journey of updating or creating an article - please make sure you have sync’d your local clone with the upstream master. You are NOT the only person contributing to these repositories and therefore it is important to ensure that you START when-ever possible - with the latest commits from the upstream master. If you DONT do this - then your PULL request is likely to be denied with suitable appended comments. (NOTE the section on how to do this in the article below)

\r\n
Remember too - basic references relate to

\r\n
\r\n \r\n {BASIC_REFERENCES.map(header => ())}\r\n \r\n \r\n {BASIC_REFERENCES_DATA.map((data, index) => (\r\n \r\n ))} \r\n
{header.caption}
{data?.Term}{data?.Description}
\r\n
    Download and Install
\r\n
This process has been designed around the use of desktop UI tools to perform the git processes. It uses github desktop to perform the cloning and the push, pull functions. Clearly this process could be implemented using native git commands.

\r\n
To start : Download the following applications and follow their native installation instructions to complete their install:
\r\n
    \r\n
  1. window.open(GITHUB_DESKTOP, '_blank')}>GitHub Desktop
  2. \r\n
  3. window.open(TYPORA, '_blank')}>Typora
  4. \r\n
  5. window.open(VISUAL_STUDIO, '_blank')}>Visual Studio Code for Windows x64
  6. \r\n
\r\n
Note: On DXC COE PC’s you may encounter a “Windows Defender Error” while installing TYPORA:

\r\n
Eg:
\r\n \r\n
To remediate this: right click on the .exe file - go to Properties - check the Unblock option and hit Apply and rerun the installation, it will work.
\r\n
    Fork and Clone the Master Repository
\r\n
This step will require you to fork your master repo ( window.open(MASTER_REPO, '_blank')}>https://github.dxc.com/MWSGSD/GSD-Insight) to make a repo that is owned by you. This will be the location from which you will CLONE the repo to your local PC and the location you will in the future initiate PULL requests from when you have completed your updates.

\r\n
To fork the master repo navigate to window.open(MASTER_REPO, '_blank')}>https://github.dxc.com/MWSGSD/GSD-Insight. Many of you may have already performed this function previously and you will be able to see the name of your fork if you click on the number next to the “fork” icon.

\r\n
This typically will be in the form of https://github.dxc.com//intelligence-oc

\r\n
If you don’t already have the forked repo – do so… (Again: Please make sure you are forking the repo from window.open(MASTER_REPO, '_blank')}>https://github.dxc.com/MWSGSD/GSD-Insight)
\r\n \r\n
Navigate to your forked repo:
\r\n
    \r\n
  1. Click Clone or Download (selecting Open In Desktop).
  2. \r\n
  3. Open Github desktop client and go to File > Clone Repository
  4. \r\n
  5. In confirmation dialog, select Open Github Desktop app.
  6. \r\n
  7. Github desktop should launch with a Clone Repository dialog box and show location of where it wants to save it
  8. \r\n
  9. Click URL tab and then paste in the clone URL
  10. \r\n
  11. Click Clone
  12. \r\n
\r\n
You should now be ready to create and edit the markdown files.
(I put the clone on my local in documents/GitHub/. You may have chosen an alternate location)
You are now ready to navigate to your local directory and edit (eg: open each .md file with Typora or Visual Studio Code)
\r\n
    Markdown Standards
\r\n
The following table shows a short example of some standards that we should ALL follow when editing and creating our markdown files.
\r\n
\r\n \r\n {MARKDOWN_FILES.map(header => ())}\r\n \r\n \r\n {MARKDOWN_FILES_DATA.map((data, index) => (\r\n \r\n ))} \r\n
{header.caption}
{data?.location}{data?.docs}
\r\n
Example
\r\n
    \r\n {MARKDOWN_LIST.map((data, index) => (
  1. {data.title}
  2. ))}\r\n
\r\n
These changes are automatically detected by github desktop
Within github desktop – commit to master (put a summary in first)
\r\n \r\n
And then click on Commit to master and push origin (this box should disappear when done)
\r\n \r\n
You should be able to verify your changes in your CLONED git repo
Once your happy with all of your changes – and you want them pulled into the master repo – create a pull request
\r\n
    \r\n
  1. Go to your cloned repository eg: window.open(CLONED_REPOSITORY, '_blank')}>https://github.dxc.com/rgraham33/intelligence-oc
  2. \r\n
  3. Select Pull requests tab
  4. \r\n
  5. Select New Pull request”
  6. \r\n
  7. Select Create Pull request”
  8. \r\n
  9. Enter your title, and select create pull request
  10. \r\n
\r\n
Team process will approve or reject your pull request based on the review results.
\r\n
    Syncing your CLONE with the upstream/master repo
\r\n
Remember: YOU ARE NOT the ONLY person contributing to the repo. It is highly likely - if not 100% guaranteed - the upstream/master branch will be several commits INFRONT of your clone. You should endeavor to sync your clone with the upstream/master before commencement of your amendments/additions.

\r\n
To do this - within your github desktop application - follow these instructions (VERY CAREFULLY)

\r\n
Click on the ‘current branch’ tab and first select ‘master’ as the current branch (if it’s not already selected). Click on the ‘fetch origin’ button.
\r\n
Click on the ‘current branch’ tab again and click the ‘choose a branch to merge into master’ button at the bottom.
\r\n \r\n
* NOTE: Looking down this list, you will find 2 entries for every branch. Those that are prefixed with origin/ are the branches in your fork, and those prefixed with upstream/ are those in the original repository on GitHub. Select upstream/master from this list (and click merge upstream master button), and this pull the changes down from the master repository to bring your local clone up to date.
\r\n \r\n
Once your local clone has finished pulling the updates from the master repo - your local PC (aka the clone) will contain all of the latest files from the upstream/master. You may now proceed with editing.

\r\n
You can choose to push all of these changes to your forked repo NOW or AFTER you have finished your changes.

\r\n
To push these new changes to your fork, stored on GitHub, using the push origin button on GitHub desktop. (once push function complete - this button disappears).

\r\n
Refer window.open(GITHUB_DOCUMENTATION, '_blank')}>GitHub Documentation for more details about DXC GitHub & DevOps documentation.
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Tools We Use\r\n \r\n <>\r\n
\r\n
\r\n Dedicated Tools\r\n {DEDICATED_TOOLS.map((list, index) => ({list.title}))}\r\n
\r\n
\r\n Generic Ones\r\n {GENERIC_ONES.map((list, index) => ({list.title}))}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n )\r\n}\r\n\r\nexport default DeveloperGuidelines","export default \"data:image/png;base64,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\"","import React from 'react'\r\nimport './Development_env.css'\r\n\r\nconst headers = [\r\n {id:'1', caption: \"Instance\"},\r\n {id:'2', caption: \"Role\"},\r\n {id:'3', caption: \"FQDN\"},\r\n {id:'4', caption: \"Operating System\"}\r\n]\r\nconst DATA =[\r\n {id:'1', 'Instance':'DEV', 'Role':'IIS Web Server', 'FQDN':'zc4w02443.itcs.houston.dxccorp.net', 'OperatingSystem':'Server 2016 R2'},\r\n {id:'2', 'Instance':'UAT', 'Role':'SQL Database', 'FQDN':'zc4w02439.itcs.houston.dxccorp.net', 'OperatingSystem':'Server 2019'},\r\n {id:'3', 'Instance':'UAT', 'Role':'IIS Web Server', 'FQDN':'zc4w02443.itcs.houston.dxccorp.net', 'OperatingSystem':'Server 2016 R2'}\r\n]\r\nconst CODE_REPOSITORY ='https://github.dxc.com/MWSGSD/GSD-Insight-Code';\r\n\r\nconst DevelopmentEnvironment = () => {\r\n return (\r\n <> \r\n
\r\n
\r\n
Development Environment
\r\n
The GSD Insight solution development environment is setup as described:
\r\n
    \r\n
  • The code development is done on the developers PC
  • \r\n
  • The generated code & build files are uploaded to the GitHub window.open(CODE_REPOSITORY, '_blank')}>Code Repository
  • \r\n
  • The build files are copied manually to the DEV & UAT server
  • \r\n
\r\n
Note: Important to notice that UAT and DEV instances are running on the same server, but under different web instances So changes to any of the instance does not affect the other one! Both instance is connected to the same database server / databases
\r\n
\r\n \r\n \r\n \r\n {headers.map(header => (\r\n ))}\r\n \r\n \r\n \r\n {\r\n DATA.map((data, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n
{header.caption}
{data?.Instance}{data?.Role}{data?.FQDN}{data?.OperatingSystem}
\r\n
\r\n
\r\n
\r\n\r\n \r\n )\r\n}\r\n\r\nexport default DevelopmentEnvironment","export default __webpack_public_path__ + \"static/media/DocumentationStandards_commits.fb292dad.png\";","import React from 'react'\r\nimport { Accordion } from 'react-bootstrap'\r\nimport './DocumentationStandards.css';\r\nimport VerticalLine from './../../../../assets/images/VerticalLine_Headings.png';\r\nimport DocumentationStandards_commits from './../../../../assets/github-images/DocumentationStandards_commits.png';\r\nimport CopyToClipboard from './../../../../assets/github-images/CopyToClipboard.png';\r\nimport ToolTip from 'react-power-tooltip';\r\nimport { useState } from 'react';\r\n\r\n\r\nconst DOC_LOCATION = [\r\n { id: '1', caption: \"Document\" },\r\n { id: '2', caption: \"Description\" }\r\n]\r\nconst DOC_LOCATION_DATA = [\r\n { id: '1', Document: 'How to Create/Update Articles in github',\r\n Description: 'A documented process for the contribution of documentation to this github repository',\r\n href:'https://github.dxc.com/pages/Innovation-Automation/innovation_team/standards/documentation/create_wiki_article/'\r\n }\r\n]\r\nconst ARTICLE = [\r\n { id: '1', caption: \"Other Articles\" },\r\n { id: '2', caption: \"Description\" }\r\n]\r\nconst ARTICLE_DATA = [\r\n { id: '1', OtherArticles: 'mkdocs-awesome-pages-plugin',\r\n Description: 'This module is used to control the layout of your pages (using .pages files) located in your repo',\r\n href:'https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin' },\r\n { id: '2', OtherArticles: 'docs-mkdocs-template',\r\n Description: 'This is the initial instructions that have been used to originally configure your github repo and to link all required automation to build github pages via the jenkins pipeline',\r\n href:'https://github.dxc.com/Platform-DXC/docs-mkdocs-template#setup'\r\n }\r\n]\r\n\r\nconst GITHUB='https://github.dxc.com/MWSGSD/GSD-Insight';\r\n\r\nconst arrange_list = [\r\n { id: '1', caption: \"- Team\" },\r\n { id: '2', caption: \"- enhancement_questionaire.md\" },\r\n { id: '3', caption: \"- product_release_notes.md\" },\r\n { id: '4', caption: \"- Product_status_reports\" },\r\n { id: '5', caption: \"- roadmaps\" }\r\n]\r\nconst DocumentationStandards = () => {\r\n const [showArrangeTooltip,setShowArrangeTooltip] = useState(false);\r\n const [showTooltip, setShowTooltip] = useState(false);\r\n const [showArchiveTooltip, setShowArchiveTooltip] = useState(false);\r\n const [tooltipText, setTooltipText] = useState(false);\r\n function copyElementToClipboard(element) {\r\n window.getSelection().removeAllRanges();\r\n let range = document.createRange();\r\n range.selectNode(typeof element === 'string' ? document.getElementById(element) : element);\r\n window.getSelection().addRange(range);\r\n document.execCommand('copy');\r\n window.getSelection().removeAllRanges();\r\n }\r\n\r\n \r\n return (\r\n <>\r\n
\r\n
\r\n
Documentation Standards
\r\n
\r\n \r\n \r\n \r\n Documentation Location\r\n \r\n <>\r\n
Some standards are located in alternate github locations. Please refer:
\r\n
\r\n \r\n {DOC_LOCATION.map(header => ())}\r\n \r\n \r\n {DOC_LOCATION_DATA.map((data, index) => (\r\n \r\n ))} \r\n
{header.caption}
{data.Document}{data?.Description}
\r\n \r\n
\r\n
\r\n \r\n \r\n GitHub Pages\r\n \r\n <>\r\n
\r\n
Our documentation, whilst created in markdown and stored in github is linked to an automated jenkins pipeline - and is typically presented to our users via github pages. This process doesn’t necessarily need to be understood in great detail - as this process is fully automated - but there are a few items that you should be aware of:
\r\n
\r\n \r\n {ARTICLE.map(header => ())}\r\n \r\n \r\n {ARTICLE_DATA.map((data, index) => (\r\n \r\n ))} \r\n
{header.caption}
{data?.OtherArticles}{data?.Description}
\r\n
    Overview
\r\n
Our documentation, whilst created in markdown and stored in github is linked to an automated jenkins pipeline - and is typically presented to our users via github pages. This process doesn’t necessarily need to be understood in great detail - as this process is fully automated - but there are a few items that you should be aware of:
\r\n
    .pages files
\r\n
Sometimes you may want to change the behavior of github pages and change the order of articles/folders, hide articles/folders or change the name of the menus. This is done via .pages files that are placed strategically in the folder structure within the repository.
\r\n
A .pages file - may contain something like:
\r\n
\r\n
title: Product Management
\r\n
arrange:
\r\n
    {arrange_list.map((data, index) => (
  • {data.caption}
  • ))}
\r\n
\r\n
{copyElementToClipboard('productManagementList');setTooltipText('Copied')}} onMouseOver={() => {setShowArrangeTooltip(true);setTooltipText('Copy')}} onMouseLeave={() => setShowArrangeTooltip(false)}/>\r\n {tooltipText}
\r\n
\r\n
Note: This is an awesome-pages file in YAML format. Therefore you must follow the YAML rules relating to spaces (not tabs).
\r\n
The title: Product Management instructs for this page to be known as “Product Management” and NOT by its folder name “product_management”. Hopefully the reason why you would want this is obvious.
\r\n
The arrange: section allows both folders and markdown files to be ordered to your liking.
\r\n
If you want article1.md to come first followed by article2.md - and then everything else present to come after that - use … as below
\r\n
\r\n
title: Example Section
\r\n
arrange:
\r\n
  • - article1.md
  • - article2.md
  • - ...
\r\n
\r\n
{copyElementToClipboard('ArrangeArticle');setTooltipText('Copied')}} onMouseOver={() => {setShowTooltip(true);setTooltipText('Copy')}} onMouseLeave={() => setShowTooltip(false)}/>\r\n {tooltipText}
\r\n
\r\n
If you have a folder - that you would like to keep in the repo - but do NOT want it shown in the menu structure In the archive folder - create a .pages file and include
\r\n
\r\n
title: Archive
\r\n
hide: true
\r\n
\r\n
{copyElementToClipboard('ArchiveTitle');setTooltipText('Copied')}} onMouseOver={() => {setShowArchiveTooltip(true);setTooltipText('Copy')}} onMouseLeave={() => setShowArchiveTooltip(false)}/>\r\n {tooltipText}
\r\n \r\n
\r\n
    Checking Progress and Status of Jenkins Pipeline
\r\n
After a successful github merge request - you can verify the progress of publishing github pages by clicking on the Commits:
\r\n
Step1\r\n \r\n
\r\n
Step2
Click on the green / or / red sign near to the release and select Details
It may well be that your pipeline is still running - or perhaps it has failed (you will see a red cross).
A successful deploy - should result in a successful publish step:
\r\n
\r\n
    Troubleshooting
\r\n
One thing to be careful about is the contents of your .pages must be syntactically correct AND valid. If you reference files/foldersthat do NOT exist - you will break the publishing process. Easiest way to check this is to follow the instructions above to see your “failed” publish

If something else causing problems - please read carefully the error message - if needed ask for help! :)
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n )\r\n}\r\n\r\nexport default DocumentationStandards","export default __webpack_public_path__ + \"static/media/ReleaseandBuildGuides_release_process.9c347061.png\";","import React from 'react'\r\nimport { Accordion } from 'react-bootstrap'\r\nimport './ReleaseandBuild.css'\r\nimport VerticalLine from './../../../../assets/images/VerticalLine_Headings.png';\r\nimport ReleaseandBuild from './../../../../assets/github-images/ReleaseandBuildGuides_release_process.png';\r\nconst List =[\r\n { id:'1', text:'The developer completes a change on its local PC development environment.'},\r\n { id:'2', text:'After initial testing - compiles the build'},\r\n { id:'3', text:'Both the code & the build is synchronized to GitHub code repository via GitHub Desktop'},\r\n { id:'4', text:'The build files are manually copied to the respective WEB server location (dev, uat, prod)'},\r\n { id:'5', text:'In case of need restart of the IIS can be required to pickup the changes… '}\r\n]\r\nconst process_list =[\r\n { id:'1', text:'Receive of the change / request in GitHub'},\r\n { id:'2', text:'Evaluation & decision & prioritization + adding to the JIRA backlog'},\r\n { id:'3', text:'Development and release to DEV for internal validation'},\r\n { id:'4', text:'Release to UAT for end user validation & testing '},\r\n { id:'5', text:'Release to PROD environment + adding to release notes description'}\r\n]\r\nconst Enhancement =[\r\n { id:'1', text:'Check your code into github'},\r\n { id:'2', text:'TAG your code with the JIRA number associated with your release'},\r\n { id:'3', text:'Update your JIRA task with INSTALLATION INSTRUCTIONS'},\r\n { id:'4', text:'Update your JIRA task with RELEASE NOTES'},\r\n { id:'5', text:'Move your JIRA task into Release to UAT Status'}\r\n]\r\nconst Enhancement_UAT =[\r\n { id:'1', text:'JIRA must be updated by COB each Tuesday'},\r\n { id:'2', text:'A team member will assemble the FULL release instructions from ALL JIRA requests in Release to UAT status on following day (Wednesday)'},\r\n { id:'3', text:'Consolidated instructions will be sent and reviewed in daily SCRUM meeting'},\r\n { id:'4', text:'If instructions are approved - release to UAT will occur the following day (Thursday)'}\r\n]\r\nconst ReleaseandBuildGuides = () => {\r\n return (\r\n <>\r\n
\r\n
\r\n
Release and Build Guides
\r\n
\r\n \r\n \r\n \r\n Deployment to Servers\r\n \r\n <>\r\n
\r\n
    Security Properties
\r\n
\r\n
    \r\n {List.map((list, index) => (
  1. {list.text}
  2. ))}\r\n
\r\n
    In the future to have the CI/CD pipeline implemented which will automatically push the changes from the GitHub repository to the respective WEB server(s).
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Release Process\r\n \r\n <>\r\n
    Overview
\r\n
\r\n
Our team implements a structured process for releasing enhancements and fixes to production
\r\n
This process involves:
\r\n
    \r\n {process_list.map((list, index) => (
  1. {list.text}
  2. ))}\r\n
\r\n
\r\n
\r\n
There are typically two types of release:
\r\n
Enhancement: this is the normal situation where product development leads to a point where some NEW feature or functionality is added and released.
\r\n Hotfix: this situation occurs if during a previous releases - we have introduced an issue (deemed urgent) that was NOT present prior. This process allows for Production to be patched immediately.\r\n
\r\n
    Enhancement
\r\n
    \r\n {Enhancement.map((list, index) => (
  1. {list.text}
  2. ))}\r\n
\r\n
    \r\n {Enhancement_UAT.map((list, index) => (
  1. {list.text}
  2. ))}\r\n
\r\n
\r\n
    HotFix
\r\n
You should seek approval from your technical lead for application of hotfixes. Hotfix needs to be tested on UAT first before to be release to production.
\r\n
    Release Notes
\r\n
After successful release, release notes needs to be published under GitHub documentation - related section.
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n )\r\n}\r\n\r\nexport default ReleaseandBuildGuides","import React from 'react'\r\nimport './ProductMaintenance.css';\r\nimport VerticalLine from './../../../../assets/images/VerticalLine_Headings.png';\r\n\r\n\r\nconst ProductMaintenance = () => {\r\n\r\n const DATA_RETENTION='https://dxcportal.sharepoint.com/sites/GSDInsight/Shared%20Documents/Forms/AllItems.aspx?id=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation%2FGSD%5FInsight%5FData%5FRetention%5FPolicy%5FProcess%5Fv20220314%2Epdf&parent=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation';\r\n const SIRCC = 'https://my.dxc.com/departments/got/global-cyber-security/incident-reporting';\r\n return (\r\n <> \r\n
\r\n
\r\n
Product Maintenance
\r\n \r\n
\r\n
    Data Retention Policy and Process
\r\n Data Retention Policy and Process document is described and located \r\n here \r\n .\r\n
\r\n
\r\n
    Security Patching
\r\n
For each server, the Windows OS upgrades are installed automatically by DXC IT with BigFix. The maintenance window is sent out via email for each server in scope by \r\n \r\n DXCIT Server Patching Team \r\n \r\n in the form of a change request. The patching always takes place during out of office business hours, usually on the first Sunday of the month. After the patching process is completed, the servers are rebooted.
\r\n
\r\n
\r\n
    Security Properties
\r\n
Specific security properties related to ITAR countries/accounts will be defined later
\r\n
\r\n
\r\n
    Security Vulnerability Incidents
\r\n
Please refer to DXC standard process ( SIRCC ).
\r\n
\r\n
\r\n\r\n \r\n )\r\n}\r\n\r\nexport default ProductMaintenance","export default __webpack_public_path__ + \"static/media/DeveloperSupport_general_cloud_support_process_incident.41d0b99e.png\";","export default __webpack_public_path__ + \"static/media/DeveloperSupport_general_cloud_support_process_create_new_inc.6f1520a8.png\";","export default __webpack_public_path__ + \"static/media/DeveloperSupport_general_cloud_support_process_ticket.bde0a915.png\";","import React, { useState } from 'react'\r\nimport { Accordion } from 'react-bootstrap';\r\nimport './DeveloperSupport.css';\r\nimport VerticalLine from './../../../../assets/images/VerticalLine_Headings.png';\r\nimport DeveloperSupportIcon from './../../../../assets/github-images/DeveloperSupport_general_cloud_support_process_incident.png';\r\nimport Developercreatenew from './../../../../assets/github-images/DeveloperSupport_general_cloud_support_process_create_new_inc.png';\r\nimport CloudSupport from './../../../../assets/github-images/DeveloperSupport_general_cloud_support_process_ticket.png';\r\nimport CopyToClipboard from './../../../../assets/github-images/CopyToClipboard.png';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { RequestTab, RequestTabPopup } from '../../GitHub_LandingPage/Models';\r\n\r\nconst APP_SUPPORT_TEAM = [\r\n { id: '1', caption: \"IF the problem is application related a check and fix it.\" },\r\n { id: '2', caption: \"IF the problem is platform related a check the platform availability for possible issues and a inform the respective Development team & Attila Szabo to check and fix the issue.\" },\r\n { id: '3', caption: \"When platform problem is fixed check the application and confirm that all is back to normal operation.\" },\r\n { id:'4',caption:\"IF the platform can’t be fixed by you and Attila is NOT available a follow this guide to open a ticket to the Cloud IT support team.\"}\r\n]\r\nconst REQUIREMENTS =[\r\n {id:'1',main:\"Network Requirements:\",description:'All users accessing the application need to be connected to the corporate network from the office or from home via Secure Pulse VPN. Browsers network settings to be set for the right settings (corporate standard).'},\r\n {id:'2',main:\"Browser Requirements:\",description:'Although Microsoft Internet Explorer is the preferred web browser for DXC, Google Chrome is also supported by IT and Cyber Security. If your account or organization allows the use of Chrome, you can install it from Google.'},\r\n {id:'3',main:\"Step by step instructions for Support teams, Developers, Technical & Business owners\",description:'Please go step by step to identify the root cause and the respective actions:'},\r\n]\r\nconst CLOUD_V2 =[\r\n {id:'1',description:'Always mention the affected **SERVERNAME** - Configuration Item'},\r\n {id:'2',description:'Always mention the related **EPR** **ID:** **206921** - Correlation ID'},\r\n {id:'3',description:'Always mention who is the contact person for the issue – **EMAIL** **ADDRESS** + attilas@dxc.com'},\r\n]\r\n\r\nconst DeveloperSupport = () => {\r\n const history = useHistory();\r\n const [showRequestModel, setShowRequestModel] = useState(false);\r\n return (\r\n <>\r\n
\r\n
\r\n
Developer Support
\r\n
\r\n \r\n \r\n \r\n Cloud Servers Support Process\r\n \r\n <>\r\n
\r\n
    How to open a ticket to DXC SSZ - Cloud support?
\r\n
Target Audience
\r\n
\r\n
  • Application Owners
  • Application Developers
  • \r\n
  • Business Owners
\r\n
Prerequisite checks before opening the ticket
\r\n
The following checks to be executed before a ticket is opened:
Note: Applications are running on servers located in the DXC SSZ Cloud infrastructure – located physically in USA (Houston). The users are authenticated based UID policy and requirements.
\r\n {REQUIREMENTS.map((data, index) => (<>
{data.main}
\r\n
{data.description}
))}\r\n
Application Support team:
\r\n
    {APP_SUPPORT_TEAM.map((data, index) => (
  1. {data.caption}
  2. ))}
\r\n
Generic Situation:
\r\n
IF the application development team members are not available à application owners should open the ticket based on the description to have the platform checked by IT.
\r\n
Communication:
\r\n
All communications to end users to be handled by the Application owners.
\r\n
\r\n
\r\n
    How to open ticket to IT support?
\r\n
  1. Open the DXC ServiceNow portal - https://csc.service-now.com/
  2. ​Search for the word incident
\r\n \r\n
1. Select Create New or the New push button on the top
\r\n \r\n
1. A new incident form appears. Fill out the form as required
\r\n \r\n
Business Service is always to be Cloud V2 Services | Cloud V2
\r\n Please add these details to the description of your problem AND
\r\n
\r\n
    {CLOUD_V2.map((data, index) => (
  1. {data.description}
  2. ))}
\r\n
\r\n
\r\n
  1. Submit the ticket
  2. \r\n
  3. If you need to elevate the ticket (or if a major outage – create an MI) you can call the OMC along with the ticket number with business impact justification and they can elevate the ticket (an eNote alert will be sent to the proper support team).
  4. \r\n
\r\n
Their number is +1.800.396.3798 (itio-sso-omc-all@dxc.com)
\r\n
!!! Elevate only in case there is a major impact on the end users !!!
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n GSD Insight Application Support\r\n \r\n <>\r\n Please see the relevant content under \r\n history.push('/user')}>User section or you can raise  \r\n setShowRequestModel(true)}>Request/Incident. \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n {showRequestModel && \r\n setShowRequestModel(false)}\r\n />\r\n }\r\n\r\n \r\n\r\n \r\n )\r\n}\r\n\r\n\r\nexport default DeveloperSupport","import React from 'react'\r\nimport './DesignPrinciples.css'\r\nconst DesignPrinciples = () => {\r\n\r\n const OFFICE_SITE = 'https://github.dxc.com/pages/ArchitectureOffice/Standards/Design_Principles/';\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
Design Principles
\r\n
DXC Technology’s design principles guide DXC technologists and partners who are designing or developing a DXC product, offering, solution or service.
\r\n
The design principles also offer a look into the heart and soul of DXC - how we work and approach problems. All contributors should understand the principles and adhere to them in their projects.
\r\n
For the latest principles and guidelines please visit the Architecture Office site
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default DesignPrinciples;","import React from 'react'\r\nimport DeveloperOffcanvas from './DeveloperOffcanvas';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Footer } from '../HeaderFooter';\r\nimport InfraStructure from './DeveloperCards/InfraStructure';\r\nimport { useSelector } from 'react-redux';\r\nimport DeveloperAccess from './DeveloperCards/DeveloperAccess';\r\nimport DeveloperGuidelines from './DeveloperCards/DeveloperGuidelines';\r\nimport DevelopmentEnvironment from './DeveloperCards/DevelopmentEnvironment';\r\nimport DocumentationStandards from './DeveloperCards/DocumentationStandards';\r\nimport ReleaseandBuildGuides from './DeveloperCards/ReleaseandBuildGuides';\r\nimport ProductMaintenance from './DeveloperCards/ProductMaintenance';\r\nimport DeveloperSupport from './DeveloperCards/DeveloperSupport';\r\nimport DesignPrinciples from './DeveloperCards/DesignPrinciples';\r\n\r\n\r\n\r\nfunction DeveloperCards() {\r\n const history = useHistory();\r\n const developerCard = useSelector(state => state.githubReducer.developerCard)\r\n const DeveloperCardDisplay = () => {\r\n switch (developerCard.text) {\r\n case 'infra': return \r\n case 'access': return \r\n case 'guidelines': return \r\n case 'environment': return \r\n case 'standard': return \r\n case 'release': return \r\n case 'product': return \r\n case 'support': return \r\n case 'principle': return \r\n default: { }\r\n }\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n history.push('/githublanding')}>Home\r\n history.push('/developer')} >{` / `} Developer\r\n {` / `} {developerCard.title}\r\n
\r\n
\r\n
\r\n {DeveloperCardDisplay()}\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default DeveloperCards","export default __webpack_public_path__ + \"static/media/User_HeroBanner.29a3d0cb.png\";","import React from 'react'\r\nimport AdminBreadcrumb from '../../Administration/General/Admin-breadcrumb'\r\nimport { Footer } from '../HeaderFooter';\r\nimport User_HeroBanner from './../../../assets/github-images/User_HeroBanner.png';\r\nimport VerticalLine from './../../../assets/images/VerticalLine_Headings.png';\r\nimport './User.css';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst security_Cards= [\r\n {\r\n id: 1,\r\n title:'Where are our toolsets hosted?',\r\n text:'The servers are physically hosted in the USA within the DXC SSZ infrastructure in the Houston Data Centre.'\r\n },\r\n {\r\n id: 2,\r\n title:'What Security policies govern this framework?',\r\n text:'The servers databases, mailboxes and supporting CODE is hosted in accordance with DXC security policies, requiring an annual Security review to remain within this hosted environment.'\r\n },\r\n {\r\n id: 3,\r\n title:'Who supports and has accesss to the data residing on the servers?',\r\n text:'Database and back-end access is restricted solely to tool administrators and developers.'\r\n },\r\n {\r\n id: 4,\r\n title:'Who can access the data through the user interface?',\r\n text:'GSD Insight is available only for Internal DXC staff. Connection to the DXC network is required (physically within an DXC office or via a Secure Pulse VPN).The role based access model is described in a separate document.'\r\n },\r\n {\r\n id: 5,\r\n title:'What data is collected?',\r\n text:'A multitude of GSD related data sources are required to make a truly useful governance platform.'\r\n }]\r\n\r\n const GSD_URL = [\r\n { id: '1', caption: \"Environment\" },\r\n { id: '2', caption: \"GSD UI URL\" }\r\n]\r\nconst GSD_URL_LIST = [\r\n { id: '1', 'Environment': 'Production Instance', 'GSD_UI_URL':'https://gsd-insight.houston.dxccorp.net',href:'https://gsd-insight.houston.dxccorp.net'}\r\n]\r\n\r\nconst GLOBAL_SLA_KPI = [\r\n { id: '1', caption: \"Global Standard SLAs\",href:'https://dxcportal.sharepoint.com/:x:/r/sites/GSDInsight/_layouts/15/Doc.aspx?action=edit&sourcedoc=%7B66f9ae2d-1a43-4fad-9ad3-054a0cd9d811%7D&wdOrigin=TEAMS-ELECTRON.teamsSdk.openFilePreview&wdExp=TEAMS-CONTROL&cid=e2623342-1ebe-4bde-8cf2-53566bafba2a' },\r\n { id: '2', caption: \"Global KPI Standards and Metrics\",href:'https://dxcportal.sharepoint.com/:w:/r/sites/GSDInsight/_layouts/15/Doc.aspx?sourcedoc=%7B4B4C0E9A-ECF7-45AB-80BB-32CF46D67105%7D&file=MWS_GSD_WFM_KPIs-Standards_and_Metric.docx&action=default&mobileredirect=true' }\r\n]\r\n\r\nconst MS_TEAMS ='https://teams.microsoft.com/l/team/19%3aI-wF3DALEKei_jMiwPbiE4IDvpni3HCHbbZajBRyNk81%40thread.tacv2/conversations?groupId=b47fd5cb-2b61-4939-9254-7be4518dd717&tenantId=93f33571-550f-43cf-b09f-cd331338d086';\r\nconst User = () => {\r\n const history = useHistory();\r\n return (\r\n <>\r\n
\r\n
\r\n history.push('/githublanding')} label1='Home' isActive2={false} label2='User' />\r\n
\r\n
User
This section provides high-level information to all users about access to GSD Insight Portal, standard definition of metrics, security model and other MS Teams links, which will connect the users to all relevant details.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
GSD Insight URL list
GSD Insight solution is available within DXC internal network running from the DXC IT centralized instance in Houston. Please refer the below tables for details:\r\n
\r\n \r\n {GSD_URL.map(header => ())}\r\n \r\n \r\n {GSD_URL_LIST.map((data, index) => (\r\n \r\n \r\n ))} \r\n
{header.caption}
{data?.Environment} {data?.GSD_UI_URL}
\r\n
\r\n
Access to GSD Insight
In order to successfully access GSD Insight the following requirements need to be met: \r\n
    \r\n
  • User needs to possess Universal ID
  • \r\n
  • User needs to log into Appgate or Pulse VPN and select the Houston Server option
  • \r\n
\r\n
For further details we would like to redirect you to
\r\n \r\n
\r\n
\r\n
\r\n
GSD Standards
Standard Definition and Metric Calculation for Global Service Desk is detailed in the following official documents:\r\n
\r\n
\r\n
Useful Links
Under our MS TEAMs channel you will find all relevant informations and documentation.
\r\n
\r\n
\r\n
      GSD Insight Security Model
\r\n
\r\n {security_Cards.map((link, index) => (
{link.title}
{link.text}
))}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default User","export default __webpack_public_path__ + \"static/media/Security_HeroBanner_Image.932b1d4b.png\";","import React from 'react'\r\nimport AdminBreadcrumb from '../Administration/General/Admin-breadcrumb';\r\nimport Security_HeroBanner_Image from './../../assets/github-images/Security_HeroBanner_Image.png';\r\nimport VerticalLine from './../../assets/images/VerticalLine_Headings.png';\r\nimport { Footer } from './HeaderFooter';\r\nimport './../GitHub/user/User.css';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst RBAC_LIST= [\r\n {\r\n id: 1,\r\n title:'Role Assignment',\r\n text:'A user can exercise a permission only if has been selected or been assigned a role.'\r\n },\r\n {\r\n id: 2,\r\n title:'Role Authorisation ',\r\n text:'A user’s active role must be authorized. Can’t just assign itself to a role. Authorization is required.'\r\n },\r\n {\r\n id: 3,\r\n title:'Permission Authorisation',\r\n text:'A user can exercise a permission only if the permission is authorized for the user’s active role. With rules 1 and 2, this rule ensures that users can only exercise permissions for which they are authorized.'\r\n }]\r\n\r\n const Benefits= [\r\n { id: 1, title:'Enhances security & compliance'},\r\n { id: 2, title:'Reduces IT and administration effort'},\r\n { id: 3, title:'Maximizes the operational efficiency'},\r\n { id: 4, title:'Decreases the risk of breaches and data leakage'},\r\n { id: 5, title:'Reduces cost'},\r\n ]\r\n const Implementing= [\r\n { id: 1, title:'Define the services which will be provided to end users'},\r\n { id: 2, title:'Create the mapping of the roles to specific resources'},\r\n { id: 3, title:'Create security groups which represent each role'},\r\n { id: 4, title:'Assign the users to the created roles'},\r\n { id: 5, title:'Apply the groups to access the required services / resources'},\r\n ]\r\n const Documents= [\r\n { id: 1, title:'ROLE BASED ACCESS REPOSITORY is located ',href:'https://dxcportal.sharepoint.com/sites/GSDInsight/Shared%20Documents/Forms/AllItems.aspx?RootFolder=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation%2FRBAC'},\r\n { id: 2, title:'Main overview is captured ',href:'https://dxcportal.sharepoint.com/:w:/r/sites/GSDInsight/_layouts/15/Doc.aspx?sourcedoc=%7B000EF271-60FC-4424-BD92-8589F678F509%7D&file=GSD%20Insight_RBAC_1.0.docx&action=default&mobileredirect=true&cid=fbe28c33-0698-459e-871f-f4578483ddf7'},\r\n { id: 3, title:'Implementation control details are captured ',href:'https://dxcportal.sharepoint.com/:w:/r/sites/GSDInsight/_layouts/15/Doc.aspx?sourcedoc=%7B57279015-93EE-4CC9-8A72-F8D6B3B7E06C%7D&file=RBAC-Implementation_Control.docx&action=default&mobileredirect=true&wdOrigin=TEAMS-ELECTRON.teams.files&wdExp=TEAMS-CONTROL&wdhostclicktime=1637860520099&cid=70f7c771-1e04-4c0a-893f-dc7183d4fb64'}\r\n ]\r\n \r\n const UID='https://my.dxc.com/departments/got/global-cyber-security/security-enhancement/universal-id'\r\n const OKTA ='https://csc.service-now.com/sp?sys_kb_id=fa9d78711b003090bb25eca0604bcbae&id=kb_article_view&sysparm_rank=2&sysparm_tsqueryId=2c4cc5131b397c945c6eedb2604bcb00';\r\n\r\n const Security = () => {\r\n const history = useHistory();\r\n return (\r\n <>\r\n
\r\n
\r\n history.push('/githublanding')} label1='Home' isActive2={false} label2='Security' />\r\n
\r\n
Security
Overview of global DXC security prerequisites and the correlating access authorisations and role-based-access-control mechanisms. Account restrictions, storage and security requirements aligned with DXC standards are managed through the GSD Insight platform.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Security and Access Model
\r\n GSD Insight application authenticates a user using the corporate OKTA UID - and then internally manages what data the user is able to view based on the internal RBAC model.

\r\n Reporting and Auditing of GSD Insight Access
A “GSD Access Report” is available within the solution.\r\n
\r\n
UID Integration
\r\n The new company standard to authenticate users when accessing specific applications is the UID solution - replacing the Global Pass solution.

\r\n GSD Insight is integrated with UID to authenticate the user’s login and thereby providing access to all DXC Technology employees.

\r\n You can check here how to setup your OKTA UID authentication.\r\n
\r\n
\r\n \r\n
\r\n
      What is RBAC
\r\n
\r\n
\r\n Role-Based Access Control (RBAC) is a security solution whereby users are granted access to specific resources based on their role in the company or department.

\r\n RBAC, if implemented correctly, can be an effective way of enforcing the principle of least privilege access.

\r\n Usually RBAC solution is based on the application of three basic principles. How these are applied in individual organizations can vary, but these principles remain invariable:

\r\n
\r\n
\r\n {RBAC_LIST.map((link, index) => (
  • {link.title} - {link.text}
  • ))}\r\n
    \r\n
    \r\n
    The Benefits of RBAC
    \r\n {Benefits.map((link, index) => (
  • {link.title}
  • ))}\r\n
    \r\n
    Implementing RBAC
    \r\n { Implementing.map((link, index) => (
  • {link.title}
  • ))}\r\n
    \r\n
    Role Based Access Documents
    \r\n {Documents.map((link, index) => (
  • {link.title} here
  • ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default Security","export default __webpack_public_path__ + \"static/media/Overview_Product_Selection_Image.26b63954.png\";","import React from 'react';\r\nimport './OverView.css';\r\nimport { Accordion } from 'react-bootstrap';\r\nimport VerticalLine from './../../../assets/images/VerticalLine_Headings.png';\r\nimport Overview_Product_Selection_Image from './../../../assets/github-images/Overview_Product_Selection_Image.png';\r\nimport { Footer } from '../HeaderFooter';\r\n\r\nconst BUSINESS_REQUIREMENTS= [\r\n {\r\n id: 1,\r\n title:'Comprehensive Reporting Platform',\r\n text:'Integrated data, reporting and analytics for GSD capability.'\r\n },\r\n {\r\n id: 2,\r\n title:'SLA/KPI Reporting and Dashboarding',\r\n text:'Applied standard definitions and metric calculations for Global Service Desk Service Level Agreements & Key Performance Indicators. Detailed reporting views developed with download option.'\r\n },\r\n {\r\n id: 3,\r\n title:'Multiple Data Sources',\r\n text:'Handle multiple data sources and integrate into a Central Reporting & Analytics system.​'\r\n },\r\n {\r\n id: 4,\r\n title:'Data Ingestion and Processing',\r\n text:'Data ingestion standardization and normalization should happen automatically (non-human). Ability to develop seamless data ingestion mechanism.'\r\n },\r\n {\r\n id: 5,\r\n title:'RBAC Access Model',\r\n text:'Role based access to data and reports.'\r\n }]\r\n\r\n const DATA_SOURCE= [\r\n {\r\n id: 1,\r\n title:'Ticketing System',\r\n text:'Tools for managing customer incident, requests related tickets.'\r\n },\r\n {\r\n id: 2,\r\n title:'Customer Satisfaction Survey Tool',\r\n text:'Tools of Surveying customer’s End User’s satisfaction related to the service and handled incident, request ticket.'\r\n },\r\n {\r\n id: 3,\r\n title:'Chat Tool',\r\n text:'Tools for managing chat based inbound channel for End Users.​'\r\n },\r\n {\r\n id: 4,\r\n title:'Transaction Monitoring Tool',\r\n text:'Tools for managing Transaction (voice, ticket) quality evaluations.'\r\n },\r\n {\r\n id: 5,\r\n title:'Web Portal Tool',\r\n text:'Tools for managing Portal based inbound channel for End Users.'\r\n },\r\n {\r\n id: 6,\r\n title:'E-mail Tool',\r\n text:'Tools for managing E-mail based inbound channel for End Users as well as managing outbound e-mail interactions.'\r\n },\r\n {\r\n id: 7,\r\n title:'Workforce Management Tool (Scheduling)',\r\n text:'Tools for managing Work Force scheduling (time, attendance).'\r\n },\r\n {\r\n id: 8,\r\n title:'Financial Tools (P/L mapping, Cost Center)',\r\n text:'Tools for managing and allocating Work Force to financial regions, Cost Centers, Labor rates.'\r\n },\r\n {\r\n id: 9,\r\n title:'Time tracking tool (DXC Time)',\r\n text:'Tool for managing Work Force time tracking.'\r\n },\r\n {\r\n id: 10,\r\n title:'Work Force / HR tool (RMT)',\r\n text:'Tool for managing Work Force related data (FTE, Job level, Job code, Organization.'\r\n }\r\n]\r\n\r\n const AWS_Instance = [\r\n { id: '1', caption: \"\" },\r\n { id: '2', caption: \"GSD Insight\" },\r\n { id: '3', caption: \"Aceyus\" }\r\n]\r\nconst AWS_Instance_DATA = [\r\n { id: '1',data:'Back-end data modelling',GSDInsight:'Same effort in both options',Aceyus:'Same effort in both options'},\r\n { id: '2',data:'Infrastructure',GSDInsight:'Same effort in both options',Aceyus:'Same effort in both options'},\r\n { id: '3',data:'Integration with data sources not in AWS Connect',GSDInsight:'Effort needs to be done for this, but probability of usage is low',Aceyus:'Some ready-made plug-ins for SFDC/ Qfiniti / Verint available'},\r\n { id: '4',data:'Data Visualization',GSDInsight:'Limited to our imagination and usage of Power BI. Enhance and invest in WEB based UI / UX solution.',Aceyus:'Many ready-made options available. Far superior. Easy to customize and configure.'},\r\n { id: '5',data:'Long-Term Support',GSDInsight:'Needs planning to build solid documentation, put it up in GitHub and provide for support teams.',Aceyus:'Dependence on Aceyus and with additional cost'},\r\n { id: '5',data:'Usability',GSDInsight:'Needs push from Site Leadership to drive common standards and not resort to many local variations.',Aceyus:'Attractiveness of UI to pull more users of the platform'},\r\n { id: '5',data:'Cost',GSDInsight:'US$ ~240K for 3 years, with slightly higher investment/implementation costs in the first 1.5 years. Need to ring-fence a support/ enhancement team to maintain and enhance',Aceyus:'US$ 330K in FY22 and US$ 300K for 2 more years (US$1M over 3 years)'},\r\n]\r\nconst OverView = () => {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    Overview
    \r\n
    \r\n \r\n \r\n \r\n Product Selection\r\n \r\n <>\r\n
    \r\n
          GSD Insight Security Model
    \r\n
    \r\n {BUSINESS_REQUIREMENTS.map((link, index) => (
    {link.title}
    {link.text}
    ))}\r\n
    \r\n
    \r\n
        Decision Driving Factors
    \r\n
    \r\n
      \r\n
    • Value for money / Cost (consumption approach)​
    • \r\n
    • Meet business needs and DXC long term strategy​
    • \r\n
    • Conformity of Functional / Non-functional requirements​
    • \r\n
    \r\n
    \r\n \r\n
        Build Vs Buy Comparison
    \r\n
    \r\n \r\n {AWS_Instance.map(header => ())}\r\n \r\n \r\n {AWS_Instance_DATA.map((data, index) => (\r\n \r\n \r\n \r\n ))} \r\n
    {header.caption}
    {data?.data}{data?.GSDInsight}{data?.Aceyus}
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n Data Source\r\n \r\n <>\r\n
    Below is the list of data source used in GSD Insight for getting the data and using the data out of these data source as input to report creation and display.
    \r\n
    \r\n
          GSD Insight Security Model
    \r\n
    \r\n {DATA_SOURCE.map((link, index) => (
    {link.title}
    {link.text}
    ))}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n}\r\n\r\nexport default OverView","export default __webpack_public_path__ + \"static/media/Training_HeroBanner.9800d324.png\";","export default __webpack_public_path__ + \"static/media/Training_Materials.53148af6.png\";","import React, { useState } from 'react'\r\nimport './Training.css';\r\nimport AdminBreadcrumb from './../../Administration/General/Admin-breadcrumb';\r\nimport Training_HeroBanner from './../../../assets/github-images/Training_HeroBanner.png';\r\nimport Training_Materials from './../../../assets/github-images/Training_Materials.png';\r\nimport VerticalLine from './../../../assets/images/VerticalLine_Headings.png';\r\nimport { Footer } from '../HeaderFooter';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { VideoModelPopup } from '../GitHub_LandingPage/Models';\r\nimport PlatformVideo from '../GitHub_LandingPage/PlatformVideo';\r\n\r\nconst RECORDED_CARDS = [\r\n {\r\n id: 1,\r\n title: 'GSD Insight Wave 1 Closure Meeting',\r\n text: 'GSD Insight introduction meeting after completion of Wave 1 (telephony data onboarding) as the going forward GSD solution containing the global standard repository of reporting and analytics.',\r\n href:' https://dxcportal.sharepoint.com/sites/GSDInsight/Shared%20Documents/Forms/AllItems.aspx?FolderCTID=0x012000E6B3722E8FCB1A4BB398EDB8F620E4AC&id=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation%2FTraining%20Materials%2FWave%201%20Closing%20Video%2FGSD%20Insight%20%2D%20Wave%201%20Closure%20%E2%80%93%20First%20Session%2D20211013%5F153308%2DMeeting%20Recording%2Emp4&parent=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation%2FTraining%20Materials%2FWave%201%20Closing%20Video'\r\n },\r\n {\r\n id: 2,\r\n title: 'GSD Insight Wave 1 Production Release Demo',\r\n text:'Training guide for GSD Insight Wave 1 production, introduction of current Landing Page, Menus, Regional/Site Selection Page, DTM Report and Site Level SLA Dashboard.',\r\n href:'https://dxcportal.sharepoint.com/sites/GSDInsight/Shared%20Documents/Forms/AllItems.aspx?csf=1&web=1&e=sDyVrf&cid=22a54140%2De5a0%2D4b9b%2Dbfdd%2Ddc4d12e175fa&FolderCTID=0x012000E6B3722E8FCB1A4BB398EDB8F620E4AC&id=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation%2FTraining%20Materials%2FWave%201%20Release%20Recordings%2FDEMO%20Recording%20%2D%20GSD%20Insight%5F%20Wave%201%20Production%20Release%2Emp4&parent=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation%2FTraining%20Materials%2FWave%201%20Release%20Recordings'\r\n },\r\n {\r\n id: 3,\r\n title: \"GSD Insight Wave 1 Next Steps Demo\",\r\n text:'FMO Design concept introduction for Landing Page and Widget Setup, Regional/Site Selection Page, DTM Report, DTM Report detailed analytics and Executive Dashboard.',\r\n href:'https://dxcportal.sharepoint.com/sites/GSDInsight/Shared%20Documents/Forms/AllItems.aspx?csf=1&web=1&e=sDyVrf&cid=22a54140%2De5a0%2D4b9b%2Dbfdd%2Ddc4d12e175fa&FolderCTID=0x012000E6B3722E8FCB1A4BB398EDB8F620E4AC&id=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation%2FTraining%20Materials%2FWave%201%20Release%20Recordings%2FDEMO%20Recording%20%2D%20GSD%20Insight%5F%20Next%20Steps%2Emp4&parent=%2Fsites%2FGSDInsight%2FShared%20Documents%2FGeneral%2FDocumentation%2FTraining%20Materials%2FWave%201%20Release%20Recordings'\r\n }\r\n]\r\n\r\nconst TRAINING_MATERIAL= [\r\n {\r\n id: 1,\r\n title:'GSD Insight Introduction',\r\n href:'/notinproduction'\r\n },\r\n {\r\n id: 2,\r\n title:'Navigation',\r\n href:'https://dxcportal.sharepoint.com/:p:/r/sites/GSDInsight/_layouts/15/Doc.aspx?sourcedoc=%7BDC8D92B3-5160-46EA-B326-8656F22930C8%7D&file=Training_Navigation.pptx&action=edit&mobileredirect=true'\r\n },\r\n {\r\n id: 3,\r\n title:'Day-To-Month Report',\r\n href:'https://dxcportal.sharepoint.com/:p:/r/sites/GSDInsight/_layouts/15/Doc.aspx?sourcedoc=%7BFA6CA7CF-3436-48FD-9C3A-E75BCF824FD6%7D&file=Training_DTM.pptx&wdLOR=c43A27992-9331-4FAB-8F5E-CFF4B06175C4&action=edit&mobileredirect=true'\r\n },\r\n {\r\n id: 4,\r\n title:'Executive Dashboard',\r\n href:'https://dxcportal.sharepoint.com/:p:/r/sites/GSDInsight/_layouts/15/Doc.aspx?sourcedoc=%7B9263C8CF-0E02-434E-8723-1A93D08C98A1%7D&file=Training_Guide_Executive_Dashboard.pptx&action=edit&mobileredirect=true'\r\n},\r\n{\r\n id: 5,\r\n title:'Landing Page',\r\n href:'https://dxcportal.sharepoint.com/:p:/r/sites/GSDInsight/_layouts/15/Doc.aspx?sourcedoc=%7BF487ACAF-6E97-407B-B4E2-70C9DD5222B3%7D&file=Training_Guide_Landing_Page.pptx&action=edit&mobileredirect=true'\r\n},\r\n{\r\n id: 6,\r\n title:'Onboard',\r\n href:'https://dxcportal.sharepoint.com/:p:/r/sites/GSDInsight/_layouts/15/Doc.aspx?sourcedoc=%7BFD69EC0A-516A-41B5-A425-98373BFA45FA%7D&file=Training_Guide_Onboard.pptx&wdLOR=cC1724915-0F72-4236-BCF4-E9372221E08A&action=edit&mobileredirect=true'\r\n},\r\n{\r\n id: 7,\r\n title:'Administration',\r\n href:'https://dxcportal.sharepoint.com/:p:/r/sites/GSDInsight/_layouts/15/Doc.aspx?sourcedoc=%7BAE2D11B7-0112-4694-9B7B-11EB6BA08D0C%7D&file=Training_Guide_Administration_StaffAdministration.pptx&action=edit&mobileredirect=true'\r\n},\r\n{\r\n id: 8,\r\n title:'Request/Incident',\r\n href:'https://dxcportal.sharepoint.com/:p:/r/sites/GSDInsight/_layouts/15/Doc.aspx?sourcedoc=%7BB007558A-B43F-4379-A2A9-1B28FE5080B0%7D&file=Training_Guide_Request_Incident.pptx&wdLOR=cE55853D7-C2F6-4C10-A7D0-9BC015A7C79C&action=edit&mobileredirect=true'\r\n}\r\n]\r\n\r\nconst Training = () => {\r\n const history = useHistory();\r\n const [showVideoModel, setShowVideoModel] = useState(false);\r\n return (\r\n <>\r\n
    \r\n
    \r\n history.push('/githublanding')} label1='Home' isActive2={false} label2='Training' />\r\n
    \r\n
    Training
    The training section refers to learning activities which GSD Insight users can undertake with the aim to acquire the overview and necessary skills for the easy navigation on the portal. The training content on this page offers recorded sessions and decks with presentation materials.
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
        Recorded Sessions
    \r\n
    {RECORDED_CARDS?.map((grid, id) =>
    \r\n {grid.text}\r\n
    )}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Training Materials
    \r\n
    \r\n {TRAINING_MATERIAL.map((link, index) => (
    \r\n {(link.title === 'GSD Insight Introduction') ? setShowVideoModel(true)} style={{cursor:'pointer'}}> {link.title} : \r\n {link.title} }\r\n
    \r\n
    ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {showVideoModel && \r\n setShowVideoModel(false)}\r\n />\r\n }\r\n \r\n )\r\n}\r\n\r\nexport default Training","export default __webpack_public_path__ + \"static/media/Design_HeroBanner_Image.4fe70c4d.png\";","import React from 'react'\r\nimport './Design.css'\r\nimport AdminBreadcrumb from './../../Administration/General/Admin-breadcrumb';\r\nimport Design_HeroBanner_Image from './../../../assets/github-images/Design_HeroBanner_Image.png';\r\nimport RightArrow_Hover from './../../../assets/github-images/RightArrow_Hover.png';\r\nimport { Footer } from '../HeaderFooter';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { setDesignCard } from '../../../actions/github.action';\r\n\r\nconst DESIGN_CARDS = [\r\n { id: 1, title: 'Database Design', text: 'database' },\r\n {\r\n id: 2,\r\n title: 'MS Team Design',\r\n text: 'msteam'\r\n }\r\n ]\r\n \r\n \r\nconst Design = () => {\r\n const dispatch = useDispatch();\r\n const history= useHistory();\r\n const onClickDesignCards=(card)=>{\r\n dispatch(setDesignCard(card));\r\n history.push('/design/card')\r\n }\r\n return (\r\n <>\r\n
    \r\n
    \r\n history.push('/githublanding')} label1='Home' isActive2={false} label2='Design' />\r\n
    \r\n
    Design
    This section includes information about the database models and organisation / classification of data determining what data must be stored and how the data elements are connected. Database design involves also identification of all the interrelationships.
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    history.push('/database')}>
    Database Design
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default Design","export default __webpack_public_path__ + \"static/media/user-db.9e385268.png\";","export default __webpack_public_path__ + \"static/media/Organizational.f7f74eff.png\";","export default __webpack_public_path__ + \"static/media/RBAC.5cb7d90d.png\";","export default __webpack_public_path__ + \"static/media/Measure.32492acc.png\";","export default __webpack_public_path__ + \"static/media/OLAP.e5cb7fcd.png\";","import React from 'react'\r\nimport { Accordion } from 'react-bootstrap';\r\nimport user from './../../../assets/github-images/user-db.png';\r\nimport Organizational from './../../../assets/github-images/Organizational.png';\r\nimport RBAC from './../../../assets/github-images/RBAC.png';\r\nimport Measure from './../../../assets/github-images/Measure.png';\r\nimport OLAP from './../../../assets/github-images/OLAP.png';\r\nimport VerticalLine from './../../../assets/images/VerticalLine_Headings.png';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Footer } from '../HeaderFooter';\r\n\r\nconst List = [\r\n { id: '1', text: 'If not otherwise noted all text are nvarcar (240)' },\r\n { id: '2', text: 'All primary keys are integers (int)' },\r\n { id: '3', text: 'If we need GUID it will be added as a new column' },\r\n { id: '4', text: 'No complex key in use' },\r\n { id: '5', text: 'If we need complex key (or -ish) it will be a unique index' },\r\n { id: '6', text: 'Matrix type tables are denormalized (UserMembership, WidgetPreference, GenericDim, and any further dimension tables)' }\r\n]\r\nconst Database = () => {\r\n const history = useHistory();\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n history.push('/githublanding')}>Home\r\n history.push('/design')} >{` / `} Design\r\n {` / `} Database Design\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    Database Design
    \r\n
    \r\n
        Main goals
    \r\n
    \r\n
    The ultimate goal is to have a normalised database for analytical purpose. It includes data tables for user management, organisational,analytical processing, role-based access control, user preferences and the session data.
    \r\n
    Current State
    The initial set of tables, database diagrams, and relations between them have been created.
    \r\n
    Principles
    The structure was designed with the aim to fulfil the requirement of avoiding the redundancy especially applicable for the text type objects.
    \r\n
    Constrains
    \r\n
    \r\n
      {List.map((list, index) => (
    1. {list.text}
    2. ))}
    \r\n
    \r\n
    \r\n
        Diagrams
    \r\n
    The database plan is too large to fit in one page, it is subdivided into multiple functional areas:
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Users\r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n Organizational\r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n RBAC\r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n Measures\r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n OLAP\r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Database","import React from 'react'\r\n\r\nconst MsTeams = () => {\r\n return (\r\n
    \r\n )\r\n}\r\n\r\nexport default MsTeams","import React from 'react'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\nimport Database from './Database';\r\nimport MsTeams from './MsTeams';\r\nimport { Footer } from '../HeaderFooter';\r\n\r\nconst DesignCards = () => {\r\n const history = useHistory();\r\n const designCard = useSelector(state => state.githubReducer.designCard)\r\n const DesignCardDisplay = () => {\r\n switch (designCard.text) {\r\n case 'database': return \r\n case 'msteams': return \r\n default: { }\r\n }\r\n }\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n history.push('/githublanding')}>Home\r\n history.push('/design')} >{` / `} Design\r\n {` / `} {designCard.title}\r\n
    \r\n {/*
    */}\r\n
    \r\n {DesignCardDisplay()}\r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default DesignCards","export default __webpack_public_path__ + \"static/media/Features_HeroBanner_Image.285755e9.png\";","export default __webpack_public_path__ + \"static/media/Features_Recommendation_Image.63ed845f.png\";","import React from 'react'\r\nimport AdminBreadcrumb from '../../Administration/General/Admin-breadcrumb'\r\nimport { Footer } from '../HeaderFooter'\r\nimport VerticalLine from './../../../assets/images/VerticalLine_Headings.png';\r\nimport Features_HeroBanner from './../../../assets/github-images/Features_HeroBanner_Image.png';\r\nimport Features_Recommendation from './../../../assets/github-images/Features_Recommendation_Image.png';\r\nimport Vertical_Strip_Icon from './../../../assets/images/Vertical_Strip_Icon.png'\r\nimport './Features.css';\r\nimport { Link, useHistory } from 'react-router-dom';\r\n\r\nconst reports= [\r\n {\r\n id: 1,\r\n title:'ASD Cost Recovery',\r\n text:'Specific limited financial based data reports for designated audience.',\r\n href:'finance'\r\n },\r\n {\r\n id: 2,\r\n title:'Executive Dashboard',\r\n text:'Global high level data of ASD consumption and GSD KPI metrics.',\r\n href:'eDashboard'\r\n },\r\n {\r\n id: 3,\r\n title:'DTM (Day-To-Month) Report',\r\n text:'Essential breakdown of all SLA and KPI metrics for operations / delivery purposes.',\r\n href:'regional'\r\n },\r\n {\r\n id: 4,\r\n title:'Heat Map',\r\n text:'Utilization report of GSD Insight platform displaying different logs generated by users.',\r\n href:'https://gsd-insight.houston.dxccorp.net/ReportServer?%2fReports%2fGeneric%2fIISLog%2fLOGIIS&rs:Command=Render&rc:Toolbar=false&rs:embed=true'\r\n },\r\n {\r\n id: 5,\r\n title:'Agent Score Card',\r\n text:'Agent level granular operational SLA and KPI reports.',\r\n href:'/notinproduction'\r\n }]\r\n\r\n const INFO_CARDS = [\r\n {\r\n id: 1,\r\n title:'Onboard',\r\n name: 'Self-service function allowing the users themselves to onboard new accounts/clients.',\r\n href:'/onboard'\r\n },\r\n {\r\n id: 2,\r\n title:'Requests / Incidents',\r\n name: 'Specific requests not supported by self-service functionality and any other related business/ideas/enhancements.',\r\n href:'/request'\r\n },\r\n {\r\n id: 3,\r\n title:'Administration',\r\n name: 'Self-service function allowing the users themselves to administer existing accounts/clients/staff.',\r\n href:'/notinproduction'\r\n }\r\n]\r\nconst Features = () => {\r\n const history = useHistory();\r\n return (\r\n <>\r\n
    \r\n
    \r\n history.push('/githublanding')} label1='Home' isActive2={false} label2='Features' />\r\n
    \r\n
    Features
    The overview on the distinctive attributes and aspects of GSD Insight Platform such as onboard and administration, requests & incidents, and various reporting options can be further explored below and there is also space for enhancements and improvement suggestions.
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
          Reports
    \r\n
    \r\n {reports.map((link, index) => (
    {link.title === 'Heat Map' ? {link.title} : {link.title}}
    {link.text}
    ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {INFO_CARDS.map((cards, i) =>\r\n
      {cards.title}
    \r\n
    {cards.name}
    \r\n
    EXPLORE
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n HeroBanner\r\n
    \r\n
    Do you have improvement suggestion or feature recommendation?
    \r\n
    GET IN TOUCH WITH US
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default Features","import React from 'react'\r\nimport { Footer } from '../HeaderFooter';\r\nimport './NotDesigned.css';\r\nconst NotDesigned = () => {\r\n return (\r\n <> \r\n
    \r\n
    \r\n
    \r\n
    This Page is not in production yet, links will be available later.
    \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default NotDesigned","export default __webpack_public_path__ + \"static/media/FAQ_HeroBanner.dd587921.png\";","import React from 'react'\r\nimport AdminBreadcrumb from '../../Administration/General/Admin-breadcrumb';\r\nimport { Footer } from '../HeaderFooter';\r\nimport FAQ_HeroBanner from './../../../assets/github-images/FAQ_HeroBanner.png';\r\nimport './FAQ.css'\r\nimport { Accordion } from 'react-bootstrap';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useState } from 'react';\r\nimport { EmailTab, RequestTab, RequestTabPopup } from '../GitHub_LandingPage/Models';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst PROD_LINK = 'https://gsd-insight.houston.dxccorp.net/' ;\r\nconst MS_TEAMS = 'https://teams.microsoft.com/l/team/19%3aI-wF3DALEKei_jMiwPbiE4IDvpni3HCHbbZajBRyNk81%40thread.tacv2/conversations?groupId=b47fd5cb-2b61-4939-9254-7be4518dd717&tenantId=93f33571-550f-43cf-b09f-cd331338d086' ;\r\nconst ISSUES = 'https://github.dxc.com/MWSGSD/GSD-Insight_Support/issues/new/choose' ;\r\n\r\nconst FAQ = () => {\r\n const history=useHistory(); \r\n const [showRequestModel, setShowRequestModel] = useState(false);\r\n const [showEmailModel, setShowEmailModel] = useState(false);\r\n return (\r\n <>\r\n
    \r\n
    \r\n history.push('/githublanding')} label1='Home' isActive2={false} label2='Security' />\r\n
    \r\n
    FAQ
    This part of the website provides answers to the most common user \r\n issues and queries related to the usage of the GSD Insight Tool, to overcome any concerns.
    \r\n
    \r\n
    HeroBanner
    \r\n
    \r\n
    F
    A
    Q
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Select a category below
    \r\n
    \r\n \r\n \r\n \r\n General\r\n \r\n
    \r\n
    The  \r\n setShowRequestModel(true)}>Request/Incident can be raised directly on the GSD Insight platform.
    \r\n
    Detailed information can be found here.
    \r\n
    Detailed information can be found here.
    \r\n
    \r\n There are various forms how to get in touch:
    \r\n setShowEmailModel(true)}>Email\r\n
    \r\n \r\n MS Team channel\r\n
    \r\n\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Tools / Access\r\n \r\n
    \r\n
    GSD Insight production \r\n \r\n link / URL.
    \r\n
    Detailed information can be found here.
    \r\n
    Yes
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Content / Reporting\r\n \r\n
    \r\n
    \r\n No, GSD Insight Platform has been designed for Global Standard Reporting. Accounts/Sites custom reporting needs to be addressed individually through specific solutions.\r\n
    GSD SLA & KPI Standards can be checked here.
    \r\n\r\n\r\n
    \r\n To be able to onboard and / or administer an account, it is necessary to have Site Leader and / or Service Delivery Manager role \r\n for the particular account. To onboard a new account please follow the Onboard section in GSD Insight. To administer an account please \r\n contact your Site Leader and / or Service Delivery Manager [responsible for the particular account/s] located in the Administration section in GSD Insight.\r\n
    \r\n
    \r\n This component of the administration module is available only to authorized resources (people managers, team leads/supervisors and site managers). \r\n Data synchronization with Workday/Smart-Labor database is established and executed on monthly basis to manage joiner/leaver process (active/inactive). \r\n Agent onboard and administration can be performed here.
    \r\n
    \r\n Telephony (voice) with established data connection to AWS. Non-voice data in the pipeline and it will be subject of data provisioner how and in which format they can supply the\r\n non-voice data (manual, database connection, semi-automatic, etc.).
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {showRequestModel && \r\n setShowRequestModel(false)}\r\n />\r\n }\r\n {showEmailModel && \r\n setShowEmailModel(false)}\r\n />\r\n }\r\n \r\n )\r\n}\r\n\r\nexport default FAQ","import React, { useEffect } from 'react';\r\nimport Expand_DownArrow from './../../../assets/onboard-images/Expand_DownArrow.png';\r\nimport Collapse_UpArrow from './../../../assets/onboard-images/Collapse_UpArrow.png';\r\nimport Edit_Icon from './../../../assets/onboard-images/Edit_Icon.png';\r\nimport { useState } from 'react';\r\n\r\nconst AdminTableHandle = ({ info, HandleEditRequestClick }) => {\r\n\r\n const [ID,SetID] = useState();\r\n const urlfile = `${process.env.REACT_APP_BASE_URL}/api/file/${ID}`\r\n\r\n useEffect(()=>{\r\n if(ID){\r\n window.open(urlfile);\r\n }\r\n },[ID,urlfile])\r\n \r\n\r\n const [showAccordion, setShowAccordion] = useState(false);\r\n function RequestDateFormat(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n \r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n \r\n return [month, day, year].join('/');\r\n }\r\n function formatTime(time) {\r\n var d = new Date(time),\r\n hours = '' + d.getHours() ,\r\n min = '' + d.getMinutes(),\r\n sec = d.getSeconds();\r\n\r\n if (hours.length < 2)\r\n hours = '0' + hours;\r\n if (min.length < 2)\r\n min = '0' + min;\r\n if (sec.length < 2)\r\n sec = '0' + sec;\r\n\r\n return [hours, min, sec].join(':');\r\n}\r\n return (\r\n <>\r\n \r\n {info?.['Request / Incident']} \r\n {info?.['Created By']} \r\n {RequestDateFormat(info?.['Created Date'])} \r\n {info?.Type} \r\n {info?.Assignee} \r\n {info?.Status} \r\n \r\n {info?.Status === 'Completed' || info?.View === '0' ? '' : HandleEditRequestClick(info)} />}\r\n \r\n \r\n {info?.View === '0' ? '' : {\r\n setShowAccordion(!showAccordion)\r\n }} />}\r\n \r\n \r\n\r\n {(showAccordion) &&\r\n \r\n
    \r\n
    \r\n Last Updated Date\r\n Comments\r\n File Attachments\r\n
    \r\n
    \r\n {info?.UserComments?.map((update, i) => (\r\n
    \r\n {RequestDateFormat(update?.['Last Updated Date'])}\r\n {update.Comments}\r\n {SetID(update.FileStore)}} style={{ width: '30%', color: '#5F249F', textDecoration: 'underline',cursor: 'pointer' }}>{update.FileName}\r\n
    \r\n ))}\r\n
    \r\n \r\n {info?.AdminComments?.map((update, i) => (\r\n
    \r\n \r\n
    Comments: {update.Comments}
    \r\n
    File Attachments: {SetID(update.FileStore)}} style={{color: '#5F249F', textDecoration: 'underline',cursor: 'pointer' }}>{update.FileName}
    \r\n
    \r\n ))}\r\n \r\n
    \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default AdminTableHandle","import React from 'react'\r\nimport AdminBreadcrumb from '../../Administration/General/Admin-breadcrumb';\r\nimport filterIcon from '../../../assets/images/Filter_Icon.png';\r\nimport RefreshIcon from '../../../assets/images/Reset_Icon.png';\r\nimport { KeyboardDatePicker } from '@material-ui/pickers';\r\nimport RequestDropdown from '../../Onboard/OnboardComponents/Dropdown/RequestDropdown';\r\nimport Button from './../../ReportTables/ReportFilters/Button';\r\nimport searchIcon from './../../../assets/onboard-images/Search_Icon.png';\r\nimport { useState } from 'react';\r\nimport AdminTableHandle from './AdminTableHandle';\r\nimport { AdminRequestModel, AdminRequestPopup } from './../RequestModals';\r\nimport ADMIN_DATA from './RequestData.json'\r\nimport DATA from './../DATA.json'\r\nimport { useSelector } from 'react-redux';\r\nimport { getUserData } from '../../../actions/user.action';\r\nimport { useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { getAdminRequestData } from '../../../actions/request.action';\r\nimport { updateEditAdminRequestStart, getRequestDropdownData } from './../../../actions/request.action';\r\nimport Dropdown from './../../ReportTables/ReportFilters/Dropdown';\r\nimport ClearFilter from './../../ReportTables/ClearFilters/ClearFilter';\r\nimport { useHistory } from 'react-router-dom';\r\nimport axios from 'axios';\r\nconst AdminRequestMain = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let userInfo = useSelector((state) => state.userReducer.userInfo);\r\n let AdminRequestData = useSelector((state) => state.requestReducer.AdminRequestData);\r\n let RequestDropdownData = useSelector((state) => state.requestReducer.RequestDropdownData);\r\n \r\n useEffect(() => {\r\n dispatch(getUserData());\r\n dispatch(getAdminRequestData(\"\",'',''));\r\n // dispatch(getAdminRequestData());\r\n dispatch(getRequestDropdownData())\r\n }, [dispatch]);\r\n useEffect(() => {\r\n setRequestIncidentData(AdminRequestData)\r\n }, [AdminRequestData])\r\n\r\n // const [showAddAdminRequestModel, setShowAddAdminRequestModel] = useState(false);\r\n const [showEditAdminRequestModel, setShowEditAdminRequestModel] = useState(false);\r\n // const [AddRequestForm, setAddRequestForm] = useState({});\r\n const [editRequestID, setEditRequestID] = useState(null);\r\n const [EditRequestForm, setEditrequestForm] = useState();\r\n const [isRefreshClicked, setIsRefreshedClicked] = useState(false);\r\n const [filterSelected, setFilterSelected] = useState();\r\n const [statusSelected, setStatusSelected] = useState('');\r\n const [selectedType, setSelectedType] = useState('')\r\n const [assigneeSelected, setAssigneeSelected] = useState()\r\n const [RequestIncidentData, setRequestIncidentData] = useState([]);\r\n const [reuqestDate, setRequestDate] = useState(new Date(''));\r\n const [filter, setFilter] = useState('');\r\n const [validation, setValidation] = useState('');\r\n const [searchColumns, setSearchColumns] = useState(['Request / Incident']);\r\n const [updatedFileData, setUpdatedFileData] = useState()\r\n\r\n\r\n function searchRows(rows) {\r\n return rows.filter((row) =>\r\n searchColumns.some(\r\n (column) =>\r\n row[column]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(filter.toLowerCase()) > -1,\r\n ),\r\n );\r\n }\r\n\r\n function formatDate() {\r\n var d = new Date(),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n };\r\n // function formatTime() {\r\n // return new Date().getHours() + ':' + new Date().getMinutes() + ':' + new Date().getSeconds();\r\n // }\r\n function formatTime() {\r\n var d = new Date(),\r\n hours = '' + d.getHours() ,\r\n min = '' + d.getMinutes(),\r\n sec = d.getSeconds();\r\n \r\n if (hours.length < 2)\r\n hours = '0' + hours;\r\n if (min.length < 2)\r\n min = '0' + min;\r\n if (sec.length < 2)\r\n sec = '0' + sec;\r\n \r\n return [hours, min, sec].join(':');\r\n }\r\n \r\n\r\n const HandleEditRequestClick = (info) => {\r\n setEditRequestID(info?.IncidentID)\r\n setShowEditAdminRequestModel(true)\r\n const formValues = {\r\n type: info?.Type,\r\n status: info?.Status,\r\n title: info?.['Request / Incident'],\r\n createdBy: info?.['Created By'],\r\n createdDate: info?.['Created Date'] ,\r\n comments: '',\r\n assignee:info?.Assignee,\r\n file: info?.UserAttachedFiles,\r\n UserDetails:info?.TaskDetails?.[0]?.UserDetails,\r\n ValidUntil:info?.TaskDetails?.[0]?.ValidUntil,\r\n };\r\n setEditrequestForm(formValues);\r\n }\r\n\r\n function RequestDateFormat(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n const handleEditRequestCancel = event =>{\r\n event.preventDefault();\r\n setValidation('')\r\n setShowEditAdminRequestModel(false);\r\n }\r\n\r\n const editValueToRequest = (name, value) => {\r\n const newFormData = { ...EditRequestForm };\r\n if (value !== 'Select') {\r\n newFormData[name] = value;\r\n setEditrequestForm(newFormData);\r\n }\r\n }\r\n\r\n const onClickSelect = (name) => {\r\n const newFormData = { ...EditRequestForm };\r\n newFormData[name] = '';\r\n setEditrequestForm(newFormData)\r\n\r\n }\r\n\r\n const handleUserEditRequest = event => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute(\"name\");\r\n const fieldValue = event.target.value;\r\n const newFormData = { ...EditRequestForm };\r\n newFormData[fieldName] = fieldValue;\r\n setEditrequestForm(newFormData);\r\n }\r\n\r\n \r\nconst[uploadedFileId,setUploadedFileId] = useState();\r\nconst[uploadedFileName,setUploadedFileName] = useState()\r\nuseEffect(()=>{\r\n if(updatedFileData){\r\n const formData = new FormData();\r\n\r\n formData.append('File', updatedFileData);\r\n\r\n fetch(\r\n `${\r\n process.env.REACT_APP_BASE_URL\r\n }/api/file`,\r\n {\r\n method: 'POST',\r\n body: formData,\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((result) => {\r\n console.log('Success:', result);\r\n setUploadedFileId(result.id);\r\n })\r\n .catch((error) => {\r\n console.error('Error:', error);\r\n });\r\n\r\n }\r\n},[updatedFileData]) \r\n\r\nconst deleteFile = async (fileId) => {\r\n try {\r\n const response = await axios.delete(`/api/file/${fileId}`);\r\n if (response.status === 200) {\r\n setUploadedFileId(null);\r\n setUploadedFileName(null)\r\n } else {\r\n alert('file not deleted')\r\n }\r\n } catch (error) {\r\n // Handle error.\r\n }\r\n };\r\n \r\nconst DeleteUploadedFile = () =>{\r\n deleteFile(uploadedFileId);\r\n }\r\n \r\n\t\r\n \r\n\r\n console.log('uploadedFileId',uploadedFileId,uploadedFileName)\r\n\r\n\r\n\r\n const handleRequesEditSubmit = event => {\r\n event.preventDefault();\r\n const temp_details = {\r\n id: editRequestID,\r\n 'Request / Incident': EditRequestForm.title,\r\n 'Created By': EditRequestForm.createdBy,\r\n 'Created Date': EditRequestForm.createdDate,\r\n Type: EditRequestForm.type,\r\n Assignee:EditRequestForm.assignee,\r\n Status: EditRequestForm.status,\r\n TaskDetails:[\r\n {\r\n UserDetails :EditRequestForm.UserDetails,\r\n ValidUntil: EditRequestForm.ValidUntil\r\n }\r\n ]\r\n }\r\n console.log('temp_details::::::' ,temp_details)\r\n let temp_updates = {\r\n UpdatedTS: `${formatDate()}, ${formatTime()}`,\r\n Comments: EditRequestForm.comments,\r\n FileStore: uploadedFileId,\r\n FileName: uploadedFileName\r\n }\r\n console.log('tempupdates',temp_updates)\r\n const dispatchEditObj ={\r\n Assignee:EditRequestForm.assignee,\r\n Status:EditRequestForm.status,\r\n Comments:EditRequestForm.comments,\r\n IncidentID:editRequestID,\r\n ValidUntil:EditRequestForm.ValidUntil,\r\n FileStore: uploadedFileId,\r\n FileName: uploadedFileName\r\n }\r\n console.log(dispatchEditObj)\r\n const newRequests = [...RequestIncidentData];\r\n const temp_Arr = {\r\n status: EditRequestForm.status,\r\n assignee: EditRequestForm.assignee,\r\n comments: EditRequestForm.comments\r\n }\r\n console.log('nnnnnnnnnnnn',EditRequestForm.type, EditRequestForm.status ,EditRequestForm)\r\n const isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\n if (isEmptyInput) {\r\n setShowEditAdminRequestModel(true);\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n }\r\n else if(EditRequestForm.type === 'Task' && EditRequestForm.status !== 'Completed'){\r\n setShowEditAdminRequestModel(true);\r\n setValidation('Please Ensure that Status Selected is set to Completed to Update the Role Validity')\r\n }\r\n else {\r\n const index = RequestIncidentData.findIndex((data, index) => data.IncidentID === editRequestID);\r\n let editedRequestUpdates = newRequests[index]?.AdminComments;\r\n editedRequestUpdates.unshift(temp_updates)\r\n let obj2 = { AdminComments: editedRequestUpdates }\r\n let UserRequestUpdates = newRequests[index]?.UserComments;\r\n let userData = { UserComments: UserRequestUpdates }\r\n const newRequest = Object.assign(temp_details, obj2, userData)\r\n newRequests[index] = newRequest;\r\n setRequestIncidentData(newRequests);\r\n dispatch(updateEditAdminRequestStart(dispatchEditObj))\r\n setEditRequestID(null);\r\n setShowEditAdminRequestModel(false)\r\n setValidation('');\r\n }\r\n }\r\n\r\n function formatcreatedDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n\r\n\r\n const AssigneeFilter = () => {\r\n const arr1 = [...RequestIncidentData];\r\n if(assigneeSelected === null || assigneeSelected === undefined || assigneeSelected === '') {\r\n return arr1; \r\n }\r\n else {\r\n const filterData = arr1.filter(obj => obj.Assignee === assigneeSelected);\r\n return filterData;\r\n }\r\n }\r\n\r\n\r\nconst [filters, setFilters] = useState([]);\r\nconst [clearFilters, setClearFilters] = useState(false);\r\nconst [region_data, setRegion_data] = useState([]);\r\nconst RegionInfo = ADMIN_DATA.Status;\r\n\r\n\r\n\r\nuseEffect(() => {\r\n if (RegionInfo?.length > 0) {\r\n RegionInfo.map(info => info.isChecked = false);\r\n setRegion_data(RegionInfo);\r\n }\r\n }, [RegionInfo])\r\n const clearFilterHandler = (option) => {\r\n setFilters([]);\r\n setClearFilters(true);\r\n let temp_arr = [...region_data];\r\n temp_arr.map((itm, i) => {\r\n itm.isChecked = false;\r\n \r\n return '';\r\n });\r\n }\r\n return (\r\n <>\r\n \r\n
    \r\n
    \r\n history.push('/welcome')} label1='Home' isActive1={false} label2='Requests' />\r\n
    Requests
    \r\n
    \r\n
    \r\n \r\n  
    \r\n {\r\n setRequestDate(RequestDateFormat(date));\r\n setFilterSelected(RequestDateFormat(date));\r\n dispatch(getAdminRequestData(RequestDateFormat(date),selectedType ? selectedType : '',statusSelected ? statusSelected :''))\r\n }}\r\n format=\"MM/DD/YYYY\"\r\n style={{ width: '250px' }}\r\n error={false}\r\n helperText={null}\r\n />\r\n
    \r\n Status\r\n {setStatusSelected(value);dispatch(getAdminRequestData(filterSelected ? filterSelected : '' ,selectedType ? selectedType : '',value));setIsRefreshedClicked(false)}} refresh={isRefreshClicked}\r\n \r\n />\r\n {/* */}\r\n \r\n Type\r\n {setSelectedType(value); dispatch(getAdminRequestData(filterSelected ? filterSelected :'',value,statusSelected ? statusSelected :''));setIsRefreshedClicked(false)}} refresh={isRefreshClicked}\r\n \r\n />\r\n \r\n Assignee\r\n {setAssigneeSelected(value);setIsRefreshedClicked(false)}} refresh={isRefreshClicked}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {filters?.length > 0 ? () : null}\r\n
    \r\n
    \r\n\r\n
    \r\n setFilter(e.target.value)} placeholder='Search Request/Incident Title' />\r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {ADMIN_DATA.UserHeader.map(data => ())}\r\n \r\n {searchRows(AssigneeFilter())?.map((info, i) =>\r\n \r\n )}\r\n \r\n
    {data.value}
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n {/* {showAddAdminRequestModel && \r\n { }}\r\n EditRequestForm={EditRequestForm}\r\n buttonOne='UPDATE' buttonTwo='CANCEL'\r\n />\r\n \r\n } */}\r\n {showEditAdminRequestModel && \r\n \r\n setUpdatedFileData(data)} dispatchFileName={data => setUploadedFileName(data)} DeleteUploadedFile={DeleteUploadedFile}\r\n />\r\n \r\n }\r\n\r\n \r\n )\r\n}\r\n\r\nexport default AdminRequestMain","import React from 'react';\r\n\r\nexport function AdminViewDeleteModel(props) {\r\n return <>\r\n
    \r\n
    \r\n
    \r\n {props.modalName}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Are you sure you want to delete the {props.InformationText} {props.AfterInfoText}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n}\r\n\r\nexport function AdminViewCannotDeleteModel(props) {\r\n return <>\r\n
    \r\n
    \r\n
    \r\n {props.modalName}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {props.InformationText}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n}","import React, { useState } from 'react';\r\n\r\nimport Expand_DownArrow from './../../../../assets/onboard-images/Expand_DownArrow.png';\r\nimport Collapse_UpArrow from './../../../../assets/onboard-images/Collapse_UpArrow.png';\r\nimport Edit_Icon from './../../../../assets/onboard-images/Edit_Icon.png';\r\nimport deleteIcon from './../../../../assets/onboard-images/Delete_Icon.png'\r\nimport { Link } from 'react-router-dom';\r\nimport { useDispatch} from 'react-redux';\r\nimport { getAdminRoles, updateRoleDeleteStart } from '../../../../actions/Administration/adminView.action';\r\nimport { DeleteModalPopup } from '../../../Onboard/OnboardComponents/Modals/DeleteModalPopup';\r\nimport { AdminViewCannotDeleteModel, AdminViewDeleteModel } from '../AdminViewModels';\r\n\r\nconst RolesTableAdminView = ({info,key}) => {\r\n let dispatch = useDispatch();\r\n console.log('info:::::::::',info,info?.['Access Group'])\r\n const AccessGroupData = info?.['Access Group']\r\n const [showAccordion, setShowAccordion] = useState(false);\r\n const [showDeleteRoleModal, setShowDeleteRoleModal] = useState(false);\r\n const [showCannotDeleteModal, setShowCannotDeleteModal] = useState(false);\r\n\r\n const editData = {\r\n Mode: 'Edit',\r\n editInfo: info\r\n };\r\n \r\n\r\n const handleDeleteRole = () =>{\r\n console.log('roleid::::::::',info.RoleID)\r\n let deleteObj = [{\"RoleID\":info.RoleID}]\r\n dispatch(updateRoleDeleteStart(deleteObj))\r\n setShowDeleteRoleModal(false)\r\n dispatch(getAdminRoles());\r\n }\r\n return (\r\n <>\r\n
    \r\n {info?.['Role Name']}\r\n \r\n
    \r\n
    {info?.Delete === 'Y' ? setShowDeleteRoleModal(true) : setShowCannotDeleteModal(true)}}/>
    \r\n
    {\r\n setShowAccordion(!showAccordion)\r\n }} />
    \r\n
    \r\n
    \r\n \r\n {(showAccordion) &&\r\n \r\n
    \r\n Role Descriptions: {info.Description}\r\n
    \r\n
    \r\n
    \r\n Access Group Name\r\n Operation\r\n
    \r\n {AccessGroupData?.map(data => (\r\n
    \r\n
    \r\n {data.AccessGroup}\r\n \r\n {(data?.OperationList)?.map((data,i,row)=>({data.Operation} {i+1 === row.length ? '' : '|' }  ))}\r\n \r\n
    \r\n
    \r\n ))}\r\n \r\n
    \r\n }\r\n\r\n {showDeleteRoleModal && \r\n setShowDeleteRoleModal(false)}\r\n />\r\n }\r\n\r\n {showCannotDeleteModal && \r\n {setShowCannotDeleteModal(false)}}\r\n \r\n />\r\n }\r\n\r\n \r\n\r\n )\r\n}\r\n\r\nexport default RolesTableAdminView","import React, { useEffect, useState } from 'react'\r\nimport searchIcon from './../../../../assets/onboard-images/Search_Icon.png';\r\nimport './../../AdminFirstPage/AdminFirstPage.css';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport RolesTableAdminView from './RolesTableAdminView';\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb';\r\nimport { getAdminRoles } from './../../../../actions/Administration/adminView.action';\r\nimport { Link} from 'react-router-dom';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst AdminRolesFlow = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const [filter, setFilter] = useState('');\r\n const [searchColumns, setSearchColumns] = useState(['Role Name']);\r\n \r\n let adminViewRoleData = useSelector((state) => state.adminViewReducer.adminViewRoleData);\r\nconsole.log('adminViewRoleData',adminViewRoleData)\r\n\r\nconst mode = {\r\n Mode : 'Add'\r\n };\r\n\r\nuseEffect(() => {\r\n dispatch(getAdminRoles());\r\n \r\n}, [dispatch]);\r\n\r\n function searchRows(rows) {\r\n return rows.filter((row) =>\r\n searchColumns.some(\r\n (column) =>\r\n row[column]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(filter.toLowerCase()) > -1,\r\n ),\r\n );\r\n }\r\n return (\r\n
    \r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Administration' value2={()=>history.push('/adminviewlanding')}\r\n isActive3={false} label3='Roles'\r\n />\r\n
    \r\n
    Roles : {adminViewRoleData.length}
    \r\n
    \r\n
    ADD ROLE
    \r\n \r\n setFilter(e.target.value)} placeholder='Search Roles' />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {searchRows(adminViewRoleData).map((info, i) => )}\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default AdminRolesFlow","import React, { useEffect, useState } from 'react'\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb'\r\nimport { useHistory, useLocation } from 'react-router-dom'\r\nimport ReactModal from 'react-modal';\r\nimport { OnboardSelect } from '../../../Onboard/OnboardComponents/Dropdown/Select';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getAccessGroup, getAdminRoles, updateAccessGroupDataStart } from '../../../../actions/Administration/adminView.action';\r\nimport deleteIcon from './../../../../assets/onboard-images/Delete_Icon.png'\r\nimport {DeleteModalPopup } from '../../../Onboard/OnboardComponents/Modals/DeleteModalPopup';\r\nimport { AdminViewDeleteModel } from '../AdminViewModels';\r\n\r\nexport function AddAdminViewRolePage(props) {\r\n const location = useLocation();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n console.log('location::::::', location.state)\r\n const EditData = location.state=== undefined ? '' : location.state.editInfo;\r\n const Mode = location.state=== undefined ? '' :location.state.Mode;\r\n\r\n const [showAccessGroupModal, setShowAccessGroupModal] = useState(false);\r\n const [addAccessGroup, setAddAccessGroup] =useState(Mode === 'Edit' ? EditData : {});\r\n const [addTableRow, setAddTableRow] = useState([])\r\n const [deleteRoleID, setDeleteRoleID] = useState(null);\r\n const [showDeleteRoleModal, setShowDeleteRoleModal] = useState(false);\r\n\r\n console.log('deleteRoleID',deleteRoleID)\r\n\r\n const HandleAddQueue = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (fieldValue !== 'Select') {\r\n const newFormData = { ...addAccessGroup };\r\n newFormData[fieldName] = fieldValue;\r\n setAddAccessGroup(newFormData)\r\n }\r\n }\r\n \r\nconst addValueToTable = (value) => {\r\n if(addTableRow.length === 0){\r\n setAddTableRow([value])\r\n }\r\n else{\r\n setAddTableRow([...addTableRow,value])\r\n }\r\nsetShowAccessGroupModal(false)\r\n}\r\n\r\nconst handleDeleteRole = () => {\r\n const newRoles = [...addTableRow];\r\n const index = addTableRow.findIndex((_, index) => index === deleteRoleID);\r\n newRoles.splice(index, 1);\r\n setAddTableRow(newRoles);\r\n setShowDeleteRoleModal(false)\r\n}\r\nconst handleDeleteRoleCancel = event => {\r\n event.preventDefault();\r\n setShowDeleteRoleModal(false)\r\n}\r\n \r\nuseEffect(() => {\r\n if(Mode === 'Edit'){\r\n if(EditData?.['Access Group'] === undefined){\r\nsetAddTableRow([])\r\n }\r\n else{\r\n let temp = EditData?.['Access Group'].map(accessdata =>{\r\n return {\r\n AccessGroup : accessdata.AccessGroup,\r\n AccessGroupID : accessdata.AccessGroupID,\r\n OperationList : accessdata?.OperationList\r\n }\r\n })\r\n setAddTableRow(temp)\r\n }\r\n }\r\n}, [dispatch,EditData,Mode])\r\n \r\nconst [validation, setValidation] = useState(false);\r\nconst dispobj = () =>{\r\n let AccessIds = addTableRow.map(role => {\r\n return {\r\n AccessGroupId : role.AccessGroupID\r\n }\r\n });\r\n let temparr = {\r\n RoleID : Mode === 'Edit' ? EditData.RoleID : '',\r\n Role : addAccessGroup?.['Role Name'],\r\n Description : addAccessGroup.Description,\r\n Details : AccessIds\r\n\r\n }\r\n const temp_Arr = {\r\n Role : addAccessGroup?.['Role Name'],\r\n Description : addAccessGroup.Description,\r\n }\r\n const isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\n if(isEmptyInput){\r\n setValidation(true);\r\n window.scrollTo(0, 0);\r\n }\r\n else{\r\n console.log('dispOBJ',[temparr])\r\n dispatch(updateAccessGroupDataStart([temparr]))\r\n history.push('/admin/roles');\r\n dispatch(getAdminRoles());\r\n setValidation(false)\r\n }\r\n}\r\n\r\nconsole.log('addTableRow',addTableRow.length)\r\n return (<>\r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Administration' value2={()=>history.push('/adminviewlanding')}\r\n isActive3={true} label3='Roles' value3={() => history.push('/admin/roles')} isActive4={false} label4={Mode === 'Edit' ? 'Edit Role' : 'Add Role'}\r\n />\r\n
    {Mode === 'Edit' ? 'Edit Role' : 'Add Role'}
    \r\n {validation &&
    Please Ensure you filled all the inputs with \" * \" mark
    }\r\n
    \r\n
    \r\n \r\n HandleAddQueue(e)}\r\n />\r\n
    \r\n
    \r\n \r\n HandleAddQueue(e)}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {addTableRow.length === 0 ? \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Access Group NameOperation
    \r\n
    \r\n
    \r\n
    \r\n No records found. This data grid enables adding/editing/deleting the Access Group and Operations.
    \r\n To add a new Access Group and Operations, select the “ADD ACCESS GROUP & OPERATIONS” button.\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n : \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n (addTableRow).map((data, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n
    Access Group NameOperation
    {data.AccessGroup}{data.OperationList !== undefined ? (data.OperationList).map((data,i,row)=>( {data.Operation} {i+1 === row.length ? '' : '|' }   )) : ''} {setShowDeleteRoleModal(true); setDeleteRoleID(index) }}/>
    }\r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n {showAccessGroupModal && \r\n {setShowAccessGroupModal(false)}}\r\n addValueToTable={addValueToTable}\r\n />\r\n }\r\n\r\n {showDeleteRoleModal && \r\n index === deleteRoleID)].AccessGroup} \r\n AfterInfoText='access group and operations?'\r\n handleDeleteYes={handleDeleteRole}\r\n handleDeleteNo={handleDeleteRoleCancel}\r\n />\r\n }\r\n\r\n\r\n )\r\n}\r\n\r\nexport function AccessGroupDropdownModel(props) {\r\n const dispatch = useDispatch();\r\n let accessGroupData = useSelector((state) => state.adminViewReducer.accessGroupData);\r\n useEffect(() => {\r\n dispatch(getAccessGroup());\r\n\r\n }, [dispatch]);\r\n\r\n\r\n const [addselectedAccessGroup, setAddselectedAccessGroup] = useState()\r\n\r\n const addValueToAccessGroup = (name, value) => {\r\n if (value !== 'Select') {\r\n const newFormData = { ...addselectedAccessGroup };\r\n newFormData[name] = value;\r\n setAddselectedAccessGroup(newFormData)\r\n }\r\n }\r\n \r\n let operationlist = addselectedAccessGroup === undefined ? {} : accessGroupData.filter((el) =>{\r\n return el.AccessGroup === addselectedAccessGroup.AccessGroup \r\n }\r\n );\r\n\r\n const [validation, setValidation] = useState()\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n console.log('addselectedAccessGroup',addselectedAccessGroup)\r\n\r\n if(addselectedAccessGroup === undefined){\r\n setValidation(true)\r\n }\r\n else{\r\n props.addValueToTable(operationlist?.[0])\r\n setValidation(false)\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    Add Access Group and Operations
    \r\n {validation &&
    Please Ensure you filled the Access Group
    }\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {operationlist?.[0]?.OperationList !== undefined &&\r\n operationlist?.[0]?.OperationList.map((data, index) => (
    {data.Operation}
    ))}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport function AccessModalPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '25%',\r\n left: '35%',\r\n width: '400px',\r\n height: '420px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n","import React, { useState } from 'react'\r\nimport ReactModal from \"react-modal\";\r\nimport { getOperationsData, updateOperationsDataStart } from '../../../../actions/Administration/adminView.action';\r\nimport { useDispatch } from 'react-redux';\r\n\r\n\r\n\r\n\r\n\r\nexport function OperationsAddModel(props) {\r\n const dispatch = useDispatch();\r\n const {Mode,editOperationData} = props\r\n const [addOperation, setAddOperation] =useState(Mode === 'Edit' ? editOperationData : {});\r\n const HandleAddOperations = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (fieldValue !== 'Select') {\r\n const newFormData = { ...addOperation };\r\n newFormData[fieldName] = fieldValue;\r\n setAddOperation(newFormData)\r\n }\r\n }\r\n\r\n const [validation, setValidation] = useState(false);\r\n\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n let temparr = { \r\n ID : Mode === 'Edit' ? editOperationData.ID :'',\r\n OperationName : addOperation?.OperationName,\r\n Description : addOperation.Description,\r\n }\r\n const temp_Arr = {\r\n OperationName : addOperation?.OperationName,\r\n Description : addOperation.Description,\r\n }\r\n const isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\n if(isEmptyInput){\r\n setValidation(true);\r\n }\r\n else{\r\n dispatch(updateOperationsDataStart([temparr]))\r\n props.handleSubmitOperation()\r\n dispatch(getOperationsData());\r\n setValidation(false)\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    {Mode === 'Edit' ? 'Edit' : 'Add'} Operation
    \r\n {validation &&
    Please Ensure you filled all the inputs with \" * \" mark
    }\r\n
    \r\n
    \r\n \r\n {HandleAddOperations(e)}}\r\n />\r\n
    \r\n
    \r\n \r\n {HandleAddOperations(e)}}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport function OperationsModalPopup({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n position: 'fixed',\r\n top: '25%',\r\n left: '33%',\r\n width: '550px',\r\n height: '350px',\r\n background: ' #FFFFFF 0% 0% no-repeat padding-box',\r\n boxShadow: ' 6px 6px 45px #00000066',\r\n border: ' 1px solid #ECEEF1',\r\n opacity: '1',\r\n },\r\n content: {\r\n position: 'absolute',\r\n top: '0',\r\n left: '-22em',\r\n right: '40px',\r\n bottom: '40px',\r\n border: 'none',\r\n background: 'none',\r\n overflow: 'none',\r\n WebkitOverflowScrolling: 'touch',\r\n borderRadius: '4px',\r\n outline: 'none',\r\n padding: '2em'\r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n\r\n","import React, { useEffect, useState } from 'react'\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb';\r\nimport searchIcon from './../../../../assets/onboard-images/Search_Icon.png';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getOperationsData, updateOperationsDeleteStart } from '../../../../actions/Administration/adminView.action';\r\nimport Edit_Icon from './../../../../assets/onboard-images/Edit_Icon.png';\r\nimport deleteIcon from './../../../../assets/onboard-images/Delete_Icon.png'\r\nimport TooltipHandler from '../../../Onboard/OnboardComponents/TooltipHandler';\r\nimport { OperationsAddModel, OperationsModalPopup } from './OperationsModels';\r\nimport { DeleteModalPopup } from '../../../Onboard/OnboardComponents/Modals/DeleteModalPopup';\r\nimport { AdminViewDeleteModel } from '../AdminViewModels';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst OperationsMain = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let operationsMainData = useSelector((state) => state.adminViewReducer.operationsData);\r\n const [editOperationData, setEditOperationData] = useState()\r\n const [mode,setMode] = useState('')\r\n const [showDeleteRoleModal, setShowDeleteRoleModal] = useState(false);\r\n const [deleteRoleID, setDeleteRoleID] = useState(null);\r\n \r\n \r\n\r\n\r\n useEffect(() => {\r\n dispatch(getOperationsData());\r\n\r\n }, [dispatch]);\r\n\r\n const [showOperationAddModal, setShowOperationAddModal] = useState(false)\r\n const [filter, setFilter] = useState('');\r\n const [searchColumns, setSearchColumns] = useState(['OperationName']);\r\n function searchRows(rows) {\r\n return rows.filter((row) =>\r\n searchColumns.some(\r\n (column) =>\r\n row[column]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(filter.toLowerCase()) > -1,\r\n ),\r\n );\r\n }\r\n\r\n const handleDeleteRole = () => {\r\n let delete_arr = [{\"OperationID\":deleteRoleID.ID}]\r\n dispatch(updateOperationsDeleteStart(delete_arr))\r\n dispatch(getOperationsData())\r\n setShowDeleteRoleModal(false)\r\n dispatch(getOperationsData());\r\n}\r\n\r\nconsole.log('delete',deleteRoleID)\r\n\r\n return (\r\n
    \r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Administration' value2={()=>history.push('/adminviewlanding')}\r\n isActive3={false} label3='Operations'\r\n />\r\n
    \r\n
    Operations: {operationsMainData.length}
    \r\n
    \r\n
    {setShowOperationAddModal(true);setMode('Add')}}>ADD OPERATION
    \r\n \r\n setFilter(e.target.value)} placeholder='Search Roles' />\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n searchRows(operationsMainData).map((data, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )) }\r\n \r\n
    Operation NameDescriptions{' '}
    {data?.['OperationName']}{(data?.Description)}\r\n {setShowOperationAddModal(true);setEditOperationData(data);setMode('Edit')}}>\r\n \r\n \r\n\r\n {setShowDeleteRoleModal(true);setDeleteRoleID(data)}}>\r\n \r\n \r\n
    \r\n\r\n {showOperationAddModal && \r\n {setShowOperationAddModal(false)}}\r\n handleSubmitOperation={()=>{setShowOperationAddModal(false);dispatch(getOperationsData())}}\r\n />\r\n }\r\n\r\n {showDeleteRoleModal && \r\n setShowDeleteRoleModal(false)}\r\n />\r\n }\r\n
    \r\n )\r\n}\r\n\r\nexport default OperationsMain","import React, { useEffect } from 'react';\r\nimport Accounts from '../../../assets/admin-images/Accounts.png';\r\nimport Roles from '../../../assets/admin-images/Roles.png';\r\nimport AccessGroups from '../../../assets/admin-images/AccessGroups.png';\r\nimport Operations from '../../../assets/admin-images/Operations.png';\r\nimport Users from '../../../assets/admin-images/Users.png';\r\nimport Admin_Reports from '../../../assets/admin-images/Admin_Reports.png';\r\nimport Arrow_Normal from '../../../assets/admin-images/Arrow_Normal.png';\r\nimport Audit_RBAC from '../../../assets/admin-images/Audit_RBAC.png';\r\nimport AuditRole from '../../../assets/admin-images/AuditRole.png';\r\nimport { useHistory } from 'react-router-dom';\r\nimport AdminBreadcrumb from '../General/Admin-breadcrumb';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getAccessGroupData, getAdminRoles, getOperationsData, getUserflowCount } from '../../../actions/Administration/adminView.action';\r\nimport { getRolesTabUsers } from '../../../actions/Onboard.action';\r\nimport { getAdminAccounts } from '../../../actions/Administration/admin.action';\r\n\r\n\r\n\r\n\r\nconst AdminViewFirstPage = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let AdminAccounts = useSelector((state) => state.adminAccountReducer.AdminAccounts);\r\n let adminViewRoleData = useSelector((state) => state.adminViewReducer.adminViewRoleData);\r\n let accessGroupMainData = useSelector((state) => state.adminViewReducer.accessGroupMainData);\r\n let operationsMainData = useSelector((state) => state.adminViewReducer.operationsData);\r\n let userflowCount = useSelector((state) => state.adminViewReducer.userflowCount);\r\n\r\nuseEffect(() => {\r\n dispatch(getAdminAccounts());\r\n dispatch(getAdminRoles());\r\n dispatch(getAccessGroupData());\r\n dispatch(getOperationsData());\r\n dispatch(getUserflowCount(''));\r\n}, [dispatch]);\r\n\r\nconst Developer_Cards = [\r\n { id: 1,\r\n title: 'Accounts',\r\n value: AdminAccounts.length,\r\n imgsrc: Accounts,\r\n path:'/admin'\r\n },\r\n {\r\n id: 2,\r\n title: 'Roles',\r\n value: adminViewRoleData.length,\r\n imgsrc: Roles,\r\n path:'/admin/roles'\r\n },\r\n {\r\n id: 3,\r\n title: 'Access Groups',\r\n value: accessGroupMainData.length,\r\n imgsrc: AccessGroups,\r\n path:'/admin/accessgroup'\r\n },\r\n {\r\n id: 4,\r\n title: 'Operations',\r\n value: operationsMainData.length,\r\n imgsrc: Operations,\r\n path:'/admin/operations'\r\n },\r\n {\r\n id: 5,\r\n title: 'Users',\r\n value: userflowCount?.[0]?.count,\r\n imgsrc: Users,\r\n path:'/admin/users'\r\n },\r\n {\r\n id: 6,\r\n title: 'Reports',\r\n imgsrc: Admin_Reports,\r\n path:'/regional'\r\n },\r\n {\r\n id: 7,\r\n title: 'Audit Role',\r\n imgsrc: AuditRole,\r\n path:'/auditrole'\r\n },\r\n {\r\n id: 8,\r\n title: 'Audit RBAC',\r\n imgsrc: Audit_RBAC,\r\n path:'/auditrbac'\r\n }\r\n]\r\n \r\n return (\r\n
    \r\n history.push('/welcome')} label1='Home' isActive2={false} label2='Administration' />\r\n
    Administration
    \r\n
    \r\n
    \r\n {Developer_Cards.map((link, index) => (
    history.push(link.path)}>\r\n
    \r\n
    {link.title}
    {link.value}
    \r\n
    \r\n
    ))}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n )\r\n}\r\n\r\nexport default AdminViewFirstPage","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABBCAYAAAB2FzKyAAAABHNCSVQICAgIfAhkiAAABtdJREFUeF7tXFFuGzcQ5crqd3KDKo0KFOhHnBPUBvrVn9oHaK3tBZKcoM4J4pxgV75A1AMUVU8Q9aNAAduNcoLK33W1fUNxZe6IXHKXu8rKNgEBtkVyyLczwzczXEcioI2+TEZZJr7HFAf4PMZngc80y7LJ+dVP44CpOzc0qrMiALSfLcU7EYmBdXwm5lFPHKcX8ayOjK6NqQyUBCkTvykNcu1nEUXi8C6AVQmo0SB5nPXFBx0kADEWmUhFX8zFDTQsEmSOJxqCi+hGPEnnMZnlzrZqQA2T00yIn/PdYvBhehlP+e5Hw+QA/UjrZEO/1+h3urMorfbg334cJnMM+Nxn8wDrFlT4q/FV/MRfUvd6egOlzO6ftZb0YU5/xXPblkZfJYPsRpqpbOPL2FtW92CqoFHcnHw2fjJMyC89UhpoNNMugmJak/dTrgMUTHUKAd88AOVQBwA1A1DPHoByAAXTw+G3arYT8u6ZHnPO4E/Py4ikIqbv750zpw3rzhm/TuHQD20aofsnqNXH88t4sCvaE+TMafDoaXKWReKFNtEErDvWWbeiEQn6HGlmd78IpwJhnh/5CgiiADNoDZ1wB/h5Hx/KJOTtGmAO7lUIo7TqCFqVMrBsVnUNX3Zw74LiHA1y1MtMTPJwxoQS+aVeJI7uAki0P2/CycEgMxSfiSMANspJJfUBQL/3hJggCD7bZefN114bqKZBUNnSN8y/NSHmDKfzq9CJKgFFWvRfP3sWRdE+VOfWYUdicX4Rv627GB4e1Z3HNs4nLnXJ9AJKZgL+RR4KSTnbhFEm3qZX8UuXQJMJZ3vifWlaueqkWn9yBeBwBwFTyKFOoKqkfnHCxXDedCJ6N8bNgqlEIQ9GG3REEL4LLQVK5ZQoDFmbGZ1m+H2uCRjopx806xiaNfFZwEYmtMJY0/w8B1ZXy01zlwKFkOUdBuUM+xqdT/lppjRuin4y74TmVVCQ5FUzOcz9C+Zes3kfoHkfPWzCd8Haqc9vBcrwdKyawgNgCVYfQXNZBrQYDl2j/35ZfxdwMGEiwvRgZavjBspk2IEaJi9hZnRcS27kcojqeKcYL28zhC6HptDFUHx4FcK7uHb6rNcFPP/eChTLTnptBACswVWCZjian+tC29hUWw7cy/ROniYf8iO7StINmpUW6nqo+aECE+dCeQYCJldapHA9+TYduB9Qenay4mbwhCdQf7qTsPIXGsdSviTFnx81Ue9r04E7gapSaiJ/w4ugZF7Lvky7yHw5d64yTtzDCVqDoBbMuGUH7gZKq/SWZSdhngmxdRNfUWBRcUEWTJVmeXMsp8kxetGGA3cDtbrOI08w2wL4KWc6jutyLBdI9P02HLgbKK0cTpcwEJaMTIvXy1HKvDYKDgaO5YND6X2FbTlwN1DayVXmcA2pYSPRNHAsJ1i5XNKcpVTs24bviMFTyplaowzctjAjjypwKEegazAvI9E0cKxSsHKg9NqgaUDTDLwSUFU5lEFjJiCax061YR10DuYDVNsO3Gl6hQqvJ4faKGUxoukCjV9Sy9MjZHqWsQtcXEu3Vd3ZML0qHIpvYINoeuanVFjzJk8MdrFgugmUJ4fSQYIG5rfrKG+VO1mXEpV9L2uFIROEjFUnfVpqeqRRUOmR3DBuyvmwZ5fDDVn0pxhrOumdqWCfhT4A5YMS+lC859l1N7rhhjNPIjaiUbux+7BV3jmgTsUpCtXNtyjEv5icnintQssOkWMilnY56QUinmHDUGWNAqUl+KfIlx/rZLBJoDQ5G+HSybDjQBkKpYV8eVNAueVsAai6NXpToZQHq01cfLW8i1OoThc0ahl9uxQRTLF621sue+q9HxpcNL06QKnFEzNfM3L4ro2qTShQ/nI0jQJQ479Hv1aHCZRngPsWqxekmgGKJfep8GhM9AUDxQsWVjkdBIqXpsqyoSFAVZPTMaB4Ig5H+B+9G9zXtLyXVxconutyy9kyUKqK8gKl9NfcxqsunvMovaDavJwtAlVwnLzSu/mqrNcFC5NGtSNnm0BZyuIGGuB9PdoIVCtytgmUodIr3xuOJAXQacD6HTz9hoop5LBpFK8oG+VoF8xcr8NxHtU6PTCVxXVfxQllHaBovhA5NJ5zv60DVbYJE6GsC5RDzsY7NJ3TqFx7+BO3caUQoExg+cjpjEZxsPDKxsxWXg8FSgcLCaW57T5nZzVKB4t+thHKJoDKwfKV88k0CoKndQJINWZdqnKdeuhPpai6/1mjUBIrdeZC/BmwHxr6tRoflrizLcIDqMD13w53ANWUnAegPJHMolZKTXiJiL+n14oc8pnsf8P88EXynefmkRLqFa4TlY37H/TDnHqUyA9GAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABKCAYAAAAYJRJMAAAABHNCSVQICAgIfAhkiAAACtRJREFUeF7tXEtuG0cQ7aHobSKfIDIsA9lFRg4QeZVNgMgXsMgAWVs+gal1FqYuEFK+QJQTmD5BmF2A2DB1gpDryJq86pkeVdf0l+TESMABAlmamf68ru+rmhTqX7gGB5P92375jVLFUaHUMaY8Kgs1ev3n8CI2/eDRZFCW6pUq1VIV6qpU5ax3U7ydLobL2LvbuI/1dnMRKGVfvcToGhDXLJj8yfTdcOZbweDLyUF5o37D/X3HM7NSqVmvry6nfwwX3ewCR9rVwIPDCU5bfR8cv1SLy/fDB75nTg8nv+DeySZjbLq/zgB6djiZYXCo1d0FwH7vFWoOlTk1f8Uz55CikdwIAD7G82+a5wp1eVuqAzkm3b98N+xsH50NfPpw8gHyeUAbwCQvAMLYbHbwcDKGDXpe/74s+uqxVBP+PgH7+t2wUdPaLk3MeP9NgA4n2Fd1SVtT2yeyG5/Xj1xhk08bAA8nI7xM9sv5Pv0R6teM/78DiDYopUCqGFet6Z/DgbzPASpu1P2uvFq2ipFtuIVtiXkPawMeb+WyUwKIFdTvyOWlUsbXB6FDDKhzWS5ev//h0ncQ3gPKecFx6mOc3rnr9FI2gPGOYLBnTNWs5RSFGkJ6pq41xsY3wEACzvB+FSaUagqvOczZc7IEBVRiyYO+OnZ5hUU07jka70AqW4vuq0UovuEAYeML7QjeD69onGcPfz4tioKcQjt+ygQpCaAke4FFUqRLUi0WtoKUHWzbRkA951j8VwLYGcA6MN6T3VtZUpoBUhQgCY6OZfqQjhs1wL9JfI0nagkB7r9F3HMGNZnniHXKs6RC6p4a85jK8d4KGxxTnCVCi2R1CwIkgzUNzo06NtJA6qQ+qpFjkSvYDwLGaT/MRrSduKdOi7JRx2VZllc5xpTsGALIsQwgMf+l+htrYDmbPGxfkMqBjgFkxyN99cBlF2rPNqJFYrMXBFpMpZok1G0nFkVPPc2RPLOGnkJS2wcwnvwMtotyOx10koQjAG3bP4ZQGKAqWfxgnk9BPEk9qgy9iYR970AKHueAFJvbkb54vSTbc3hYnPSUqdASBvdBTDpCI9ZRNIHeeBhtq5CZI746sQwveaePAGlL1Eau9NA+4ka6kiIystoYbypFOMUzAEJhgL6gkk+Ne6bfHXbCyuNiUuK77xg3SLUkS5BetMyNPLYoZfE8eiZD6kojuNTiQH6FFwpTHpGJpdSm2J48gCrya9FIkWdjawDktAFcynI245UeKbUZBxxVMTMpJ8A2WTQfJ8AFNd5zKxLE6ZUISSdBTgJoHeufeJotoy/VQXJJfFy9LiLfCh1HkdFfwndfadVlVG6d/nBvnGzXkgAS1v8ascNBijq5nmlxQThREPEj5HMLGGwwhsWIpQreNKUVGbcnG4MnesE0gMd0yd64AQggkGc58uQyzfSxxDMFuKTcjjycJ5sXoYd3Sq7CdXZP+dsXnheoSqJTIsz7wsRfGqDUBW9ie+Si6jkp43bmcl5wBFeN91eQvCmkbok46riVcjCDDKk7gaRSISB4cbtXAZRSgaCFFMjDtph46oQTaYGgV8+RCI99waFwFtdInI95WuGIsy4QZ1FSra8E1dTPGZZSAwT1+gs/dGRLRtGIGoc5VL+KnUjsfg6/jGdJFaqg1aOCnApJkfr6oI4ggTqf5GMXNatHCZy+uiTAfUBlAuQtBnikZIU9uQqPreVwU2OC2IJHySlox6Rhnfs5AEE6iD3UhlamKWZuHq3n7EmEA0sAe78QxLlVfoltlvE5x0ZFST1BtF/klINzABIebA5b8cTifGTBEfQLt0GxPXH17Kny68Lidqu3Z9jgMLZBrZq38Ah1cVBOjJMbIV46jy2I7mcBJL0YxVE9YhbLeU8VFDA2BllLWWJa4eLSe6r3I6mYs4ZOGwR7eOHyJrXdesOkxokDkWcpp5cKUB1k0rzOZgi5iFBVhD8LqXkJtb2rftQ3IUEUNmg3T652hH/aMYmoFjAdb+yAPiWiNyF5FGRKnjolsEwBKBOcNMq3KjsRcWcBjj1cg58akOduIukACW6F5TLYavE5VaGuiVh9lAY/wRhALnD0oezhUEHvUlNDLc1LIt4QW01jJqJW7Sa8MeuRlHErF6u5XSLBm5IKl4IUrycic+0NQrYoBJAPHBePlGLvfAfDpYY/401WfZVLHokG6AqrdSUWW/kA6hIc6Rx89f18gGx2cY7NP5YnxyWITiaW/XsBEg4kRV1zpCim2tq++gYMSJCV8ElPoU99D21zpjcogX30LdSiZz3Uq6itERtBvYxo0orX19YGqGWIRXcGj2Y1wMimEYvM8XNfusuU0k0iQK1OtFgsRp4VqvPUl/jyeZHln7maSi0JqoMlcnvHlqES/Texrgwhla1oV0rtOgBFGjz5FE4zQA846vszzgU1KsZaRUZ8ZG3ZS1Qp664Jfq8u+V4FCChrkTIlSHHzQsUsCZK9Rdrt36J5oqf24fYHnBfyOhOiWxAqsHbAWiHusgCKpInXnciUIaeEDNU6AVWgM2bEIVfgc6aOxgKvJOVKUArHbGUIEaK+PuwpD22opaYse99SLmYFS7rKuaWODAc16gQpGyDGDPq8ZAvEhDY9mVFAKn+ibP6OPkjwODlulJ5NASkbIBZqhOiMWBeaay+8uxbe56WVrOZwJzlASZA45ysDNh5U+myQKEM5KxSyVBULVuvDpNysIQ+RZH5HAFm18pSBcsAxz4YKj9kSJCq9svdQRuA4eKvP2rd+yVfv7d1+Vhlp1tFO8QBxK3yQvaJYbUrWh3I4bySNNhldhqqumVUMtLtOKBZbYO1kaMlZDPBfQ7Om0B4ywDWgGtK+4XkD0hGNZ0KStQ5A3pNO7C/ScYywq3X9zyLVXPNQ8YK+DtAAJfQr6zFSCTDXhNsCyNEzee2LxeR6pbaEDtRkAIYwIzWjDlVvQ6YZLCV16AogZ0Mpeib1fH2oVaErw6RaxAldhb7/iIDTtOV4k1XdoIn2XRoIQSDptinZzmDIn4Qm6AIgHzip3WetgiJqamS3qCIbsq9egPgmW8lroAPeazcCsUssq94YnMrrfTCGW4YZQWlKlYR1a01m/HVt0Kbg0PybdMglSRBNYn3/tUbEvQ5A2wBHA2R/n9b6PGtjCRIn4P0CJzTROgAJqbWa2FMlXwMkGlHJiKfa0agEOTq+nJ9Qxha8KUA+yiI2r0vF6W++srUcLw4Qi1g1P3SD77fW6Fv+5ACJchR5sNAHxQaoIECy8yMlZN+mFwsRZqmSY3ljEYGn7CcMkF3B8Na36jzmFZFuyOOmro9RupaghhWlPsePSBM8Up7bOxQGqN2yZuVjzq/6qiNrcbtdAvTs0eQ5bMrIxDn4uYQ5GMveAtlTkBIPZdmgWlw1SPQdqKxgOMS++WSzC4Dq3KpqPnVddQctSbQEh7J1/mmXT2WjAGk3KakF92grTEo1ed3CVl9NG28XADmSbPqykC6ZUxJ9c2AkLBUcGigJoBhI/OO1uravczfumrsAiDsRswYNT9UY6vwaMgecLIBcIIUIfoqC+ReHXQCk1wRGFD/mssnU9TVkLjjZAJkF0XddqJeNXfUyny53BZBvPvN3A5T+XXyiGXt3LYBSBnU986kAWne95r1kG7TpRDuAIgjuANoBtJmS7SRoJ0E7CdoMgZ0EbYbfzgZtIEGUdJrX+f9LY9uE2TpH/A+EMgFJ5FIHvwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAABKCAYAAADwpadnAAAABHNCSVQICAgIfAhkiAAABHFJREFUaEPtm71y00AQx0+KZygoSGboMRN7hg7zBDgtMJPkBWLpDZwGCgpCTUF4AaTwAoSCGTrME+B0zCQZzBskRTrj47/yneZ88cn6uMhWkLrIp7373e7t7e5dHK8VHHDG3rBqPQNnzHbDkX9hGrbTawXgquQzBNyWCa7KYKQNI9wM2NGZ76y67rx24HHOAmWcc+FWHgw+oPuXAQXP2tg5IdNLA7fyYKoPgDlthWf+gCAXwVUWbBFcpcFMcHcmd7uVBzPAfbsVYBFcK+jDw7wX3vKqUmDcYX3O+VDfkshbsgbrAOx7JcGM4RO8Jf1mBQzutjPhbBsuuAOJF9xlQ3eNfQl/+SObm/xeKxihjwdJMmkbKAzmNYN13oh2/h1DZ4eIYPZtwdF+hQk8SIKzAoYZHELQ4wUDPwbcri24NHIoQsltinqKA0EnLmPH1PGEsS6An8pBOA7zw1M/TDMoG20Kgan27nD2ITz3++qgIPwYsNvi3RBae2Jj0Glk5AbzHgVNPma/Y42M2YaeC+ltyswW8oMpNgyt/Pl05jfnzaQatFYR7AfAurcODEAX0MZGXrC9dvAVazR2NGnWkN4GjuqFTGHot9ymSB+bciPZqbcZ7CDs+Sz+vgT8+rxBC7BneYDiNa7kZoXBsFmGyGV7kXDORo6LStGpH8VuYsYIKoKBuz/Cb141wKaekUDuKQOmEpiumUtUkJqmChKil7mOJ6sGIX8UW0veDVpohOqP3ZQDGEBr+1KjKb/J3SzXGtNynUydlxWBZAbTHIJYXnEoNYgpOczRYR2EVjt6LKkWYai9cB73M82Q1hgyXxXyivCEtIaiNSViw74qcN7gaPYAGMYRORzN0bn/ULZduleknAte8KccEBzCtTDKNOtJIdjywWbDKGO0YYIz7Xu9dvi8iBnStw7nV7lNUV2QMENrYEWhTOafOh/7L8AwS+RErlWIFsx+vOepnrG3GaiHCqkUCOfjJzXM5O61xqkGYGqkgmV2HpyFNdh0ZpMLpuSy2Zh5hVQlP26wUJbmeu2PL3WZDvxcUj8Izd5ZM0UrQCUJybTGShqTlW5qMCvTWKKQWmN5J5uqxYjsEz2c20DZwPLhxY1rLM2FGD0/yzuJ6nc1WN5ZVDVGiamIMZFc4xxNJKyV19hMfNgKBvI0ZulgIoOWB9ZGJaIwGp0o0mNKLnFSs0Jgs7W6JLD4DlYNJq4O5V3L+neZvKKWQdPppTzoo6sHsYmqx0WV05ha89AT0BpMnFEv3ysaym+1xpQzrJV19ze1xtLcIk9T0yziFeOCqU1TrMEMh/lyP1tpjcFbvkU9/oAGq2qy8qZYg82Jw2pTFHYeX5Urw93XplibopgB/baa6eDvpjbo2hRrUzSZ4vQK+iH97HI2lFdlxdX06D096t1FiuLlexf/ABBfItsMDie44BLJUt9Pb2l74n0o7xGL29vT90rfplJCpn3MVj2iDDk1WBmzbLOPRI3Z7GjJsmYP15c8GJvdXzlpMlibPZYhy2Hu63/6Gl3eIO6V1gAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAzCAYAAACE92h3AAAABHNCSVQICAgIfAhkiAAAAP5JREFUWEe91t0NgkAQBGCvmku0CO1ErExsSgPFeMJhMETg9mfm5m2fvszLZsJhSN+/mpTe5xhPt/FmJkxYuk9Iatlo6LpnO0jXXysuGkaoJprBmugM1kIXYA30D2SjqyAT3QRZ6C7IQIsgGhWBSFQMolAViEDVoBc1gR7UDFpRF2hB3aAWhYAaFAZKUSgoQeFgCaWAeygNXO7dvNMeMR4bCriFjSoc3MPgYAmDghIMBkoxCKjB3KAWc4EWzAxaMRPowdSgF1OBCEwMojARiMSKIBrbBRnYJsjCVkEm9geysQVYA5vBWlgGa2JrYJ5yedSRklfbt+WFjRU/DaPkB+NkYUNPcf37AAAAAElFTkSuQmCC\"","import React, { useEffect, useState } from 'react'\r\nimport Expand_DownArrow from './../../../../assets/onboard-images/Expand_DownArrow.png';\r\nimport Collapse_UpArrow from './../../../../assets/onboard-images/Collapse_UpArrow.png';\r\nimport Edit_Icon from './../../../../assets/onboard-images/Edit_Icon.png';\r\nimport deleteIcon from './../../../../assets/onboard-images/Delete_Icon.png'\r\nimport { DeleteModalPopup } from '../../../Onboard/OnboardComponents/Modals/DeleteModalPopup';\r\nimport { AdminViewDeleteModel } from '../AdminViewModels';\r\nimport { getAccessGroupData, getAccessGroupEditData, updateAccessGroupDeleteStart } from '../../../../actions/Administration/adminView.action';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst AccessGroupTableView = ({info,key}) => {\r\n const dispatch = useDispatch();\r\n \r\n \r\n const [showAccordion, setShowAccordion] = useState(false);\r\n const [showDeleteAccessGroupModal, setShowDeleteAccessGroupModal] = useState(false);\r\n\r\n const handleDeleteAccessGroup = () =>{\r\n let deleteObj = [{\"AccessGroupID\": info.AccessGroupID}]\r\n dispatch(updateAccessGroupDeleteStart(deleteObj))\r\n dispatch(getAccessGroupData());\r\n setShowDeleteAccessGroupModal(false)\r\n dispatch(getAccessGroupData());\r\n }\r\n\r\n const editData = {\r\n Mode: 'Edit',\r\n editInfo: info\r\n };\r\n return (\r\n <>\r\n
    \r\n {info?.['Access Group']}\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    setShowDeleteAccessGroupModal(true)}/>
    \r\n
    {\r\n setShowAccordion(!showAccordion)\r\n }} />
    \r\n
    \r\n
    \r\n \r\n {(showAccordion) &&\r\n \r\n
    \r\n Access Group Descriptions: {info.Description}\r\n
    \r\n
    \r\n
    \r\n Operations\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {(info?.OperationList)?.map((data,i,row)=>({data.Operation} {i+1 === row.length ? '' : '|' }  ))}\r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n \r\n \r\n {showDeleteAccessGroupModal && \r\n setShowDeleteAccessGroupModal(false)}\r\n />\r\n }\r\n \r\n )\r\n}\r\n\r\nexport default AccessGroupTableView","import React, { useEffect, useState } from 'react';\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb';\r\nimport { Link } from 'react-router-dom';\r\nimport searchIcon from './../../../../assets/onboard-images/Search_Icon.png';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getAccessGroupAddData, getAccessGroupData } from '../../../../actions/Administration/adminView.action';\r\nimport AccessGroupTableView from './AccessGroupTableView';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst AccessGroupMain = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let accessGroupMainData = useSelector((state) => state.adminViewReducer.accessGroupMainData);\r\n let accessGroupAddData = useSelector((state) => state.adminViewReducer.accessGroupAddData);\r\nconsole.log('accessGroupMainData',accessGroupMainData)\r\n\r\nuseEffect(() => {\r\n dispatch(getAccessGroupData());\r\n dispatch(getAccessGroupAddData());\r\n}, [dispatch]);\r\n\r\n const [filter, setFilter] = useState('');\r\n const [searchColumns, setSearchColumns] = useState(['Access Group']);\r\n function searchRows(rows) {\r\n return rows.filter((row) =>\r\n searchColumns.some(\r\n (column) =>\r\n row[column]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(filter.toLowerCase()) > -1,\r\n ),\r\n );\r\n }\r\n const mode = {\r\n Mode : 'Add',\r\n addData : accessGroupAddData?.[0]?.OperationList\r\n };\r\n\r\n \r\n return (\r\n
    \r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Administration' value2={()=>history.push('/adminviewlanding')}\r\n isActive3={false} label3='Access Groups'\r\n />\r\n
    \r\n
    Access Groups: {accessGroupMainData.length}
    \r\n
    \r\n
    ADD ACCESS GROUP
    \r\n \r\n setFilter(e.target.value)} placeholder='Search Access Group' />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {searchRows(accessGroupMainData).map((info, i) => )}\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default AccessGroupMain","import React, { useEffect, useState } from 'react'\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb';\r\nimport { useHistory, useLocation } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getAccessGroupData, getAccessGroupEditData } from '../../../../actions/Administration/adminView.action';\r\nimport { updateAccessGroupAddEditStart } from './../../../../actions/Administration/adminView.action';\r\nimport searchIcon from '../../../../assets/images/Search_Icon.png';\r\n\r\nconst AccessGroupAddEdit = () => {\r\n const history = useHistory();\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n console.log('location::::::', location.state);\r\n let addData = location.state === undefined ? '' : location.state.addData;\r\n let accessGroupEditData = useSelector((state) => state.adminViewReducer.accessGroupEditData);\r\n const EditData = location.state === undefined ? '' : location.state.editInfo;\r\n const Mode = location.state === undefined ? '' : location.state.Mode;\r\n const [editAPIData, setEditAPIData] = useState({})\r\n const [query, setQuery] = useState('');\r\n\r\n \r\n\r\n useEffect(() => {\r\n dispatch(getAccessGroupEditData(Mode === 'Edit' ? EditData.AccessGroupID : ''));\r\n }, [dispatch, EditData, Mode]);\r\n\r\n useEffect(() => {\r\n setEditAPIData(accessGroupEditData)\r\n }, [dispatch, accessGroupEditData]);\r\n\r\n const filterQuery = data => {\r\n console.log('data????????',data)\r\n return data?.filter(option => {\r\n if (query === '') return option;\r\n else if (option.Operation.toLowerCase().includes(query.toLowerCase().trim()))\r\n return option;\r\n })\r\n }\r\n\r\n \r\n\r\n\r\n const [addAccessGroup, setAddAccessGroup] = useState(Mode === 'Edit' ? EditData : {});\r\n const HandleAddAccessGroup = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (fieldValue !== 'Select') {\r\n const newFormData = { ...addAccessGroup };\r\n newFormData[fieldName] = fieldValue;\r\n setAddAccessGroup(newFormData)\r\n }\r\n }\r\n let editoperationlist = editAPIData?.[0]?.OperationList;\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (Mode === 'Edit') {\r\n setData(editoperationlist)\r\n }\r\n else {\r\n setData(addData)\r\n }\r\n }, [dispatch, addData, Mode, editoperationlist]);\r\n\r\n\r\n const [data, setData] = React.useState();\r\n\r\n // const toggle = index => {\r\n // const newData = [...data];\r\n // newData.splice(index, 1, {\r\n // OperationId: data[index].OperationId,\r\n // Operation: data[index].Operation,\r\n // Selected: !data[index].Selected\r\n // });\r\n // setData(newData);\r\n // };\r\n\r\n\r\n const toggle =(opdata, index) => {\r\n const newData = [...data];\r\n newData.map((itm, i) => {\r\n if (opdata?.Operation === itm?.Operation) {\r\n newData.splice(i, 1, {\r\n OperationId: itm.OperationId,\r\n Operation: itm.Operation,\r\n Selected: !itm.Selected\r\n });\r\n setData(newData);\r\n }})\r\n };\r\n\r\n const [checkedAll, setCheckedAll] = useState(false)\r\n\r\n const handleChange = event => {\r\n if (event.target.checked) {\r\n const newData = [...data];\r\n newData.map((itm, i) => {\r\n newData.splice(i, 1, {\r\n OperationId: itm.OperationId,\r\n Operation: itm.Operation,\r\n Selected: true\r\n });\r\n setData(newData);\r\n })\r\n } else {\r\n const newData = [...data];\r\n newData.map((itm, i) => {\r\n newData.splice(i, 1, {\r\n OperationId: itm.OperationId,\r\n Operation: itm.Operation,\r\n Selected: false\r\n });\r\n setData(newData);\r\n })\r\n }\r\n setCheckedAll(current => !current);\r\n };\r\n \r\n const [validation, setValidation] = useState(false);\r\n \r\n const dispobj = () =>{\r\n\r\n let DispOperations = data.filter((el) =>{\r\n return el.Selected === true});\r\n let OperationIds = DispOperations.map(access => {\r\n return {\r\n OperationId : access.OperationId\r\n }\r\n });\r\n\r\n console.log('OperationIds',OperationIds)\r\n let temparr = {\r\n RoleID : Mode === 'Edit' ? EditData.AccessGroupID : '',\r\n Role : addAccessGroup?.['Access Group'],\r\n Description : addAccessGroup.Description,\r\n Details : OperationIds\r\n \r\n }\r\n const temp_Arr = {\r\n Role : addAccessGroup?.['Access Group'],\r\n Description : addAccessGroup.Description,\r\n }\r\n const isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\n if(isEmptyInput){\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ');\r\n window.scrollTo(0, 0);\r\n }\r\n else if(OperationIds.length === 0){\r\n setValidation('Please Ensure you Selected the Operations');\r\n window.scrollTo(0, 0);\r\n }\r\n else{\r\n console.log('dispOBJ',[temparr])\r\n dispatch(updateAccessGroupAddEditStart([temparr]))\r\n history.push('/admin/accessgroup')\r\n dispatch(getAccessGroupData())\r\n }\r\n }\r\n\r\n \r\n return (\r\n
    \r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Administration' value2={()=>history.push('/adminviewlanding')}\r\n isActive3={true} label3='Access Groups' value3={() => history.push('/admin/accessgroup')} isActive4={false} label4={Mode === 'Edit' ? 'Edit Access Group' : 'Add Access Group'}\r\n />\r\n
    {Mode === 'Edit' ? 'Edit' : 'Add'} Access Group
    \r\n
    {validation}
    \r\n
    \r\n
    \r\n \r\n HandleAddAccessGroup(e)}\r\n />\r\n
    \r\n
    \r\n \r\n HandleAddAccessGroup(e)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n setQuery(e.target.value)}\r\n placeholder='Search Account' />\r\n
    \r\n
    \r\n
    \r\n {(data === undefined || data === '') ? '' :
    \r\n
    \r\n {filterQuery(data)?.map((item, index) => (\r\n
    \r\n \r\n toggle(item,index)}\r\n />\r\n \r\n
    \r\n ))\r\n }\r\n
    \r\n
    }\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default AccessGroupAddEdit","import React, { useEffect, useState } from 'react';\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb';\r\nimport searchIcon from './../../../../assets/onboard-images/Search_Icon.png';\r\nimport menuIcon from './../../../../assets/images/Dotted_ContextMenu_Icon.png';\r\nimport Edit_Icon from './../../../../assets/images/Edit_Icon.png';\r\nimport deleteIcon from './../../../../assets/onboard-images/Delete_Icon.png';\r\nimport filterIcon from './../../../../assets/images/Filter_Icon.png';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { getEditUserData, getUserflowCount, getUserflowUsers, saveUserStoredFilter, updateDeleteUserStart } from '../../../../actions/Administration/adminView.action';\r\nimport { DeleteModalPopup } from '../../../Onboard/OnboardComponents/Modals/DeleteModalPopup';\r\nimport { AdminViewDeleteModel } from '../AdminViewModels';\r\nimport { OnboardSelect } from '../../../Onboard/OnboardComponents/Dropdown/Select';\r\nimport { UserDropdown, UserDropdownStatus } from './UserModels';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst Type = [\r\n {\r\n Type: \"All users\",\r\n id: \"1\"\r\n }, {\r\n Type: \"Active users\",\r\n id: \"2\"\r\n },\r\n {\r\n Type: \"Inactive users\",\r\n id: \"3\"\r\n }\r\n]\r\n\r\nconst UsersMain = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let usernameData = useSelector((state) => state.adminViewReducer.userflowUsers);\r\n let EditUserData = useSelector((state) => state.adminViewReducer.EditUserData);\r\n let userflowCount = useSelector((state) => state.adminViewReducer.userflowCount);\r\n let saveUserStoredFilters = useSelector((state) => state.adminViewReducer.saveUserStoredFilter);\r\n let saveUserStoredStatus = useSelector((state) => state.adminViewReducer.saveUserStoredStatus);\r\nconsole.log('saveUserStoredFilter',saveUserStoredStatus)\r\n \r\n\r\n\r\n const [openDownload, setOpenDownload] = useState(false);\r\n const [dropdownIndex, setDropdownIndex] = useState(null);\r\n const [usernameInfo, setUsernameInfo] = useState([]);\r\n const [filter, setFilter] = useState(saveUserStoredFilters ? saveUserStoredFilters : '');\r\n const [status, setStatus] = useState(saveUserStoredStatus ? saveUserStoredStatus : '');\r\n const [APIstatus, setAPIStatus] = useState((saveUserStoredStatus === 'Active users' ? true : (saveUserStoredStatus === 'Inactive users' ? false : '')));\r\n const [editDataID,setEditDataID] = useState()\r\n\r\nconsole.log('APIstatus',APIstatus)\r\n const addValueToStatus = (name, value) => {\r\n const newFormData = { ...status };\r\n if (name !== 'Select') {\r\n newFormData[name] = value;\r\n setStatus(newFormData)\r\n localStorage.setItem('selectedStatusInUserFlow', newFormData.Type)\r\n setAPIStatus(newFormData.Type === 'Active users' ? true : (newFormData.Type === 'Inactive users' ? false : ''))\r\n }\r\n}\r\n\r\n\r\n\r\n\r\nuseEffect(() => {\r\n dispatch(getUserflowCount(APIstatus))\r\n },[dispatch,APIstatus])\r\n \r\n useEffect(() => {\r\n setUsernameInfo(usernameData)\r\n }, [usernameData])\r\n\r\n useEffect(() => {\r\n if(editDataID){\r\n dispatch(getEditUserData(editDataID))\r\n }\r\n }, [dispatch,editDataID])\r\n\r\n\r\n useEffect(() => {\r\n const getData = setTimeout(() => {\r\n dispatch(getUserflowUsers(filter,APIstatus));\r\n }, 1000)\r\n\r\n return () => clearTimeout(getData)\r\n }, [dispatch,filter,APIstatus])\r\n\r\n \r\n\r\n const [showDeleteRoleModal, setShowDeleteRoleModal] = useState(false);\r\nconst [deleteUserId,setDeleteUserId] = useState()\r\n const deleteuserHandle = () =>{\r\n let Data= [{\"UserID\":deleteUserId.id}]\r\n dispatch(updateDeleteUserStart(Data))\r\n dispatch(getUserflowUsers('',''));\r\n setOpenDownload(false);\r\n setShowDeleteRoleModal(false)\r\n }\r\n \r\n\r\n \r\n const addmode = {\r\n Mode: 'Add',\r\n data:'',\r\n editDataID:''\r\n };\r\n\r\n const editmode = {\r\n Mode: 'Edit',\r\n data: EditUserData,\r\n editDataID:editDataID\r\n };\r\n\r\n return (\r\n
    \r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Administration' value2={()=>history.push('/adminviewlanding')}\r\n isActive3={false} label3='Users'\r\n />\r\n
    \r\n
    Users: {userflowCount?.[0]?.count}
    \r\n
    \r\n
    \r\n \r\n ADD USER\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n { setFilter(e.target.value);dispatch(saveUserStoredFilter(e.target.value))}} placeholder='Search User' />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
      \r\n {\r\n (usernameInfo).map((data, index) => (
    • \r\n
      \r\n
      \r\n
      {data.name}
      \r\n
      { setOpenDownload(true); setDropdownIndex(index);setEditDataID(data.id) }}>
      \r\n {(openDownload && dropdownIndex === index) && (\r\n
        \r\n
      •    Edit
      • \r\n
      • {setDeleteUserId(data);setShowDeleteRoleModal(true)}}>   Delete
      • \r\n
      )}
      \r\n
      \r\n
      \r\n
      \r\n
      setOpenDownload(false)}>Email ID: {data.email}
      \r\n\r\n
    • \r\n ))}\r\n
    \r\n
    \r\n\r\n {showDeleteRoleModal && \r\n setShowDeleteRoleModal(false)}\r\n />\r\n }\r\n
    \r\n\r\n \r\n )\r\n}\r\n\r\nexport default UsersMain","import React, { useEffect, useState } from 'react'\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb';\r\nimport { useHistory, useLocation } from 'react-router-dom/cjs/react-router-dom.min';\r\nimport DatePickerHandle from '../../../Onboard/OnboardComponents/KeyboardDatePicker';\r\nimport { OnboardSelect } from '../../../Onboard/OnboardComponents/Dropdown/Select';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getOriginatingCountry, getRolesTabUsers } from '../../../../actions/Onboard.action';\r\nimport deleteIcon from './../../../../assets/images/Delete_Icon.png';\r\nimport editIcon from './../../../../assets/onboard-images/Edit_Icon.png'\r\nimport { getTimeZoneData, getUPNValidation, updateAddUserStart, updateEditUserStart } from '../../../../actions/Administration/adminView.action';\r\nimport TooltipHandler from '../../../Onboard/OnboardComponents/TooltipHandler';\r\nimport { AddRoleAccountModel, AddRoleAccountPopup } from './UserModels';\r\nimport { DeleteModalPopup } from '../../../Onboard/OnboardComponents/Modals/DeleteModalPopup';\r\nimport { AdminViewDeleteModel } from '../AdminViewModels';\r\nimport { name } from 'file-loader';\r\n\r\n\r\nconst headers = [\r\n {\r\n caption: \"Role\",\r\n id: \"1\"\r\n }, {\r\n caption: \"Account\",\r\n id: \"2\"\r\n },\r\n {\r\n caption: \"Site\",\r\n id: \"3\"\r\n },\r\n {\r\n caption: \"Region\",\r\n id: \"4\"\r\n },\r\n {\r\n caption: \"Valid From\",\r\n id: \"5\"\r\n },\r\n {\r\n caption: \"Valid To\",\r\n id: \"6\"\r\n }\r\n]\r\n\r\nconst AddUsers = () => {\r\n const location = useLocation();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n console.log('location::::::', location.state)\r\n const EditData = location.state=== undefined ? '' : location.state.data;\r\n const Mode = location.state=== undefined ? '' : location.state.Mode;\r\n const editDataID = location.state=== undefined ? '' : location.state.editDataID\r\n let countryInfo = useSelector((state) => state.onboardReducer.originatingCountry);\r\n let timezoneData = useSelector((state) => state.adminViewReducer.timezoneData);\r\n let UPNValidation = useSelector((state) => state.adminViewReducer.UPNValidation);\r\n\r\n useEffect(() => {\r\n dispatch(getOriginatingCountry());\r\n dispatch(getTimeZoneData());\r\n}, [dispatch])\r\n\r\n\r\n const [addUser, setAddUser] = useState();\r\n const [addUserTableData, setAddUserTableData] = useState([])\r\n\r\n\r\n \r\n useEffect(() => {\r\n if (Mode === 'Edit') {\r\n setAddUser(EditData?.[0])\r\n setAddUserTableData(EditData?.[0]?.RoleAssignment)\r\n }\r\n else {\r\n setAddUser()\r\n }\r\n }, [dispatch, Mode,EditData ]);\r\n\r\n \r\n\r\n const HandleAddUser = (event) => {\r\n event.preventDefault();\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (fieldValue !== 'Select') {\r\n const newFormData = { ...addUser };\r\n newFormData[fieldName] = fieldValue;\r\n setAddUser(newFormData)\r\n }\r\n if(fieldName === 'UPN'){\r\ndispatch(getUPNValidation(fieldValue))\r\n }\r\n }\r\n const addValueToUser = (name, value) => {\r\n const newFormData = { ...addUser };\r\n if (name !== 'Select') {\r\n newFormData[name] = value;\r\n setAddUser(newFormData)\r\n }\r\n}\r\n\r\n\r\nconst [file, setFile] = useState(\"\");\r\n const [error, setError] = useState();\r\n const [datacard, setDatacard] = useState(false);\r\n\r\nfunction handleUpload(event) {\r\n if (event.target.files[0].size > 1000000) {\r\n setError('please upload the file lessthan 1MB');\r\n setFile('');\r\n setDatacard(false);\r\n } else {\r\n console.log(event.target.files[0])\r\n setFile(event.target.files[0]);\r\n setError('')\r\n setDatacard(true);\r\n }\r\n}\r\nfunction deleteHandler() {\r\n setFile('');\r\n setDatacard(false);\r\n}\r\n\r\nconst onChangeValue = (event) => {\r\n const fieldName = event.target.getAttribute('name');\r\n const fieldValue = event.target.value;\r\n if (fieldValue !== 'Select') {\r\n const newFormData = { ...addUser };\r\n newFormData[fieldName] = JSON.parse(fieldValue);\r\n setAddUser(newFormData)\r\n }\r\n}\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n\r\n \r\n\r\n const ValidUntilDateHandler = (date) => {\r\n setAddUser({...addUser, ValidUntil: (date === null || date === undefined) ? null : formatDate(date)});\r\n \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const [showAddRoleAccountModel, setShowAddRoleAccountModel] = useState(false);\r\n const [editRoleAccountData, setEditRoleAccountData] = useState([]);\r\n const [mode, setMode] = useState();\r\n const [tableRow, setTableRow] = useState({});\r\n\r\n const addValueToTable = (value) => {\r\n if(mode === 'Add'){\r\n if(addUserTableData.length === 0){\r\n setAddUserTableData([value])\r\n }\r\n else{\r\n setAddUserTableData([...addUserTableData,value])\r\n }\r\n }\r\n else{\r\n const editrowdata = [...addUserTableData];\r\n editrowdata[tableRow['index']] = { ...value }\r\n setAddUserTableData([...editrowdata]);\r\n }\r\n}\r\n\r\nconst [validation, setValidation] = useState('');\r\nconst [showDeleteRoleModal, setShowDeleteRoleModal] = useState(false);\r\nconst [deleteRowid, setDeleteRowid] = useState();\r\nconst [deleteRowData, setDeleteRowData] = useState();\r\n\r\nconst deleteTableRowHandler = () => {\r\n const deletedata = addUserTableData.filter((row, _id) => (_id !== deleteRowid));\r\n setAddUserTableData([...deletedata]);\r\n setShowDeleteRoleModal(false)\r\n}\r\n\r\nconsole.log('deleteRowData',deleteRowData)\r\n\r\nconst handleSubmission = () => {\r\n const formData = new FormData();\r\n\r\n formData.append('File', file);\r\n\r\n fetch(\r\n `${\r\n process.env.REACT_APP_BASE_URL\r\n }/api/users/${addUser.Email}/photo`,\r\n {\r\n method: 'POST',\r\n body: formData,\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((result) => {\r\n console.log('Success:', result);\r\n })\r\n .catch((error) => {\r\n console.error('Error:', error);\r\n });\r\n};\r\n\r\nconsole.log('UPNValidation',UPNValidation.length)\r\n\r\nconst dispobj = () =>{\r\n \r\n let temparr = {\r\n ID:\"\",\r\n Name:addUser.Name,\r\n UPN:addUser.UPN,\r\n Email:addUser.Email,\r\n ValidUntil:addUser.ValidUntil,\r\n Blocked:addUser.Blocked === 'true' ? 1 : 0,\r\n City:addUser.City,\r\n Country:addUser.Country,\r\n TimeZone:addUser.TimeZone,\r\n }\r\n console.log('dispOBJ',[temparr])\r\n const temp_Arr = {\r\n Name:addUser.Name,\r\n UPN:addUser.UPN,\r\n Email:addUser.Email\r\n}\r\nfunction ValidateEmail() \r\n{\r\n if (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(addUser.Email))\r\n {\r\n return (true)\r\n }\r\n return (false)\r\n}\r\n\r\nconst isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\nif (isEmptyInput) {\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n window.scrollTo(0, 0);\r\n}\r\nelse if(UPNValidation.length !== 0){\r\n setValidation('UPN already Exists, Please Enter the different UPN')\r\n window.scrollTo(0, 0);\r\n}\r\nelse if(!ValidateEmail()){\r\n setValidation('Invalid Email, Please Enter the valid Email Address')\r\n window.scrollTo(0, 0);\r\n}\r\nelse{\r\n dispatch(updateAddUserStart([temparr]))\r\n history.push('/admin/users');\r\n setValidation('')\r\n}\r\n}\r\n\r\n\r\n\r\nconst dispEditobj = () =>{\r\n let temp_arr = [...addUserTableData];\r\n let tempArraydetails = temp_arr.map(data => {\r\n return {\r\n ID: data?.ID ? data?.ID : '', \r\n Role:data?.Role,\r\n Accouunt:data?.Customer,\r\n Site:data?.Servicedesk,\r\n Region:data?.Region,\r\n ValidFrom:data?.['Valid From'],\r\n ValidTo:data?.['Valid To']\r\n }\r\n });\r\n\r\n let temparr = {\r\n UserID:editDataID,\r\n Name:addUser.Name,\r\n UPN:addUser.UPN,\r\n Email:addUser.Email,\r\n ValidUntil:addUser.ValidUntil,\r\n Blocked:addUser.Blocked === true ? 1 : 0,\r\n City:addUser.City,\r\n Country:addUser.Country,\r\n TimeZone:addUser.TimeZone,\r\n Details:tempArraydetails,\r\n }\r\n console.log('dispEDITOBJ',temparr);\r\n const temp_Arr = {\r\n Name:addUser.Name,\r\n UPN:addUser.UPN,\r\n Email:addUser.Email\r\n}\r\n\r\nfunction ValidateEmail() \r\n{\r\n if (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(addUser.Email))\r\n {\r\n return (true)\r\n }\r\n return (false)\r\n}\r\nconst isEmptyInput = Object.values(temp_Arr).some(x => (x === null || x === '' || x === undefined));\r\nconst upnValidation = () =>{\r\n if(UPNValidation.length !== 0){\r\n const bbbbb = EditData?.[0]?.UPN === temparr.UPN\r\n return bbbbb \r\n }\r\n return true\r\n}\r\nconsole.log('upnValidation:::',upnValidation(),UPNValidation.length !== 0, EditData?.[0]?.UPN !== temparr.UPN , EditData?.[0]?.UPN , temparr.UPN)\r\nif (isEmptyInput) {\r\n setValidation('Please Ensure you filled all the inputs with \" * \" mark ')\r\n window.scrollTo(0, 0);\r\n}\r\nelse if(!upnValidation()){\r\n console.log('UPNValidation',UPNValidation?.[0]?.upn, temparr.UPN )\r\n setValidation('UPN already Exists, Please Enter the different UPN')\r\n window.scrollTo(0, 0);\r\n}\r\nelse if(!ValidateEmail()){\r\n setValidation('Invalid Email, Please Enter the valid Email Address')\r\n window.scrollTo(0, 0);\r\n}\r\nelse{\r\n dispatch(updateEditUserStart(temparr))\r\n history.push('/admin/users');\r\n setValidation('')\r\n handleSubmission()\r\n}\r\n}\r\n\r\n\r\n return (\r\n
    \r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Administration' value2={()=>history.push('/adminviewlanding')}\r\n isActive3={true} label3='Users' value3={() => history.push('/admin/users')} isActive4={false} label4={Mode === 'Edit' ? 'Edit Role' : 'Add Role'}\r\n />\r\n\r\n
    {Mode === 'Edit' ? 'Edit User' : 'Add User' }
    \r\n
    {validation}
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n HandleAddUser(e)}\r\n />\r\n
    \r\n
    \r\n \r\n\r\n HandleAddUser(e)}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n HandleAddUser(e)}\r\n />\r\n
    \r\n
    \r\n ValidUntilDateHandler(date)}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n\r\n HandleAddUser(e)}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    Blocked
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n\r\n {Mode !== 'Edit' ?
    :
    \r\n \r\n
    Photo Upload
    \r\n
    You can upload only PNG, GIF and JPEG files. Maximum upload file size: 1MB.
    \r\n
    \r\n \r\n \r\n
    \r\n
    {error}
    \r\n {datacard &&
    {file.name}\r\n {(file.size) / 1024} KB del\r\n
    }\r\n
    }\r\n\r\n {Mode !== 'Edit' ?
    : <>
    \r\n
    Role and Account Assignment
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n {(addUserTableData).length === 0 ?\r\n\r\n
    \r\n \r\n \r\n {headers.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n
    {header.caption}{' '}
    \r\n
    \r\n
    \r\n
    \r\n No records found.
    To add new Role entries, click on \"ADD ROLE AND ACCOUNT\" link.\r\n
    \r\n
    \r\n
    \r\n
    \r\n: \r\n \r\n \r\n {headers.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n (addUserTableData).map((data, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n
    {header.caption}{' '}
    {data?.Role}{(data?.Customer)}{data?.Servicedesk}{data?.Region}{data?.['Valid From']}{data?.['Valid To']}\r\n {setShowAddRoleAccountModel(true);setEditRoleAccountData(data);setMode('Edit');setTableRow({ ...data, index })}}>\r\n \r\n \r\n\r\n {setDeleteRowid(index);setDeleteRowData(data);setShowDeleteRoleModal(true)}}>\r\n \r\n \r\n
    }\r\n
    }\r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n{showAddRoleAccountModel && \r\nsetShowAddRoleAccountModel(false)}\r\nsaveHandler={()=>setShowAddRoleAccountModel(false)} addValueToTable={addValueToTable} editRoleAccountData={editRoleAccountData}\r\nmode={mode}\r\n/>\r\n}\r\n\r\n{showDeleteRoleModal && \r\n setShowDeleteRoleModal(false)}\r\n />\r\n }\r\n \r\n
    \r\n\r\n\r\n )\r\n}\r\n\r\nexport default AddUsers","import React from \"react\";\r\nimport ReactModal from \"react-modal\";\r\nimport './AgentsKPIModels.css';\r\nimport { useSelector } from \"react-redux\";\r\nimport CloseWindow_Normal from '../../../assets/images/CloseWindow_Normal.png';\r\n\r\nconst TableHeader= [\r\n {\r\n title: \"Account Name\"\r\n },\r\n {\r\n title: \"Month-Year\"\r\n },\r\n {\r\n title: \"Valid From\"\r\n },\r\n {\r\n title: \"Valid To\"\r\n }\r\n ]\r\n\r\nexport function AssignedAccountsTblModel(props) {\r\n let agentsKPIAccountsData = useSelector((state) => state.ScoreCardReducer.agentsKPIAccountsData);\r\n console.log('agentsKPIAccountsData',agentsKPIAccountsData,props.Email)\r\n\r\n return <>\r\n
    \r\n
    {agentsKPIAccountsData?.[0]?.Agent}
    \r\n \r\n \r\n \r\n {TableHeader.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n \r\n {agentsKPIAccountsData?.[0]?.Accounts.map(data => (\r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n \r\n
    {header.title}
    {data.AccountName}{data.MonthYear}{data?.['Valid From']}{data?.['Valid To']}
    \r\n
    \r\n\r\n \r\n}\r\n\r\n\r\nexport function AssignedAccountsTblPopUp({ isOpen, setShowModal, children }) {\r\n return (<>\r\n setShowModal(false)}\r\n portalClassName='backdrop'\r\n style={{\r\n overlay: {\r\n background: ' #63666A66 0% 0% no-repeat padding-box',\r\n opacity: '1',\r\n },\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-30%',\r\n transform: 'translate(-50%, -50%)',\r\n margin:'20px',\r\n padding:'30px',\r\n \r\n }\r\n }}>\r\n {children}\r\n \r\n\r\n )\r\n}\r\n","import React, { useState } from 'react';\r\nimport './AgentsTableComponent.css';\r\nimport TableData from './FilterTable.json';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { AssignedAccountsTblModel, AssignedAccountsTblPopUp } from '../AgentsKPIModels/AgentsKPIModels';\r\nimport { Line } from 'react-chartjs-2';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AgentsKPIAccountsData, getAgentsGraphData, saveSelectedAgentScoreCardDate} from '../../../actions/ScoreCard&TeamKPI.action';\r\nimport AboveRequiredTarget_Status from \"../../../assets/images/AboveRequiredTarget_Status.png\"\r\nimport BelowMinimalTarget_Status from \"../../../assets/images/BelowMinimalTarget_Status.png\"\r\nimport BelowMinimalTargetIcon from \"../../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport CloseWindow_Normal from '../../../assets/images/CloseWindow_Normal.png';\r\n\r\nconst AgentsTableComponent = (props) => {\r\nconst history = useHistory();\r\nconst dispatch = useDispatch();\r\nlet agentsKPISummaryData = useSelector((state) => state.ScoreCardReducer.agentsKPISummaryData);\r\nlet selectedTab = useSelector((state) => state.ScoreCardReducer.selectedTab);\r\nlet selectedDate = useSelector((state) => state.ScoreCardReducer.selectedDate);\r\nlet agentsGraphData = useSelector((state) => state.ScoreCardReducer.agentsGraphData);\r\nconsole.log('agentsKPISummaryData',agentsGraphData,agentsGraphData?.[0]?.YAxis)\r\n\r\n\r\n\r\nconst [showAccAsgnMdl,SetShowAccAsgnMdl] = useState(false);\r\nconst [showStaffedTimeMdl,SetShowStaffedTimeMdl] = useState(false);\r\n\r\n const TableHeaderHandler = () => {\r\n switch (props.SelectedTab) {\r\n case 'Schedule / Attendance': return TableData.ScheduleHeader\r\n case 'Customer Experience': return TableData.CustomerHeader\r\n case 'Quantitative': return TableData.QuantitativeHeader\r\n case 'Qualitative': return TableData.QualitativeHeader\r\n case 'Account Specific KPIs': return TableData.AccountHeader\r\n case 'AWS Telephony': return TableData.AWSHeader\r\n default: { }\r\n }\r\n }\r\n\r\n const ArrowHandler = (color) => {\r\n switch (color) {\r\n case 'Red': return BelowMinimalTarget_Status;\r\n case 'Green': return AboveRequiredTarget_Status;\r\n case 'Yellow': return BelowMinimalTargetIcon;\r\n default: return;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\nconst options = {\r\n responsive: true,\r\n plugins: {\r\n legend: {\r\n position: 'top' \r\n },\r\n title: {\r\n display: true,\r\n text: 'Chart.js Line Chart',\r\n },\r\n tooltip: {\r\n //yAlign: 'bottom',\r\n displayColors: false,\r\n backgroundColor: 'white',\r\n bodyColor: 'black',\r\n titleMarginBottom: 0,\r\n borderColor: '#969696',\r\n borderWidth: 1,\r\n titleColor: '#63666A',\r\n titleAlign: 'center',\r\n titleFont: {weight: '400'},\r\n displayColors: false,\r\n padding: 10,\r\n cornerRadius: 0,\r\n caretSize:5,\r\n bodyFont: {weight: 'bolder'},\r\n callbacks: {\r\n label: (context) => { \r\n let label = context.parsed.y; \r\n return label; \r\n }\r\n }\r\n\r\n } \r\n },\r\n scales:{\r\n x: {\r\n stacked: true,\r\n title:{\r\n display: true,\r\n }\r\n },\r\n y: {\r\n beginAtZero: true,\r\n grid: {\r\n display: false,\r\n borderColor: 'white'\r\n },\r\n ticks: {\r\n display: false\r\n }\r\n }\r\n}, \r\n \r\n};\r\n\r\n const setLabels = agentsGraphData?.[0]?.details.map((data)=>{return data.YearMonth})\r\n const setData = agentsGraphData?.[0]?.details.map((data)=>{return data.Value2})\r\n\r\n\r\nconst data = {\r\n labels: setLabels,\r\n datasets: [ \r\n {\r\n type: \"line\",\r\n label: \"Met %\",\r\n borderColor: \"#6CC24A\",\r\n tension: 0.1, \r\n fill: false,\r\n data: setData,\r\n order: 1,\r\n yAxisID: 'metprcnt'\r\n }\r\n ]\r\n};\r\n\r\nconst DisplayGraphHandler = (Agent,Metric) =>{\r\n SetShowStaffedTimeMdl(true);\r\n dispatch(getAgentsGraphData(Agent,selectedTab,Metric,selectedDate))\r\n}\r\n\r\n\r\n\r\n// // working solution.................................................................................................\r\n\r\n// const durations = ['01:30:00', '02:15:45', '00:45:30', '03:00:00', '01:00:15'];\r\n\r\n// // Function to convert hh:mm:ss to seconds\r\n// const timeToSeconds = (time) => {\r\n// const [hours, minutes, seconds] = time.split(':').map(Number);\r\n// return hours * 3600 + minutes * 60 + seconds;\r\n// };\r\n\r\n// // Function to convert seconds to hh:mm:ss\r\n// const secondsToTime = (seconds) => {\r\n// const hrs = Math.floor(seconds / 3600);\r\n// const mins = Math.floor((seconds % 3600) / 60);\r\n// const secs = seconds % 60;\r\n// return `${hrs.toString().padStart(2, '0')}:${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;\r\n// };\r\n\r\n// // Convert durations to seconds for Chart.js\r\n// const durationsInSeconds = durations.map(time => timeToSeconds(time));\r\n\r\n// // Prepare data for Chart.js format\r\n// const data = {\r\n// labels: ['Data Point 1', 'Data Point 2', 'Data Point 3', 'Data Point 4', 'Data Point 5'],\r\n// datasets: [\r\n// {\r\n// label: 'Time Durations',\r\n// data: durationsInSeconds,\r\n// borderColor: 'green',\r\n// fill: false\r\n// }\r\n// ]\r\n// };\r\n\r\n// // Chart options\r\n// const options = {\r\n// plugins: {\r\n// legend: {\r\n// position: 'top' \r\n// },\r\n// title: {\r\n// display: true,\r\n// text: 'Chart.js Line Chart',\r\n// },\r\n// tooltip: {\r\n// //yAlign: 'bottom',\r\n// displayColors: false,\r\n// backgroundColor: 'white',\r\n// bodyColor: 'black',\r\n// titleMarginBottom: 0,\r\n// borderColor: '#969696',\r\n// borderWidth: 1,\r\n// titleColor: '#63666A',\r\n// titleAlign: 'center',\r\n// titleFont: {weight: '400'},\r\n// displayColors: false,\r\n// padding: 10,\r\n// cornerRadius: 0,\r\n// caretSize:5,\r\n// bodyFont: {weight: 'bolder'},\r\n// callbacks: {\r\n// label: (context) => { \r\n// let label = context.parsed.y; \r\n// return secondsToTime(label); \r\n// }\r\n// }\r\n\r\n// } \r\n// },\r\n// scales: {\r\n// y: {\r\n// title: {\r\n// display: true,\r\n// text: 'Time (hh:mm:ss)'\r\n// },\r\n// ticks: {\r\n// // Custom callback to format y-axis labels as hh:mm:ss\r\n// callback: function(value) {\r\n// return secondsToTime(value);\r\n// }\r\n// }\r\n// }\r\n// }\r\n// };\r\n\r\n\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {TableHeaderHandler().map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n <> {agentsKPISummaryData?.[0]?.Agent && agentsKPISummaryData?.[0]?.Agent.map((info, i) =>\r\n \r\n \r\n { info?.Details?.map((value, index) => {\r\n return \r\n })}\r\n \r\n )}\r\n \r\n
    {''}{header.caption}
    \r\n \r\n
    \r\n
    {history.push('/agent');dispatch(saveSelectedAgentScoreCardDate(info?.Agent))}}>{info?.Agent}
    \r\n
    {SetShowAccAsgnMdl(true);dispatch(AgentsKPIAccountsData(info?.Agent))}}>Assigned Accounts: {info?.['Assigned Accounts']}
    \r\n
    Score: {info?.Score}
    \r\n
    {info?.['for Last Month']} for Last Month
    \r\n
    \r\n
    DisplayGraphHandler(value['Agent'],value['Metric'])} style={{cursor:'pointer'}}>\r\n { (value['Value1']) } {value['Color2'] !== null ? \"arrow\" : ''}\r\n
    \r\n\r\n\r\n {showAccAsgnMdl && \r\n {SetShowAccAsgnMdl(false)}}\r\n />\r\n }\r\n\r\n {showStaffedTimeMdl && \r\n
    \r\n
    {agentsGraphData?.[0]?.Agent}
    SetShowStaffedTimeMdl(false)} style={{cursor:'pointer'}}>
    \r\n
    {agentsGraphData?.[0]?.widget} - {agentsGraphData?.[0]?.metric}
    \r\n
    {agentsGraphData?.[0]?.YAxis}
    \r\n
    Year/Month
    \r\n
    \r\n
    }\r\n \r\n
    \r\n )\r\n}\r\n\r\nexport default AgentsTableComponent","import React, { useEffect, useState } from 'react';\r\nimport './AgentsTableComponent.css';\r\nimport filterIcon from '../../../assets/images/Filter_Icon.png';\r\nimport RefreshIcon from '../../../assets/images/Reset_Icon.png';\r\nimport Dropdown from '../../ReportTables/ReportFilters/Dropdown';\r\nimport Button from '../../ReportTables/ReportFilters/Button';\r\nimport TableData from './FilterTable.json';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getAgentsKPISummaryData, getTeamleaderAccountsData, getTeamleaderAccountsViewData, getTeamleaderAgentsData, getTeamleaderDatesData, saveSelectedDate } from '../../../actions/ScoreCard&TeamKPI.action';\r\nimport { OnboardSelect } from '../../Onboard/OnboardComponents/Dropdown/Select';\r\nimport { AccountsOffcanvasTL } from '../../Agent-ScoreCard/AccountsOffcanvas';\r\n\r\nconst AgentsFilterComponent = (props) => {\r\n const dispatch = useDispatch();\r\n\r\n let teamleaderAgents = useSelector((state) => state.ScoreCardReducer.teamleaderAgents);\r\n let teamleaderAccounts = useSelector((state) => state.ScoreCardReducer.teamleaderAccounts);\r\n let teamleaderAccountsView = useSelector((state) => state.ScoreCardReducer.teamleaderAccountsView);\r\n let teamleaderDates = useSelector((state) => state.ScoreCardReducer.teamleaderDates);\r\n let selectedTab = useSelector((state) => state.ScoreCardReducer.selectedTab);\r\n console.log('agentsKPISummaryData', teamleaderAgents, teamleaderAccounts)\r\n console.log('teamleaderDates', teamleaderDates?.[0]?.YearMonth)\r\n useEffect(() => {\r\n dispatch(getTeamleaderAgentsData(''))\r\n dispatch(getTeamleaderAccountsViewData())\r\n dispatch(getTeamleaderDatesData());\r\n }, [dispatch])\r\n useEffect(()=>{\r\n if(teamleaderDates?.[0]?.YearMonth){\r\n dispatch(getAgentsKPISummaryData('', '', teamleaderDates?.[0]?.YearMonth, 'Schedule / Attendance'));\r\n }\r\n },[dispatch,teamleaderDates])\r\n\r\n const [yearMonth,setYearMonth] = useState('');\r\n\r\n useEffect(()=>{\r\nsetYearMonth(teamleaderDates?.[0]?.YearMonth)\r\n },[teamleaderDates])\r\n\r\n const addValueToDate = (name, value) => {\r\n if (value !== 'Select') {\r\n const newFormData = { ...yearMonth };\r\n newFormData[name] = value;\r\n setYearMonth(value)\r\n setIsRefreshedClicked(false)\r\n }\r\n}\r\nuseEffect(()=>{\r\ndispatch(saveSelectedDate(yearMonth))\r\n},[dispatch,yearMonth])\r\n\r\n const [addFormRole, setAddFormRole] = useState([])\r\n useEffect(() => {\r\n if (teamleaderAgents?.length > 0) {\r\n teamleaderAgents.map(info => info.isChecked = false);\r\n setAddFormRole(teamleaderAgents);\r\n }\r\n }, [teamleaderAgents])\r\n\r\n const addValueToRole = (option, drpdwnID) => {\r\n let temp_arr = [...addFormRole];\r\n temp_arr.map((itm, i) => {\r\n if (option.value === itm.value) {\r\n itm.isChecked = !option.isChecked;\r\n }\r\n return '';\r\n });\r\n setAddFormRole(temp_arr);\r\n }\r\n\r\n let selectedvalues = addFormRole.filter((el) => {\r\n return el.isChecked === true\r\n })\r\n\r\n let selectedArray = selectedvalues.map((el) => {\r\n return `${el.value}`\r\n }).join(' , ')\r\n\r\n let selectedAgents = selectedvalues.map((el) => {\r\n return `Agent[]=${el.value}`\r\n }).join('&')\r\n\r\n console.log('selectedvalues',selectedvalues.length)\r\n\r\n useEffect(() => {\r\n if (selectedAgents || yearMonth || selectedTab) {\r\n dispatch(getTeamleaderAccountsData(selectedAgents));\r\n dispatch(getAgentsKPISummaryData(selectedAgents, '', yearMonth, selectedTab));\r\n }\r\n }, [dispatch, selectedAgents,yearMonth,selectedTab])\r\n\r\n const [accountsData, setAccountsData] = useState([])\r\n useEffect(() => {\r\n if (teamleaderAccountsView?.length > 0) {\r\n teamleaderAccountsView.map(info => info.isChecked = false);\r\n setAccountsData(teamleaderAccountsView);\r\n }\r\n }, [teamleaderAccountsView])\r\n\r\n console.log('account',accountsData)\r\n\r\n const addValueToAccounts = (option, drpdwnID) => {\r\n let temp_arr = [...accountsData];\r\n temp_arr.map((itm, i) => {\r\n if (option.value === itm.value) {\r\n itm.isChecked = !option.isChecked;\r\n }\r\n return '';\r\n });\r\n setAccountsData(temp_arr);\r\n }\r\n\r\n let selectedAccountvalues = accountsData.filter((el) => {\r\n return el.isChecked === true\r\n })\r\n\r\n let selectedAccountArray = selectedAccountvalues.map((el) => {\r\n return `${el.value}`\r\n }).join(' , ')\r\n\r\n\r\n let selectedAccounts = selectedAccountvalues.map((el) => {\r\n return `AccountID[]=${el.CustomerID}`\r\n }).join('&')\r\n\r\n // console.log('selectedAccountvalues',selectedAccounts)\r\n\r\n useEffect(() => {\r\n if (selectedAccounts) {\r\n dispatch(getTeamleaderAgentsData(selectedAccounts))\r\n }\r\n }, [dispatch,selectedAccounts])\r\n\r\n const clearfilterHandler = () => {\r\n let temp_arr = [...addFormRole];\r\n temp_arr.map((itm, i) => {\r\n itm.isChecked = false;\r\n return '';\r\n });\r\n setAddFormRole(temp_arr);\r\n dispatch(getTeamleaderAccountsData(''))\r\n dispatch(getAgentsKPISummaryData('', '', yearMonth, selectedTab));\r\n }\r\n\r\n const clearfilterHandlerAccounts = () =>{\r\n dispatch(getTeamleaderAccountsViewData())\r\n dispatch(getTeamleaderAgentsData(''));\r\n dispatch(getAgentsKPISummaryData('', '', yearMonth, selectedTab));\r\n }\r\n\r\n \r\n const [showOffCanvas,setShowOffCanvas] = useState(false);\r\n const [isRefreshClicked, setIsRefreshedClicked] = useState(false);\r\nconsole.log('yearMonth',yearMonth)\r\n\r\nconst refreshIconHandler = () => {\r\n dispatch(getTeamleaderAccountsViewData())\r\n dispatch(getTeamleaderAgentsData(''))\r\n dispatch(getTeamleaderAccountsData(''))\r\n dispatch(getAgentsKPISummaryData('', '', yearMonth, selectedTab));\r\n setYearMonth(teamleaderDates?.[0]?.YearMonth);\r\n setIsRefreshedClicked(true)\r\n};\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n \"filter\"\r\n \r\n
    \r\n
    \r\n

    Name

    \r\n \r\n
    \r\n
    \r\n

    Account Assigned

    \r\n {selectedvalues.length === 0 ? :
    setShowOffCanvas(true)} className='Accounts_Details'>{teamleaderAccounts.length}
    }\r\n setShowOffCanvas(false)} show={showOffCanvas} Title='Account Assignment'/>\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {selectedvalues.length !== 0 ?
    {selectedArray}
    \r\n
    clearfilterHandler()}>Clear filters
    : ''}\r\n\r\n {selectedAccountvalues.length !== 0 ?
    {selectedAccountArray}
    \r\n {selectedvalues.length === 0 ?
    clearfilterHandlerAccounts()}>Clear filters
    : ''}
    : ''}\r\n \r\n )\r\n}\r\n\r\nexport default AgentsFilterComponent","import React, { useEffect, useState } from 'react';\r\nimport './AgentsKPISummaryTabs.css';\r\nimport AdminBreadcrumb from '../../Administration/General/Admin-breadcrumb';\r\nimport { useHistory } from 'react-router-dom';\r\nimport AboveRequiredTargetIcon from \"../../../assets/images/AboveRequiredTarget_Status.png\";\r\nimport AboveMinimalTargetIcon from \"../../../assets/images/AboveMinimalTarget_Status.png\";\r\nimport BelowMinimalTargetIcon from \"../../../assets/images/BelowMinimalTarget_Status.png\";\r\nimport { Tab, Tabs } from 'react-bootstrap';\r\nimport FilterTableComponent from '../FilterAndTable/AgentsTableComponent';\r\nimport AgentsFilterComponent from '../FilterAndTable/AgentsFilterComponent';\r\nimport { saveSelectedTab } from '../../../actions/ScoreCard&TeamKPI.action';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nconst AgentsKPISummaryTabs = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const [key, setKey] = useState('Schedule / Attendance');\r\n\r\n const TabData = [\r\n {\r\n eventKey:\"Schedule / Attendance\",\r\n title:\"Schedule / Attendance\"\r\n },\r\n {\r\n eventKey:\"Customer Experience\",\r\n title:\"Customer Experience\"\r\n },\r\n {\r\n eventKey:\"Quantitative\",\r\n title:\"Quantitative\"\r\n },\r\n {\r\n eventKey:\"Qualitative\",\r\n title:\"Qualitative\"\r\n },\r\n {\r\n eventKey:\"Account Specific KPIs\",\r\n title:\"Account Specific KPIs\"\r\n },\r\n {\r\n eventKey:\"AWS Telephony\",\r\n title:\"AWS Telephony\"\r\n },\r\n\r\n ]\r\n useEffect(()=>{\r\n dispatch(saveSelectedTab(\"Schedule / Attendance\"))\r\n },[dispatch])\r\n \r\n \r\n\r\n console.log('key',key)\r\n return (\r\n \r\n
    \r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Reports' value2={()=>history.push('/regional')}\r\n isActive3={false} label3='Agents KPI Summary'\r\n /> \r\n
    \r\n
    Agents KPI Summary
    \r\n
    \r\n Legend: \r\n Above Required Target\r\n Above Minimal Target\r\n Below Minimal Target\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n {setKey(k);dispatch(saveSelectedTab(k))}}>\r\n {TabData.map(data =>( \r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default AgentsKPISummaryTabs","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom/cjs/react-router-dom.min';\r\nimport { getAuditRoleData, getRegionData } from '../../../../actions/Administration/adminView.action';\r\nimport { getGeneralInfoSites, getRolesTabRoles, getRolesTabUsers } from '../../../../actions/Onboard.action';\r\nimport { getStaffAccounts } from '../../../../actions/Administration/staffAdmin.action';\r\nimport './Audit.css';\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb';\r\nimport Filter_Icon from './../../../../assets/images/Filter_Icon.png';\r\nimport { OnboardSelect } from '../../../Onboard/OnboardComponents/Dropdown/Select';\r\nimport RefreshIcon from './../../../../assets/images/Reset_Icon.png';\r\nimport Button from '../../../ReportTables/ReportFilters/Button';\r\nimport { TimeOutSelect } from '../../../Onboard/OnboardComponents/Dropdown/TimeOutSelect';\r\n\r\n\r\n\r\n\r\nconst headers = [\r\n {\r\n caption: \"Role\",\r\n id: \"1\"\r\n }, {\r\n caption: \"User\",\r\n id: \"2\"\r\n },\r\n {\r\n caption: \"Account\",\r\n id: \"3\"\r\n },\r\n {\r\n caption: \"Site\",\r\n id: \"4\"\r\n }, {\r\n caption: \"Region\",\r\n id: \"5\"\r\n },\r\n {\r\n caption: \"Valid From\",\r\n id: \"6\"\r\n },\r\n {\r\n caption: \"Valid To\",\r\n id: \"7\"\r\n }\r\n]\r\n\r\n\r\nconst AuditRole = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n let Rolename = useSelector((state) => state.onboardReducer.roleTabRoles);\r\n let usernameData = useSelector((state) => state.onboardReducer.roleTabUsers);\r\n const SiteData = useSelector((state) => state.onboardReducer.generalSiteInfo);\r\n const AccountsInfo = useSelector((state) => state.staffAdminReducer.staffAccounts);\r\n const regionData = useSelector((state) => state.adminViewReducer.regionData);\r\n let auditRoleTableData = useSelector((state) => state.adminViewReducer.auditRoleData);\r\n useEffect(() => {\r\n dispatch(getRolesTabRoles());\r\n dispatch(getGeneralInfoSites());\r\n dispatch(getStaffAccounts());\r\n dispatch(getRegionData());\r\n dispatch(getRolesTabUsers(''));\r\n\r\n }, [dispatch]);\r\n\r\n const emailIDhandler = (username) => {\r\n if (username) {\r\n let emailObj = usernameInfo?.filter(info => info?.nameEmail === username);\r\n return emailObj?.[0]?.email || '';\r\n }\r\n else return '';\r\n}\r\n\r\n useEffect(() => {\r\n setUsernameInfo(usernameData)\r\n}, [usernameData])\r\nconst QueryHandler = query => {\r\n setTimeout(() => {\r\n dispatch(getRolesTabUsers(query));\r\n setUsernameInfo(usernameData)\r\n }, 2000)\r\n if (query === '') {\r\n dispatch(getRolesTabUsers(''));\r\n }\r\n}\r\n\r\nfunction formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n}\r\n\r\n\r\n const [selectedRole, setSelectedRole] = useState();\r\n const [selectedUser, setSelectedUser] = useState();\r\n const [selectedAccount, setSelectedAccount] = useState();\r\n const [selectedSite, setSelectedSite] = useState();\r\n const [selectedRegion, setSelectedRegion] = useState();\r\n const [isRefreshClicked, setIsRefreshedClicked] = useState(false);\r\n const [usernameInfo, setUsernameInfo] = useState([]);\r\n const [auditRoleData, setAuditRoleData] = useState([]);\r\n\r\n console.log('setSelectedUser',selectedUser)\r\n\r\n useEffect(() => {\r\n if(selectedRole || selectedUser || selectedAccount || selectedSite || selectedRegion){\r\n dispatch(getAuditRoleData(selectedRole ? selectedRole : '',selectedAccount ? selectedAccount :'', selectedSite ? selectedSite : '', selectedUser ? (selectedUser) : '',selectedRegion ? selectedRegion : ''));\r\n }\r\n }, [dispatch,selectedRole,selectedUser,selectedAccount,selectedSite,selectedRegion]);\r\n\r\n\r\nuseEffect(()=>{\r\n if(selectedRole === undefined && selectedUser === undefined && selectedAccount === undefined && selectedSite === undefined && selectedRegion === undefined){\r\n setAuditRoleData([]);\r\n }\r\n else{\r\n setAuditRoleData(auditRoleTableData)\r\n }\r\n},[auditRoleTableData, selectedAccount, selectedRegion, selectedRole, selectedSite, selectedUser])\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Administration' value2={() => history.push('/adminviewlanding')}\r\n isActive3={false} label3='Audit Role'\r\n />\r\n
    Audit Role
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n { setSelectedRole(value);setIsRefreshedClicked(false) }} refresh={isRefreshClicked}/>\r\n
    \r\n
    \r\n \r\n { setSelectedUser(emailIDhandler(value));setIsRefreshedClicked(false) }} refresh={isRefreshClicked}/>\r\n
    \r\n
    \r\n \r\n { setSelectedAccount(value);setIsRefreshedClicked(false) }} refresh={isRefreshClicked}/>\r\n
    \r\n
    \r\n \r\n { setSelectedSite(value);setIsRefreshedClicked(false) }} refresh={isRefreshClicked}/>\r\n
    \r\n
    \r\n \r\n { setSelectedRegion(value);setIsRefreshedClicked(false) }} refresh={isRefreshClicked}/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n {auditRoleData.length === 0 ?
    No records found.\r\n
    Use the filter options above to get relevant data.
    : \r\n \r\n \r\n \r\n {headers.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n {\r\n (auditRoleData).map((data, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n
    {header.caption}
    {data.role}{data.user}{data.account}{data.site}{data.region}{data.validSince === null ? '' : formatDate(data.validSince)}{data.validUntil === null ? '' : formatDate(data.validUntil)}
    }\r\n
    \r\n )\r\n}\r\n\r\nexport default AuditRole","import React, { useEffect, useState } from 'react';\r\nimport AdminBreadcrumb from '../../General/Admin-breadcrumb';\r\n\r\nimport { useHistory } from 'react-router-dom';\r\nimport './Audit.css';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getAccessGroup, getAdminRoles, getAuditRBACData, getOperationsData } from '../../../../actions/Administration/adminView.action';\r\nimport Filter_Icon from './../../../../assets/images/Filter_Icon.png';\r\nimport Button from '../../../ReportTables/ReportFilters/Button';\r\nimport RefreshIcon from './../../../../assets/images/Reset_Icon.png';\r\nimport { OnboardSelect } from '../../../Onboard/OnboardComponents/Dropdown/Select';\r\n\r\n\r\nconst headers = [\r\n {\r\n caption: \"Role\",\r\n id: \"1\"\r\n }, {\r\n caption: \"Access Group\",\r\n id: \"2\"\r\n },\r\n {\r\n caption: \"Operation\",\r\n id: \"3\"\r\n }\r\n]\r\n\r\n\r\nconst AuditRBAC = () => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n let adminViewRoleData = useSelector((state) => state.adminViewReducer.adminViewRoleData);\r\n let accessGroupData = useSelector((state) => state.adminViewReducer.accessGroupData);\r\n let operationsMainData = useSelector((state) => state.adminViewReducer.operationsData);\r\n let auditRBACTableData = useSelector((state) => state.adminViewReducer.auditRBACData);\r\n useEffect(() => {\r\n dispatch(getAccessGroup());\r\n dispatch(getAdminRoles());\r\n dispatch(getOperationsData());\r\n\r\n }, [dispatch]);\r\n\r\n const [selectedRole, setselectedRole] = useState();\r\n const [selectedAccessGroup, setselectedAccessGroup] = useState();\r\n const [selectedOperation, setselectedOperation] = useState();\r\n const [isRefreshClicked, setIsRefreshedClicked] = useState(false);\r\n const [auditRBACData,setAuditRBACData] = useState([])\r\n\r\n useEffect(() => {\r\n if (selectedRole === undefined && selectedAccessGroup === undefined && selectedOperation === undefined) {\r\n setAuditRBACData([])\r\n }\r\n else{\r\n setAuditRBACData(auditRBACTableData)\r\n }\r\n }, [auditRBACTableData, selectedAccessGroup, selectedOperation, selectedRole]);\r\n \r\n\r\n \r\n\r\n console.log('selectedRole',selectedRole,selectedAccessGroup,selectedOperation)\r\n return (\r\n
    \r\n
    \r\n history.push('/welcome')} label1='Home' isActive2={true} label2='Administration' value2={() => history.push('/adminviewlanding')}\r\n isActive3={false} label3='Audit RBAC'\r\n />\r\n
    Audit RBAC
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {setselectedRole(value); dispatch(getAuditRBACData(value,selectedAccessGroup ? selectedAccessGroup : '' , selectedOperation ? selectedOperation : ''));setIsRefreshedClicked(false)}} />\r\n
    \r\n
    \r\n \r\n {setselectedAccessGroup(value); dispatch(getAuditRBACData(selectedRole ? selectedRole : '', value , selectedOperation ? selectedOperation : ''));setIsRefreshedClicked(false)}} />\r\n
    \r\n
    \r\n \r\n {setselectedOperation(value); dispatch(getAuditRBACData(selectedRole ? selectedRole : '' , selectedAccessGroup ? selectedAccessGroup : '' , value));setIsRefreshedClicked(false)}} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {auditRBACData.length === 0 ?
    No records found.\r\n
    Use the filter options above to get relevant data.
    : \r\n \r\n \r\n \r\n {headers.map(header => (\r\n \r\n ))\r\n }\r\n \r\n \r\n {\r\n (auditRBACData).map((data, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n
    {header.caption}
    {data.role}{data.accessGroup}{data.operation}
    }\r\n
    \r\n )\r\n}\r\n\r\nexport default AuditRBAC\r\n\r\n","export default __webpack_public_path__ + \"static/media/AQuAA_Logo.01f8736c.PNG\";","import React from 'react';\r\nimport './Applications.css';\r\nimport { Fragment } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport AQuAA_Logo from './../assets/images/AQuAA_Logo.PNG'\r\n\r\nconst Apps = [\r\n {\r\n id: 1,\r\n \"Name\": \"AQuAA ASD\",\r\n path:'/aquaa',\r\n img:AQuAA_Logo\r\n },\r\n {\r\n id: 2,\r\n \"Name\": \"AQuAA Non-ASD\",\r\n path:'/aquaa',\r\n img:AQuAA_Logo\r\n },\r\n {\r\n id: 3,\r\n \"Name\": \"APP 3\",\r\n },\r\n {\r\n id: 4,\r\n \"Name\": \"APP 4\",\r\n }\r\n]\r\n\r\nconst Applications = () => {\r\n const history = useHistory();\r\n return (\r\n \r\n
    \r\n {Apps.map((App,i) => (
    history.push(App.path)}>\r\n
    {App.Name}
    )) }\r\n
    \r\n\r\n
    \r\n )\r\n}\r\n\r\nexport default Applications","const AquaaActionTypes = {\r\n GET_AQUAA_ACCOUNTS_DATA: \"GET_AQUAA_ACCOUNTS_DATA\",\r\n AQUAA_ACCOUNTS_DATA: \"AQUAA_ACCOUNTS_DATA\",\r\n\r\n GET_AQUAA_AGENTS_DATA: \"GET_AQUAA_AGENTS_DATA\",\r\n AQUAA_AGENTS_DATA: \"AQUAA_AGENTS_DATA\",\r\n\r\n GET_AQUAA_CHANNELS_DATA: \"GET_AQUAA_CHANNELS_DATA\",\r\n AQUAA_CHANNELS_DATA: \"AQUAA_CHANNELS_DATA\",\r\n\r\n GET_AQUAA_LANGUAGES_DATA: \"GET_AQUAA_LANGUAGES_DATA\",\r\n AQUAA_LANGUAGES_DATA: \"AQUAA_LANGUAGES_DATA\",\r\n\r\n GET_AQUAA_LOCATIONS_DATA: \"GET_AQUAA_LOCATIONS_DATA\",\r\n AQUAA_LOCATIONS_DATA: \"AQUAA_LOCATIONS_DATA\",\r\n\r\n GET_AQUAA_AWS_DATA: \"GET_AQUAA_AWS_DATA\",\r\n AQUAA_AWS_DATA: \"AQUAA_AWS_DATA\",\r\n\r\n GET_EVALUATION_FORM_DATA: \"GET_EVALUATION_FORM_DATA\",\r\n EVALUATION_FORM_DATA: \"EVALUATION_FORM_DATA\",\r\n\r\n UPDATE_EVALUATION_FORM_DATA_START: \"UPDATE_EVALUATION_FORM_DATA_START\",\r\n UPDATE_EVALUATION_FORM_DATA_SUCCESS: \"UPDATE_EVALUATION_FORM_DATA_SUCCESS\",\r\n\r\n\r\n };\r\n \r\n export default AquaaActionTypes;\r\n ","import AquaaActionTypes from \"../../constants/Applications/aquaa-actionTypes\";\r\n\r\n\r\nexport const getAquaaAccountsData = () => ({\r\n type: AquaaActionTypes.GET_AQUAA_ACCOUNTS_DATA\r\n });\r\n\r\nexport const getAquaaAgentsData = (account) => ({\r\n type: AquaaActionTypes.GET_AQUAA_AGENTS_DATA,\r\n account: account\r\n });\r\n\r\nexport const getAquaaChannelsData = (account,agent) => ({\r\n type: AquaaActionTypes.GET_AQUAA_CHANNELS_DATA,\r\n account: account,\r\n agent: agent\r\n });\r\n\r\nexport const getAquaaLanguagesData = (account,agent,channel) => ({\r\n type: AquaaActionTypes.GET_AQUAA_LANGUAGES_DATA,\r\n account: account,\r\n agent: agent,\r\n channel: channel\r\n });\r\n\r\nexport const getAquaaLocationsData = (account,agent,channel,language) => ({\r\n type: AquaaActionTypes.GET_AQUAA_LOCATIONS_DATA,\r\n account: account,\r\n agent: agent,\r\n channel: channel,\r\n language:language\r\n });\r\n\r\n export const getAquaaAWSData = (account,agent,channel,language,location) => ({\r\n type: AquaaActionTypes.GET_AQUAA_AWS_DATA,\r\n account: account,\r\n agent: agent,\r\n channel: channel,\r\n language:language,\r\n location:location\r\n });\r\n\r\n export const getEvaluationFormData = (contactId) => ({\r\n type: AquaaActionTypes.GET_EVALUATION_FORM_DATA,\r\n contactId:contactId\r\n });\r\n\r\n export const updateEvaluationFormDataStart= (data) => (\r\n {\r\n type: AquaaActionTypes.UPDATE_EVALUATION_FORM_DATA_START,\r\n payload: data,\r\n }\r\n )\r\n \r\n export const updateEvaluationFormDataSuccess = () => (\r\n {\r\n type: AquaaActionTypes.UPDATE_EVALUATION_FORM_DATA_SUCCESS,\r\n }\r\n )\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useDispatch } from 'react-redux';\r\nimport { useSelector } from 'react-redux';\r\nimport { getAquaaAccountsData, getAquaaAgentsData, getAquaaAWSData, getAquaaChannelsData, getAquaaLanguagesData, getAquaaLocationsData } from '../../actions/Applications/aquaa.action';\r\nimport Filter_Icon from './../../assets/images/Filter_Icon.png';\r\nimport { OnboardSelect } from '../../components/Onboard/OnboardComponents/Dropdown/Select';\r\nimport DatePickerHandle from '../../components/Onboard/OnboardComponents/KeyboardDatePicker';\r\nimport './Aquaa.css'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Link } from 'react-router-dom';\r\n\r\n\r\nconst Aquaa = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const aquaaAccounts = useSelector((state) => state.aquaaReducer.aquaaAccounts);\r\n const aquaaAgents = useSelector((state) => state.aquaaReducer.aquaaAgents);\r\n const aquaaChannels = useSelector((state) => state.aquaaReducer.aquaaChannels);\r\n const aquaaLanguages = useSelector((state) => state.aquaaReducer.aquaaLanguages);\r\n const aquaaLocations = useSelector((state) => state.aquaaReducer.aquaaLocations);\r\n const aquaaAWS = useSelector((state) => state.aquaaReducer.aquaaAWS);\r\n\r\n \r\n const [isRefreshClicked, setIsRefreshedClicked] = useState(false); \r\n const [selectedRole, setSelectedRole] = useState();\r\n const [selectedAccount, setSelectedAccount] = useState();\r\n const [selectedChannel, setSelectedChannel] = useState();\r\n const [selectedLanguage, setSelectedLanguage] = useState();\r\n const [selectedLocation, setSelectedLocation] = useState();\r\n \r\n const [sortConfig, setSortConfig] = useState({ key: '', direction: 'asc' }); // Added sorting state\r\n \r\n useEffect(()=> {\r\n dispatch(getAquaaAccountsData());\r\n }, [dispatch, selectedAccount]);\r\n\r\n useEffect(() => {\r\n if (selectedAccount) {\r\n dispatch(getAquaaAgentsData(selectedAccount));\r\n }\r\n }, [dispatch, selectedAccount]); \r\n\r\n useEffect(() => {\r\n if (selectedAccount && selectedRole) {\r\n dispatch(getAquaaChannelsData(selectedAccount, selectedRole));\r\n }\r\n }, [dispatch, selectedAccount, selectedRole]); \r\n\r\n useEffect(() => {\r\n if (selectedAccount && selectedRole && selectedChannel) {\r\n dispatch(getAquaaLanguagesData(selectedAccount, selectedRole, selectedChannel));\r\n }\r\n }, [dispatch, selectedAccount, selectedRole, selectedChannel]); \r\n\r\n useEffect(() => {\r\n if (selectedAccount && selectedRole && selectedChannel && selectedLanguage) {\r\n dispatch(getAquaaLocationsData(selectedAccount, selectedRole, selectedChannel, selectedLanguage));\r\n }\r\n }, [dispatch, selectedAccount, selectedRole, selectedChannel, selectedLanguage]); \r\n\r\n const columns = aquaaAWS && aquaaAWS.length > 0 ? Object.keys(aquaaAWS[0]) : [];\r\n\r\n // Sorting function to handle sorting of columns\r\n const sortedData = React.useMemo(() => {\r\n if (!sortConfig.key) return aquaaAWS;\r\n \r\n const sortedArray = [...aquaaAWS].sort((a, b) => {\r\n if (a[sortConfig.key] < b[sortConfig.key]) {\r\n return sortConfig.direction === 'asc' ? -1 : 1;\r\n }\r\n if (a[sortConfig.key] > b[sortConfig.key]) {\r\n return sortConfig.direction === 'asc' ? 1 : -1;\r\n }\r\n return 0;\r\n });\r\n return sortedArray;\r\n }, [aquaaAWS, sortConfig]); // Re-sort when `sortConfig` changes\r\n\r\n // Handle header click to toggle sorting order\r\n const handleSort = (column) => {\r\n setSortConfig((prevState) => {\r\n if (prevState.key === column) {\r\n // If same column is clicked again, toggle direction\r\n return { key: column, direction: prevState.direction === 'asc' ? 'desc' : 'asc' };\r\n } else {\r\n // Otherwise, sort by the new column and set to ascending\r\n return { key: column, direction: 'asc' };\r\n }\r\n });\r\n };\r\n\r\n function formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [month, day, year].join('/');\r\n }\r\n\r\n console.log('selectedAccount',selectedAccount)\r\n\r\n return (\r\n
    \r\n
    \r\n
    AQuAA
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n { setSelectedAccount(value); setIsRefreshedClicked(false) }} refresh={isRefreshClicked} />\r\n
    \r\n
    \r\n \r\n { setSelectedRole(value); setIsRefreshedClicked(false) }} refresh={isRefreshClicked} />\r\n
    \r\n
    \r\n \r\n { setSelectedChannel(value); setIsRefreshedClicked(false) }} refresh={isRefreshClicked} />\r\n
    \r\n
    \r\n \r\n { setSelectedLanguage(value); setIsRefreshedClicked(false) }} refresh={isRefreshClicked} />\r\n
    \r\n
    \r\n \r\n { setSelectedLocation(value); setIsRefreshedClicked(false) }} refresh={isRefreshClicked} />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {selectedAccount === undefined ? 'No Data Found' : \r\n \r\n \r\n {columns.map((col, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {sortedData && sortedData.length > 0 ? (\r\n sortedData.map((row, rowIndex) => (\r\n \r\n {columns.map((col, colIndex) => {\r\n const cellData = row[col];\r\n\r\n if (col === 'Row_date') {\r\n return ;\r\n }\r\n\r\n return ;\r\n })}\r\n \r\n ))\r\n ) : (\r\n \r\n )}\r\n \r\n
    col === 'talktime' && handleSort(col)}>\r\n {col}\r\n {col === 'talktime' && sortConfig.key === col ? (\r\n sortConfig.direction === 'asc' ? ' ↑' : ' ↓'\r\n ) : null}\r\n
    {formatDate(cellData)}\r\n {col === 'contactid' ? {cellData} : cellData}\r\n
    No data available
    }\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Aquaa;\r\n","export default __webpack_public_path__ + \"static/media/Save_Image.e09c5395.PNG\";","import React, { Fragment, useEffect, useState, useRef } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { getEvaluationFormData, updateEvaluationFormDataStart } from '../../actions/Applications/aquaa.action';\r\nimport './EvaluationForm.css';\r\nimport { useLocation } from 'react-router-dom';\r\nimport Save_Image from './../../assets/images/Save_Image.PNG';\r\nimport { useHistory } from 'react-router-dom/cjs/react-router-dom.min';\r\n\r\nconst EvaluationForm = () => {\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n const history = useHistory();\r\n\r\n let contactid = location.state?.contactid || '';\r\n\r\n const evaluationData = useSelector((state) => state.aquaaReducer.evaluationData);\r\n\r\n const [sections, setSections] = useState({});\r\n const [activeRows, setActiveRows] = useState({});\r\n const [responses, setResponses] = useState([]); // Track responses in state for re-render\r\n const [sectionComments, setSectionComments] = useState([]);\r\n const [formData, setFormData] = useState({\r\n ticketNumber: '',\r\n voiceAnalytics: '', // To store voice analytics value\r\n overallMapData: {\r\n 'Best Interaction ?': false,\r\n 'Focus Group ?': false,\r\n 'Infra Issue ?': false,\r\n 'New Hire ?': false\r\n }, // To store checkbox states for overall map data\r\n });\r\n const responsesRef = useRef([]); // This is kept for debugging purposes or persistence, but state will be primary\r\n\r\n useEffect(() => {\r\n if(contactid){\r\n dispatch(getEvaluationFormData(contactid));\r\n }\r\n }, [dispatch,contactid]);\r\n\r\n // useEffect(()=>{\r\n // dispatch(getEvaluationFormData('A4B70F9E-3136-4005-BA8A-E9A518310D0A'))\r\n // },[dispatch])\r\n\r\n\r\n\r\n\r\n const contactTypeForm = evaluationData?.[0]?.ContactTypeForm || [];\r\n const Overall = evaluationData?.[0]?.Overall || [];\r\n\r\n useEffect(() => {\r\n const groupedSections = contactTypeForm.reduce((acc, form) => {\r\n form.Section?.forEach((section) => {\r\n section.Questions?.forEach((question) => {\r\n const questionId = question.MappingID || `fallback-${question.MappingID}`;\r\n const row = {\r\n id: questionId,\r\n sectionName: section.Section_Name,\r\n parameterType: question.ParameterType,\r\n description: question.Question,\r\n questionscore: question.Score,\r\n ParameterType: question.ParameterType,\r\n assessments: question.Assessments,\r\n defaultassessment: question.DefaultValue || 1, // Ensure a default value of 1\r\n defaultId: question.DefaultId || null // Ensure DefaultId is captured here\r\n };\r\n if (!acc[section.Section_Name]) {\r\n acc[section.Section_Name] = [];\r\n }\r\n acc[section.Section_Name].push(row);\r\n });\r\n });\r\n return acc;\r\n }, {});\r\n\r\n // Initialize responses with the default assessment for each question\r\n const initialResponses = [];\r\n const initialSectionComments = [];\r\n Object.values(groupedSections).forEach((section) => {\r\n section.forEach((row) => {\r\n initialResponses.push({\r\n questionId: row.id, // Store questionId\r\n questionscore: row.questionscore,\r\n ParameterType: row.parameterType,\r\n sectionName: row.sectionName,\r\n assessmentId: row.defaultId, // Store the DefaultId as the initial assessmentId\r\n assessment: row.defaultassessment, // Set the default assessment here\r\n comment: \"\", // If you want to track comments too\r\n });\r\n });\r\n // console.log('section', section)\r\n\r\n // Initialize section comments with an empty string for each section\r\n initialSectionComments.push({\r\n name: section[0]?.sectionName || \"Unknown Section\", // Default to \"Unknown Section\" if name is missing\r\n comments: \"\", // Default to empty string\r\n });\r\n });\r\n\r\n // Set the sections and responses\r\n setSections(groupedSections);\r\n // console.log('initialResponses', initialResponses);\r\n setResponses(initialResponses); // Initialize responses with default assessments\r\n setSectionComments(initialSectionComments); // Initialize section comments with empty values\r\n }, [contactTypeForm]);\r\n\r\n const handleToggle = (sectionName, rowId) => {\r\n setActiveRows((prevActiveRows) => ({\r\n ...prevActiveRows,\r\n [`${sectionName}-${rowId}`]: !prevActiveRows[`${sectionName}-${rowId}`],\r\n }));\r\n };\r\n\r\n const handleResponseChange = (sectionName, rowId, currentAssessment, key, value) => {\r\n // console.log(\"Current Responses:\", responses);\r\n\r\n if (key === 'assessment') {\r\n // Handle updating the assessment value\r\n const selectedAssessment = sections[sectionName]\r\n .find(row => row.id === rowId) // Find the question in the section\r\n ?.assessments // Access the assessments for that question\r\n .find(a => a.Assessment === value); // Find the selected assessment by matching its text\r\n\r\n // Debug: log the selected assessment to verify its structure\r\n // console.log(\"Selected Assessment:\", selectedAssessment);\r\n\r\n // Ensure DefaultId is available\r\n const selectedAssessmentId = selectedAssessment ? selectedAssessment.AssessmentID : null;\r\n\r\n // Ensure we're updating the assessment and DefaultId correctly\r\n const updatedResponses = responses.map(resp => {\r\n if (resp.questionId === rowId && resp.sectionName === sectionName) {\r\n return {\r\n ...resp,\r\n assessment: value, // Update the assessment\r\n assessmentId: selectedAssessmentId, // Update DefaultId (assessmentId) accordingly\r\n };\r\n }\r\n return resp; // Keep the other responses unchanged\r\n });\r\n\r\n // console.log(\"Updated Responses after map (assessment):\", updatedResponses);\r\n\r\n setResponses(updatedResponses);\r\n responsesRef.current = updatedResponses;\r\n } else if (key === 'comment') {\r\n // Handle updating the comment value\r\n const updatedResponses = responses.map(resp => {\r\n if (resp.questionId === rowId && resp.sectionName === sectionName) {\r\n return {\r\n ...resp,\r\n comment: value, // Update the comment field only\r\n };\r\n }\r\n return resp; // Keep the other responses unchanged\r\n });\r\n\r\n // console.log(\"Updated Responses after map (comment):\", updatedResponses);\r\n\r\n setResponses(updatedResponses);\r\n responsesRef.current = updatedResponses;\r\n }\r\n };\r\n\r\n const handleSectionCommentChange = (sectionName, value) => {\r\n setSectionComments(prevComments => {\r\n // Check if the section comment already exists in the array\r\n const sectionIndex = prevComments.findIndex(item => item.name === sectionName);\r\n\r\n if (sectionIndex >= 0) {\r\n // If exists, update the existing object\r\n const updatedComments = [...prevComments];\r\n updatedComments[sectionIndex] = { name: sectionName, comments: value };\r\n return updatedComments;\r\n } else {\r\n // If not exists, add a new object\r\n return [\r\n ...prevComments,\r\n { name: sectionName, comments: value },\r\n ];\r\n }\r\n });\r\n };\r\n\r\n const handleFormDataChange = (key, value) => {\r\n setFormData((prevData) => ({\r\n ...prevData,\r\n [key]: value, // Update specific key in formData\r\n }));\r\n };\r\n\r\n const formatDate = (date) => {\r\n const d = new Date(date);\r\n\r\n // Get day, month, year, hours, minutes, and seconds\r\n const day = String(d.getDate()).padStart(2, '0'); // Adds leading zero if day is less than 10\r\n const month = String(d.getMonth() + 1).padStart(2, '0'); // Months are 0-indexed\r\n const year = d.getFullYear();\r\n const hours = String(d.getHours()).padStart(2, '0');\r\n const minutes = String(d.getMinutes()).padStart(2, '0');\r\n const seconds = String(d.getSeconds()).padStart(2, '0');\r\n\r\n // Return the formatted date string\r\n return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;\r\n };\r\n\r\n // console.log('responses', responses);\r\n\r\n// console.log('formData', formData.overallMapData['Focus Group ?'])\r\n\r\n\r\n const dispatchHandler = (status) => {\r\n let QuestionDetails = responses.map(data => {\r\n return {\r\n \"MappingID\": data.questionId,\r\n \"AssessmentID\": data.assessmentId,\r\n \"Comments\": data.comment\r\n }\r\n });\r\n\r\n let SectionComments = sectionComments.map(comment => {\r\n return {\r\n \"Section\": comment.name,\r\n \"SecComments\": comment.comments\r\n }\r\n })\r\n\r\n let DispObj = [\r\n {\r\n \"Agent\": evaluationData?.[0]?.AccountDetails?.[0]?.Agent,\r\n \"TicketNumber\": formData.ticketNumber,\r\n \"ContactID\": contactid,\r\n \"EvaluationDate\": formatDate(Date()),\r\n \"VoiceAnalytics\": formData.voiceAnalytics,\r\n \"FocusGroup\": formData.overallMapData['Focus Group ?'],\r\n \"NewHire\": formData.overallMapData['New Hire ?'],\r\n \"InfraIssue\": formData.overallMapData['Infra Issue ?'],\r\n \"BestInteraction\": formData.overallMapData['Best Interaction ?'],\r\n \"Status\": status,\r\n \"Details\": QuestionDetails,\r\n \"Sections\": SectionComments\r\n }]\r\n\r\n // console.log('DispObj', DispObj)\r\n dispatch(updateEvaluationFormDataStart(DispObj));\r\n history.push('/aquaa')\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n // Function to calculate total score for each section\r\n const processScores = (data) => {\r\n const sectionScores = {};\r\n const notMetScores = {};\r\n\r\n // Calculate section-wise totals (excluding \"FE\" values)\r\n const sectionwiseTotal = data.reduce((sectionSum, entry) => {\r\n const { sectionName, questionscore, ParameterType } = entry;\r\n\r\n // Skip \"FE\" parameter type and ensure questionscore is a valid number\r\n if (ParameterType !== \"FE\" && typeof questionscore === 'number') {\r\n if (!sectionSum[sectionName]) {\r\n sectionSum[sectionName] = 0;\r\n }\r\n sectionSum[sectionName] += questionscore;\r\n }\r\n return sectionSum;\r\n }, {});\r\n data.forEach((entry) => {\r\n const { sectionName, questionscore, assessment, ParameterType } = entry;\r\n\r\n // If the ParameterType is \"FE\", skip the score processing\r\n if (ParameterType === \"FE\") {\r\n return;\r\n }\r\n\r\n // If the assessment is \"Met\", add the score to sectionScores\r\n if (assessment === \"Met\") {\r\n if (!sectionScores[sectionName]) {\r\n sectionScores[sectionName] = 0;\r\n }\r\n sectionScores[sectionName] += questionscore;\r\n }\r\n\r\n // If the assessment is \"Not Met\", add the score to both sectionScores and notMetScores\r\n else if (assessment === \"Not Met\") {\r\n if (!sectionScores[sectionName]) {\r\n sectionScores[sectionName] = 0;\r\n }\r\n sectionScores[sectionName] += questionscore;\r\n\r\n if (!notMetScores[sectionName]) {\r\n notMetScores[sectionName] = 0;\r\n }\r\n notMetScores[sectionName] += questionscore;\r\n }\r\n\r\n // If the assessment is \"N/A\", add the score to notMetScores\r\n else if (assessment === \"N/A\") {\r\n if (!notMetScores[sectionName]) {\r\n notMetScores[sectionName] = 0;\r\n }\r\n notMetScores[sectionName] += questionscore;\r\n }\r\n });\r\n\r\n // Subtract notMetScores from sectionwiseTotal\r\n const sectionwiseTotalMinusNotMet = {};\r\n Object.keys(sectionwiseTotal).forEach((section) => {\r\n const totalScore = sectionwiseTotal[section];\r\n const notMetScore = notMetScores[section] || 0; // If no Not Met score, treat as 0\r\n sectionwiseTotalMinusNotMet[section] = totalScore - notMetScore;\r\n });\r\n\r\n // Calculate percentage for each section\r\n const sectionPercentages = {};\r\n Object.keys(sectionwiseTotalMinusNotMet).forEach((section) => {\r\n const totalScoreMinusNotMet = sectionwiseTotalMinusNotMet[section];\r\n const sectionScore = sectionScores[section] || 0; // If no score, treat as 0\r\n\r\n // Avoid division by zero\r\n let percentage = 0;\r\n if (sectionScore !== 0) {\r\n percentage = Math.floor((totalScoreMinusNotMet / sectionScore) * 100); // Round down\r\n }\r\n\r\n // Check how many \"FE\" entries with \"Not Met\" exist in this section\r\n const feNotMetEntries = data.filter(entry => entry.sectionName === section && entry.ParameterType === \"FE\" && entry.assessment === \"Not Met\");\r\n\r\n // Subtract 20 for each \"FE\" \"Not Met\" entry found\r\n if (feNotMetEntries.length > 0) {\r\n percentage -= feNotMetEntries.length * 20;\r\n // Ensure percentage doesn't go below 0\r\n if (percentage < 0) {\r\n percentage = 0;\r\n }\r\n }\r\n\r\n sectionPercentages[section] = percentage;\r\n });\r\n\r\n\r\n // Calculate summary percentage based on adjusted section scores\r\n let totalScore = 0;\r\n let ChangedScore = 0;\r\n \r\n Object.keys(sectionwiseTotalMinusNotMet).forEach((section) => {\r\n const sectionScore = sectionScores[section] || 0; // Already adjusted score\r\n const sectionChangedScore = sectionwiseTotalMinusNotMet[section] || 0; // Max possible score after removing \"Not Met\"\r\n \r\n // Debugging each section's individual scores and max scores\r\n console.log(`For Section \"${section}\":`);\r\n console.log(` Section Score (adjusted): ${sectionScore}`);\r\n console.log(` Max Score (after removing Not Met): ${sectionChangedScore}`);\r\n \r\n totalScore += sectionScore;\r\n ChangedScore += sectionChangedScore;\r\n });\r\n \r\n // Debug the final summary\r\n console.log(\"Total Changed Score:\", totalScore);\r\n console.log(\"Total Max Score (after removing Not Met):\", ChangedScore);\r\n \r\n let summaryPercentage = ChangedScore > 0 ? Math.floor((ChangedScore / totalScore) * 100) : 0;\r\n \r\n // Debug the final percentage\r\n console.log(\"Summary Percentage:\", summaryPercentage);\r\n\r\n // Count the \"NF\" and \"FE\" \"Not Met\" entries\r\n const nfNotMetCount = data.filter(entry => entry.ParameterType === \"NF\" && entry.assessment === \"Not Met\").length;\r\n const feNotMetCount = data.filter(entry => entry.ParameterType === \"FE\" && entry.assessment === \"Not Met\").length;\r\n\r\n console.log(\"Number of NF Not Met Entries:\", nfNotMetCount);\r\n console.log(\"Number of FE Not Met Entries:\", feNotMetCount);\r\n\r\n // Reduce the summary percentage by 20 for each \"FE\" \"Not Met\" entry\r\n summaryPercentage -= feNotMetCount * 20;\r\n\r\n // Ensure summary percentage doesn't go below 0\r\n if (summaryPercentage < 0) {\r\n summaryPercentage = 0;\r\n }\r\n\r\n console.log(\"Adjusted Summary Percentage:\", summaryPercentage);\r\n\r\n \r\n\r\n return { sectionScores, notMetScores, sectionwiseTotal, sectionwiseTotalMinusNotMet, sectionPercentages, summaryPercentage, nfNotMetCount, feNotMetCount };\r\n };\r\n\r\n const { sectionScores, notMetScores, sectionwiseTotal, sectionwiseTotalMinusNotMet, sectionPercentages, summaryPercentage, nfNotMetCount, feNotMetCount } = processScores(responses);\r\n\r\n console.log(\"Section Scores (Met):\", sectionScores);\r\n console.log(\"Section Scores (Not Met or N/A):\", notMetScores);\r\n console.log(\"Total (excluding FE):\", sectionwiseTotal);\r\n console.log(\"Total (excluding FE and Not Met):\", sectionwiseTotalMinusNotMet);\r\n console.log(\"Total percentage\", sectionPercentages);\r\n console.log(\"Summary Percentage:\", summaryPercentage);\r\n console.log(\"Number of NF Not Met Entries:\", nfNotMetCount);\r\n console.log(\"Number of FE Not Met Entries:\", feNotMetCount);\r\n\r\n // const countNotMetParameters = (data) => {\r\n // let feNotMetCount = 0;\r\n // let nfNotMetCount = 0;\r\n // let percentage = 100; // Start with 100%\r\n \r\n // // Count \"FE\" and \"NF\" parameters with \"Not Met\" assessment\r\n // data.forEach((entry) => {\r\n // if (entry.assessment === \"Not Met\") {\r\n // if (entry.ParameterType === \"FE\") {\r\n // feNotMetCount++;\r\n // percentage -= 20; // Reduce 20% for each \"FE\" \"Not Met\"\r\n // } else if (entry.ParameterType === \"NF\") {\r\n // nfNotMetCount++;\r\n // percentage -= 8; // Reduce 8% for each \"NF\" \"Not Met\"\r\n // }\r\n // }\r\n // });\r\n \r\n // // Ensure percentage doesn't go below 0\r\n // if (percentage < 0) {\r\n // percentage = 0;\r\n // }\r\n \r\n // return { feNotMetCount, nfNotMetCount, totalReductionPercentage: percentage };\r\n // };\r\n \r\n \r\n\r\n// const counts = countNotMetParameters(responses);\r\n// console.log(counts.feNotMetCount); // Number of \"FE\" \"Not Met\" entries\r\n// console.log(counts.nfNotMetCount); // Number of \"NF\" \"Not Met\" entries\r\n// console.log(counts.totalReductionPercentage); // Total percentage reduction (20% per \"FE\" and 8% per \"NF\")\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {/* Inputs for Ticket Number, Title, Agent Email, etc. */}\r\n
    \r\n
    \r\n handleFormDataChange('ticketNumber', e.target.value)} // Bind to formData.ticketNumber\r\n />\r\n
    \r\n
    \r\n \r\n
    {contactid}
    \r\n
    \r\n
    \r\n \r\n
    {evaluationData?.[0]?.AccountDetails?.[0]?.Agent}
    \r\n
    \r\n
    \r\n \r\n
    {evaluationData?.[0]?.AccountDetails?.[0]?.Account}
    \r\n
    \r\n
    \r\n \r\n
    {evaluationData?.[0]?.AccountDetails?.[0]?.ContactTypeForm}
    \r\n
    \r\n
    \r\n \r\n
    {[formatDate(Date())]}
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Soft Skills
    Scored
    {sectionwiseTotalMinusNotMet?.['Soft Skills']}
    Max Points
    {sectionScores?.['Soft Skills']}
    \r\n
    {sectionPercentages?.['Soft Skills']}
    \r\n \r\n \r\n
    \r\n
    Process
    Scored
    {sectionwiseTotalMinusNotMet?.['Process']}
    Max Points
    {sectionScores?.['Process']}
    \r\n
    {sectionPercentages?.['Process']}
    \r\n \r\n \r\n
    \r\n
    Resolution
    Scored
    {sectionwiseTotalMinusNotMet?.['Resolution']}
    Max Points
    {sectionScores?.['Resolution']}
    \r\n
    {sectionPercentages?.['Resolution']}
    \r\n \r\n \r\n
    \r\n
    Summary
    Fatal Errors
    {feNotMetCount}
    Non Fatal Errors
    {nfNotMetCount}
    Overall Score
    {summaryPercentage < 90 ? 'Fail' : 'pass'}
    \r\n
    {summaryPercentage}
    \r\n
    \r\n
    \r\n
    \r\n {Object.keys(sections).map((sectionName) => (\r\n
    \r\n
    {sectionName}
    \r\n {sectionName === 'Summary' ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {sections[sectionName].map((row) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    Tracking Questions
    {row.description}\r\n resp.questionId === row.id && resp.sectionName === sectionName)?.assessment || row.defaultassessment}\r\n onChange={(e) => handleResponseChange(sectionName, row.id, row.assessments[0]?.AssessmentId, 'assessment', e.target.value)}\r\n >\r\n {row.assessments?.length > 0 ? (\r\n row.assessments.map((assessment) => (\r\n \r\n ))\r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n {Overall.map((data) => (\r\n
    \r\n {data.iName}\r\n {data.iName === 'Voice Analytics' ? (\r\n \r\n handleFormDataChange('voiceAnalytics', e.target.value)}\r\n />\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n item.name === sectionName)?.comments || ''}\r\n onChange={(e) => handleSectionCommentChange(sectionName, e.target.value)}\r\n />\r\n
    \r\n
    \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {sections[sectionName].map((row) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    Parameter TypeDescriptionAssessment
    {row.parameterType}{row.description}\r\n resp.questionId === row.id && resp.sectionName === sectionName)?.assessment || row.defaultassessment}\r\n onChange={(e) => handleResponseChange(sectionName, row.id, row.assessments[0]?.AssessmentId, 'assessment', e.target.value)}\r\n >\r\n {row.assessments?.length > 0 ? (\r\n row.assessments.map((assessment) => (\r\n \r\n ))\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {activeRows[`${sectionName}-${row.id}`] && (\r\n handleResponseChange(sectionName, row.id, row.assessments[0]?.AssessmentId, 'comment', e.target.value)}\r\n placeholder=\"Enter comment\"\r\n />\r\n )}\r\n
    \r\n
    \r\n item.name === sectionName)?.comments || ''}\r\n onChange={(e) => handleSectionCommentChange(sectionName, e.target.value)}\r\n />\r\n
    \r\n \r\n )}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n dispatchHandler('Saved')} alt='' height='50px' width = '50px' style={{cursor:'pointer'}}/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n

    Tracked Responses

    \r\n
    {JSON.stringify(responses, null, 2)}
    \r\n

    Section Comments

    \r\n
    {JSON.stringify(sectionComments, null, 2)}
    \r\n
    */}\r\n
    \r\n );\r\n};\r\n\r\nexport default EvaluationForm;\r\n","import React, { useEffect, lazy, Suspense } from \"react\";\r\nimport { Route, Switch, useLocation } from \"react-router-dom\";\r\nimport { withRouter } from 'react-router';\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport Container from \"./components/Container/container\";\r\nimport SiteLanding from \"./components/RegionalSiteLanding/regionalSiteLanding\";\r\nimport RegionalSite from \"./components/RegionalSiteLanding/regionalSite\";\r\nimport AccountGlobal from \"./components/RegionalSiteLanding/Account-Global/account-global\";\r\nimport GlobalSummary from \"./components/RegionalSiteLanding/GlobalSummary/global-summary\";\r\nimport RegionalSummary from \"./components/RegionalSiteLanding/RegionalSummary/regional-summary\";\r\nimport FinanceHandler from \"./components/Finance/FinanceHandler/FinanceHandler\";\r\nimport WelcomePage from './components/LandingPage/Welcome-LandingPage/WelcomePage';\r\nimport Roleselectionpage from './components/LandingPage/RoleSelection/Roleselectionpage';\r\nimport Profilepage from './components/LandingPage/ProfilePage/ProfileDetails';\r\nimport Navigationbar from \"./components/Onboard/Navigation/Navigationbar\";\r\nimport ExecutiveDashboard from \"./components/ExecutiveDashBoard/executive-dashboard\";\r\nimport KPIReportHandler from \"./components/ReportTables/ReportHandler/KPIReportHandler\";\r\nimport LandingPage from \"./components/LandingPage/CustomWidget/LandingPage\";\r\nimport AccountSelect from \"./components/LandingPage/Welcome-LandingPage/AccountSelect\";\r\nimport EmployeeAssign from \"./components/Administration/Staff-Administration/Employee-Assignment/EmployeeAssign\";\r\nimport ReleaseHandler from \"./components/LandingPage/Releases/ReleaseHandler\";\r\nimport EmployeeDetails from \"./components/Administration/Staff-Administration/EmployeeDetails/EmployeeDetails\";\r\nimport UserLandingPage from \"./components/LandingPage/FirstTimeVisitor/UserLandingPage\";\r\nimport SLAExemptionHandler from \"./components/Administration/SLA-Administration/SLA-Exemption/SLAExemptionHandler\";\r\nimport SLAExclusionHandler from \"./components/Administration/SLA-Administration/SLA-Exclusion/SLAExclusionHandler\";\r\nimport FirstVisitor from \"./components/LandingPage/FirstTimeVisitor/FirstVisitor\";\r\nimport AgentScoreCard from \"./components/Agent-ScoreCard/AgentScoreCard\";\r\nimport OnboardLanding from \"./components/Onboard/OnboardComponents/onboardLanding/OnboardLanding\";\r\nimport RequestIncidentMain from \"./components/Requests/RequestIncidentMain\";\r\nimport WhyGsd from \"./components/GitHub/WhyGsd\";\r\nimport GitHubPage from \"./components/GitHub/GitHub_LandingPage/GitHubPage\";\r\nimport UploadAccountList from './components/Uploads/Upload-Navigation/UploadAccountList';\r\nimport UploadNavigation from './components/Uploads/Upload-Navigation/UploadNavigation';\r\nimport DataAdministration from \"./components/Uploads/Data-Administration/DataAdministration\";\r\nimport DTMAnalyticsHandler from \"./components/DTM-Analytics/DTM-Analytics-NonSLA\";\r\nimport DTMAnalyticsSLA from \"./components/DTM-Analytics/DTM-Analytics-SLA\";\r\nimport AdminLanding from \"./components/Administration/Administration_firstpage.js/AdminLanding\";\r\nimport ReactTrails from \"./components/DTM-Analytics/trails\";\r\nimport GetStarted from \"./components/GitHub/GetStarted\";\r\nimport Architecture from './components/GitHub/Solutions/Architecture';\r\nimport ProductRequirements from \"./components/GitHub/Solutions/ProductRequirements\";\r\nimport ArchitectCards from \"./components/GitHub/Solutions/ArchitectCards\";\r\nimport DeveloperLanding from \"./components/GitHub/Developer/DeveloperLanding\";\r\nimport DeveloperCards from \"./components/GitHub/Developer/DeveloperCards\";\r\nimport User from './components/GitHub/user/User';\r\nimport Security from \"./components/GitHub/Security\";\r\nimport OverView from \"./components/GitHub/Overview/OverView\";\r\nimport Training from \"./components/GitHub/Training/Training\";\r\nimport Design from './components/GitHub/Design/Design';\r\nimport DesignCards from './components/GitHub/Design/DesignCards';\r\nimport Features from \"./components/GitHub/Features/Features\";\r\nimport NotDesigned from \"./components/GitHub/NotDesigned/NotDesigned\";\r\nimport Database from './components/GitHub/Design/Database';\r\nimport FAQ from \"./components/GitHub/FAQ/FAQ\";\r\nimport AdminRequestMain from './components/Requests/AdminRequest/AdminRequestMain';\r\nimport AdminRolesFlow from \"./components/Administration/AdminFirstPage/Roles/Roles\";\r\nimport { AddAdminViewRolePage } from \"./components/Administration/AdminFirstPage/Roles/AddRolesModel\";\r\nimport OperationsMain from \"./components/Administration/AdminFirstPage/Operations/OperationsMain\";\r\nimport AdminViewFirstPage from \"./components/Administration/AdminFirstPage/AdminViewFirstPage\";\r\nimport AccessGroupMain from \"./components/Administration/AdminFirstPage/AccessGroups/AccessGroupMain\";\r\nimport AccessGroupAddEdit from \"./components/Administration/AdminFirstPage/AccessGroups/AccessGroupAddEdit\";\r\nimport UsersMain from \"./components/Administration/AdminFirstPage/Users/UsersMain\";\r\nimport AddUsers from \"./components/Administration/AdminFirstPage/Users/AddUsers\";\r\nimport AgentsKPISummaryTabs from './components/TeamLeaderView/AgentsKPISummary/AgentsKPISummaryTabs';\r\nimport AuditRole from \"./components/Administration/AdminFirstPage/Audit/AuditRole\";\r\nimport AuditRBAC from \"./components/Administration/AdminFirstPage/Audit/AuditRBAC\";\r\nimport Applications from \"./Applications/Applications\";\r\nimport Aquaa from \"./Applications/Aquaa/Aquaa\";\r\nimport EvaluationForm from \"./Applications/EvaluationForm/EvaluationForm\";\r\n\r\n\r\nfunction AppRoutes(props) {\r\n const location = useLocation();\r\n useEffect(() => {\r\n props.localPathnameHandler(location.pathname);\r\n }, [location.pathname]);\r\n return (\r\n <>\r\n Loading...}>\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default withRouter(AppRoutes);\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAZCAYAAAAv3j5gAAAABHNCSVQICAgIfAhkiAAAAPlJREFUSEvtlNEVgjAMRc0EruAIjKCTKJ+FeYBPGcURGMEVnKC+nEM5sbQ08ZNDfyg0j9u8pqGTcfR9P3qMtm1ri5QswQxB/J01YI0WmBokIWFzFpgKlIJYYUVQZFdNRM/ZOjkv2rgJiiE4kxHfPIOapqGu6x4CvAnLglIQBkgQv2thSVAOkgJpYSvQMAwXVNOEH5zxrNkueQXijMKayOwDOyvn3FvqkhlBVCGoiiG5jCQM8wk63ujPKFZdLMhlVLr4B2hV3iXLwvoOrUMVvbjro6XcNDbM8dyCroZ4T/+WqwYi790B0jq2xIWj2bF1Zk+MgsU6o84c/gUcleCj2/40LwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAABHNCSVQICAgIfAhkiAAAAsxJREFUSEvFVm1u2kAQzYKE+Fd6gjonCD1BzAmSnKDkJx8S5gSlJyD8AH7GOUHgBLgnKD0B5Ab9CUhA37Nm0WLZ6yWQ1pJlez2eefPmzazV1ZnHcDisKqW+w839fr+f4xq2Wq2Bq1vlaphmNx6Pvd1u9wsAfiN4BJsK7ju4/wEQPRffZwFA9k/MHME8HQxrPTLSbDadfDsZZWUyGo0i0g4AgbYBKz7WZji/Yp0lsR5nA4D3JbKtJwGAhetGo7H8UAAsAQLdAcD1fykBRQiqFwg+gRjDYrFYxXPvn4gQ2ZP2DhioptC8xHq4Wq0G3W73j60M79IAxEdx3eD8iWzDQqGwRLB5qVTyEJgdcc8T7/a41mxiPBkAM0eQZzh+QO0nWdn1+/0KABEou4SAUo/3AGCf+wju5yk8ORNkcN2Bscp2u5232+3pyQDY5xCch6zCPABi63MqGsxdoTJvSOILvo+cAIjab6W+cVyAmLoMGtrq4YTbl/V6HVCY0NEMz8oKQAKz3ll0RwD1aBs4wkIfPj7rka3Z4LTMBMBdDh/NEEDBMNhsNhOzpcRxKFQmqxG3IUuFa52UsyvImIhzgfUpJ+gBAF+Uy+UOe5ftJMHfQJmf1cvijAqnvXnoXZGBe6ZeQP0r1mrw69FvDEAcMVtOMrYOkVuD5wkQDMbbtLlPaOqxXkPZIvpQRnCyHQAAe/tT3mbCEsDuNg2Iph7vDrNCl5RCNHdPRaQUCGpcJSXyh8NtdoG1Whb9kk3dwsSTHlSil1ddd/MbhZqEWPiGgI+6Vq4g8srA90b/v5jl0N/GGvgoEHnBYw1oJHkgMD4fMD5vuOW6ZA5GaccNaWDWPPnt0RywgaAwXQJrGxm3gW3DOmLAgQmKlb9fh7+fUwBl2aZOwiQTqOWzTLSDUC8RPJWBJBN4jnDyT/fiwa0AsrrjUpkftaHNKSdl3n/dOaD+AtMz+R6ZqEbDAAAAAElFTkSuQmCC\"","import React, { useState, useRef, useEffect } from \"react\";\r\nimport \"./hamburger-menu.css\";\r\nimport Tooltip from \"react-power-tooltip\";\r\nimport HomeImg from \"../../assets/images/Home_Normal.png\";\r\nimport HomeHovImg from \"../../assets/images/Home_Hover.png\";\r\nimport ReportsImg from \"../../assets/images/Reports_Normal.png\";\r\nimport ReportsHovImg from \"../../assets/images/Reports_Hover.png\";\r\nimport UploadsImg from \"../../assets/images/Uploads_Normal.png\";\r\nimport UploadsHovImg from \"../../assets/images/Uploads_Hover.png\";\r\nimport AccountImg from \"../../assets/images/Account_Normal.png\";\r\nimport AccountHovImg from \"../../assets/images/Account_Hover.png\";\r\nimport OnboardImg from \"../../assets/images/Onboard_Normal.png\";\r\nimport OnboardHovImg from \"../../assets/images/Onboard_Hover.png\";\r\nimport RequestsImg from \"../../assets/images/Requests_Normal.png\";\r\nimport RequestsHovImg from \"../../assets/images/Requests_Hover.png\";\r\nimport AdministrationImg from \"../../assets/images/Administration_Normal.png\";\r\nimport AdministrationHovImg from \"../../assets/images/Administration_Hover.png\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport { saveSelectedMenuItem } from \"../../actions/tabMenu.action\";\r\nimport { getRoleBasedView } from \"../../actions/Administration/admin.action\";\r\nimport { getRegionalSiteData } from \"../../actions/regionalSite.action\";\r\nconst Panel = (ref) => {\r\n let activClasses, activTooltip;\r\n let url = window.location.href;\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const roleSelected = localStorage.getItem('RoleSelected');\r\n const RoleBasedView = useSelector((state) => state.adminAccountReducer.RoleBasedView);\r\n useEffect(() => {\r\n dispatch(getRoleBasedView())\r\n }, [dispatch])\r\n const [isOpen, setOpen] = React.useState(true);\r\n const [showHoverEffect, setHoverEffect] = React.useState([]);\r\n const [activeMenu, setActiveMenu] = useState([\r\n true,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n ]);\r\n const [tltpMenu, setTltpMenu] = useState([\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n false,\r\n ]);\r\n const [actvBtn, setActvBtn] = useState(false);\r\n const [pnlWdth, setPnlWdth] = useState(false);\r\n const selectedMenuName = useSelector((state) => state.tabReducer.selectedMenuName);\r\n\r\n useEffect(() => {\r\n switch (selectedMenuName) {\r\n case 'home': {\r\n setActiveMenu([true, false, false, false, false, false, false]);\r\n break;\r\n }\r\n case 'reports': {\r\n setActiveMenu([false, true, false, false, false, false, false]);\r\n break;\r\n }\r\n case 'upload': {\r\n setActiveMenu([false, false, true, false, false, false, false]);\r\n break;\r\n }\r\n case 'account': {\r\n setActiveMenu([false, false, false, true, false, false, false]);\r\n break;\r\n }\r\n case 'onboard': {\r\n setActiveMenu([false, false, false, false, true, false, false]);\r\n break;\r\n }\r\n case 'request': {\r\n setActiveMenu([false, false, false, false, false, true, false]);\r\n break;\r\n }\r\n case 'admin': {\r\n setActiveMenu([false, false, false, false, false, false, true]);\r\n break;\r\n }\r\n default: { }\r\n }\r\n\r\n }, [selectedMenuName]);\r\n\r\n const addActiveClass = (index, mnName) => {\r\n activClasses = activeMenu.map((element) => (element = false));\r\n activClasses = [\r\n ...activClasses.slice(0, index),\r\n !activClasses[index],\r\n activClasses.slice(index + 1),\r\n ].flat();\r\n switch (mnName) {\r\n case 'home': {\r\n dispatch(saveSelectedMenuItem('home'));\r\n history.push(\"/welcome\");\r\n // history.push('/');\r\n break;\r\n }\r\n case 'reports': {\r\n // if(url.includes('/reports')){\r\n // dispatch(saveSelectedMenuItem('reports'));\r\n // history.push(\"/reports\"); \r\n // }else{\r\n dispatch(saveSelectedMenuItem(''));\r\n history.push(\"/regional\");\r\n dispatch(getRegionalSiteData());\r\n //}\r\n break;\r\n }\r\n case 'upload': {\r\n if(RoleBasedView?.[0]?.['File Upload']?.[0]?.Read === 0){\r\n\r\n }\r\n else{\r\n dispatch(saveSelectedMenuItem('upload'));\r\n history.push('/upload')\r\n }\r\n break;\r\n }\r\n case 'account': {\r\n dispatch(saveSelectedMenuItem('account'));\r\n history.push('/applications')\r\n break;\r\n }\r\n case 'onboard': {\r\n if(RoleBasedView?.[0]?.AccountOnboard?.[0]?.ReadWrite === 0){\r\n\r\n }\r\n else{\r\n dispatch(saveSelectedMenuItem('onboard'));\r\n history.push('/onboard')\r\n }\r\n break;\r\n }\r\n case 'request': {\r\n dispatch(saveSelectedMenuItem('request'));\r\n if(roleSelected !== 'Admin'){\r\n history.push('/request')\r\n }\r\n else{\r\n history.push('/adminrequest')\r\n }\r\n break;\r\n }\r\n case 'admin': {\r\n dispatch(saveSelectedMenuItem('admin'));\r\n if(roleSelected !== 'Admin'){\r\n history.push('/admin')\r\n }\r\n else{\r\n history.push('/adminviewlanding')\r\n }\r\n break;\r\n }\r\n \r\n default: { }\r\n }\r\n setActiveMenu(activClasses);\r\n };\r\n\r\n const showTooltip = (bool, index) => {\r\n activTooltip = activeMenu.map((element) => (element = false));\r\n activTooltip = [\r\n ...activTooltip.slice(0, index),\r\n (activTooltip[index] = bool),\r\n activTooltip.slice(index + 1),\r\n ].flat();\r\n setTltpMenu(activTooltip);\r\n };\r\n\r\n const setActBtn = (bool) => {\r\n setActvBtn(bool);\r\n };\r\n\r\n const setPnlWidth = (bool) => {\r\n if (bool) setPnlWdth(bool);\r\n };\r\n\r\n useEffect(() => {\r\n if (tltpMenu && tltpMenu.length > 0) {\r\n setHoverEffect(tltpMenu);\r\n }\r\n }, [tltpMenu]);\r\n\r\n // useEffect(() => {\r\n // /**\r\n // * Alert if clicked on outside of element\r\n // */\r\n // const handleClickOutside = (event) => {\r\n // if (ref.current && !ref.current.contains(event.target)) {\r\n // setPnlWidth(false);\r\n // }\r\n // }\r\n\r\n // // Bind the event listener\r\n // document.addEventListener(\"mousedown\", handleClickOutside);\r\n // return () => {\r\n // // Unbind the event listener on clean up\r\n // document.removeEventListener(\"mousedown\", handleClickOutside);\r\n // };\r\n // }, [ref]);\r\n\r\n return (\r\n
    \r\n {\r\n setOpen(!isOpen);\r\n }}\r\n className={\r\n (`hamburger-button ${isOpen ? \"open\" : \"close\"}`,\r\n actvBtn ? \"hamburger-hover-button\" : \"hamburger-button\")\r\n }\r\n onMouseOver={() => setActBtn(true)}\r\n onMouseLeave={() => setActBtn(false)}\r\n />\r\n {/* className={`panel ${isOpen ? \"open\" : \"close\"}`} */}\r\n
      \r\n
    • \r\n addActiveClass(0, 'home')}\r\n style={{ position: \"relative\" }}\r\n onMouseOver={() => { showTooltip(true, 0) }}\r\n onMouseLeave={() => { showTooltip(false, 0) }}\r\n >\r\n {isOpen ? (\r\n \r\n Home\r\n \r\n ) : null}\r\n \r\n \r\n {!isOpen ? (\r\n \r\n Home\r\n \r\n ) : null}\r\n
    \r\n \r\n \r\n
  • \r\n addActiveClass(1, 'reports')}\r\n onMouseOver={() => { showTooltip(true, 1) }}\r\n onMouseLeave={() => { showTooltip(false, 1) }}\r\n >\r\n {isOpen ? (\r\n \r\n Reports\r\n \r\n ) : null}\r\n \r\n \r\n {!isOpen ? (\r\n \r\n Reports\r\n \r\n ) : null}\r\n \r\n \r\n
  • \r\n
  • \r\n addActiveClass(2, 'upload')}\r\n onMouseOver={() => showTooltip(true, 2)}\r\n onMouseLeave={() => showTooltip(false, 2)}\r\n >\r\n {isOpen ? (\r\n \r\n Uploads\r\n \r\n ) : null}\r\n \r\n \r\n {!isOpen ? (\r\n \r\n Uploads\r\n \r\n ) : null}\r\n \r\n \r\n
  • \r\n
  • \r\n addActiveClass(3, 'account')}\r\n onMouseOver={() => showTooltip(true, 3)}\r\n onMouseLeave={() => showTooltip(false, 3)}\r\n >\r\n {isOpen ? (\r\n \r\n Applications\r\n \r\n ) : null}\r\n \r\n \r\n {!isOpen ? (\r\n \r\n Applications\r\n \r\n ) : null}\r\n \r\n \r\n
  • \r\n
  • \r\n addActiveClass(4, 'onboard')}\r\n onMouseOver={() => showTooltip(true, 4)}\r\n onMouseLeave={() => showTooltip(false, 4)}\r\n >\r\n {isOpen ? (\r\n \r\n Onboard\r\n \r\n ) : null}\r\n \r\n \r\n {!isOpen ? (\r\n \r\n Onboard\r\n \r\n ) : null}\r\n \r\n \r\n
  • \r\n
  • \r\n addActiveClass(5, 'request')}\r\n onMouseOver={() => showTooltip(true, 5)}\r\n onMouseLeave={() => showTooltip(false, 5)}\r\n >\r\n {isOpen ? (\r\n \r\n Request / Incident\r\n \r\n ) : null}\r\n \r\n \r\n {!isOpen ? (\r\n \r\n Requests\r\n \r\n ) : null}\r\n \r\n \r\n
  • \r\n
  • \r\n addActiveClass(6, 'admin')}\r\n onMouseOver={() => showTooltip(true, 6)}\r\n onMouseLeave={() => showTooltip(false, 6)}\r\n >\r\n {isOpen ? (\r\n \r\n Administration\r\n \r\n ) : null}\r\n \r\n \r\n {!isOpen ? (\r\n \r\n Administration\r\n \r\n ) : null}\r\n \r\n \r\n
  • \r\n \r\n \r\n );\r\n};\r\n\r\nconst MnApp = (props) => {\r\n const wrapperRef = useRef(null);\r\n Panel(wrapperRef);\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default MnApp;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAbCAYAAABr/T8RAAAACXBIWXMAAAsTAAALEwEAmpwYAAABcklEQVRIicXW/1HCMBTA8W85/qdsoHf8L04g3UAmAEZwAmEC3QCdAJxA2KBuIBNYJ9A/8t5d+0xpEwu8u1xJSPIhP5qQzEZrIiIFNsAnsIjpoB+JvgMJcCtlwXgdXAADkx8adAJcAbsYvFdTPgAyATIBLVoAuXyeAkFrFjLVFtVQfCf5ViOvG7EvymgqP2Rj8NYjb4JT4An48KBD4LoEBeHHYAV8I9WyCW5nB+PH4HUDWkiKwn1wKs9DA6oRhVtYAd+a+tBovAz7gDZoFK7wf9FgvNchGoT3gLGkZQdoE/4MzIFxH3fUvUqFAndgKApw5+n4gLsSx1Qvk3LoBt1J33vgEXek5knpPn4BZlR39FIq29hLnZ8aFGAl7VPgS8oW4lR29VyeW6rTu8fNgKaVATLzfSJtNLSvB0UtfOrIy5lzwpWI+etj44a/a1234TqD33Dv5tSUf2Omtmv4Prbhxdb4YnAyG62PHQIniz7uADh7/AKzQn6NvGK2qwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAbCAYAAABr/T8RAAAABHNCSVQICAgIfAhkiAAAAeFJREFUSEvVlcFxwjAQRW0O9jHQAR0k6cCpIOMKMhwxl7gCSAXmAhyhA0gFQAWBDkgF8dFccP56tIxQZLBkT2bwCWTvPu3X/pXrWDxJkrR931/meX4YDAY9ixSOaxpEUM/z1i4exHYBX9rAteDpdJoi6QNvCslTJO/I0OPxGGADXfA3NvAycI6EL/1+fzObzQIkXgPU4UoJGscxbc6ZTCZPNvDKYMB3JK8MZUVs4JXBgOwZys2FtTSKotCm8qvgLMt2qrxKczlQ4ouby6TyUjCqCJF0KMurNhdVCltRcxnDS8HUyYB+y/LqmkvIbgz/AxaJftQz1UG5uWzgF2BVSrKMbk03dEzhZ3AdqE3lBbgJqCncbRJqAnd5JJJ9MAxWVc/01uVScuYjOGUIxzwXUuNSWODPa6vVCk+nU8LeFT59VCFkM8zxgxgY58tE/g423Ms+x+8t4ubg9DBwFufmIjhevsk2QuJih5rqtlAnQExeVjkAHwCMJHvSlCugFHNhJ0rEAWL+EjggCAPEZoo1+p5vMXkDWKeBsiGwUJQ2GCNmzN/9G1jd4P2CIek7qtnJUmONJP2UpW60Ypz3CgnbJQ02JnvyGTcKvuVlfq9rwlpnfJ/ga0OgakU23xWz2iawbswvA4a/78VIsXIAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAABHNCSVQICAgIfAhkiAAAAiFJREFUSEvtltFx2kAQhv9VXAAlyAPvcQdRCU4Bxjo3EDqwU0FwA5aQCwgdoHRgvyMP7oACQJtdYTE6+ZCieG4mD7kXBt1pP3b/f/cgeFjTyUNOoC+u0Ax8Jw9MXI2TmAjhMTZzSETX+t0btJlIHCYX/AkrJn49PKell0xraBMY7Cgqz3gpUCn9gDWdJHfBDst0Y576XmsD5Z2taj0IOh0/pLUuJcM8FiY9BVZNA+AHg38Fe4oVqGcHQWugwggcKZxLzLIXc98GV0BCwsyLrLiJm/t/BJUSjfgMKzCfSwvEaWFEE/nF42Qu7vwmVkwXhTF14C6gntGSy8f2pKYWcE9RW8caIEFy2uHrPkAcBFJSR4btajihAgwlw59Vhg7g0Z3j5FJ0E22JQRhpD2Zrc9dnsndQl+u6ghzOc16CZl3masawoEOBjX4cNR3aNQK1Ekfo0ebEz9LIl3WQvlK19yuHMjYBkdVSUvpVXf4K2uW6t71qbrYXM56zwsxcbdHW9noiXfSmOfXZXKcQMc+YYE0hsc6FPsvWN9FgqDY+Mz09vpi5KxuFyt0QuYMDfwXt0+yfgxLTZ+lPe/gfyn7fqelHMq11tXqwgtLcG1RhH9L0ZGswQr31vRipag3gVu9Aq+QCFd02XqGLtVyZjeXVvXWm/6FeNRU583dGAkauIVCdcwwHebpV87VmQGTdMroZT5KoBKzh3Tc4hu7LP8Q8XZv8N5Y6FOF2uxgRAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAACXBIWXMAAAsTAAALEwEAmpwYAAABjUlEQVRIieWWzVHDMBBGn5kUQAeYCmwqwCVABSgVABXgVACnXGNXQFIBTgU4FQAduAM4rDSRFcme+OfEN6OD5LXeane1o2i9XjODKuA28G21mIMIFBpsFAMPZjIn1CgFPoCDWbiYCeoCf4AMaIZAc73RYOC50AJ4AT4B1WOrNHDvAs+BFkghLIES2ACPHcANsAPuXCD0F9Il4vE1cA9stQMN8IaEcOkBlvij8QQ0XVAbmAG183OtAbF2SAGvHUDMHiFoDLwHgEYFcuIC+NJOrpBi65QvpylSLJGG+4BGW+1UhIS5F+iDpgTKvEO1dq7Q8wr4DYwc2uFVSE4OBKquQ65tSbsrgRwGG6oIV53C6puODkhRufqm3XtbWvQAQUJ3w2luUySXZ2uB5O4ZuXch1drOVjUEaKBq6M9joGOUYBWItVbNCY04zWtvnsdCawbk2r2nvqsRI81iMtkdKebY0twxqXzhzZx57lkbpbnfSP8c6supe9ljjq8IW0nAPgGuCL/wW9AqYLOfcL0C+AOi1V97SFPWOAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAZCAYAAAAv3j5gAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAt0lEQVRIie3V0Q2CMBSF4V/TQXxwADcAN9AJ0MlkFNyAEdykPgjJtVY4F6IxhvNEQ2+/9JLSVbW94EwNRODsKQoTkMqMZWw9AzkBcjtUKEXcmAJZxLaqf5awMShF6uSdjA1BQ4gbewcpiAvLQRvgICI57Nit8ZTcOboBJbATEYsBtN0ao1A/uXUgKfYSz4GdlQX6fSgADY/7ZS/WXJ1GA8QAFM7C0jm/gH/8Rgs0OfanGj8JfW1Hd/+9JxyxrS8zAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAABHNCSVQICAgIfAhkiAAABDNJREFUSEulV0tS20AQ7Za9yC5OLoArZh/nBIgT2BwgYFHZxzlBtM/GXAAJc4DYJ8A5QcQeU+YEIctUWeq8bn0iy7IMZKqoQppRf997PWb6jzXqBp2kJQNm7sNMn4S6xPgrL6EV3q3wKhKRyIl5Hq68x/wIv8Q/HPelRV9heKjfC8kPEo7w/CgJPbYcivR9nFCfHergQIdY+kx8ZP6EQo7pAoFEzw5g1AuGwvRdnYpw2IppVs6oKSGtWNyiIbOMNBgWOnl2AKe9SyvndHlu2b90wc4MQbx/dgBnhwGSp9nV0jt5qXP9zgJgHrwsgNSzgmpSBdW+FmSgHRtosZ4dwOlh4DtEi0TQR+azzOHCAiIydKNE+gzj7GZOOplDe0bgV0K8cJiCnQEYxdoC1HIfYOnah0YniaZ353N91jPUIjchchXlSkMEdVCuApw9pDSEQwE7YlooaD/2glFtAGpU2qAYkZYppdi/1VHgpO/Jd9ZGpYLTZce7/k8To8/I3NdKbFQg4/eN5poQj+sollPJIZkgKwGfj5XPeUWqAanNuC2vtR2oZN+0Q+Q3qhnh64MigILfiArAGu/LLFPBieJA+ZwwRIescvVLnQI70I5FK6GQ2tTH840FAGNdKNtPlHsOfo+eUsr8DOgUIruB/FkfOa/ab+u+De+8Rfm9+WubmP22AE4PL/VAB+AyalRXtk/Yd3fsQ1L519Wdd9zQ+y4oeGTMYMqTXLD1vU0/EclxNVI19vFdMAZarbQi5E/vvYuqk9Fh4Fo51/Qhdsh1HBpUzhSBFxIOZtg3p70AYJIhSt+tGk6di6+A0T0FUSLsX997+GZzpRLNMwS5YkcymWYrfTGg1hTl2FLbmAljtvJikk2XntGuvKqlb2qFJQIt2NWm3G4G9s94do2Gqu1JQl/qsirKzxifa7rK6VaPg8BXFgAHrC2J0bAmJSTmlZ63AJRG4dKb7TIMWyq7B1CfVcZ7lHtz5TRWHCim8t1CCVFllfAtJbTeMYfTO8+vC6AoHcAKFCNIntW3K/A10Dosle1uKWGKAVrV8T8FKFHusBkDl6Fex6oY2KuEeZ8x399sIzuYoE8D9MgACumcgDoQq23AnvUuH5UhQLarc36rmlUlxBDTm5XqAFRQojp6ZRNRby52l1MOO2seVmVaRzQLKBXb5bQDmdXxW6wnKKEawIQqDZYmOlZ6qhfUG2Rz0YQjTTRTwqEOJCRzq8nks0Bn/wKZClCs021jxGof1WmVhtnovoEx5kS+keN82gFkt8SKOS4js+ulF1pbSyhPg9ARyaBlZYBs0U7lVzBQWB6QiTroYs7rqNWRm7VgUwnrbFbvA/pDI8xAhNEpIUbzbWneKxXfY38Eh6pkc+yP9o3uJnrXXslUyXDnG2MTk4tfbxjI0OwwT/ZVqclxvrf3UqrBNCH6KU6azvwF0KSO8iMrEkgAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAC+UlEQVRIiaWXz3XaQBDGf/hxjzqwOrBcAXIFxhVEqcByBcYVWL5wBVdgqMCiAuRzDoEKgitIDvPt22XREoLnvX3aXc3/+WYQg+l0yhcoA26BQivXCmmj1WktgZ17OTzTcAE8AmOdV1K+kvIu4Mu0roFa93PgBejOcWAMvMnYD2BBEFFEbXTOJF8Ba+BucEYJNliE4/8VjGgBXF2cIXgJ/PmicUf5OQ6ARb8GvmNpPZUyyawx8J4FwiesthUGJnTu8Fho9SwDw0VwfsVAODvmQAaM8O0FVv+1DLQYqkuta/FdRnq2kmtltJWjFfRnIMNarNZ5Fby7BibaT6RwoXUqOf0T4DV2oADegQHpFsswDDRy8gbf91kPfwF8w7JUSPYTC2wUgnCMpXeJpXLeowzdzcWzlMxYEf3GOiRcrmQPCuxBshMgdxnIgRkGjqrHaB/tAt4Zhpc2wRvf58AzsHIOzDGwpIw7BWXPuworwQtWjhTlcrIM7LRDrC6jI8I1cKX9vQz18bzjW+02el8GezfCN8D7UN5s6U9fjdWq0/kJq2MT8bX4DG7E4+7BsNKxPytqYOsysOgxDgauLoigxXdATAvpqhPvQ5330vk6xNKfcmCB9ewzBtAywQcW2Uj7EusAx59xOAmfgEcHwk1CaSPhCotsg2Glj7/Ts8Dw4MhNwo6eSXghhiLhAKhfsSk4wE/ImArp6sTnVo5FXuMz/Yjafijv8oTSRs9aijdHnM3pz0zBPybhgsO2Cek2WJf4VMc0xv8unDIJGyAfTKfTXEonHKI3k0IHrpUM7SK+CZalAv8NGFIbnXPss+7TlaDB6tKyH+EOS51TUHJIBdZWDWkwO6MjLIAx8AFUrgsaXc4wlO8i4TqhNJPMFvjJPvpDKoP9EpuEc/DfAzt8pL+AO/bT1iWUvsl4iUW4wpcBDidhqJPQgdCJORZJq/0H+z1+hfVwKcUV/r9An6NHKf4g2WGlKLG0v2AtFNKnnLsh/fN7tgOOWtLA+7LRkP4C1KnhtQMGV3kAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAACXBIWXMAAAsTAAALEwEAmpwYAAACNElEQVRIib2W0VHjQAyGvzB5x1cBzgzvZyrAqQBTQZwKDipIqOBIBU4qIFSArwJMBbl04KuAe5B2LBbHXuIJmvEko7Wlb39LWo9mlwUDLQEWQAZUwBpYhT58NjB5DLwAP4AH4A/wCCxDA4wHAtwB/4DU+GpEkSCIoQokwNbzlWbt5AAA0QF//R0AFXDt+VL9/fsdAI9IIT4BN8i7XyAFGWRDijAHfun/TC9nM+Adace6K8ixClRAgXTAHJgirXgF3CLteA/s6CnGYxTIgZ+aaNsCVqk/0v9LPqozGCBGdugn961GpuLCe/bGwD0fA1ASWOE0MwFEOTf398AFUIYCxEi7xcaXILvoAyiR1iyADTI9a2SEj/oAYn0wbVlbavA53YqkwG9k17n6cvVfdXVBArwilT1HqnxkrikwQSr93bt2yLsvaA6rTONGCrQBKqtAhPT1iuaU2ytp3QJYKmTGx1fjYi31+TlSjM4K3cAdNF0QaUIbsCu5s9oLbu0aePPWc40/dXHHJrmTdQucI9J3JU/5fA44i5HN2JGcINKvMN0xpnlHiSZM9YYnS3ogybQD0A6qVOM9o9JbgDdkdmeIXJWBeOmAWHNYfms5TQvm/uKZOjd6k7vBQUwUIgpI9OXk0BShW3STas1nJW6RMyAJTJ4gqq7wZG8DCIHYBSZ2tqf9wDoI0Afxiky8yRdBOq1tFLdBuA+P4C+dIQA+xAxRwJ9oJwWwELNTJYf+T7IcGVInSQ7wH1HVj0GVexzfAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAeCAYAAADQBxWhAAAACXBIWXMAAAsTAAALEwEAmpwYAAABv0lEQVRIic3WP24TQRTH8U8sU7M3wEhIiIrNDZYTxOno8AkgKaiTnCChR4qPYCR6QpOW5QQsBQ1NTIeEEBQzq2wcz/rPxlZ+0tPs7PPsd968NzPeefXkPMMpRjavMQ778SHHPqYbBGY4w7iPPZxgskFgrRxHvS2AbuleQV/ib0e7TEH7ifcf8XTVCGb0e1XoI6Gau+gHzleBPsSzjtAHKUcKeqklJ121qHrf4k+LvV4Hmoq01nt8aPH/3AT0KtqdahE0x3NU+LwN6BhDlBjgmzu6FHr4LkTT1IEQ5QBFfN7BcUdejq894R59gX/RCiHCseuophG4F/tF4/ezE8nwpeFvWoGDPi7iDGqr4uC6bWrQ8J24ffFn+ITH0d9UGa2qc1pFmzT6Qzfv2Nx1MVVChEUCWETAXKUK6TgOOhJWohDynDqPlwaSPpGqOHgX74Sc78cJdALSvmVKYYkX6Q1+LQtMQTNhCxWxPxVyOe+DQ2HZJ8sCZ6GZkMORMPMqAjOhEq9w6GZxTa2xd5vQi9imcjcS9u7ZOqB50ELYgwPpY24c29Ou0Gb1li3AWpWw3J10r/6CbgVaCqW/SKVwUHTSf46IfgagRCsNAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAeCAYAAADQBxWhAAAABHNCSVQICAgIfAhkiAAAAoRJREFUSEvtlj1v2kAYx2MGYKhUMlTq6Mwdwpwl9BuQrSMrICFQ1RmyZDWqeBnD0p1vABk7lQ9QqQzt0qXJFkBAf3/rbFmuTa6xmFpLJ9uP757fPa9nx/O8Uj6f9xzHqZ0c+drv95P1et1xhsPhFFYZaJtxfywuwBKjj/6FMxqNeN5fN5vN3rGAgV4M7GFY9x+Hjsfjd7vd7lNGd38mZBdRHQfdy8cXTH6dBbrdbh9brdZ3a+hgMHiTy+WuskBZ+6PRaNxaQ7H0gixrZoR+Bdq1hmaEpS63Khlq+AM1fJOmhRC8r9frH203aQs9JYtfpSndbDY/O52OdRezgtpaYDvPCsok9eRzlC5Jijtb5WnznoQSzwmLq2rQxNUF/m21Wl39jTvj8BDKwxKFX7AkrEuAbRbUgFQE0fFXKBSmwBd0GX171qUTDZbr0PIqKNPx9lKaEL7lvcfjlI3oKPIvM+8W2Zl5nkkeP6HM+TxDTzlhZw/Iq45R6LK4rEEZTHTYIu8D0Gai0BkybdQlq2vyBmMSHIsR4Jk5O0MusIUGJbb0ofHLxPMEgJT6l3F5FVklIpujfC5oDFhBtkjSLVkiVJYofuzMk1LuFSxrqx+z03kcyi9In18euVQWHgSmQvVB5cJNJ73L/Z57Lwo01stSWXRpCzwITXNNVI7LZfUl48HGwmDtH+415XEul2oSblWbu0uKkYmjSmh6KIZxA0KogXXZcU07B7rkWW4t8S5X/2J0ohlt442kOSEUV/nZpl/ReOxMjGt866sUsv45BnXqNwg6kHuozZFc8oIH9PS5VoaJZDpML1qDSUqDTqQG8R9q4wHfTSb13afSXvOKxWI5KdFsYMGc3xAn/773i9lSAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAaCAYAAADWm14/AAAACXBIWXMAAAsTAAALEwEAmpwYAAACu0lEQVRIia2W0ZHaQAyGP254j6+Cc2buPU4FZyo4qACuAujgnAriVGCnAnwVYCrAVHBOBTEVkAdpZ8ViuIOgmR1saaX/t6TVMpg+FtxISmBq3t+A8UdOd7dCB2JgC4yA30D0GadrCeTAJgCJgQaogQr4ZmwRsNJ1QOwaAiUwB+6Bd33eAA9Aq3taBdqofQV813VA4lICGVLnFyBB6pwDO9Vluq9BSrFV+wBIdX0Fli7g8EICrXnugJkCND17a12Z7u2U9F6JXUWg1CCFkqlPgFtp9TdC0r8FFs54TQ/k+htf6BfpKq2yj0AE/ETYLpEvtrIA/oSBkPqukBRvkPJYaZHjOT9HIFLnCbBGOn2jwUHqOUeOmZVYye6Mb8HxIKrwfbAHVmEPzJCOTZCmcU6Zkijpr/sMyYoDrPRjFgHZCjkdzmcaEkiRVHVGVyFfg9pajsUSdtLSP4prg3WzUVwjky/R9wh4NmAY/SvSK9M+Ao0GioxujDm3JyRHSuDG7QYZOItg3wwp5xppyNEguA1jJbFH6p0iXzXhuPH6ZKExOiXVBfZW44+dIuyBVkEzDba+ABz8jOiTFLkvSqu0JYiAJ+CLEnDzOwQf44/RRysxfjVyd7xavctAwvFV+RKyVXuB1C+0Wcnw5XTxG6QHGsW6twQqJN0zfP0K3eyCoKA7pDzdCfAEyaQ97wXyQSBlcM8M8bVJTdAF/vIY4RvnWd9PgaPk3/BHsMRnDoLMDvH1aINAMwVeIn8kYuAXx2c79Ek4vj9yE7+yhqGyWxtdhsyCCZKVGp+J7gx4hFxiFsxK1aPjrodtpWC5Ao6RofKXww7P8fV+UvAd/l/Rp8RloDa6BukB14SlAsVmjyOXK7iTEReK6wFLIEaaslESD4FPhJToHT96nbhsWPlxjsBg+likCtapLg2C/q8Mzhn/Aa3vyDAl5CsUAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAaCAYAAADWm14/AAAABHNCSVQICAgIfAhkiAAAA3RJREFUSEutVstx4lAQRByAm3EEiyMAIkBEYIjA7BE4ABFYGwH4ABzNRrA4AkME4AhsZ8DegANst2pGNRKShbasKpWk9+bTr+cnJ/dN12w2W8DUg5o7n88v/X6/lWbeSRO4dh8AVpAtO44zhPMO3iu9Xs9N0/8vANPpdALDjePx2ByNRjs6wdoHnK/gtAMwLYB4BgO33BuPx+VisfiH74fDoa06/M4MQKmGg0/o3+D2cHfgvIa1X3DqAUwN3xt8b7HH0HD/jg6x9m6BZwIAwx4MPcLITxhZ4lRkgnFfY20B53TmX/P53JVQcP9N3nNkCd8bMNXMzAAA8CTPBKDOeFq886SxF4BU9vv9jrRTFkKvuH9DZ5gZABUYf4AY4G52u12e5qqLeVAoFN6h92aTM1MIhNoK42hZuAYBmYjTuwAgGfsIo6RrJ4kVUCwV0AKFFetYYk49xp7yTzYnKMsExl4V63XVDQEQ58xeri9Al4tnQ+k2SUjjfgyVldPptMH7GrJ04jJM+G6D7qXKsTzx7pejXKsQAAiwiQyR4TVT30sYKzNupBGKTKqtrWUB1oIMWfMvKdeLZkSmuK8VEgIAQ4EzNaSZD+OJ+ZKgx5IdQq9sThy8KpvfAkCYY/ybLEnJeJbbp50HXC+VSgOGiEzyjgLwsDhACO4iISCVAb1xJwKILQz/wKmZgDR+y+6IUv0wYWHejJnYXMvn8+EckFKhobNJJjoOJVMcAIk7c4jOdzjExOYJ9zkv8NhaVi7iKt2K8buH8Br3xGZykvO0dSnTV50XKh8AkBKscgNCf5Paa0wpJfqGnbq1I8l6b9d9ANqjWW5qLa7TmXb6whAleYaux1Bos9J5IfrMkRsd1QrAjw3i1pGh4ff7uBNArmb7RBSEjmLTvIIBRtnoMHM0NpzXkYxlR2Me+KWl1KcNIf4ZQW9nE41lCjtjCW8wSX1AuhnXaFhapAt/MXXM/o7QGrTgmNPztGQvVH6UkwPkogntSEdydUTKdxXfbUlMnuhs/2LiYq/5gT3OCS+tKoIqiLZRiSGd8g9nqL2BTFij2H/CNweWvy69neGqXOtcQ0BnK4s6+uejQ8hUyAQ6nBsu1hrBaTL+pCgAzvyJAhBnDxivLcYSd4hOyLJUmQcEkPgrpqCQ2H7bTbr8KrDjVasiC41fyX41Ran3D3n0kgI4AK3DAAAAAElFTkSuQmCC\"","import React from 'react';\r\nimport { Link, withRouter } from 'react-router-dom';\r\nimport { useHistory } from 'react-router-dom';\r\nimport MyprofileImg from \"../../assets/images/MyProfile_Icon.png\";\r\nimport CustomWidgets from \"../../assets/images/CustomWidgets_Icon.png\";\r\nimport Heatmap from \"../../assets/images/HeatMap.png\"\r\nimport GSD from \"../../assets/images/GSDInsight_Logo.png\"\r\nimport './styles.css'\r\n\r\nconst settinglinks = (props) => {\r\n const { closeSettings, openModal } = props;\r\n const GetLinks = () => {\r\n\r\n const history = useHistory();\r\n const redirectTo = (path) => {\r\n closeSettings();\r\n history.push(path);\r\n }\r\n\r\n const handleHeatmapUrl = () => {\r\n \r\n window.open(`${process.env.REACT_APP_BASE_URL}/nav/to/heatmap`);\r\n }\r\n const heatMapURL = 'https://gsd-insight.houston.dxccorp.net/ReportServer?%2fReports%2fGeneric%2fIISLog%2fLOGIIS&rs:Command=Render&rc:Toolbar=false&rs:embed=true';\r\n const aboutURL = 'https://github.dxc.com/pages/MWSGSD/GSD-Insight/'\r\n // switch (props.location.pathname) {\r\n // case '/welcome':\r\n // case '/welcome/profile':\r\n // case '/welcome/filter':\r\n return (\r\n
    \r\n
    {\r\n redirectTo(\"/welcome/profile\");\r\n }} >\"profile\" My Profile
    \r\n
    redirectTo('/welcome/filter')}>\"widgets\" Custom Widgets
    \r\n
    handleHeatmapUrl()}>\"widgets\" Heat Map
    \r\n
    \r\n \"GSD\" About \r\n
    \r\n
    )\r\n // default:\r\n // return (\r\n //
    \r\n //
    \"profile\" My Profile
    \r\n //
    \"widgets\" Custom Widgets
    \r\n //
    window.open(heatMapURL, '_blank')}>\"widgets\" Heat Map
    \r\n //
    \r\n // \"GSD\" About \r\n //
    \r\n //
    \r\n // )\r\n // }\r\n }\r\n return GetLinks();\r\n\r\n\r\n};\r\nexport default withRouter(settinglinks)","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAthJREFUSEulVltu2kAUvQPkO2QHRCVS/0pWULMCyAaacTdQsoIkK4CuwEM2EFgB7gpK/yqVKN5BwneAybnjGWtsPIioliyw5z7PuQ8LOnDJz0lnt6WB0BRBrIO7Z8WX+M20oLTRpLn6G2chM6LuQHaStm7SmARJd66J/uD/q31uQ/FLoatJiS3dqCx258XRngP5KRkisgQSbRj91RCk6I1mVWUOgk5ouNMkYeQrO0emsXqKZ37QJQfyIpFaG+NrIWik/sXqEITuzOpN8HwKvdjXKxzYyB8ZCkQtIcQ4H33BSQ/ZKIYOmVy5TIwDg3mLnvFXIILoo8a9THpAIMWzFhs6Z1hzBxeJwsF1Nb1CMQ/gljQNzTtBMxi4ryPVwQxbUwQqBZei3tAzE/qwiqM6TL51k5SJtJUE+6aC0ukq7h+SFy06F7KbjKA4DkbfTSKcL2B0rlaxyQA6M7wb4F0f7xiS0uVlEbODXHhDZ7UpuwA8Y9BxTm/ggKun7CCH9IWDEkjfVAvgcV1aFnYOvMpwFRfKmg3AbgYHL+K6m4DfMP6OI+gsgekVK4OzR/z0GOPQmHC8HefgjRZgtlNKTVMmTsBBYA4VDhgipKJREZchsuz7NTI1cEKe4TzFXTseHETm/BDJgM8ML3SmrM4Yy4NixBDcmR+cbdyc5FCZcuuDnN8w/hPGR9Xs+BlOJhiMP0D2pd/95TK1jQb5UuN4pXiPUryrddBN7gDbbbUfCvy50UwkNaPCjOMWsG5RFiKSK4w2IH9DS9dDe6PCOMgbI2M8kW7/P4fdgmlD43aKYWfx5EXD9b20DfThcQ3O2Hh7b1w7fL2F86q1Hj08fZ/WYR8o57ExHlo4hZN8ZXL5cZ2ncKQaWzGvW5m7ph5ggUjIRbjXdeUcXPrYtxPeEUW06Fx0GPMEpkCs19k8+7G3R0ctfT99WyU8oqMdPlvcl4RZq/hs4cVDTUoPfba8A/0Wtoj6oELdAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAnZJREFUSEtjjFeZ/5+BhoARZEFArgFNrNgw+QID3IKAPOpasmHSBYaBs+Dp7Q8MC+uOM9w685JBzUScIb7JkkFaVYCkYMTrg7bI7QwWPooMTtEaDPuW3mA4seU+Q9VyT+pZkKC6gGHB7QS4geh8YmyiyAdvnn5hABlwZN0duF0i0jwMGuYSDCmdNmAxvBbgi4Nvn34x1PltAhsWVW3GwMXHBjYQZGmJwxq4z8lORTdOvmBY2nKKoXmzH0ZIIQclURYsbzvN8OntdwZTTwUGIxc5sIHndj9i2LXgGkPFUg8UCx5df8cwu+wI3GKCFpzd9ZBhau4BcEq6ceoFg4K2MDh8QUFR67uJofdACDx4QDaBfAYyFGYxQQtAmppCtjIkNFsyyGkKMfQk7mKw9FdmsA5QZphTfgTseuQ4ABkIip+oGjPCkXxh/2OGF/c+MRxcdYuhfWcgWMP22VcYPr37wRBebgLmLwPGw9k9jxhSgb4CRXhH9A4GtwQtBiNXSFDi9MH6iecZtgENM/NSYLANVgVrBoG5FUcYFPVEGZyi1OFhDwqWiZn7GIyBhl4HskHBBgM4LZiUtQ/sCptAFbjidy++MpTYr2Ho2BXEICbPixK5oGABRbpNsAoDKC8QtODMzocMW2deZhCV4WEIKTFmEJPjZSh3WcdgF6bK4J2mC9Z/eO0dhlVdZ8DssDIToE8RjiFoAUzBxPS9DJ8//GT4++cvAzcfO0PJfDe463LNVzAUzXEB8/tS9jBMPhmB4iu8cYCs8vqJ5wwv7n9icIxEhDtInmoWYDgLKkCVIMJlOLHiRGU0Yg3Dpg7DAkoMw6UXXifTwnCYmQDkZ5hAp5HukAAAAABJRU5ErkJggg==\"","import actionTypes from \"../constants/actionTypes\";\r\n\r\nexport const toggleSettingsModal = (data) => ({\r\n type: actionTypes.TOGGLE_SETTINGS,\r\n payload: data,\r\n});\r\n\r\n","import React, { useState, useRef, useMemo } from \"react\";\r\nimport \"./styles.css\";\r\nimport settingsImage from \"../../assets/images/Settings_Normal.png\";\r\nimport logoutImage from \"../../assets/images/Logout_Normal.png\";\r\nimport gsdLogoImg from \"../../assets/images/GSDInsight_Logo.png\";\r\nimport dataSaveClose_icon from \"./../../assets/onboard-images/dataSaveClose_icon.png\";\r\nimport ConstructURLs from \"../../constants/urls\";\r\nimport HamburgerMenuComponent from \"../hamburger-menu/hamburger-menu\";\r\nimport { useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { getUserData, getUserToken } from \"../../actions/user.action\";\r\nimport { useHistory, withRouter } from \"react-router-dom\";\r\nimport Settinglinks from \"./settinglinks\";\r\nimport { toggleSettingsModal } from \"../../actions/settings.action\";\r\nimport { useLocation } from 'react-router';\r\n\r\nconst Header = (props) => {\r\n const dispatch = useDispatch();\r\n let userInfo = useSelector((state) => state.userReducer.userInfo);\r\n let showSettingsModal = useSelector((state) => state.settingsReducer.showSettingsModal);\r\n \r\n const errorVisibility = useSelector(state => state.githubReducer.errorVisibility)\r\n\r\n console.log('developerCard',errorVisibility)\r\n let url = window.location.href;\r\n const history = useHistory();\r\n const location =useLocation();\r\n useEffect(() => {\r\n console.log(\"Window URL \" + url);\r\n let isLocalhost = url.includes(\"localhost\");\r\n console.log(\"isLocalhost \" + isLocalhost);\r\n\r\n if (isLocalhost) {\r\n dispatch(getUserToken());\r\n }\r\n if(location.pathname !== '/githublanding' && location.pathname !== '/whygsd' &&\r\n \r\n \r\n location.pathname !== '/getstarted' &&\r\n location.pathname !== '/architecture' &&\r\n location.pathname !== '/architecture/card' &&\r\n location.pathname !== '/developer/card' &&\r\n location.pathname !== '/product' &&\r\n location.pathname !== '/developer' &&\r\n location.pathname !== '/user' &&\r\n location.pathname !== '/security' &&\r\n location.pathname !== '/overview' &&\r\n location.pathname !== '/training' &&\r\n location.pathname !== '/design' &&\r\n location.pathname !== '/design/card' &&\r\n location.pathname !== '/database' &&\r\n location.pathname !== '/features' &&\r\n location.pathname !== '/faq' &&\r\n location.pathname !== '/notinproduction'\r\n )\r\n {\r\n dispatch(getUserData());\r\n }\r\n \r\n }, []);\r\n\r\n\r\n const logout = () => {\r\n window.localStorage.clear();\r\n window.location.href = ConstructURLs(\"LOG_OUT_URL\");\r\n };\r\n\r\n\r\n const [showModal, setShowModal] = useState(false);\r\n\r\n // const closeSettings=() => setOpenSettings(false);\r\n const ref = useRef();\r\n\r\n useEffect(() => {\r\n\r\n /**\r\n * Alert if clicked on outside of element\r\n */\r\n\r\n const handleClickOutside = (event) => {\r\n // console.log(ref?.current?.className, 'testtttttttttttt', event.target, event.currentTarget);\r\n\r\n\r\n if ((ref.current && event.target.className !== \"settings-icon\")) {\r\n // if (showSettingsModal) {\r\n dispatch(toggleSettingsModal(false))\r\n // }\r\n }\r\n\r\n }\r\n\r\n document.addEventListener(\"click\", handleClickOutside, false);\r\n\r\n return () => {\r\n\r\n document.removeEventListener(\"click\", handleClickOutside, false);\r\n\r\n };\r\n\r\n }, [ref, dispatch, showSettingsModal]); // (openSettings===true)\r\n\r\n useMemo(() => {\r\n const navigationHandler = () => {\r\n\r\n if (showSettingsModal) {\r\n dispatch(toggleSettingsModal(false))\r\n setShowModal(false);\r\n }\r\n }\r\n\r\n\r\n window.addEventListener(\"popstate\", navigationHandler)\r\n return () => {\r\n\r\n // Unbind the event listener on clean up\r\n\r\n window.removeEventListener(\"popstate\", navigationHandler);\r\n\r\n }\r\n }, [showSettingsModal, dispatch]);\r\n\r\n var d = new Date().toString();\r\n var index = d.lastIndexOf(':') +13\r\n console.log(d.substring(25, index))\r\n\r\n \r\n console.log('location::::::', location.state)\r\n return (\r\n <>\r\n {props.show === true ?
    \r\n {/* {Error ?
    {Error}
    : ''} */}\r\n
    \r\n {props.isMenu ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n Hi, {userInfo.name} \r\n        Time zone: {userInfo.timezone} ({d.substring(25, index)})\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    */}\r\n
    \r\n
    \r\n {\r\n // setOpenSettings(!openSettings);\r\n dispatch(toggleSettingsModal(!showSettingsModal))\r\n //event.preventDefault()\r\n }} src={settingsImage} alt=\"set\"\r\n className=\"settings-icon\" />\r\n {showSettingsModal && (\r\n dispatch(toggleSettingsModal(false))}\r\n openModal={() => {\r\n setShowModal(true);\r\n dispatch(toggleSettingsModal(false));\r\n }}\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"log\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n {props.isMenu ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n history.push('/welcome')} src={gsdLogoImg} alt=\"GSD logo\" />\r\n
    \r\n
    \r\n
    \r\n
    history.push('/welcome')}>{\"GSD Insight\"}
    \r\n
    \r\n
    \r\n {props.isInfo ? (\r\n
    \r\n\r\n \r\n
    \r\n\r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    :\r\n
    \r\n {props.logo === true ? <>
    \r\n
    \r\n
    \r\n
    \r\n GSD_LOGO\r\n GSD Insight \r\n
    \r\n
    \r\n Welcome,{userInfo.name}\r\n
    \r\n
    :\r\n <> {\r\n props.introPage === false &&
    \r\n
    }\r\n }\r\n
    \r\n }\r\n \r\n\r\n );\r\n};\r\n\r\nexport default withRouter(Header);\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAsNJREFUSEuNVstx4kAUtDjA1RmsOPA7wUawcgRGERgiWIgAOYKFCCwiWDkCiwgMNz4H2AzsI1QB2z01Qz0eEqCqKaF5M9P9+n0G7+HKs1qtgv1+P/A8r3U4HH42Go0Nly8WizZefzHiQqEwrlQqad4xXpaBBxyPxz842Bf2ca1W6/B7Pp9vYPvhbFjL7z7siT4vD+DIhdg4wcYh3j28f8nN2sbver0e3AtAJs8YIVlZqSK5GdL0qtXq1MkFgD4AhjcB1uv14263+8DCFsYrAM4O1gcAgPYB44G13UyA5XLZQRAZTAaLB3OMi8Vir1wuf+UFkPOWEPc1MRJ48sikgIchg29ioIOGqXewYabc9SgQswdAKSR78kTKvQM5gqEN5kPNHF62YCPLB6ybUX+JbkF6mJu6pIAqZQKYgMKlp6x8thvfsEZ7lIBIN0tCSg6QN4wRAVxKZuayIwCAGTW2rAnWdDJIT0RxBtzjuRRknutctrJ8ciFiwsCfHsQttbVhUtkZBOEJU/lUaDRoABzCAmNFd6F5LAFE7M5SGfOMTROg5uyrACLHz1hyIz1HED+oM7KFwTXPBYDUTHsgWCZgFCoP6NGL9k5IlEKi/inIWDwGo8h1TM2IPQmDWnsg8sxUxO9vZJIvM8k2Sq5lM/wigGGCcSEDQRhoACeye1rwb8wFuh5oc7EzDVFoyawgmA9WI8mKtbDdbjtsAdjkY01SKpViucZmHOtpgjsktoTCvFZxobnUX/9WDdKYQeQfgu8bABtMsk/pAYYpIrAMbzU7y5yVzjphMW4wAnjAdh5fXDiqcd3Trl0MZ5A20ITybjTTn9ismFXWwwG8Mq0b7NiSWXxT13cwndmBb12ZlIy31EhnESXkhY/3b8rjNNfxyb30sTBiLNwGWYSiDzkztY/uvvTdLpvCHXy3Zc7becqYwIv42t+W/193GWgN4PGSAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAYCAYAAAALQIb7AAAABHNCSVQICAgIfAhkiAAAAPxJREFUSEvtlmERwjAMhYkCkIADcAAowAISwAkScAISwAES5gDeY20v63XtunbHD+hdftHL17y8ZMgLZ1Z2diJyG5JCvgLD62TI6+wdPJLVbBD5lf1hKRkh7xIqPUMtcQapISNAF0D2po93H1gNBtACyWmaFaIJAUtgZyRcI45Q5VNFCjga1jcmMWB1WKzCIEwNbM6cx+62PbTrSrtxAtgDsO1UMtI4VwQd2oJEmuowqBIEUePRMCSl9TlTJ2X9XlApjAPstr6xPNfUXEunXVNSWQdmLH/gkNse+fasCkvNyQ/AqHNKBu93u4jz/xZkgvT1LBhdVXLcJyaV5A2rIe9Tvoi3FgAAAABJRU5ErkJggg==\"","import React, { useState } from \"react\";\r\nimport { HashRouter } from \"react-router-dom\";\r\nimport { MuiPickersUtilsProvider } from \"@material-ui/pickers\";\r\nimport MomentUtils from \"@date-io/moment\";\r\nimport \"./App.layout.css\";\r\nimport AppRoutes from \"./App.routes\";\r\nimport Header from \"./components/Header/header\";\r\nimport { GithubHeader } from './components/GitHub/HeaderFooter';\r\nconst AppLayout = () => {\r\n // This is the main layout\r\n const [localPath, setLocalPath] = useState('')\r\n const localPathnameHandler = (name) => {\r\n setLocalPath(name)\r\n }\r\n const HeaderHandler = (localPath) => {\r\n switch (localPath) {\r\n case '/widget':\r\n return
    \r\n case '/role':\r\n return
    \r\n case '/':\r\n case '/intro':\r\n return
    \r\n case '/githublanding':\r\n case '/whygsd':\r\n case '/getstarted':\r\n case '/architecture':\r\n case '/architecture/card':\r\n case '/developer/card':\r\n case '/product':\r\n case '/developer':\r\n case '/user':\r\n case '/security':\r\n case '/overview':\r\n case '/training':\r\n case '/design':\r\n case '/design/card':\r\n case '/database':\r\n case '/features':\r\n case '/faq':\r\n case '/notinproduction':\r\n return \r\n default:\r\n return
    \r\n \r\n }\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n
    \r\n {HeaderHandler(localPath)}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AppLayout;","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import axios from \"axios\";\r\nimport ConstructURLs from \"../constants/urls\";\r\n\r\nlet requestCounter = 0;\r\n\r\nlet axInstance = axios.create({\r\n baseURL: process.env.REACT_APP_BASE_URL,\r\n withCredentials: false,\r\n crossDomain: true,\r\n});\r\n\r\naxInstance.interceptors.request.use(function (config) {\r\n requestCounter++;\r\n document.body.classList.add('loading-indicator');\r\n \r\n // You can add token handling here if needed\r\n \r\n return config;\r\n}, function (error) {\r\n console.log(\"error 1 ---->\", error.message);\r\n return Promise.reject(error);\r\n});\r\n\r\naxInstance.interceptors.response.use(\r\n function (response) {\r\n requestCounter--;\r\n if (requestCounter === 0) {\r\n document.body.classList.remove('loading-indicator');\r\n }\r\n if (response.config.headers && response.config.headers.Location) {\r\n window.localStorage.clear();\r\n window.location.href = ConstructURLs(\"LOG_OUT_URL\");\r\n }\r\n return response;\r\n },\r\n function (error) {\r\n requestCounter--;\r\n console.log(error);\r\n if (requestCounter === 0) {\r\n document.body.classList.remove('loading-indicator');\r\n }\r\n // Handle error cases here if needed\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nexport default axInstance;\r\n","import API from \"../api\";\r\n\r\nlet token = localStorage.getItem(\"token\");\r\nexport const getUserDataService = async (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getUserTokenService = (requestUrl) => {\r\n return API.get(requestUrl)\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getRegionalDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport actionTypes from \"../constants/actionTypes\";\r\nimport ConstructURLs from \"../constants/urls\";\r\nimport {\r\n getUserDataService,\r\n getUserTokenService,\r\n getRegionalDataService\r\n} from \"../services/user.service\";\r\n\r\n// function* fetchUserDetails(action) {\r\n// try {\r\n// const response = yield call(getUserDataService, ConstructURLs('GET_USER_DATA'));\r\n// console.log(\"Fetching user details API is success\");\r\n// console.log(response);\r\n// if (response.data) {\r\n// yield put({\r\n// type: actionTypes.USER_DATA,\r\n// payload: response.data,\r\n// });\r\n// }\r\n// } catch (error) {\r\n// console.log(\"Error while fetching userdetails\"); \r\n// }\r\n// }\r\n\r\n\r\n // import { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\n// import { browserHistory } from 'react-router';\r\n// import {useNavigate} from 'react-router-dom';\r\n\r\n\r\n// const RedirectTo = (path) => { \r\n// const navigate = useNavigate();\r\n// navigate.push(`/${path}`);\r\n// }\r\nconsole.log('location', window.location.hash);\r\n\r\nfunction* fetchUserDetails(action) {\r\n try {\r\n const response = yield call(getUserDataService, ConstructURLs('GET_USER_DATA'));\r\n console.log(\"Fetching user details API is success\");\r\n console.log(response);\r\n if (response.data && response.data.statusCode === 200) {\r\n yield put({\r\n type: actionTypes.USER_DATA,\r\n payload: response.data,\r\n });\r\n } else if(response.data && response.data.statusCode === 500) {\r\n \r\n console.log(\"======>\", response.data.path) \r\n window.location.href = (response.data.path);\r\n // return \r\n // RedirectTo(response.data.path)\r\n }\r\n else{\r\n yield put({\r\n type: actionTypes.USER_DATA,\r\n payload: response.data,\r\n });\r\n console.log(response)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching userdetails\"); \r\n }\r\n}\r\n\r\nfunction* fetchUserToken(action) {\r\n try {\r\n const response = yield call(getUserTokenService, ConstructURLs('GET_USER_TOKEN'));\r\n console.log(\"Fetching user Token API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.USER_TOKEN,\r\n payload: response.data.token,\r\n });\r\n\r\n localStorage.setItem(\"token\", \"Bearer \" + response.data.token);\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching user Token\"); \r\n }\r\n}\r\n\r\nfunction* fetchRegionalData(action){\r\n try {\r\n const response = yield call(getRegionalDataService, ConstructURLs('GET_REGIONAL_DATA'));\r\n console.log(\"Fetching Regional Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.REGIONAL_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Regional data\"); \r\n }\r\n}\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(actionTypes.GET_USER_DATA, fetchUserDetails);\r\n yield takeEvery(actionTypes.GET_USER_TOKEN, fetchUserToken);\r\n yield takeEvery(actionTypes.GET_REGIONAL_DATA, fetchRegionalData);\r\n}\r\n\r\nexport default function* userSagas() {\r\n yield all([watchGetRequest()]);\r\n}\r\n\r\n\r\n","import API from \"../api\";\r\nlet token = localStorage.getItem(\"token\");\r\nexport const getMonthTabDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getSummaryTabDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getWeekTabDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getDayTabDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAnnualTabDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getHomeFeedDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\n","import { put, takeEvery, all, call } from \"redux-saga/effects\";\r\nimport actionTypes from \"../constants/actionTypes\";\r\nimport {\r\n getMonthTabDataService,\r\n getSummaryTabDataService,\r\n getWeekTabDataService,\r\n getDayTabDataService,\r\n getAnnualTabDataService,\r\n getHomeFeedDataService\r\n} from \"../services/tabMenu.service\";\r\nimport ConstructURLs from \"../constants/urls\";\r\n\r\nfunction* fetchMonthData() {\r\n try { \r\n const response = yield call(getMonthTabDataService, ConstructURLs('GET_TAB_MONTH_DATA'));\r\n console.log(\"Fetching month tab data is successfull\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.MONTH_TAB_DATA,\r\n payload: response.data.blocks, \r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"fetching monthTab data failed \" + error); \r\n }\r\n}\r\n\r\nfunction* fetchSummaryData() {\r\n try {\r\n const response = yield call(\r\n getSummaryTabDataService,\r\n ConstructURLs('GET_TAB_SUMMARY_DATA')\r\n );\r\n console.log(\"Fetching Summary tab data is successfull\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.SUMMARY_TAB_DATA, \r\n payload: response.data\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"fetching summary tab data failed \" + error);\r\n \r\n }\r\n}\r\n\r\nfunction* fetchWeekData() {\r\n try {\r\n const response = yield call(\r\n getWeekTabDataService,\r\n ConstructURLs('GET_WEEK_TAB_DATA')\r\n );\r\n console.log(\"Fetching Week tab data is successfull\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.WEEK_TAB_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"fetching Week tab data failed \" + error); \r\n }\r\n}\r\n\r\nfunction* fetchDayData() {\r\n try {\r\n const response = yield call(\r\n getDayTabDataService,\r\n ConstructURLs('GET_WEEK_TAB_DATA')\r\n );\r\n console.log(\"Fetching Day tab data is successfull\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.DAY_TAB_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"fetching Day tab data failed \" + error); \r\n }\r\n}\r\n\r\nfunction* fetchAnnualData() {\r\n try {\r\n const response = yield call(\r\n getAnnualTabDataService,\r\n ConstructURLs('GET_WEEK_TAB_DATA')\r\n );\r\n console.log(\"Fetching Annual tab data is successfull\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ANNUAL_TAB_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"fetching Annual tab data failed \" + error); \r\n }\r\n}\r\n\r\nfunction* fetchHomeFeedData() {\r\n try {\r\n const response = yield call(\r\n getHomeFeedDataService,\r\n ConstructURLs('GET_HOME_FEED_DATA')\r\n );\r\n console.log(\"Fetching Annual tab data is successfull\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.HOME_FEED_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"fetching Annual tab data failed \" + error); \r\n }\r\n}\r\n\r\nfunction* actionWatcher() {\r\n yield takeEvery(actionTypes.GET_MONTH_TAB_DATA, fetchMonthData);\r\n yield takeEvery(actionTypes.GET_SUMMARY_TAB_DATA, fetchSummaryData);\r\n yield takeEvery(actionTypes.GET_WEEK_TAB_DATA, fetchWeekData);\r\n yield takeEvery(actionTypes.GET_DAY_TAB_DATA, fetchDayData);\r\n yield takeEvery(actionTypes.GET_ANNUAL_TAB_DATA, fetchAnnualData);\r\n yield takeEvery(actionTypes.GET_HOME_FEED_DATA, fetchHomeFeedData);\r\n}\r\n\r\nexport default function* tabSagas() {\r\n yield all([actionWatcher()]);\r\n}\r\n","import API from \"../api\";\r\nlet token = localStorage.getItem(\"token\");\r\nexport const getFinanceDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getFinanceDropdownService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getFinanceAccountService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport actionTypes from \"../constants/actionTypes\";\r\nimport reportConstructURLs from \"../constants/reportURL\";\r\nimport { getFinanceAccountService, getFinanceDataService, getFinanceDropdownService } from '../services/finance.service'\r\n\r\nfunction* fetchFinanceData({ financeID, filterID }) {\r\n try {\r\n const response = yield call(getFinanceDataService, reportConstructURLs('GET_FINANCE_DATA', financeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.FINANCE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Finance data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchDropdownData(action) {\r\n try {\r\n const response = yield call(getFinanceDropdownService, reportConstructURLs('GET_DROPDOWN_DATA'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.DROPDOWN_DATA,\r\n payload: response.data.filter,\r\n });\r\n }\r\n console.log(response.data)\r\n } catch (error) {\r\n console.log(\"Error while fetching Finance data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchAccountData({ financeID, filterID }) {\r\n try {\r\n const response = yield call(getFinanceAccountService, reportConstructURLs('GET_ACCOUNT_DATA', financeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ACCOUNT_DATA,\r\n payload: response.data.filter,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Finance data\", error);\r\n }\r\n}\r\n\r\n\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(actionTypes.GET_FINANCE_DATA, fetchFinanceData)\r\n yield takeEvery(actionTypes.GET_DROPDOWN_DATA, fetchDropdownData)\r\n yield takeEvery(actionTypes.GET_ACCOUNT_DATA, fetchAccountData)\r\n\r\n\r\n}\r\nexport default function* financeSagas() {\r\n yield all([watchGetRequest()]);\r\n}","import API from \"../api\";\r\n\r\nlet token = localStorage.getItem(\"token\");\r\nexport const getRegionalSiteDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getRegionalSiteCustIdDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getDTMAnalyticsDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\n\r\n\r\n","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport actionTypes from \"../constants/actionTypes\";\r\nimport RegionalSiteActionTypes from \"../constants/regional-site-actionTypes\";\r\nimport ConstructURLs from \"../constants/urls\";\r\nimport ConstructRegionalSiteURLs from \"../constants/regional-site-url\";\r\nimport { getRegionalSiteDataService, getRegionalSiteCustIdDataService, getDTMAnalyticsDataService } from \"../services/regionalSite.service\";\r\n\r\nfunction* fetchRegionalSiteData(action) {\r\n try {\r\n const response = yield call(getRegionalSiteDataService, ConstructURLs('GET_REGIONALSITE_DATA'));\r\n console.log(\"Fetching Regional Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.REGIONALSITE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Regional data\");\r\n }\r\n}\r\n\r\nfunction* fetchRegionalSiteCustIdData({ custID, dt }) {\r\n try {\r\n const response = yield call(getRegionalSiteCustIdDataService, ConstructRegionalSiteURLs('GET_REGIONALSITE_CUSTID_DATA', custID, dt));\r\n console.log(\"Fetching Regional Site Customer ID Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: RegionalSiteActionTypes.UPDATE_REGIONALSITE_CUSTID_DATA,\r\n payload: response.data.regions,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Regional Site Customer ID Data\");\r\n }\r\n}\r\n\r\nfunction* fetchRegionalSiteGlobalSummaryData({ custID, servID, regnID, dt }) {\r\n let Obj = {\r\n cust_id: custID,\r\n serv_id: servID,\r\n regn_id: regnID\r\n };\r\n try {\r\n const response = yield call(getRegionalSiteCustIdDataService, ConstructRegionalSiteURLs('GET_REGIONALSITE_GLOBAL_SUMMARY_DATA', Obj, dt));\r\n console.log(\"Fetching Regional Site Global Summary Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: RegionalSiteActionTypes.UPDATE_REGIONALSITE_GLOBAL_SUMMARY_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Regional Site Global Summary Data\");\r\n }\r\n}\r\n\r\nfunction* fetchDTMAnalyticsData({ data }) {\r\n // console.log(custID, servID, dt)\r\n // let obj = {\r\n // cust_id: custID,\r\n // serv_id: servID,\r\n // sla: sla,\r\n // view: view,\r\n // }\r\n console.log(data)\r\n try {\r\n const response = yield call(getDTMAnalyticsDataService, ConstructRegionalSiteURLs('GET_DTM_ANALYTICS', data));\r\n if (response.data) {\r\n yield put({\r\n type: RegionalSiteActionTypes.UPDATE_DTM_ANALYTICS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching DTM Analytics Data\");\r\n }\r\n}\r\n\r\nfunction* fetchDTMAnalyticsHalfHour({ data }) {\r\n // console.log(custID, servID, dt)\r\n // let obj = {\r\n // cust_id: custID,\r\n // serv_id: servID,\r\n // sla: sla,\r\n // view: view,\r\n // }\r\n console.log(data)\r\n try {\r\n const response = yield call(getDTMAnalyticsDataService, ConstructRegionalSiteURLs('GET_DTM_ANALYTICS_HALF_HOUR', data));\r\n if (response.data) {\r\n yield put({\r\n type: RegionalSiteActionTypes.UPDATE_DTM_ANALYTICS_HALF_HOUR,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching DTM Analytics Data\");\r\n }\r\n}\r\n\r\nfunction* fetchDTMAnalyticsMonth({ data }) {\r\n // console.log(custID, servID, dt)\r\n // let obj = {\r\n // cust_id: custID,\r\n // serv_id: servID,\r\n // sla: sla,\r\n // view: view,\r\n // }\r\n console.log(data)\r\n try {\r\n const response = yield call(getDTMAnalyticsDataService, ConstructRegionalSiteURLs('GET_DTM_ANALYTICS_MONTH', data));\r\n if (response.data) {\r\n yield put({\r\n type: RegionalSiteActionTypes.UPDATE_DTM_ANALYTICS_MONTH,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching DTM Analytics Data\");\r\n }\r\n}\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(actionTypes.GET_REGIONALSITE_DATA, fetchRegionalSiteData);\r\n yield takeEvery(RegionalSiteActionTypes.GET_REGIONALSITE_CUSTID_DATA, fetchRegionalSiteCustIdData);\r\n yield takeEvery(RegionalSiteActionTypes.GET_REGIONALSITE_GLOBAL_SUMMARY_DATA, fetchRegionalSiteGlobalSummaryData);\r\n yield takeEvery(RegionalSiteActionTypes.GET_DTM_ANALYTICS, fetchDTMAnalyticsData);\r\n yield takeEvery(RegionalSiteActionTypes.GET_DTM_ANALYTICS_HALF_HOUR, fetchDTMAnalyticsHalfHour);\r\n yield takeEvery(RegionalSiteActionTypes.GET_DTM_ANALYTICS_MONTH, fetchDTMAnalyticsMonth);\r\n\r\n\r\n}\r\n\r\nexport default function* regionalSiteSagas() {\r\n yield all([watchGetRequest()]);\r\n}\r\n","const EDashboardURLs = (name, dt, rgn, lctn) => {\r\n switch (name) {\r\n case 'GET_KPI_DATA': {\r\n return constructURL(\"/api/usp/EDashboardPart\", dt, rgn, lctn);\r\n };\r\n case 'GET_COMPLIANCE_DATA': {\r\n return constructURL(\"/api/usp/EDashboardStart\", dt, rgn, lctn);\r\n };\r\n case 'GET_CONTACT_VOLUME_DATA': {\r\n return constructURL(\"/api/usp/EDContactVolume\", dt, rgn, lctn);\r\n } \r\n case 'GET_CALLTYPE_DATA': {\r\n return hintConstructUrls(\"/api/usp/EDashboardCallType\", dt, rgn, lctn);\r\n } \r\n case 'GET_HRZNTLBARCHRT_DATA': {\r\n return constructURL(`/api/usp/EDCallsAccountLanguage`, dt, rgn, lctn);\r\n }\r\n case 'GET_PROFITLOSSANALYTICS_DATA': {\r\n return constructURL(`/api/usp/EDProfitLossAnalysis`, dt, rgn, lctn);\r\n }\r\n case 'GET_YEARMONTHREGION_DATA': {\r\n return `/api/usp/EDMasters`;\r\n }\r\n case 'GET_TOTALINCIDENT_CARDS_DATA': {\r\n return constructURL(`/api/usp/EDIncidents`, dt, null);\r\n }\r\n case 'GET_EDASHBRD_NOTFN_TEXT': {\r\n return `/api/usp/EDashboard_Notice`;\r\n }\r\n default: {}\r\n }\r\n }\r\n\r\n const constructURL = (url, dt, rgn, lctn) => {\r\n let temp_URL = url;\r\n if(dt && rgn && lctn)\r\n return `${url}?Month[]=${dt}®ION[]=${rgn}&locationgroup[]=${lctn}`;\r\n else{\r\n if(dt) temp_URL = `${url}?Month[]=${dt}`;\r\n if(temp_URL?.indexOf('?')>-1){\r\n if(rgn) temp_URL += `®ION[]=${rgn}`\r\n }else{\r\n if(rgn) temp_URL = `${url}?REGION[]=${rgn}`;\r\n }\r\n if(temp_URL?.indexOf('?')>-1){\r\n if(lctn) temp_URL += `&locationgroup[]=${lctn}`\r\n }else{\r\n if(lctn) temp_URL = `${url}?locationgroup[]=${lctn}`;\r\n }\r\n return temp_URL;\r\n } \r\n };\r\n \r\n export default EDashboardURLs;\r\n\r\n\r\n const hintConstructUrls=(url,dt, rgn)=>{\r\n if(dt && rgn)\r\n return `${url}?Month[]=${dt}®ION[]=${rgn}&hint=eDashboard`;\r\n else if(dt && !rgn)\r\n return `${url}?Month[]=${dt}&hint=eDashboard`;\r\n else if(!dt && rgn)\r\n return `${url}?REGION[]=${rgn}&hint=eDashboard`;\r\n else\r\n return `${url}?hint=eDashboard`;\r\n }\r\n// https://gsd-insight-dev.houston.dxccorp.net/api/usp/EDashboardStart\r\n// https://gsd-insight-dev.houston.dxccorp.net/api/usp/EDashboardPart\r\n//https://gsd-insight-dev.houston.dxccorp.net/api/usp/EDContactVolume","import API from \"../../api\";\r\nlet token = localStorage.getItem(\"token\");\r\nexport const getKPIDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getComplianceDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getContactVolumeDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n}\r\n\r\nexport const getCallTypeDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n}\r\n\r\nexport const getHrzntBarChrtDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getProfitLossAnalyticsDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n}\r\n\r\nexport const getYearMonthRegionDrpdwnDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n}\r\n\r\nexport const getTotalIncidentCardDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n}\r\n\r\nexport const getEDashBrdNotfnTextMsgDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n}","import { all, call, put, take, takeEvery } from \"redux-saga/effects\";\r\nimport EDashboardActionTypes from \"../../constants/eDashboard-actionTypes\";\r\nimport EDashboardURLs from \"../../constants/eDashboard-urls\";\r\nimport { getKPIDataService, getComplianceDataService, getContactVolumeDataService, getCallTypeDataService, getHrzntBarChrtDataService,\r\ngetProfitLossAnalyticsDataService, getYearMonthRegionDrpdwnDataService, getTotalIncidentCardDataService, getEDashBrdNotfnTextMsgDataService } from \"../../services/EDashboard/eDashboard.service\";\r\n\r\nfunction* fetchKPIDetails({dt, region, location}) {\r\n try {\r\n const response = yield call(getKPIDataService, EDashboardURLs('GET_KPI_DATA', dt, region, location));\r\n console.log(\"Fetching EDAshboard KPI Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: EDashboardActionTypes.UPDATE_KPI_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching E Dashboard KPI Data\");\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchComplianceDetails({dt, region, location}) {\r\n try {\r\n const response = yield call(getComplianceDataService, EDashboardURLs('GET_COMPLIANCE_DATA', dt, region, location));\r\n console.log(\"Fetching EDAshboard Compliance Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: EDashboardActionTypes.UPDATE_COMPLIANCE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching E Dashboard Compliance Data\");\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchContactVolumeDetails({dt, region, location}) {\r\n try {\r\n const response = yield call(getContactVolumeDataService, EDashboardURLs('GET_CONTACT_VOLUME_DATA', dt, region, location));\r\n console.log(\"Fetching EDAshboard CONTACT_VOLUME Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: EDashboardActionTypes.UPDATE_CONTACT_VOLUME_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching E Dashboard CONTACT_VOLUME Data\");\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchCallTypeDetails({dt, region, location}) {\r\n try {\r\n const response = yield call(getCallTypeDataService, EDashboardURLs('GET_CALLTYPE_DATA', dt, region, location));\r\n console.log(\"Fetching EDAshboard CALL TYPE Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: EDashboardActionTypes.UPDATE_CALLTYPE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching E Dashboard CALL TYPE Data\");\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchHorizontalBarChrtDetails({dt, region, location}) {\r\n try {\r\n const response = yield call(getHrzntBarChrtDataService, EDashboardURLs('GET_HRZNTLBARCHRT_DATA', dt, region, location));\r\n console.log(\"Fetching EDAshboard HRZNTLBARCHRT Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: EDashboardActionTypes.UPDATE_HORIZONTAL_BAR_CHART_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching E Dashboard CALL TYPE Data\");\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchProfitLossAnalyticDetails({dt, region, location}) {\r\n try {\r\n const response = yield call(getProfitLossAnalyticsDataService, EDashboardURLs('GET_PROFITLOSSANALYTICS_DATA', dt, region, location));\r\n console.log(\"Fetching EDAshboard ProfitLoss Analytics Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: EDashboardActionTypes.UPDATE_PROFIT_LOSS_ANALYTICS_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching E Dashboard ProfitLoss Analytics Data\");\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchYearMonthRegionDropdownDetails(action){\r\n try {\r\n const response = yield call(getYearMonthRegionDrpdwnDataService, EDashboardURLs('GET_YEARMONTHREGION_DATA'));\r\n console.log(\"Fetching EDAshboard Year Month Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: EDashboardActionTypes.UPDATE_YEARMONTH_REGION_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching E Dashboard Year Month Data\");\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchTotalIncidentCardsDetails({dt}){\r\n try {\r\n const response = yield call(getTotalIncidentCardDataService, EDashboardURLs('GET_TOTALINCIDENT_CARDS_DATA', dt, null));\r\n console.log(\"Fetching EDAshboard GET_TOTALINCIDENT_CARDS_DATA API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: EDashboardActionTypes.UPDATE_INCIDENTS_CARDS_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching E Dashboard GET_TOTALINCIDENT_CARDS_DATA\");\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchEDashbBrdNotfnMsg(){\r\n try {\r\n const response = yield call(getEDashBrdNotfnTextMsgDataService, EDashboardURLs('GET_EDASHBRD_NOTFN_TEXT'));\r\n console.log(\"Fetching EDAshboard Notification Text Message API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: EDashboardActionTypes.UPDATE_EDASHBOARD_NOTIFICATION_TEXT,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching EDAshboard Notification Text Message\");\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(EDashboardActionTypes.GET_KPI_DATA, fetchKPIDetails); \r\n yield takeEvery(EDashboardActionTypes.GET_COMPLIANCE_DATA, fetchComplianceDetails);\r\n yield takeEvery(EDashboardActionTypes.GET_CONTACT_VOLUME_DATA, fetchContactVolumeDetails); \r\n yield takeEvery(EDashboardActionTypes.GET_CALLTYPE_DATA, fetchCallTypeDetails);\r\n yield takeEvery(EDashboardActionTypes.GET_HORIZONTAL_BAR_CHART_DATA, fetchHorizontalBarChrtDetails);\r\n yield takeEvery(EDashboardActionTypes.GET_PROFIT_LOSS_ANALYTICS_DATA, fetchProfitLossAnalyticDetails);\r\n yield takeEvery(EDashboardActionTypes.GET_YEARMONTH_REGION_DATA, fetchYearMonthRegionDropdownDetails);\r\n yield takeEvery(EDashboardActionTypes.GET_INCIDENTS_CARDS_DATA, fetchTotalIncidentCardsDetails);\r\n yield takeEvery(EDashboardActionTypes.GET_EDASHBOARD_NOTIFICATION_TEXT, fetchEDashbBrdNotfnMsg);\r\n}\r\n\r\nexport default function* eDashboardSagas() {\r\n yield all([watchGetRequest()]);\r\n}\r\n","import API from \"../api\";\r\nlet token = localStorage.getItem(\"token\");\r\nexport const getContactAccountsService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getDropdownInfoServive = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAverageHandleTimeService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAbandonTimeService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getDigitalTransService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getCostPerContactService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getContactFTEService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getPenaltyAtRiskService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getFirstContactResolutionService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getAttritionDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getSLAconplainceService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getCSATdataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getDeliverySupportService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\n\r\nexport const getContactVolumeDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport actionTypes from \"../constants/actionTypes\";\r\nimport reportConstructURLs from \"../constants/reportURL\";\r\nimport { getAbandonTimeService, getAttritionDataService, getAverageHandleTimeService, getContactAccountsService, getContactFTEService, getContactVolumeDataService, getCostPerContactService, getCSATdataService, getDeliverySupportService, getDigitalTransService, getDropdownInfoServive, getFirstContactResolutionService, getPenaltyAtRiskService, getSLAconplainceService } from \"../services/reports.service\";\r\n\r\n\r\n\r\n\r\nfunction* fetchAccountInfo({ ContactVolumeID, filterID }) {\r\n try {\r\n const response = yield call(getContactAccountsService, reportConstructURLs('GET_ACCOUNT_INFO', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ACCOUNT_INFO,\r\n payload: response.data.filter,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching DropDown Info data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchDropdownInfo(action) {\r\n try {\r\n const response = yield call(getDropdownInfoServive, reportConstructURLs('GET_DROPDOWN_INFO'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.DROPDOWN_INFO,\r\n payload: response.data.filter,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching DropDown Info data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchAverageHandleTime({ ContactVolumeID, filterID }) {\r\n try {\r\n const response = yield call(getAverageHandleTimeService, reportConstructURLs('GET_AVERAGE_HANDLE_TIME', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.AVERAGE_HANDLE_TIME,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Contact Region data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchAbandonRate({ ContactVolumeID, filterID }) {\r\n try {\r\n const response = yield call(getAbandonTimeService, reportConstructURLs('GET_ABANDON_RATE', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ABANDON_RATE,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Contact Region data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchDigitalTrans({ ContactVolumeID, filterID }) {\r\n try {\r\n const response = yield call(getDigitalTransService, reportConstructURLs('GET_DIGITAL_TRANS', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.DIGITAL_TRANS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Contact Region data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchCostPerContact({ ContactVolumeID, filterID }) {\r\n try {\r\n const response = yield call(getCostPerContactService, reportConstructURLs('GET_COST_PER_CONTACT', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.COST_PER_CONTACT,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Contact Region data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchContactFTEData({ ContactVolumeID, filterID }) {\r\n try {\r\n const response = yield call(getContactFTEService, reportConstructURLs('GET_CONTACT_FTE_DATA', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.CONTACT_FTE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching FTE Region data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchPenaltyAtRisk({ ContactVolumeID, filterID }) {\r\n try {\r\n const response = yield call(getPenaltyAtRiskService, reportConstructURLs('GET_PENALTY_AT_RISK', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.PENALTY_AT_RISK,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Contact Region data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchFirstContactResolution({ ContactVolumeID, filterID }) {\r\n try {\r\n const response = yield call(getFirstContactResolutionService, reportConstructURLs('GET_FIRST_CONTACT_RESOLUTION', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.FIRST_CONTACT_RESOLUTION,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Contact Region data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchAttritionData({ ContactVolumeID, filterID }) {\r\n try {\r\n const response = yield call(getAttritionDataService, reportConstructURLs('GET_ATTRITION_DATA', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ATTRITION_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Contact Region data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchSLAcompliance({ ContactVolumeID, filterID }) {\r\n try {\r\n const response = yield call(getSLAconplainceService, reportConstructURLs('GET_SLA_COMPLIANCE', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.SLA_COMPLIANCE,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Contact Region data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchCSATdata({ ContactVolumeID, filterID }) {\r\n try {\r\n const response = yield call(getCSATdataService, reportConstructURLs('GET_CSAT_DATA', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.CSAT_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Contact Region data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchDeliverySupport(ContactVolumeID, filterID) {\r\n try {\r\n const response = yield call(getDeliverySupportService, reportConstructURLs('GET_DELIVERY_SUPPORT', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.DELIVERY_SUPPORT,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Contact Region data\", error);\r\n }\r\n}\r\n\r\n\r\n\r\nfunction* fetchContactVolumeInfo({ ContactVolumeID, filterID }) {\r\n try {\r\n const response = yield call(getContactVolumeDataService, reportConstructURLs('GET_CONTACT_VOLUME_DATA', ContactVolumeID, filterID));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.CONTACT_VOLUME_INFO,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Contact Volume data\", error);\r\n }\r\n}\r\n\r\nfunction* watchGetRequest() {\r\n // yield takeEvery(actionTypes.GET_CONTACT_REGIONS, fetchContactRegions)\r\n // yield takeEvery(actionTypes.GET_CONTACT_ACCOUNTS, fetchContactAccounts)\r\n yield takeEvery(actionTypes.GET_DROPDOWN_INFO, fetchDropdownInfo);\r\n yield takeEvery(actionTypes.GET_ACCOUNT_INFO, fetchAccountInfo);\r\n\r\n\r\n yield takeEvery(actionTypes.GET_AVERAGE_HANDLE_TIME, fetchAverageHandleTime);\r\n yield takeEvery(actionTypes.GET_ABANDON_RATE, fetchAbandonRate);\r\n yield takeEvery(actionTypes.GET_DIGITAL_TRANS, fetchDigitalTrans);\r\n yield takeEvery(actionTypes.GET_COST_PER_CONTACT, fetchCostPerContact);\r\n yield takeEvery(actionTypes.GET_CONTACT_FTE_DATA, fetchContactFTEData);\r\n yield takeEvery(actionTypes.GET_PENALTY_AT_RISK, fetchPenaltyAtRisk);\r\n yield takeEvery(actionTypes.GET_FIRST_CONTACT_RESOLUTION, fetchFirstContactResolution);\r\n yield takeEvery(actionTypes.GET_ATTRITION_DATA, fetchAttritionData);\r\n yield takeEvery(actionTypes.GET_SLA_COMPLIANCE, fetchSLAcompliance);\r\n yield takeEvery(actionTypes.GET_CSAT_DATA, fetchCSATdata);\r\n yield takeEvery(actionTypes.GET_DELIVERY_SUPPORT, fetchDeliverySupport);\r\n yield takeEvery(actionTypes.GET_CONTACT_VOLUME_INFO, fetchContactVolumeInfo);\r\n}\r\nexport default function* reportsSagas() {\r\n yield all([watchGetRequest()]);\r\n}","\r\nconst getRoleId = () => {\r\n return localStorage.getItem('Role_id');\r\n}\r\nconst getRoleName = () => {\r\n return localStorage.getItem('RoleSelected');\r\n}\r\n\r\nconsole.log('getRoleName',getRoleName())\r\n\r\nfunction formatDate(date) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [year, month, day].join('-');\r\n}\r\nconsole.log('formatDate',formatDate(new Date()))\r\n\r\nconst welcomePageURLs = (name, ID) => {\r\n switch (name) {\r\n case 'GET_ROLES_TITLE': {\r\n return '/api/users/me/roles?wide=true'\r\n }\r\n case 'GET_WIDGET_INFO': {\r\n return '/api/users/me/widgets?wide=true'\r\n }\r\n\r\n case 'UPDATE_WIDGET_INFO': {\r\n return '/api/users/me/widgets'\r\n }\r\n\r\n case 'GET_RECENT_LINKS': {\r\n return '/api/users/me/recentqueries?wide=true'\r\n }\r\n\r\n case 'UPDATE_WIDGET_PREFERENCE_SHOWN': {\r\n return '/api/users/me/preferences'\r\n }\r\n case 'GET_WIDGET_PREFERENCE': {\r\n return '/api/users/me/preferences'\r\n }\r\n case 'GET_CAROUSEL_TITLE': {\r\n return '/api/feed/1?topn=5'\r\n }\r\n\r\n case 'GET_MULTI_ACCOUNTS_WIDGETS': {\r\n return `/api/users/me/widgets?roleid=${getRoleId()}`\r\n }\r\n\r\n case 'GET_MULTI_WIDGET_INFO': {\r\n return `/api/users/me/widgets?roleid=${getRoleId()}`\r\n }\r\n case 'UPDATE_MULTI_WIDGET': {\r\n return `/api/users/me/widgets?Roleid=${getRoleId()}`\r\n }\r\n\r\n case 'GET_ACCOUNT_SUMMARY': {\r\n return `/api/metrics/legacydtm/${ID.custID}/${ID.servID}/0?month=${formatDate(new Date())}&tabname=Summary`\r\n }\r\n case 'GET_ACCOUNT_DROPDOWN': {\r\n return `/api/users/me/widgets?roleid=${getRoleId()}&showsd=true`\r\n }\r\n case 'GET_STORED_ACCOUNT': {\r\n return `/api/users/me/preferences?roleid=${getRoleId()}`\r\n }\r\n case 'UPDATE_STORED_ACCOUNT': {\r\n return `/api/users/me/preferences?roleid=${getRoleId()}`\r\n }\r\n case 'GET_TASK_LINKS': {\r\n return `/api/usp/GetExpiredTasks?Role=${getRoleName()}`\r\n }\r\n default: { }\r\n }\r\n}\r\n\r\nexport default welcomePageURLs;\r\n","import API from \"../api\";\r\nlet token = localStorage.getItem(\"token\");\r\nexport const getRoleSTitleService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getWidgetInfoService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\n\r\n\r\nexport const updateWidgetInfoService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\nexport const getRecentLinksService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const updateWidgetPreferenceShownService = (requestUrl, data) => {\r\n console.log(data);\r\n return API.post(requestUrl,\r\n {\r\n \"WidgetSelectorShown\": data\r\n }\r\n , {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getWidgetPreferenceService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getcarouselTitleService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getMultiAccountWidgetService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getMultiWidgetInfoService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const setMultiWidgetInfoService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\n\r\n\r\nexport const getAccountSummaryService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAccountDropdownService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getLatestUpdatesService = (requestUrl) => {\r\n return API.get(`/api/feed`, {\r\n\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const createLatestUpdatesService = (channel, data) => {\r\n return API.post(`/api/feed/${channel}/`,data, {\r\n\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const updateLatestUpdatesService = (channel, serial, data) => {\r\n return API.put(`/api/feed/${channel}/${serial}/`,data, {\r\n\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const deleteLatestUpdatesService = ( channel, serial) => {\r\n return API.delete(`/api/feed/${channel}/${serial}/`, {\r\n\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getStoredAccountService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateStoredAccountService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getTaskLinksService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport { welcomePage_actionTypes as actionTypes } from \"../constants/welcomePage-actionTypes\";\r\nimport welcomePageURLs from \"../constants/welcomePage-urls\";\r\n\r\nimport { getRoleSTitleService, getWidgetInfoService, updateWidgetInfoService, getRecentLinksService, updateWidgetPreferenceShownService, getWidgetPreferenceService, getMultiAccountWidgetService, setMultiWidgetInfoService, getMultiWidgetInfoService, getAccountSummaryService, getLatestUpdatesService, createLatestUpdatesService, updateLatestUpdatesService, deleteLatestUpdatesService, getAccountDropdownService, getStoredAccountService, updateStoredAccountService } from \"../services/welcomePage.service\";\r\nimport { createLatestReleasesSuccess, deleteLatestReleasesSuccess, getLatestReleasesSuccess, updateMultiWidgetSuccess, updateStoredAccountSuccess, updateWidgetInfoSuccess, WidgetPreferenceShown } from \"../actions/welcomePage.action\";\r\n\r\n\r\n\r\n\r\nfunction* fetchRolesTitleData(action) {\r\n try {\r\n const response = yield call(getRoleSTitleService, welcomePageURLs('GET_ROLES_TITLE'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ROLES_TITLE,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Roles Title data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchWidgetInfo(action) {\r\n try {\r\n const response = yield call(getWidgetInfoService, welcomePageURLs('GET_WIDGET_INFO'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.WIDGET_INFO,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchRecentLinks(action) {\r\n try {\r\n const response = yield call(getRecentLinksService, welcomePageURLs('GET_RECENT_LINKS'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.RECENT_LINKS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching recentlinks data\", error);\r\n }\r\n}\r\n\r\n\r\n\r\nfunction* updateSelectedWidgetInfo({ payload: id }) {\r\n try {\r\n const response = yield call(updateWidgetInfoService, welcomePageURLs('UPDATE_WIDGET_INFO'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateWidgetInfoSuccess()\r\n\r\n );\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchWidgetPreference() {\r\n try {\r\n const response = yield call(getWidgetPreferenceService, welcomePageURLs('GET_WIDGET_PREFERENCE'));\r\n if (response.data) {\r\n yield put(\r\n {\r\n type: actionTypes.WIDGET_PREFERENCE,\r\n payload: response.data,\r\n }\r\n );\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchWidgetPreferenceShown({ payload: data }) {\r\n try {\r\n const response = yield call(updateWidgetPreferenceShownService, welcomePageURLs('UPDATE_WIDGET_PREFERENCE_SHOWN'), data);\r\n if (response.data) {\r\n yield put(\r\n \r\n WidgetPreferenceShown(),\r\n );\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Widget data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchCarouselTitle(action) {\r\n try {\r\n const response = yield call(getRecentLinksService, welcomePageURLs('GET_CAROUSEL_TITLE'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.CAROUSEL_TITLE,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching carousal title\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchMultiAccountWidgets(action) {\r\n try {\r\n const response = yield call(getMultiAccountWidgetService, welcomePageURLs('GET_MULTI_ACCOUNTS_WIDGETS'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.MULTI_ACCOUNTS_WIDGETS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Multi Account\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchMultiWidgetsInfo(action) {\r\n try {\r\n const response = yield call(getMultiWidgetInfoService, welcomePageURLs('GET_MULTI_WIDGET_INFO'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.MULTI_WIDGET_INFO,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* updateMultiWidgetInfo({ payload: id }) {\r\n try {\r\n const response = yield call(setMultiWidgetInfoService, welcomePageURLs('UPDATE_MULTI_WIDGET'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateMultiWidgetSuccess()\r\n\r\n );\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchAccountSummaryInfo({ custID,servID }) {\r\n let items = {\r\n custID: custID, servID: servID\r\n }\r\n try {\r\n const response = yield call(getAccountSummaryService, welcomePageURLs('GET_ACCOUNT_SUMMARY', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ACCOUNT_SUMMARY,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Account Summary\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchLatestUpdatesInfo(action) {\r\n try {\r\n const response = yield call(getLatestUpdatesService);\r\n if (response.status === 200) {\r\n yield put(getLatestReleasesSuccess(response.data));\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Account Summary\", error);\r\n }\r\n}\r\nfunction* createLatestUpdatesInfo({ payload: { channel, data } }) {\r\n try {\r\n const response = yield call(createLatestUpdatesService, channel, data);\r\n if (response.data) {\r\n yield put(createLatestReleasesSuccess());\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Account Summary\", error);\r\n }\r\n}\r\n\r\nfunction* updateLatestUpdatesInfo({ payload: { channel, serial, data } }) {\r\n try {\r\n const response = yield call(updateLatestUpdatesService, channel, serial, data);\r\n if (response.data) {\r\n yield put(updateWidgetInfoSuccess());\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Account Summary\", error);\r\n }\r\n}\r\n\r\nfunction* deleteLatestUpdatesInfo({ payload: { channel, serial } }) {\r\n try {\r\n const response = yield call(deleteLatestUpdatesService, channel, serial);\r\n if (response.data) {\r\n yield put(deleteLatestReleasesSuccess());\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Account Summary\", error);\r\n }\r\n}\r\n\r\nfunction* fetchRolesTabRolesData() {\r\n try {\r\n const response = yield call(getAccountDropdownService, welcomePageURLs('GET_ACCOUNT_DROPDOWN'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ACCOUNT_DROPDOWN,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Account Dropdown data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchStoredAccount(action) {\r\n try {\r\n const response = yield call(getStoredAccountService, welcomePageURLs('GET_STORED_ACCOUNT'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.STORED_ACCOUNT,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Stored Account data\", error);\r\n }\r\n}\r\n\r\nfunction* updateStoredAccount({ payload: id }) {\r\n try {\r\n const response = yield call(updateStoredAccountService, welcomePageURLs('UPDATE_STORED_ACCOUNT'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateStoredAccountSuccess()\r\n\r\n );\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating STORED ACCOUNT data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchTaskLinks(action) {\r\n try {\r\n const response = yield call(getStoredAccountService, welcomePageURLs('GET_TASK_LINKS'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.TASK_LINKS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Task Links data\", error);\r\n }\r\n}\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(actionTypes.GET_ROLES_TITLE, fetchRolesTitleData);\r\n yield takeEvery(actionTypes.GET_WIDGET_INFO, fetchWidgetInfo);\r\n yield takeEvery(actionTypes.UPDATE_WIDGET_INFO_START, updateSelectedWidgetInfo);\r\n yield takeEvery(actionTypes.GET_RECENT_LINKS, fetchRecentLinks);\r\n yield takeEvery(actionTypes.UPDATE_WIDGET_PREFERENCE_SHOWN, fetchWidgetPreferenceShown);\r\n yield takeEvery(actionTypes.GET_WIDGET_PREFERENCE, fetchWidgetPreference);\r\n yield takeEvery(actionTypes.GET_CAROUSEL_TITLE, fetchCarouselTitle)\r\n yield takeEvery(actionTypes.GET_MULTI_ACCOUNTS_WIDGETS, fetchMultiAccountWidgets);\r\n yield takeEvery(actionTypes.GET_MULTI_WIDGET_INFO, fetchMultiWidgetsInfo);\r\n yield takeEvery(actionTypes.UPDATE_MULTI_WIDGET_START, updateMultiWidgetInfo);\r\n yield takeEvery(actionTypes.GET_ACCOUNT_SUMMARY, fetchAccountSummaryInfo);\r\n yield takeEvery(actionTypes.GET_LATEST_RELEASES_START, fetchLatestUpdatesInfo);\r\n yield takeEvery(actionTypes.CREATE_LATEST_RELEASES_START, createLatestUpdatesInfo);\r\n yield takeEvery(actionTypes.UPDATE_LATEST_RELEASES_START, updateLatestUpdatesInfo);\r\n yield takeEvery(actionTypes.DELETE_LATEST_RELEASES_START, deleteLatestUpdatesInfo);\r\n yield takeEvery(actionTypes.GET_ACCOUNT_DROPDOWN, fetchRolesTabRolesData);\r\n yield takeEvery(actionTypes.GET_STORED_ACCOUNT, fetchStoredAccount);\r\n yield takeEvery(actionTypes.UPDATE_STORED_ACCOUNT_START,updateStoredAccount );\r\n yield takeEvery(actionTypes.GET_TASK_LINKS, fetchTaskLinks);\r\n\r\n\r\n}\r\nexport default function* welcomePageSagas() {\r\n yield all([watchGetRequest()]);\r\n}","\r\nconst getUserKeyword = (keyword) => {\r\n console.log(keyword)\r\n if (keyword === null || keyword === undefined) {\r\n return '/api/users'\r\n }\r\n else {\r\n return `/api/users/?keyword=${keyword}&$top=100`\r\n }\r\n}\r\n\r\nconst getRoleId = () => {\r\n return localStorage.getItem('Role_id');\r\n}\r\n\r\n\r\nexport const onboardURLS = (name, items) => {\r\n switch (name) {\r\n case 'GET_ACCOUNT_SITE': {\r\n return '/api/usp/OBAccountSite'\r\n }\r\n case 'GET_GENERAL_INFO_SITE': {\r\n return '/api/usp/OBGetSites'\r\n }\r\n\r\n case 'GET_ROLES_TAB_ROLES': {\r\n return '/api/usp/OBGetRoles'\r\n }\r\n case 'GET_ROLES_TAB_USERS': {\r\n return getUserKeyword(items.query);\r\n }\r\n case 'GET_ROLES_TAB_DATA': {\r\n return `/api/usp/OBGetRolesByAccount?customer=${items.account}&servicedesk=${items.site}`;\r\n }\r\n case 'UPDATE_ROLES_DATA': {\r\n return `/api/usp/OnBoardAccount`\r\n }\r\n case 'UPDATE_QUEUE_TABLE': {\r\n return `/api/usp/OnBoardQueues`\r\n }\r\n case 'GET_QUEUE_LANGUAGES': {\r\n return '/api/usp/OBGetLanguage '\r\n }\r\n case 'GET_ORIGINATING_COUNTRIES': {\r\n return '/api/usp/OBGetCountry'\r\n }\r\n case 'GET_QUEUE_TABLE_DATA': {\r\n return `/api/usp/OBGetQueuesByAccount?customer=${items.account}&servicedesk=${items.site}`;\r\n }\r\n case 'GET_SLA_TEMPLATES': {\r\n return `/api/usp/OBGetSLATemplate?Customer=${items.account}&VoiceNonVoice=${items.tab}`;\r\n }\r\n\r\n case 'UPDATE_SLA_TABLE': {\r\n return `/api/usp/OnBoardSLAKPIAccount`;\r\n }\r\n\r\n case 'GET_SLA_KPT_DATA': {\r\n return `/api/usp/OBGetSLAKPIByAccount?customer=${items.account}&servicedesk=${items.site}&VoiceNonVoice=voice&NonVoiceItem=AWS%20(ASD)%20Telephony`\r\n }\r\n case 'UPDATE_NEW_TEMPLATE': {\r\n return `/api/usp/OnBoardSLATemplate`\r\n }\r\n case 'UPDATE_SUPPORT_HOURS': {\r\n return `/api/usp/OnBoardSupportHours`\r\n }\r\n case 'GET_SUPPORT_HOURS_VOICE': {\r\n return `/api/usp/OBGetSupportHoursByaccount?customer=${items.account}&servicedesk=${items.site}&VoiceNonVoice=voice&NonVoiceItem=AWS%20(ASD)%20Telephony`;\r\n }\r\n case 'GET_NON_VOICE_SLA_DATA': {\r\n return `/api/usp/OBGetSLAKPIByAccount?customer=${items.account}&servicedesk=${items.site}&VoiceNonVoice=non-voice&NonVoiceItem=${items.widget}`;\r\n }\r\n case 'GET_NON_VOICE_SUPPORT_HOURS': {\r\n return `/api/usp/OBGetSupportHoursByaccount?customer=${items.account}&servicedesk=${items.site}&VoiceNonVoice=non-voice&NonVoiceItem=${items.widget}`;\r\n }\r\n case \"UPDATE_GENERAL_NON_VOICE\": {\r\n return `/api/usp/OnBoardNonVoiceGeneral`;\r\n }\r\n case 'GET_GENERAL_NON_VOICE': {\r\n return `/api/usp/OBGetNonVoiceGeneral?customer=${items.account}&Servicedesk=${items.site}&NonVoiceItem=${items.widget}`\r\n }\r\n case 'GET_PREVIEW_ONBOARD': {\r\n return `/api/usp/OBPreview?Customer=${items.account}&Servicedesk=${items.site}`;\r\n }\r\n\r\n case 'GET_ONBOARD_ACCOUNTS': {\r\n return `/api/usp/OBGetOnBoardAccounts?&hint=onboard`;\r\n }\r\n\r\n case 'UPDATE_ONBOARD_TOGGLE': {\r\n return `/api/usp/OnBoardCompleteAccount`;\r\n }\r\n\r\n case 'UPDATE_ONBOARD_SUBMIT': {\r\n return `/api/usp/OnBoardAccountSubmit`;\r\n }\r\n case 'GET_ONBOARD_VALID_USER': {\r\n return `/api/usp/OBCheckAccountbyServicedesk?Customer=${items.account}&Servicedesk=${items.site}`;\r\n }\r\n case 'UPDATE_REOPEN_REQUEST': {\r\n return `/api/usp/OnBoardAccountReOpen`;\r\n }\r\n case 'UPDATE_DELETE_ACCOUNT': {\r\n return `/api/usp/OnBoardDeleteAccount`;\r\n }\r\n default: { }\r\n }\r\n\r\n} ","import API from \"../api\";\r\nlet token = localStorage.getItem(\"token\");\r\nexport const getAccountSiteService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\n\r\nexport const getGeneralInfoSiteService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\n\r\nexport const getRolesTabRolesService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const getRolesTabUsersService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\n\r\nexport const updateRolesTabDataService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getQueueTabLanguagesService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getOriginatingCountryService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateQueueTableService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getQueueTableDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getSLATemplateDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const updateSLATableService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateNewTemplateService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateSupportHoursService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getSLAKPIDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getRoleTabDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getSupportHoursVoiceService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getNonVoiceSLADataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\nexport const getNonVoiceSupportHoursService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getGeneralNonVoiceService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const updateGeneralNonVoiceService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getPreviewOnboardService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getOnboardAccountsService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const updateOnboardToggleService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\nexport const updateOnboardSubmitService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl,id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getOnboardValidUserService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateReOpenRequestService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateDeleteAccountService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport { updateDeleteAccountSuccess, updateGeneralNonvoiceSuccess, updateNewTemplateSuccess, updateOnboardSubmitSuccess, updateOnboardToggleSuccess, updateQueueTableSuccess, updateReOpenRequestSuccess, updateRoleDataSuccess, updateSLADataSuccess, updateSupportHoursStart, updateSupportHoursSuccess } from \"../actions/Onboard.action\";\r\nimport { onboardURLS } from \"../constants/onboard-urls\";\r\nimport { onboard_actionTypes as actionTypes } from \"../constants/Onboard-actionTypes\";\r\nimport { getAccountSiteService, getOriginatingCountryService, getGeneralInfoSiteService, getRolesTabRolesService, getRolesTabUsersService, getSLATemplateDataService, updateNewTemplateService, updateRolesTabDataService, updateSLATableService, getSLAKPIDataService, getQueueTabLanguagesService, updateQueueTableService, updateSupportHoursService, getSupportHoursVoiceService, getNonVoiceSLADataService, getNonVoiceSupportHoursService, getGeneralNonVoiceService, updateGeneralNonVoiceService, getPreviewOnboardService, getOnboardAccountsService, updateOnboardToggleService, updateOnboardSubmitService, getOnboardValidUserService, updateReOpenRequestService } from \"../services/Onboard.service\";\r\nimport { getQueueTableDataService, getRoleTabDataService, updateDeleteAccountService } from './../services/Onboard.service';\r\n\r\n\r\nfunction* fetchAccountSiteData(action) {\r\n try {\r\n const response = yield call(getAccountSiteService, onboardURLS('GET_ACCOUNT_SITE'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ACCOUNT_SITE,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Roles Title data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchGeneralInfoSiteData(action) {\r\n try {\r\n const response = yield call(getGeneralInfoSiteService, onboardURLS('GET_GENERAL_INFO_SITE'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.GENERAL_INFO_SITE,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Roles Title data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchRolesTabRolesData() {\r\n try {\r\n const response = yield call(getRolesTabRolesService, onboardURLS('GET_ROLES_TAB_ROLES'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ROLES_TAB_ROLES,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Roles Title data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchRolesTabUsersData({ query }) {\r\n let items = {\r\n query: query\r\n }\r\n try {\r\n const response = yield call(getRolesTabUsersService, onboardURLS('GET_ROLES_TAB_USERS', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ROLES_TAB_USERS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Roles Title data\", error);\r\n }\r\n}\r\n\r\nfunction* updateRolesTabData({ payload: id }) {\r\n try {\r\n const response = yield call(updateRolesTabDataService, onboardURLS('UPDATE_ROLES_DATA'), id);\r\n if (response.data) {\r\n yield put(\r\n updateRoleDataSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* updateQueueTable({ payload: id }) {\r\n try {\r\n const response = yield call(updateQueueTableService, onboardURLS('UPDATE_QUEUE_TABLE'), id);\r\n if (response.data) {\r\n yield put(\r\n updateQueueTableSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchQueueTabLanguages(action) {\r\n try {\r\n const response = yield call(getQueueTabLanguagesService, onboardURLS('GET_QUEUE_LANGUAGES'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.QUEUE_LANGUAGES,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Queue Title data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchOriginatingCountry(action) {\r\n try {\r\n const response = yield call(getOriginatingCountryService, onboardURLS('GET_ORIGINATING_COUNTRIES'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ORIGINATING_COUNTRIES,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Queue Title data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchQueueTableData({ account, site }) {\r\n let items = {\r\n account: account, site: site\r\n }\r\n try {\r\n const response = yield call(getQueueTableDataService, onboardURLS('GET_QUEUE_TABLE_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.QUEUE_TABLE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchSLATemplateData({ account, tab }) {\r\n let items = {\r\n account: account,\r\n tab: tab\r\n }\r\n try {\r\n const response = yield call(getSLATemplateDataService, onboardURLS('GET_SLA_TEMPLATES', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.SLA_TEMPLATES,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchSLAKPIData({ account, site }) {\r\n let items = {\r\n account: account,\r\n site: site\r\n }\r\n try {\r\n const response = yield call(getSLAKPIDataService, onboardURLS('GET_SLA_KPT_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.SLA_KPI_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateSLATableData({ payload: id }) {\r\n try {\r\n const response = yield call(updateSLATableService, onboardURLS('UPDATE_SLA_TABLE'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateSLADataSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateNewTemplateData({ payload: id }) {\r\n try {\r\n const response = yield call(updateNewTemplateService, onboardURLS('UPDATE_NEW_TEMPLATE'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateNewTemplateSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchRoleTabData({ account, site }) {\r\n let items = {\r\n account: account,\r\n site: site\r\n }\r\n try {\r\n const response = yield call(getRoleTabDataService, onboardURLS('GET_ROLES_TAB_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ROLES_TAB_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateSupportHoursData({ payload: id }) {\r\n try {\r\n const response = yield call(updateSupportHoursService, onboardURLS('UPDATE_SUPPORT_HOURS'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateSupportHoursSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchSupportHoursVoiceData({ account, site }) {\r\n let items = {\r\n account: account,\r\n site: site\r\n }\r\n try {\r\n const response = yield call(getSupportHoursVoiceService, onboardURLS('GET_SUPPORT_HOURS_VOICE', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.SUPPORT_HOURS_VOICE,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchNonVoiceSLAData({ account, site, widget }) {\r\n let items = {\r\n account: account,\r\n site: site,\r\n widget: widget\r\n }\r\n try {\r\n const response = yield call(getNonVoiceSLADataService, onboardURLS('GET_NON_VOICE_SLA_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.NON_VOICE_SLA_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchNonVoiceSHData({ account, site, widget }) {\r\n let items = {\r\n account: account,\r\n site: site,\r\n widget: widget\r\n }\r\n try {\r\n const response = yield call(getNonVoiceSupportHoursService, onboardURLS('GET_NON_VOICE_SUPPORT_HOURS', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.NON_VOICE_SUPPORT_HOURS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchGeneralNonvoiceData({ account, site, widget }) {\r\n let items = {\r\n account: account,\r\n site: site,\r\n widget: widget\r\n }\r\n try {\r\n const response = yield call(getGeneralNonVoiceService, onboardURLS('GET_GENERAL_NON_VOICE', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.GENERAL_NON_VOICE,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data)\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateGeneralNonvoiceData({ payload: id }) {\r\n try {\r\n const response = yield call(updateGeneralNonVoiceService, onboardURLS('UPDATE_GENERAL_NON_VOICE'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateGeneralNonvoiceSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchPreviewOnboardData({ account, site }) {\r\n let items = {\r\n account: account,\r\n site: site\r\n }\r\n try {\r\n const response = yield call(getPreviewOnboardService, onboardURLS('GET_PREVIEW_ONBOARD', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.PREVIEW_ONBOARD,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\n\r\nfunction* fetchOnboardAccountsData() {\r\n try {\r\n const response = yield call(getOnboardAccountsService, onboardURLS('GET_ONBOARD_ACCOUNTS'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ONBOARD_ACCOUNTS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateOnboardToggleData({ payload: id }) {\r\n try {\r\n const response = yield call(updateOnboardToggleService, onboardURLS('UPDATE_ONBOARD_TOGGLE'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateOnboardToggleSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateOnboardSubmitData({ payload: id }) {\r\n try {\r\n const response = yield call(updateOnboardSubmitService, onboardURLS('UPDATE_ONBOARD_SUBMIT'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateOnboardSubmitSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchOnboardValidUser({ account, site }) {\r\n let items = {\r\n account: account,\r\n site: site\r\n }\r\n try {\r\n const response = yield call(getOnboardValidUserService, onboardURLS('GET_ONBOARD_VALID_USER',items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ONBOARD_VALID_USER,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Valid User data\", error);;\r\n }\r\n}\r\n\r\nfunction* updateReOpenRequest({ payload: id }) {\r\n try {\r\n const response = yield call(updateReOpenRequestService, onboardURLS('UPDATE_REOPEN_REQUEST'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateReOpenRequestSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateDeleteAccount({ payload: id }) {\r\n try {\r\n const response = yield call(updateDeleteAccountService, onboardURLS('UPDATE_DELETE_ACCOUNT'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateDeleteAccountSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(actionTypes.GET_ACCOUNT_SITE, fetchAccountSiteData)\r\n yield takeEvery(actionTypes.GET_GENERAL_INFO_SITE, fetchGeneralInfoSiteData)\r\n yield takeEvery(actionTypes.GET_ROLES_TAB_ROLES, fetchRolesTabRolesData)\r\n yield takeEvery(actionTypes.GET_ROLES_TAB_USERS, fetchRolesTabUsersData)\r\n yield takeEvery(actionTypes.UPDATE_ROLE_DATA_START, updateRolesTabData);\r\n yield takeEvery(actionTypes.GET_QUEUE_LANGUAGES, fetchQueueTabLanguages)\r\n yield takeEvery(actionTypes.GET_ORIGINATING_COUNTRIES, fetchOriginatingCountry)\r\n yield takeEvery(actionTypes.UPDATE_QUEUE_TABLE_START, updateQueueTable);\r\n yield takeEvery(actionTypes.GET_QUEUE_TABLE_DATA, fetchQueueTableData)\r\n yield takeEvery(actionTypes.GET_SLA_TEMPLATES, fetchSLATemplateData)\r\n yield takeEvery(actionTypes.UPDATE_NEW_TEMPLATE_START, updateNewTemplateData);\r\n yield takeEvery(actionTypes.UPDATE_SLA_TABLE_START, updateSLATableData);\r\n yield takeEvery(actionTypes.UPDATE_SUPPORT_TABLE_START, updateSupportHoursData);\r\n yield takeEvery(actionTypes.GET_ROLES_TAB_DATA, fetchRoleTabData)\r\n yield takeEvery(actionTypes.GET_SLA_KPI_DATA, fetchSLAKPIData)\r\n yield takeEvery(actionTypes.GET_SUPPORT_HOURS_VOICE, fetchSupportHoursVoiceData)\r\n yield takeEvery(actionTypes.GET_NON_VOICE_SLA_DATA, fetchNonVoiceSLAData)\r\n yield takeEvery(actionTypes.GET_NON_VOICE_SUPPORT_HOURS, fetchNonVoiceSHData)\r\n\r\n yield takeEvery(actionTypes.GET_GENERAL_NON_VOICE, fetchGeneralNonvoiceData)\r\n yield takeEvery(actionTypes.UPDATE_GENERAL_NON_VOICE_START, updateGeneralNonvoiceData);\r\n\r\n yield takeEvery(actionTypes.GET_PREVIEW_ONBOARD, fetchPreviewOnboardData)\r\n yield takeEvery(actionTypes.GET_ONBOARD_ACCOUNTS, fetchOnboardAccountsData)\r\n\r\n yield takeEvery(actionTypes.UPDATE_ONBOARD_TOGGLE_START, updateOnboardToggleData);\r\n yield takeEvery(actionTypes.UPDATE_ONBOARD_SUBMIT_START, updateOnboardSubmitData);\r\n yield takeEvery(actionTypes.GET_ONBOARD_VALID_USER, fetchOnboardValidUser)\r\n yield takeEvery(actionTypes.UPDATE_REOPEN_REQUEST_START, updateReOpenRequest);\r\n yield takeEvery(actionTypes.UPDATE_DELETE_ACCOUNT_START, updateDeleteAccount);\r\n\r\n}\r\nexport default function* OnboardSagas() {\r\n yield all([watchGetRequest()]);\r\n}","\r\nconst getRoleId = () => {\r\n return localStorage.getItem('Role_id');\r\n}\r\n\r\nconst AdminAccountURLS = (name, items) => {\r\n switch (name) {\r\n case 'GET_ADMIN_ACCOUNTS': {\r\n return `/api/usp/AdmOBGetAccounts?&hint=admin&RoleID=${getRoleId()}`;\r\n }\r\n case 'UPDATE_VALIDTO_DATE': {\r\n return `/api/usp/AdmOnBoardAccount`\r\n }\r\n case 'GET_ADMIN_QUEUE_TABLE_DATA': {\r\n return `/api/usp/AdmOBGetQueuesByAccount?Customer=${items.account}&Servicedesk=${items.site}`;\r\n }\r\n case 'UPDATE_ADMIN_QUEUE_TABLE_DATA': {\r\n return `/api/usp/AdmOnBoardQueues`\r\n }\r\n case 'GET_ADMIN_SLA_TABLE_DATA': {\r\n return `/api/usp/AdmOBGetSLAKPIByAccount?Customer=${items.account}&Servicedesk=${items.site}&VoiceNonVoice=${items.tab}&NonVoiceItem=${items.card}`\r\n }\r\n case 'UPDATE_ADMIN_SLA_TABLE_DATA': {\r\n return `api/usp/AdmOnBoardSLAKPIAccount`\r\n }\r\n case 'GET_ADMIN_SUPPORT_TABLE_DATA': {\r\n return `/api/usp/AdmOBGetSupportHoursByAccount?Customer=${items.account}&Servicedesk=${items.site}&VoiceNonVoice=${items.tab}&NonVoiceItem=${items.card}`\r\n }\r\n case 'UPDATE_ADMIN_SUPPORT_TABLE_DATA': {\r\n return `api/usp/AdmOnBoardSupportHours`\r\n }\r\n case 'GET_ADMIN_VOICE_SLA_TABLE_DATA': {\r\n return `/api/usp/AdmOBGetSLAKPIByAccount?Customer=${items.account}&Servicedesk=${items.site}&VoiceNonVoice=Voice&NonVoiceItem=AWS (ASD) Telephony`\r\n }\r\n case 'GET_ADMIN_VOICE_SUPPORT_TABLE_DATA': {\r\n return `/api/usp/AdmOBGetSupportHoursByAccount?Customer=${items.account}&Servicedesk=${items.site}&VoiceNonVoice=Voice&NonVoiceItem=AWS (ASD) Telephony`\r\n }\r\n\r\n case 'QUEUE_ADMIN_REQUEST_START': {\r\n return `api/usp/AdmQueueActivation`\r\n }\r\n case 'SLA_ADMIN_REQUEST_START': {\r\n return `api/usp/AdmAccountSLAKPIActivation`\r\n }\r\n case 'SUPPORT_ADMIN_REQUEST_START': {\r\n return `api/usp/AdmSupportHoursActivation`\r\n }\r\n case 'UPDATE_ADMIN_UPDATE': {\r\n return `/api/usp/AdminAccountUpdate`;\r\n }\r\n case 'GET_PREVIEW_ADMIN': {\r\n return `/api/usp/AdmnPreview?Customer=${items.account}&Servicedesk=${items.site}`;\r\n }\r\n case 'GET_ROLE_BASED_VIEW': {\r\n return `/api/usp/OperationsByRole?RoleId=${getRoleId()}`;\r\n }\r\n default: { }\r\n }\r\n}\r\n\r\n\r\nexport default AdminAccountURLS\r\n\r\n\r\n\r\n","\r\nimport API from '../../api'\r\nlet token = localStorage.getItem(\"token\");\r\nexport const getAdminAccountsService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const updateValidToDateService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getAdminQueueTableDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const updateAdminQueueTableDataService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getAdminSlaTableDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const updateAdminSlaTableDataService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getAdminSupportTableDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const updateAdminSupportTableDataService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getAdminVoiceSlaTableDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getAdminVoiceSupportTableDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n\r\n export const updateQueueAdminRequestService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const updateSLAAdminRequestService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const updateSupportAdminRequestService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const updateAdminUpdateService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl,id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getPreviewAdminService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getRoleBasedViewService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport { updateAdminSlaTableDataSuccess, updateAdminSupportTableDataSuccess, updateAdminUpdateSuccess, updateQueueRequestSuccess, updateSLARequestSuccess, updateSupportRequestSuccess, updateValidToDateSuccess } from './../../actions/Administration/admin.action'\r\nimport AdminAccountURLS from \"../../constants/Administration/admin-account-urls\";\r\nimport adminActionTypes from \"../../constants/Administration/admin-action-types\";\r\nimport { getAdminAccountsService, getAdminQueueTableDataService, getAdminVoiceSlaTableDataService, getAdminVoiceSupportTableDataService, getPreviewAdminService, updateAdminQueueTableDataService, updateAdminSlaTableDataService, updateAdminSupportTableDataService, updateAdminUpdateService, updateQueueAdminRequestService, updateSLAAdminRequestService, updateSupportAdminRequestService, updateValidToDateService } from './../../services/Administration/admin.service'\r\nimport { updateAdminQueueTableDataSuccess } from './../../actions/Administration/admin.action'\r\nimport { getAdminSlaTableDataService, getAdminSupportTableDataService } from './../../services/Administration/admin.service'\r\n\r\nfunction* fetchAdminAccountsData() {\r\n try {\r\n const response = yield call(getAdminAccountsService, AdminAccountURLS('GET_ADMIN_ACCOUNTS'));\r\n if (response.data) {\r\n yield put({\r\n type: adminActionTypes.ADMIN_ACCOUNTS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Admin data\", error);\r\n }\r\n}\r\n\r\nfunction* updateValidToDate({ payload: id }) {\r\n try {\r\n const response = yield call(updateValidToDateService, AdminAccountURLS('UPDATE_VALIDTO_DATE'), id);\r\n if (response.data) {\r\n yield put(\r\n\r\n updateValidToDateSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchAdminQueueTableData({ account, site }) {\r\n let items = {\r\n account: account,\r\n site: site,\r\n }\r\n try {\r\n const response = yield call(getAdminQueueTableDataService, AdminAccountURLS('GET_ADMIN_QUEUE_TABLE_DATA', items));\r\n if (response) {\r\n yield put({\r\n type: adminActionTypes.ADMIN_QUEUE_TABLE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data)\r\n } catch (error) {\r\n console.log(\"Error while Admin data\", error);\r\n }\r\n}\r\n\r\nfunction* updateAdminQueueTableData({ payload: id }) {\r\n try {\r\n const response = yield call(updateAdminQueueTableDataService, AdminAccountURLS('UPDATE_ADMIN_QUEUE_TABLE_DATA'), id);\r\n if (response.data) {\r\n yield put(\r\n\r\n updateAdminQueueTableDataSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchAdminSlaTableData({ account, site, tab, card }) {\r\n let items = {\r\n account: account,\r\n site: site,\r\n tab: tab,\r\n card: card\r\n }\r\n try {\r\n const response = yield call(getAdminSlaTableDataService, AdminAccountURLS('GET_ADMIN_SLA_TABLE_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: adminActionTypes.ADMIN_SLA_TABLE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Admin data\", error);\r\n }\r\n}\r\n\r\nfunction* updateAdminSlaTableData({ payload: id }) {\r\n try {\r\n const response = yield call(updateAdminSlaTableDataService, AdminAccountURLS('UPDATE_ADMIN_SLA_TABLE_DATA'), id);\r\n if (response) {\r\n yield put(\r\n\r\n updateAdminSlaTableDataSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchAdminSupportTableData({ account, site, tab, card }) {\r\n let items = {\r\n account: account,\r\n site: site,\r\n tab: tab,\r\n card: card\r\n }\r\n try {\r\n const response = yield call(getAdminSupportTableDataService, AdminAccountURLS('GET_ADMIN_SUPPORT_TABLE_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: adminActionTypes.ADMIN_SUPPORT_TABLE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Admin data\", error);\r\n }\r\n}\r\n\r\nfunction* updateAdminSupportTableData({ payload: id }) {\r\n try {\r\n const response = yield call(updateAdminSupportTableDataService, AdminAccountURLS('UPDATE_ADMIN_SUPPORT_TABLE_DATA'), id);\r\n if (response) {\r\n yield put(\r\n updateAdminSupportTableDataSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchAdminVoiceSlaTableData({ account, site }) {\r\n let items = {\r\n account: account,\r\n site: site\r\n }\r\n try {\r\n const response = yield call(getAdminVoiceSlaTableDataService, AdminAccountURLS('GET_ADMIN_VOICE_SLA_TABLE_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: adminActionTypes.ADMIN_VOICE_SLA_TABLE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Admin data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchAdminVoiceSupportTableData({ account, site }) {\r\n let items = {\r\n account: account,\r\n site: site\r\n }\r\n try {\r\n const response = yield call(getAdminVoiceSupportTableDataService, AdminAccountURLS('GET_ADMIN_VOICE_SUPPORT_TABLE_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: adminActionTypes.ADMIN_VOICE_SUPPORT_TABLE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Admin data\", error);\r\n }\r\n}\r\n\r\nfunction* updateAdminRequestQueue({ payload: id }) {\r\n try {\r\n const response = yield call(updateQueueAdminRequestService, AdminAccountURLS('QUEUE_ADMIN_REQUEST_START'), id);\r\n if (response) {\r\n yield put(\r\n updateQueueRequestSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* updateAdminRequestSLA({ payload: id }) {\r\n try {\r\n const response = yield call(updateSLAAdminRequestService, AdminAccountURLS('SLA_ADMIN_REQUEST_START'), id);\r\n if (response) {\r\n yield put(\r\n updateSLARequestSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* updateAdminRequestSupport({ payload: id }) {\r\n try {\r\n const response = yield call(updateSupportAdminRequestService, AdminAccountURLS('SUPPORT_ADMIN_REQUEST_START'), id);\r\n if (response) {\r\n yield put(\r\n updateSupportRequestSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* updateAdminUpdateData({ payload: id }) {\r\n try {\r\n const response = yield call(updateAdminUpdateService, AdminAccountURLS('UPDATE_ADMIN_UPDATE'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateAdminUpdateSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchPreviewAdminData({ account, site }) {\r\n \r\n let items = {\r\n account: account,\r\n site: site\r\n }\r\n try {\r\n const response = yield call(getPreviewAdminService, AdminAccountURLS('GET_PREVIEW_ADMIN', items));\r\n console.log('adminpreviewresponce',response)\r\n if (response.data) {\r\n yield put({\r\n type: adminActionTypes.PREVIEW_ADMIN,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchRoleBasedView() {\r\n try {\r\n const response = yield call(getAdminAccountsService, AdminAccountURLS('GET_ROLE_BASED_VIEW'));\r\n if (response.data) {\r\n yield put({\r\n type: adminActionTypes.ROLE_BASED_VIEW,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while GET_ROLE_BASED_VIEW\", error);\r\n }\r\n}\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(adminActionTypes.GET_ADMIN_ACCOUNTS, fetchAdminAccountsData)\r\n yield takeEvery(adminActionTypes.UPDATE_VALIDTO_DATE_START, updateValidToDate);\r\n yield takeEvery(adminActionTypes.GET_ADMIN_QUEUE_TABLE_DATA, fetchAdminQueueTableData)\r\n yield takeEvery(adminActionTypes.UPDATE_ADMIN_QUEUE_TABLE_DATA_START, updateAdminQueueTableData);\r\n\r\n yield takeEvery(adminActionTypes.GET_ADMIN_SLA_TABLE_DATA, fetchAdminSlaTableData)\r\n yield takeEvery(adminActionTypes.UPDATE_ADMIN_SLA_TABLE_DATA_START, updateAdminSlaTableData);\r\n\r\n yield takeEvery(adminActionTypes.GET_ADMIN_SUPPORT_TABLE_DATA, fetchAdminSupportTableData)\r\n yield takeEvery(adminActionTypes.UPDATE_ADMIN_SUPPORT_TABLE_DATA_START, updateAdminSupportTableData);\r\n\r\n yield takeEvery(adminActionTypes.GET_ADMIN_VOICE_SLA_TABLE_DATA, fetchAdminVoiceSlaTableData)\r\n yield takeEvery(adminActionTypes.GET_ADMIN_VOICE_SUPPORT_TABLE_DATA, fetchAdminVoiceSupportTableData);\r\n\r\n\r\n yield takeEvery(adminActionTypes.QUEUE_ADMIN_REQUEST_START, updateAdminRequestQueue);\r\n yield takeEvery(adminActionTypes.SLA_ADMIN_REQUEST_START, updateAdminRequestSLA);\r\n yield takeEvery(adminActionTypes.SUPPORT_ADMIN_REQUEST_START, updateAdminRequestSupport);\r\n yield takeEvery(adminActionTypes.UPDATE_ADMIN_UPDATE_START, updateAdminUpdateData);\r\n yield takeEvery(adminActionTypes.GET_PREVIEW_ADMIN, fetchPreviewAdminData)\r\n\r\n yield takeEvery(adminActionTypes.GET_ROLE_BASED_VIEW, fetchRoleBasedView)\r\n}\r\nexport default function* adminAccountSagas() {\r\n yield all([watchGetRequest()]);\r\n}\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\nconst StaffAdminURLS = (name, items) => {\r\n switch (name) {\r\n case 'GET_AVAILABLE_EMPLOYEES': {\r\n return `/api/usp/StaffAdmnGetEmployeesAvailable?name=${items}`;\r\n }\r\n case 'GET_SUPERVISOR_LIST': {\r\n return `/api/usp/StaffAdmnGetSupervisors`;\r\n }\r\n case 'UPDATE_NEW_USER_ROLE': {\r\n return `/api/usp/StaffAdmnNewUserRole`\r\n }\r\n case 'UPDATE_SUPERVISOR_EMPLOYEE_MAPPING': {\r\n return `/api/usp/StaffAdmnSupervisorEmployeeMapping`\r\n }\r\n case 'UPDATE_ACCOUNT_EMPLOYEE': {\r\n return `/api/usp/StaffAdmnAcccountEmployee`\r\n }\r\n case 'GET_ROLE_CATEGORY': {\r\n return `/api/usp/StaffAdmnGetRoleCategoryRoles`;\r\n }\r\n case 'GET_STAFF_ACCOUNTS': {\r\n return `/api/usp/StaffAdminGetAccounts?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'GET_ACCOUNT_ASSIGNMENT': {\r\n return `/api/usp/StaffAdminGetAccountAssignment?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'GET_QUEUE_ASSIGNMENT': {\r\n return `/api/usp/StaffAdmnGetQueueAssigned?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'GET_ID_ASSIGNMENT': {\r\n return `/api/usp/StaffAdmnGetIDAssignment?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'GET_SLA_ASSIGNMENT': {\r\n return `/api/usp/StaffAdmnGetAccountSLAAssigned?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'GET_VOLUME_ASSIGNMENT': {\r\n return `/api/usp/StaffAdmnGetVolumetricTemplatesAssigned?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'UPDATE_QUEUE_ASSIGNMENT': {\r\n return `/api/usp/StaffAdmnQueueAssignment`;\r\n }\r\n case 'UPDATE_ID_ASSIGNMENT': {\r\n return `api/usp/StaffAdmnIDAssignment`;\r\n }\r\n case 'UPDATE_SLA_ASSIGNMENT': {\r\n return `api/usp/StaffAdmnAccountSLAAssignment`;\r\n }\r\n case 'UPDATE_VOLUME_ASSIGNMENT': {\r\n return `api/usp/StaffAdmnAccountVolumitric`;\r\n }\r\n case 'GET_STAFF_PREVIEW': {\r\n return `/api/usp/StaffAdmnPreview?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'GET_MAPPED_EMPLOYEES': {\r\n return `/api/usp/StaffAdmnGetMappedEmployees`;\r\n }\r\n case 'GET_QUEUE_DATA': {\r\n return `/api/usp/StaffAdmnGetQueues?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'GET_ACCOUNT_SLA': {\r\n return `/api/usp/StaffAdmnGetAccountSLAs?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'GET_VOLUME_TEMPLATES': {\r\n return `/api/usp/StaffAdmnGetAccountVolumetricTemplates?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'GET_ID_ACCOUNTS': {\r\n return `/api/usp/StaffAdmnGetAccountIDAssignment?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'GET_SLA_ACCOUNTS': {\r\n return `/api/usp/StaffAdmnGetAccountsAssigned?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'GET_VALID_SUPERVISOR': {\r\n return `/api/usp/StaffAdminCheckSupervisor`;\r\n }\r\n case 'GET_ACCOUNT_SLA_FOREDIT': {\r\n return `/api/usp/StaffAdmnGetAccountSLAsValidate?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n case 'GET_VOLUME_TEMPLATES_FOREDIT': {\r\n return `/api/usp/StaffAdmnGetAccountVolumetricTemplatesValidate?EmployeeID=${items.empId}&SupEmployeeID=${items.supId}`;\r\n }\r\n default: { }\r\n }\r\n}\r\n\r\n\r\nexport default StaffAdminURLS\r\n\r\n\r\n\r\n","import API from \"../../api\";\r\nlet token = localStorage.getItem(\"token\");\r\nexport const getAvailableEmployeesService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getSupervisorListService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n \r\n export const updateNewUserRoleService = (requestUrl, id) => {\r\n \r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n \r\n export const updateSupervisorEmployeeMappingService = (requestUrl, id) => {\r\n \r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n \r\n export const updateAccountEmployeeService = (requestUrl, id) => {\r\n \r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getRoleCategoryService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getStaffAccountsService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAccountAssignmentService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getQueueAssignmentService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getIdAssignmentService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getSlaAssignmentService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getVolumeAssignmentService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateQueueAssignmentService = (requestUrl, id) => {\r\n \r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateIdAssignmentService = (requestUrl, id) => {\r\n \r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateSlaAssignmentService = (requestUrl, id) => {\r\n \r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateVolumeAssignmentService = (requestUrl, id) => {\r\n \r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getStaffPreviewService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getMappedEmployeesService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getQueueDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAccountSLAService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getVolumeTemplatesService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getIDAccountsService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getSLAAccountsService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getValidSupervisorService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAccountSLAForEditService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getVolumeTemplatesForEditService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport { updateAccountEmployeeSuccess, updateIdAssignmentSuccess, updateNewUserRoleSuccess, updateQueueAssignmentSuccess, updateSlaAssignmentSuccess, updateSupervisorEmployeeMappingSuccess, updateVolumeAssignmentStart, updateVolumeAssignmentSuccess } from './../../actions/Administration/staffAdmin.action'\r\nimport { STAFF_ADMIN_ACTIONTYPES as actionTypes } from \"../../constants/Administration/staffAdmin-actionTypes\";\r\nimport StaffAdminURLS from \"../../constants/Administration/StaffAdmin-urls\";\r\nimport { getAccountAssignmentService, getAccountSLAService, getAvailableEmployeesService, getIdAssignmentService, getMappedEmployeesService, getQueueAssignmentService, getRoleCategoryService, getSLAAccountsService, getSlaAssignmentService, getStaffAccountsService, getStaffPreviewService, getSupervisorListService, getValidSupervisorService, getVolumeAssignmentService, updateAccountEmployeeService, updateIdAssignmentService, updateNewUserRoleService, updateSlaAssignmentService, updateSupervisorEmployeeMappingService, updateVolumeAssignmentService } from \"../../services/Administration/staffAdmin.service\";\r\nimport { updateQueueAssignmentService, getQueueDataService, getIDAccountsService, getAccountSLAForEditService, getVolumeTemplatesService, getVolumeTemplatesForEditService } from './../../services/Administration/staffAdmin.service';\r\n\r\n\r\n\r\nfunction* fetchAvailableEmployeesData({ items }) {\r\n\r\n try {\r\n const response = yield call(getAvailableEmployeesService, StaffAdminURLS('GET_AVAILABLE_EMPLOYEES', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.AVAILABLE_EMPLOYEES,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchSupervisorList() {\r\n\r\n try {\r\n const response = yield call(getSupervisorListService, StaffAdminURLS('GET_SUPERVISOR_LIST'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.SUPERVISOR_LIST,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateNewUserRole({ payload: id }) {\r\n try {\r\n const response = yield call(updateNewUserRoleService, StaffAdminURLS('UPDATE_NEW_USER_ROLE'), id);\r\n if (response.data) {\r\n yield put(\r\n updateNewUserRoleSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* updateSupervisorEmployeeMapping({ payload: id }) {\r\n try {\r\n const response = yield call(updateSupervisorEmployeeMappingService, StaffAdminURLS('UPDATE_SUPERVISOR_EMPLOYEE_MAPPING'), id);\r\n if (response.status === 200) {\r\n yield put(\r\n updateSupervisorEmployeeMappingSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* updateAccountEmployee({ payload: id }) {\r\n try {\r\n const response = yield call(updateAccountEmployeeService, StaffAdminURLS('UPDATE_ACCOUNT_EMPLOYEE'), id);\r\n if (response.data) {\r\n yield put(\r\n updateAccountEmployeeSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Widget data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchRoleCategory() {\r\n\r\n try {\r\n const response = yield call(getRoleCategoryService, StaffAdminURLS('GET_ROLE_CATEGORY'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ROLE_CATEGORY,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchStaffAccounts({ empId, supId }) {\r\n let items = { empId, supId }\r\n try {\r\n const response = yield call(getStaffAccountsService, StaffAdminURLS('GET_STAFF_ACCOUNTS', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.STAFF_ACCOUNTS,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchAccountAssignment({ empId, supId }) {\r\n let items = {\r\n empId: empId,\r\n supId: supId\r\n }\r\n console.log(items)\r\n try {\r\n const response = yield call(getAccountAssignmentService, StaffAdminURLS('GET_ACCOUNT_ASSIGNMENT', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ACCOUNT_ASSIGNMENT,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchQueueAssignment({ empId, supId }) {\r\n let items = {\r\n empId: empId,\r\n supId: supId\r\n }\r\n try {\r\n const response = yield call(getQueueAssignmentService, StaffAdminURLS('GET_QUEUE_ASSIGNMENT', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.QUEUE_ASSIGNMENT,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchIdAssignment({ empId, supId }) {\r\n let items = {\r\n empId: empId,\r\n supId: supId\r\n }\r\n try {\r\n const response = yield call(getIdAssignmentService, StaffAdminURLS('GET_ID_ASSIGNMENT', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ID_ASSIGNMENT,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchSlaAssignment({ empId, supId }) {\r\n let items = {\r\n empId: empId,\r\n supId: supId\r\n }\r\n try {\r\n const response = yield call(getSlaAssignmentService, StaffAdminURLS('GET_SLA_ASSIGNMENT', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.SLA_ASSIGNMENT,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchVolumeAssignment({ empId, supId }) {\r\n let items = {\r\n empId: empId,\r\n supId: supId\r\n }\r\n try {\r\n const response = yield call(getVolumeAssignmentService, StaffAdminURLS('GET_VOLUME_ASSIGNMENT', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.VOLUME_ASSIGNMENT,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateQueueAssignment({ payload: id }) {\r\n try {\r\n const response = yield call(updateQueueAssignmentService, StaffAdminURLS('UPDATE_QUEUE_ASSIGNMENT'), id);\r\n if (response.data) {\r\n yield put(\r\n updateQueueAssignmentSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Queue Assignment\", error);\r\n }\r\n}\r\n\r\nfunction* updateIdAssignment({ payload: id }) {\r\n try {\r\n const response = yield call(updateIdAssignmentService, StaffAdminURLS('UPDATE_ID_ASSIGNMENT'), id);\r\n if (response.data) {\r\n yield put(\r\n updateIdAssignmentSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Id Assignment\", error);\r\n }\r\n}\r\n\r\nfunction* updateSlaAssignment({ payload: id }) {\r\n try {\r\n const response = yield call(updateSlaAssignmentService, StaffAdminURLS('UPDATE_SLA_ASSIGNMENT'), id);\r\n if (response.data) {\r\n yield put(\r\n updateSlaAssignmentSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Queue Assignment\", error);\r\n }\r\n}\r\n\r\nfunction* updateVolumeAssignment({ payload: id }) {\r\n try {\r\n const response = yield call(updateVolumeAssignmentService, StaffAdminURLS('UPDATE_VOLUME_ASSIGNMENT'), id);\r\n if (response.data) {\r\n yield put(\r\n updateVolumeAssignmentSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating volume Assignment\", error);\r\n }\r\n}\r\n\r\nfunction* fetchStaffPreview({ empId, supId }) {\r\n let items = { empId, supId }\r\n try {\r\n const response = yield call(getStaffPreviewService, StaffAdminURLS('GET_STAFF_PREVIEW', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.STAFF_PREVIEW,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchMappedEmployees() {\r\n\r\n try {\r\n const response = yield call(getMappedEmployeesService, StaffAdminURLS('GET_MAPPED_EMPLOYEES'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.MAPPED_EMPLOYEES,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchQueueData({ empId, supId }) {\r\n let items = {\r\n empId: empId,\r\n supId: supId\r\n }\r\n try {\r\n const response = yield call(getQueueDataService, StaffAdminURLS('GET_QUEUE_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.QUEUE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchAccountSLA({ empId, supId }) {\r\n let items = {\r\n empId: empId,\r\n supId: supId\r\n }\r\n try {\r\n const response = yield call(getAccountSLAService, StaffAdminURLS('GET_ACCOUNT_SLA', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ACCOUNT_SLA,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchVolumeTemplates({ empId, supId }) {\r\n let items = {\r\n empId: empId,\r\n supId: supId\r\n }\r\n try {\r\n const response = yield call(getVolumeTemplatesService, StaffAdminURLS('GET_VOLUME_TEMPLATES', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.VOLUME_TEMPLATES,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchIDAccounts({ empId, supId }) {\r\n let items = {\r\n empId: empId,\r\n supId: supId\r\n }\r\n try {\r\n const response = yield call(getIDAccountsService, StaffAdminURLS('GET_ID_ACCOUNTS', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ID_ACCOUNTS,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchSLAAccounts({ empId, supId }) {\r\n let items = {\r\n empId: empId,\r\n supId: supId\r\n }\r\n try {\r\n const response = yield call(getSLAAccountsService, StaffAdminURLS('GET_SLA_ACCOUNTS', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.SLA_ACCOUNTS,\r\n payload: response.data,\r\n });\r\n }\r\n console.log('??????????????',response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchValidSupervisor() {\r\n\r\n try {\r\n const response = yield call(getValidSupervisorService, StaffAdminURLS('GET_VALID_SUPERVISOR'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.VALID_SUPERVISOR,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchAccountSLAForEdit({ empId, supId }) {\r\n let items = {\r\n empId: empId,\r\n supId: supId\r\n }\r\n try {\r\n const response = yield call(getAccountSLAForEditService, StaffAdminURLS('GET_ACCOUNT_SLA_FOREDIT', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ACCOUNT_SLA_FOREDIT,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchVolumeTemplatesForEdit({ empId, supId }) {\r\n let items = {\r\n empId: empId,\r\n supId: supId\r\n }\r\n try {\r\n const response = yield call(getVolumeTemplatesForEditService, StaffAdminURLS('GET_VOLUME_TEMPLATES_FOREDIT', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.VOLUME_TEMPLATES_FOREDIT,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(actionTypes.GET_AVAILABLE_EMPLOYEES, fetchAvailableEmployeesData);\r\n yield takeEvery(actionTypes.GET_SUPERVISOR_LIST, fetchSupervisorList);\r\n yield takeEvery(actionTypes.UPDATE_NEW_USER_ROLE_START, updateNewUserRole);\r\n yield takeEvery(actionTypes.UPDATE_SUPERVISOR_EMPLOYEE_MAPPING_START, updateSupervisorEmployeeMapping);\r\n yield takeEvery(actionTypes.UPDATE_ACCOUNT_EMPLOYEE_START, updateAccountEmployee);\r\n yield takeEvery(actionTypes.GET_ROLE_CATEGORY, fetchRoleCategory);\r\n yield takeEvery(actionTypes.GET_STAFF_ACCOUNTS, fetchStaffAccounts);\r\n yield takeEvery(actionTypes.GET_ACCOUNT_ASSIGNMENT, fetchAccountAssignment);\r\n yield takeEvery(actionTypes.GET_QUEUE_ASSIGNMENT, fetchQueueAssignment);\r\n yield takeEvery(actionTypes.GET_ID_ASSIGNMENT, fetchIdAssignment);\r\n yield takeEvery(actionTypes.GET_SLA_ASSIGNMENT, fetchSlaAssignment);\r\n yield takeEvery(actionTypes.GET_VOLUME_ASSIGNMENT, fetchVolumeAssignment);\r\n yield takeEvery(actionTypes.UPDATE_QUEUE_ASSIGNMENT_START, updateQueueAssignment);\r\n yield takeEvery(actionTypes.UPDATE_ID_ASSIGNMENT_START, updateIdAssignment);\r\n yield takeEvery(actionTypes.UPDATE_SLA_ASSIGNMENT_START, updateSlaAssignment);\r\n yield takeEvery(actionTypes.UPDATE_VOLUME_ASSIGNMENT_START, updateVolumeAssignment);\r\n yield takeEvery(actionTypes.GET_STAFF_PREVIEW, fetchStaffPreview);\r\n yield takeEvery(actionTypes.GET_MAPPED_EMPLOYEES, fetchMappedEmployees);\r\n yield takeEvery(actionTypes.GET_QUEUE_DATA, fetchQueueData);\r\n yield takeEvery(actionTypes.GET_ACCOUNT_SLA, fetchAccountSLA);\r\n yield takeEvery(actionTypes.GET_VOLUME_TEMPLATES, fetchVolumeTemplates);\r\n yield takeEvery(actionTypes.GET_ID_ACCOUNTS, fetchIDAccounts);\r\n yield takeEvery(actionTypes.GET_SLA_ACCOUNTS, fetchSLAAccounts);\r\n yield takeEvery(actionTypes.GET_VALID_SUPERVISOR,fetchValidSupervisor );\r\n yield takeEvery(actionTypes.GET_ACCOUNT_SLA_FOREDIT, fetchAccountSLAForEdit);\r\n yield takeEvery(actionTypes.GET_VOLUME_TEMPLATES_FOREDIT, fetchVolumeTemplatesForEdit);\r\n}\r\nexport default function* StaffAdminSagas() {\r\n yield all([watchGetRequest()]);\r\n}","\r\n\r\nconst SlaFailureURLs = (name,items) => {\r\n switch (name) {\r\n case 'GET_EXEMPTION_DATA': {\r\n return `/api/usp/SLAExemption?CustomerId=${items.custId}&ServiceDeskId=${items.servId}&Month=${items.month}`\r\n }\r\n case 'UPDATE_EXISTING_COMMENT': {\r\n return `/api/usp/SLAExemptionComment?CustomerId=${items.custId}&ServiceDeskId=${items.servId}&Month=${items.month}&SLAID=${items.sla}`\r\n }\r\n case 'GET_EXCLUSION_DATA': {\r\n return `/api/usp/SLAExclusion?CustomerId=${items.custId}&ServiceDeskId=${items.servId}&Month=${items.month}`\r\n }\r\n case 'UPDATE_EXCLUSION_COMMENT': {\r\n return `/api/usp/SLAExclusionWithComment?CustomerId=${items.custId}&ServiceDeskId=${items.servId}&Month=${items.month}&SLAID=${items.sla}`\r\n } \r\n default: { }\r\n }\r\n}\r\nexport default SlaFailureURLs;","import API from \"./../../api\";\r\nlet token = localStorage.getItem(\"token\");\r\n\r\nexport const getExemptionDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n \r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n \r\n \r\n \r\n \r\n export const updateExistingCommentService = (requestUrl, id) => {\r\n return API.post(requestUrl, id, {\r\n \r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getExclusionDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n \r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n \r\n \r\n export const updateExclusionCommentService = (requestUrl, id) => {\r\n return API.post(requestUrl, id, {\r\n \r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n \r\n","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport { updateExclusionCommentSuccess, updateExistingCommentSuccess } from \"../../actions/Administration/SLAFailure.action\";\r\nimport { slaFailure_actionTypes as actionTypes } from './../../constants/Administration/SLAFailure-actionTypes';\r\nimport SlaFailureURLs from \"./../../constants/Administration/SLAFailure-urls\";\r\nimport { getExemptionDataService, updateExistingCommentService, getExclusionDataService, updateExclusionCommentService } from './../../services/Administration/slaFailure.service';\r\n\r\nfunction* fetchExemptionData({ custId, servId, month }) {\r\n let items = { custId, servId, month }\r\n\r\n try {\r\n const response = yield call(getExemptionDataService, SlaFailureURLs('GET_EXEMPTION_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.GET_EXEMPTION_DATA_SUCCESS,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data)\r\n } catch (error) {\r\n console.log(\"Error while Exemption data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* updateExistingComment({ custId, servId, month,sla, id }) {\r\n let items = { custId, servId, month, sla }\r\n try {\r\n const response = yield call(updateExistingCommentService, SlaFailureURLs('UPDATE_EXISTING_COMMENT', items), id);\r\n if (response.data) {\r\n yield put(updateExistingCommentSuccess());\r\n }\r\n console.log(response.data)\r\n } catch (error) {\r\n console.log(\"Error while updating existing comment\", error);\r\n }\r\n}\r\n\r\nfunction* fetchExclusionData({ custId, servId, month }) {\r\n let items = { custId, servId, month }\r\n\r\n try {\r\n const response = yield call(getExclusionDataService, SlaFailureURLs('GET_EXCLUSION_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.GET_EXCLUSION_DATA_SUCCESS,\r\n payload: response.data,\r\n });\r\n }\r\n console.log(response.data)\r\n } catch (error) {\r\n console.log(\"Error while Exemption data\", error);\r\n }\r\n}\r\n\r\n\r\nfunction* updateExclusionComment({ custId, servId, month,sla, id }) {\r\n let items = { custId, servId, month, sla }\r\n try {\r\n const response = yield call(updateExclusionCommentService, SlaFailureURLs('UPDATE_EXCLUSION_COMMENT', items), id);\r\n if (response.data) {\r\n yield put(updateExclusionCommentSuccess());\r\n }\r\n console.log(response.data)\r\n } catch (error) {\r\n console.log(\"Error while updating existing comment\", error);\r\n }\r\n}\r\n\r\n\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(actionTypes.GET_EXEMPTION_DATA_START, fetchExemptionData);\r\n yield takeEvery(actionTypes.UPDATE_EXISTING_COMMENT_START, updateExistingComment);\r\n yield takeEvery(actionTypes.GET_EXCLUSION_DATA_START, fetchExclusionData);\r\n yield takeEvery(actionTypes.UPDATE_EXCLUSION_COMMENT_START, updateExclusionComment);\r\n}\r\nexport default function* slaFailureSagas() {\r\n yield all([watchGetRequest()]);\r\n}","import API from \"../api\";\r\nlet token = localStorage.getItem(\"token\");\r\nexport const getTilesDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};","export const githubUrls = (name, items) => {\r\n switch (name) {\r\n case 'GET_TILES_DATA': {\r\n return '/api/stats/stones'\r\n }\r\n default: { }\r\n }\r\n\r\n} ","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport { github_actionTypes as actionTypes} from './../constants/github-actionTypes';\r\nimport { getTilesDataService } from './../services/github.service';\r\nimport { githubUrls } from './../constants/github-urls';\r\n\r\nfunction* fetchTilesData(action) {\r\n try {\r\n const response = yield call(getTilesDataService, githubUrls('GET_TILES_DATA'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.TILES_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while TILES data\", error);\r\n }\r\n}\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(actionTypes.GET_TILES_DATA, fetchTilesData)\r\n \r\n\r\n}\r\nexport default function* githubSagas() {\r\n yield all([watchGetRequest()]);\r\n}","\r\nconst getRequestData = (items) => {\r\n const dispobj = (items.date !== '' ? `Date=${items.date}` : '') + '&' + (items.requesttype !== '' ? `Type[]=${items.requesttype}` : '') + '&' + (items.status !== '' ? `Status[]=${items.status}` : '') + '&'; \r\n console.log(items)\r\n if (items.date === '' && items.requesttype === '' && items.status === '' )\r\n return '/api/usp/RequestIncidentGetAll?&hint=request'\r\n else\r\n return `/api/usp/RequestIncidentGetAll?${dispobj}&hint=request`;\r\n}\r\n\r\nconst getRequestAdminData = (items) => {\r\n const dispobj = (items.date !== '' ? `Date=${items.date}` : '') + '&' + (items.requesttype !== '' ? `Type[]=${items.requesttype}` : '') + '&' + (items.status !== '' ? `Status[]=${items.status}` : '') + '&'; \r\n console.log(items)\r\n if (items.date === '' && items.requesttype === '' && items.status === '' )\r\n return '/api/usp/RequestIncidentAdminGetAll?&hint=request'\r\n else\r\n return `/api/usp/RequestIncidentAdminGetAll?${dispobj}&hint=request`;\r\n}\r\n\r\n\r\nexport const requestUrls = (name, items) => {\r\n console.log('items:::::::::',items)\r\n switch (name) {\r\n case 'GET_REQUEST_DATA': {\r\n return getRequestData(items)\r\n }\r\n case 'UPDATE_NEW_REQUEST': {\r\n return '/api/usp/RequestIncidentNew'\r\n }\r\n case 'UPDATE_EDIT_REQUEST': {\r\n return '/api/usp/RequestIncidentEdit'\r\n }\r\n case 'GET_ADMIN_REQUEST_DATA': {\r\n return getRequestAdminData(items)\r\n // return `/api/usp/RequestIncidentAdminGetAll?Date=${items.date}&Type=${items.requesttype}&Status=${items.status}`\r\n }\r\n case 'UPDATE_EDIT_ADMIN_REQUEST': {\r\n return '/api/usp/RequestIncidentAdminEdit'\r\n }\r\n case 'GET_REQUEST_DROPDOWN_DATA': {\r\n return '/api/usp/MasterGetAll'\r\n }\r\n case 'GET_UPLOADED_FILE_DATA': {\r\n return `/api/file/${items.uploadfileid}`\r\n }\r\n default: { }\r\n }\r\n\r\n} ","import API from \"../api\";\r\nlet token = localStorage.getItem(\"token\");\r\n\r\nexport const getRequestDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateNewRequestService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateEditRequestService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAdminRequestDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\n\r\nexport const updateEditAdminRequestService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getRequestDropdownDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getUploadedFileDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport { requestUrls } from \"../constants/request-urls\";\r\nimport { getAdminRequestDataService, getRequestDataService, getRequestDropdownDataService, getUploadedFileDataService, updateEditRequestService, updateNewRequestService } from \"../services/request.service\";\r\nimport { request_actionTypes as actionTypes} from './../constants/request-actionTypes';\r\nimport { updateNewRequestSuccess, updateEditRequestSuccess } from './../actions/request.action';\r\n\r\nfunction* fetchRequestData({ date, requesttype, status }) {\r\n let items = {\r\n date: date,\r\n requesttype: requesttype,\r\n status: status\r\n }\r\n try {\r\n const response = yield call(getRequestDataService, requestUrls('GET_REQUEST_DATA',items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.REQUEST_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while TILES data\", error);\r\n }\r\n}\r\n\r\nfunction* updateNewRequest({ payload: id }) {\r\n try {\r\n const response = yield call(updateNewRequestService, requestUrls('UPDATE_NEW_REQUEST'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateNewRequestSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateEditRequest({ payload: id }) {\r\n try {\r\n const response = yield call(updateEditRequestService, requestUrls('UPDATE_EDIT_REQUEST'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateEditRequestSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\n// function* fetchAdminRequestData(action) {\r\n// try {\r\n// const response = yield call(getAdminRequestDataService, requestUrls('GET_ADMIN_REQUEST_DATA'));\r\n// console.log('response:::::::::::::',response);\r\n// if (response.data) {\r\n// yield put({\r\n// type: actionTypes.ADMIN_REQUEST_DATA,\r\n// payload: response.data,\r\n// });\r\n// }\r\n// } catch (error) {\r\n// console.log(\"Error while TILES data\", error);\r\n// }\r\n// }\r\n\r\nfunction* fetchAdminRequestData({ date, requesttype, status }) {\r\n let items = {\r\n date: date,\r\n requesttype: requesttype,\r\n status: status\r\n }\r\n try {\r\n const response = yield call(getAdminRequestDataService, requestUrls('GET_ADMIN_REQUEST_DATA',items));\r\n console.log('response:::::::::::::',response);\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ADMIN_REQUEST_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while TILES data\", error);\r\n }\r\n}\r\n\r\nfunction* updateEditAdminRequest({ payload: id }) {\r\n try {\r\n const response = yield call(updateEditRequestService, requestUrls('UPDATE_EDIT_ADMIN_REQUEST'), id);\r\n if (response.data) {\r\n yield put(\r\n \r\n updateEditRequestSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchRequestDropdownData(action) {\r\n try {\r\n const response = yield call(getRequestDropdownDataService, requestUrls('GET_REQUEST_DROPDOWN_DATA'));\r\n console.log('response:::::::::::::',response);\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.REQUEST_DROPDOWN_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while request dropdown data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchUploadedFileData({ uploadfileid }) {\r\n let items = {\r\n uploadfileid:uploadfileid\r\n }\r\n try {\r\n const response = yield call(getUploadedFileDataService, requestUrls('GET_UPLOADED_FILE_DATA',items));\r\n // console.log('response:::::::::::::',response);\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.UPLOADED_FILE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while UPLOADED FILE data\", error);\r\n }\r\n}\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(actionTypes.GET_REQUEST_DATA, fetchRequestData);\r\n yield takeEvery(actionTypes.UPDATE_NEW_REQUEST_START, updateNewRequest);\r\n yield takeEvery(actionTypes.UPDATE_EDIT_REQUEST_START, updateEditRequest);\r\n yield takeEvery(actionTypes.GET_ADMIN_REQUEST_DATA, fetchAdminRequestData);\r\n yield takeEvery(actionTypes.UPDATE_EDIT_ADMIN_REQUEST_START, updateEditAdminRequest);\r\n yield takeEvery(actionTypes.GET_REQUEST_DROPDOWN_DATA, fetchRequestDropdownData);\r\n yield takeEvery(actionTypes.GET_UPLOADED_FILE_DATA, fetchUploadedFileData);\r\n\r\n\r\n}\r\nexport default function* requestSagas() {\r\n yield all([watchGetRequest()]);\r\n}","\r\n\r\nconst getUserFlowKeyword = (keyword,status) => {\r\n console.log(keyword)\r\n if (keyword === null || keyword === undefined) {\r\n return `/api/users/?$top=100&active=${status}`\r\n }\r\n else {\r\n return `/api/users/?keyword=${keyword}&$top=100&active=${status}`\r\n }\r\n}\r\n\r\nconst getAuditRBACData = (items) => {\r\n console.log('items',items)\r\n const dispobj = (items.role !== '' ? `Role=${items.role}` : '') + '&' + (items.accessGroup !== '' ? `AccessGroup=${items.accessGroup}` : '') + '&' + (items.operation !== '' ? `Operation=${items.operation}` : '') + '&'; \r\n console.log(items)\r\n if (items.date === '' && items.requesttype === '' && items.status === '' )\r\n return '/api/usp/AuditRBACGetData'\r\n else\r\n return `/api/usp/AuditRBACGetData?${dispobj}`;\r\n}\r\n\r\nconst getAuditRoleData = (items) => {\r\n const dispobj = (items.role !== '' ? `Role=${items.role}` : '') + '&' + (items.account !== '' ? `Account=${items.account}` : '') + '&' + (items.site !== '' ? `Site=${items.site}` : '') + '&' + (items.user !== '' ? `User=${items.user}` : '') + '&' + (items.region !== '' ? `Region=${items.region}` : '') + '&'; \r\n console.log(items)\r\n if (items.date === '' && items.requesttype === '' && items.status === '' )\r\n return '/api/usp/AuditRoleGetData'\r\n else\r\n return `/api/usp/AuditRoleGetData?${dispobj}`;\r\n}\r\n\r\nexport const AdminViewURLS = (name, items) => {\r\n switch (name) {\r\n case 'GET_ADMIN_ROLES': {\r\n return '/api/usp/ManageAdminRoles'\r\n }\r\n case 'GET_ACCESS_GROUP': {\r\n return '/api/usp/ManageAdminGetAccessGroupOperations'\r\n }\r\n case 'UPDATE_ACCESSGROUP_DATA': {\r\n return `/api/usp/ManageAdminRoleAndAccessGroups`\r\n }\r\n case 'UPDATE_ROLE_DELETE': {\r\n return `/api/usp/ManageAdminDeleteRole`\r\n }\r\n\r\n // OPERATIONS FLOW \r\n\r\n case 'GET_OPERATIONS_DATA': {\r\n return '/api/usp/ManageAdminGetOperations'\r\n }\r\n case 'UPDATE_OPERATIONS_DATA': {\r\n return `/api/usp/ManageAdminOperations`\r\n }\r\n case 'UPDATE_OPERATIONS_DELETE': {\r\n return `/api/usp/ManageAdminDeleteOperation`\r\n }\r\n\r\n // ACCESS GROUP FLOW \r\n\r\n case 'GET_ACCESSGROUP_DATA': {\r\n return '/api/usp/ManageGetAccessGroupOperations'\r\n }\r\n case 'GET_ACCESSGROUP_EDIT_DATA': {\r\n return `/api/usp/ManageAdminGetAccessGroupSelectOperations?AccessGroupID=${items.accessgroupid}`\r\n }\r\n case 'GET_ACCESSGROUP_ADD_DATA': {\r\n return `/api/usp/ManageAdminGetAGBlankSelectOperations`\r\n }\r\n case 'UPDATE_ACCESSGROUP_ADDEDIT': {\r\n return `/api/usp/ManageAdminAccessGroupAndOperations`\r\n }\r\n case 'UPDATE_ACCESSGROUP_DELETE': {\r\n return `/api/usp/ManageAdminDeleteAccessGroup`\r\n }\r\n\r\n // USER FLOW\r\n\r\n case 'GET_TIMEZONE_DATA': {\r\n return '/api/usp/ManageAdminGetTimeZone'\r\n }\r\n case 'UPDATE_ADD_USER': {\r\n return `/api/usp/ManageAdminNewUser`\r\n }\r\n case 'UPDATE_DELETE_USER': {\r\n return `/api/usp/ManageAdminDeleteUser`\r\n }\r\n case 'GET_EDIT_USER_DATA': {\r\n return `/api/usp/ManageAdminGetUserAccountAssignment?UserID=${items.userId}`\r\n }\r\n case 'UPDATE_EDIT_USER': {\r\n return `/api/usp/ManageAdminAddRoleAndAccount`\r\n }\r\n case 'GET_REGION_DATA': {\r\n return '/api/usp/ManageAdminGetRegions'\r\n }\r\n case 'GET_UPN_VALIDATION': {\r\n return `api/users/?filter=UPN%20eq%20%27${items.upn}%27&$top=1`\r\n }\r\n case 'GET_USERFLOW_USERS': {\r\n return getUserFlowKeyword(items.query,items.status)\r\n }\r\n case 'GET_USERFLOW_COUNT': {\r\n return `/api/usp/usercount?active=${items.status}`\r\n }\r\n\r\n // AUDIT RBAC\r\n\r\n case 'GET_AUDITRBAC_DATA': {\r\n return getAuditRBACData(items)\r\n }\r\n\r\n // AUDIT RBAC\r\n\r\n case 'GET_AUDITROLE_DATA': {\r\n return getAuditRoleData(items)\r\n }\r\n default: { }\r\n }\r\n\r\n} ","import API from \"../../api\";\r\nlet token = localStorage.getItem(\"token\");\r\n\r\n\r\n\r\nexport const getAdminViewService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAccessGroupService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateAccessGroupDataService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateRoleDeleteService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\n// OPERATIONS FLOW\r\n\r\nexport const getOperationsDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateOperationsDataService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateOperationsDeleteService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n\r\n// ACCESS GROUP FLOW\r\n\r\nexport const getAccessGroupDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAccessGroupEditDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAccessGroupAddDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateAccessGroupAddEditService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateAccessGroupDeleteService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n// USER FLOW\r\n\r\nexport const getTimeZoneDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateAddUserService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateDeleteUserService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getEditUserDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateEditUserService = (requestUrl, id) => {\r\n\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getRegionDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getUPNValidationService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getUserflowUsersSevice = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getUserflowCountSevice = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n// AUDIT RBAC\r\n\r\nexport const getAuditRBACDataSevice = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\n// AUDIT ROLE\r\n\r\nexport const getAuditRoleDataSevice = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport { AdminViewURLS } from \"../../constants/Administration/adminView-urls\";\r\nimport { getAccessGroupAddDataService, getAccessGroupDataService, getAccessGroupEditDataService, getAccessGroupService, getAdminViewService, getAuditRBACDataSevice, getAuditRoleDataSevice, getEditUserDataService, getOperationsDataService, getRegionDataService, getTimeZoneDataService, getUPNValidationService, getUserflowCountSevice, getUserflowUsersSevice, updateAccessGroupAddEditService, updateAccessGroupDataService, updateAccessGroupDeleteService, updateAddUserService, updateDeleteUserService, updateEditUserService, updateOperationsDataService, updateOperationsDeleteService, updateRoleDeleteService } from \"../../services/Administration/adminView.service\";\r\nimport { adminViewActionTypes as actionTypes } from \"./../../constants/Administration/adminView-actionTypes\";\r\nimport { updateAccessGroupAddEditSuccess, updateAccessGroupDataSuccess, updateAccessGroupDeleteSuccess, updateAddUserSuccess, updateDeleteUserSuccess, updateEditUserSuccess, updateOperationsDataSuccess, updateOperationsDeleteSuccess, updateRoleDeleteSuccess } from \"../../actions/Administration/adminView.action\";\r\n\r\n\r\n\r\nfunction* fetchAdminViewData(action) {\r\n try {\r\n const response = yield call(getAdminViewService, AdminViewURLS('GET_ADMIN_ROLES'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ADMIN_ROLES,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while ADMIN Roles data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchAccessGroupData(action) {\r\n try {\r\n const response = yield call(getAccessGroupService, AdminViewURLS('GET_ACCESS_GROUP'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ACCESS_GROUP,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while AccessGroup data\", error);\r\n }\r\n}\r\n\r\nfunction* updateAccessGroupData({ payload: id }) {\r\n try {\r\n const response = yield call(updateAccessGroupDataService, AdminViewURLS('UPDATE_ACCESSGROUP_DATA'), id);\r\n if (response.data) {\r\n yield put(\r\n\r\n updateAccessGroupDataSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Role data\", error);\r\n }\r\n}\r\n\r\nfunction* updateRoleDelete({ payload: id }) {\r\n try {\r\n const response = yield call(updateRoleDeleteService, AdminViewURLS('UPDATE_ROLE_DELETE'), id);\r\n if (response.data) {\r\n yield put(\r\n\r\n updateRoleDeleteSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Role Delete data\", error);\r\n }\r\n}\r\n\r\n\r\n// OPERATIONS FLOW\r\n\r\n\r\nfunction* fetchOperationsData(action) {\r\n try {\r\n const response = yield call(getOperationsDataService, AdminViewURLS('GET_OPERATIONS_DATA'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.OPERATIONS_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Operations data\", error);\r\n }\r\n}\r\n\r\nfunction* updateOperationsData({ payload: id }) {\r\n try {\r\n const response = yield call(updateOperationsDataService, AdminViewURLS('UPDATE_OPERATIONS_DATA'), id);\r\n if (response.data) {\r\n yield put(\r\n\r\n updateOperationsDataSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating operations data\", error);\r\n }\r\n}\r\n\r\nfunction* updateOperationsDelete({ payload: id }) {\r\n try {\r\n const response = yield call(updateOperationsDeleteService, AdminViewURLS('UPDATE_OPERATIONS_DELETE'), id);\r\n if (response.data) {\r\n yield put(\r\n\r\n updateOperationsDeleteSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating operations Delete data\", error);\r\n }\r\n}\r\n\r\n\r\n// ACCESS GROUP FLOW\r\n\r\n\r\nfunction* fetchAccessGroupMainPageData(action) {\r\n try {\r\n const response = yield call(getAccessGroupDataService, AdminViewURLS('GET_ACCESSGROUP_DATA'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ACCESSGROUP_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Access Group data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchAccessGroupEditData({ accessgroupid }) {\r\n let items = {\r\n accessgroupid: accessgroupid,\r\n }\r\n try {\r\n const response = yield call(getAccessGroupEditDataService, AdminViewURLS('GET_ACCESSGROUP_EDIT_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ACCESSGROUP_EDIT_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchAccessGroupAddData(action) {\r\n try {\r\n const response = yield call(getAccessGroupAddDataService, AdminViewURLS('GET_ACCESSGROUP_ADD_DATA'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.ACCESSGROUP_ADD_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Access Group ADD data\", error);\r\n }\r\n}\r\n\r\nfunction* updateAccessGroupAddEdit({ payload: id }) {\r\n try {\r\n const response = yield call(updateAccessGroupAddEditService, AdminViewURLS('UPDATE_ACCESSGROUP_ADDEDIT'), id);\r\n if (response.data) {\r\n yield put(\r\n\r\n updateAccessGroupAddEditSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating AccessGroup data\", error);\r\n }\r\n}\r\n\r\nfunction* updateAccessGroupDelete({ payload: id }) {\r\n try {\r\n const response = yield call(updateAccessGroupDeleteService, AdminViewURLS('UPDATE_ACCESSGROUP_DELETE'), id);\r\n if (response.data) {\r\n yield put(\r\n\r\n updateAccessGroupDeleteSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating AccessGroup Delete data\", error);\r\n }\r\n}\r\n\r\n// USER FLOW\r\n\r\nfunction* fetchTimeZoneData(action) {\r\n try {\r\n const response = yield call(getTimeZoneDataService, AdminViewURLS('GET_TIMEZONE_DATA'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.TIMEZONE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Time Zone data\", error);\r\n }\r\n}\r\n\r\nfunction* updateAddUser({ payload: id }) {\r\n try {\r\n const response = yield call(updateAddUserService, AdminViewURLS('UPDATE_ADD_USER'), id);\r\n if (response.data) {\r\n yield put(\r\n\r\n updateAddUserSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating add user data\", error);\r\n }\r\n}\r\n\r\nfunction* updateDeleteUser({ payload: id }) {\r\n try {\r\n const response = yield call(updateDeleteUserService, AdminViewURLS('UPDATE_DELETE_USER'), id);\r\n if (response.data) {\r\n yield put(\r\n\r\n updateDeleteUserSuccess()\r\n\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating delete user data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchEditUserData({ userId }) {\r\n let items = {\r\n userId: userId,\r\n }\r\n try {\r\n const response = yield call(getEditUserDataService, AdminViewURLS('GET_EDIT_USER_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.EDIT_USER_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateEditUser({ payload: id }) {\r\n try {\r\n const response = yield call(updateEditUserService, AdminViewURLS('UPDATE_EDIT_USER'), id);\r\n if (response.data && response.data.statusCode === 200) {\r\n yield put(\r\n\r\n updateEditUserSuccess()\r\n\r\n );\r\n } else if(response.data && response.data.statusCode === 500) {\r\n \r\n alert('UPN already Exists. So Couldnt save the user details. please repeat the process with different UPN ')\r\n window.location.href = '/'\r\n }\r\n else{\r\n yield put(\r\n\r\n updateEditUserSuccess()\r\n\r\n );\r\n console.log(response)\r\n }\r\n } catch (error) {\r\n alert(\"Error while updating Edit user data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchRegionData(action) {\r\n try {\r\n const response = yield call(getRegionDataService, AdminViewURLS('GET_REGION_DATA'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.REGION_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Region data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchUPNValidation({ upn }) {\r\n let items = {\r\n upn: upn,\r\n }\r\n try {\r\n const response = yield call(getUPNValidationService, AdminViewURLS('GET_UPN_VALIDATION', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.UPN_VALIDATION,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchUserflowUsers({ query,status }) {\r\n let items = {\r\n query: query,\r\n status:status\r\n }\r\n try {\r\n const response = yield call(getUserflowUsersSevice, AdminViewURLS('GET_USERFLOW_USERS', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.USERFLOW_USERS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchUserflowCount({ status }) {\r\n let items = {\r\n status:status\r\n }\r\n try {\r\n const response = yield call(getUserflowCountSevice, AdminViewURLS('GET_USERFLOW_COUNT', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.USERFLOW_COUNT,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\n// AUDIT RBAC\r\n\r\nfunction* fetchAuditRBACData({ role, accessGroup, operation }) {\r\n let items = {\r\n role: role,\r\n accessGroup: accessGroup,\r\n operation: operation\r\n }\r\n try {\r\n const response = yield call(getAuditRBACDataSevice, AdminViewURLS('GET_AUDITRBAC_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.AUDITRBAC_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchAuditRoleData({ role, account, site, user, region }) {\r\n let items = {\r\n type: actionTypes.GET_AUDITRBAC_DATA,\r\n role: role,\r\n account: account,\r\n site: site,\r\n user:user,\r\n region:region\r\n }\r\n try {\r\n const response = yield call(getAuditRoleDataSevice, AdminViewURLS('GET_AUDITROLE_DATA', items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.AUDITROLE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(actionTypes.GET_ADMIN_ROLES, fetchAdminViewData);\r\n yield takeEvery(actionTypes.GET_ACCESS_GROUP, fetchAccessGroupData);\r\n yield takeEvery(actionTypes.UPDATE_ACCESSGROUP_DATA_START, updateAccessGroupData);\r\n yield takeEvery(actionTypes.UPDATE_ROLE_DELETE_START, updateRoleDelete);\r\n\r\n // OPERATIONS FLOW\r\n\r\n yield takeEvery(actionTypes.GET_OPERATIONS_DATA,fetchOperationsData );\r\n yield takeEvery(actionTypes.UPDATE_OPERATIONS_DATA_START,updateOperationsData );\r\n yield takeEvery(actionTypes.UPDATE_OPERATIONS_DELETE_START, updateOperationsDelete);\r\n\r\n // ACCESS GROUP FLOW\r\n\r\n yield takeEvery(actionTypes.GET_ACCESSGROUP_DATA,fetchAccessGroupMainPageData );\r\n yield takeEvery(actionTypes.GET_ACCESSGROUP_EDIT_DATA,fetchAccessGroupEditData );\r\n yield takeEvery(actionTypes.GET_ACCESSGROUP_ADD_DATA,fetchAccessGroupAddData );\r\n yield takeEvery(actionTypes.UPDATE_ACCESSGROUP_ADDEDIT_START,updateAccessGroupAddEdit );\r\n yield takeEvery(actionTypes.UPDATE_ACCESSGROUP_DELETE_START,updateAccessGroupDelete );\r\n\r\n // USER FLOW\r\n\r\n yield takeEvery(actionTypes.GET_TIMEZONE_DATA,fetchTimeZoneData );\r\n yield takeEvery(actionTypes.UPDATE_ADD_USER_START, updateAddUser);\r\n yield takeEvery(actionTypes.UPDATE_DELETE_USER_START, updateDeleteUser);\r\n yield takeEvery(actionTypes.GET_EDIT_USER_DATA,fetchEditUserData );\r\n yield takeEvery(actionTypes.UPDATE_EDIT_USER_START, updateEditUser);\r\n yield takeEvery(actionTypes.GET_REGION_DATA, fetchRegionData);\r\n yield takeEvery(actionTypes.GET_UPN_VALIDATION, fetchUPNValidation);\r\n yield takeEvery(actionTypes.GET_USERFLOW_USERS, fetchUserflowUsers);\r\n yield takeEvery(actionTypes.GET_USERFLOW_COUNT, fetchUserflowCount);\r\n\r\n // AUDIT RBAC\r\n\r\n yield takeEvery(actionTypes.GET_AUDITRBAC_DATA, fetchAuditRBACData);\r\n\r\n // AUDIT ROLE\r\n \r\n yield takeEvery(actionTypes.GET_AUDITROLE_DATA, fetchAuditRoleData);\r\n\r\n\r\n \r\n\r\n}\r\nexport default function* AdminViewSagas() {\r\n yield all([watchGetRequest()]);\r\n}","const GetAccountsHandler = (items) => {\r\n console.log('vvvvvvvv',items.agents === '')\r\n if(items.agents === '' || items.agents === null || items.agents === undefined){\r\n return `/api/usp/ReportsTLGetAccounts`\r\n }\r\n else{\r\n return `/api/usp/ReportsTLGetAccounts?${items.agents}`\r\n }\r\n}\r\n\r\n\r\nexport const ScoreCardUrls = (name, items) => {\r\n switch (name) {\r\n case 'GET_SCORECARD_DATA': {\r\n return `/api/usp/GetAgentScorecardData?Date=${items.selecteddate}&agent=${items.agent}`\r\n }\r\n case 'GET_SCORECARD_PERFORMANCE_DATA': {\r\n return `/api/usp/Agent_MyScorecard`\r\n }\r\n case 'GET_SCORECARD_OFFCANVAS_DATA': {\r\n return `/api/usp/GetAgentAccounts?agent=${items.agent}`\r\n }\r\n case 'GET_AGENTS_KPI_SUMMARY_DATA': {\r\n return `/api/usp/ReportsTeamLeader?Team_KPI=${items.selectedtab}&YearMonth=${items.date}&${items.name}`\r\n }\r\n case 'GET_TEAMLEADER_AGENTS': {\r\n return `/api/usp/ReportsTLGetAgents?${items.accountID}`\r\n }\r\n case 'GET_TEAMLEADER_ACCOUNTS': {\r\n return GetAccountsHandler(items)\r\n }\r\n case 'GET_TEAMLEADER_ACCOUNTS_VIEW': {\r\n return '/api/usp/ReportsTLGetAccounts'\r\n }\r\n case 'GET_TEAMLEADER_DATES': {\r\n return `/api/usp/ReportsTLGetYearMonth`\r\n }\r\n case 'GET_AGENTS_KPI_ACCOUNTS_DATA': {\r\n return `/api/usp/ReportsTLGetAccountsByAgent?Agent=${items.email}`\r\n }\r\n case 'GET_TEAM_KPI_SUMMARY_DATA': {\r\n return `/api/usp/ReportsTeamKPISummary`\r\n }\r\n case 'GET_AGENTS_GRAPH_DATA': {\r\n return `/api/usp/ReportsTLAgentGraph?agent=${items.agent}&Team_KPI=${items.teamKPI}&metric=${items.metric}&month=${items.date}`\r\n }\r\n \r\n default: { }\r\n }\r\n\r\n} ","import API from \"../api\";\r\n\r\nlet token = localStorage.getItem(\"token\");\r\nexport const getScoreCardDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getScoreCardPerformanceDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getScoreCardOffCanvasDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAgentsKPISummaryDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getTeamleaderAgentsDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getTeamleaderAccountsDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getTeamleaderAccountsViewDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getTeamleaderDatesDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAgentsKPIAccountsDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getTeamKPISummaryDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getAgentsGraphDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport {ScoreCardUrls} from '../constants/ScoreCard&TeamKPI-urls';\r\nimport { getAgentsGraphDataService, getAgentsKPIAccountsDataService, getAgentsKPISummaryDataService, getScoreCardDataService, getScoreCardOffCanvasDataService, getScoreCardPerformanceDataService, getTeamKPISummaryDataService, getTeamleaderAccountsDataService, getTeamleaderAccountsViewDataService, getTeamleaderDatesDataService } from \"../services/ScoreCard&TeamKPI.service\";\r\nimport {ScoreCardActionTypes as actionTypes} from \"../constants/ScoreCard&TeamKPI-actionTypes\";\r\n\r\n\r\nfunction* fetchScoreCardData({selecteddate,agent}) {\r\n let items={\r\n selecteddate:selecteddate,\r\n agent:agent\r\n }\r\n try {\r\n const response = yield call(getScoreCardDataService, ScoreCardUrls('GET_SCORECARD_DATA',items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.SCORECARD_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Loading ScoreCard data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchScoreCardPerformanceData(action) {\r\n try {\r\n const response = yield call(getScoreCardPerformanceDataService, ScoreCardUrls('GET_SCORECARD_PERFORMANCE_DATA'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.SCORECARD_PERFORMANCE_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Loading ScoreCard Performance data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchScoreCardOffCanvasData({agent}) {\r\n let items={\r\n agent:agent,\r\n }\r\n try {\r\n const response = yield call(getScoreCardOffCanvasDataService, ScoreCardUrls('GET_SCORECARD_OFFCANVAS_DATA',items));\r\n console.log('offcanvasdata',response)\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.SCORECARD_OFFCANVAS_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Loading ScoreCard offcanvas data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchAgentsKPISummaryData({name,account,date,selectedtab}) {\r\n let items = {\r\n name: name,\r\n account: account,\r\n date:date,\r\n selectedtab:selectedtab\r\n }\r\n try {\r\n const response = yield call(getAgentsKPISummaryDataService, ScoreCardUrls('GET_AGENTS_KPI_SUMMARY_DATA',items));\r\n console.log('response:::::::',response.data,items.selectedtab)\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.AGENTS_KPI_SUMMARY_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Loading Agents KPI Summary data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchTeamleaderAgentsData({accountID}) {\r\n let items = {\r\n accountID: accountID,\r\n }\r\n try {\r\n const response = yield call(getTeamKPISummaryDataService, ScoreCardUrls('GET_TEAMLEADER_AGENTS',items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.TEAMLEADER_AGENTS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Loading Teamleader Agents data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchTeamleaderAccountsData({agents}) {\r\n let items = {\r\n agents: agents,\r\n }\r\n try {\r\n const response = yield call(getTeamleaderAccountsDataService, ScoreCardUrls('GET_TEAMLEADER_ACCOUNTS',items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.TEAMLEADER_ACCOUNTS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Loading Teamleader Accounts data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchTeamleaderAccountsViewData(action) {\r\n try {\r\n const response = yield call(getTeamleaderAccountsViewDataService, ScoreCardUrls('GET_TEAMLEADER_ACCOUNTS_VIEW'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.TEAMLEADER_ACCOUNTS_VIEW,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Loading Teamleader Accounts View data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchTeamleaderDatesData(action) {\r\n try {\r\n const response = yield call(getTeamleaderDatesDataService, ScoreCardUrls('GET_TEAMLEADER_DATES'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.TEAMLEADER_DATES,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Loading Teamleader Dates data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchAgentsKPIAccountsData({email}) {\r\n let items = {\r\n email: email,\r\n }\r\n try {\r\n const response = yield call(getAgentsKPIAccountsDataService, ScoreCardUrls('GET_AGENTS_KPI_ACCOUNTS_DATA',items));\r\n console.log('response:::::::',response.data,items.selectedtab)\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.AGENTS_KPI_ACCOUNTS_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Loading Agents KPI Accounts data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchTeamKPISummaryData({date}) {\r\n let items = {\r\n date:date,\r\n }\r\n try {\r\n const response = yield call(getTeamKPISummaryDataService, ScoreCardUrls('GET_TEAM_KPI_SUMMARY_DATA',items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.TEAM_KPI_SUMMARY_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Loading Team KPI Summary data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchAgentsGraphData({agent,teamKPI,metric,date}) {\r\n let items = {\r\n agent: agent,\r\n teamKPI: teamKPI,\r\n metric: metric,\r\n date:date,\r\n }\r\n try {\r\n const response = yield call(getAgentsGraphDataService, ScoreCardUrls('GET_AGENTS_GRAPH_DATA',items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.AGENTS_GRAPH_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while Loading Agents Graph data\", error);\r\n }\r\n}\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(actionTypes.GET_SCORECARD_DATA, fetchScoreCardData);\r\n yield takeEvery(actionTypes.GET_SCORECARD_PERFORMANCE_DATA, fetchScoreCardPerformanceData);\r\n yield takeEvery(actionTypes.GET_SCORECARD_OFFCANVAS_DATA, fetchScoreCardOffCanvasData);\r\n yield takeEvery(actionTypes.GET_AGENTS_KPI_SUMMARY_DATA, fetchAgentsKPISummaryData);\r\n yield takeEvery(actionTypes.GET_TEAMLEADER_AGENTS, fetchTeamleaderAgentsData);\r\n yield takeEvery(actionTypes.GET_TEAMLEADER_ACCOUNTS, fetchTeamleaderAccountsData);\r\n yield takeEvery(actionTypes.GET_TEAMLEADER_ACCOUNTS_VIEW, fetchTeamleaderAccountsViewData);\r\n yield takeEvery(actionTypes.GET_TEAMLEADER_DATES, fetchTeamleaderDatesData);\r\n yield takeEvery(actionTypes.GET_AGENTS_KPI_ACCOUNTS_DATA, fetchAgentsKPIAccountsData);\r\n yield takeEvery(actionTypes.GET_TEAM_KPI_SUMMARY_DATA, fetchTeamKPISummaryData);\r\n yield takeEvery(actionTypes.GET_AGENTS_GRAPH_DATA, fetchAgentsGraphData);\r\n\r\n}\r\nexport default function* ScoreCardSagas() {\r\n yield all([watchGetRequest()]);\r\n}","import API from \"../api\";\r\nlet token = localStorage.getItem(\"token\");\r\n\r\nexport const getUploadAccountsService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getSLAKPIVolumeTemplatesService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const UpdateSelectedSLAKPIVolumeService = (requestUrl,id) => {\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateCustomTemplateService = (requestUrl,id) => {\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getFileUploadDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateFileUploadDataService = (requestUrl,id) => {\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getNonvoiceCardsDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getUploadPreviewDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getVolumeSlakpiSelectedTemplatesDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const updateVolumeSLAKPIDataService = (requestUrl,id) => {\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};\r\n\r\nexport const getVoiceNonvoiceItemsService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n};","const RoleId = localStorage.getItem('Role_id');\r\n\r\n\r\nexport const UploadURLS = (name,items) =>{\r\n console.log('items',items)\r\n switch(name){\r\n case 'GET_UPLOAD_ACCOUNTS' : {\r\n return `/api/usp/FileUploadGetAccounts?RoleID=${RoleId}`;\r\n }\r\n case 'GET_SLAKPI_VOLUME_TEMPLATES' : {\r\n return `/api/usp/FileUploadGetSLAKPIVolumeTemplates?CustomerID=${items.customerID}&Category=${items.category}&ItemID=${items.itemID}`;\r\n }\r\n case 'UPDATE_SELECTED_SLAKPI_VOLUME' : {\r\n return `/api/usp/FileUploadTemplateSelection`;\r\n }\r\n case 'UPDATE_CUSTOM_TEMPLATE' : {\r\n return `/api/usp/FileUploadAddCustomSLAKPIVolumeTemplate`;\r\n }\r\n case 'GET_FILE_UPLOAD_DATA' : {\r\n return `/api/usp/FileUploadGetDetails?CustomerID=${items.customerID}&ServicedeskID=${items.servicedeskID}&VoiceNonVoice=${items.selectedVoiceNonVoiceTab}`;\r\n }\r\n case 'UPDATE_FILE_UPLOAD_DATA' : {\r\n return `/api/usp/FileUpload`;\r\n }\r\n case 'GET_NONVOICE_CARDS_DATA' : {\r\n return `/api/usp/FileUploadGetVoiceNonVoiceItems?CustomerID=${items.customerID}&ServicedeskID=${items.servicedeskID}&VoiceNonVoice=${items.selectedVoiceNonVoiceTab}&Month=${items.month}`;\r\n }\r\n case 'GET_UPLOAD_PRIVIEW_DATA' : {\r\n return `/api/usp/FileUploadPreview?CustomerID=${items.customerID}&ServicedeskID=${items.servicedeskID}&Mnth=${items.month}`;\r\n }\r\n case 'GET_VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA' : {\r\n return `/api/usp/FileUploadGetSelectedTemplates?CustomerID=${items.customerID}&ServicedeskID=${items.servicedeskID}&Category=${items.category}&Month=${items.month}&Itemname=${items.itemname}`;\r\n }\r\n case 'UPDATE_VOLUME_SLAKPI_DATA' : {\r\n return `/api/usp/FileUploadTemplateValues`;\r\n }\r\n case 'GET_VOICENONVOICE_ITEMS' : {\r\n return `/api/usp/FileUploadGetItems`;\r\n }\r\n default : {}\r\n }\r\n}","import { all, call, put, takeEvery} from \"redux-saga/effects\";\r\nimport { UploadActionTypes as actionTypes} from \"../constants/uploads-actionTypes\";\r\nimport { getFileUploadDataService, getNonvoiceCardsDataService, getSLAKPIVolumeTemplatesService, getUploadAccountsService, getUploadPreviewDataService, getVoiceNonvoiceItemsService, getVolumeSlakpiSelectedTemplatesDataService, updateCustomTemplateService, updateFileUploadDataService, UpdateSelectedSLAKPIVolumeService, updateVolumeSLAKPIDataService } from \"../services/Upload.service\";\r\nimport { UploadURLS } from \"../constants/Upload-urls\";\r\nimport { updateCustomTemplateSuccess, updateFileUploadDataSuccess, updateSelectedSLAKPIVolumeSuccess, updateVolumeSLAKPIDataSuccess } from './../actions/uploads.action';\r\n\r\n\r\nfunction* fetchUploadAccountsData() {\r\n try {\r\n const response = yield call(getUploadAccountsService, UploadURLS('GET_UPLOAD_ACCOUNTS'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.UPLOAD_ACCOUNTS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchSLAKPIVolumeTemplates({customerID,category,itemID}) {\r\n let items = {\r\n customerID:customerID,\r\n category:category,\r\n itemID:itemID\r\n }\r\n try {\r\n const response = yield call(getSLAKPIVolumeTemplatesService, UploadURLS('GET_SLAKPI_VOLUME_TEMPLATES',items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.SLAKPI_VOLUME_TEMPLATES,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateSelectedSLAKPIVolume({ payload: id }) {\r\n try {\r\n const response = yield call(UpdateSelectedSLAKPIVolumeService, UploadURLS('UPDATE_SELECTED_SLAKPI_VOLUME'), id);\r\n if (response.data) {\r\n yield put(\r\n updateSelectedSLAKPIVolumeSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating selected SLAKPI Volume data\", error);\r\n }\r\n}\r\n\r\nfunction* updateCustomTemplate({ payload: id }) {\r\n try {\r\n const response = yield call(updateCustomTemplateService, UploadURLS('UPDATE_CUSTOM_TEMPLATE'), id);\r\n if (response.data) {\r\n yield put(\r\n updateCustomTemplateSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating new Custom template data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchFileUploadData({customerID,servicedeskID,selectedVoiceNonVoiceTab}) {\r\n let items = {\r\n customerID:customerID,\r\n servicedeskID:servicedeskID,\r\n selectedVoiceNonVoiceTab:selectedVoiceNonVoiceTab\r\n }\r\n try {\r\n const response = yield call(getFileUploadDataService, UploadURLS('GET_FILE_UPLOAD_DATA',items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.FILE_UPLOAD_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateFileUploadData({ payload: id }) {\r\n try {\r\n const response = yield call(updateFileUploadDataService, UploadURLS('UPDATE_FILE_UPLOAD_DATA'), id);\r\n if (response.data) {\r\n yield put(\r\n updateFileUploadDataSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating file upload data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchNonvoiceCardsData({customerID,servicedeskID,selectedVoiceNonVoiceTab,month}) {\r\n let items = {\r\n customerID:customerID,\r\n servicedeskID:servicedeskID,\r\n selectedVoiceNonVoiceTab:selectedVoiceNonVoiceTab,\r\n month:month\r\n }\r\n try {\r\n const response = yield call(getNonvoiceCardsDataService, UploadURLS('GET_NONVOICE_CARDS_DATA',items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.NONVOICE_CARDS_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchUploadPreviewData({customerID,servicedeskID,month}) {\r\n let items = {\r\n customerID:customerID,\r\n servicedeskID:servicedeskID,\r\n month:month\r\n }\r\n try {\r\n const response = yield call(getUploadPreviewDataService, UploadURLS('GET_UPLOAD_PRIVIEW_DATA',items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.UPLOAD_PRIVIEW_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* fetchVolumeSlakpiSelectedTemplatesData({customerID,servicedeskID,category,month,itemname}) {\r\n let items = {\r\n customerID:customerID,\r\n servicedeskID:servicedeskID,\r\n category:category,\r\n month:month,\r\n itemname:itemname\r\n }\r\n try {\r\n const response = yield call(getVolumeSlakpiSelectedTemplatesDataService, UploadURLS('GET_VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA',items));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* updateVolumeSLAKPIData({ payload: id }) {\r\n try {\r\n const response = yield call(updateVolumeSLAKPIDataService, UploadURLS('UPDATE_VOLUME_SLAKPI_DATA'), id);\r\n if (response.data) {\r\n yield put(\r\n updateVolumeSLAKPIDataSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Volume and SLA KPI data\", error);\r\n }\r\n}\r\n\r\nfunction* fetchVoiceNonvoiceItems() {\r\n try {\r\n const response = yield call(getVoiceNonvoiceItemsService, UploadURLS('GET_VOICENONVOICE_ITEMS'));\r\n if (response.data) {\r\n yield put({\r\n type: actionTypes.VOICENONVOICE_ITEMS,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nfunction* watchGetRequest() {\r\n yield takeEvery(actionTypes.GET_UPLOAD_ACCOUNTS, fetchUploadAccountsData);\r\n yield takeEvery(actionTypes.GET_SLAKPI_VOLUME_TEMPLATES,fetchSLAKPIVolumeTemplates);\r\n yield takeEvery(actionTypes.UPDATE_SELECTED_SLAKPI_VOLUME_START,updateSelectedSLAKPIVolume);\r\n yield takeEvery(actionTypes.UPDATE_CUSTOM_TEMPLATE_START,updateCustomTemplate);\r\n yield takeEvery(actionTypes.GET_FILE_UPLOAD_DATA,fetchFileUploadData);\r\n yield takeEvery(actionTypes.UPDATE_FILE_UPLOAD_DATA_START,updateFileUploadData);\r\n yield takeEvery(actionTypes.GET_NONVOICE_CARDS_DATA,fetchNonvoiceCardsData);\r\n yield takeEvery(actionTypes.GET_UPLOAD_PRIVIEW_DATA,fetchUploadPreviewData);\r\n yield takeEvery(actionTypes.GET_VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA,fetchVolumeSlakpiSelectedTemplatesData);\r\n yield takeEvery(actionTypes.UPDATE_VOLUME_SLAKPI_DATA_START,updateVolumeSLAKPIData);\r\n yield takeEvery(actionTypes.GET_VOICENONVOICE_ITEMS, fetchVoiceNonvoiceItems);\r\n\r\n}\r\nexport default function* UploadSagas() {\r\n yield all([watchGetRequest()]);\r\n}","import API from \"../../api\";\r\nlet token = localStorage.getItem(\"token\");\r\n\r\nexport const getAquaaAccountsDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getAquaaAgentsDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getAquaaChannelsDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getAquaaLanguagesDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getAquaaLocationsDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getAquaaAWSDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const getEvaluationFormDataService = (requestUrl) => {\r\n return API.get(requestUrl, {\r\n headers: {\r\n Authorization: token,\r\n }})\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };\r\n\r\n export const updateEvaluationFormDataService = (requestUrl,id) => {\r\n return API.post(requestUrl, id, {\r\n headers: {\r\n Authorization: token,\r\n },\r\n })\r\n .then((resp) => resp)\r\n .catch((error) => error.response);\r\n };","const AquaaURLs = (name,items) => {\r\n switch (name) {\r\n case 'GET_AQUAA_ACCOUNTS_DATA': {\r\n return `/api/usp/AquAAGetAccountsByEvaluator`;\r\n }\r\n case 'GET_AQUAA_AGENTS_DATA': {\r\n return `/api/usp/AquAAGetAgentsByAccountEvaluator?Account=${items.account}`;\r\n }\r\n case 'GET_AQUAA_CHANNELS_DATA': {\r\n return `/api/usp/AquAAGetChannelsByAgentAccountEvaluator?Account=${items.account}&Agent=${items.agent}`;\r\n }\r\n case 'GET_AQUAA_LANGUAGES_DATA': {\r\n return `/api/usp/AquAAGetLanguages?Account=${items.account}&Agent=${items.agent}&Channel=${items.channel}`;\r\n }\r\n case 'GET_AQUAA_LOCATIONS_DATA': {\r\n return `/api/usp/AquAAGetSites?Account=${items.account}&Agent=${items.agent}&Channel=${items.channel}&Language=${items.language}`;\r\n }\r\n case 'GET_AQUAA_AWS_DATA': {\r\n return `/api/usp/AquAAGetAWSData?Account=${items.account}&Agent=${items.agent}&Channel=${items.channel}&Language=${items.language}&Location=${items.location}`;\r\n }\r\n case 'GET_EVALUATION_FORM_DATA': {\r\n return `/api/usp/AquAAContactFormDetails?contactid=${items.contactId}`;\r\n }\r\n case 'UPDATE_EVALUATION_FORM_DATA': {\r\n return `/api/usp/AquAAEvaluations`;\r\n }\r\n default: {}\r\n }\r\n }\r\n export default AquaaURLs;\r\n\r\n\r\n ","import { all, call, put, takeEvery } from \"redux-saga/effects\";\r\nimport AquaaActionTypes from \"../../constants/Applications/aquaa-actionTypes\";\r\nimport { getAquaaAccountsDataService, getAquaaAgentsDataService, getAquaaAWSDataService, getAquaaChannelsDataService, getAquaaLanguagesDataService, getAquaaLocationsDataService, getEvaluationFormDataService, updateEvaluationFormDataService } from \"../../services/Applications/aquaa.service\";\r\nimport AquaaURLs from \"../../constants/Applications/aquaa-urls\";\r\nimport { updateEvaluationFormDataSuccess } from \"../../actions/Applications/aquaa.action\";\r\n\r\n\r\nfunction* fetchAquaaAccounts(action){\r\n try {\r\n const response = yield call(getAquaaAccountsDataService, AquaaURLs('GET_AQUAA_ACCOUNTS_DATA'));\r\n console.log(\"Fetching Aquaa Accounts Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: AquaaActionTypes.AQUAA_ACCOUNTS_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Aquaa Accounts Data\");\r\n console.log(error);\r\n }\r\n }\r\n\r\n function* fetchAquaaAgents({account}){\r\n let items = {\r\n account: account\r\n }\r\n try {\r\n const response = yield call(getAquaaAgentsDataService, AquaaURLs('GET_AQUAA_AGENTS_DATA',items));\r\n console.log(\"Fetching Aquaa Agents Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: AquaaActionTypes.AQUAA_AGENTS_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Aquaa Agents Data\");\r\n console.log(error);\r\n }\r\n }\r\n\r\n function* fetchAquaaChannels({account,agent}){\r\n let items = {\r\n account: account,\r\n agent: agent\r\n }\r\n try {\r\n const response = yield call(getAquaaChannelsDataService, AquaaURLs('GET_AQUAA_CHANNELS_DATA',items));\r\n console.log(\"Fetching Aquaa Channels Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: AquaaActionTypes.AQUAA_CHANNELS_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Aquaa Channels Data\");\r\n console.log(error);\r\n }\r\n }\r\n\r\n function* fetchAquaaLanguages({account,agent,channel}){\r\n let items = {\r\n account: account,\r\n agent: agent,\r\n channel: channel\r\n }\r\n try {\r\n const response = yield call(getAquaaLanguagesDataService, AquaaURLs('GET_AQUAA_LANGUAGES_DATA',items));\r\n console.log(\"Fetching Aquaa Languages Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: AquaaActionTypes.AQUAA_LANGUAGES_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Aquaa Languages Data\");\r\n console.log(error);\r\n }\r\n }\r\n\r\n function* fetchAquaaLocations({account,agent,channel,language}){\r\n let items = {\r\n account: account,\r\n agent: agent,\r\n channel: channel,\r\n language: language\r\n }\r\n try {\r\n const response = yield call(getAquaaLocationsDataService, AquaaURLs('GET_AQUAA_LOCATIONS_DATA',items));\r\n console.log(\"Fetching Aquaa Locations Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: AquaaActionTypes.AQUAA_LOCATIONS_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Aquaa Locations Data\");\r\n console.log(error);\r\n }\r\n }\r\n\r\n function* fetchAquaaAWS({account,agent,channel,language,location}){\r\n let items = {\r\n account: account,\r\n agent: agent,\r\n channel: channel,\r\n language: language,\r\n location: location\r\n }\r\n try {\r\n const response = yield call(getAquaaAWSDataService, AquaaURLs('GET_AQUAA_AWS_DATA',items));\r\n console.log(\"Fetching Aquaa AWS Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: AquaaActionTypes.AQUAA_AWS_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Aquaa AWS Data\");\r\n console.log(error);\r\n }\r\n }\r\n\r\n function* fetchEvaluationFormData({contactId}){\r\n let items = {\r\n contactId: contactId\r\n }\r\n try {\r\n const response = yield call(getEvaluationFormDataService, AquaaURLs('GET_EVALUATION_FORM_DATA',items));\r\n console.log(\"Fetching Evaluation Form Data API is success\");\r\n console.log(response);\r\n if (response.data) {\r\n yield put({\r\n type: AquaaActionTypes.EVALUATION_FORM_DATA,\r\n payload: response.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"Error while fetching Evaluation Form Data\");\r\n console.log(error);\r\n }\r\n }\r\n\r\n function* updateEvaluationFormData({ payload: id }) {\r\n try {\r\n const response = yield call(updateEvaluationFormDataService, AquaaURLs('UPDATE_EVALUATION_FORM_DATA'), id);\r\n if (response.data) {\r\n yield put(\r\n updateEvaluationFormDataSuccess()\r\n );\r\n console.log(response.data)\r\n }\r\n } catch (error) {\r\n console.log(\"Error while updating Evaluation Form data\", error);\r\n }\r\n }\r\n\r\n function* watchGetRequest() {\r\n yield takeEvery(AquaaActionTypes.GET_AQUAA_ACCOUNTS_DATA, fetchAquaaAccounts); \r\n yield takeEvery(AquaaActionTypes.GET_AQUAA_AGENTS_DATA, fetchAquaaAgents);\r\n yield takeEvery(AquaaActionTypes.GET_AQUAA_CHANNELS_DATA, fetchAquaaChannels);\r\n yield takeEvery(AquaaActionTypes.GET_AQUAA_LANGUAGES_DATA, fetchAquaaLanguages);\r\n yield takeEvery(AquaaActionTypes.GET_AQUAA_LOCATIONS_DATA, fetchAquaaLocations); \r\n yield takeEvery(AquaaActionTypes.GET_AQUAA_AWS_DATA, fetchAquaaAWS);\r\n yield takeEvery(AquaaActionTypes.GET_EVALUATION_FORM_DATA, fetchEvaluationFormData);\r\n yield takeEvery(AquaaActionTypes.UPDATE_EVALUATION_FORM_DATA_START, updateEvaluationFormData); \r\n \r\n }\r\n \r\n export default function* aquaaSagas() {\r\n yield all([watchGetRequest()]);\r\n }\r\n ","import { all } from \"redux-saga/effects\";\r\nimport userSagas from \"./userDataSaga\";\r\nimport tabSagas from \"./tabDataSaga\";\r\nimport financeSagas from \"./finance.saga\";\r\nimport regionalSiteSagas from \"./regionalSiteSaga\";\r\nimport eDashboardSagas from \"./EDashboard/eDashboard.saga\";\r\nimport reportsSagas from \"./reportsSaga\";\r\nimport welcomePageSagas from \"./welcomePageSaga\";\r\nimport OnboardSagas from \"./Onboard.saga\";\r\nimport adminAccountSagas from \"./Administration/admin.saga\";\r\nimport StaffAdminSagas from \"./Administration/staffAdminSaga\";\r\nimport slaFailureSagas from \"./Administration/slaFailure.saga\";\r\nimport githubSagas from \"./githubSaga\";\r\nimport requestSagas from \"./requestSaga\";\r\nimport AdminViewSagas from \"./Administration/adminView.saga\";\r\nimport ScoreCardSagas from \"./ScoreCard&TeamKPI.saga\";\r\nimport UploadSagas from \"./Upload.saga\";\r\nimport aquaaSagas from \"./Applications/aquaa.saga\";\r\n\r\nexport default function* rootSaga() {\r\n yield all([userSagas(),\r\n tabSagas(),\r\n financeSagas(),\r\n regionalSiteSagas(),\r\n eDashboardSagas(),\r\n reportsSagas(),\r\n welcomePageSagas(),\r\n OnboardSagas(),\r\n adminAccountSagas(),\r\n StaffAdminSagas(),\r\n slaFailureSagas(),\r\n githubSagas(),\r\n requestSagas(),\r\n AdminViewSagas(),\r\n ScoreCardSagas(),\r\n UploadSagas(),\r\n aquaaSagas()\r\n ]);\r\n};\r\n\r\n","import actionTypes from \"../constants/actionTypes\";\r\nconst dateToYMD = (date) => {\r\n var strArray = [\r\n \"JAN\",\r\n \"FEB\",\r\n \"MAR\",\r\n \"APR\",\r\n \"MAY\",\r\n \"JUN\",\r\n \"JUL\",\r\n \"AUG\",\r\n \"SEP\",\r\n \"OCT\",\r\n \"NOV\",\r\n \"DEC\",\r\n ];\r\n var m = strArray[date.getMonth()];\r\n var y = date.getFullYear();\r\n return m + \" \" + y;\r\n};\r\n\r\nconst initialState = { userInfo: [], selectedDate: \"\", token: \"\", regionalData: [], cal_dt_frmt: dateToYMD(new Date()),\r\n cal_isostring_frmt: new Date().toISOString().split('T')[0], cal_dt: new Date(), breadCrumbArr: [{name: 'Home', reDirect: '/welcome'}] };\r\n\r\nconst getUsersData = (state, action) => {\r\n console.log(\"Reducer - get user data\" + action);\r\n return {\r\n ...state,\r\n };\r\n};\r\n\r\nconst updateUsersData = (state, action) => {\r\n console.log(\"Reducer - get user data\" + action);\r\n return {\r\n ...state,\r\n userInfo: action.payload,\r\n };\r\n};\r\n\r\nconst getUserToken = (state, action) => {\r\n console.log(\"Reducer - get user Token\" + action);\r\n return {\r\n ...state,\r\n };\r\n};\r\n\r\nconst updateUserToken = (state, action) => {\r\n console.log(\"Reducer - user Token\" + action);\r\n return {\r\n ...state,\r\n token: action.payload,\r\n };\r\n};\r\n\r\nconst getRegionalData = (state, action) => {\r\n return {\r\n ...state\r\n };\r\n}\r\n\r\nconst updateRegionalData = (state, action) => {\r\n return{\r\n ...state,\r\n regionalData: action.payload\r\n };\r\n}\r\n\r\nconst updateCalendarDateFormat = (state, action) => {\r\n return{\r\n ...state,\r\n cal_dt_frmt: action.cal_dt_frmt\r\n };\r\n}\r\n\r\nconst updateCalendarISOStringFormat = (state, action) => {\r\n console.log(action.cal_isostring_frmt)\r\n return{\r\n ...state,\r\n cal_isostring_frmt: action.cal_isostring_frmt\r\n };\r\n\r\n}\r\n\r\nconst updateCalendarDate = (state, action) => {\r\n return{\r\n ...state,\r\n cal_dt: action.cal_dt\r\n };\r\n}\r\n\r\nconst updateBreadCrumb = (state, action) => {\r\n return{\r\n ...state,\r\n breadCrumbArr: action.breadCrumbArr\r\n };\r\n}\r\n\r\nconst userReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.GET_USER_TOKEN:\r\n return getUserToken(state, action);\r\n case actionTypes.USER_TOKEN:\r\n return updateUserToken(state, action);\r\n case actionTypes.GET_USER_DATA:\r\n return getUsersData(state, action);\r\n case actionTypes.USER_DATA:\r\n return updateUsersData(state, action);\r\n case actionTypes.GET_REGIONAL_DATA:\r\n return getRegionalData(state, action);\r\n case actionTypes.REGIONAL_DATA:\r\n return updateRegionalData(state, action);\r\n case actionTypes.UPDATE_CALENDAR_DATE_FORMAT:\r\n return updateCalendarDateFormat(state, action);\r\n case actionTypes.UPDATE_CALENDAR_ISOSTRING_FORMAT:\r\n return updateCalendarISOStringFormat(state, action);\r\n case actionTypes.UPDATE_CALENDAR_DATE:\r\n return updateCalendarDate(state, action);\r\n case actionTypes.UPDATE_BREADCRUMB:\r\n return updateBreadCrumb(state, action);\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default userReducer;\r\n","import actionTypes from \"../constants/actionTypes\";\r\n\r\nconst initialState = { month: [], summary: {}, week: null, day: null, annual: null, selectedTabName: '',\r\n selectedKeyName: 'Overall', selectedAccountName: null, homeFeedData: [],\r\nselectedMenuName: '', selectedAccLocationName: '', DTMReportPageDate: '' };\r\n\r\nconst fetchMonthTabData = (state, action) => {\r\n console.log(\"check the data in reducer fetchMonthTabData\", action);\r\n\r\n return {\r\n ...state,\r\n };\r\n};\r\n\r\nconst updateMonthTabData = (state, action) => {\r\n console.log(\"check the data in reducer updateMonthTabData\", action);\r\n return { ...state, month: action.payload };\r\n};\r\n\r\nconst fetchSummaryTabData = (state, action) => {\r\n console.log(\"check the data in reducer fetchSummaryTabData\", action);\r\n\r\n return {\r\n ...state,\r\n };\r\n};\r\n\r\nconst updateSummaryTabData = (state, action) => {\r\n console.log(\"check the data in reducer updateSummaryTabData\", action);\r\n return { ...state, summary: action.payload };\r\n};\r\n\r\nconst fetchWeekTabData = (state, action) => {\r\n console.log(\"check the data in reducer fetchWeekTabData\", action);\r\n\r\n return {\r\n ...state,\r\n };\r\n};\r\n\r\nconst updateWeekTabData = (state, action) => {\r\n console.log(\"check the data in reducer updateWeekTabData\", action);\r\n return { ...state, week: action.payload };\r\n};\r\n\r\nconst fetchDayTabData = (state, action) => {\r\n console.log(\"check the data in reducer fetchDayTabData\", action);\r\n\r\n return {\r\n ...state,\r\n };\r\n};\r\n\r\nconst updateDayTabData = (state, action) => {\r\n console.log(\"check the data in reducer updateDayTabData\", action);\r\n return { ...state, day: action.payload };\r\n};\r\n\r\nconst fetchAnnualTabData = (state, action) => {\r\n console.log(\"check the data in reducer fetchAnnualTabData\", action);\r\n\r\n return {\r\n ...state,\r\n };\r\n};\r\n\r\nconst updateAnnualTabData = (state, action) => {\r\n console.log(\"check the data in reducer updateAnnualTabData\", action);\r\n return { ...state, annual: action.payload };\r\n};\r\n\r\nconst updateSelectedTabName = (state, action) => {\r\n console.log(\"check the data in reducer updateSelectedTabName\", action);\r\n return { ...state, selectedTabName: action.payload };\r\n};\r\n\r\nconst updateSelectedKeyName = (state, action) => {\r\n console.log(\"check the data in reducer updateSelectedKeyName\", action);\r\n return { ...state, selectedKeyName: action.payload };\r\n};\r\n\r\nconst updateSelectedAccountName = (state, action) => {\r\n console.log(\"check the data in reducer updateSelectedAccountName\", action);\r\n return { ...state, selectedAccountName: action.payload };\r\n};\r\n\r\nconst fetchHomeFeedData = (state, action) => {\r\n console.log(\"check the data in reducer fetchAnnualTabData\", action);\r\n return {\r\n ...state,\r\n };\r\n};\r\n\r\nconst updateHomeFeedData = (state, action) => {\r\n console.log(\"check the data in reducer updateHomeFeedData\", action);\r\n return { ...state, homeFeedData: action.payload };\r\n};\r\n\r\nconst saveSelectedMenuItem = (state, action) => {\r\n return {\r\n ...state, selectedMenuName: action.payload\r\n };\r\n}\r\n\r\nconst saveAccountLocationName = (state, action) => {\r\n return {\r\n ...state, selectedAccLocationName: action.payload\r\n }\r\n}\r\n\r\nconst updateDTMReportDate = (state, action) => {\r\n return {\r\n ...state, DTMReportPageDate: action.payload\r\n }\r\n}\r\n\r\nconst tabReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.GET_MONTH_TAB_DATA:\r\n return fetchMonthTabData(state, action);\r\n case actionTypes.MONTH_TAB_DATA:\r\n return updateMonthTabData(state, action);\r\n case actionTypes.GET_SUMMARY_TAB_DATA:\r\n return fetchSummaryTabData(state, action);\r\n case actionTypes.SUMMARY_TAB_DATA:\r\n return updateSummaryTabData(state, action);\r\n case actionTypes.GET_WEEK_TAB_DATA:\r\n return fetchWeekTabData(state, action);\r\n case actionTypes.WEEK_TAB_DATA:\r\n return updateWeekTabData(state, action);\r\n case actionTypes.GET_DAY_TAB_DATA:\r\n return fetchDayTabData(state, action);\r\n case actionTypes.DAY_TAB_DATA:\r\n return updateDayTabData(state, action);\r\n case actionTypes.GET_ANNUAL_TAB_DATA:\r\n return fetchAnnualTabData(state, action);\r\n case actionTypes.ANNUAL_TAB_DATA:\r\n return updateAnnualTabData(state, action);\r\n case actionTypes.UPDATE_SELECTED_TAB_NAME:\r\n return updateSelectedTabName(state, action);\r\n case actionTypes.UPDATE_SELECTED_KEY_NAME:\r\n return updateSelectedKeyName(state, action);\r\n case actionTypes.GET_HOME_FEED_DATA:\r\n return fetchHomeFeedData(state, action)\r\n case actionTypes.HOME_FEED_DATA:\r\n return updateHomeFeedData(state, action);\r\n case actionTypes.UPDATE_SELECTED_ACCOUNT_NAME:\r\n return updateSelectedAccountName(state, action);\r\n case actionTypes.SAVE_SELECTED_MENU_ITEM :\r\n return saveSelectedMenuItem(state, action);\r\n case actionTypes.SAVE_ACCOUNT_LOCATION_NAME:\r\n return saveAccountLocationName(state, action);\r\n case actionTypes.UPDATE_DTM_REPORT_DATE:\r\n return updateDTMReportDate(state, action);\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default tabReducer;\r\n","import actionTypes from \"../constants/actionTypes\";\r\n\r\n\r\nconst initialState = {\r\n financeData: {},\r\n dropdownData: {},\r\n accountData: {}\r\n}\r\nconst getFinanceData = (state, action) => {\r\n console.log(\"Reducer - get Finance data\" + action);\r\n return {\r\n ...state,\r\n }\r\n};\r\nconst updateFinanceData = (state, action) => {\r\n console.log('Reducer -Update Finance Data ' + action)\r\n return {\r\n ...state,\r\n financeData: action.payload\r\n };\r\n};\r\n\r\nconst getDropdownData = (state, action) => {\r\n console.log(\"Reducer - get Finance data\" + action);\r\n return {\r\n ...state,\r\n }\r\n};\r\nconst updateDropdownData = (state, action) => {\r\n console.log('Reducer -Update Finance Data ' + action)\r\n return {\r\n ...state,\r\n dropdownData: action.payload\r\n };\r\n};\r\n\r\nconst getAccountData = (state, action) => {\r\n console.log(\"Reducer - get Finance data\" + action);\r\n return {\r\n ...state,\r\n }\r\n};\r\nconst updateAccountData = (state, action) => {\r\n console.log('Reducer -Update Finance Data ' + action)\r\n return {\r\n ...state,\r\n accountData: action.payload\r\n };\r\n};\r\n\r\n\r\n\r\nconst financeReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.GET_FINANCE_DATA:\r\n return getFinanceData(state, action);\r\n case actionTypes.FINANCE_DATA:\r\n return updateFinanceData(state, action);\r\n case actionTypes.GET_DROPDOWN_DATA:\r\n return getDropdownData(state, action);\r\n case actionTypes.DROPDOWN_DATA:\r\n return updateDropdownData(state, action);\r\n case actionTypes.GET_ACCOUNT_DATA:\r\n return getAccountData(state, action);\r\n case actionTypes.ACCOUNT_DATA:\r\n return updateAccountData(state, action);\r\n\r\n default:\r\n return state;\r\n }\r\n\r\n\r\n}\r\n\r\n\r\nexport default financeReducer","import actionTypes from \"../constants/actionTypes\";\r\nimport RegionalSiteActionTypes from \"../constants/regional-site-actionTypes\";\r\n\r\nconst initialState = {\r\n regionalSiteData: {}, rgnCustId: null, rgnCustName: null, rgnCustIdData: [], rgnGlobal_Regional_Summary: {},\r\n regionName: '', regionID: null, drpdwnSlctdRgns: [], drpdwnRegionName: '', DTMAnalytics: {}, rgnServiceID: '',\r\n selectedSLA: {}, DTMHalfHour: {}, DTMMonthlyData: {}\r\n};\r\n\r\n\r\nconst getRegionalSiteData = (state, action) => {\r\n return {\r\n ...state\r\n };\r\n}\r\n\r\nconst updateRegionalSiteData = (state, action) => {\r\n return { ...state, regionalSiteData: action.payload };\r\n};\r\n\r\nconst updateRegionalSiteCustomerID = (state, action) => {\r\n return { ...state, rgnCustId: action.payload };\r\n};\r\n\r\nconst updateRegionalSiteCustomerName = (state, action) => {\r\n return { ...state, rgnCustName: action.payload };\r\n};\r\n\r\nconst getRegionalSiteCustIdData = (state, action) => {\r\n return {\r\n ...state\r\n };\r\n}\r\nconst updateRegionalSiteCustIdData = (state, action) => {\r\n return { ...state, rgnCustIdData: action.payload };\r\n};\r\n\r\nconst getRegionalSiteGlobalSummaryData = (state, action) => {\r\n return {\r\n ...state\r\n };\r\n}\r\n\r\nconst updateRegionalSiteGlobalSummaryData = (state, action) => {\r\n return { ...state, rgnGlobal_Regional_Summary: action.payload };\r\n};\r\n\r\nconst updateRegionName = (state, action) => {\r\n return { ...state, regionName: action.payload };\r\n};\r\n\r\nconst updateDrpdwnRegionName = (state, action) => {\r\n return { ...state, drpdwnRegionName: action.payload };\r\n}\r\n\r\nconst updateRegionID = (state, action) => {\r\n return { ...state, regionID: action.payload }\r\n}\r\n\r\nconst updateDropownSlctdRgnsList = (state, action) => {\r\n return { ...state, drpdwnSlctdRgns: action.payload }\r\n}\r\n\r\nconst updateSlcdAccrdPnlID = (state, action) => {\r\n return { ...state, slcdAccrdPnlID: action.payload }\r\n}\r\n\r\nconst updateRegionalSiteServiceDeskID = (state, action) => {\r\n return { ...state, rgnServiceID: action.payload }\r\n}\r\n\r\nconst regionalSiteReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.GET_REGIONALSITE_DATA:\r\n return getRegionalSiteData(state, action);\r\n case actionTypes.REGIONALSITE_DATA:\r\n return updateRegionalSiteData(state, action);\r\n case RegionalSiteActionTypes.UPDATE_CUSTOMER_ID:\r\n return updateRegionalSiteCustomerID(state, action)\r\n case RegionalSiteActionTypes.UPDATE_CUSTOMER_NAME:\r\n return updateRegionalSiteCustomerName(state, action);\r\n case RegionalSiteActionTypes.GET_REGIONALSITE_CUSTID_DATA:\r\n return getRegionalSiteCustIdData(state, action);\r\n case RegionalSiteActionTypes.UPDATE_REGIONALSITE_CUSTID_DATA:\r\n return updateRegionalSiteCustIdData(state, action);\r\n case RegionalSiteActionTypes.GET_REGIONALSITE_GLOBAL_SUMMARY_DATA:\r\n return getRegionalSiteGlobalSummaryData(state, action);\r\n case RegionalSiteActionTypes.UPDATE_REGIONALSITE_GLOBAL_SUMMARY_DATA:\r\n return updateRegionalSiteGlobalSummaryData(state, action);\r\n case RegionalSiteActionTypes.UPDATE_REGION_NAME:\r\n return updateRegionName(state, action);\r\n case RegionalSiteActionTypes.UPDATE_REGION_ID:\r\n return updateRegionID(state, action);\r\n case RegionalSiteActionTypes.UPDATE_DRPDWN_REGIONS_LIST:\r\n return updateDropownSlctdRgnsList(state, action);\r\n case RegionalSiteActionTypes.UPDATE_SELECTED_ACCRD_PANEL_ID:\r\n return updateSlcdAccrdPnlID(state, action);\r\n case RegionalSiteActionTypes.UPDATE_DRPDWN_REGION_NAME:\r\n return updateDrpdwnRegionName(state, action);\r\n case RegionalSiteActionTypes.UPDATE_SERVICEDESK_ID:\r\n return updateRegionalSiteServiceDeskID(state, action);\r\n case RegionalSiteActionTypes.GET_DTM_ANALYTICS:\r\n return { ...state }\r\n case RegionalSiteActionTypes.UPDATE_DTM_ANALYTICS:\r\n return { ...state, DTMAnalytics: action.payload };\r\n case RegionalSiteActionTypes.GET_DTM_ANALYTICS_HALF_HOUR:\r\n return { ...state }\r\n case RegionalSiteActionTypes.UPDATE_DTM_ANALYTICS_HALF_HOUR:\r\n return { ...state, DTMHalfHour: action.payload };\r\n case RegionalSiteActionTypes.GET_DTM_ANALYTICS_MONTH:\r\n return { ...state }\r\n case RegionalSiteActionTypes.UPDATE_DTM_ANALYTICS_MONTH:\r\n return { ...state, DTMMonthlyData: action.payload }\r\n case RegionalSiteActionTypes.UPDATE_SELECTED_SLA:\r\n return { ...state, selectedSLA: action.payload }\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default regionalSiteReducer;","import EDashboardActionTypes from \"../../constants/eDashboard-actionTypes\";\r\n\r\nconst initialState = { kpiData: {}, complianceData: [], contactVolumeData: [], callTypeData: {}, hrzntlBarChrtData: [], profitLossAnalyticData: {},\r\n yearMonthRegionDrpdwnData: {}, totalIncidentCards: [], eDashBrdNtfnMsg: '' };\r\n\r\n\r\nconst fetchKPIData = (state, action) => { \r\n return {\r\n ...state,\r\n };\r\n };\r\n \r\nconst updateKPIData = (state, action) => {\r\nreturn { ...state, kpiData: action.payload };\r\n};\r\n\r\nconst fetchComplianceData = (state, action) => { \r\n return {\r\n ...state,\r\n };\r\n};\r\n\r\nconst updateComplianceData = (state, action) => {\r\n return { ...state, complianceData: action.payload };\r\n };\r\n\r\nconst fetchContactVolumeData = (state, action) => { \r\n return {\r\n ...state,\r\n };\r\n};\r\n\r\nconst updateContactVolumeData = (state, action) => {\r\n return { ...state, contactVolumeData: action.payload };\r\n };\r\n\r\nconst fetchCallTypeData = (state, action) => {\r\n return { ...state };\r\n}\r\n\r\nconst updateCallTypeData = (state, action) => {\r\n return { ...state, callTypeData: action.payload };\r\n}\r\n\r\nconst fetchHorizontalBarChartData = (state, action) => {\r\n return {...state};\r\n}\r\n\r\nconst updateHorizontalBarChartData = (state, action) => {\r\n return { ...state, hrzntlBarChrtData: action.payload };\r\n}\r\n\r\nconst fetchProfitLossAnalyticData = (state, action) => {\r\n return {...state};\r\n};\r\n\r\nconst updateProfitLossAnalyticData = (state, action) => {\r\n return { ...state, profitLossAnalyticData: action.payload };\r\n};\r\n\r\n\r\nconst fetchYearMonthRegionDropdownData = (state, action) => {\r\n return { ...state };\r\n}\r\n\r\nconst updateYearMonthRegionDropdownData = (state, action) => {\r\n return {...state, yearMonthRegionDrpdwnData: action.payload};\r\n}\r\n\r\nconst fetchIncidentCardsData = (state) => {\r\n return {...state};\r\n}\r\n\r\nconst updateIncidentCardsData = (state, action) => {\r\n return {...state, totalIncidentCards: action.payload};\r\n}\r\n\r\nconst fetchEDNotificationTextMsg = (state) => {\r\n return {...state};\r\n}\r\n\r\nconst updateEDNotificationTextMsg = (state, action) => {\r\n return {...state, eDashBrdNtfnMsg: action.payload};\r\n}\r\n\r\nconst eDashboardReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case EDashboardActionTypes.GET_KPI_DATA:\r\n return fetchKPIData(state, action);\r\n case EDashboardActionTypes.UPDATE_KPI_DATA:\r\n return updateKPIData(state, action); \r\n case EDashboardActionTypes.GET_COMPLIANCE_DATA:\r\n return fetchComplianceData(state, action); \r\n case EDashboardActionTypes.UPDATE_COMPLIANCE_DATA:\r\n return updateComplianceData(state, action); \r\n case EDashboardActionTypes.GET_CONTACT_VOLUME_DATA:\r\n return fetchContactVolumeData(state, action);\r\n case EDashboardActionTypes.UPDATE_CONTACT_VOLUME_DATA:\r\n return updateContactVolumeData(state, action); \r\n case EDashboardActionTypes.GET_CALLTYPE_DATA:\r\n return fetchCallTypeData(state, action);\r\n case EDashboardActionTypes.UPDATE_CALLTYPE_DATA:\r\n return updateCallTypeData(state, action);\r\n case EDashboardActionTypes.GET_HORIZONTAL_BAR_CHART_DATA:\r\n return fetchHorizontalBarChartData(state, action);\r\n case EDashboardActionTypes.UPDATE_HORIZONTAL_BAR_CHART_DATA:\r\n return updateHorizontalBarChartData(state, action);\r\n case EDashboardActionTypes.GET_PROFIT_LOSS_ANALYTICS_DATA:\r\n return fetchProfitLossAnalyticData(state, action);\r\n case EDashboardActionTypes.UPDATE_PROFIT_LOSS_ANALYTICS_DATA:\r\n return updateProfitLossAnalyticData(state, action);\r\n case EDashboardActionTypes.GET_YEARMONTH_REGION_DATA:\r\n return fetchYearMonthRegionDropdownData(state, action);\r\n case EDashboardActionTypes.UPDATE_YEARMONTH_REGION_DATA:\r\n return updateYearMonthRegionDropdownData(state, action);\r\n case EDashboardActionTypes.GET_INCIDENTS_CARDS_DATA:\r\n return fetchIncidentCardsData(state, action);\r\n case EDashboardActionTypes.UPDATE_INCIDENTS_CARDS_DATA:\r\n return updateIncidentCardsData(state, action);\r\n case EDashboardActionTypes.GET_EDASHBOARD_NOTIFICATION_TEXT:\r\n return fetchEDNotificationTextMsg(state, action);\r\n case EDashboardActionTypes.UPDATE_EDASHBOARD_NOTIFICATION_TEXT:\r\n return updateEDNotificationTextMsg(state, action);\r\n default:\r\n return state;\r\n }\r\n };\r\n \r\n export default eDashboardReducer;","import actionTypes from \"../constants/actionTypes\";\r\n\r\nconst initialState = {\r\n DropdownInfo: {},\r\n AccountInfo: {},\r\n AverageHandleTime: {},\r\n AbandonRate: {},\r\n DigitalTrans: {},\r\n CostPerContact: {},\r\n contactFTEData: {},\r\n penaltyAtRisk: {},\r\n firstContactResolution: {},\r\n attritionData: {},\r\n SLAcompliance: {},\r\n CSATData: {},\r\n deliverySupport: {},\r\n contactVolumeData: {},\r\n accountDrpdwnListData: [],\r\n locationDrpdwnListData: []\r\n}\r\n\r\n\r\n\r\n\r\nconst reportTableReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n\r\n\r\n case actionTypes.GET_ACCOUNT_INFO:\r\n case actionTypes.GET_DROPDOWN_INFO:\r\n case actionTypes.GET_AVERAGE_HANDLE_TIME:\r\n case actionTypes.GET_ABANDON_RATE:\r\n case actionTypes.GET_DIGITAL_TRANS:\r\n case actionTypes.GET_COST_PER_CONTACT:\r\n case actionTypes.GET_CONTACT_FTE_DATA:\r\n case actionTypes.GET_PENALTY_AT_RISK:\r\n case actionTypes.GET_FIRST_CONTACT_RESOLUTION:\r\n case actionTypes.GET_ATTRITION_DATA:\r\n case actionTypes.GET_SLA_COMPLIANCE:\r\n case actionTypes.GET_CSAT_DATA:\r\n case actionTypes.GET_DELIVERY_SUPPORT:\r\n case actionTypes.GET_CONTACT_VOLUME_INFO:\r\n return { ...state };\r\n\r\n case actionTypes.DROPDOWN_INFO:\r\n return { ...state, DropdownInfo: action.payload };\r\n case actionTypes.ACCOUNT_INFO:\r\n return { ...state, AccountInfo: action.payload };\r\n case actionTypes.AVERAGE_HANDLE_TIME:\r\n return { ...state, AverageHandleTime: action.payload };\r\n case actionTypes.ABANDON_RATE:\r\n return { ...state, AbandonRate: action.payload };\r\n case actionTypes.DIGITAL_TRANS:\r\n return { ...state, DigitalTrans: action.payload };\r\n case actionTypes.COST_PER_CONTACT:\r\n return { ...state, CostPerContact: action.payload };\r\n case actionTypes.CONTACT_FTE_DATA:\r\n return { ...state, contactFTEData: action.payload };\r\n case actionTypes.PENALTY_AT_RISK:\r\n return { ...state, penaltyAtRisk: action.payload };\r\n case actionTypes.FIRST_CONTACT_RESOLUTION:\r\n return { ...state, firstContactResolution: action.payload };\r\n case actionTypes.ATTRITION_DATA:\r\n return { ...state, attritionData: action.payload };\r\n case actionTypes.SLA_COMPLIANCE:\r\n return { ...state, SLAcompliance: action.payload };\r\n case actionTypes.CSAT_DATA:\r\n return { ...state, CSATData: action.payload };\r\n case actionTypes.DELIVERY_SUPPORT:\r\n return { ...state, deliverySupport: action.payload };\r\n case actionTypes.CONTACT_VOLUME_INFO:\r\n return { ...state, contactVolumeData: action.payload };\r\n case actionTypes.SAVE_ACCOUNT_DRPDWN_LIST_DATA:\r\n return { ...state, accountDrpdwnListData: action.payload };\r\n case actionTypes.SAVE_LOCATION_DRPDWN_LIST_DATA:\r\n return { ...state, locationDrpdwnListData: action.payload };\r\n default:\r\n return state;\r\n }\r\n}\r\nexport default reportTableReducer","import actionTypes from \"../constants/actionTypes\";\r\n\r\nconst initialState = { showSettingsModal: false, };\r\n\r\nconst userReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.TOGGLE_SETTINGS:\r\n return {\r\n showSettingsModal: action.payload\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default userReducer;\r\n","import { onboard_actionTypes as actionTypes } from \"../constants/Onboard-actionTypes\";\r\nconst initialState = {\r\n accountSites: [],\r\n generalSiteInfo: [],\r\n roleTabRoles: [],\r\n roleTabUsers: [],\r\n roleTabData: [],\r\n queueTabLanguages: [],\r\n originatingCountry: [],\r\n QueueTableData: [],\r\n accountSiteInfo: {},\r\n file: null,\r\n cancelBtnClick: null,\r\n SLATemplate: [],\r\n SLAKPIData: [],\r\n updatedSLAKPIData: [],\r\n supportHoursVoice: [],\r\n NonVoiceSLAdata: [],\r\n NonVoiceSupportHours: [],\r\n GeneralNonVoice: [],\r\n previewOnboardData: [],\r\n onboardAccounts: [],\r\n viewAccounts: {},\r\n editAccounts: {},\r\n rolesUpdateResponse: [],\r\n queuesUpdateResponse: [],\r\n slaUpdateResponse: [],\r\n supportUpdateResponse: [],\r\n generalUpdateResponse: [],\r\n widgetCardNonVoice: {},\r\n widgetPreviewTab: '',\r\n validforaddingtabrows:'',\r\n onboardValidUser:[],\r\n reopenRequest:[]\r\n}\r\n\r\nexport const onboardReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.GET_ACCOUNT_SITE:\r\n case actionTypes.GET_GENERAL_INFO_SITE:\r\n case actionTypes.GET_ROLES_TAB_ROLES:\r\n case actionTypes.GET_ROLES_TAB_USERS:\r\n case actionTypes.GET_ROLES_TAB_DATA:\r\n case actionTypes.GET_QUEUE_LANGUAGES:\r\n case actionTypes.GET_ORIGINATING_COUNTRIES:\r\n case actionTypes.GET_QUEUE_TABLE_DATA:\r\n case actionTypes.GET_SLA_TEMPLATES:\r\n case actionTypes.GET_SLA_KPI_DATA:\r\n case actionTypes.GET_SUPPORT_HOURS_VOICE:\r\n case actionTypes.GET_NON_VOICE_SLA_DATA:\r\n case actionTypes.GET_NON_VOICE_SUPPORT_HOURS:\r\n case actionTypes.GET_GENERAL_NON_VOICE:\r\n case actionTypes.GET_PREVIEW_ONBOARD:\r\n case actionTypes.GET_ONBOARD_ACCOUNTS:\r\n case actionTypes.GET_ONBOARD_VALID_USER:\r\n\r\n return { ...state };\r\n case actionTypes.ACCOUNT_SITE:\r\n return { ...state, accountSites: action.payload };\r\n case actionTypes.GENERAL_INFO_SITE:\r\n return { ...state, generalSiteInfo: action.payload };\r\n case actionTypes.ROLES_TAB_ROLES:\r\n return { ...state, roleTabRoles: action.payload };\r\n case actionTypes.ROLES_TAB_USERS:\r\n return { ...state, roleTabUsers: action.payload };\r\n case actionTypes.ROLES_TAB_DATA:\r\n return { ...state, roleTabData: action.payload };\r\n case actionTypes.QUEUE_LANGUAGES:\r\n return { ...state, queueTabLanguages: action.payload };\r\n case actionTypes.ORIGINATING_COUNTRIES:\r\n return { ...state, originatingCountry: action.payload };\r\n case actionTypes.QUEUE_TABLE_DATA:\r\n return { ...state, QueueTableData: action.payload };\r\n case actionTypes.SLA_TEMPLATES:\r\n return { ...state, SLATemplate: action.payload };\r\n case actionTypes.GENERAL_NON_VOICE:\r\n return { ...state, GeneralNonVoice: action.payload };\r\n case actionTypes.SLA_KPI_DATA:\r\n return { ...state, SLAKPIData: action.payload };\r\n case 'SETIMG':\r\n return { ...state, file: action.payload }\r\n case actionTypes.SAVE_ACCOUNT_SITE: {\r\n return { ...state, accountSiteInfo: action.payload }\r\n }\r\n case actionTypes.SUPPORT_HOURS_VOICE: {\r\n return { ...state, supportHoursVoice: action.payload }\r\n }\r\n case actionTypes.NON_VOICE_SLA_DATA: {\r\n return { ...state, NonVoiceSLAdata: action.payload }\r\n }\r\n case actionTypes.NON_VOICE_SUPPORT_HOURS: {\r\n return { ...state, NonVoiceSupportHours: action.payload }\r\n }\r\n\r\n\r\n case actionTypes.UPDATE_ROLE_DATA_START: {\r\n return { ...state, rolesUpdateResponse: action.payload }\r\n }\r\n\r\n case actionTypes.UPDATE_QUEUE_TABLE_START: {\r\n return { ...state, queuesUpdateResponse: action.payload }\r\n }\r\n case actionTypes.UPDATE_SLA_TABLE_START: {\r\n return { ...state, slaUpdateResponse: action.payload }\r\n }\r\n\r\n case actionTypes.UPDATE_SUPPORT_TABLE_START: {\r\n return { ...state, supportUpdateResponse: action.payload }\r\n }\r\n\r\n\r\n case actionTypes.UPDATE_GENERAL_NON_VOICE_START: {\r\n return { ...state, generalUpdateResponse: action.payload }\r\n }\r\n\r\n case actionTypes.VIEW_ACCOUNT_DETAILS: {\r\n return { ...state, viewAccounts: action.payload }\r\n }\r\n case actionTypes.EDIT_ACCOUNT_DETAILS: {\r\n return { ...state, editAccounts: action.payload }\r\n }\r\n case actionTypes.PREVIEW_ONBOARD: {\r\n return { ...state, previewOnboardData: action.payload }\r\n }\r\n case actionTypes.ONBOARD_ACCOUNTS: {\r\n return { ...state, onboardAccounts: action.payload }\r\n }\r\n case actionTypes.SET_WIDGET_CARD_NON_VOICE: {\r\n return { ...state, widgetCardNonVoice: action.payload }\r\n }\r\n case actionTypes.SET_WIDGET_PREVIEW_TAB: {\r\n return { ...state, widgetPreviewTab: action.payload }\r\n }\r\n case actionTypes.SET_VALIDFOR_ADDING_TABROWS: {\r\n return { ...state, validforaddingtabrows: action.payload }\r\n }\r\n case actionTypes.ONBOARD_VALID_USER: {\r\n return { ...state, onboardValidUser: action.payload }\r\n }\r\n case actionTypes.UPDATE_REOPEN_REQUEST_START: {\r\n return { ...state, reopenRequest: action.payload }\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n","import { UploadActionTypes as actionTypes } from \"../constants/uploads-actionTypes\";\r\n\r\n\r\n\r\nconst initialState = {\r\n SelectedVolumeFields: [],\r\n SelectedSLAKPIFields: [],\r\n uploadAccounts:[],\r\n SlaKpiVolumeTemplates:[],\r\n SelectedAccountDetails:[],\r\n SelectedSLAKPIVolumeTab:[],\r\n dataAdministrationValidation:'',\r\n selectedVolumeSlaDate:'',\r\n selectedItem:[],\r\n FileUploadData:[],\r\n SelectedVoiceNonVoiceTab:'',\r\n SelectedVoiceNonVoiceItem:'',\r\n NonvoiceCardsData:[],\r\n UploadpreviewData:[],\r\n volumeSlakpiSelectedTemplates:[],\r\n voicenonvoiceitems:[]\r\n}\r\n\r\n\r\n\r\n\r\nexport const uploadReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.GET_UPLOAD_ACCOUNTS:\r\n case actionTypes.GET_SLAKPI_VOLUME_TEMPLATES:\r\n case actionTypes.GET_FILE_UPLOAD_DATA:\r\n case actionTypes.GET_VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA:\r\n case actionTypes.GET_VOICENONVOICE_ITEMS:\r\n\r\n return { ...state };\r\n\r\n case actionTypes.SET_SELECTED_VOLUME_FIELDS:\r\n return { ...state, SelectedVolumeFields: action.payload };\r\n case actionTypes.SET_SELECTED_SLAKPI_FIELDS:\r\n return { ...state, SelectedSLAKPIFields: action.payload };\r\n case actionTypes.SET_SELECTED_ACCOUNT_DETAILS:\r\n return { ...state, SelectedAccountDetails: action.payload };\r\n case actionTypes.SET_SELECTED_SLAKLP_VOLUME_TAB:\r\n return { ...state, SelectedSLAKPIVolumeTab: action.payload };\r\n case actionTypes.SET_SELECTED_VOICE_NONVOICE_TAB:\r\n return { ...state, SelectedVoiceNonVoiceTab: action.payload };\r\n case actionTypes.SET_SELECTED_VOICE_NONVOICE_ITEM:\r\n return { ...state, SelectedVoiceNonVoiceItem: action.payload };\r\n case actionTypes.SET_DATA_ADMINISTRATION_VALIDATION:\r\n return { ...state, dataAdministrationValidation: action.payload };\r\n case actionTypes.SET_SELECTED_VOLUME_SLA_DATE:\r\n return { ...state, selectedVolumeSlaDate: action.payload };\r\n case actionTypes.SET_SELECTED_ITEM:\r\n return { ...state, selectedItem: action.payload };\r\n case actionTypes.UPLOAD_ACCOUNTS: \r\n return { ...state, uploadAccounts: action.payload };\r\n case actionTypes.SLAKPI_VOLUME_TEMPLATES: \r\n return { ...state, SlaKpiVolumeTemplates: action.payload };\r\n case actionTypes.FILE_UPLOAD_DATA: \r\n return { ...state, FileUploadData: action.payload };\r\n case actionTypes.NONVOICE_CARDS_DATA: \r\n return { ...state, NonvoiceCardsData: action.payload };\r\n case actionTypes.UPLOAD_PRIVIEW_DATA: \r\n return { ...state, UploadpreviewData: action.payload };\r\n case actionTypes.VOLUME_SLAKPI_SELECTEDTEMPLATES_DATA: \r\n return { ...state, volumeSlakpiSelectedTemplates: action.payload };\r\n case actionTypes.VOICENONVOICE_ITEMS: \r\n return { ...state, voicenonvoiceitems: action.payload };\r\n default: return state\r\n }\r\n}\r\n","import { welcomePage_actionTypes as actionTypes } from \"../constants/welcomePage-actionTypes\"\r\n\r\nconst initialState = {\r\n rolesTitle: [],\r\n widgetInfo: [],\r\n selectedRole: '',\r\n recentLinks: [],\r\n widgetPreferences: {},\r\n carouselTitle: {},\r\n widgetsSelected: '',\r\n selectedAccounts: [],\r\n multiAccounts: [],\r\n multiWidgets: [],\r\n dropdownAccounts: [],\r\n AccountSummary: {},\r\n LatestReleases: [],\r\n githubCarouselData: {},\r\n AccountDropdown:[],\r\n selectedCustIDServID:[],\r\n selectedAccountObj:{},\r\n storedAccount:{},\r\n taskLinks:[]\r\n}\r\n\r\n\r\nconst welcomePageReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.UPDATE_WIDGET_INFO_START:\r\n case actionTypes.UPDATE_WIDGET_PREFERENCE_SHOWN:\r\n case actionTypes.WIDGET_PREFERENCE_SHOWN:\r\n case actionTypes.UPDATE_WIDGET_INFO_SUCCESS:\r\n case actionTypes.GET_MULTI_ACCOUNTS_WIDGETS:\r\n case actionTypes.GET_MULTI_WIDGET_INFO:\r\n case actionTypes.UPDATE_MULTI_WIDGET_SUCCESS:\r\n case actionTypes.UPDATE_MULTI_WIDGET_START:\r\n case actionTypes.GET_ACCOUNT_SUMMARY:\r\n case actionTypes.GET_ACCOUNT_DROPDOWN:\r\n case actionTypes.GET_ROLES_TITLE:\r\n case actionTypes.GET_WIDGET_INFO:\r\n case actionTypes.GET_RECENT_LINKS:\r\n case actionTypes.GET_WIDGET_PREFERENCE:\r\n case actionTypes.GET_CAROUSEL_TITLE:\r\n case actionTypes.GET_LATEST_RELEASES_START:\r\n case actionTypes.CREATE_LATEST_RELEASES_START:\r\n case actionTypes.UPDATE_LATEST_RELEASES_START:\r\n case actionTypes.DELETE_LATEST_RELEASES_START:\r\n case actionTypes.CREATE_LATEST_RELEASES_SUCCESS:\r\n case actionTypes.UPDATE_LATEST_RELEASES_SUCCESS:\r\n case actionTypes.DELETE_LATEST_RELEASES_SUCCESS:\r\n case actionTypes.GET_STORED_ACCOUNT:\r\n case actionTypes.GET_TASK_LINKS:\r\n return {\r\n ...state,\r\n };\r\n case actionTypes.MULTI_ACCOUNTS_WIDGETS:\r\n return { ...state, multiAccounts: action.payload }\r\n case actionTypes.ROLES_TITLE:\r\n return { ...state, rolesTitle: action.payload };\r\n case actionTypes.WIDGET_INFO:\r\n return { ...state, widgetInfo: action.payload };\r\n case actionTypes.RECENT_LINKS:\r\n return { ...state, recentLinks: action.payload };\r\n case actionTypes.WIDGET_PREFERENCE:\r\n return { ...state, widgetPreferences: action.payload };\r\n case actionTypes.CAROUSEL_TITLE:\r\n return { ...state, carouselTitle: action.payload };\r\n case actionTypes.SET_WIDGET_SELECTED:\r\n return { ...state, widgetsSelected: action.payload };\r\n case actionTypes.SET_SELECTED_ACCOUNTS:\r\n return { ...state, selectedAccounts: action.payload };\r\n case actionTypes.MULTI_WIDGET_INFO:\r\n return { ...state, multiWidgets: action.payload }\r\n case actionTypes.SAVE_SELECTED_ACCOUNTS:\r\n return { ...state, selectedAccounts: action.payload }\r\n case actionTypes.SAVE_SELECTED_CUSTID_SERVID:\r\n return { ...state, selectedCustIDServID: action.payload }\r\n case actionTypes.SAVE_SELECTED_ACCOUNT_OBJ:\r\n return { ...state, selectedAccountObj: action.payload }\r\n case actionTypes.SAVE_DROPDOWN_ACCOUNTS:\r\n return { ...state, dropdownAccounts: action.payload };\r\n case actionTypes.ACCOUNT_SUMMARY:\r\n return { ...state, AccountSummary: action.payload };\r\n case actionTypes.ACCOUNT_DROPDOWN:\r\n return { ...state, AccountDropdown: action.payload };\r\n case actionTypes.GET_LATEST_RELEASES_SUCCESS:\r\n return { ...state, LatestReleases: action.payload };\r\n case 'SET_GITHUB_SOLUTION_CAROUSEL_DATA':\r\n return { ...state, githubCarouselData: action.payload };\r\n case actionTypes.STORED_ACCOUNT:\r\n return { ...state, storedAccount: action.payload };\r\n case actionTypes.TASK_LINKS:\r\n return { ...state, taskLinks: action.payload };\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\nexport default welcomePageReducer\r\n\r\n","\r\nimport adminActionTypes from './../../constants/Administration/admin-action-types'\r\n\r\nconst initialState = {\r\n AdminAccounts: [],\r\n validToUpdateResponse: {},\r\n AccountDetails: {},\r\n AdminQueueTableData: [],\r\n UpdateAdminQueueTableData: [],\r\n AdminSlaTableData: [],\r\n UpdateAdminSlaTableData: [],\r\n AdminSupportTableData: [],\r\n UpdateAdminSupportTableData: [],\r\n AdminVoiceSlaTableData: [],\r\n AdminVoiceSupportTableData: [],\r\n SLAfailureDetails: {},\r\n previewAdminData:[],\r\n RoleBasedView:[],\r\n staffAdminActiveTab:''\r\n}\r\n\r\n\r\nconst adminAccountReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case adminActionTypes.GET_ADMIN_ACCOUNTS:\r\n case adminActionTypes.GET_PREVIEW_ONBOARD:\r\n case adminActionTypes.GET_ROLE_BASED_VIEW:\r\n return { ...state };\r\n\r\n\r\n case adminActionTypes.ADMIN_ACCOUNTS: {\r\n return { ...state, AdminAccounts: action.payload }\r\n }\r\n case adminActionTypes.UPDATE_VALIDTO_DATE_START: {\r\n return { ...state, validToUpdateResponse: action.payload }\r\n }\r\n case adminActionTypes.UPDATE_ACCOUNT_DEATILS: {\r\n return { ...state, AccountDetails: action.payload }\r\n }\r\n case adminActionTypes.ADMIN_QUEUE_TABLE_DATA: {\r\n return { ...state, AdminQueueTableData: action.payload }\r\n }\r\n case adminActionTypes.UPDATE_ADMIN_QUEUE_TABLE_DATA_START: {\r\n return { ...state, UpdateAdminQueueTableData: action.payload }\r\n }\r\n case adminActionTypes.ADMIN_SLA_TABLE_DATA: {\r\n return { ...state, AdminSlaTableData: action.payload }\r\n }\r\n case adminActionTypes.UPDATE_ADMIN_SLA_TABLE_DATA_START: {\r\n return { ...state, UpdateSlaQueueTableData: action.payload }\r\n }\r\n case adminActionTypes.ADMIN_SUPPORT_TABLE_DATA: {\r\n return { ...state, AdminSupportTableData: action.payload }\r\n }\r\n case adminActionTypes.UPDATE_ADMIN_SUPPORT_TABLE_DATA_START: {\r\n return { ...state, UpdateAdminSupportTableData: action.payload }\r\n }\r\n case adminActionTypes.ADMIN_VOICE_SLA_TABLE_DATA: {\r\n return { ...state, AdminVoiceSlaTableData: action.payload }\r\n }\r\n case adminActionTypes.ADMIN_VOICE_SUPPORT_TABLE_DATA: {\r\n return { ...state, AdminVoiceSupportTableData: action.payload }\r\n }\r\n case 'SAVE_SLA_FAILURE_DETAILS': {\r\n return { ...state, SLAfailureDetails: action.payload }\r\n }\r\n case adminActionTypes.PREVIEW_ADMIN: {\r\n return { ...state, previewAdminData: action.payload }\r\n }\r\n case adminActionTypes.ROLE_BASED_VIEW: {\r\n return { ...state, RoleBasedView: action.payload }\r\n }\r\n case adminActionTypes.SAVE_STAFFADMIN_ACTIVE_TAB: {\r\n return { ...state, staffAdminActiveTab: action.payload }\r\n }\r\n default:\r\n return state;\r\n }\r\n\r\n\r\n}\r\n\r\n\r\nexport default adminAccountReducer","\r\nimport { STAFF_ADMIN_ACTIONTYPES as staffActionTypes } from \"./../../constants/Administration/staffAdmin-actionTypes\";\r\n\r\n\r\nconst initialState = {\r\n availableEmployees: [],\r\n supervisorList:[],\r\n newUserRole:[],\r\n supervisorEmployeeMapping:[],\r\n accountEmployee:[],\r\n roleCategory:{},\r\n staffAccounts:[],\r\n supervisorInfo:{},\r\n accountAssignmentStaff:[],\r\n queueLists:[],\r\n idAssignment:[],\r\n slaAssignment:[],\r\n volumeAssignment:[],\r\n updateQueueAssignment:[],\r\n updateIdAssignment:[],\r\n updateSlaAssignment:[],\r\n updateVolumeAssignment:[],\r\n staffPreview:[],\r\n mappedEmployees:[],\r\n queueData:[],\r\n accountSLA:[],\r\n volumeTemplates:[],\r\n idAccounts:[],\r\n slaAccounts:[],\r\n validSupervisor:[],\r\n accountSLAForEdit:[],\r\n volumeTemplatesForEdit:[],\r\n\r\n updatedAccountResponse :[],\r\n updatedQueueResponse :[],\r\n updatedIDResponse :[],\r\n updatedSLAResponse :[],\r\n updatedVolumeResponse :[],\r\n\r\n}\r\n\r\n\r\nconst staffAdminReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case staffActionTypes.GET_AVAILABLE_EMPLOYEES:\r\n return { ...state };\r\n case staffActionTypes.GET_SUPERVISOR_LIST:\r\n return { ...state };\r\n case staffActionTypes.GET_ROLE_CATEGORY:\r\n return { ...state };\r\n case staffActionTypes.GET_STAFF_ACCOUNTS:\r\n return { ...state };\r\n case staffActionTypes.GET_ACCOUNT_ASSIGNMENT:\r\n return { ...state };\r\n case staffActionTypes.GET_QUEUE_ASSIGNMENT:\r\n return { ...state };\r\n case staffActionTypes.GET_ID_ASSIGNMENT:\r\n return { ...state };\r\n case staffActionTypes.GET_SLA_ASSIGNMENT:\r\n return { ...state };\r\n case staffActionTypes.GET_VOLUME_ASSIGNMENT:\r\n return { ...state };\r\n case staffActionTypes.GET_STAFF_PREVIEW:\r\n return { ...state };\r\n case staffActionTypes.GET_MAPPED_EMPLOYEES:\r\n return { ...state };\r\n case staffActionTypes.GET_QUEUE_DATA:\r\n return { ...state };\r\n case staffActionTypes.GET_ACCOUNT_SLA:\r\n return { ...state };\r\n case staffActionTypes.GET_VOLUME_TEMPLATES:\r\n return { ...state };\r\n case staffActionTypes.GET_ID_ACCOUNTS:\r\n return { ...state };\r\n case staffActionTypes.GET_SLA_ACCOUNTS:\r\n return { ...state };\r\n case staffActionTypes.GET_VALID_SUPERVISOR:\r\n return { ...state };\r\n case staffActionTypes.GET_ACCOUNT_SLA_FOREDIT:\r\n return { ...state };\r\n case staffActionTypes.GET_VOLUME_TEMPLATES_FOREDIT:\r\n return { ...state };\r\n case staffActionTypes.AVAILABLE_EMPLOYEES: {\r\n return { ...state, availableEmployees: action.payload }\r\n }\r\n case staffActionTypes.SUPERVISOR_LIST: {\r\n return { ...state, supervisorList: action.payload }\r\n }\r\n case staffActionTypes.UPDATE_NEW_USER_ROLE_START: {\r\n return { ...state, newUserRole: action.payload }\r\n }\r\n case staffActionTypes.UPDATE_SUPERVISOR_EMPLOYEE_MAPPING_START: {\r\n return { ...state, supervisorEmployeeMapping: action.payload }\r\n }\r\n case staffActionTypes.ROLE_CATEGORY: {\r\n return { ...state, roleCategory: action.payload }\r\n }\r\n case staffActionTypes.STAFF_ACCOUNTS: {\r\n return { ...state, staffAccounts: action.payload }\r\n }\r\n case staffActionTypes.SAVE_SUPERVISOR_MAPPING: {\r\n return { ...state, supervisorInfo: action.payload }\r\n }\r\n case staffActionTypes.ACCOUNT_ASSIGNMENT: {\r\n return { ...state, accountAssignmentStaff: action.payload }\r\n }\r\n case staffActionTypes.QUEUE_ASSIGNMENT: {\r\n return { ...state, queueLists: action.payload }\r\n }\r\n case staffActionTypes.ID_ASSIGNMENT: {\r\n return { ...state, idAssignment: action.payload }\r\n }\r\n case staffActionTypes.SLA_ASSIGNMENT: {\r\n return { ...state, slaAssignment: action.payload }\r\n }\r\n case staffActionTypes.VOLUME_ASSIGNMENT: {\r\n return { ...state, volumeAssignment: action.payload }\r\n }\r\n case staffActionTypes.STAFF_PREVIEW: {\r\n return { ...state, staffPreview: action.payload }\r\n }\r\n case staffActionTypes.MAPPED_EMPLOYEES: {\r\n return { ...state, mappedEmployees: action.payload }\r\n }\r\n case staffActionTypes.QUEUE_DATA: {\r\n return { ...state, queueData: action.payload }\r\n }\r\n case staffActionTypes.ACCOUNT_SLA: {\r\n return { ...state, accountSLA: action.payload }\r\n }\r\n case staffActionTypes.VOLUME_TEMPLATES: {\r\n return { ...state, volumeTemplates: action.payload }\r\n }\r\n case staffActionTypes.ID_ACCOUNTS: {\r\n return { ...state, idAccounts: action.payload }\r\n }\r\n case staffActionTypes.SLA_ACCOUNTS: {\r\n return { ...state, slaAccounts: action.payload }\r\n }\r\n case staffActionTypes.ACCOUNT_SLA_FOREDIT: {\r\n return { ...state, accountSLAForEdit: action.payload }\r\n }\r\n case staffActionTypes.VOLUME_TEMPLATES_FOREDIT: {\r\n return { ...state, volumeTemplatesForEdit: action.payload }\r\n }\r\n case staffActionTypes.UPDATE_ACCOUNT_EMPLOYEE_START: {\r\n return { ...state, updatedAccountResponse: action.payload }\r\n }\r\n case staffActionTypes.UPDATE_QUEUE_ASSIGNMENT_START: {\r\n return { ...state, updatedQueueResponse: action.payload }\r\n }\r\n case staffActionTypes.UPDATE_ID_ASSIGNMENT_START: {\r\n return { ...state, updatedIDResponse: action.payload }\r\n }\r\n case staffActionTypes.UPDATE_SLA_ASSIGNMENT_START: {\r\n return { ...state, updatedSLAResponse: action.payload }\r\n }\r\n case staffActionTypes.UPDATE_VOLUME_ASSIGNMENT_START: {\r\n return { ...state, updatedVolumeResponse: action.payload }\r\n }\r\n case staffActionTypes.VALID_SUPERVISOR: {\r\n return { ...state, validSupervisor: action.payload }\r\n }\r\n default:\r\n return state;\r\n }\r\n\r\n\r\n}\r\n\r\n\r\nexport default staffAdminReducer","import { slaFailure_actionTypes as actionTypes} from './../../constants/Administration/SLAFailure-actionTypes';\r\n\r\nconst initialState = {\r\n ExemptionData:[],\r\n ExclusionData:[],\r\n}\r\n\r\nconst slaFailureReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.GET_EXEMPTION_DATA_START:\r\n case actionTypes.GET_EXCLUSION_DATA_START:\r\n return {\r\n ...state,\r\n };\r\n case actionTypes.GET_EXEMPTION_DATA_SUCCESS:\r\n return { ...state, ExemptionData: action.payload };\r\n case actionTypes.GET_EXCLUSION_DATA_SUCCESS:\r\n return { ...state, ExclusionData: action.payload };\r\n\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\nexport default slaFailureReducer","import { request_actionTypes as actionTypes} from './../constants/request-actionTypes';\r\n\r\n\r\nconst initialState = {\r\n AdminRequestData:[],\r\n RequestData:[],\r\n RequestDropdownData:[],\r\n uploadedFileData:[]\r\n}\r\n\r\nconst requestReducer = (state = initialState, action) => {\r\n \r\n switch (action.type) {\r\n \r\n case actionTypes.GET_REQUEST_DATA:\r\n case actionTypes.GET_ADMIN_REQUEST_DATA:\r\n case actionTypes.GET_REQUEST_DROPDOWN_DATA:\r\n case actionTypes.GET_UPLOADED_FILE_DATA:\r\n return { ...state };\r\n case actionTypes.REQUEST_DATA:\r\n return { ...state, RequestData: action.payload };\r\n case actionTypes.ADMIN_REQUEST_DATA:\r\n return { ...state, AdminRequestData: action.payload };\r\n case actionTypes.REQUEST_DROPDOWN_DATA:\r\n return { ...state, RequestDropdownData: action.payload };\r\n case actionTypes.UPLOADED_FILE_DATA:\r\n return { ...state, uploadedFileData: action.payload };\r\n default: return state\r\n\r\n }\r\n}\r\n\r\nexport default requestReducer ;","import { adminViewActionTypes as actionTypes } from \"./../../constants/Administration/adminView-actionTypes\";\r\n\r\nconst initialState = {\r\n adminViewRoleData:[],\r\n accessGroupData:[],\r\n operationsData:[],\r\n accessGroupMainData:[],\r\n accessGroupEditData:[],\r\n accessGroupAddData:[],\r\n timezoneData:[],\r\n EditUserData:[],\r\n regionData:[],\r\n UPNValidation:[],\r\n userflowUsers:[],\r\n userflowCount:[],\r\n saveUserStoredFilter:[],\r\n saveUserStoredStatus:[],\r\n auditRBACData:[],\r\n auditRoleData:[]\r\n}\r\n\r\nconst adminViewReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case actionTypes.GET_ADMIN_ROLES:\r\n case actionTypes.GET_ACCESS_GROUP:\r\n case actionTypes.GET_OPERATIONS_DATA:\r\n case actionTypes.GET_ACCESSGROUP_DATA:\r\n case actionTypes.GET_ACCESSGROUP_EDIT_DATA:\r\n case actionTypes.GET_ACCESSGROUP_ADD_DATA:\r\n case actionTypes.GET_TIMEZONE_DATA:\r\n case actionTypes.GET_EDIT_USER_DATA:\r\n case actionTypes.GET_REGION_DATA:\r\n case actionTypes.GET_UPN_VALIDATION:\r\n case actionTypes.GET_USERFLOW_USERS:\r\n case actionTypes.GET_USERFLOW_COUNT:\r\n case actionTypes.GET_AUDITRBAC_DATA:\r\n case actionTypes.GET_AUDITROLE_DATA:\r\n return {\r\n ...state,\r\n };\r\n case actionTypes.ADMIN_ROLES:\r\n return { ...state, adminViewRoleData: action.payload };\r\n case actionTypes.ACCESS_GROUP:\r\n return { ...state, accessGroupData: action.payload };\r\n case actionTypes.OPERATIONS_DATA:\r\n return { ...state, operationsData: action.payload };\r\n case actionTypes.ACCESSGROUP_DATA:\r\n return { ...state, accessGroupMainData: action.payload };\r\n case actionTypes.ACCESSGROUP_EDIT_DATA:\r\n return { ...state, accessGroupEditData: action.payload };\r\n case actionTypes.ACCESSGROUP_ADD_DATA:\r\n return { ...state, accessGroupAddData: action.payload };\r\n case actionTypes.TIMEZONE_DATA:\r\n return { ...state, timezoneData: action.payload };\r\n case actionTypes.EDIT_USER_DATA:\r\n return { ...state, EditUserData: action.payload };\r\n case actionTypes.REGION_DATA:\r\n return { ...state, regionData: action.payload };\r\n case actionTypes.UPN_VALIDATION:\r\n return { ...state, UPNValidation: action.payload };\r\n case actionTypes.USERFLOW_USERS:\r\n return { ...state, userflowUsers: action.payload };\r\n case actionTypes.USERFLOW_COUNT:\r\n return { ...state, userflowCount: action.payload };\r\n case actionTypes.SAVE_USER_STORED_FILTER:\r\n return { ...state, saveUserStoredFilter: action.payload };\r\n case actionTypes.SAVE_USER_STORED_STATUS:\r\n return { ...state, saveUserStoredStatus: action.payload };\r\n case actionTypes.AUDITRBAC_DATA:\r\n return { ...state, auditRBACData: action.payload };\r\n case actionTypes.AUDITROLE_DATA:\r\n return { ...state, auditRoleData: action.payload };\r\n default: return state;\r\n }\r\n}\r\n\r\n\r\nexport default adminViewReducer","import {ScoreCardActionTypes as actionTypes} from \"../constants/ScoreCard&TeamKPI-actionTypes\";\r\n\r\nconst initialState = {\r\n ScorCardData:{},\r\n ScoreCardPerformanceData:[],\r\n ScorCardOffCanvasData:[],\r\n agentsKPISummaryData:[],\r\n teamleaderAgents:[],\r\n teamleaderAccounts:[],\r\n teamleaderAccountsView:[],\r\n teamleaderDates:[],\r\n agentsKPIAccountsData:[],\r\n teamKPISummaryData:[],\r\n agentsGraphData:[],\r\n selectedTab:'',\r\n selectedDate:'',\r\n selectedAgentScoreCardDate:''\r\n}\r\n\r\nconst ScoreCardReducer = (state = initialState, action) => {\r\n \r\n switch (action.type) {\r\n \r\n case actionTypes.GET_SCORECARD_DATA:\r\n case actionTypes.GET_SCORECARD_PERFORMANCE_DATA:\r\n case actionTypes.GET_SCORECARD_OFFCANVAS_DATA:\r\n case actionTypes.GET_AGENTS_KPI_SUMMARY_DATA:\r\n case actionTypes.GET_TEAMLEADER_AGENTS:\r\n case actionTypes.GET_TEAMLEADER_ACCOUNTS:\r\n case actionTypes.GET_TEAMLEADER_ACCOUNTS_VIEW:\r\n case actionTypes.GET_TEAMLEADER_DATES:\r\n case actionTypes.GET_AGENTS_KPI_ACCOUNTS_DATA:\r\n case actionTypes.GET_TEAM_KPI_SUMMARY_DATA:\r\n case actionTypes.GET_AGENTS_GRAPH_DATA:\r\n return { ...state };\r\n case actionTypes.SCORECARD_DATA:\r\n return { ...state, ScorCardData: action.payload };\r\n case actionTypes.SCORECARD_PERFORMANCE_DATA:\r\n return { ...state, ScoreCardPerformanceData: action.payload };\r\n case actionTypes.SCORECARD_OFFCANVAS_DATA:\r\n return { ...state, ScorCardOffCanvasData: action.payload };\r\n case actionTypes.AGENTS_KPI_SUMMARY_DATA:\r\n return { ...state, agentsKPISummaryData: action.payload };\r\n case actionTypes.TEAMLEADER_AGENTS:\r\n return { ...state, teamleaderAgents: action.payload };\r\n case actionTypes.TEAMLEADER_ACCOUNTS:\r\n return { ...state, teamleaderAccounts: action.payload };\r\n case actionTypes.TEAMLEADER_ACCOUNTS_VIEW:\r\n return { ...state, teamleaderAccountsView: action.payload };\r\n case actionTypes.TEAMLEADER_DATES:\r\n return { ...state, teamleaderDates: action.payload };\r\n case actionTypes.AGENTS_KPI_ACCOUNTS_DATA:\r\n return { ...state, agentsKPIAccountsData: action.payload };\r\n case actionTypes.TEAM_KPI_SUMMARY_DATA:\r\n return { ...state, teamKPISummaryData: action.payload };\r\n case actionTypes.AGENTS_GRAPH_DATA:\r\n return { ...state, agentsGraphData: action.payload };\r\n case actionTypes.SAVE_SELECTED_TAB: {\r\n return { ...state, selectedTab: action.payload }\r\n }\r\n case actionTypes.SAVE_SELECTED_DATE: {\r\n return { ...state, selectedDate: action.payload }\r\n }\r\n case actionTypes.SAVE_SELECTED_AGENTSCORECARD_DATE: {\r\n return { ...state, selectedAgentScoreCardDate: action.payload }\r\n }\r\n \r\n default: return state\r\n\r\n }\r\n}\r\n\r\nexport default ScoreCardReducer ;","import AquaaActionTypes from \"../../constants/Applications/aquaa-actionTypes\";\r\n\r\nconst initialState = { \r\n aquaaAccounts: [],\r\n aquaaAgents:[],\r\n aquaaChannels:[],\r\n aquaaLanguages:[],\r\n aquaaLocations:[],\r\n aquaaAWS:[],\r\n evaluationData:[]\r\n};\r\n\r\n\r\nconst fetchAquaaAccountsData = (state, action) => { \r\n return {\r\n ...state,\r\n };\r\n };\r\n \r\nconst updateAquaaAccountsData = (state, action) => {\r\nreturn { ...state, aquaaAccounts: action.payload };\r\n};\r\n\r\nconst fetchAquaaAgentsData = (state, action) => { \r\n return {\r\n ...state,\r\n };\r\n};\r\n\r\nconst updateAquaaAgentssData = (state, action) => {\r\nreturn { ...state, aquaaAgents: action.payload };\r\n};\r\n\r\n\r\n\r\n\r\n\r\nconst aquaaReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case AquaaActionTypes.GET_AQUAA_ACCOUNTS_DATA:\r\n return fetchAquaaAccountsData(state, action);\r\n case AquaaActionTypes.AQUAA_ACCOUNTS_DATA:\r\n return updateAquaaAccountsData(state, action); \r\n case AquaaActionTypes.GET_AQUAA_AGENT_DATA:\r\n return fetchAquaaAgentsData(state, action);\r\n case AquaaActionTypes.AQUAA_AGENTS_DATA:\r\n return updateAquaaAgentssData(state, action); \r\n case AquaaActionTypes.GET_AQUAA_CHANNELS_DATA:\r\n case AquaaActionTypes.GET_AQUAA_LANGUAGES_DATA:\r\n case AquaaActionTypes.GET_AQUAA_LOCATIONS_DATA:\r\n case AquaaActionTypes.GET_AQUAA_AWS_DATA:\r\n case AquaaActionTypes.GET_EVALUATION_FORM_DATA:\r\n\r\n\r\n return { ...state };\r\n case AquaaActionTypes.AQUAA_CHANNELS_DATA:\r\n return { ...state, aquaaChannels: action.payload };\r\n case AquaaActionTypes.AQUAA_LANGUAGES_DATA:\r\n return { ...state, aquaaLanguages: action.payload };\r\n case AquaaActionTypes.AQUAA_LOCATIONS_DATA:\r\n return { ...state, aquaaLocations: action.payload };\r\n case AquaaActionTypes.AQUAA_AWS_DATA:\r\n return { ...state, aquaaAWS: action.payload };\r\n case AquaaActionTypes.EVALUATION_FORM_DATA:\r\n return { ...state, evaluationData: action.payload };\r\n default:\r\n return state;\r\n }\r\n };\r\n \r\n export default aquaaReducer;","import { combineReducers } from \"redux\";\r\nimport userReducer from \"./users.reducer\";\r\nimport tabReducer from \"./tab.reducer\";\r\nimport financeReducer from \"./finance.reducer\";\r\nimport regionalSiteReducer from \"./regionalSite.reducer\";\r\nimport eDashboardReducer from \"./EDashboard/eDashboard.reducer\";\r\nimport reportTableReducer from \"./reports.reducer\";\r\nimport settingsReducer from \"./settings.reducer\";\r\nimport { onboardReducer } from \"./onboard.reducer\";\r\nimport { uploadReducer } from \"./uploads.reducer\";\r\nimport welcomePageReducer from \"./welcomePage.reducer\";\r\nimport adminAccountReducer from \"./Administration/admin.reducer\";\r\nimport githubReducer from \"./github.reducer\";\r\nimport staffAdminReducer from './Administration/staffAdmin.reducer';\r\nimport slaFailureReducer from './Administration/slaFailure.reducer';\r\nimport requestReducer from './request.reducer';\r\nimport adminViewReducer from './Administration/adminView.reducer';\r\nimport ScoreCardReducer from './ScoreCard&TeamKPI.reducer';\r\nimport aquaaReducer from \"./Applications/aquaa.reducer\";\r\n\r\nconst rootReducer = combineReducers({\r\n userReducer,\r\n tabReducer,\r\n financeReducer,\r\n regionalSiteReducer,\r\n eDashboardReducer,\r\n reportTableReducer,\r\n settingsReducer,\r\n onboardReducer,\r\n welcomePageReducer,\r\n uploadReducer,\r\n adminAccountReducer,\r\n staffAdminReducer,\r\n githubReducer,\r\n slaFailureReducer,\r\n requestReducer,\r\n adminViewReducer,\r\n ScoreCardReducer,\r\n aquaaReducer\r\n});\r\n\r\nexport default rootReducer;\r\n","import { createStore, applyMiddleware, compose } from \"redux\";\r\nimport createSagaMiddleware from \"redux-saga\";\r\n\r\nimport rootSaga from \"../sagas\";\r\n\r\nimport rootReducer from \"../reducers\";\r\n\r\nconst configureStore = () => {\r\n const sagaMiddleware = createSagaMiddleware();\r\n const store = createStore(\r\n rootReducer,\r\n window.__REDUX_DEVTOOLS_EXTENSION__\r\n ? compose(\r\n applyMiddleware(sagaMiddleware),\r\n window.__REDUX_DEVTOOLS_EXTENSION__()\r\n )\r\n : applyMiddleware(sagaMiddleware)\r\n );\r\n sagaMiddleware.run(rootSaga);\r\n return store;\r\n};\r\n\r\nexport default configureStore;\r\n","import { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router\";\r\n\r\nconst ScrollToTop = (props) => {\r\n const location = useLocation();\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, [location]);\r\n\r\n return <>{props.children}\r\n};\r\n\r\nexport default ScrollToTop;","import React from 'react'\r\nimport { useHistory } from 'react-router-dom'\r\n\r\nfunction RefreshHandle() {\r\n const history = useHistory()\r\n window.onunload = history.push('/')\r\n console.log('its now refreshed')\r\n return(<>\r\n )\r\n}\r\n\r\nexport default RefreshHandle","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"./index.css\";\r\nimport AppLayout from \"./App.layout\";\r\nimport reportWebVitals from \"./reportWebVitals\";\r\nimport store from \"./store\";\r\nimport { Router } from \"react-router-dom\";\r\nimport { Provider } from \"react-redux\";\r\nimport { createBrowserHistory } from \"history\";\r\nimport ScrollToTop from \"./ScrollToTop \";\r\nimport RefreshHandle from \"./RefreshHandle\";\r\n\r\nconst browserHistory = createBrowserHistory();\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n"],"sourceRoot":""}